Have someone else write your bibliography

Whenever I’m finishing off a paper, at some point I have to sit down and clean up all the references, which generally look something like \cite{Popa?} or \cite{that paper by Marco and co}. Wouldn’t it be nice if someone else could do the rest?

If you don’t already know about it, one great resource is mathscinet, which will produce nicely formatted BIBTEX entries for you (example). If you want to be even more efficient, you can wander around mathscinet, saving articles to your “clipboard”, and then ask mathscinet to give you the BIBTEX entries for everything at once. (After you have articles on the clipboard, follow the “clipboard” link in the top right of the page, then select BIBTEX from the drop-down box and click “SaveClip”.)

If you’re even lazier, you could use the two command-line scripts that I use (download find-missing-bibitems and get-mathscinet-bibtex and put them on your path; you’ll need linux/OSX/cygwin to run). Now, when you cite items in LaTeX, cite them via their mathscinet identifiers, e.g. \cite{MR1278111} instead of \cite{Popa?}. Now, if you usually type latex article to compile, and bibtex article to generate the bibliography, you can also type find-missing-bibitems article, and all the missing BIBTEX entries will appear! For example, after adding \cite{MR1278111} somewhere in my text, the output of find-missing-bibitems article is

@article {MR1278111,
    AUTHOR = {Popa, Sorin},
     TITLE = {Classification of amenable subfactors of type {II}},
   JOURNAL = {Acta Math.},
  FJOURNAL = {Acta Mathematica},
    VOLUME = {172},
      YEAR = {1994},
    NUMBER = {2},
     PAGES = {163--255},
      ISSN = {0001-5962},
     CODEN = {ACMAA8},
   MRCLASS = {46L37 (46L10 46L40)},
  MRNUMBER = {MR1278111 (95f:46105)},
MRREVIEWER = {V. S. Sunder},

If you’re brave, you could run something like

find-missing-bibitems article >> bibliography.bib

to automatically append any missing entries to your BIBTEX file. The really enthusiastic could incorporate this script into the standard latex-latex-bibtex-latex cycle.

Really, I like to have more in my BIBTEX file: I generally use the note field to include a link to the mathscinet review, and a link to the DOI for the paper on the publisher’s webpage. If available, I want a link to the arxiv version of the paper too, for people without institutional access to the published version. Currently, the scripts can’t do this automatically, but it’s might not be much more work. Maybe next time.

11 thoughts on “Have someone else write your bibliography

  1. For people like me who hate bibtex, another useful ams website is at


    If you give it enough info to find the paper (the mathscinet heading will work just fine), then it will produce a nicely formatted bibliographic entry in TeX. It’s much nicer than hand-coding bibliographic entries, but you don’t have to deal with all the annoying overhead of bibtex.

  2. Here is a great program to manage bibtex files :
    Just copy the bibtex code from Mathscinet, Spires or whatever website into the program, add links to a webpage, to a local pdf file or your own comments, and you’re done. Then to cite a paper, you can use the command “Copy \cite{bibtexkey}” and paste it in the latex source.
    I also find the search tool very useful. You can easily recover all the papers you read (or planned to read) on a given subject, written by a given author, etc…
    I couldn’t live without it.

  3. I’ve recently discovered RefBase http://www.refbase.net for keeping and organising my references. It can work as a single user or multi user system, it uses PHP+MySQL so can be installed on most hosts (if you can run wordpress, you can run refbase). The current release is not very mathematically oriented, but I’ve made one or two adaptations to make it more mathematically-friendly.

    Some of the features that may be of particular interest include:

    Import of records from arXiv or MathSciNet (arXiv facility was in the original, I added MathSciNet).

    Import and export of BibTeX (original uses bibtool for this, which is an external program, I’ve adapted it to require only PHP).

    Integration with “new posts on the arXiv”: so that it loads up the new posts and you can select which to import to the database (I added this).

    You can tag and group records, and export lists in a variety of formats. It also retains links to original documents so that if you have an arXiv record stored then you can click straight through to the PDF.

    As well as the web interface, it has some command-line tools.

    You can see a bit of what it looks like at my installation though some of the features require a login to see (such as the “new posts on the arXiv”).

    I’ve not submitted my changes to the developers yet (though I intend to) so if anyone wants to try out my version then I can make it public.

    (I’ve a few more plans for things to implement before I send a copy in, in particular I want to add a highlighting facility to the “new posts on the arXiv” so that a user can define a search pattern and any posts matching that pattern get highlighted. Now, I wonder where I got that idea from …)

  4. What would you suggest is the proper way to include arxiv links not only in the .bib entries but also in the references in the compiled pdf file?


  5. What would you suggest is the proper way to include arxiv links not only in the .bib entries but also in the references in the compiled pdf file?

    Use a hypertex-aware bibtex style file, like utphys.bst. It supports both arXiv links, and DOI links to the published paper.

  6. I tend to use “dumb” bibtex styles, as I often find you don’t end up with a choice, for other reasons. My habit is to fill in the NOTE field in BibTeX, something like

    NOTE = {\arxiv{xxxx.yyy} \doi{10.1012/foo/bar} \mathscinet{MR1234567}}

    and then define appropriate commands to typeset and hyperlink these.

Comments are closed.