Top 5 Tools for Writing a Thesis
Here are five diverse thesis tools that facilitate writing. These tools are freely open source and available. They cover layouts graphs, complex and a lot more.
Writing a thesis is one of the hardest tasks a student faces. While nothing is more important than the contents of the thesis, it certainly helps to have a professionallooking layout. Here are some free tools that I have found very useful when writing my thesis.
LaTeX
LaTeX ( http://www.latexproject.org/) is a typesetting system that lets you focus on creating content rather than worry about the appearance of your article or thesis. It is a very powerful system, but that power comes at a price; LaTeX can be difficult to use because it is such a complex tool. It can even be extended with the use of packages. For example, creating beautiful and clear graphs is easy with ‘pgfplots’, while syntax highlighted program listings can be created quickly with the ‘Listings’ package.
Many universities have their own LaTeX templates, which students and the faculty are encouraged to use. This allows writers to concentrate on the content, yet produce documents that are consistent in style.
Inkscape
It is said that a picture is worth a thousand words. Complex ideas can sometimes be expressed clearly with a suitable picture or diagram. Inkscape ( http://inkscape.org/) is an open source vector graphics editor. The advantage of vector graphics is that the image quality does not suffer while zooming, the way it does with bitmap images. This is especially important if the thesis is going to be printed on paper as vector graphics allows better image quality without having to resort to a huge file size.
GIMP
While vector graphics has its advantages, it has certain disadvantages too. Photographs, for example, are not easily expressed as vector images. However, bitmap images are very well suited for that purpose. GIMP ( http://www.gimp.org/) is one of the most popular open source graphics editors, and is well suited for creating and editing graphics for a thesis. It is important to remember to keep the resolution of the images high enough, especially if the thesis is to be eventually printed on paper.
Graphviz
While it is possible to draw graphs by hand using Inkscape, sometimes it makes sense to use a dedicated tool like Graphviz ( http://www.graphviz.org/). A graph is described using a simple language and Graphviz can then generate a graphical output of the diagram. Since the output can be vector graphics, the diagrams will look sharp and of professional quality when printed.
A big advantage, especially when working with complex diagrams, is that the user can specify the relationship of various components on a graph and Graphviz takes care of the layout. This saves time and effort in very complex graphs, which would be tedious to lay out by hand.
Python
Python ( http://www.python.org/) is an expressive programming language that is well suited for writing small utilities and tools. Python has extensive support for mathematics, science and engineering. One of the most popular packages for such processing is SciPy ( http://www.scipy.org/). Since Graphviz uses simple language to describe graphs, one could use Python to process research data and output results directly in a format that Graphviz can lay out. This allows the creation of very large and complex graphs that would be almost impossible to visualise and create by hand.
Note: I wrote my thesis using the tools presented in this article. The resulting PDF is available at: http://urn.fi/URN:NBN:fi:amk2013060613279.
Though it is possible to learn how to use the tools while you are writing a thesis, it is recommended that you try these out on a smaller scale first.