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
generic (i.e., any format),
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
enc files) is a categorisation based on the way the files are written; candidates are names of programs such as
« Straight » (La)TeX input can take other forms than the
fd listed above, too (apart from the “obvious”
tex). Examples are (the obvious)
lfd for Babel language definitions,
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