I use these packages in every \(\LaTeX\) document that I write, no matter what.

  1. fancyhdr - provides tools for constructing headers and footers with all kinds of customizable options
  2. geometry - changes page dimensions and removes the unnecessarily large default margins
  3. hyperref - support for external hyperlinks and internal document references
  4. mathtools - an extension that internally loads the amsmath package along with various fixes and improvements
  5. parskip - allows for zero \parindent and nonzero \parskip, which makes for much more readable documents

Other Useful Packages

Things that I use more often than not, but it really depends on the type and scale of the document that I’m working on.

  1. amssymb - provides an extended symbol collection as a superset of amsfonts that includes some more obscure symbols
    • amsfonts is included and loads things like \mathbb for characters like \(\mathbb{R}\)
    • If the heirarchy of ams packages is confusing, check this thread out
  2. amsthm - enhanced version of \(\LaTeX\)’s \newtheorem command for defining customizable theorem-like environments
  3. biblatex - works in tandem with a .bib file to compile references
  4. bm - bold symbols in math mode that are safer than those from \boldsymbol
  5. booktabs - improves the look of tables
  6. cancel - places lines through cancelled terms in math equations
  7. caption - customized captions in figure and table environments, I like my caption headings bolded for readability
  8. enumitem - provides additional numbering and structuring control over the enumerate, itemize, and description environments
  9. float - sometimes necessary for the placement of stubborn figures and tables
  10. graphicx - allows for graphics, images, etc. to be added
  11. mathrsfs - provides the \mathscr command for formal uppercase script letters like \(\mathscr{P}\)
    • The internal \(\LaTeX\) script letters from \mathcal look like \(\mathcal{P}\)
  12. minted - syntax highlighting for all sorts of source code using the Pygments library
  13. multicol - can be used to have multiple columns of text, I primarily use it for 2-column lists
  14. pgfplots - draws high-quality function plots in normal or logarithmic scaling with a user-friendly interface
  15. physics - a somewhat controversial package that includes several macros for derivatives, linear algebra, and vector calculus
    • I find the features included in this package extremely useful and concise, but many people point out that it abuses xparse: see this thread for more details
    • I’ve never had any issues with this package despite using it alongside all kinds of things, so I don’t buy the hate
  16. siunitx - a comprehensive SI unit package that includes macros for scientific notation
  17. tcolorbox - nicely formatted and customizable boxes for examples and worked problems
  18. tikz - adds support for native diagram and graph creation