Top 5 magic LaTeX packages you didn’t know about

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 and itemize). For example you can change the spacing or insert symbols as the labels for itemize.
  • 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 recommend tikzducks 😀 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

  1. http://blog.analogmachine.org/2011/05/16/top-10-latex-packages
  2. 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!)
  3. https://nhigham.com/2020/06/18/six-useful-latex-packages/
  4. 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

I like LaTeX, the Humanities and the Digital Humanities. Here I post tutorials and other adventures.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.