UK TeX FAQ -- question label install-where

### Where to install packages

We assume here that you have decided what tree to put your files in, after reading “choosing a TDS tree”. We will therefore write `$TEXMF` for it, and you need to substitute the tree you decided on.

The basic idea is to imitate the directory structure in your existing tree(s). Here are some examples of where various sorts of files should go:

    .sty, .cls or .fd: $TEXMF/tex/<format>/<package>/
    .mf:   $TEXMF/fonts/source/<supplier>/<font>/
    .tfm:  $TEXMF/fonts/tfm/<supplier>/<font>/
    .vf:   $TEXMF/fonts/vf/<supplier>/<font>/
    .afm:  $TEXMF/fonts/afm/<supplier>/<font>/
    .pfb:  $TEXMF/fonts/type1/<supplier>/<font>/
    .ttf:  $TEXMF/fonts/truetype/<supplier>/<font>/
    .otf:  $TEXMF/fonts/opentype/<supplier>/<font>/
    .pool, .fmt, .base or .mem: $TEXMF/web2c

and for modern systems (those distributed in 2005 or later, using TDS v1.1 layouts):

    .map:  $TEXMF/fonts/map/<syntax>/<bundle>/
    .enc:  $TEXMF/fonts/enc/<syntax>/<bundle>/

(Map and encoding files went to directories under $TEXMF/dvips/, in earlier distributions.)

In the lists above <format> identifies the format the macros are designed for — it can be things such as `plain`, `generic` (i.e., any format), `latex` or `context` (or several less common formats).

For fonts, <font> refers to the font family (such as `cm` for Knuth’s Computer Modern, `times` for Adobe’s Times Roman). The supplier is usually obvious — the supplier “public” is commonly used for free fonts.

The <syntax> (for `.map` and `.enc` files) is a categorisation based on the way the files are written; candidates are names of programs such as dvips or pdftex.

“Straight” (La)TeX input can take other forms than the `.sty`, `.cls` or `.fd` listed above, too (apart from the ‘obvious’ `.tex`). Examples are (the obvious) `.tex`, `.lfd` for babel language definitions, `.sto` and `.clo` for package and class options, `.cfg` for configuration information, `.def` for variants (such as the types of devices graphics drives). The README of the package should tell you of any others, though sometimes that information is printed when the package’s comments are stripped. All of these files should live together with the main package files.

Note that <font> may stand for a single font or an entire family: for example, files for all of Knuth’s Computer Modern fonts are to be found in `.../public/cm`, with various prefixes as appropriate.

The font “supplier” public is a sort of hold-all for “free fonts produced for use with (La)TeX”: as well as Knuth’s fonts, public’s directory holds fonts designed by others (originally, but no longer exclusively, in Metafont).

Documentation for each package should all go, undifferentiated, into a directory on the doc/ subtree of the TDS. The layout of the subtree is slightly different: doc/latex hosts all LaTeX documentation directories, but more fundamental things are covered, e.g., by doc/etex or doc/xetex.

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=install-where