Setting up BibDesk to manage your library of books, references, and media

I am not going to tell you that BibDesk is the best reference management software in the world. The truth of the matter is that there are a TON of software for reference management out there and each one is a bit different and someone in the world will tell you that this one is better than that one. You can go through this massive list yourself:

I am just going to tell you that I use it, why I use it, and how I use it.

Why I use BibDesk

These are not all the reason’s i use BibDesk, but they are the most important ones to me.

  • It’s free
  • It’s natively based from BibTeX (I do a lot of scientific writing)
  • It can populate all fields (title, author, publication year, etc.) automatically
  • It files away my documents automatically
  • It’s frequently updated and maintained
  • And did I mention it’s free?

My only beef is that it does NOT automatically download articles from the web for you, but maybe this is a good thing because maybe you don’t wan’t all that bulk of keeping the files on your local system. But it does give you a link to where you can find the article which might be the next best thing (through web of science).

Now that I think of it, the only other thing is that you have to be an OS X user. My recommendations if you are a Windows or Linux guy is to look at JabRef or KBibTeX, which are very similar and also natively based on BibTeX.

How I use BibDesk

I use to manage my one true library. I even sync it up to Dropbox so that I can have the same library at all my computers. And this is not exclusively academic articles although this post is mainly focused on such. I include all my PDF books in this library (cookbooks, science fiction, art, and more). Lets start with setting up BibDesk from scratch.

Setting up BibDesk

I’m going to go through my preferences (hit Cmd+,). The ones I don’t mention are typically the default ones (so hit “Reset All” if you are unsure). Save a file called “library.bib” or some manifestation of that somewhere you’ll remember. Make a folder called “Files.” You can see I put mine in my Dropbox folder so that it syncs to all my devices.

1. General Application Behavior

Always open up your “library.bib” when opening BibDesk. You are going to keep only ONE library for all your documents.

2. TeX – Typset Preview

I like to generate a preview just to make sure that I know whether my bibliography has some kind of mistake that will keep it from compiling later. If you did screw up somewhere, do a manual binary search on your library by generating previews to figure out whether there is a mistake and where it is.

A preview looks like this at the bottom frame (click the glasses icon, I’ve selected three references here).

3. Cite Key Format (SUPER IMPORTANT)

BibDesk can automatically generate cite keys for you (if you don’t know what this is, this is a very important identifier when you write TeX based documents that links the information in your library.bib to your article). You need this key to be unique and optimally, constant once you’ve created it. So think long and hard and keep it the same for the rest of your life. If you change it, you risk the chance that your previous articles and documents, if you’ve made some updates to the references and they are compiled with TeX, will not compile your bibliography correctly. You can use any cite key format you want. This is what I use. I choose lowercase cite keys because with old journals, the imported author name is capitalized and it annoys me. Check the preview to make sure it comes out how you want it. You will be copying these things to your TeX documents (or TeXShop has an autocomplete feature that is pretty neat).


This does wonders. It automatically files the documents (PDF, MS Word, etc.) that you drag and drop onto the reference away in a specified location with a specified file naming convention! You don’t really care where they go, because you won’t ever have to look for that one article again, you’ll just go to BibDesk and search for the article and then double click on the document (I’ll show this later).

In this preference pane, I tell BibDesk to file the papers automatically so that when I drag and drop them, they get put in the specified location. For the local filename format, I use a very descriptive filename because I always like to look at the top of my file and see what I’m reading when I have a ton of PDFs open. Therefore, I file them away in a folder designated by the author then the file name has the author, publication year, and title (don’t forget the extension). This is a lot of description in a title, but I think it is worth it. You can copy my settings below.

Using BibDesk

So now you’ve setup BibDesk, but have no references. We are going to go through and get a reference for you to see how it is done.

Searching for articles

Using VPN or your institution network and Web of Science (or PubMed, etc.)**

(January 21, 2013, NOTE: The recent update to Web of Science has broken a few things!!! I’ll update when I figure out if I can get it working…)

This is my primary choice of how to search for new articles. In fact, if I have already downloaded an article, I will do another search to make sure I get the correct information for my BibTeX entry using this method (as opposed to inputting it in myself). This is because IT’S ABSOLUTELY RELIABLE (unlike Google Scholar, see below). If using Web of Science for example, it even gives you the link to where you can find the article (provided you are on your campus network).

First, you need to be able to access the institution resources by either registering your computer with them or setting up your VPN or something similar to access articles from the web. You might need to contact your local IT people to get this setup (or, god forbid, do a google search). But usually, if you are plugged in with a hardwire and you have registered your MAC address, you’re good to go. If you are at home and used VPN to connect to your institution’s network, you’re also good to go. Note, using a proxy server will not help you in using BibDesk. This is essential for me, because I want to do searches from BibDesk and not from a web browser, so that I can import them more quickly.

After this, go to searches and click on, for example, “Web of Science SCI.”

You’re going to have to learn some syntax and you are going to learn by example. Here is an example that encompasses all the syntax I use for Web of Science.

Press enter, and all these articles should pop up (maximum is 100 of the most recent). These really are the only things that I use to search for articles. If i see something on the web in a browser, I go to BibDesk and search the author (and maybe put in a year to cut down the number that popup)

au = authors
py = publication year (range)
so = journal name
* = match any pattern
and/or = be careful of using and/or, put quotes around it you want to use it in the search

If you want to know more about syntax, click on the “?” mark on the right of the search dialog. It’ll pull up some information about the syntax you can use.

