bibsync

BibSync is a tool to synchronize scientific papers and bibtex bibliography files

59
2
Ruby

BibSync

Gittip donate button
Flattr this git repo

BibSync is a tool to synchronize your paper database with a BibTeX file which might be most
useful for Physicists and Mathematicians since it supports synchronization with DOI and arXiv.

I created this tool during the work on my diploma thesis in physics since I was unhappy
with existing tools like Mendeley. I use this tool together with Git for version control
and JabRef for browsing. This tool adheres more to the Unix philosophy that a small tool
for each task is better than one thing which tries to solve everything. If you use JabRef
for browsing and tagging it is unnecessary to sort the papers into different sub directories by hand.
Just throw them all in one directory!

Note: This tool is derived from a script which I used during my thesis. It worked
quite well and reliable during that time. But be aware that I used Git for version control
of the BibTeX file. So any mistakes which might be made by this tool could be reverted.

Features

BibSync supports the following features:

  • Synchronization between a BibTeX file and a directory containing the papers in pdf, ps or djvu format
  • JabRef file fields are generated, so you can open the existing papers directly out of JabRef
  • Downloading of arXiv or DOI metadata
  • Extraction of arXiv or DOI id out of the file using pdftotext
  • Downloading of new versions of arXiv papers
  • Simple validation of BibTeX files (Checks for missing fields etc)
  • Simple transformation of BibTeX fields (Normalization of author, year and journal field…)
  • Works under every platform supporting Ruby and pdftotext (Linux, Windows, …)

Quick start

At first you have to ensure that you have the pdftotext program available on your $PATH. Under Debian you can install
the package using apt-get as follows

$ apt-get install poppler-utils
$ pdftotext
pdftotext version 0.24.1
...

BibSync requires Ruby >= 1.9.2 to run. It is distributed as a RubyGems package. You can install it via
the command line

$ gem install bibsync

And for updating, you write

$ gem update bibsync

After that you can use the ‘bibsync’ tool on the command line. At first let’s validate
a BibTeX file called ‘thesis.bib’.

$ bibsync -b ~/thesis/thesis.bib

Then we want to synchronize all the papers in our paper directory with ‘bibsync’ and automatically download
the missing metadata.

$ bibsync -d ~/thesis/papers -b ~/thesis/thesis.bib

BibSync tries to download the metadata from arxiv.org and dx.doi.org. If you want to know more about the functions of ‘bibsync’ take a look at the command line help.

$ bibsync --help

My setup

  • BibSync for synchronizing
  • JabRef for browsing the bibliography, tagging and categorizing papers
  • Biblatex to include a bibliography in LaTeX with full Unicode support

Alternatives

  • Mendeley (Commercial, synchronizes with their server, limited disk space, bloated gui application)
  • Zotero (Firefox plugin, Open source)

A better name?

If you have a suggestion for a better name, just let me know…

Author

Daniel Mendler

License

See LICENSE