dvitomp fix from Akira
[mplib] / src / texk / kpathsea / hier.texi
1 @ifclear version
2 @defcodeindex fl
3 @defcodeindex op
4 @end ifclear
5
6 @node TeX directory structure
7 @section @TeX{} directory structure
8
9 @vindex TEXMF
10 @cindex @TeX{} directory structure
11 @cindex directory structure, for @TeX{} files
12 @cindex skeleton @TeX{} directory
13 @cindex TDS
14
15 This section describes the default installation hierarchy of the
16 distribution.  It conforms to both the GNU coding standards and the
17 @TeX{} directory structure (TDS) standard.  For rationale and further
18 explanation, please see those documents.  The GNU standard is available
19 as @url{ftp://prep.ai.mit.edu/pub/gnu/standards/standards.texi} and
20 mirrors.  The TDS document is available from
21 @file{@var{CTAN:}/tex-archive/tds} (@pxref{unixtex.ftp}).
22
23 You can change the default paths in many ways (@pxref{Changing search
24 paths}).  One common desire is to put everything (binaries and all)
25 under a single top-level directory such as @file{/usr/local/texmf} or
26 @file{/opt/texmf}---in the terms used below, make @var{prefix} and
27 @var{texmf} the same.  For specific instructions on doing that,
28 see @ref{configure scenarios}.
29
30 Here is a skeleton of the default directory structure, extracted from
31 the TDS document:
32
33 @example
34 @var{prefix}/      @r{installation root (@file{/usr/local} by default)}
35  bin/         @r{executables}
36  man/         @r{man pages}
37  include/     @r{C header files}
38  info/        @r{GNU info files}
39  lib/         @r{libraries (@file{libkpathsea.*})}
40  share/       @r{architecture-independent files}
41   texmf/      @r{TDS root}
42    bibtex/     @r{Bib@TeX{} input files}
43     bib/        @r{Bib@TeX{} databases}
44      base/       @r{base distribution (e.g., @samp{xampl.bib})}
45      misc/       @r{single-file databases}
46      @var{pkg}/       @r{name of a package}
47     bst/        @r{Bib@TeX{} style files}
48      base/       @r{base distribution (e.g., @samp{plain.bst}, @samp{acm.bst})}
49      misc/       @r{single-file styles}
50      @var{pkg}/       @r{name of a package}
51    doc/         @r{additional documentation}
52    dvips/       @r{@samp{.pro}, @samp{.ps}, @samp{psfonts.map}}
53    fonts/       @r{font-related files}
54     @var{type}/         @r{file type (e.g., @samp{tfm}, @samp{pk})}
55      @var{mode}/          @r{type of output device (types @samp{pk} and @samp{gf} only)}
56       @var{supplier}/       @r{name of a font supplier (e.g., @samp{public})}
57        @var{typeface}/        @r{name of a typeface (e.g., @samp{cm})}
58         dpi@var{nnn}/           @r{font resolution (types @samp{pk} and @samp{gf} only)}
59    metafont/    @r{Metafont (non-font) input files}
60     base/        @r{base distribution (e.g., @samp{plain.mf})}
61     misc/        @r{single-file packages (e.g., @samp{modes.mf})}
62     @var{pkg}/           @r{name of a package (e.g., @samp{mfpic})}
63    metapost/    @r{MetaPost input files}
64     base/        @r{base distribution (e.g., @samp{plain.mp})}
65     misc/        @r{single-file packages}
66     @var{pkg}/           @r{name of a package}
67     support/     @r{support files for MetaPost-related utilities (e.g., @samp{trfonts.map})}
68    mft/         @r{@samp{MFT} inputs (e.g., @samp{plain.mft})}
69    tex/         @r{@TeX{} input files}
70     @var{format}/         @r{name of a format (e.g., @samp{plain})}
71      base/        @r{base distribution for @var{format} (e.g., @samp{plain.tex})}
72      misc/        @r{single-file packages (e.g., @samp{webmac.tex})}
73      local/       @r{local additions to or local configuration files for @var{format}}
74      @var{pkg}/           @r{name of a package (e.g., @samp{graphics}, @samp{mfnfss})}
75     generic/     @r{format-independent packages}
76      hyphen/      @r{hyphenation patterns (e.g., @samp{hyphen.tex})}
77      images/      @r{image input files (e.g., Encapsulated PostScript)}
78      misc/        @r{single-file format-independent packages (e.g., @samp{null.tex}).}
79      @var{pkg}/           @r{name of a package (e.g., @samp{babel})}
80    web2c/        @r{implementation-dependent files (@file{.pool}, @file{.fmt}, @file{texmf.cnf}, etc.)}
81 @end example
82
83 Some concrete examples for most file types:
84
85 @example
86 /usr/local/bin/tex
87 /usr/local/man/man1/xdvi.1
88 /usr/local/info/kpathsea.info
89 /usr/local/lib/libkpathsea.a
90 /usr/local/share/texmf/bibtex/bst/base/plain.bst
91 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
92 /usr/local/share/texmf/fonts/source/public/pandora/pnr10.mf
93 /usr/local/share/texmf/fonts/tfm/public/cm/cmr10.tfm
94 /usr/local/share/texmf/fonts/type1/adobe/utopia/putr.pfa
95 /usr/local/share/texmf/metafont/base/plain.mf
96 /usr/local/share/texmf/metapost/base/plain.mp
97 /usr/local/share/texmf/tex/plain/base/plain.tex
98 /usr/local/share/texmf/tex/generic/hyphen/hyphen.tex
99 /usr/local/share/texmf/web2c/tex.pool
100 /usr/local/share/texmf/web2c/tex.fmt
101 /usr/local/share/texmf/web2c/texmf.cnf
102 @end example