@ifclear version
@defcodeindex fl
@defcodeindex op
@end ifclear
@node TeX directory structure
@section @TeX{} directory structure
@vindex TEXMF
@cindex @TeX{} directory structure
@cindex directory structure, for @TeX{} files
@cindex skeleton @TeX{} directory
@cindex TDS
This section describes the default installation hierarchy of the
distribution. It conforms to both the GNU coding standards and the
@TeX{} directory structure (TDS) standard. For rationale and further
explanation, please see those documents. The GNU standard is available
as @url{ftp://prep.ai.mit.edu/pub/gnu/standards/standards.texi} and
mirrors. The TDS document is available from
@file{@var{CTAN:}/tex-archive/tds} (@pxref{unixtex.ftp}).
You can change the default paths in many ways (@pxref{Changing search
paths}). One common desire is to put everything (binaries and all)
under a single top-level directory such as @file{/usr/local/texmf} or
@file{/opt/texmf}---in the terms used below, make @var{prefix} and
@var{texmf} the same. For specific instructions on doing that,
see @ref{configure scenarios}.
Here is a skeleton of the default directory structure, extracted from
the TDS document:
@example
@var{prefix}/ @r{installation root (@file{/usr/local} by default)}
bin/ @r{executables}
man/ @r{man pages}
include/ @r{C header files}
info/ @r{GNU info files}
lib/ @r{libraries (@file{libkpathsea.*})}
share/ @r{architecture-independent files}
texmf/ @r{TDS root}
bibtex/ @r{Bib@TeX{} input files}
bib/ @r{Bib@TeX{} databases}
base/ @r{base distribution (e.g., @samp{xampl.bib})}
misc/ @r{single-file databases}
@var{pkg}/ @r{name of a package}
bst/ @r{Bib@TeX{} style files}
base/ @r{base distribution (e.g., @samp{plain.bst}, @samp{acm.bst})}
misc/ @r{single-file styles}
@var{pkg}/ @r{name of a package}
doc/ @r{additional documentation}
dvips/ @r{@samp{.pro}, @samp{.ps}, @samp{psfonts.map}}
fonts/ @r{font-related files}
@var{type}/ @r{file type (e.g., @samp{tfm}, @samp{pk})}
@var{mode}/ @r{type of output device (types @samp{pk} and @samp{gf} only)}
@var{supplier}/ @r{name of a font supplier (e.g., @samp{public})}
@var{typeface}/ @r{name of a typeface (e.g., @samp{cm})}
dpi@var{nnn}/ @r{font resolution (types @samp{pk} and @samp{gf} only)}
metafont/ @r{Metafont (non-font) input files}
base/ @r{base distribution (e.g., @samp{plain.mf})}
misc/ @r{single-file packages (e.g., @samp{modes.mf})}
@var{pkg}/ @r{name of a package (e.g., @samp{mfpic})}
metapost/ @r{MetaPost input files}
base/ @r{base distribution (e.g., @samp{plain.mp})}
misc/ @r{single-file packages}
@var{pkg}/ @r{name of a package}
support/ @r{support files for MetaPost-related utilities (e.g., @samp{trfonts.map})}
mft/ @r{@samp{MFT} inputs (e.g., @samp{plain.mft})}
tex/ @r{@TeX{} input files}
@var{format}/ @r{name of a format (e.g., @samp{plain})}
base/ @r{base distribution for @var{format} (e.g., @samp{plain.tex})}
misc/ @r{single-file packages (e.g., @samp{webmac.tex})}
local/ @r{local additions to or local configuration files for @var{format}}
@var{pkg}/ @r{name of a package (e.g., @samp{graphics}, @samp{mfnfss})}
generic/ @r{format-independent packages}
hyphen/ @r{hyphenation patterns (e.g., @samp{hyphen.tex})}
images/ @r{image input files (e.g., Encapsulated PostScript)}
misc/ @r{single-file format-independent packages (e.g., @samp{null.tex}).}
@var{pkg}/ @r{name of a package (e.g., @samp{babel})}
web2c/ @r{implementation-dependent files (@file{.pool}, @file{.fmt}, @file{texmf.cnf}, etc.)}
@end example
Some concrete examples for most file types:
@example
/usr/local/bin/tex
/usr/local/man/man1/xdvi.1
/usr/local/info/kpathsea.info
/usr/local/lib/libkpathsea.a
/usr/local/share/texmf/bibtex/bst/base/plain.bst
/usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
/usr/local/share/texmf/fonts/source/public/pandora/pnr10.mf
/usr/local/share/texmf/fonts/tfm/public/cm/cmr10.tfm
/usr/local/share/texmf/fonts/type1/adobe/utopia/putr.pfa
/usr/local/share/texmf/metafont/base/plain.mf
/usr/local/share/texmf/metapost/base/plain.mp
/usr/local/share/texmf/tex/plain/base/plain.tex
/usr/local/share/texmf/tex/generic/hyphen/hyphen.tex
/usr/local/share/texmf/web2c/tex.pool
/usr/local/share/texmf/web2c/tex.fmt
/usr/local/share/texmf/web2c/texmf.cnf
@end example
|