LinuxWindows

Where Does TeX Live Store Packages and Macros?

Where TeX Live installs packages and where personal macros belong.

Last updated

TeX Live layers texmf trees: the versioned install dir holds the distribution, texmf-local keeps admin additions across yearly upgrades, and TEXMFHOME takes personal macros. Run tlmgr conf to print every mapping for your install.

Yearly releases install side by side under /usr/local/texlive or C:\texlive, which is why the year rides in paths. Personal trees survive upgrades untouched, while the distribution trees get replaced. Follow the directory structure or files go unfound.

Where TeX Live stores this, by platform

Linux
/usr/local/texlive/<year>/

Year versioned install root with texmf-dist, texmf-local and binaries. Personal macros belong in ~/texmf, not here. Query live values with tlmgr conf and kpsewhich. Keep custom classes out of the release tree.

Windows
%USERPROFILE%\texmf\

Same TEXMFHOME convention on Windows under the user profile. Default TEXDIR is C:\texlive\<year>. Avoid non ASCII home paths on Windows, which the guide flags as unsupported.

Frequently asked questions

Where do I put my own .sty files?

Run tlmgr conf and read the TEXMFHOME line. Defaults are ~/texmf on Unix, ~/Library/texmf on Mac and %USERPROFILE%\texmf on Windows. Create tex\latex children following the standard structure.

How do I find the real paths on my machine?

Run kpsewhich with var-value for the tree name. The guide documents this as the way to resolve TEXMFLOCAL, TEXMFHOME and friends on any install instead of guessing year versioned paths.

Notice an outdated path? Let us know.