We assume here that you have decided what tree to put your files in,
“choosing a TDS tree”. We will therefore
$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
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
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
lfd for babel language
clo for package and class
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
.../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