% TeX Live texmf.cnf % % Part 1: Search paths and directories. % You can set an environment variable to override TEXMF if you're testing % a new TeX tree, without changing anything else. % % You may wish to use one of the $SELFAUTO... variables here so TeX will % find where to look dynamically. See the manual and the definition % below of TEXMFCNF. % The main tree, which must be mentioned in $TEXMF, below: TEXMFMAIN = $SELFAUTOPARENT %/texmf % A place for local additions to a "standard" texmf tree. TEXMFLOCAL = $SELFAUTOPARENT %/texmf-local % User texmf trees can be catered for like this... HOMETEXMF=$HOME %/texmf % A place where texconfig stores modifications (instead of the TEXMFMAIN % tree). texconfig relies on the name, so don't change it. VARTEXMF = $SELFAUTOPARENT/texmf-var % Now, list all the texmf trees. If you have multiple trees, % use shell brace notation, like this: % TEXMF = {$HOMETEXMF,!!$VARTEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN} % The braces are necessary. TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} % The system trees. These are the trees that are shared by all the users. SYSTEXMF = $TEXMF % Where generated fonts may be written. This tree is used when the sources % were found in a system tree and either that tree wasn't writable, or the % varfonts feature was enabled in MT_FEATURES in mktex.cnf. VARTEXFONTS = $TEMPFONTPATH/varfonts % Where to look for ls-R files. There need not be an ls-R in the % directories in this path, but if there is one, Kpathsea will use it. TEXMFDBS = $TEXMF;$VARTEXFONTS % It may be convenient to define TEXMF like this: % TEXMF = {$HOMETEXMF,!!$TEXMFLOCAL,!!$TEXMFMAIN,$HOME} % which allows users to set up entire texmf trees, and tells TeX to % look in places like ~/tex and ~/bibtex. If you do this, define TEXMFDBS % like this: % TEXMFDBS = $HOMETEXMF;$TEXMFLOCAL;$TEXMFMAIN;$VARTEXFONTS % or mktexlsr will generate an ls-R file for $HOME when called, which is % rarely desirable. If you do this you'll want to define SYSTEXMF like % this: % SYSTEXMF = $TEXMFLOCAL;$TEXMFMAIN % so that fonts from a user's tree won't escape into the global trees. % % On some systems, there will be a system tree which contains all the font % files that may be created as well as the formats. For example % VARTEXMF = /var/lib/texmf % is used on many Linux systems. In this case, set VARTEXFONTS like this % VARTEXFONTS = $VARTEXMF/fonts % and do not mention it in TEXMFDBS (but _do_ mention VARTEXMF). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Usually you will not need to edit any of the other variables in part 1. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % WEB2C is for Web2C specific files. The current directory may not be % a good place to look for them. WEB2C = $TEXMF/web2c % TEXINPUTS is for TeX input files -- i.e., anything to be found by \input % or \openin, including .sty, .eps, etc. % LaTeX-specific macros are stored in latex. TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic,}// TEXINPUTS.hugelatex = .;$TEXMF/tex/{latex,generic,}// % Fontinst needs to read afm files. TEXINPUTS.fontinst = .;$TEXMF/{tex{/fontinst,},fonts/afm}// % Plain TeX. Have the command tex check all directories as a last % resort, we may have plain-compatible stuff anywhere. TEXINPUTS.tex = .;$TEXMF/tex/{plain,generic,}// % other plain-based formats TEXINPUTS.amstex = .;$TEXMF/tex/{amstex,plain,generic,}// TEXINPUTS.ftex = .;$TEXMF/tex/{formate,plain,generic,}// TEXINPUTS.texinfo = .;$TEXMF/tex/{texinfo,plain,generic,}// TEXINPUTS.eplain = .;$TEXMF/tex/{eplain,plain,generic,}// TEXINPUTS.jadetex = .;$TEXMF/tex/{jadetex,generic,plain,}// TEXINPUTS.pdfjadetex = .;$TEXMF/{pdftex,tex}/{jadetex,generic,plain,}// % e-TeX. TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic,}// TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{generic,plain,}// % PDFTeX. This form of the input paths is borrowed from teTeX. A certain % variant of TDS is assumed here, unaffected by the build variables. TEXINPUTS.pdftexinfo = .;$TEXMF/{pdftex,tex}/{texinfo,plain,generic,}// TEXINPUTS.pdflatex = .;$TEXMF/{pdftex,tex}/{latex,generic,}// TEXINPUTS.pdftex = .;$TEXMF/{pdftex,tex}/{plain,generic,}// TEXINPUTS.pdfelatex = .;$TEXMF/{pdfetex,pdftex,etex,tex}/{latex,generic,}// TEXINPUTS.pdfetex = .;$TEXMF/{pdfetex,pdftex,etex,tex}/{plain,generic,}// % Omega. TEXINPUTS.lambda = .;$TEXMF/{omega,tex}/{lambda,latex,generic,}// TEXINPUTS.omega = .;$TEXMF/{omega,tex}/{plain,generic,}// % Context macros by Hans Hagen: TEXINPUTS.context = .;$CONTEXTPATH/sources//;$TEXMF/{pdftex,pdfetex,etex,omega,tex}/{context,plain,generic,}// % cstex, from Petr Olsak TEXINPUTS.cslatex = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}// TEXINPUTS.csplain = .;$TEXMF/tex/{csplain,plain,generic,}// TEXINPUTS.pdfcslatex = .:$TEXMF/{pdftex,tex}/{cslatex,csplain,latex,generic,}// TEXINPUTS.pdfcsplain = .:$TEXMF/{pdftex,tex}/{csplain,plain,generic,}// % Polish TEXINPUTS.platex = .;$TEXMF/tex/{platex,latex,generic,}// TEXINPUTS.pdfmex = .;$TEXMF/{pdftex,tex}/{mex,plain,generic,}// TEXINPUTS.mex = .;$TEXMF/tex/{mex,plain,generic,}// % french TEXINPUTS.frtex = .;$TEXMF/{mltex,tex}/{plain,generic,}// TEXINPUTS.frlatex = .;$TEXMF/{mltex,tex}/{frlatex,latex,generic,}// % MLTeX TEXINPUTS.mltex = .;$TEXMF/{mltex,tex}/{plain,generic,}// TEXINPUTS.mllatex = .;$TEXMF/{mltex,tex}/{latex,generic,}// % odd formats needing their own paths TEXINPUTS.lollipop = .;$TEXMF/tex/{lollipop,generic,plain,}// TEXINPUTS.lamstex = .;$TEXMF/tex/{lamstex,generic,plain,}// % Earlier entries override later ones, so put this last. TEXINPUTS = .;$TEXMF/tex/{generic,}// % Metafont, MetaPost inputs. MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/source// MPINPUTS = .;$CONTEXTPATH/metapost//;$TEXMF/metapost// % Dump files (fmt/base/mem) for vir{tex,mf,mp} to read (see web2c/INSTALL), % and string pools (.pool) for ini{tex,mf,mp}. It is silly that we have six % paths and directories here (they all resolve to a single place by default), % but historically ... TEXFORMATS = .;$TEXMF/web2c MFBASES = .;$TEXFORMATS MPMEMS = .;$TEXFORMATS TEXPOOL = .;$TEXFORMATS MFPOOL = .;$TEXFORMATS MPPOOL = .;$TEXFORMATS % Device-independent font metric files. VFFONTS = .;$TEXMF/fonts/vf// TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm// % The $MAKETEX_MODE below means the drivers will not use a cx font when % the mode is ricoh. If no mode is explicitly specified, kpse_prog_init % sets MAKETEX_MODE to /, so all subdirectories are searched. See the manual. % The modeless part guarantees that bitmaps for PostScript fonts are found. PKFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/pk/{$MAKETEX_MODE,modeless}// % Similarly for the GF format, which only remains in existence because % Metafont outputs it (and MF isn't going to change). GFFONTS = .;$TEXMF/fonts/gf/$MAKETEX_MODE// % A backup for PKFONTS and GFFONTS. Not used for anything. GLYPHFONTS = .;$TEXMF/fonts % For texfonts.map and included map files used by mktexpk. % See ftp://ftp.tug.org/tex/fontname.tar.gz. TEXFONTMAPS = .;$TEXMF/fontname % BibTeX bibliographies and style files. BIBINPUTS = .;$TEXMF/bibtex/{bib,}// BSTINPUTS = .;$TEXMF/bibtex/{bst,}// % PostScript headers, prologues (.pro), encodings (.enc) and fonts; % this is also where pdftex finds included figures files! TEXPSHEADERS.pdflatex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdfelatex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdftexinfo = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdfcslatex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdfcsplain = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdfetex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdfjadetex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdfmex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdftex = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.pdftexinfo = .;$TEXMF/{tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS.context = .;$TEXMF/{etex,tex,pdftex,dvips,fonts/type1}// TEXPSHEADERS = .;$TEXMF/{dvips,fonts/type1,pdftex}// % PostScript Type 1 outline fonts. T1FONTS = .;$TEXMF/fonts/type1//;$TEXMF/fonts/pfb// % PostScript AFM metric files. AFMFONTS = .;$TEXMF/fonts/afm// % TrueType outline fonts. TTFONTS = .;$TEXMF/fonts/truetype//;$TEXMF/fonts/ttf// % Type 42 outline fonts. T42FONTS = .;$TEXMF/fonts/type42// % A place to puth everything that doesn't fit the other font categories. MISCFONTS = .;$TEXMF/fonts/misc// % Dvips' config.* files (this name should not start with `TEX'!). TEXCONFIG = .;$TEXMF/dvips// % Makeindex style (.ist) files. INDEXSTYLE = .;$TEXMF/makeindex// % Used by DMP (ditroff-to-mpx), called by makempx -troff. TRFONTS = /usr/lib/font/devpost MPSUPPORT = .;$TEXMF/metapost/support % For xdvi to find mime.types and .mailcap, if they do not exist in % $HOME. These are single directories, not paths. % (But the default mime.types, at least, may well suffice.) MIMELIBDIR = c:/TeX/etc MAILCAPLIBDIR = c:/TeX/etc % TeX documentation and source files, for use with kpsewhich. TEXDOCS = .;$TEXMF/doc// TEXSOURCES = .;$TEXMF/source// % Omega-related fonts and other files. The odd construction for OFMFONTS % makes it behave in the face of a definition of TFMFONTS. Unfortunately % no default substitution would take place for TFMFONTS, so an explicit % path is retained. OFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/{ofm,tfm}//;$TFMFONTS OPLFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/opl// OVFFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovf// OVPFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/ovp// OTPINPUTS = .;$TEXMF/omega/otp// OCPINPUTS = .;$TEXMF/omega/ocp// %% TeX4ht utility, sharing files with TeX4ht T4HTINPUTS = .;$TEXMF/tex4ht// %% The mktex* scripts rely on KPSE_DOT. Do not set it in the environment. KPSE_DOT = . % This definition isn't used from this .cnf file itself (that would be % paradoxical), but the compile-time default in paths.h is built from it. % The SELFAUTO* variables are set automatically from the location of % argv[0], in kpse_set_progname. % % About the /. construction: % 1) if the variable is undefined, we'd otherwise have an empty path % element in the compile-time path. This is not meaningful. % 2) if we used /$VARIABLE, we'd end up with // if VARIABLE is defined, % which would search the entire world. % % The TETEXDIR stuff isn't likely to be relevant unless you're using teTeX, % but it doesn't hurt. % TEXMFCNF = .;{$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}\ {,{/share,}/texmf{.local,}/web2c}; % Part 2: Non-path options. % Write .log/.dvi/etc. files here, if the current directory is unwritable. % TEXMFOUTPUT = /tmp % If a dynamic file creation fails, log the command to this file, in % either the current directory or TEXMFOUTPUT. Set to the % empty string or 0 to avoid logging. MISSFONT_LOG = 0 % Set to a colon-separated list of words specifying warnings to suppress. % To suppress everything, use TEX_HUSH = all; this is equivalent to % TEX_HUSH = checksum:lostchar:readable:special TEX_HUSH = none % Enable system commands via \write18{...}? shell_escape = t % Allow TeX \openout/\openin on filenames starting with `.' (e.g., .rhosts)? % a (any) : any file can be opened. % r (restricted) : disallow opening "dotfiles". % p (paranoid) : as 'r' and disallow going to parent directories, and % restrict absolute paths to be under $TEXMFOUTPUT. openout_any = a openin_any = a % Allow TeX, MF, and MP to parse the first line of an input file for % the %&format construct. % parse_first_line = t % Enable the mktex... scripts by default? These must be set to 0 or 1. % Particular programs can and do override these settings, for example % dvips's -M option. Your first chance to specify whether the scripts % are invoked by default is at configure time. % % These values are ignored if the script names are changed; e.g., if you % set DVIPSMAKEPK to `foo', what counts is the value of the environment % variable/config value `FOO', not the `MKTEXPK' value. % % MKTEXTEX = 0 MKTEXPK = 1 MKTEXMF = 1 MKTEXTFM = 1 MKOCP = 0 MKOFM = 0 % What MetaPost runs to make MPX files. This is passed an option -troff % if MP is in troff mode. Set to `0' to disable this feature. MPXCOMMAND=texexec --mptex %TEX = texexec --once --batch --nomp % Part 3: Array and other sizes for TeX (and Metafont and MetaPost). % % If you want to change some of these sizes only for a certain TeX % variant, the usual dot notation works, e.g., % main_memory.hugetex = 20000000 % % If a change here appears to be ignored, try redumping the format file. % Memory. Must be less than 8,000,000 total. % % main_memory is relevant only to initex, extra_mem_* only to non-ini. % Thus, have to redump the .fmt file after changing main_memory; to add % to existing fmt files, increase extra_mem_*. (To get an idea of how % much, try \tracingstats=2 in your TeX source file; % web2c/tests/memtest.tex might also be interesting.) % % To increase space for boxes (as might be needed by, e.g., PiCTeX), % increase extra_mem_bot. % % For some xy-pic samples, you may need as much as 700000 words of memory. % For the vast majority of documents, 60000 or less will do. % main_memory = 263000 % words of inimemory available; also applies to inimf&mp extra_mem_top = 0 % extra high memory for chars, tokens, etc. extra_mem_bot = 0 % extra low memory for boxes, glue, breakpoints, etc. % Words of font info for TeX (total size of all TFM files, approximately). font_mem_size = 500000 % Total number of fonts. Must be >= 50 and <= 2000 (without tex.ch changes). font_max = 2000 % Extra space for the hash table of control sequences (which allows 10K % names as distributed). hash_extra = 0 % Max number of characters in all strings, including all error messages, % help texts, font names, file names, control sequences. % These values apply to TeX and MP. pool_size = 125000 % Minimum pool space after TeX/MP's own strings; must be at least % 25000 less than pool_size, but doesn't need to be nearly that large. string_vacancies = 25000 max_strings = 15000 % max number of strings pool_free = 5000 % min pool space left after loading .fmt % Hyphenation trie. As distributed, the maximum is 65535; this should % work unless `unsigned short' is not supported or is smaller than 16 % bits. This value should suffice for UK English, US English, French, % and German (for example). To increase, you must change % `ssup_trie_opcode' and `ssup_trie_size' in tex.ch (and rebuild TeX); % the trie will then consume four bytes per entry, instead of two. % % US English, German, and Portuguese: 30000. % German: 14000. % US English: 10000. trie_size = 200000 % Buffer size. TeX uses the buffer to contain input lines, but macro % expansion works by writing material into the buffer and reparsing the % line. As a consequence, certain constructs require the buffer to be % very large. As distributed, the size is 50000; most documents can be % handled within a tenth of this size. buf_size = 100000 % These are Omega-specific. ocp_buf_size = 200000 % character buffers for ocp filters. ocp_stack_size = 20000 % stacks for ocp computations. ocp_list_size = 5000 % control for multiple ocps. % These work best if they are the same as the I/O buffer size, but it % doesn't matter much. Must be a multiple of 8. dvi_buf_size = 16384 % TeX gf_buf_size = 16384 % MF % pdftex specific obj_tab_size = 300000 % It's probably inadvisable to change these. At any rate, we must have: % 45 < error_line < 255; % 30 < half_error_line < error_line - 15; % 60 <= max_print_line; % These apply to Metafont and MetaPost as well. error_line = 79 half_error_line = 50 max_print_line = 79 stack_size = 300 % simultaneous input sources save_size = 4000 % for saving values outside current group param_size = 500 % simultaneous macro parameters max_in_open = 15 % simultaneous input files and error insertions hyph_size = 1000 % number of hyphenation exceptions, >610 and <32767 nest_size = 100 % simultaneous semantic levels (e.g., groups) %buf_size.context = 200000 % needed for omega bug %main_memory.context = 1500000 % 1000000 bot/top main_memory.context = 4500000 % 1000000 bot/top hash_extra.context = 90000 % 30000 pool_size.context = 1250000 % 750000 string_vacancies.context = 200000 % 45000 % omega needs more max_strings.context = 190000 % 55000 % omega needs more pool_free.context = 47500 nest_size.context = 500 param_size.context = 5000 save_size.context = 50000 stack_size.context = 5000 obj_tab_size.context = 300000 dest_names_size.context = 300000 main_memory.hugetex = 1100000 param_size.hugetex = 1500 stack_size.hugetex = 1500 hash_extra.hugetex = 15000 string_vacancies.hugetex = 45000 pool_free.hugetex = 47500 nest_size.hugetex = 500 save_size.hugetex = 5000 pool_size.hugetex = 500000 max_strings.hugetex = 55000 main_memory.hugelatex = 1100000 param_size.hugelatex = 1500 stack_size.hugelatex = 1500 hash_extra.hugelatex = 15000 string_vacancies.hugelatex = 45000 pool_free.hugelatex = 47500 nest_size.hugelatex = 500 save_size.hugelatex = 5000 pool_size.hugelatex = 500000 max_strings.hugelatex = 55000 main_memory.jadetex = 1500000 param_size.jadetex = 1500 stack_size.jadetex = 1500 hash_extra.jadetex = 50000 string_vacancies.jadetex = 45000 pool_free.jadetex = 47500 nest_size.jadetex = 500 save_size.jadetex = 5000 pool_size.jadetex = 500000 max_strings.jadetex = 55000 main_memory.pdfjadetex = 2500000 param_size.pdfjadetex = 1500 stack_size.pdfjadetex = 1500 hash_extra.pdfjadetex = 50000 string_vacancies.pdfjadetex = 45000 pool_free.pdfjadetex = 47500 nest_size.pdfjadetex = 500 save_size.pdfjadetex = 5000 pool_size.pdfjadetex = 500000 max_strings.pdfjadetex = 55000 main_memory.pdflatex = 1500000 param_size.pdflatex = 1500 stack_size.pdflatex = 1500 hash_extra.pdflatex = 15000 string_vacancies.pdflatex = 45000 pool_free.pdflatex = 47500 nest_size.pdflatex = 500 pool_size.pdflatex = 500000 save_size.pdflatex = 5000 max_strings.pdflatex = 55000 main_memory.pdfelatex = 1500000 param_size.pdfelatex = 1500 stack_size.pdfelatex = 1500 hash_extra.pdfelatex = 15000 string_vacancies.pdfelatex = 45000 pool_free.pdfelatex = 47500 nest_size.pdfelatex = 500 pool_size.pdfelatex = 500000 save_size.pdfelatex = 5000 max_strings.pdfelatex = 55000 % Disable search on multiple suffixes filenames. In many case, when % `foo.bar' is looked for, you do not want to look for `foo.bar.tex' % before. This flag disables searching for standard suffixes if the % file name has already an extension of 3 characters. allow_multiple_suffixes = f main_memory.mf = 2500000 main_memory.metafun = 3000000 main_memory.mpost = 3000000 % needed for metafun manual extra_mem_top.context = 2000000 extra_mem_bot.context = 4000000 pool_size.mpost = 3000000 % needed for metafun manual pool_size.metafun = 3000000 font_max.context = 2000 font_mem_size.context = 1000000 obj_tab_size.pdfetex = 256000 extra_mem_top.mptopdf = 1000000 extra_mem_bot.mptopdf = 1000000 mp_buf_size = 16384 mpost_buf_size = 32000 % 16384 mf_buf_size = 16384 max_print_line.mpost = 250 max_print_line.metafun = 250