tds: Macros
3.1 Macros
==========
TeX macro files shall be stored in separate directories, segregated by
TeX format and package name (we use `format' in its traditional TeX
sense to mean a usefully `\dump'-able package):
texmf/tex/FORMAT/PACKAGE/
* `FORMAT' is a format name (examples: `amstex', `latex', `plain',
`texinfo').
The TDS allows distributions that can be used as either formats or
packages (e.g., Texinfo, Eplain) to be stored at either level, at
the option of the format author or TeX administrator. We recommend
that packages used as formats at a particular site be stored at the
`FORMAT' level: by adjusting the TeX inputs search path, it will
be straightforward to use them as macro packages under another
format, whereas placing them in another tree completely obscures
their use as a format.
The TDS reserves the following `FORMAT' names:
* `generic', for input files that are useful across a wide
range of formats (examples: `null.tex', `path.sty').
Generally, this means any format that uses the category codes
of Plain TeX and does not rely on any particular format.
This is in contrast to those files which are useful only with
Plain TeX (which go under `texmf/tex/plain'), e.g.,
`testfont.tex' and `plain.tex' itself.
* `local', for local additions. See Section ⇒Local
additions.
Thus, for almost every format, it is necessary to search at least
the `FORMAT' directory and then the `generic' directory (in that
order). Other directories may need to be searched as well,
depending on the format. When using AMS-TeX, for example, the
`amstex', `plain', and `generic' directories should be searched,
because AMS-TeX is compatible with Plain.
* `PACKAGE' is a TeX package name (examples: `babel', `texdraw').
In the case where a format consists of only a single file and has
no auxiliary packages, that file can simply be placed in the
`FORMAT' directory, instead of `FORMAT/base'. For example,
Texinfo may go in `texmf/tex/texinfo/texinfo.tex', not
`texmf/tex/texinfo/base/texinfo.tex'.
The TDS reserves the following `PACKAGE' names:
* `base', for the base distribution of each format, including
files used by INITEX when dumping format files. For example,
in the standard LaTeX distribution, the `ltx' files created
during the build process. Another example: the `.ini' driver
files for formats used by TeX Live and other distributions.
* `hyphen', for hyphenation patterns, including the original
American English `hyphen.tex'. These are typically used only
by INITEX. In most situations, this directory need exist
only under the `generic' format.
* `images', for image input files, such as Encapsulated
PostScript figures. Although it is somewhat non-intuitive for
these to be under a directory named `tex', TeX needs to read
these files to glean bounding box or other information. A
mechanism for sharing image inputs between TeX and other
typesetting programs (e.g., Interleaf, FrameMaker) is beyond
the scope of the TDS. In most situations, this directory need
exist only under the `generic' format.
* `local', for local additions and configuration files. See
Section ⇒Local additions.
* `misc', for packages that consist of a single file. An
administrator or package maintainer may create directories for
single-file packages at their discretion, instead of using
`misc'.
Menu