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
.bibfile 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!