I am probably the only exception in the AP team. As a longstanding MacTeX user, I keep my references organised with BibDesk, one of the sweetest pieces of (open source) software ever written for TeX users working on Mac OS. When hunting for references, I use CiteULike as a fast and effective solution to bookmark and tag papers. My workflow usually starts with an exploratory phase based on CiteULike. As soon as I have read a paper and need to cite it, I export its reference from CiteULike into BibDesk, filing the PDFs with the help of the autofile functionality in BibDesk. So far I have been quite happy with this workflow even if it involves a little bit of fiddling to correctly import references into my local library.
After some research and discussion in the support forums, I discovered that CiteULike and BibDesk can seamlessly integrate with each other. BibDesk has an external file group option that allows you to read structured references from any online source. CiteULike has a bibtex export feature that allows you to expose your references for consumption by software like BibDesk. This is all you need to get the two to work together. Here’s how my new workflow looks like:
1. Create a new external file group in BibDesk
Click on the cog icon on the bottom left of the BibDesk window and select “Add External File Group”. This will add a new folder in your library pointing to a remote source.
2. Point the new group folder to CiteULike
CiteULike can generate bibtex files on-the-fly from any reference list, e.g. your reference library, the list of papers for a specific author, papers tagged with a specific keyword etc. The bibtex export filter for any of these lists can be obtained by adding the /bibtex prefix to the corresponding URL. For instance, to export in bibtex format my full reference library:
I simply need to type the following URL:
The following URL parameters are a useful addition:
- fieldmap=<oldval>:<newval> allows you to specify translation rules for custom fields, e.g. record creation date (what CiteULike calls Posted-At must be translated to BibDesk’s Date-Added)
- do_username_prefix=0&key_type=4 toggles an option to create bibtex keys using an AuthorYearTitle scheme when none is available (which I prefer to the default numeric key)
The final URL we will use is the following:
3. Browse your CiteULike library from BibDesk
Once you have pointed BibDesk to the URL of the CiteULike bibtex filter, you can start directly browsing your CiteULike library from BibDesk. You will see an “Import” button on the left of each item, which is greyed out when the reference is already imported in your local BibDesk library.
4. Import selected items
Click on “Import” to download a reference and file it in your local BibDesk library: you are done!
There is definitely room for further improvement (in particular to allow bidirectional sync’ing of references and PDFs and custom bibtex keys in CiteULike), but this solution will save you a lot of time when working with references between a local and a remote library. Kudos to the BibDesk and CiteULike team for being so responsive to feature requests from their user community!
On a related note, if you are a Mendeley user, you will be happy to learn that today their integration with CiteULike is finally seeing the light.