For every research paper you write, there are always references which you need to manage. Sometimes you don’t have many, and you can do this manually. Fine. But if you are writing something longer and more involved, good luck using a word processor to put that together. In fact, I’d say good luck using a word processor for writing the paper at all, but many people still do. I guess these people have more tolerance than I do. However, if you are planning to typeset your paper in LaTeX, then your obvious choice for managing your bibliographic references is BibTeX. Of course, BibTeX files aren’t known for being especially easy to manage by hand. So in that case, if you are a Mac user, enter BibDesk.
This is a tool which allows you to keep track of your references in a manageable, database-like fashion. And the program is in active development, with a couple of upgrades occurring even during the course of my project. The program supports some nice features like extracting a BibTeX entry from the clipboard, a tagging feature which allow you to categorize your references with multiple tags and various grouping mechanisms to organize related entries. Organization is important in a manager for BibTeX, because most of the time, a single database of entries will contain all your references, either in a particular subject or in total, so you may only need a small subset of these references for an particular project.
The program also supports such convenient features as an integrated preview of the output and automatic cite-key generation. It is these cite-keys which are used within your paper to refer to entries in your database. To that end, BibDesk provides a system service that will allow you to complete cite-keys within other applications. It also supports copying the citation key in various formats as well as drag and drop into other applications. This means, that regardless of the LaTeX editing software you are using, you should be able to include your references into your document from the database without any problems.
Then BibTeX takes care of the rest, making sure that your Bibliography or References section is generated with entries in the correct format and order according to the style you choose for your document. It also makes sure that the citations within the document itself are in the proper format. When using BibTeX, you only need to specify which style of citations you want and it will render them according to that style. Some conferences and other institutions may even provide their own BibTeX styles if they require a different format than what is defined in the popular, well-known formats.
For example, had I written my paper in a word processor with citations being added manually, I likely would have used the IEEE citation format because it is the one I am most used to, as it is common for technical papers. This format requires references to be cited by a number in square brackets. 1 The number identifies the entry in the references section. The other stipulation is that the order of the references and hence the numbers is based on when they are first referenced in your document. Thus if I add a reference to the beginning of my paper after I have several in place already, I need to re-number the references. Not a lot of fun when you have 30+ references. I remember doing just this in fact back in the days when I was young and innocent. Fortunately those papers were simple reports and only had perhaps 10 references. OK, even worse would have been that I just recently remembered/re-read the part of the description of my project that states I should use some other format for the references. I’m not sure what the name of it is… but it is a standard one I know that. Not a problem with BibTeX thankfully.
This is the second part of my Thesis Tools series, the first one being about Scrivener, the writing organization tool. Given the busy nature of the next couple of weeks, there likely won’t be another installment in this series until after I finish the project when we can really see whether these tools really helped or not. :)