## Essentials

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

`fancyhdr`

- provides tools for constructing headers and footers with all kinds of customizable options`geometry`

- changes page dimensions and removes the unnecessarily large default margins`hyperref`

- support for external hyperlinks and internal document references`mathtools`

- an extension that internally loads the`amsmath`

package along with various fixes and improvements`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.

`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

`amsthm`

- enhanced version of \(\LaTeX\)’s`\newtheorem`

command for defining customizable theorem-like environments`biblatex`

- works in tandem with a`.bib`

file to compile references`bm`

- bold symbols in math mode that are safer than those from`\boldsymbol`

`booktabs`

- improves the look of tables`cancel`

- places lines through cancelled terms in math equations`caption`

- customized captions in figure and table environments, I like my caption headings**bolded**for readability`enumitem`

- provides additional numbering and structuring control over the enumerate, itemize, and description environments`float`

- sometimes necessary for the placement of stubborn figures and tables`graphicx`

- allows for graphics, images, etc. to be added`mathrsfs`

- provides the`\mathscr`

command for formal uppercase script letters like \(\mathscr{P}\)- The internal \(\LaTeX\) script letters from
`\mathcal`

look like \(\mathcal{P}\)

- The internal \(\LaTeX\) script letters from
`minted`

- syntax highlighting for all sorts of source code using the Pygments library`multicol`

- can be used to have multiple columns of text, I primarily use it for 2-column lists`pgfplots`

- draws high-quality function plots in normal or logarithmic scaling with a user-friendly interface`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

- I find the features included in this package extremely useful and concise, but many people point out that it abuses
`siunitx`

- a comprehensive SI unit package that includes macros for scientific notation`tcolorbox`

- nicely formatted and customizable boxes for examples and worked problems`tikz`

- adds support for native diagram and graph creation