1 % TeX Live texmf.cnf 2 % 3 % Part 1: Search paths and directories. 4 5 % You can set an environment variable to override TEXMF if you're testing 6 % a new TeX tree, without changing anything else. 7 % 8 % You may wish to use one of the $SELFAUTO... variables here so TeX will 9 % find where to look dynamically. See the manual and the definition 10 % below of TEXMFCNF. 11 12 % The main tree, which must be mentioned in $TEXMF, below: 13 TEXMFMAIN = $SELFAUTOPARENT/texmf 14 15 % A place for local additions to a "standard" texmf tree. 16 TEXMFLOCAL = $SELFAUTOPARENT/texmf-local 17 18 % User texmf trees can be catered for like this... 19 HOMETEXMF=$HOME/texmf 20 21 % A place where texconfig stores modifications (instead of the TEXMFMAIN 22 % tree). texconfig relies on the name, so don't change it. 23 VARTEXMF = $SELFAUTOPARENT/texmf-var 24 25 % Now, list all the texmf trees. If you have multiple trees, 26 % use shell brace notation, like this: 27 % TEXMF = {$HOMETEXMF,!!$VARTEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN} 28 % The braces are necessary. 29 TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} 30 31 % The system trees. These are the trees that are shared by all the users. 32 SYSTEXMF = $TEXMF 33 34 % Where generated fonts may be written. This tree is used when the sources 35 % were found in a system tree and either that tree wasn't writable, or the 36 % varfonts feature was enabled in MT_FEATURES in mktex.cnf. 37 VARTEXFONTS = /var/tmp/texfonts 38 39 % Where to look for ls-R files. There need not be an ls-R in the 40 % directories in this path, but if there is one, Kpathsea will use it. 41 TEXMFDBS = $TEXMF;$VARTEXFONTS 42 43 % It may be convenient to define TEXMF like this: 44 % TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN,$HOME} 45 % which allows users to set up entire texmf trees, and tells TeX to 46 % look in places like ~/tex and ~/bibtex. If you do this, define TEXMFDBS 47 % like this: 48 % TEXMFDBS = $HOMETEXMF;$TEXMFLOCAL;$TEXMFMAIN;$VARTEXFONTS 49 % or mktexlsr will generate an ls-R file for $HOME when called, which is 50 % rarely desirable. If you do this you'll want to define SYSTEXMF like 51 % this: 52 % SYSTEXMF = $TEXMFLOCAL;$TEXMFMAIN 53 % so that fonts from a user's tree won't escape into the global trees. 54 % 55 % On some systems, there will be a system tree which contains all the font 56 % files that may be created as well as the formats. For example 57 % VARTEXMF = /var/lib/texmf 58 % is used on many Linux systems. In this case, set VARTEXFONTS like this 59 % VARTEXFONTS = $VARTEXMF/fonts 60 % and do not mention it in TEXMFDBS (but _do_ mention VARTEXMF). 61 62 63 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 64 % Usually you will not need to edit any of the other variables in part 1. % 65 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 66 67 % WEB2C is for Web2C specific files. The current directory may not be 68 % a good place to look for them. 69 WEB2C = $TEXMF/web2c 70 71 % TEXINPUTS is for TeX input files -- i.e., anything to be found by \input 72 % or \openin, including .sty, .eps, etc. 73 74 % LaTeX-specific macros are stored in latex. 75 TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}// 76 TEXINPUTS.hugelatex = .;$TEXMF/tex/{latex,generic,}// 77 78 % Fontinst needs to read afm files. 79 TEXINPUTS.fontinst = .;$TEXMF/{tex{/fontinst,},fonts/afm}// 80 81 % Plain TeX. Have the command tex check all directories as a last 82 % resort, we may have plain-compatible stuff anywhere. 83 TEXINPUTS.tex = .;$TEXMF/tex/{plain,generic,}// 84 % other plain-based formats 85 TEXINPUTS.amstex = .;$TEXMF/tex/{amstex,plain,generic,}// 86 TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}// 87 TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}// 88 TEXINPUTS.eplain = .;$TEXMF/tex/{eplain,plain,generic,}// 89 TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,generic,plain,}// 90 TEXINPUTS.pdfjadetex = .;$TEXMF/{pdftex,tex}/{jadetex,generic,plain,}// 91 92 % e-TeX. 93 TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic,}// 94 TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{generic,plain,}// 95 96 % PDFTeX. This form of the input paths is borrowed from teTeX. A certain 97 % variant of TDS is assumed here, unaffected by the build variables. 98 TEXINPUTS.pdftexinfo = .;$TEXMF/{pdftex,tex}/{texinfo,plain,generic,}// 99 TEXINPUTS.pdflatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}// 100 TEXINPUTS.pdftex = .;$TEXMF/{pdftex,tex}/{plain,generic,}// 101 TEXINPUTS.pdfelatex = .;$TEXMF/{pdfetex,pdftex,etex,tex}/{latex,generic,}// 102 TEXINPUTS.pdfetex = .;$TEXMF/{pdfetex,pdftex,etex,tex}/{plain,generic,}// 103 104 % Omega. 105 TEXINPUTS.lambda = .;$TEXMF/{omega,tex}/{lambda,latex,generic,}// 106 TEXINPUTS.omega = .;$TEXMF/{omega,tex}/{plain,generic,}// 107 108 % Context macros by Hans Hagen: 109 TEXINPUTS.context = .;$TEXMF/{pdfetex,pdftex,etex,tex}/{context,plain,generic,}// 110 111 % cstex, from Petr Olsak 112 TEXINPUTS.cslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}// 113 TEXINPUTS.csplain = .;$TEXMF/tex/{csplain,plain,generic,}// 114 TEXINPUTS.pdfcslatex = .:$TEXMF/{pdftex,tex}/{cslatex,csplain,latex,generic,}// 115 TEXINPUTS.pdfcsplain = .:$TEXMF/{pdftex,tex}/{csplain,plain,generic,}// 116 117 % Polish 118 TEXINPUTS.platex = .;$TEXMF/tex/{platex,latex,generic,}// 119 TEXINPUTS.pdfmex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}// 120 121 % french 122 TEXINPUTS.frtex = .;$TEXMF/{mltex,tex}/{plain,generic,}// 123 TEXINPUTS.frlatex = .;$TEXMF/{mltex,tex}/{frlatex,latex,generic,}// 124 125 % MLTeX 126 TEXINPUTS.mltex = .;$TEXMF/{mltex,tex}/{plain,generic,}// 127 TEXINPUTS.mllatex = .;$TEXMF/{mltex,tex}/{latex,generic,}// 128 129 % odd formats needing their own paths 130 TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,generic,plain,}// 131 TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,generic,plain,}// 132 133 % Earlier entries override later ones, so put this last. 134 TEXINPUTS = .;$TEXMF/tex/{generic,}// 135 136 % Metafont, MetaPost inputs. 137 MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source// 138 MPINPUTS = .;$TEXMF/metapost// 139 140 % Dump files (fmt/base/mem) for vir{tex,mf,mp} to read (see web2c/INSTALL), 141 % and string pools (.pool) for ini{tex,mf,mp}. It is silly that we have six 142 % paths and directories here (they all resolve to a single place by default), 143 % but historically ... 144 TEXFORMATS = .;$TEXMF/web2c 145 MFBASES = .;$TEXMF/web2c 146 MPMEMS = .;$TEXMF/web2c 147 TEXPOOL = .;$TEXMF/web2c 148 MFPOOL = .;$TEXMF/web2c 149 MPPOOL = .;$TEXMF/web2c 150 151 % Device-independent font metric files. 152 VFFONTS = .;$TEXMF/fonts/vf// 153 TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm// 154 155 % The $MAKETEX_MODE below means the drivers will not use a cx font when 156 % the mode is ricoh. If no mode is explicitly specified, kpse_prog_init 157 % sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual. 158 % The modeless part guarantees that bitmaps for PostScript fonts are found. 159 PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}// 160 161 % Similarly for the GF format, which only remains in existence because 162 % Metafont outputs it (and MF isn't going to change). 163 GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE// 164 165 % A backup for PKFONTS and GFFONTS. Not used for anything. 166 GLYPHFONTS = .;$TEXMF/fonts 167 168 % For texfonts.map and included map files used by mktexpk. 169 % See ftp://ftp.tug.org/tex/fontname.tar.gz. 170 TEXFONTMAPS = .;$TEXMF/fontname 171 172 % BibTeX bibliographies and style files. 173 BIBINPUTS = .;$TEXMF/bibtex/{bib,}// 174 BSTINPUTS = .;$TEXMF/bibtex/{bst,}// 175 176 % PostScript headers, prologues (.pro), encodings (.enc) and fonts; 177 % this is also where pdftex finds included figures files! 178 179 TEXPSHEADERS.pdflatex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 180 TEXPSHEADERS.pdfelatex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 181 TEXPSHEADERS.pdftexinfo = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 182 TEXPSHEADERS.pdfcslatex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 183 TEXPSHEADERS.pdfcsplain = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 184 TEXPSHEADERS.pdfetex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 185 TEXPSHEADERS.pdfjadetex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 186 TEXPSHEADERS.pdfmex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 187 TEXPSHEADERS.pdftex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 188 TEXPSHEADERS.pdftexinfo = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 189 TEXPSHEADERS.cont-de = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 190 TEXPSHEADERS.cont-en = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 191 TEXPSHEADERS.cont-nl = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// 192 TEXPSHEADERS.context = .;$TEXMF/{etex,tex,pdftex,dvips,fonts/type1}// 193 TEXPSHEADERS = .;$TEXMF/{dvips,fonts/type1,pdftex}// 194 195 % PostScript Type 1 outline fonts. 196 T1FONTS = .;$TEXMF/fonts/type1// 197 198 % PostScript AFM metric files. 199 AFMFONTS = .;$TEXMF/fonts/afm// 200 201 % TrueType outline fonts. 202 TTFONTS = .;$TEXMF/fonts/truetype// 203 204 % Type 42 outline fonts. 205 T42FONTS = .;$TEXMF/fonts/type42// 206 207 % A place to puth everything that doesn't fit the other font categories. 208 MISCFONTS = .;$TEXMF/fonts/misc// 209 210 % Dvips' config.* files (this name should not start with `TEX'!). 211 TEXCONFIG = .;$TEXMF/dvips// 212 213 % Makeindex style (.ist) files. 214 INDEXSTYLE = .;$TEXMF/makeindex// 215 216 % Used by DMP (ditroff-to-mpx), called by makempx -troff. 217 TRFONTS = /usr/lib/font/devpost 218 MPSUPPORT = .;$TEXMF/metapost/support 219 220 % For xdvi to find mime.types and .mailcap, if they do not exist in 221 % $HOME. These are single directories, not paths. 222 % (But the default mime.types, at least, may well suffice.) 223 MIMELIBDIR = c:/TeX/etc 224 MAILCAPLIBDIR = c:/TeX/etc 225 226 % TeX documentation and source files, for use with kpsewhich. 227 TEXDOCS = .;$TEXMF/doc// 228 TEXSOURCES = .;$TEXMF/source// 229 230 % Omega-related fonts and other files. The odd construction for OFMFONTS 231 % makes it behave in the face of a definition of TFMFONTS. Unfortunately 232 % no default substitution would take place for TFMFONTS, so an explicit 233 % path is retained. 234 OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//;$TFMFONTS 235 OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl// 236 OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovf// 237 OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp// 238 OTPINPUTS = .;$TEXMF/omega/otp// 239 OCPINPUTS = .;$TEXMF/omega/ocp// 240 241 %% TeX4ht utility, sharing files with TeX4ht 242 T4HTINPUTS = .;$TEXMF/tex4ht// 243 244 %% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment. 245 KPSE_DOT = . 246 247 % This definition isn't used from this .cnf file itself (that would be 248 % paradoxical), but the compile-time default in paths.h is built from it. 249 % The SELFAUTO* variables are set automatically from the location of 250 % argv[0], in kpse_set_progname. 251 % 252 % About the /. construction: 253 % 1) if the variable is undefined, we'd otherwise have an empty path 254 % element in the compile-time path. This is not meaningful. 255 % 2) if we used /$VARIABLE, we'd end up with // if VARIABLE is defined, 256 % which would search the entire world. 257 % 258 % The TETEXDIR stuff isn't likely to be relevant unless you're using teTeX, 259 % but it doesn't hurt. 260 % 261 TEXMFCNF = .;{$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}\ 262 {,{/share,}/texmf{.local,}/web2c};c:/TeX/texmf/web2c 263 264 265 266 % Part 2: Non-path options. 267 268 % Write .log/.dvi/etc. files here, if the current directory is unwritable. 269 % TEXMFOUTPUT = /tmp 270 271 % If a dynamic file creation fails, log the command to this file, in 272 % either the current directory or TEXMFOUTPUT. Set to the 273 % empty string or 0 to avoid logging. 274 MISSFONT_LOG = missfont.log 275 276 % Set to a colon-separated list of words specifying warnings to suppress. 277 % To suppress everything, use TEX_HUSH = all; this is equivalent to 278 % TEX_HUSH = checksum:lostchar:readable:special 279 TEX_HUSH = none 280 281 % Enable system commands via \write18{...}? 282 shell_escape = f 283 284 % Allow TeX \openout/\openin on filenames starting with `.' (e.g., .rhosts)? 285 % a (any) : any file can be opened. 286 % r (restricted) : disallow opening "dotfiles". 287 % p (paranoid) : as 'r' and disallow going to parent directories, and 288 % restrict absolute paths to be under $TEXMFOUTPUT. 289 openout_any = p 290 openin_any = a 291 % Allow TeX, MF, and MP to parse the first line of an input file for 292 % the %&format construct. 293 parse_first_line = t 294 295 % Enable the mktex... scripts by default? These must be set to 0 or 1. 296 % Particular programs can and do override these settings, for example 297 % dvips's -M option. Your first chance to specify whether the scripts 298 % are invoked by default is at configure time. 299 % 300 % These values are ignored if the script names are changed; e.g., if you 301 % set DVIPSMAKEPK to `foo', what counts is the value of the environment 302 % variable/config value `FOO', not the `MKTEXPK' value. 303 % 304 % MKTEXTEX = 0 305 % MKTEXPK = 0 306 % MKTEXMF = 0 307 % MKTEXTFM = 0 308 % MKOCP = 0 309 % MKOFM = 0 310 311 % What MetaPost runs to make MPX files. This is passed an option -troff 312 % if MP is in troff mode. Set to `0' to disable this feature. 313 MPXCOMMAND = makempx 314 315 316 % Part 3: Array and other sizes for TeX (and Metafont and MetaPost). 317 % 318 % If you want to change some of these sizes only for a certain TeX 319 % variant, the usual dot notation works, e.g., 320 % main_memory.hugetex = 20000000 321 % 322 % If a change here appears to be ignored, try redumping the format file. 323 324 % Memory. Must be less than 8,000,000 total. 325 % 326 % main_memory is relevant only to initex, extra_mem_* only to non-ini. 327 % Thus, have to redump the .fmt file after changing main_memory; to add 328 % to existing fmt files, increase extra_mem_*. (To get an idea of how 329 % much, try \tracingstats=2 in your TeX source file; 330 % web2c/tests/memtest.tex might also be interesting.) 331 % 332 % To increase space for boxes (as might be needed by, e.g., PiCTeX), 333 % increase extra_mem_bot. 334 % 335 % For some xy-pic samples, you may need as much as 700000 words of memory. 336 % For the vast majority of documents, 60000 or less will do. 337 % 338 main_memory = 263000 % words of inimemory available; also applies to inimf&mp 339 extra_mem_top = 0 % extra high memory for chars, tokens, etc. 340 extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. 341 342 % Words of font info for TeX (total size of all TFM files, approximately). 343 font_mem_size = 200000 344 345 % Total number of fonts. Must be >= 50 and <= 2000 (without tex.ch changes). 346 font_max = 1000 347 348 % Extra space for the hash table of control sequences (which allows 10K 349 % names as distributed). 350 hash_extra = 0 351 352 % Max number of characters in all strings, including all error messages, 353 % help texts, font names, file names, control sequences. 354 % These values apply to TeX and MP. 355 pool_size = 125000 356 357 % Minimum pool space after TeX/MP's own strings; must be at least 358 % 25000 less than pool_size, but doesn't need to be nearly that large. 359 string_vacancies = 25000 360 max_strings = 15000 % max number of strings 361 pool_free = 5000 % min pool space left after loading .fmt 362 363 % Hyphenation trie. As distributed, the maximum is 65535; this should 364 % work unless `unsigned short' is not supported or is smaller than 16 365 % bits. This value should suffice for UK English, US English, French, 366 % and German (for example). To increase, you must change 367 % `ssup_trie_opcode' and `ssup_trie_size' in tex.ch (and rebuild TeX); 368 % the trie will then consume four bytes per entry, instead of two. 369 % 370 % US English, German, and Portuguese: 30000. 371 % German: 14000. 372 % US English: 10000. 373 % 374 trie_size = 64000 375 376 % Buffer size. TeX uses the buffer to contain input lines, but macro 377 % expansion works by writing material into the buffer and reparsing the 378 % line. As a consequence, certain constructs require the buffer to be 379 % very large. As distributed, the size is 50000; most documents can be 380 % handled within a tenth of this size. 381 buf_size = 50000 382 383 % These are Omega-specific. 384 ocp_buf_size = 20000 % character buffers for ocp filters. 385 ocp_stack_size = 10000 % stacks for ocp computations. 386 ocp_list_size = 1000 % control for multiple ocps. 387 388 % These work best if they are the same as the I/O buffer size, but it 389 % doesn't matter much. Must be a multiple of 8. 390 dvi_buf_size = 16384 % TeX 391 gf_buf_size = 16384 % MF 392 393 % It's probably inadvisable to change these. At any rate, we must have: 394 % 45 < error_line < 255; 395 % 30 < half_error_line < error_line - 15; 396 % 60 <= max_print_line; 397 % These apply to Metafont and MetaPost as well. 398 error_line = 79 399 half_error_line = 50 400 max_print_line = 79 401 stack_size = 300 % simultaneous input sources 402 save_size = 4000 % for saving values outside current group 403 param_size = 500 % simultaneous macro parameters 404 max_in_open = 15 % simultaneous input files and error insertions 405 hyph_size = 1000 % number of hyphenation exceptions, >610 and <32767 406 nest_size = 100 % simultaneous semantic levels (e.g., groups) 407 408 409 main_memory.context = 1100000 410 hash_extra.context = 25000 411 pool_size.context = 750000 412 string_vacancies.context = 45000 413 max_strings.context = 55000 414 pool_free.context = 47500 415 nest_size.context = 500 416 param_size.context = 1500 417 save_size.context = 5000 418 stack_size.context = 1500 419 420 main_memory.hugetex = 1100000 421 param_size.hugetex = 1500 422 stack_size.hugetex = 1500 423 hash_extra.hugetex = 15000 424 string_vacancies.hugetex = 45000 425 pool_free.hugetex = 47500 426 nest_size.hugetex = 500 427 save_size.hugetex = 5000 428 pool_size.hugetex = 500000 429 max_strings.hugetex = 55000 430 431 main_memory.hugelatex = 1100000 432 param_size.hugelatex = 1500 433 stack_size.hugelatex = 1500 434 hash_extra.hugelatex = 15000 435 string_vacancies.hugelatex = 45000 436 pool_free.hugelatex = 47500 437 nest_size.hugelatex = 500 438 save_size.hugelatex = 5000 439 pool_size.hugelatex = 500000 440 max_strings.hugelatex = 55000 441 442 main_memory.jadetex = 1500000 443 param_size.jadetex = 1500 444 stack_size.jadetex = 1500 445 hash_extra.jadetex = 50000 446 string_vacancies.jadetex = 45000 447 pool_free.jadetex = 47500 448 nest_size.jadetex = 500 449 save_size.jadetex = 5000 450 pool_size.jadetex = 500000 451 max_strings.jadetex = 55000 452 453 main_memory.pdfjadetex = 2500000 454 param_size.pdfjadetex = 1500 455 stack_size.pdfjadetex = 1500 456 hash_extra.pdfjadetex = 50000 457 string_vacancies.pdfjadetex = 45000 458 pool_free.pdfjadetex = 47500 459 nest_size.pdfjadetex = 500 460 save_size.pdfjadetex = 5000 461 pool_size.pdfjadetex = 500000 462 max_strings.pdfjadetex = 55000 463 464 main_memory.pdflatex = 1500000 465 param_size.pdflatex = 1500 466 stack_size.pdflatex = 1500 467 hash_extra.pdflatex = 15000 468 string_vacancies.pdflatex = 45000 469 pool_free.pdflatex = 47500 470 nest_size.pdflatex = 500 471 pool_size.pdflatex = 500000 472 save_size.pdflatex = 5000 473 max_strings.pdflatex = 55000 474 475 main_memory.pdfelatex = 1500000 476 param_size.pdfelatex = 1500 477 stack_size.pdfelatex = 1500 478 hash_extra.pdfelatex = 15000 479 string_vacancies.pdfelatex = 45000 480 pool_free.pdfelatex = 47500 481 nest_size.pdfelatex = 500 482 pool_size.pdfelatex = 500000 483 save_size.pdfelatex = 5000 484 max_strings.pdfelatex = 55000