Get Started Handling Academic Citations Like a Pro

Using a Mac to do your academic work? Here’s a brief tutorial on how to optimize your day-to-day dealings with academic citations, by integrating Bibdesk, Textmate, Quicksilver and Scholar. Below, you’ll find instructions on how to set up all these neat little tricks.

Quicksilver Web Search. After you download Quicksilver (free) and open the preferences window, go to Plug-ins > All Plug-ins, and check the box next to “Web Search Module.” Restart Quicksilver. Go to Catalog, click the “+” at the bottom-left, and select “Web Search List.” A new pane should appear (if not, click the little i), in which you can add any number of web-search shortcuts by clicking the other “+” appearing above “Source Options” on the new pane. Just go to any search box (such as Google Scholar) and search for “***“, and copy resulting page’s URL. Paste it in the web-search shortcut you just created in Quicksilver under “URL.” Under “Name,” write something useful like “GoogleScholar.” Finally, rescan your catalog by clicking the circular-arrow in the bottom right. That’s it! To search for stuff, just invoke Quicksilver, hit “.” (period) to enter text, hit Tab, start typing “Find with”, hit Tab again, and start typing “GoogleScholar.”

Even more useful — if you want to use a secure remote access service (like VPN) to search for articles from home, just log into VPN before going searching for “***” in Google Scholar. When you first search for something, you’ll have to enter your username and password. But in every search after that, you’ll have your regular access to secure articles.

Bibtex Records on Google Scholar. You won’t see these unless you actually set them up. Log into your Google account, go to Google Scholar, and click the “Scholar Preferences” link next to the search box. Click the dial that says, “Show links to import citations” and select “BibTex” from the drop-down menu. Now you’ll see that useful BibTex link below all your search results.

Bibdesk. You can download this beautiful little app for free from Sourceforge. If you copy a bibtex citation record to the clipboard, you can add it automatically to Bibdesk by typing Command-Option-L.

Textmate Drop-down Menu. Make sure you’ve installed Textmate (trial available from Macromates) and Bidesk. To set up that neat little drop-down menu in Textmate, first download and unzip the “Completion.zip” package (available here). Second, double-click each of the .tmComand files. Next, copy the binary file “BibDeskTMCompletions” somewhere convenient, like a folder called “bin” in your home directory. Finally, open Textmate and go to Bundles > Bundle Editor > Show Bundle Editor. Click the newly-added bundle, “Build Cite With BibDesk.” Find the line that begins “CMD = ‘”$HOME”…,” and set it to the path of your binary file. If you chose the “bin” folder in your home directory, just change this line to the following:

CMD = ‘”$HOME”/bin/BibDeskTMCompletions

Do the same thing in the bundle, “Bibdesk DO Completion.” While still in this second bundle, set a useful Activation key, such as the Tab-Trigger “cite”. Close the editor and restart Textmate. Now, to make the drop-down menu work, you just need to open a Latex document with a bibliography set at the end — for example, mine reads \bibliography{~/Documents/MasterBibliography.bib}. Now, whenever you type “cite” followed by the Tab key, you’ll get a drop-down menu displaying all the references in you .bib-file.

Related Posts:

 

Soul Physics is authored by Bryan W. Roberts. Thanks for subscribing.
Want more Soul Physics? Try the Soul Physics Tweet.

13 thoughts on “Get Started Handling Academic Citations Like a Pro

  1. Anonymous

    Did you came across some strange error when doing the TM Completion?

    LSOpenFromURLSpec() returned -43 for application

  2. Bryan

    It looks like it can’t find an application. Make sure Bibdesk is installed properly, and then make sure it’s *open* and in the background when you run your Textmate completion command.

  3. Anonymous

    Hi Bryan,

    I’ve got the same type of error as anonymous. After using the tab trigger and selecting the paper I am looking for, I got this:

    \cite{2010-03-23 22:17:17.976 BibDeskTMCompletions[18797:613] LSOpenFromURLSpec() returned -43 for application file://localhost/Applications/TeX/BibDesk.app/ urls file://localhost/Users/Jerome/Jerome/Documents/References.bib.
    Hiscock:2008kx}

    Would you have any idea on what’s going wrong?

    Thanks

  4. Bryan

    Ok. I can recreate this error message by setting the path to my .bib file incorrectly. Make sure this is set correctly. You may have to close your document and open it again to get Textmate to recognize this change.

    In particular, Anon7:20: I bet you have one too many “Jerome”s in the path you specified. Try changing your bibliography command to: \bibliography{/Users/Jerome/Documents/References}

  5. Anonymous

    Thanks Brian, I set the wrong path to my .bib file and now the drop down menu pops us nicely.

    I am now trying to work out why when I rendered the LaTeX document, no references appear in the bibliography and no citations appear in the text. I got this LaTeX Warning: Citation `someone:2009′ on page 1 undefined on input line 77. After running bibtex I got the Warning–I didn’t find a database entry for “someone:2009dq”.
    Do you know if this error relates to Bibdesk or LaTeX/BibTeX not being properly set up?

    Thanks

  6. Bryan

    Glad the dropdown menu is working! I don’t think your current error has to do with Bibdesk. Try throwing away all the auxiliary files that appear when you compile (probably everything except your .tex and .bib files). Then compile 2-3 times, then run bibtex, and then compile 2-3 more times — this should render the references correctly

    Textmate can actually automate this annoying procedure. With a tex document open, hit Cmd-Opt-, to open the LaTeX preferences, and check “Use Latexmk.pl.” Now, when you hit Cmd-R to compile, Textmate will keep compiling and running bibtex automatically until it gets the references right.

  7. Anonymous

    in the textmate installation step, when I double-click the .tmComand files, I’m asked what application to use. Any ideas?

  8. Bryan

    @Anon Thanks for the tips about the completion.zip file, I hope it works now. As for the .tm file, I suspect you might not have Textmate installed correctly. If you’re sure that you do, just open the .tmCommand files with Textmate.

    @Julia I’m afraid TexShop, iTexMac and the like don’t have this capacity. One of the (many) reasons to switch to Textmate. Or, I suppose if you’re a code hipster, you could almost certainly adapt the menu to work in emacs.

  9. Brad

    Hi, very smart method, when I finish setting up for the first time, the drop down menu shows up, but when I close the document and try it another day, it shows the following
    \cite{ruby: warning: -K is specified; it is for 1.8 compatibility and may cause odd behavior
    /Applications/TextMate.app/Contents/SharedSupport/Support/lib/ui.rb:129: warning: assigned but unused variable – pid
    /Applications/TextMate.app/Contents/SharedSupport/Bundles/LaTeX.tmbundle/Support/lib/LaTeXUtils.rb:116: warning: shadowing outer local variable – text
    /Applications/TextMate.app/Contents/SharedSupport/Bundles/LaTeX.tmbundle/Support/lib/LaTeXUtils.rb:214: warning: shadowing outer local variable – regexp
    /Applications/TextMate.app/Contents/SharedSupport/Bundles/LaTeX.tmbundle/Support/lib/LaTeXUtils.rb:214: warning: shadowing outer local variable – block
    /Applications/TextMate.app/Contents/SharedSupport/Support/lib/escape.rb:3:in `gsub’: incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string) (Encoding::CompatibilityError)
    from /Applications/TextMate.app/Contents/SharedSupport/Support/lib/escape.rb:3:in `e_sh’
    from /tmp/temp_textmate.XF0qnU:28:in `’
    }

    I have no idea why this happens. Could you please let me know?

    Thanks a lot!