Organizing references
by Willie Wong
Sort of on the opposite end of what I wrote about last week (on managing edits of my own papers), I recently came across a good way of managing citations and references.
Previously I’ve been compiling BibTex files by hand: I have a complicated scheme set-up with a central bib directory. Inside it is a master.bib file and a bunch of subdirectories. The subdirectories are categories: general relativity, PDE, differential geometry, etc. In each category are several smaller bibfiles. Each bibfile represent a subcategory, and the bibtex key I used are always of the form “[category]-[subcategory]-[authors’ initial]-[year]”. By keeping separate bibfiles for separate subcategories, editing is easier. And I have a script that recompiles all the bib entries from the subcategory files and dump them into the master.bib file. Furthermore, the script also compiles the key-author-title information and dump them into a dictionary file, which I can then import in Vim to get quick citations. (I’m actually quite proud of this abuse of the vim dictionary that I am using.)
I’ve heard many good things about Zotero and Mendeley, and I have seen Zotero in action. While I really like its direct integration to firefox which allows it to very simply import citations from the web, I am not so thrilled about using a cloud service for managing my citations.
By way of Slashdot, I learned about Jabref. It is Java based and automatically platform agnostic (so I can use it both on my primary Linux computers and also on my Windows computer if I have to). I like its ability to group/tag articles making them easier to find, and its BibTex based backend (making exports simpler). Furthermore, one can link entries with stored PDF files. And with the database stored locally, syncing the bib file and the “link” is as simple as copying the entire directory.
Gradually I plan to migrate not just papers that I cite, but also papers that I read to the database. It provides a good, searchable interface for papers in general. Right now finding a paper on my harddrive involves invoking the unix command “find” and requires remembering either the lastname of one of the authors, or some keyword in the title in proper abbreviation. This contributed in part to my having two or three copies of the same papers on my harddrive. Jabref will certainly help.
I also like the fact that it has a Review field in the bib entry, so you can jot down some thoughts you (or other people) have about the paper.
just a note on Zotero – there is absolutely no need to use its cloud features. All references are always stored locally and you don’t even need to register for the cloud (“syncing”) features if you don’t want/need them.
Also, through the Lyz plugin, Zotero has pretty cool interaction features with bibtex.
Zotero is a really cool piece of software. My wife swears by it. I am very impressed with how it can automatically capture citations in e-mail and such (one of the things I wish JabRef has, but which I can live without). The main reasons that I decided that I don’t like it (I agree the above post was not written as clearly as I ought) are:
rsync -av -e ssh SOURCE TARGET. (As the most important reason for me to migrate to a citation management system from my old habit of editing my own bibtex files is to abuse it to manage my ever-growing collection of papers, this is rather a big deal for me.)I also don’t care that much about word processor integration. I edit all my LaTeX files by hand in Vim. (No, I don’t even use the vim-latex plugin; the occasional functionality I need, say searching the current document for equation labels, I code as a keyboard shortcut by myself.) JabRef does integrate with LyX, vim, emacs, and I think another one or two editors, but I don’t think I will use those features that much.
If you use Mac the best is Mekentosj Papers. A free alternative is BibDesk, which I think is similar to but better than Jabref.
If I ever convert to Mac exclusively, I’ll give BibDesk a look. For now, not only do I not run a Mac, I also need the cross-platform capabilities. Thanks for the recommendations.
Hi,
I just stumbled upon your blog post and thought that you might be interested in “SciPlore MindMapping”, a mind mapping software I am developing. SciPlore MindMapping integrates mind mapping with PDF and reference management (especially BibTeX). In my opinion it’s the (almost) perfect solution for managing academic PDF files. You can watch a video on YouTube http://www.youtube.com/watch?v=jRHqLktIMWw&hd=1 and download the software here: http://www.sciplore.org/software/sciplore_mindmapping/
It’s running on Windows, Linux and MacOS, is GPL and based on the popular mind mapping software FreeMind. The main (additional) features are that you can 1. import PDF bookmarks to organize the content of PDFs 2. Watch folders for new PDFS (they are automatically listed in your mind map) and 3. Add reference keys (BibTeX) to mind map nodes. Furthermore you can backup all your mind maps to our servers and access them online.
Regards
Jöran
Dear Joran: thanks for the note, it looks like an interesting piece of software. But I personally don’t like to use mind mapping software, and just using it to manage PDF files seems to be an overkill. I’ll leave your comment up in case others are interested.
Hi, I liked your post and I’m wondering if you could share your script for generating the vim dictionary out of the .bib file. Thanks!
First you need to read this on how to do custom exports. For the layout files themselves, you have for vim.layout the following
For the vim.begin.layout you use
And for vim.end.layout
And then in whichever configuration file you specify the behaviour for loading TeX files, add the lines
where the FILENAME should be the path to the file you exprted from JabRef.
Thanks a lot 🙂 really appreciate it