@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