Now click on the “import” button to the left of any of the articles. Then click on your “Library” in the left pane. You should see the article sitting there with all the data imported. You have your first reference! Note that in the right pane, if you got it from Web of Science, will be a webpage where you can download the article. You can download the PDF by double clicking on that webpage (it makes you jump through a few hoops but you eventually get to it in less than 15 seconds).

Once you download the PDF, get this PDF and drag it on top of the reference that it belongs to and drop it in. Your reference will be removed from wherever it was before and filed using the format you gave in the preferences! AUTOMATICALLY! Where does it put it? You don’t really care because you can always get back to the PDF by looking at the right side pane and double clicking on the file!

And there you go. Your first article in BibDesk (with the PDF on the right hand side in the above image). Just double click on the PDF and you will pull it up in your default PDF viewer. No more losing those PDF files and no more manual renaming in some obscure naming convention that changes every time you try to remember it.

Using Google Scholar (or other web-based)

You can also use Google Scholar (no VPN necessary) to download reference information. It’s quite finicky and also the information is not guaranteed to be completely accurate. Go to using your browser. I always have to re-login in Google, go into settings, check the “show BibTeX citation download.” Once you have this turned on, there will be a small link that says “Import into BibTeX.” Click on this link for the specific article you are interested in. And copy what comes up by selecting it and pressing Command + c. Then go to BibDesk, Publication > New Publication from Clipboard. There you go. It should have pasted in the reference. Since google scholar makes its own cite key, BibDesk will not replace it with the one you defined in the Preferences. Therefore, if you want to reformat the key to you cite key, just go ahead and hit Command + K.

Drag and drop

Sometimes you just have the PDF and don’t want to look for the article. You can drag and drop the PDF straight onto the BibDesk icon and it will try its best to import missing information. This MIGHT work for newer articles. When available, BibDesk will extract metadata (or maybe it uses OCR?) when you drop a PDF into the library and fill some of your articles information for you. It’s not very reliable though, because you don’t know which journals have started doing this. Of course, older articles will not have this data. This is why I just end up going to the Web of Science technique described above to search and import articles.

Searching for articles you already have in your library

There’s a dialog for this up in the right upper corner. Use it. Make sure you select your “Library” on the left pane if you want to search your whole local library.

What if I already have a library of references somewhere and want to import them?

If there are just a bunch of jumbled PDFs somewhere, just start from scratch and spend a few hours sorting through them and importing them into BibDesk using the method I described above. It’ll help you learn too. If you have a huge library built from some other reference management software (that files away your PDFs), if it is natively BibTeX you might have a chance in importing it, but in general you won’t be satisfied until you start from scratch again. The one thing about any of these softwares is that there is a huge startup time if you already have a library built from somewhere else. It is a pain to get it in, no matter what software you use (although Mendeley will try to auto parse some things if you drag and drop your documents into it, but ultimately it will get about half of them wrong so that you have to go in and check/correct them anyway).

What is your non OS X choice?

If BibDesk didn’t exist and I had to choose an alternative, I’d probably choose JabRef or compile KBibTeX for OS X.

Parting remarks

Stay tuned for how to use this library in a .tex document using BibTeX.

    • Patrick S
    • June 29th, 2012

    Thanks for this really extensive and thorough guide, the Citation key and autofile templates seem particularly useful 😉

    • Sue G
    • July 24th, 2012

    well written. thanks for the tips. highly recommended!

    • mir
    • October 4th, 2012

    thanks quite helpful. How do we use postscripts in bibdesk? and, import pdf through a pubmed search? i can access the pdf but need to save it to my computer and then manually drag it to the reference, even tho i have used the bib desk reference to link to the full text.

    • Adrienne
    • November 18th, 2012

    Thanks for this post. The level of detail you provided made it very easy to get started with BibDesk!

    • Nathan
    • January 16th, 2013

    This is a great tutorial. I would add that, for people in astronomical sciences, there exists a wonderful tool to grab references from the astrophysics data system (ADS) directly into BibDesk in one step, called ADS to BibDesk. You can download it here: . People who use this tool should follow the tutorial posted above, up to the section titled “searching for articles,” and let ADS to BibDesk handle all the subsequent steps. I don’t know for sure, but I imagine similar tools exist for other online article databases.

    • Johan Ekh
    • February 7th, 2013

    Greate tutorial! Any new info on how to get Web of Science to work again?

  1. This is awesome! I have all the important details customized before it is too late, and I want to change everything. Thanks!

    • lvtuotuo
    • November 20th, 2013

    Thanks a lot! The tutorial really helped!

    • michurin
    • December 18th, 2013

    This is very useful. It would be great if you could share with us how you manage to sync the library.bib file across your devices. Currently I have the main .bib file in dropbox as you do, and copy that into a folder of each paper I write, but this is not optimal.

      • atchieu
      • December 19th, 2013

      What I would do is make a symbolic link to the .bib file (> ln -s location_of_bib_file location_of_paper). That should be good.

    • Dilan Fernando
    • October 26th, 2014

    When I usually want to typeset my bibliographies in texshop I have the .bib file in the same folder as the .tex file. but I like your way of having a single .bib file. But how do I set path so that .tex will compile correctly?

      • atchieu
      • October 26th, 2014

      You can symlink the file into the directory that you compile your *.tex files. Or I think you can specify the full path in your *.tex file (I’m not sure if this works).

  1. No trackbacks yet.

Leave a Reply

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

You are commenting using your 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 )

Google+ photo

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

Connecting to %s

%d bloggers like this: