TeX Live (including MacTeX) uses several distinct hierarchies of files ('
texmf trees'). The contents of the trees is managed and searched differently.
Although this can be customised differently, the chances are that you are using the default. In that case, the main 3 trees you have to think about will be the following.
The main distribution tree installed and updated by MacTeX/TeX Live Utility, usually at
YYYY is the year of the version of TeX Live you are using e.g.
- You should not alter the contents of the files in this tree. Nor should you add or remove files manually.
- The tree is managed by the tools provided to administer your installation of TeX. (TeX Live Utility or
The local tree which contains files installed locally and available to all users of the system, usually at
- This is probably best used for packages you download because TeX Live doesn't provide them, especially if you want them to be available for a while and generally or don't want to accidentally edit them, for example.
- When you install packages here, you need to update the file name database so that TeX can find them.
Your personal tree which contains files you install or write for your personal use, at
~/Library/texmf/ in your case.
- This is best used for cases where you make a renamed copy of a file to edit it or create your own files.
- The exception would be if you install a font package, when it would be better to use the local tree even for your own idiosyncratic creations. However, you don't need to worry about this if you are new to LaTeX because the creation of custom font packages is not something you are likely to tackle any time soon ;).
The styles you have been using are not in your personal tree because they are supplied by your TeX distribution and installed into the main, distribution tree.
To discover the location of a file or to determine which file TeX is using:
For example, on my system
which shows the file is in the main, distribution tree, whereas
<username> is my user name, which shows that the file is in my personal tree.
To discover the location of a tree, you can ask
kpsewhich for the value of the relevant variable.
kpsewhich -var TEXMFDIST ; kpsewhich -var TEXMFLOCAL ; kpsewhich -var TEXMFHOME
on my system. On yours, the final result will presumably give something equivalent to