Skip to content

Replace ADS citations with the appropriate INSPIRE ones in latex and bibtex

License

Notifications You must be signed in to change notification settings

duetosymmetry/ads2inspire

Repository files navigation

github PyPI version DOI Conda Version license

ads2inspire

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!

Installation

From PyPI

In your Python environment run

python -m pip install ads2inspire

From conda-forge

In your conda environment run

conda install -c conda-forge ads2inspire

From this repository

In your Python environment from the top level of this repository run

python -m pip install .

From GitHub

In your Python environment run

python -m pip install "ads2inspire@git+https://github.com/duetosymmetry/ads2inspire.git"

Usage

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.

Contributing

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?

Citation

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},
}