Duplicate filenames
Different files by the same name may exist in a TDS tree. The
TDS leaves unspecified which of two files by the same name in a
search path will be found, so generally the only way to reliably find a
given file is for it to have a unique name. However, the TDS
requires implementations to support the following exceptions:
- Names of TEX input files must be unique within each given
first-level subdirectory of |texmf/tex| and
|texmf/tex/generic|, but not within all of |texmf/tex|; i.e.,
different TEX formats may have files by the same
name. (Section 3.1 discusses this further.)
Therefore, no single format-independent path specification, such as a
recursive search beginning at |texmf/tex| specifying no other
directories, suffices. So an implementation must provide
format-dependent path specifications, for example via wrapper scripts or
configuration files.
- Many font files will have the same name (e.g., |cmr10.pk|),
as discussed in Section 3.2.2. An implementation
must therefore distinguish these files by mode and resolution.
All implementations we know of already have these capabilities.
One place where duplicate names are likely to occur is not an exception:
- Names of METAFONT input files (as opposed to bitmap fonts) must be unique
within all of |texmf/fonts|. In practice, this is a problem with
those variants of Computer Modern which contain slightly modified files
named |punct.mf|, |romanl.mf|, and so on. We believe the only
feasible solution here is simply to rename the derivative files to be
unique.