Making your BibTeX files nice and neat (pun absolutely intended)!
bibneat
is your friendly command-line companion for wrangling, cleaning, and supercharging your .bib
files. Whether you’re a LaTeX enthusiast, a citation perfectionist, or just tired of messy bibliographies giving arcane warnings, bibneat is here to help you:
- Format your .bib files beautifully and consistently
- Merge multiple bibfiles with ease (no more duplicate headaches)
- Shorten and clean up entries by filtering out fields not used by BibTeX
- Handle Unicode like a pro:
- Canonical (NFC) and compatibility-optimized (NFKC) Unicode normalization
- Convert Unicode characters (accents, symbols, etc.) to their equivalent LaTeX encoding
- Connect to arXiv.org and doi.org APIs to:
- Check and validate bibliography entries
- Fill in missing fields automatically
- Detect if an arXiv entry has been published and (optionally) replace it with the published version
- If your
.bib
file compiled before, it will compile after bibneat touches it. Guaranteed. - Your bibliography keys are sacred. bibneat will never change them, so every
\cite{}
in your documents will keep working, even if entries are modified or replaced.
Need to quickly turn an arXiv ID, arXiv URL, or DOI into a ready-to-cite BibTeX entry? bibgrab
is your speedy sidekick! Just feed it an identifier, and it’ll fetch and format the entry for you—no fuss, no muss.
bibneat
depends on:
- The C++ standard library
- libcurl (for web requests)
- ICU4C (the official source of Unicode and normalization magic)
We use cmake
and vcpkg
to automagically manage dependencies. If you have both set up, just type
cmake --preset=release
cmake --build build
cmake --install build --config Release --prefix <somewhere/in/your/path>
and you’re off to the races!
For more details, or if you prefer managing dependencies yourself and use make
, see INSTALL.md
.
The command line is not your thing? Cannot possibly summon the courage to deal with
cmake
's nonsense? Check out bibneat studio,bibneat
's graphical interface prepackaged as a standalone app to enjoy 100% ofbibneat
's andbibgrab
's goodness without ever touching a build tool or the command line!
bibneat
is not just a command-line tool—it also provides a C++ shared library (libbibneat
) for building your own BibTeX-powered tools and utilities. See the docs/tex/libbibneat.tex for an API overview.
Because life’s too short for ugly bibliographies. ✨
For more details, usage instructions, and advanced options, check out bibneat --help
, bibgrab --help
, or the pdf docs.
Thank you to arXiv (and to the DOI foundation) for use of its open access interoperability :)
Happy (Bib)TeXing!