In the first part of this series of blog entries I introduced some basic features of open source software (OSS). In the second and following parts I will discuss open source software I use to make my day as a researcher simpler. One of the most important activities related to research is publication and dissemination of results. To aid this process I use the typesetting system LaTeX.
There are probably more options for writing your publications and your thesis than there are stars in the sky. I will not go into detail on hardly any of these (see for instance here). Most people choose between an office tool like Mircrosoft Word or OpenOffice, or a typesetting language like LaTeX. Office tools offer easy editing based on WYSIWYG (what you see is what you get) and with reference managers like Endnote they would probably work quite well. That is if you are writing small to moderate sized documents, strictly using document styles, never writing mathematical formulas, and writing alone or with some sort of e-mail document locking.
LaTeX has its shortcomings as well. You have to compile the document, writing tables can sometimes be painful, the treshold for using it is higher and it is sometimes a bit difficult to place tables and figures exactly where you want them to be. However, LaTeX shines when you easily want to create large, good looking documents with plenty of (cross) references. Completely change the style of large documents is done in seconds thanks to the variety of packages and templates available through the Internet. LaTeX is furthermore written in plain text, meaning that you can use your editor of choice. Additionally, you can use Subversion (a revision control system) or similar tools for document version control and backup. This is to me a very important feature as you can easily collaborate with others on the same document, work on it from more than one computer and be certain that everything is safely backed up. Safe and secure backup should be the first commandment of all PhD students and researchers. Take a look at this comparison of Word and LaTeX or use a search engine to find more information about the strengths and weaknesses of the two.
While there are several text editors and editors designed for Latex I started using Eclipse to write LaTeX documents a few years ago while writing documentation for a Java project. It was easy to use the same editor for both tasks. Even though Eclipse is or should I say was an IDE it works quite well as a text editor and it allows me to use the same platform on both Linux and Windows. To simplify the LaTeX editing I use the Texlipse plug-in for Eclipse. This enables auto completion, colored text and visual feedback of compilation errors, see below.
To enable Subversion I use the Subclipse plug-in. This allows easy check out and commit of files from within the Eclipse platform.
Both plug-ins can easily be installed using the “Software update” feature of Eclipse but you do of course need a TeX implementation. This is included in most(?) Linux distributions and on Windows you may download and install MikTeX. What I like the most about MikTeX is that it automatically downloads missing packages.
Fitting different software systems together is not always done without small configuration challenges. As for instance after updating to the newest release of Eclipse (Ganymede) and reinstalling Subclipse I got some error message and I had to set the correct SVN interface. The good thing about many open source products is that they have plenty of users and in this case someone had already found a solution to the problem.