13 thoughts on “Software to keep your PDFs and papers organized

  1. Hey… For my thesis project in astrophysics I also have to organize a lot of literature. Since the outcome of this organization process has to be in html format, I really want to use org-mode, also in combination with some scripts…

    Would it be possible, that you can send (or link here) your python script?

  2. Interesting. I just started to use a similar setup: Zotero is the central database for all my papers, books etc. and annotations go into orgmode files. The “bridge” between Zotero and Emacs[1] is a BibTeX file that contains all Zotero items and is created with a perl script written by Jason Friedman[2] that exports the whole Zotero database using mozrepl[3]. As I don’t like the default BibTeX key generated by Zotero I use the “CallNumber” field to store my BibTeX keys and a slightly modified BibTeX exporter for Zotero.

    To make inserting new references easy I also turn on RefTex minor mode for my orgfile[4] so I can press C-c [ to insert a new reference. So I do not use any kind of script to mess with my orgfiles. The only thing that is missing in my current setup is the link back to the pdf document (if present): The link in the org files point to the BibTeX database so I cannot open the document without switching back to Zotero, search the item and open it there. *Probably* that issue could be solved by a small script that adds an additional link to the pdf itself.

    Compared with your setup I do not use an extra file for notes and bibliography information but rather link to the BibTeX entry I annotate directly in the headline (as the screenshot[5] may or may not illustrate).

    [1] LaTeX as well as Orgmode
    [2] http://www.personal.psu.edu/jxf35/zoterotobibtex.html
    [3] http://wiki.github.com/bard/mozrepl
    [4] http://www.mfasold.net/blog/2009/02/using-emacs-org-mode-to-draft-papers/#comment-569
    [5] http://s7b.directupload.net/images/user/090628/nqwweuf2.png

    1. Hi,
      A bit off topic, but I’m very interested in setting up a minimalistic emacs environment to be used in conjunction with zotero, org-mode and fireforg.
      From what I can see from
      [5] http://s7b.directupload.net/images/user/090628/nqwweuf2.png
      You somehow have network info and cpu info available on screen.
      Might I ask to describe a bit your environment?
      I’d be interested in testing a similar setup for myself.

      Thanks a lot!


      1. Erwin, I don’t know where that screenshot is from, it’s not my setup. Personally, I use the Awesome window manager with Emacs for text editing. I also use GNU Screen with the XFCE terminal as my terminal setup. There is a line at the bottom of Screen which has a clock and how many terminals I have open. I don’t really use a global system line of any sort because I don’t really care about how much CPU I’m using and my laptop is normally always plugged in.

      2. @Knusper: Close, but I don’t use dwm but the Awesome window manager, too.

        @Erwin: My environment is quite similar to Shrutarshi Basu’s. I use
        the Awesome window manager on a Debian GNU/Linux system and the
        network info, cpu, load etc. you noticed are simple widgets that run
        in a widget box on the bottom of the screen. So it is not Screen[2]
        that displays this information.

        When I log into my graphical environment I start Emacs as a daemon and
        spawn a graphical client for text editing. As you can see on the top
        left corner of the screenshot I have two fixed “Tag” (i.e. virtual
        desktops): one for text editing (“emacs”), one for browsing
        (“www”). Awesome is configured in a way that firefox is always startet
        on the www-tag and emacs on the emacs-tag, so I can switch between
        these two applications with the cursor keys (while holding down the

        Depart from the integration of Zotero and Orgmode mentioned above I
        make use of the org-protocol extensions and have a bookmarklet in one
        of my firefox bars that triggers a org-remember action on the emacs
        side and let me file a remember note with link and desription of a
        website I find worth remembering.[3] Up to now I just took a quick
        look on fireforg so I cannot tell anything about it.

        The most delicious part of using window managers like dwm, Awesome,
        XMonad etc. (=so called “tiling” window managers) is that they are
        designed to be controlled by keystrokes so my usage of the mouse is
        limited to browsing and working with Zotero.

        [1] http://awesome.naquadah.org
        [2] http://www.gnu.org/software/screen/
        [3] What are normally websites that contain information on a topic I
        deal with in orgmode.

  3. @Knusper: I’ll be putting my script (and others that I’ve written) on github soon
    @dmj: I get most of my papers from sources that have BibTeX info readily available so I just spend a few seconds copy pasting into an Emacs buffer and changing the key to my own format. if I start having to deal with papers that don’t come with their BibTeX I’ll seriously consider Zotero and the script you linked to. Thanks for that.

  4. If you want PDFs, exportable BibTeX, and annotation, you should give Mendeley a try. You just feed it a directory of PDFs and it extracts the citation info for you. The new version, 0.9, also has a built-in PDF viewer that allows you to annotate the papers. It’s cross-platform desktop software, so it’ll work on PC, Mac, and your Linux box.

    That’s an ingenious bit of scripting you’ve done, to be sure, but perhaps Mendeley could handle your reference management needs?

    FYI – I’m working with the guys at Mendeley, so if you have any comments or suggestions about how to make it work better for you, I can pass them along to the developers.

  5. I have tried mendeley. Good piece of software, give it a try. Found, however:
    – that it is not intuitive (if possible) how to export a couple of papers into a bib file;
    – mendeley categories don’t match those of bib;
    – you can’t change the bib description manually;

  6. Thank you for writing such an excellent review! I do like your org-mode method, but I don’t like the idea of manually entering BibTeX information either.

    Since zotero can store attachments with each record, I wonder if it would be feasible to keep a .org notes file associated with each entry. Ideally zotero searches would also look in these notes, and when you go to read a document, you could also open the .org attachment, and zotero would launch an emacs session.

    Does zotero keep these attachments as plain files somewhere, or are they placed inside its sqlite database?

  7. I always prefer plain text and files instead of a database (I heard that zotero uses SQLite). Easy to back up, and I can sync them to Dropbox so I can access them anywhere. I also prefer BibTeX because I use LaTeX most of the time. Here is my setup:
    – I use Jabref to manage a BibTeX file which contains all the papers/books references. Jabref is a very nice free software. It is written in Java (thus cross platform) and has full support for BibTeX. It can generate keys automatically (you choose the format). It can automatically search for files in a certain folder that are associated to a BibTeX entry, given that the files’ names start with the BibTeX key. Its import is not very good, so I often end up searching for BibTeX in my web browser and copy it manually to Jabref. Then I download the PDF/PS file and put it in a certain folder, rename it to the BibTeX key, then let Jabref attach it to the entry.
    – I write my notes/reviews/comments of a paper in an ORG file in Emacs, save it with the same name to the same folder, and let Jabref attach it to the entry.
    – On Mac OS, I use Skim to view and annotate PDF files, then save the notes in a file of the same name to the same folder, and (you guess) let Jabref attach it to the entry.

    When I view an entry in Jabref, I can easily access the document and my notes/reviews by double-clicking on the files. One feature of Org-mode that I really like is links. When I write notes in Org-mode, if I need to refer to an entry in my BibTeX database, I just open the BibTeX file in Emacs, browse to the entry, press C-C l to save the location, then go back to my Org note and press C-c C-l to insert the link. Opening the link in the note will direct me to the corresponding entry in my BibTeX file. The link is dynamic: it can always find the correct entry even if the BibTeX file has changed, provided that the entry is still there. Very convenient.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s