Guidelines for theses and presentations
by Tullio Facchinetti
LaTeX is one of the tools more commonly used to write a thesis and a long scientific text in general.
In this article I will report some guidelines to write a thesis using LaTeX.
Writing a thesis with LaTeX
The reported suggestions derive from a long experience of using LaTex, and in particular derive from the observation of typical uses by students who use LaTeX for the first time. Obviously, they are not to be considered universal truths, but rather useful suggestions for those facing the problem of structuring a complex LaTeX document in a simple but effective way for the first time.
These indications, on the other hand, must be considered mandatory for undergraduate students for whom I am responsible. ;-)
Tools
LaTeX distribution
To use LaTeX, if you are on Linux (you should ;-)), install Texlive. It is available in every Linux distribution, so you can use the usual package manager to install it.
If you are on Windows, install Miktex. It provides an installer that makes the procedure pretty easy.
Editor
LaTeX sources are plain text. Therefore, you can use any general-purpose text editor to write them, from Vim to Emacs.
However, some editors have been specifically developed to write LaTeX documents, and thus they come with useful features such as integrated building and visualization of the pdf. There are several options for Linux and Windows. Here a non-exhaustive list, which includes the tools that I have seen in use by many of my students:
- Texmaker - Popular among my students.
- TeXstudio - Popular among my students.
- Kile - I personally used it several years ago; it’s robust and solid, but only for Linux.
- Gummi - Never seen it used by my collaborators.
- TeXpen - Never seen it used by my collaborators.
All the options are free and open source. Most of them should be available as package in most of Linux distros.
Template
On GitHub there is the thesis-templatex repository that contains the template for a thesis document, which follows the structure described in this article.
Structure of the working directory
Split the thesis in multiple .tex
files, one file for each chapter.
The chapters will be consolidated into one single document using the \input
command.
I suggest to use the extension .inc.tex
(e.g., chapter_intro.inc.tex
) to make it clear that they are files meant for inclusion.
Use a simple structure for the working directory.
It is not convenient nor useful to have an overly complex structure of the working directory.
On the other hand, keeping the .tex
files together with the images and other materials can complicate the management of the project.
Put all .tex
files into the working directory.
Put the images in a sub-directory of the working directory.
I typically call it figs/
.
Put all other materials in their own sub-directories (e.g. docs/
for additional documentation, etc.)
Avoid spaces in file names, for two reasons: 1) the inclusion of files with LaTeX’s \input
command can be tricky, and 2) the insertion of filenames on the command line becomes cumbersome.
Images and figures
Images and figures are essential for the good presentation of the contents of a thesis.
With LaTeX, source .tex
files are separated from images files, and they can thus be handled independently.
It is advisable to use tools that allow the creation of good quality images in a simple and intuitive way.
It is preferable to create images in vector format rather than in bitmap format, as vector images scale without graining regardless of size. The standard format for vector image editing is SVG.
A powerful editor for making SVG vector images is Inkscape. In case it is necessary to create graphs or database structures, a convenient tool is yED. Sometimes, the graphs can derive from elaborations carried out by external programs, such as MatLab or Python scripts. In this case, it is easy to export the image in an appropriate vector format such as SVG (preferable), PDF, or PNG.
LaTeX does not directly support the SVG format, i.e. it is not possible to insert the image in that format directly into the document. The vector format is useful for keeping the image in an editable format. For inclusion in the LaTeX document it is necessary to convert it into PDF format.
Writing in LaTeX
Use consistency in the use of upper and lower case letters in the text.
If you write “figure X”, always use lowercase, and don’t write “Figure Y”.
This mainly applies to the following terms: figure, equation, table, section, chapter.
The use of the cleverref
package and the \cref
command greatly help in making consistent references.
Use labels to manage references
To refer to formulas, equations and chapters, use the number of the formula or chapter with a \ref
command, instead of writing like “in the following equation”, or “in the previous chapter”.
This allows, among other things, to reorganize the ordering of chapters and sections without worrying about changing the text that refers to them
In correspondence of a reference, i.e., when using commands such as \ref
and \cite
, separate the command from the previous word with the tilde (~) and without spaces (e.g. article~\cite{Fac05}
).
This introduces a space in the text generated by LaTeX, but avoids the carriage return between the word and the quote, which is not stylistically pleasant.
If you use cleverref
, the tilde can be avoided, since the family of \cref
commands automatically handles the spacing and carriage return.
References to figures and tables in the text
Each figure or table must have a reference in the paragraphs. The text must mention the figure/table and shortly explain its relevance to the current statements.
Positioning of figures and tables
Unless there are very good reasons to not do so, let LaTeX place the tables and figures wherever it thinks it’s better.
Therefore avoid specifying options like [htbp]
for the environment.
In particular, the [h]
specifiers tells LaTeX to insert the table or image exactly where the \figure
or \table
environment is used in the text.
This has to be avoided, and let LaTeX position the object, which is usually placed at the top of the page.
Period at the end of a caption
Use consistency in ending the caption of a table or figure. If you end the caption with a period, always use it, although it may depend on the characteristics of the text. This thread on stackexchange gives some more detailed hints.
Consistency of technical terms
Be consistent in writing technical and non-technical terms, with particular attention to the use of the combination of upper/lower case letters and hyphens. For example, different ways to write the same term should be avoided, e.g., Real-Time, Real-time, real-time, real time. Always using the same style!
An useful package is glossaries
, which manages acronyms and defines terms and automatically track them in the text through an index included in the document: the glossary.
Format of footnotes and incidental text
Footnotes (\footnote
command) start with a capital letter and end with a period.
There are no spaces between the \footnote
command and the word that precedes it.
IMPORTANT: footnotes and text within parenthesis (such as this one) should be limited as much as possible, since they make the reading unpleasant. Using many parentheses is typical when writing the initial drafts of a document, since concepts do not come altogether, and it is easier to try to fit new text into existing sentences. When you find too much of such text, try to rewrite and reorganize the text. It is ALWAYS POSSIBLE to state the same concepts without using parenthesis.
Beware of the placing of the \caption
command
In tables and figures, insert the \1abel
inside the \caption
, e.g.
\caption{My caption.\label{f:figure}}
This avoids nasty problems that sometimes occur with the automatic numbering performed by LateX.
Explain the meaning of terms and acronyms
Each time a new term is introduced, it must be correctly defined. For example, if we talk about “bias”, even if this is a fairly common technical term, it is good, the first time it is mentioned, to specify what it means.
Commands for “complex” terms
When in the document there is a common term but complicated or prone to typing errors, define a new command with \newcommand
and use the command in the text.
Generally a new command is useful when there are combinations of uppercase and lowercase letters, special typefaces, or particularly long text.
This allows, among other things, to simply change the term if necessary.
For instance, you can define the command \lgl
:
\newcommand{\lgl}{LaTeX-guiDELineS}
You can then use the command like this “this text refers to \lgl{}
”.
Again, the glossaries
package can be helpful, although the command can also be used in mathematical environments.
Format of bibliographic labels
You may consider to include an indication of the year in the labels of the bibliographic references, e.g. Fac05
, Silvan1976
or TFTB01
.
This allows to immediately figure out how recent the cited source is.
Final remarks
Consistency first of all! The LaTeX text can be assimilated to the code of a program. As in computer programs, the reading of the source - that is the activity carried out by the reviewer - is considerably facilitated if a coherent convention is used.