Before I get stuck into building the thesis I need a system for organising the references so that as the number of reference papers rapidly grows I will still be able to easily cite, locate, and annotate them.

I’ll be using LaTeX for writing papers, reports, thesis, etc. so a central BibTeX database makes sense. JabRef operates on the single text-based BibTeX database making it ideal for version control systems such as Git or Subversion.

The latest JabRef beta release (2.11 beta 3) provides great multi-column file links support for quickly opening PDFs and text files of notes linked to a given citation.

Two aspects of the setup remained: the file structure, and the BibTeX key format needed defining. The BibTeX key needed to be human-readable and easy to link to a paper and vice versa, but also needs to be unique within the database. The file structure needed to work with JabRef and manage the PDF copies of each paper as well as text notes for said paper. All searchable, version controllable, and happily managed by JabRef.

Reading around the naming conventions for the BibTeX key I settled on a system also used by Google Scholar. A number of other conventions were shared on a StackOverflow question along with their relative merits. For me though, the format of [author][year][first non-fillword of title] was preferable. In JabRef it is possible to set the preferences to autogenerate BibTeX keys in this format using the pattern: [auth:lower][year][veryshorttitle:lower] .

For setting up JabRef to handle the different associated files (PDF and notes) I found a great article on Organizing Paper Collections with JabRef that covered some of these options in a previous version of JabRef. With the latest beta release it is possible to have multiple files (and types) attached to a single reference and open each of them easily from within JabRef.

The file structure I am using is:

  • references/
    • references-all.bib
    • papers/
      • jepson2013caused-What Caused the UKs Largest Common Dolphin (Delphinus delphis) Mass Stranding Event.pdf
    • notes/
      • jepson2013caused.txt

Within JabRef the BibTeX key for the example paper is jepson2013caused. In Options->Preferences->External programs the Use Regular Expression Search option is checked with the expression set to: **/.*[bibtexkey].*\.[extension] . This will allow JabRef to automatically scan any directory below the references-all.bib for filenames that begin with the BibTeX key and link them to the reference: Tools->Automatically set file links. In Options->Preferences->Entry table columns the Show Extra columns is enabled with PDF and Text selected to allow quick opening of the PDF paper and notes text file. You may want to use Word documents or other filetypes, there is increasing flexibility to do so in the newest releases of JabRef.

Version control is separate to JabRef, I am using Git over SSH to capture changes to the references-all.bib text file, notes text files and addition of further PDF files.