Tullio Facchinetti

Guidelines for theses and presentations

by Tullio Facchinetti

Categories: article lang_en latex article_en

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. ;-)


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.


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:

All the options are free and open source. Most of them should be available as package in most of Linux distros.


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:


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.


  • Students and theses
  • Publications
  • Thesis topics
  • Curated awesome list of CLI apps
  • Last updates (English)

  • Students and theses ()
  • Students and theses - English ()
  • Learn enough C to survive ()
  • Workflow for writing theses collaboratively ()
  • Guidelines for theses and presentations ()
  • Projects ()
  • Shortcuts for Bash ()
  • Last updates (Italian)

  • Risultati FdI 21-25 Novembre 2022 ()
  • Studenti e tesi ()
  • Risultati FdI 29 Settembre 2022 ()
  • Risultati FdI 02 Settembre 2022 ()
  • Risultati FdI 28 Luglio 2022 ()
  • Risultati FdI 29 Giugno 2022 ()
  • Interfacciamento client-server con il simulatore di propagazione del calore Energy2D ()
  • List of categories

    article article_en article_it C courses fdi lang_en lang_it latex programming project research results robotics software teaching thesis tips