4 % What follows is a super-summary of what this .cnf file can
5 % contain. Please read the Kpathsea manual for more information.
7 % texmf.cnf is generated from texmf.cnf.in, by replacing @var@ with the
8 % value of the Make variable `var', via a sed file texmf.sed, generated
9 % (once) by kpathsea/Makefile (itself generated from kpathsea/Makefile.in
12 % Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
13 % The `=' (and surrounding spaces) is optional.
14 % No % or @ in texmf.cnf.in, for the sake of autogeneration.
15 % (However, %'s and @'s can be edited into texmf.cnf or put in envvar values.)
16 % $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
18 % Earlier entries (in the same or another file) override later ones, and
19 % an environment variable foo overrides any texmf.cnf definition of foo.
21 % All definitions are read before anything is expanded, so you can use
22 % variables before they are defined.
24 % If a variable assignment is qualified with `.PROGRAM', it is ignored
25 % unless the current executable (last filename component of argv[0]) is
26 % named PROGRAM. This foo.PROGRAM construct is not recognized on the
27 % right-hand side. For environment variables, use FOO_PROGRAM.
29 % Which file formats use which paths for searches is described in the
30 % various programs' and the kpathsea documentation.
32 % // means to search subdirectories (recursively).
33 % A leading !! means to look only in the ls-R db, never on the disk.
34 % A leading/trailing/doubled ; in the paths will be expanded into the
35 % compile-time default. Probably not what you want.
37 % Part 1; Search paths and directories.
39 % You may wish to use one of the $SELFAUTO... variables here so TeX will
40 % find where to look dynamically. See the manual and the definition
43 % User texmf trees can be catered for like this...
46 % Now, list all the texmf trees. If you have multiple trees,
47 % use shell brace notation, like this:
48 % TEXMF = {$HOMETEXMF;!!$TEXMFLOCAL;!!$TEXMFMAIN}
50 TEXMFMAIN = $SELFAUTOPARENT/texmf
52 TEXMF = {$TEXMFLOCAL;!!$TEXMFMAIN}
54 % The system trees. These are the trees that are shared by all the users.
57 % Where generated fonts may be written. This tree is used when the sources
58 % were found in a system tree and either that tree wasn't writable, or the
59 % varfonts feature was enabled in MT_FEATURES in mktex.cnf.
60 VARTEXFONTS = /var/tmp/fonts
62 % Where to look for ls-R files. There need not be an ls-R in the
63 % directories in this path, but if there is one, Kpathsea will use it.
64 TEXMFDBS = $TEXMF;$VARTEXFONTS
66 % It may be convenient to define TEXMF like this:
67 % TEXMF = {$HOMETEXMF:!!$TEXMFLOCAL:!!$TEXMFMAIN:$HOME}
68 % which allows users to set up entire texmf trees, and tells TeX to
69 % look in places like ~/tex and ~/bibtex. If you do this, define TEXMFDBS
71 % TEXMFDBS = $HOMETEXMF:$TEXMFLOCAL:$TEXMFMAIN:$VARTEXFONTS
72 % or mktexlsr will generate an ls-R file for $HOME when called, which is
73 % rarely desirable. If you do this you'll want to define SYSTEXMF like
75 % SYSTEXMF = $TEXMFLOCAL:$TEXMFMAIN
76 % so that fonts from a user's tree won't escape into the global trees.
78 % On some systems, there will be a third system tree which contains all
79 % the font files that may be created as well as the formats. For
81 % VARTEXMF = /var/lib/texmf
82 % is used on many Linux systems. In this case, set VARTEXFONTS like this
83 % VARTEXFONTS = $VARTEXMF/fonts
84 % and do not mention it in TEXMFDBS (but _do_ mention VARTEXMF).
86 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
87 % Usually you will not need to edit any of the other variables in part 1. %
88 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90 % WEB2C is for Web2C specific files. The current directory may not be
91 % a good place to look for them.
94 % TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
95 % or \openin, including .sty, .eps, etc.
97 % LaTeX 2e specific macros are stored in latex.
98 % latex209 is not supported, at the request of the authors of LaTeX
99 TEXINPUTS.latex = .;$TEXMF/tex/{latex;generic;}//
101 % Fontinst needs to read afm files.
102 TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm//
105 TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo;plain;generic;}//
106 TEXINPUTS.amstex = .;$TEXMF/tex/{amstex;plain;generic;}//
109 TEXINPUTS.context = .;$TEXMF/tex/{context;plain;generic;}//
112 TEXINPUTS.omega = .;$TEXMF/{omega;tex}/{plain;generic;}/
113 TEXINPUTS.lambda = .;$TEXMF/{omega;tex}/{lambda;latex;generic;}//
116 TEXINPUTS.mltex = .;$TEXMF/{mltex;tex}/{plain;generic;}//
117 TEXINPUTS.mllatex = .;$TEXMF/{mltex;tex}/{latex;generic;}//
120 TEXINPUTS.elatex = .;$TEXMF/{etex;tex}/{latex;generic;}//
121 TEXINPUTS.etex = .;$TEXMF/{etex;tex}/{eplain;plain;generic;}//
124 TEXINPUTS.pdftexinfo = .;$TEXMF/{pdftex;tex}/{texinfo;generic;plain;}//
125 TEXINPUTS.pdftex = .;$TEXMF/{pdftex;tex}/{plain;generic;}//
126 TEXINPUTS.pdflatex = .;$TEXMF/{pdftex;tex}/{latex;generic;}//
128 % Fontinst needs to read afm files.
129 TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm//
131 % Plain. Have the command tex check all directories as a last
132 % resort, we may have plain-compatible stuff anywhere.
133 TEXINPUTS.tex = .;$TEXMF/tex/{plain;generic;}//
135 % INITEX. May as well make this separate so it can search on disk;
136 % initex is seldom run, and might be used directly after files have been
137 % added, when ls-R may not up be to date.
138 TEXINPUTS.initex = .;$TEXMFMAIN/tex//;$TEXMFLOCAL/tex//
140 % Earlier entries override later ones, so put this last.
141 TEXINPUTS = .;$TEXMF/tex//
143 % Dump files (fmt/base/mem) for vir{tex,mf,mp} to read (see
144 % web2c/INSTALL), and string pools (.pool) for ini{tex,mf,mp}. It is
145 % silly that we have six paths and directories here (they all resolve to
146 % a single place by default), but historically ...
147 TEXFORMATS = .;$TEXMF/web2c
154 % Metafont, MetaPost inputs.
155 MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts;$VARTEXFONTS}/source//
156 MPINPUTS = .;$TEXMF/metapost//
158 % Device-independent font metric files.
159 VFFONTS = .;$TEXMF/fonts/vf//
160 TFMFONTS = .;$TEXMF/fonts/tfm//;$VARTEXFONTS/tfm//
162 % The $MAKETEX_MODE below means the drivers will not use a cx font when
163 % the mode is ricoh. If no mode is explicitly specified, kpse_prog_init
164 % sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual.
165 PKFONTS = .;{$TEXMF/fonts;$VARTEXFONTS}/pk/{$MAKETEX_MODE;modeless}//
167 % Similarly for the GF format, which only remains in existence because
168 % Metafont outputs it (and MF isn't going to change).
169 GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE//
171 % A backup for PKFONTS and GFFONTS. Not used for anything.
172 GLYPHFONTS = .;$TEXMF/fonts
174 % For texfonts.map and included map files used by MakeTeXPK.
175 % See ftp://ftp.tug.org/tex/fontname.tar.gz.
176 TEXFONTMAPS = .;$TEXMF/fontname
178 % BibTeX bibliographies and style files.
179 BIBINPUTS = .;$TEXMF/bibtex/bib//
180 BSTINPUTS = .;$TEXMF/bibtex/bst//
183 MFTINPUTS = .;$TEXMF/mft//
185 % PostScript headers, prologues (.pro), encodings (.enc) and fonts.
186 TEXPSHEADERS = .;$TEXMF/dvips//;$TEXMF/pdftex//;$TEXMF/fonts/type1//
188 % PostScript Type 1 outline fonts.
189 T1FONTS = .;$TEXMF/fonts/type1//;$TEXMF/dvips//
192 TTFONTS = .;$TEXMF/fonts/truetype//
195 T42FONTS = .;$TEXMF/fonts/type42//
197 % PostScript AFM metric files.
198 AFMFONTS = .;$TEXMF/fonts/afm//
200 % Dvips' config.* files (this name should not start with `TEX'!).
201 TEXCONFIG = .;$TEXMF/dvips//
203 % Makeindex style (.ist) files.
204 INDEXSTYLE = .;$TEXMF/makeindex//
206 % Used by DMP (ditroff-to-mpx), called by makempx -troff.
207 TRFONTS = /usr/lib/font/devpost
208 MPSUPPORT = .;$TEXMF/metapost/support
210 % For xdvi to find mime.types and .mailcap, if they do not exist in
211 % $HOME. These are single directories, not paths.
212 % (But the default mime.types, at least, may well suffice.)
213 MIMELIBDIR = $TEXMFMAIN/etc
214 MAILCAPLIBDIR = $TEXMFMAIN/etc
216 XDVIINPUTS=.;$TEXMF/{xdvi,web2c}
218 TEX4HTINPUTS=.;$TEXMF/tex4ht//
220 % TeX documentation and source files, for use with kpsewhich.
222 TEXSOURCES = .;$TEXMF/source//
224 % Omega-related fonts and other files.
225 OFMFONTS = .;{$TEXMF/fonts;$VARTEXFONTS}/{ofm;tfm}//;$TFMFONTS
226 OPLFONTS = .;{$TEXMF/fonts;$VARTEXFONTS}/opl//
227 OVFFONTS = .;{$TEXMF/fonts;$VARTEXFONTS}/ovf//
228 OVPFONTS = .;{$TEXMF/fonts;$VARTEXFONTS}/ovp//
229 OTPINPUTS = .;$TEXMF/omega/otp//
230 OCPINPUTS = .;$TEXMF/omega/ocp//
232 % Where the support for the mktex scripts is found. A single directory,
234 MKTEXSCRIPT = $TEXMFMAIN/web2c
236 %% The mktex* scripts rely on KPSE_DOT. Do not change it.
239 % This definition isn't used from this .cnf file itself (that would be
240 % paradoxical), but the compile-time default in paths.h is built from it.
241 % The SELFAUTO* variables are set automatically from the location of
242 % argv[0], in kpse_set_progname.
244 % About the /. construction;
245 % 1) if the variable is undefined, we'd otherwise have an empty path
246 % element in the compile-time path. This is not meaningful.
247 % 2) if we used /$VARIABLE, we'd end up with // if VARIABLE is defined,
248 % which would search the entire world.
250 % The TETEXDIR stuff isn't likely to relevant unless you're using teTeX,
252 TEXMFCNF = .:{$SELFAUTOLOC:$SELFAUTODIR:$SELFAUTOPARENT}
253 {:{/share:}/texmf/web2c}:/.$TETEXDIR:/.$TEXMF/web2c:$TEXMF/web2c
255 % Part 2; Non-path options.
257 % Write .log/.dvi/etc. files here, if the current directory is unwritable.
260 % If a dynamic file creation fails, log the command to this file, in
261 % either the current directory or TEXMFOUTPUT. Set to the
262 % empty string or 0 to avoid logging.
263 MISSFONT_LOG = missfont.log
265 % Set to a colon-separated list of words specifying warnings to suppress.
266 % To suppress everything, use TEX_HUSH = all; this is equivalent to
267 % TEX_HUSH = checksum;lostchar;readable;special
270 % Enable system commands via \write18{...}?
273 % Allow TeX \openout on filenames starting with `.' (e.g., .rhosts)?
274 % a (any) : any file can be opened.
275 % r (restricted) : disallow opening "dotfiles".
276 % p (paranoid) : as 'r' and disallow going to parent directories, and
277 % restrict absolute paths to be under $TEXMFOUTPUT.
280 % Enable the mktex... scripts by default? These must be set to 0 or 1.
281 % Particular programs can and do override these settings, for example
282 % dvips's -M option. Your first chance to specify whether the scripts
283 % are invoked by default is at configure time.
285 % These values are ignored if the script names are changed; e.g., if you
286 % set DVIPSMAKEPK to `foo', what counts is the value of the environment
287 % variable/config value `FOO', not the `MKTEXPK' value.
294 % What MetaPost runs to make MPX files. This is passed an option -troff
295 % if MP is in troff mode. Set to `0' to disable this feature.
298 % Part 3; Array and other sizes for TeX (and Metafont and MetaPost).
300 % If you want to change some of these sizes only for a certain TeX
301 % variant, the usual dot notation works, e.g.,
302 % main_memory.hugetex = 20000000
304 % If a change here appears to be ignored, try redumping the format file.
306 % Memory. Must be less than 8,000,000.
308 % main_memory is relevant only to initex, extra_mem_* only to non-ini.
309 % Thus, have to redump the .fmt file after changing main_memory; to add
310 % to existing fmt files, increase the other. (To get an idea of how
311 % much, try \tracingstats=2 in your TeX source file;
312 % web2c/tests/memtest.tex might also be interesting.)
314 % To increase space for boxes (as might be needed by, e.g., PiCTeX),
317 % max length of input lines or control sequence names
321 % extra low memory for boxes, glue, breakpoints, etc.
324 % extra high memory for chars, tokens, etc.
327 % Total number of fonts. Must be >= 50 and <= 2000 (without tex.ch changes).
330 % Words of font info for TeX (total size of all TFM files, approximately).
332 font_mem_size.hugetex = 400000
334 % Extra space for the hash table of control sequences
336 hash_extra.context = 15000
337 hash_extra.hugetex = 10000
339 hash_extra.pdflatex = 10000
341 % number of hyphenation exceptions, >610 and <32767.
344 % words of memory available; also applies to mf&mp
346 main_memory.context = 1100000
347 main_memory.hugetex = 1100000
349 % simultaneous input files and error insertions
354 max_strings.context = 55000
355 max_strings.hugetex = 55000
356 max_strings.pdftex = 20000
357 max_strings.pdflatex = 20000
359 % simultaneous semantic levels (e.g., groups)
363 % simultaneous macro parameters
367 % min pool space left after loading .fmt
371 % Max number of characters in all strings
373 pool_size.context = 500000
374 pool_size.hugetex = 500000
376 pool_size.pdflatex = 200000
378 % for saving values outside current group
383 % simultaneous input sources
387 % Minimum pool space after TeX/MP's own strings;
388 % must be at least 25000 less than pool_size,
389 % but doesn't need to be nearly that large.
391 string_vacancies.hugetex = 45000
392 string_vacancies.context = 45000
394 % Hyphenation trie. As distributed, the maximum is 65535; this should
395 % work unless `unsigned short' is not supported or is smaller than 16
396 % bits. This value should suffice for UK English, US English, French,
397 % and German (for example). To increase, you must change
398 % `ssup_trie_opcode' and `ssup_trie_size' in tex.ch (and rebuild TeX);
399 % the trie will then consume four bytes per entry, instead of two.
401 % US English, German, and Portuguese; 30000.
408 ocp_buf_size = 20000 % character buffers for ocp filters.
409 ocp_stack_size = 10000 % stacks for ocp computations.
410 ocp_list_size = 1000 % control for multiplce ocps.
412 % These work best if they are the same as the I/O buffer size, but it
413 % doesn't matter much. Must be a multiple of 8.
414 dvi_buf_size = 16384 % TeX
417 % It's probably inadvisable to change these. At any rate, we must have;
419 % 30 < half_error_line < error_line - 15;