Construct a proper BibTeX file to use with Hugo Academic sites from NASA ADS exported BibTeX
GPL-3.0 License
API documentation is available at: ReadTheDocs
The Hugo Academic admin tool
allows for the ingestion of BibTeX records to add to the publication list.
One easy solution is to use the NASA ADS to retrieve such records from a
NASA ADS Library. However, such records often contain LaTeX \newcommand
.
For example:
@ARTICLE{2016ApJS..226....5L,
author = {{Ly}, C. and {Malhotra}, S. and {Malkan}, M.~A. and {Rigby}, J.~R. and
{Kashikawa}, N. and {de los Reyes}, M.~A. and {Rhoads}, J.~E.
},
title = "{The Metal Abundances across Cosmic Time (MACT) Survey. I. Optical Spectroscopy in the Subaru Deep Field}",
journal = {\apjs},
archivePrefix = "arXiv",
eprint = {1602.01089},
keywords = {galaxies: abundances, galaxies: distances and redshifts, galaxies: evolution, galaxies: ISM, galaxies: photometry, galaxies: star formation},
year = 2016,
month = sep,
volume = 226,
eid = {5},
pages = {5},
doi = {10.3847/0067-0049/226/1/5},
adsurl = {https://ui.adsabs.harvard.edu/abs/2016ApJS..226....5L},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
Here, the journal name is simplified to "\apjs". This ends up propagating into Hugo Academic sites. To fix this, this simple pure Python script will convert such aliases into the full journal names. It uses a journal database to conduct the replacement.
There are two ways to get the code:
But first, we recommend creating a separate (virtual) environment to avoid any
possible conflicts with existing software that you used. Instructions are
provided for conda
and virtualenv
.
Using conda
:
(base) $ (sudo) conda create -n bibtex python=3.7
(base) $ conda activate bibtex
(bibtex) $ (sudo) pip install academic-ads-bibtex
Using virtualenv
:
(base) $ (sudo) conda install virtualenv # if not installed
(base) $ mkdir academic-ads-bibtex
(base) $ cd academic-ads-bibtex
(base) $ virtualenv venv
(base) $ source venv/bin/activate
(venv) $ pip install academic-ads-bibtex
Using conda
:
(base) $ (sudo) conda create -n bibtex python=3.7
(base) $ conda activate bibtex
(bibtex) $ git clone https://github.com/astrochun/academic-ads-bibtex.git
(bibtex) $ cd academic-ads-bibtex
(bibtex) $ (sudo) python setup.py install
Using virtualenv
:
(base) $ (sudo) conda install virtualenv # if not installed
(base) $ git clone https://github.com/astrochun/academic-ads-bibtex.git
(base) $ cd academic-ads-bibtex
(base) $ virtualenv venv
(base) $ source venv/bin/activate
(venv) $ python setup.py install
The primary script to execute is academic_ads_bibtex
.
The above installation will include this executable in your python
environment paths.
Execution requires only one argument, which is the full path to the BibTeX
file. It can be provided with the -f
or --filename
command-line flags.
$ academic_ads_bibtex -f /full/path/to/my_pubs.bbl
By default:
-d
or --db_filename
command-linefilename
with the_revised
. For example, for the above case,/full/path/to/my_pubs_revised.bbl
. This can be-o
or --out_filename
command-line flag.A log file is constructed: /full/path/to/academic_ads_bibtex.YYYY-MM-DD.log
We use SemVer for versioning. For the versions available, see the releases on this repository.
This project is licensed under the GNU GPLv3 License. See the LICENSE file for details.