If you know the academic me, you know I love, and regularly tout, using
Zotero to manage my ever-growing bibliography. There is one problem with Zotero, however, that I just cannot move past: its inability to use relative links for linking to files.
update: I edited the following paragraph to clear up some confusion pointed out in a posted comment. I should also point out that on Zotero's website, there are numerous posts from users requesting relative links, but with absolutely no reply from Zotero. This again makes me think that the way Zotero is written, relative links are not possible. Otherwise, they would have it, wouldn't they?
I love being able to sync my Zotero database between my personal Mac and school PC, but the syncing breaks the file links. If you sync your database to a second computer, it shows the links as still being there, but if you try to click on a file to open it within Zotero you get an error message saying Zotero cannot find it. You can tell Zotero where the file is, but you would have to do this for every file in the database. I am guessing this has something to do with Zotero running as a FireFox plug-in. When you add a PDF from another directory, Zotero copies it into its own internal structure, which is confusing and involves folders with random letter names. This is just not working for me. I want to be able to sync my database between my computers, and have functional links to the associated files.
I just switched today to
JabRef and love it. It is free, works on Windows, Linux, and Mac, and let's you use relative links. It is simply a frontend for your BibTex file, but it has some really cool tricks:
1. It can autogenerate bibtex keys based on a format you specify
2. It can automatically link entries to files in any directory you specify based on the bibtex keys.
3. It is all stored in a small, easily transferable, BibTex file
4. It supports online searches so you can find and easily capture references online
5. It supports field-based views, but let's you view and directly edit the BibTex code as well as
4. I am sure there are a ton more, but I just started using it today
There are a couple tricks to switching over, so here is what I did:
1. Export the Zotero library in RIS format (my BibTex format export from Zotero caused issues with JabRef)
2. Import the RIS file into a new database in JabRef and save it
3. The internal PDF links from Zotero were written out to the URL field, meaning there are now a bunch of broken URL links in JabRef. To fix this, I navigated to the location of my new database file via terminal (or Cygwin in Windows) and did the following:
egrep -v "internal-pdf" original.bib > new.bib
This will delete all those pesky broken URLs that think they are internal PDF links, but still keep any legit URL links
4. Open the new.bib with JabRef (you can close out the old database now).
5. Under Options -> Preferences -> External Programs: Set the file and PDF directories to whatever directories you are already using (ex: /Users/mwolfson/Documents/School/Articles). Also check the "Autolink files with names starting with BibTex Key" option
6. Under the BibTex Key generator options, setup your BibTex key to match how you name your PDFs. My PDFs are named: author_year.pdf. So my BibTex Keys were set to [auth]_[year].
7. Select all your entries in your database, then go to Tools -> autogenerate BibTex Keys (let it overwrite old keys if necessary). Now all your entries should have the proper BibTex Key appended to them
8. While still selecting all records, Tools -> Scan Database -> Synchronize File Links (they have a specific
PDF link, which works, but does not add the
PDF icon to the entries for some reason -- perhaps because it uses a special
pdf = {} in the
bibtex code instead of file = {} -- so there is no way to know which entries have
PDFs and which don't). Allow overwriting and hit OK. Now, if your
PDF/file names in the specified directory match any of the
BibTex keys, they will be auto-linked to the
JabRef entry. Entries with linked
PDFs should now show a
PDF icon next to it.
update: There is an option under preferences to "show PDF/PS column" which would then, in fact, display the PDF icon if you choose to PDF sync rather than File sync. I have heard PDF/PS sync is being phased out since File sync handles these file types and more though, so I still recommend using File sync instead.
Viola! You should now have a working
BibTex database in
JabRef with all your articles linked. If you work across multiple computers like me, simply open up this database in
JabRef on the new machine, set up your file directories to point to the appropriate files, and you are done. All your
PDF links will work because the links themselves are relative! This is especially awesome when working cross-platform between Windows, Linux, and Mac.
Here is a screen grab showing what
JabRef looks like running on my Mac:

If you get stuck feel free to drop me a comment and I'll try to help.