Bib reference updating software

Suppose you have a paper written in LaTeX, with references in a .bib file. While the paper went from early draft to its current state, some references of other working papers inevitable changed a bit: papers got published, the authors changed the title to something more snappy, got a coauthor on board, or split the paper in two.

What would you use to update this .bib file?

I am not looking for a fully automated solution, just a heuristic that points out stuff that I need to check, potentially offering suggestions. The fallback solution is manual labor :wink:


If you use a software like Zotero, you could potentially have Zotero automatically update the references and simply export a new .bib file.


Personally, I’m in favor of preserving history. If your document was prepared by referencing a preprint, then that should be reflected, especially if there’s the possibility that the final version changed some numbering or terminology that you didn’t notice when updating the reference. There’s no end to the frustration created by trying to follow a reference into the wrong edition of something.

That said, if your .bib has DOI references, then anyone following them should be able to trace later revisions themselves.

1 Like

The issue is not preprints, but early working papers circulated in the haphazard fashion that is more or less the norm in economics (by e-mail, or on people’s webpages).

Yes, I know, other fields are much more organized.

Anyhow, I guess there is no tool to facilitate this process, beyond general reference management.

Doing it manually in Emacs was actually much less painful than expected.

It went something like this: open the .bib file, and for each entry

  1. select and copy (M-w) paper title and/or authors to kill ring
  2. do a fuzzy search with gscholar-bibtex,
  3. when there is a new version, insert it in place (i)
  4. (optionally search on biblio.el using the CrossRef backend and insert when relevant),
  5. reuse the BibTeX key.

The whole thing took about 30 minutes for 50 papers.