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/and for modern systems (those distributed in 2005 or later, using TDS v1.1 layouts):
/ / .mf: $TEXMF/fonts/source/ // .tfm: $TEXMF/fonts/tfm/ // .vf: $TEXMF/fonts/vf/ // .afm: $TEXMF/fonts/afm/ // .pfb: $TEXMF/fonts/type1/ // .ttf: $TEXMF/fonts/truetype/ // .otf: $TEXMF/fonts/opentype/ // .pool, .fmt, .base or .mem: $TEXMF/web2c
.map: $TEXMF/fonts/map/(Map and encoding files went to directories under $TEXMF/dvips/, in earlier distributions.)
/ / .enc: $TEXMF/fonts/enc/ / /
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
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
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 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.