<span class="mw-page-title-main">Doi2bib</span>
Fabrice P. Laussy's Web

doi2bib

doi2bib is a perl, jq script to generate the bibTeX entry, according to my own standard and with my own conventions, from the doi of a scientific reference.

More details on the script (including the genesis of its creation) can be found in this blog post.

Usage

Pass a valid doi to the script.

doi2bib 10.1103/PhysRevLett.80.3483

The above example returns:

Article{saleh98a,
  author =       {B. E. A. Saleh and B. M. Jost and H. Fei and M. C. Teich},
  title =        {Entangled-Photon Virtual-State Spectroscopy},
  journal =      prl,
  year =         1998,
  volume =       80,
  pages =        3483,
  pdf =          {sci/saleh98a},
  url =          {doi:10.1103/physrevlett.80.3483}
}

You may have to put the doi between quotes if there are escape characters:

doi2bib "10.1016/0030-4018(91)90618-N"

Possible improvements

  1. Doesn't detect well doi with escape characters, e.g., 10.1016/0038-1098(95)00389-4 (kavokin95a). This doesn't seem easy to fix besides invoking the doi in quotes at the shell level!
  2. more robust on first names and particles, e.g., does not truncate by its initials lowercases strings, that are typically "de", "del", "von", etc.
curl -LH "Accept: application/json" "http://dx.doi.org/10.48550/arXiv.2305.15827"

Installation

Copy the chmod +x script in the local bin directory. Two additional files should be put somewhere, as defined by

  • iso4 -- substitution rules for journals.
  • bibnames -- substitution rules for authors.

(in my case, these files are in ~/bib/doi2bib/).

Script

Links