tds: Extensions
3.1.1 Extensions
----------------
TeX has spawned many companion and successor programs ("engines"), such
as PDFTeX, Omega, and others. The TDS specifies that the input files
for such programs (using a TeX-like syntax) be placed within the
top-level `tex' directory, either at the top level or within a format
subdirectory, even though the original TeX program may not be able to
read them. For example:
texmf/tex/aleph
texmf/tex/enctex
This is a change from TDS 1.0, which specified top-level `EXTENSION'
directories for each such program. We felt the new approach is
preferable, because:
* Authors of relevant packages typically make their code detect the
engine being used, and issue error messages or adapt to
circumstances appropriately. Furthermore, as a package matures,
it may support multiple engines. Thus, a package could
conceivably be placed in any of several top-level directories, at
different times. Putting all packages under the top-level `tex'
directory provides a stable location over time.
* Users need to be able to switch between engines, and configuring
different search paths for each engine is difficult and
error-prone.
Thus, in practice, having different top-level directories caused
difficulties for everyone involved--users, package authors, site
administrators, and system distributors.
Please contrast this approach with the `IMPLEMENTATION' top-level
subdirectory (Section ⇒Top-level directories), which is to be
used for configuration files that (presumably) do not use TeX syntax
and in any case should not be found along the main TeX input search
path.