Replace ADS citations with the appropriate INSPIRE ones in latex and bibtex
Why? Because ADS citation keys are not stable: they start out as something like 2019arXiv191207609s
,
and after being accepted to a journal turn into something like 2020PhRvD.101f4007S
. This means you
have to rewrite your latex, or you might even end up citing both entries!
In your Python environment run
python -m pip install ads2inspire
In your conda environment run
conda install -c conda-forge ads2inspire
In your Python environment from the top level of this repository run
python -m pip install .
In your Python environment run
python -m pip install "ads2inspire@git+https://github.com/duetosymmetry/ads2inspire.git"
First latex/bibtex/latex your file, then run
ads2inspire [--backup] [--filter-type [ads|all]] [--fill-missing] auxfile.aux [texfile1.tex [texfile2.tex [...]]]
If your main tex file is named wonderful.tex
, then your auxfile will be named wonderful.aux
.
ads2inspire
will read the aux file, query INSPIRE, then rewrite all the texfiles named on the
command line, and append to the first bibtex file named in auxfile. The option --backup
will
make the program write backups of the tex and bib files before rewriting them. The option
--filter-type
controls which keys to search for on INSPIRE: the default "ads"
will only
search for keys that look like ADS keys, while "all"
will try all keys (aside from those that
look like INSPIRE keys).
The --fill-missing
flag will query for INSPIRE-like keys that were
referenced in the LaTeX source, but missing from the .bib file, and
fill them into the .bib file if found.
Note that I have done very little testing! Want to pitch in and help make this code better? Please fork and send me PRs!
TODO:
- More testing
- More filter types
- more?
The preferred BibTeX entry for citation of ads2inspire
is
@software{ads2inspire,
author = "{Stein, Leo C. and Feickert, Matthew}",
title = "{ads2inspire: v0.3.1}",
version = {v0.3.1},
doi = {10.5281/zenodo.3903987},
url = {https://github.com/duetosymmetry/ads2inspire},
}