Currently I’m writing my bachelor thesis and during the related work research I ran into some organizing problems. The strategy of putting every paper into a folder and hoping for the best just fails at some point. So I spend some time on finding a better way of organizing scientific papers.
The first step was gathering some requirements that a organizing system should fulfill to be sufficient on the long term. There are three areas that I took into account:
- Organizing the papers (mostly PDF files).
- Organizing the papers BibTeX references.
- Organizing notes about the papers content.
My main requirements for the organizing system were:
- The software has to be available on Windows and Linux (Ubuntu).
- The papers and notes have to be viewable on mobile devices.
- The system has to be future-proof.
- The solution has to be for free or at least without monthly fees.
- The notes have to be searchable.
- The papers, BibTeX references, and notes have to be linked to each other.
- The papers have to be named in a consistent way.
- The solutions has to be able to manage a high number of documents.
- The solution should be as low tech as possible.
- The papers and notes should be findable on mobile devices.
- Maintaining the system should produce a minimum work overhead.
Of course this is no complete evaluation of all possible options. I only considered the (in my opinion) most popular an promising systems. I’m also leaving out some systems like EndNote (way too expensive) or Zotero (only 300MB of free storage space) because of the mentioned reasons. A more complete comparison of available reference management software can be found in this Wikipedia article.
Category folders and no central BibTeX storage
The probably most naive and low tech solution would be organizing the papers in folders labeled with different categories and storing the BibTeX references in the context in which they are used.
This solution fulfills the requirements 1, 2, 3, 4, and 9. There is no linking between the papers and BibTeX references, no consistent naming of the papers and the categorizing causes a lot of work at some point. There has to be a better way…
Mendeley is a reference management software with additional functions to support collaboration and even it’s own social network.
It fulfills the requirements 1, 2, 6, 8, 10, and probably 11. I didn’t checked the requirements 5 and 9 since there is one deal breaker for me: The papers are stored on Meneleys servers and of course the free space is limited (2GB). There are storage plans for 5GB, 10GB, and unlimited storage but at the moment that’s no option for me. Also it’s not certain if this system is future-proof.
I’ve used JabRef before for managing the .bib file in some projects but it turns out that it can be used for a lot more than that. It’s functions fulfill pretty much every requirement:
- It’s written in Java and thereby platform independent.
- The data is stored in the BibTeX format and thereby future-proof.
- The software is available for free.
- It has a useful search function.
- It’s very easy to link files to a entry.
- The BibTeX key generator can be used for a consistent file naming.
- It should be able to manage a high number of documents.
- It’s quite low tech in comparison to other tools.
- The workflow of inserting new documents is manageable.
The only part that isn’t covered very well in JabRef is managing notes. Since I wan’t to have a solution that is as low tech as possible, I just put my notes into .txt files which are linked to the JabRef entries by naming it with the BibTeX key. The content of those files can be searched via the command line.
The complete setup
- A central folder containing all PDF files.
- A folder containing the central .bib file with all document links.
- JabRef for managing the BibTeX references and links to the documents.
- A text editor of your choice for taking notes (in my case Vim).
- The search functions of the command line (e.g. grep).
My workflow of adding new documents
- Put the PDF file into the central PDF folder.
- Get the BibTeX reference and add it to your central .bib file using JabRef.
- Let JabRef generate a BibTeX key. I use the following pattern which is also used in the Google Scholar BibTeX references: [auth:lower][year][veryshorttitle:lower] (It can be modified in the JabRef preferences)
- Use the generated BibTeX as a new name for the PDF file and generate a .txt file with the same name.
- Set the file links in JabRef (key combo: Alt+F). If JabRef is configured correctly (see Preferences >> External programs >> External file links) it should find the PDF and .txt files automatically.
Do you have questions or know a better way of organizing a paper collection? Let me know!