beta-0.89.2
[luatex.git] / source / texk / kpathsea / texmf.cnf
blob4d129cb2aa0708e170b50671f1324b2adc9ac848
1 % original texmf.cnf -- runtime path configuration file for kpathsea.
2 % Public domain.
3
4 % If you modify this original file, YOUR CHANGES WILL BE LOST when it is
5 % updated.  Instead, put your changes -- and only your changes, not an
6 % entire copy! -- in ../../texmf.cnf.  That is, if this file is
7 % installed in /some/path/to/texlive/2015/texmf-dist/web2c/texmf.cnf,
8 % add your custom settings to /some/path/to/texlive/2015/texmf.cnf.
9
10 % What follows is a super-summary of what this .cnf file can
11 % contain. Please read the Kpathsea manual for more information.
13 % Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
14 % The `=' (and surrounding spaces) is optional.
15 % $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
16 % Long lines can be continued with a \.
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 (http://tug.org/kpathsea).
32 % // means to search subdirectories (recursively).
33 % A leading !! means to look only in the ls-R db, never on the disk.
34 % In this file, either ; or : can be used to separate path components.
35 % A leading/trailing/doubled path separator in the paths will be
36 %   expanded into the compile-time default. Probably not what you want.
38 % Brace notation is supported, for example: /usr/local/{mytex,othertex}
39 % expands to /usr/local/mytex:/usr/local/othertex.  We make extensive
40 % use of this.
43 \f Part 1: Search paths and directories.
45 % This is the parent directory of our several trees, i.e.,
46 % /usr/local/texlive/YYYY in the original TeX Live distribution.
48 % All trees must be organized according to the TeX Directory Structure
49 % (http://tug.org/tds), or files may not be found.
51 % Redistributors will probably want $SELFAUTODIR/share, i.e., /usr/share.
52 % Kpathsea sets SELFAUTOLOC (the directory with the binary),
53 % SELFAUTODIR (its parent), and SELFAUTOPARENT (its grandparent).
54 TEXMFROOT = $SELFAUTOPARENT
56 % The main tree of distributed packages and programs:
57 TEXMFDIST = $TEXMFROOT/texmf-dist
59 % We used to have a separate /texmf tree with some core programs and files.
60 % Keep the variable name.
61 TEXMFMAIN = $TEXMFDIST
63 % Local additions to the distribution trees.
64 TEXMFLOCAL = $SELFAUTOGRANDPARENT/texmf-local
66 % TEXMFSYSVAR, where *-sys store cached runtime data.
67 TEXMFSYSVAR = $TEXMFROOT/texmf-var
69 % TEXMFSYSCONFIG, where *-sys store configuration data.
70 TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
72 % Per-user texmf tree(s) -- organized per the TDS, as usual.  To define
73 % more than one per-user tree, set this to a list of directories in
74 % braces, as described above.  (This used to be HOMETEXMF.)  ~ expands
75 % to %USERPROFILE% on Windows, $HOME otherwise.
76 TEXMFHOME = ~/texmf
78 % TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
79 TEXMFVAR = ~/.texlive2015/texmf-var
81 % TEXMFCONFIG, where texconfig/updmap/fmtutil store configuration data.
82 TEXMFCONFIG = ~/.texlive2015/texmf-config
84 % List all the texmf trees. For an explanation of what they are, see the
85 % TeX Live manual.
87 % For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
88 % explicitly and before all other trees.
89
90 % TEXMFLOCAL precedes TEXMFDIST because locally-installed versions
91 % should take precedence over distribution files -- although it is
92 % generally a source of confusion to have different versions of a
93 % package installed, whatever the trees, so try to avoid it.
94 TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
96 % Where to look for ls-R files.  There need not be an ls-R in the
97 % directories in this path, but if there is one, Kpathsea will use it.
98 % By default, this is only the !! elements of TEXMF, so that mktexlsr
99 % does not create ls-R files in the non-!! elements -- because if an
100 % ls-R is present, it will be used, and the disk will not be searched.
101 % This is arguably a bug in kpathsea.
102 TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}
104 % The system trees.  These are the trees that are shared by all users.
105 % If a tree appears in this list, the mktex* scripts will use
106 % VARTEXFONTS for generated files, if the original tree isn't writable;
107 % otherwise the current working directory is used.
108 SYSTEXMF = $TEXMFSYSVAR;$TEXMFLOCAL;$TEXMFDIST
110 % First writable tree here is used by Lua(La)TeX for the font cache.
111 % LuaLaTeX uses the value here, while ConTeXt uses the same variable but
112 % from texmfcnf.lua; therefore the two values should be kept in sync.
113 % (As should everything else in texmf.cnf <-> texmfcnf.lua.)
114 TEXMFCACHE = $TEXMFSYSVAR;$TEXMFVAR
116 % Where generated fonts may be written.  This tree is used when the sources
117 % were found in a system tree and either that tree wasn't writable, or the
118 % varfonts feature was enabled in MT_FEATURES in mktex.cnf.
119 VARTEXFONTS = $TEXMFVAR/fonts
121 % On some systems, there will be a system tree which contains all the font
122 % files that may be created as well as the formats.  For example
123 %   TEXMFVAR = /var/lib/texmf
124 % is used in many distros.  In this case, set VARTEXFONTS like this
125 %VARTEXFONTS = $TEXMFVAR/fonts
126 % and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
128 % Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
129 % one of the TEXMF directories (avoids overlapping ls-R files).
132 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
133 % Usually you will not need to edit any of the following variables.
134 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
136 % WEB2C is for Web2C specific files.  The current directory may not be
137 % a good place to look for them.
138 WEB2C = $TEXMF/web2c
140 % TEXINPUTS is for TeX input files -- i.e., anything to be found by \input
141 % or \openin, including .sty, .eps, etc.  We specify paths for all known
142 % formats, past or present.  Not all of them are built these days.
144 % Plain TeX.  Have the command tex check all directories as a last
145 % resort, we may have plain-compatible stuff anywhere.
146 TEXINPUTS.tex           = .;$TEXMF/tex/{plain,generic,}//
148 % Fontinst needs to read afm files.
149 TEXINPUTS.fontinst      = .;$TEXMF/{tex,fonts/afm}//
151 % Other plain-based formats.
152 TEXINPUTS.amstex        = .;$TEXMF/tex/{amstex,plain,generic,}//
153 TEXINPUTS.csplain       = .;$TEXMF/tex/{csplain,plain,generic,}//
154 TEXINPUTS.eplain        = .;$TEXMF/tex/{eplain,plain,generic,}//
155 TEXINPUTS.ftex          = .;$TEXMF/tex/{formate,plain,generic,}//
156 TEXINPUTS.mex           = .;$TEXMF/tex/{mex,plain,generic,}//
157 TEXINPUTS.texinfo       = .;$TEXMF/tex/{texinfo,plain,generic,}//
159 % LaTeX 2e specific macros are stored in latex/, macros that can only be
160 % used with 2.09 in latex209/.  In addition, we look in the directory
161 % latex209, useful for macros that were written for 2.09 and do not
162 % mention 2e at all, but can be used with 2e.
163 TEXINPUTS.cslatex       = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
164 TEXINPUTS.latex         = .;$TEXMF/tex/{latex,generic,}//
165 TEXINPUTS.latex209      = .;$TEXMF/tex/{latex209,generic,latex,}//
166 TEXINPUTS.olatex        = .;$TEXMF/tex/{latex,generic,}//
168 % MLTeX.
169 TEXINPUTS.frlatex       = .;$TEXMF/tex/{french,latex,generic,}//
170 TEXINPUTS.frtex         = .;$TEXMF/tex/{french,plain,generic,}//
171 TEXINPUTS.mllatex       = .;$TEXMF/tex/{latex,generic,}//
172 TEXINPUTS.mltex         = .;$TEXMF/tex/{plain,generic,}//
174 % e-TeX.
175 TEXINPUTS.elatex        = .;$TEXMF/tex/{latex,generic,}//
176 TEXINPUTS.etex          = .;$TEXMF/tex/{plain,generic,}//
178 % pdfTeX.
179 TEXINPUTS.pdfcslatex    = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
180 TEXINPUTS.pdfcsplain    = .;$TEXMF/tex/{csplain,plain,generic,}//
181 TEXINPUTS.pdflatex      = .;$TEXMF/tex/{latex,generic,}//
182 TEXINPUTS.pdfmex        = .;$TEXMF/tex/{mex,plain,generic,}//
183 TEXINPUTS.utf8mex       = .;$TEXMF/tex/{mex,plain,generic,}//
184 TEXINPUTS.pdftex        = .;$TEXMF/tex/{plain,generic,}//
185 TEXINPUTS.pdftexinfo    = .;$TEXMF/tex/{texinfo,plain,generic,}//
186 TEXINPUTS.pdfamstex     = .;$TEXMF/tex/{amstex,plain,generic,}//
188 % pdfeTeX.
189 TEXINPUTS.pdfelatex     = .;$TEXMF/tex/{latex,generic,}//
190 TEXINPUTS.pdfetex       = .;$TEXMF/tex/{plain,generic,}//
192 % LuaTeX.
193 TEXINPUTS.lualatex      = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
194 TEXINPUTS.dvilualatex   = .;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
195 TEXINPUTS.luatex        = .;$TEXMF/tex/{luatex,plain,generic,}//
196 TEXINPUTS.luajittex     = .;$TEXMF/tex/{luatex,plain,generic,}//
197 TEXINPUTS.dviluatex     = .;$TEXMF/tex/{luatex,plain,generic,}//
199 % XeTeX.
200 TEXINPUTS.xelatex       = .;$TEXMF/tex/{xelatex,latex,xetex,generic,}//
201 TEXINPUTS.xeplain       = .;$TEXMF/tex/{xeplain,eplain,plain,xetex,generic,}//
202 TEXINPUTS.xetex         = .;$TEXMF/tex/{xetex,plain,generic,}//
204 % Omega / Aleph.
205 TEXINPUTS.aleph         = .;$TEXMF/tex/{plain,generic,}//
206 TEXINPUTS.elambda       = .;$TEXMF/tex/{lambda,latex,generic,}//
207 TEXINPUTS.eomega        = .;$TEXMF/tex/{plain,generic,}//
208 TEXINPUTS.lambda        = .;$TEXMF/tex/{lambda,latex,generic,}//
209 TEXINPUTS.lamed         = .;$TEXMF/tex/{lambda,latex,generic,}//
210 TEXINPUTS.omega         = .;$TEXMF/tex/{plain,generic,}//
212 % p(La)TeX.
213 TEXINPUTS.ptex          = .;$TEXMF/tex/{ptex,plain,generic,}//
214 TEXINPUTS.platex        = .;$TEXMF/tex/{platex,latex,generic,}//
216 % epTeX, and for pmpost.
217 TEXINPUTS.eptex         = .;$TEXMF/tex/{ptex,plain,generic,}//
218 TEX.pmpost = eptex
220 % p(La)TeX-ng
221 TEXINPUTS.ptex-ng   = .;$TEXMF/tex/{uptex,ptex,plain,generic,}//
222 TEXINPUTS.platex-ng = .;$TEXMF/tex/{uplatex,platex,latex,generic,}//
224 % (e)up(La)TeX, and for upmpost
225 TEXINPUTS.uplatex = .;$TEXMF/tex/{uplatex,platex,latex,generic,}//
226 TEXINPUTS.uptex   = .;$TEXMF/tex/{uptex,ptex,plain,generic,}//
227 TEXINPUTS.euptex  = .;$TEXMF/tex/{uptex,ptex,plain,generic,}//
228 TEX.upmpost = euptex
230 % pBibTeX bibliographies and style files.
231 BIBINPUTS.pbibtex       = .;$TEXMF/{pbibtex,bibtex}/bib//
232 BSTINPUTS.pbibtex       = .;$TEXMF/{pbibtex,bibtex}/bst//
234 % ConTeXt.
235 TEXINPUTS.context       = .;$TEXMF/tex/{context,plain,generic,}//
237 % jadetex.
238 TEXINPUTS.jadetex       = .;$TEXMF/tex/{jadetex,latex,generic,}//
239 TEXINPUTS.pdfjadetex    = .;$TEXMF/tex/{jadetex,latex,generic,}//
241 % XMLTeX.
242 TEXINPUTS.xmltex        = .;$TEXMF/tex/{xmltex,latex,generic,}//
243 TEXINPUTS.pdfxmltex     = .;$TEXMF/tex/{xmltex,latex,generic,}//
245 % Miscellany, no longer built.
246 TEXINPUTS.lamstex       = .;$TEXMF/tex/{lamstex,plain,generic,}//
247 TEXINPUTS.lollipop      = .;$TEXMF/tex/{lollipop,plain,generic,}//
248 TEXINPUTS.frpdflatex    = .;$TEXMF/tex/{french,latex,generic,}//
249 TEXINPUTS.frpdftex      = .;$TEXMF/tex/{french,plain,generic,}//
251 % Earlier entries override later ones, so put this generic one last.
252 TEXINPUTS               = .;$TEXMF/tex/{$progname,generic,}//
254 % ttf2tfm.
255 TTF2TFMINPUTS =                 .;$TEXMF/ttf2pk//
257 % Metafont, MetaPost inputs.
258 MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source//
259 MPINPUTS = .;$TEXMF/metapost//
261 % Dump files (fmt/base/mem) for vir{tex,mf,mp} to read.
262 % We want to find the engine-specific file, e.g., cont-en.fmt can
263 % exist under both pdftex/ and xetex/.  But just in case some formats
264 % end up without an engine directory, look directly in web2c/ too.
265 % We repeat the same definition three times because of the way fmtutil
266 % is implemented; if we use ${TEXFORMATS}, the mpost/mf/etc. formats
267 % will not be found.
268 TEXFORMATS = .;$TEXMF/web2c{/$engine,}
269 MFBASES = .;$TEXMF/web2c{/$engine,}
270 MPMEMS = .;$TEXMF/web2c{/$engine,}
272 % As of 2008, pool files don't exist any more (the strings are compiled
273 % into the binaries), but just in case something expects to find these:
274 TEXPOOL = .;$TEXMF/web2c
275 MFPOOL = ${TEXPOOL}
276 MPPOOL = ${TEXPOOL}
278 % support the original xdvi.  Must come before the generic settings.
279 PKFONTS.XDvi   = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
280 VFFONTS.XDvi   = .;$TEXMF/%s
281 PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}//
282 TEXPICTS.XDvi  = .;$TEXMF/%q{dvips,tex}//
284 % Device-independent font metric files.
285 VFFONTS = .;$TEXMF/fonts/vf//
286 TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm//
288 % The $MAKETEX_MODE below means the drivers will not use a cx font when
289 % the mode is ricoh.  If no mode is explicitly specified, kpse_prog_init
290 % sets MAKETEX_MODE to /, so all subdirectories are searched.  See the manual.
291 % The modeless part guarantees that bitmaps for PostScript fonts are found.
292 PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}//
294 % Similarly for the GF format, which only remains in existence because
295 % Metafont outputs it (and MF isn't going to change).
296 GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE//
298 % A backup for PKFONTS and GFFONTS. Not used for anything.
299 GLYPHFONTS = .;$TEXMF/fonts
301 % A place to puth everything that doesn't fit the other font categories.
302 MISCFONTS = .;$TEXMF/fonts/misc//
304 % font name map files.  This isn't just fonts/map// because ConTeXt
305 % wants support for having files with the same name in the different
306 % subdirs.  Maybe if the programs ever get unified to accepting the same
307 % map file syntax the definition can be simplified again.
308 TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//
310 % BibTeX bibliographies and style files.  bibtex8 also uses these.
311 BIBINPUTS = .;$TEXMF/bibtex/bib//
312 BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}//
314 % MlBibTeX.
315 MLBIBINPUTS = .;$TEXMF/bibtex/bib/{mlbib,}//
316 MLBSTINPUTS = .;$TEXMF/bibtex/{mlbst,bst}//
318 % .ris and .bltxml bibliography formats.
319 RISINPUTS = .;$TEXMF/bibtex/ris//
320 BLTXMLINPUTS = .;$TEXMF/bibtex/bltxml//
322 % MFT style files.
323 MFTINPUTS = .;$TEXMF/mft//
325 % PostScript headers and prologues (.pro); unfortunately, some programs
326 % also use this for acessing font files (enc, type1, truetype)
327 TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
328 TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//
330 % OSFONTDIR is to provide a convenient hook for allowing TeX to find
331 % fonts installed on the system (outside of TeX).  An empty default
332 % value would add "//" to the search paths, so we give it a dummy value.
333 OSFONTDIR = /please/set/osfontdir/in/the/environment
335 % PostScript Type 1 outline fonts.
336 T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR//
338 % PostScript AFM metric files.
339 AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR//
341 % TrueType outline fonts.
342 TTFONTS = .;$TEXMF/fonts/{truetype,opentype}//;$OSFONTDIR//
344 % OpenType outline fonts.
345 OPENTYPEFONTS = .;$TEXMF/fonts/{opentype,truetype}//;$OSFONTDIR//
347 % Type 42 outline fonts.
348 T42FONTS = .;$TEXMF/fonts/type42//
350 % Ligature definition files.
351 LIGFONTS =  .;$TEXMF/fonts/lig//
353 % Dvips' config.* files (this name should not start with `TEX'!).
354 TEXCONFIG = $TEXMF/dvips//
356 % Makeindex style (.ist) files.
357 INDEXSTYLE = .;$TEXMF/makeindex//
359 % Font encoding files (.enc).
360 ENCFONTS = .;$TEXMF/fonts/enc//
362 % CMap files.
363 CMAPFONTS = .;$TEXMF/fonts/cmap//
365 % Subfont definition files.
366 SFDFONTS = .;$TEXMF/fonts/sfd//
368 % OpenType feature files (.fea).
369 FONTFEATURES=.;$TEXMF/fonts/fea//
371 % .cid and .cidmap
372 FONTCIDMAPS=.;$TEXMF/fonts/cid//
374 % pdftex config files:
375 PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}//
377 % Used by DMP (ditroff-to-mpx), called by makempx -troff.
378 TRFONTS = /usr{/local,}/share/groff/{current/font,site-font}/devps
379 MPSUPPORT = .;$TEXMF/metapost/support
381 % For xdvi to find mime.types and .mailcap, if they do not exist in
382 % ~.  These are single directories, not paths.
383 % (But the default mime.types, at least, may well suffice.)
384 MIMELIBDIR = $TEXMFROOT/etc
385 MAILCAPLIBDIR = $TEXMFROOT/etc
387 % Default settings for the fontconfig library as used by the Windows
388 % versions of xetex/xdvipdfmx.  Not used by xetex on Unixish systems.
389 % ConTeXT MkIV (all platforms) also use these values.
391 FONTCONFIG_FILE = fonts.conf
392 FONTCONFIG_PATH = $TEXMFSYSVAR/fonts/conf
393 FC_CACHEDIR = $TEXMFSYSVAR/fonts/cache
395 % TeX documentation and source files, for use with texdoc and kpsewhich.
396 TEXDOCS = $TEXMF/doc//
397 TEXSOURCES = .;$TEXMF/source//
399 % Web and CWeb input paths.
400 WEBINPUTS = .;$TEXMF/web//
401 CWEBINPUTS = .;$TEXMF/cweb//
403 % Omega-related fonts and other files.
404 OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//
405 OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl//
406 OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ovf,vf}//
407 OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp//
408 OTPINPUTS = .;$TEXMF/omega/otp//
409 OCPINPUTS = .;$TEXMF/omega/ocp//
411 % Some additional input variables for several programs.  If you add
412 % a program that uses the `other text files' or `other binary files'
413 % search formats, you'll want to add their variables here as well.
414 T4HTINPUTS   = .;$TEXMF/tex4ht//
416 %% t4ht utility, sharing files with TeX4ht
417 TEX4HTFONTSET=alias,iso8859,unicode
418 TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//
420 % TeXworks editor configuration and settings
421 TW_LIBPATH = $TEXMFCONFIG/texworks
422 TW_INIPATH = $TW_LIBPATH
424 % For security, do not look in . for dvipdfmx.cfg, since the D option
425 % would allow command execution.
426 DVIPDFMXINPUTS = $TEXMF/dvipdfmx
428 % Lua needs to look in TEXINPUTS for lua scripts distributed with packages.
430 % But we can't simply use $TEXINPUTS, since then if TEXINPUTS is set in
431 % the environment with a colon, say, TEXINPUTS=/some/dir:, the intended
432 % default expansion of TEXINPUTS will not happen and .lua files under
433 % the /tex/ will not be found.
435 % So, duplicate the TEXINPUTS.*lualatex values as LUAINPUTS.*lualatex.
436 % The default LUAINPUTS suffices for luatex and dviluatex.
438 LUAINPUTS.lualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
439 LUAINPUTS.dvilualatex = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{lualatex,latex,luatex,generic,}//
440 LUAINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/{lua,}//;$TEXMF/tex/{luatex,plain,generic,}//
442 % Lua needs to look for binary lua libraries distributed with packages.
443 CLUAINPUTS = .;$SELFAUTOLOC/lib/{$progname,$engine,}/lua//
445 % Architecture independent executables.
446 TEXMFSCRIPTS = $TEXMF/scripts/{$progname,$engine,}//
448 % Other languages.
449 JAVAINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/java//
450 PERLINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/perl//
451 PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python//
452 RUBYINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/ruby//
455 %% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment.
456 % KPSE_DOT = .
458 % This definition isn't used from this .cnf file itself (that would be
459 % paradoxical), but the compile-time default in paths.h is built from it.
460 % The SELFAUTO* variables are set automatically from the location of
461 % argv[0], in kpse_set_program_name.
463 % This main texmf.cnf file is installed, for a release YYYY, in a
464 % directory such as /usr/local/texlive/YYYY/texmf-dist/web2c/texmf.cnf.
465 % Since this file is subject to future updates, the TeX Live installer
466 % or human administrator may also create a file
467 % /usr/local/texlive/YYYY/texmf.cnf; any settings in this latter file
468 % will take precedence over the distributed one.
470 % For security reasons, it is best not to include . in this path.
472 % The idea behind this lengthy definition: for each of
473 % SELFAUTO{LOC,DIR,PARENT}, look in the directory,
474 % then the subdirectories share/texmf-local, share/texmf-dist, share/texmf,
475 % then the subdirectories ./texmf-local, texmf-dist, ./texmf.
476 % At any given installation, most of these directories will not exist,
477 % but they all turn out to be useful somewhere.
479 % Special addition -- we want to include one more directory: the
480 % great-grandparent's texmf-local, because that is how TL is installed
481 % by default.  That is, given a binary
482 % /usr/local/texlive/YYYY/bin/PLATFORM/kpsewhich, it should find
483 % /usr/local/texlive/texmf-local/web2c/texmf.cnf.  I.e., not under YYYY.
485 % As a result, we cannot use actual brace expansion in the definition,
486 % since we don't want to scatter ../'s throughout the value.  Hence we
487 % explicitly list every directory.  Arguably more understandable anyway.
489 TEXMFCNF = {\
490 $SELFAUTOLOC,\
491 $SELFAUTOLOC/share/texmf-local/web2c,\
492 $SELFAUTOLOC/share/texmf-dist/web2c,\
493 $SELFAUTOLOC/share/texmf/web2c,\
494 $SELFAUTOLOC/texmf-local/web2c,\
495 $SELFAUTOLOC/texmf-dist/web2c,\
496 $SELFAUTOLOC/texmf/web2c,\
498 $SELFAUTODIR,\
499 $SELFAUTODIR/share/texmf-local/web2c,\
500 $SELFAUTODIR/share/texmf-dist/web2c,\
501 $SELFAUTODIR/share/texmf/web2c,\
502 $SELFAUTODIR/texmf-local/web2c,\
503 $SELFAUTODIR/texmf-dist/web2c,\
504 $SELFAUTODIR/texmf/web2c,\
506 $SELFAUTOGRANDPARENT/texmf-local/web2c,\
507 $SELFAUTOPARENT,\
509 $SELFAUTOPARENT/share/texmf-local/web2c,\
510 $SELFAUTOPARENT/share/texmf-dist/web2c,\
511 $SELFAUTOPARENT/share/texmf/web2c,\
512 $SELFAUTOPARENT/texmf-local/web2c,\
513 $SELFAUTOPARENT/texmf-dist/web2c,\
514 $SELFAUTOPARENT/texmf/web2c\
517 % For reference, here is the old brace-using definition:
518 %TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c}
520 % kpathsea 3.5.3 and later sets these at runtime. To avoid empty
521 % expansions from binaries linked against an earlier version of the
522 % library, we set $progname and $engine to something non-empty:
523 progname = unsetprogname
524 engine = unsetengine
527 \f Part 2: Options.
529 % If this option is set to true, `tex a.b' will look first for a.b.tex
530 % (within each path element), and then for a.b, i.e., we try standard
531 % extensions first.  If this is false, we first look for a.b and then
532 % a.b.tex, i.e., we try the name as-is first.
534 % Both names are always tried; the difference is the order in which they
535 % are tried.  The setting applies to all searches, not just .tex.
537 % This setting only affects names being looked up which *already* have
538 % an extension.  A name without an extension (e.g., `tex story') will
539 % always have an extension added first.
541 % The default is true, because we already avoid adding the standard
542 % extension(s) in the usual cases.  E.g., babel.sty will only look for
543 % babel.sty, not babel.sty.tex, regardless of this setting.
544 try_std_extension_first = t
546 % Enable system commands via \write18{...}.  When enabled fully (set to
547 % t), obviously insecure.  When enabled partially (set to p), only the
548 % commands listed in shell_escape_commands are allowed.  Although this
549 % is not fully secure either, it is much better, and so useful that we
550 % enable it for everything but bare tex.
551 shell_escape = p
553 % No spaces in this command list.
555 % The programs listed here are as safe as any we know: they either do
556 % not write any output files, respect openout_any, or have hard-coded
557 % restrictions similar to or higher than openout_any=p.  They also have
558 % no features to invoke arbitrary other programs, and no known
559 % exploitable bugs.  All to the best of our knowledge.  They also have
560 % practical use for being called from TeX.
562 shell_escape_commands = \
563 bibtex,bibtex8,\
564 extractbb,\
565 kpsewhich,\
566 makeindex,\
567 mpost,\
568 repstopdf,\
570 % we'd like to allow:
571 % dvips - but external commands can be executed, need at least -R1.
572 % epspdf, ps2pdf, pstopdf - need to respect openout_any,
573 %   and gs -dSAFER must be used and check for shell injection with filenames.
574 % (img)convert (ImageMagick) - delegates.mgk possible misconfig, besides,
575 %   without Unix convert it hardly seems worth it, and Windows convert
576 %   is something completely different that destroys filesystems, so skip.
577 % pygmentize - but is the filter feature insecure?
578 % ps4pdf - but it calls an unrestricted latex.
579 % rpdfcrop - maybe ok, but let's get experience with repstopdf first.
580 % texindy,xindy - but is the module feature insecure?
581 % ulqda - but requires optional SHA1.pm, so why bother.
582 % tex, latex, etc. - need to forbid --shell-escape, and inherit openout_any.
584 % plain "tex" should remain unenhanced.
585 shell_escape.tex = f
586 shell_escape.initex = f
588 % This is used by the Windows script wrapper for restricting searching
589 % for the purportedly safe shell_escape_commands above to system
590 % directories.
591 TEXMF_RESTRICTED_SCRIPTS = \
592   {!!$TEXMFLOCAL,!!$TEXMFDIST}/scripts/{$progname,$engine,}//
594 % Do we allow TeX \input or \openin (openin_any), or \openout
595 % (openout_any) on filenames starting with `.' (e.g., .rhosts) or
596 % outside the current tree (e.g., /etc/passwd)?
597 % a (any)        : any file can be opened.
598 % r (restricted) : disallow opening dot files
599 % p (paranoid)   : as `r' and disallow going to parent directories, and
600 %                  restrict absolute paths to be under $TEXMFOUTPUT.
601 openin_any = a
602 openout_any = p
604 % Write .log/.dvi/.aux/etc. files here, if the current directory is unwritable.
605 %TEXMFOUTPUT = /tmp
607 % If a dynamic file creation fails, log the command to this file, in
608 % either the current directory or TEXMFOUTPUT.  Set to the
609 % empty string or  0  to avoid logging.
610 MISSFONT_LOG = missfont.log
612 % Set to a colon-separated list of words specifying warnings to suppress.
613 % To suppress everything, use TEX_HUSH = all; this is currently equivalent to
614 % TEX_HUSH = checksum:lostchar:readable:special
615 % To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
616 TEX_HUSH = none
618 % Allow TeX and MF to parse the first line of an input file for
619 % the %&format construct.
620 parse_first_line = t
622 % But don't parse the first line if invoked as "tex", since we want that
623 % to remain Knuth-compatible.  The src_specials and
624 % file_line_error_style settings, as well as the options -enctex,
625 % -mltex, -8bit, etc., also affect this, but they are all off by default.
626 parse_first_line.tex = f
627 parse_first_line.initex = f
629 % Control file:line:error style messages.
630 file_line_error_style = f
632 % Enable the mktex... scripts by default?  These must be set to 0 or 1.
633 % Particular programs can and do override these settings, for example
634 % dvips's -M option.  Your first chance to specify whether the scripts
635 % are invoked by default is at configure time.
637 % These values are ignored if the script names are changed; e.g., if you
638 % set DVIPSMAKEPK to `foo', what counts is the value of the environment
639 % variable/config value `FOO', not the `MKTEXPK' value.
641 %MKTEXTEX = 0
642 %MKTEXPK = 0
643 %MKTEXMF = 0
644 %MKTEXTFM = 0
645 %MKTEXFMT = 0
646 %MKOCP = 0
647 %MKOFM = 0
649 % Used by makempx to run TeX.  We use "etex" because MetaPost is
650 % expecting DVI, and not "tex" because we want first line parsing.
651 TEX = etex
653 # Use Japanese eptex for Japanese pmpost.
654 TEX.pmpost = eptex
656 % These variables specify the external program called for the
657 % interactive `e' option.  %d is replaced by the line number and %s by
658 % the current filename.  The default is specified at compile-time, and
659 % we let that stay in place since different platforms like different values.
660 %TEXEDIT = vi +%d '%s'                    % default for Unix
661 %TEXEDIT = texworks --position=+%d "%s"   % default for Windows
662 %MFEDIT = ${TEXEDIT}
663 %MPEDIT = ${TEXEDIT}
665 % The default `codepage and sort order' file for BibTeX8, when none is
666 % given as command line option or environment variable.
667 BIBTEX_CSFILE = 88591lat.csf
669 % This variable is specific to Windows.  It must be set to 0 or 1.  The
670 % default is 0.  Setting it to 1 tells the Windows script wrappers to
671 % use an already installed Perl interpreter if one is found on the
672 % search path, in preference to the Perl shipped with TeX Live.  Thus,
673 % it may be useful if you both (a) installed a full Perl distribution
674 % for general use, and (b) need to run Perl programs from TL that use
675 % additional modules we don't provide.  The TL Perl does provide all the
676 % standard Perl modules.
678 %TEXLIVE_WINDOWS_TRY_EXTERNAL_PERL = 0
681 \f Part 3: Array and other sizes for TeX, Metafont, etc.
683 % If you want to change some of these sizes only for a certain TeX
684 % variant, the usual dot notation works, e.g.,
685 % main_memory.hugetex = 20000000
687 % If a change here appears to be ignored, try redumping the format file.
689 % Memory. Must be less than 8,000,000 total.
691 % main_memory is relevant only to initex, extra_mem_* only to non-ini.
692 % Thus, have to redump the .fmt file after changing main_memory; to add
693 % to existing fmt files, increase extra_mem_*.  (To get an idea of how
694 % much, try \tracingstats=2 in your TeX source file;
695 % web2c/tests/memtest.tex might also be interesting.)
697 % To increase space for boxes (as might be needed by, e.g., PiCTeX),
698 % increase extra_mem_bot.
700 % For some xy-pic samples, you may need as much as 700000 words of memory.
701 % For the vast majority of documents, 60000 or less will do.
703 main_memory = 5000000 % words of inimemory available; also applies to inimf&mp
704 extra_mem_top = 0     % extra high memory for chars, tokens, etc.
705 extra_mem_bot = 0     % extra low memory for boxes, glue, breakpoints, etc.
707 % ConTeXt needs lots of memory.
708 extra_mem_top.context = 2000000
709 extra_mem_bot.context = 4000000
711 % Words of font info for TeX (total size of all TFM files, approximately).
712 % Must be >= 20000 and <= 147483647 (without tex.ch changes).
713 font_mem_size = 8000000
715 % Total number of fonts. Must be >= 50 and <= 9000 (without tex.ch changes).
716 font_max = 9000
718 % Extra space for the hash table of control sequences.
719 hash_extra = 600000
721 % Max number of characters in all strings, including all error messages,
722 % help texts, font names, control sequences.  These values apply to TeX.
723 pool_size = 6250000
724 % Minimum pool space after TeX's own strings; must be at least
725 % 25000 less than pool_size, but doesn't need to be nearly that large.
726 string_vacancies = 90000
727 % Maximum number of strings.
728 max_strings = 500000
729 % min pool space left after loading .fmt
730 pool_free = 47500
732 % Buffer size.  TeX uses the buffer to contain input lines, but macro
733 % expansion works by writing material into the buffer and reparsing the
734 % line.  As a consequence, certain constructs require the buffer to be
735 % very large, even though most documents can be handled with a small value.
736 buf_size = 200000
738 % Hyphenation trie.  The maximum possible is 4194303 (ssup_trie_size in
739 % the sources), but we don't need that much.  The value here suffices
740 % for all known free hyphenation patterns to be loaded simultaneously
741 % (as TeX Live does).
743 trie_size = 1000000
745 hyph_size = 8191        % prime number of hyphenation exceptions, >610, <32767.
746                         % http://primes.utm.edu/curios/page.php/8191.html
747 nest_size = 500         % simultaneous semantic levels (e.g., groups)
748 max_in_open = 15        % simultaneous input files and error insertions, 
749                         % also applies to MetaPost
750 param_size = 10000      % simultaneous macro parameters, also applies to MP
751 save_size  = 100000     % for saving values outside current group
752 stack_size = 5000       % simultaneous input sources
754 % These are Omega-specific.
755 ocp_buf_size = 500000   % character buffers for ocp filters.
756 ocp_stack_size = 10000  % stacks for ocp computations.
757 ocp_list_size = 1000    % control for multiple ocps.
759 % These work best if they are the same as the I/O buffer size, but it
760 % doesn't matter much.  Must be a multiple of 8.
761 dvi_buf_size = 16384 % TeX
762 gf_buf_size = 16384  % MF
764 % It's probably inadvisable to change these. At any rate, we must have:
765 % 45 < error_line      < 255;
766 % 30 < half_error_line < error_line - 15;
767 % 60 <= max_print_line;
768 % These apply to TeX, Metafont, and MetaPost.
769 error_line = 79
770 half_error_line = 50
771 max_print_line = 79
773 % Metafont only.
774 screen_width.mf = 1664
775 screen_depth.mf = 1200
777 % BibTeX only (max_strings also determines hash_size and hash_prime).
778 ent_str_size =  250
779 glob_str_size = 20000
780 max_strings.bibtex = 35307
781 max_strings.bibtex8 = 35307
782 max_strings.bibtexu = 35307
783 max_strings.pbibtex = 35307
785 % GFtype only.
786 line_length.gftype = 500
787 max_rows.gftype = 8191
788 max_cols.gftype = 8191
790 % Guess input encoding (SJIS vs. Unicode, etc.) in pTeX and friends?
791 % Default is 0, to not guess.
792 guess_input_kanji_encoding = 1