In the process of coming up with the archaeological catalogue from CSV solution which you all seem to have loved, I had a realization: There are some packages which are just ‘magic’ in that they can make your life so much easier in just an instant. That is, if you know about them. So I decided to come up with a top 5 which reflect my own preferences because, ultimately, this choice is pretty personal. I researched some blogposts and online resources as well as checking in with the Twitter #TeXLaTeX
community. I summarized the results of this extensive search in the following post 😉
So why did I choose the topic of today’s post? I think the answer is very close to the overall purpose of this blog: There are lots of great resources on LaTeX on the internet, almost unlimited amounts of documentation – but how is a newbie supposed to know which information to read first or which one is even relevant in the first place?
I web-searched “best latex packages” and will sum up a few of the results in the Resources section. However, I felt that many just note really well-known packages which are necessary (like amsmath
) but not necessarily packages people don’t know about. In a listicle like that I’m expecting to be surprised or learn something new, not to be served the same old packages I already knew about.
What I will and will not mention
Many listicles on “best latex packages” mention pgfplots
or tikz
. These packages are great if you need graphics and illustrations, of course, but they also have a steep learning curve for beginners. Totally do learn them, they’re important advanced LaTeX skills! But here I only wanted to mention “magic” packages, i.e. those which will give you great results with hardly any code and hardly any previous skill required. Thus, obviously, tikz
is off the table in today’s post. Also, I think microtype
(which was highly recommended for this list in the Twitter poll) falls into the same category – you need to understand typesetting to use it with the greatest possible benefit (but here’s a short intro).
My top 5 magic LaTeX packages which will spare you lots of work with little code
The following top 5 listicle is made up of my personal choice of favourites but actually, I did a little poll on Twitter and the responses were quite varied, so I’ll just link the thread here (and many of them ended up as honourable mentions in this post).
1) Code listings with minted
This is a no brainer really. Let’s you create beautiful code listings in no time. A life-savour if you ever need code listings!
They’re also easy to customize if you want. But most importantly, they have nice syntax hightlighting for basically any language you might want.
2) Quickly typesetting the contents of a whole spreadsheet using csvsimple
You can read up on a real-life example (including an Overleaf template to try it out) in LaTeX for Archaeologists: An archaeological catalogue from a spreadsheet. It will be easier to achieve this if you know how to write your own command (tutorial to follow some day) but it also works sufficiently well if you don’t.
3) Using icons with fontawesome
This is maybe unique to me but I think my LaTeX life got a lot better since I learned about how to add icons using fontawesome
. It’s super simple and playful and I love it.
4) Making multiple indices with imakeidx
Well, maybe not everybody cares about these things. But being in the Humanities, I can of do 😉 You can read more about how to actually do this here (specifically this answer).
5) TikZ \foreach
To keep things simple, I decided to go with Tikz’s \foreach
command (which isn’t exactly a package but since TikZ requires a lot of learning, I didn’t want to call the whole package ‘magic’ because there isn’t necessarily any instant success). You can learn about how it works here – but it’s essentially just a for each loop which can come in very handy to know about!
Honourable mentions
After my personal top 5, I wanted to mention all the many suggestions I received from the LaTeX pros in my Twitter bubble, so here go the honourable mentions!
enumitem
can be used to customize the look of your listings (enumerate
anditemize
). For example you can change the spacing or insert symbols as the labels foritemize
.fancyhdr
: It’s the go-to package for taking control of your headers and footers (see my tutorial on some fancy/advanced uses of those).array
allows you to take control of your tables.- For getting into
tikz
, I warmly recommendtikzducks
😀 It allows you to put rubber ducks in your documents and who doesn’t need that? siunitx
for scientific writing.- Also the LaTeX template generator has a similar goal as this post: it collects optimal settings for the most popular packages!
- For the LaTeX 3 lovers amongst you:
expl3
(documentation). fnpct
for managing the interaction of footnotes and punctuation.- mathtools, etoolbox, xparse, booktabs, grffile, calc, polyglossia.
tabularray
mindflow
was also suggested post-publication of this post 😉 (–> check it out)etoolbox
was highly recommended and mentioned many times by some LaTeX Gurus – however, since it’s more for package authors, I think it’s kind of complicated for somebody just wanting to get a quick result.datatool
(example)
Also, as a last thing, I wanted to mention the following packages (which also frequently came up on Twitter) which you should know but which I’d rather consider basic things to know about (rather than really “magic” packages): geometry
, graphicx
, amsmath
, hyperref
, xcolor
, babel
, fontspec
, newunicodechar
, babel
, biblatex
, csquotes
etc. If you didn’t know about those yet, you might want to read up on them now 🙂
Ok, so this is it for today – I hope you enjoyed this post!
Best and see you soon!
Resources
- http://blog.analogmachine.org/2011/05/16/top-10-latex-packages
- Top 10 LaTeX packages for academic writing: mentions
microtype
,booktabs
,savetrees
(I wasn’t aware of this one but will definitely try it out when the next conference paper deadline comes knocking!) - https://nhigham.com/2020/06/18/six-useful-latex-packages/
- https://jonasdevlieghere.com/latex-packages-i-wish-i-knew/
Buy me coffee!
If my content has helped you, donate 3€ to buy me coffee. Thanks a lot, I appreciate it!
€3.00