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
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
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
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
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
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).
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!
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!
enumitemcan be used to customize the look of your listings (
itemize). For example you can change the spacing or insert symbols as the labels for
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).
arrayallows 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?
siunitxfor 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:
fnpctfor managing the interaction of footnotes and punctuation.
- mathtools, etoolbox, xparse, booktabs, grffile, calc, polyglossia.
mindflowwas also suggested post-publication of this post 😉 (–> check it out)
etoolboxwas 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.
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):
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!
- Top 10 LaTeX packages for academic writing: mentions
savetrees(I wasn’t aware of this one but will definitely try it out when the next conference paper deadline comes knocking!)
Buy me coffee!
If my content has helped you, donate 3€ to buy me coffee. Thanks a lot, I appreciate it!