BibTeX files are typically manually maintained and thus often contain inconsistencies,mistakes, or are missing information. betterbib helps maintaining your BibTeX files bycomparing them with online sources and correcting whatever entries are faulty.
Install with
pip install betterbib
and run simply run
betterbib update in.bib # or short `betterbib up`
to improve your BibTeX file with default settings. For example, the input BibTeX
@article {krylov,
author = {Liesen and Gaul and Nabben},
title = {Framework Deflation Krylov Augmented}
}
is converted to
@article{krylov,
author = {Gaul, André and Gutknecht, Martin H. and Liesen, Jörg and Nabben, Reinhard},
title = {A Framework for Deflated and Augmented {Krylov} Subspace Methods},
doi = {10.1137/110820713},
number = {2},
pages = {495-518},
source = {Crossref},
url = {https://doi.org/10.1137/110820713},
volume = {34},
journal = {SIAM J. Matrix Anal. \& Appl.},
publisher = {Society for Industrial \& Applied Mathematics (SIAM)},
issn = {0895-4798, 1095-7162},
year = {2013},
month = jan,
}
Use -i
/--in-place
to modify the input file in place. Use -h
/--help
to see alloptions.
betterbib fetches data from
All betterbib-sync command-line options are explained in betterbib-sync -h
.
The tool
betterbib format in.bib
allows you to apply consistent formatting to you BibTeX file. See -h
/--help
foroptions.
The tool
betterbib abbreviate-journal-names in.bib
allows you to apply consistent abbreviation of journal names. See -h
/--help
foroptions.
To use custom abbrebiations for journal names, create a file as a JSON dictionary, andprovide that as a command line argument with --extra-abbrev-file
. For example, if thefile correct_pnas.json
is:
{ "PNAS": "Proc. Natl. Acad. Sci. U.S.A." }
and you call betterbib-journal-abbrev --extra-abbrev-file=correct_pnas.json
, this willreplace any bibtex entries listed with journal "PNAS" with the correct abbreviation.
This option is included in the betterbib
and betterbib-journal-abbrev
commands.
When combined with the --long-journal-names
option, this will override default optionsonly if both have the same abbreviation.
In BibTeX titles, some words need to be protected by curly brackets such that they arecapitalized correctly, e.g., {Einstein}
. betterbib automatically recognizes some ofthem (if they are in the default dictionary, like Einstein
), but you might want to addsome. To this end, create the config file
~/.config/betterbib/config.ini
and fill it with, e.g.,
[DICTIONARY]
add=Arnoldi,
Bernstein,
Boolean,
Chebyshev,
Hermitian
remove=hermitian,
boolean