Martin Isaksson

### Tags

In academic writing with LaTeX there are a lot of things that can be frustrating to the author. For many of these things there exists many packages that can help alleviate this frustration, but it is hard to find them. In this post I list 10 of my favorite packages to help remove some of this frustation, and make your papers look nicer so that you have a higher probability of getting your paper accepted. Hopefully.

## Introduction

At the time of writing, The Comprehensive TEX Archive Network (CTAN) has 5841 packages. Many of these are used very often, such as amsmath, graphics and xcolor (Cormode et al., 2012), and some are not used enough. This post is a list of packages that I find very useful in academic writing, but yet I don’t see them being used enough. And a blog isn’t really a blog without a top ten list, I guess.

Without further ado, in alphabetical order, here are 10 useful LaTeX packages for your writing pleasure.

## Packages

The adjustbox package (Scharrer, 2012) allows scaling of a figure or plot, for example one made in TikZ.

Here is an example from a real paper, slightly edited for clarity.

### balance or flushend

The two columns on the last page of a two-column paper should be the same length. This package saves you from having to balance the columns manually (Daly, 1999).

Simply add \balance in the first column of the last page, and you’re done! Some users like the flushend package better as this doesn’t require adding anything on the last page.

No column balancing.
With balance.
With flushend.
Examples with and without column balancing using the 2019 SysML LaTeX template example.

### booktabs

Simply put, booktabs (Fear, 2020) makes your tables look good!

Booktabs example.

### cleveref

Using the cleveref package (Cubitt, 2012), we can refer to figure, tables etc without specificing the type. See~\cref{tbl:mytable} produces “See table 1”.

The result is configurable, and we can for example change the figure type name with \crefname{figure}{Fig.}{Fig.}, where the first Fig. is the singular form and the second is the plural form.

### glossaries-extra

Using the package glossaries-extra we can add a list of terms and a list of acronyms to our document (Talbot, 2016; Talbot, 2018). It is also very useful for making sure that acronyms are written out the first time they are used.

We can then use \gls{gcd} whenever we need to use this acronym. See Glossaries on Overleaf for more examples.

### microtype

Text typeset in LaTeX already looks great, but can be made even nicer with microtype (Schlicht, 2019). Looking deeper at the micro-typographics extensions provided by microtype is a great way to ensure getting trapped in a rabbit hole for a long time. Here are the settings I use, borrowed from the excellent post Tips on Writing a Thesis in LaTeX (Khirevich, n.d.).

Without microtype.
With microtype.
Examples with and without microtype. Examples were compiled with pdfLaTeX in TeX Live 2019.

### pgfplots

Example figure produced with this method.

See Publication ready figures for a longer post on the pgfplots package (Feuersänger, 2014).

### savetrees

savetrees (Pakin, 2007) is magic. It is highly useful when you are approaching a conference deadline and you have one page over the conference limit. Using the subtle mode, we can preserve the document layout and try to make LaTeX pack text tighter.

Without savetrees.
With subtle savetrees.
With moderate savetrees.
With extreme savetrees.
Examples with various degrees of savetrees. The examples were compiled using pdfLaTeX from TeX Live 2019.

### siunitx

Typesetting numbers with units is actually not trivial. siunitx (Wright, 2009) adds, among others, the commands \SI and \num so that we can write \SI{1024}{\byte} or \num{{}e5}, which makes things look much nicer.

### tikz

TikZ and PGF (Feuersänger et al., 2014) are packages for programatically creating figures, and deserve a longer writeup.

TikZ figure example from a recent paper.

See more examples of TikZ figures on TeXample.net.

## Conclusion

There are probably more top ten lists of LaTeX packages than there are packages, and here’s another one. Hope you enjoyed it!

What are your favorite packages? Comment below!

## References

1. Cormode, G., Muthukrishnan, S., & Yan, J. (2012). Scienceography: The study of how science is written. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 7288 LNCS, 379–391. https://doi.org/10.1007/978-3-642-30347-0_37
3. Daly, P. W. (1999). Balancing the Two Columns of Text on the Last Page. 3–4. https://www.ctan.org/pkg/balance
4. Fear, S. (2020). Publication quality tables in LaTeX. 1–18. https://ctan.org/pkg/booktabs
5. Cubitt, T. (2012). The cleveref package. Sort, 1–28. https://www.ctan.org/pkg/cleveref
6. Talbot, N. L. C. (2016). User Manual for glossaries. 1–240.
7. Talbot, N. L. C. (2018). Glossaries-Extra : an Extension To the Glossaries Package. 1–201.
8. Schlicht, R. (2019). Microtype. 1–249. https://ctan.org/pkg/microtype
9. Khirevich, S. Tips on Writing a Thesis in LaTeX. Retrieved May 3, 2020, from http://www.khirevich.com/latex/microtype/
10. Feuersänger, C. (2014). Manual for Plotting Package pgfplots. 1–500. https://ctan.org/pkg/pgfplots
11. Pakin, S. (2007). The savetrees package. 1–25. https://www.ctan.org/pkg/savetrees
12. Wright, J. (2009). siunitx — A comprehensive ( SI ) units package. System, 1–60. https://www.ctan.org/pkg/siunitx
13. Feuersänger, C., Menke, H., & Tantau, T. (2014). TikZ & PGF manual. https://www.ctan.org/pkg/pgf

## Suggested citation

If you would like to cite this work, here is a suggested citation in BibTeX format.