Basics

/0(






$

Basics

Contents
6Subdirectory Searching
+Constraints
0Rooting the Tree
5Top Level Directories
<

Subdirectory Searching



?Many TeX installations currently store large numbers of related|files in single directories. Frequently, for example, all TFM files go in a single directory and most, if not all,@TeX input files (LaTeX style files, Plain TeX macro files, etc.)go in another single directory.

=This monolithic arrangement makes maintenance of a TeX system>difficult: it is difficult to determine what files are used byCwhich packages, what files need to be updated when a new version isCinstalled, or what files should be deleted if a package is removed.9It can also be the source of catastrophic error if two or<more packages happen to have input files with the same name.

3Therefore, the TWG felt each package should be in aAseparate directory. But we recognized that explicitly listing allDdirectories to be searched would be unbearable. There are dozens of0packages a site may wish to install. Aside fromEanything else, listing that many directories would lead to paths manyEthousands of characters long, overflowing the available space on somesystems.

FAlso, if all directories are explicitly listed, installing or removingAa new package would mean changing a path as well as installing or>removing the actual files. This would be a time-consuming andBerror-prone operation, even with implementations that provide some=ability to specify the directories to search at runtime (in a#TEXINPUTS environment variable or aEsystem configuration file, for example). On systems without any form6of runtime configuration, it would require recompiling software, an intolerable burden.

@As a result, the TWG concluded that a comprehensive TDS requiredKthat implementations of TeX must support some form of implicit subdirectoryDsearching. In other words, it must be possible to specify that TeX,BMETAFONT, and their companion utilities search in both a specified7directory and recursively through all subdirectories of.that directory when looking for an input file. We encourageDimplementors to provide subdirectory searching (at the option of the"installer and user) for all paths.

>The TDS does not specify the order in which subdirectories areGdescended. It follows that two identically named files in a search path8leads to ambiguity. The TDS does not define which one isAfound. In order to resolve this ambiguity, a search path must beBspecified that lists the respective subtrees in the desired searchorder.

:The TDS does not specify a syntax for specifying recursiveDsearching, but we encourage implementors to provide interoperabilityƒwherever possible. See Section A.4, Subdirectory Searching Syntax for a list.