2 minute read


Here is an overview of some of the packages that I load by default. I have tried to only include packages, that are not “common place”. E.i. Packages that are not mentioned a thousand times already.


According to the authors,

Old habits die hard. All the same, there are commands, classes and packages which are outdated and superseded. The nag package provides routines to warn the user about the use of such ob­so­lete things.

The l2tabu packages warns you about obsolete commands and packages, and demonstrates the most severe mistakes most LaTeX users are prone to make. The orthodox option checks the LaTeX code for syntax that is technically correct, but most likely produces an unwanted result. You should load the packages as the first line in your document. Even before the \documentclass{}. Your preamble should look something like this:

\RequirePackage[l2tabu, orthodox]{nag}
%% Other packages

Link: Nag
Usage: \RequirePackage[l2tabu, orthodox]{nag}

Classic Thesis

Classic thesis is a layout created by Andrè Miede. I provides a beautiful layout based on Bringhurst’s “The Elements of Typographic Style”. It provides layouts for both books, thesis articles and even a resume.

Link: Classic thesis.
Usage: \usepackage[]{classicthesis}


This command basically improves typesetting of a document. E.i, it the spacing between words. When first using the package the the difference can be hard to notice. However, the document will be easier to read and look better.

Link: Microtype
Usage: \usepackage{microtype}


Todonotes lets you mark your document with notes and todos. It even has a option for missing figure and the ability to list all your todos.

Link: Todonotes
Usage: \usepackage[colorinlistoftodos]{todonotes}

Pgfplots and TikZ

TikZ and Pgfplots lets you draw high quality figures and plots. Both packages has a steep learning curve, but the result is gorgeous. If your not convinced, then take a look at some of the examples posted here.

Link: Pgfplots
Usage: \usepackage{pgfplots,tikz} \pgfplotsset{compat =1.11}


Cleveref automates the naming of cross references. With out cleveref, when you want to make reference to for example an equation, you have to write equation~\eqref{eq:euler}. Cleveref will auto detect the type of reference and you can simply type \cref{eq:euler}. To capitalize the reference name, just use \Cref{eq:euler}.

Link: Celveref
Usage: \usepackage{cleveref}


Varioref works in very much like cleveref. But it also makes a referece to which page the reference is on. It is very useful if you reference to something “far away” from you current position.



BibLaTeX is an replacement to the very old natbib. It replaces the natbib confusing cite commands with more informative ones. E.g. \citet{} is replaced by \textcite{} and \citep{} is replaced by \parencite{}. Besides that, BibLaTeX also provide easier customization of the bibliography style and smart options like backref which will make a reference from the bibliography to the citation. By default BibLaTeX will use biber to generate the bibliography. It has never worked for me. But you can tell change BibLaTeX to use BibTeX. Just set the option to backend=bibtex.

Here is an example of my setup:

backend=bibtex,      % use BibTeX or biber
url=false, isbn=false

Link: BibLaTeX
Usage: \usepackage[]{biblatex} \addbibresource[datatype=bibtex]{library.bib}

Note:*I have noted that sometimes BibLaTeX produces a overfull hbox warning. To fix this, add \emergencystretch=1em to your preamble.