The weather is turning grim, hence a good way of spending Saturday afternoons is by programming. I just created a new tool: bibgetter.

I don't like managing references, for many reasons. Because of this I created a tool to fetch BibTeX entries from MathSciNet a little while ago. It seems like I never really announced it on my blog, but I found it to be very convenient even if it was only quickly hacked together. I'm not sure where it stood on the xkcd: is it worth your time? table, but I liked using this first version.

The idea is that whenever I want to cite a paper, I just look up its identifier in MathSciNet and use that identifier as the citation key in your \cite command. For example, if I want to cite Bondal–Van den Bergh, Generators and representability of functors in commutative and noncommutative geometry, it suffices to write \cite{MR1996800}. Then whenever you feel like it you would run the Python script, which'll fetch the BibTeX code for all MathSciNet entries that have been cited.

I have now created a new version, and I called it bibgetter. It looks for arXiv identifiers, or MathSciNet identifiers in the .aux file, and fetches the corresponding BibTeX entries. It does this by using

  • Nathan Grigg's arxiv2bib
  • mr2bib (which is nothing but a modification of the arxiv2bib based on the first Python script that I wrote)

to actually parse the data. The main point difference is that it is now actually a commandline tool, and not just a Python script. It is not very polished at the moment, but it is definitely better than the first script.

Also, to make a print-ready version you might want to consider cleaning up the BibTeX. But you can now do this at the end of the process, not each time you add an entry (which is what OCD me would do).

You can read the very rudimentary documentation at Right now there is not really a way of installing it, except for making sure Python can find all the files. I'll fix this later.