% texmf.cnf -- runtime path configuration file for kpathsea. % (If you change or delete `original' on the previous line, the % distribution won't install its version over yours.) % Public domain. % % What follows is a super-summary of what this .cnf file can % contain. Please read the Kpathsea manual for more information. % % texmf.cnf is generated from texmf.in, by replacing @var@ with the % value of the Make variable `var', via a sed file texmf.sed, generated % (once) by kpathsea/Makefile (itself generated from kpathsea/Makefile.in % by configure). % % Any identifier (sticking to A-Za-z_ for names is safest) can be assigned. % The `=' (and surrounding spaces) is optional. % No % or @ in texmf.in, for the sake of autogeneration. % (However, %'s and @'s can be edited into texmf.cnf or put in envvar values.) % $foo (or ${foo}) in a value expands to the envvar or cnf value of foo. % % Earlier entries (in the same or another file) override later ones, and % an environment variable foo overrides any texmf.cnf definition of foo. % % All definitions are read before anything is expanded, so you can use % variables before they are defined. % % If a variable assignment is qualified with `.PROGRAM', it is ignored % unless the current executable (last filename component of argv[0]) is % named PROGRAM. This foo.PROGRAM construct is not recognized on the % right-hand side. For environment variables, use FOO_PROGRAM. % % Which file formats use which paths for searches is described in the % various programs' and the kpathsea documentation. % % // means to search subdirectories (recursively). % A leading !! means to look only in the ls-R db, never on the disk. % A leading/trailing/doubled : in the paths will be expanded into the % compile-time default. Probably not what you want. % % You can use brace notation, for example: /usr/local/{mytex:othertex} % expands to /usr/local/mytex:/usr/local/othertex. Instead of the path % separator you can use a comma: /usr/local/{mytex,othertex} also expands % to /usr/local/mytex:/usr/local/othertex. However, the use of the comma % instead of the path separator is deprecated. % % The text above assumes thet path separator is a colon (:). Non-UNIX % systems use different path separators, for example MicroSoft operating % systems use the semicolon (;). % 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 = /sys/lib/texmf % A place for local additions to a "standard" texmf tree. For example: % TEXMFLOCAL = /sys/lib/texmf.local % User texmf trees can be catered for like this... % HOMETEXMF = $HOME/texmf % Now, list all the texmf trees. If you have multiple trees, % use shell brace notation, like this: % TEXMF = {$HOMETEXMF:!!$TEXMFLOCAL:!!$TEXMFMAIN} % The braces are necessary. TEXMF = !!$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 = /sys/lib/texmf/fonts % 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 % 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 2e specific macros are stored in latex/, macros that can only be % used with 2.09 in latex209/. In addition, we look in the directory % latex209, useful for macros that were written for 2.09 and do not % mention 2e at all, but can be used with 2e. TEXINPUTS.latex209 = .:$TEXMF/tex/{latex209:generic:latex:}// TEXINPUTS.latex2e = .:$TEXMF/tex/{latex:generic:latex209:}// TEXINPUTS.latex = .:$TEXMF/tex/{latex:generic:latex209:}// % Fontinst needs to read afm files. TEXINPUTS.fontinst = .:$TEXMF/tex//:$TEXMF/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:plain:generic:}// % MLTeX. TEXINPUTS.frtex = .:$TEXMF/{mltex:tex}/{french:plain:generic:}// TEXINPUTS.frlatex = .:$TEXMF/{mltex:tex}/{french:latex:generic:latex209:}// TEXINPUTS.mltex = .:$TEXMF/{mltex:tex}/{plain:generic:}// TEXINPUTS.mllatex = .:$TEXMF/{mltex:tex}/{latex:generic:latex209:}// % e-TeX. This form of the input paths is borrowed from teTeX. A certain % variant of TDS is assumed here, unaffected by the build variables. TEXINPUTS.elatex = .:$TEXMF/{etex:tex}/{latex:generic:latex209:plain:}// TEXINPUTS.etex = .:$TEXMF/{etex:tex}/{plain:generic:}// % 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:generic:plain:}// TEXINPUTS.pdflatex = .:$TEXMF/{pdftex:tex}/{latex:generic:latex209:plain:}// TEXINPUTS.pdftex = .:$TEXMF/{pdftex:tex}/{plain:generic:}// % Omega. TEXINPUTS.lambda = .:$TEXMF/{omega:tex}/{lambda:latex:generic:latex209:plain:}// TEXINPUTS.omega = .:$TEXMF/{omega:tex}/{plain:generic:}// % Earlier entries override later ones, so put this last. TEXINPUTS = .:$home/lib/tex:$TEXMF/tex/{generic:}// % Metafont, MetaPost inputs. MFINPUTS = .:$TEXMF/metafont//:{$TEXMF/fonts}//source// MPINPUTS = .:$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 = .:$TEXMF/web2c MPMEMS = .:$TEXMF/web2c TEXPOOL = .:$TEXMF/web2c MFPOOL = .:$TEXMF/web2c MPPOOL = .:$TEXMF/web2c % Device-independent font metric files. VFFONTS = .:$TEXMF/fonts//vf// TFMFONTS = .:{$TEXMF/fonts}//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}//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:}// % MFT style files. MFTINPUTS = .:$TEXMF/mft// % PostScript headers, prologues (.pro), encodings (.enc) and fonts. TEXPSHEADERS = .:$TEXMF/dvips//:$TEXMF/pdftex//:$TEXMF/fonts//type1// % PostScript Type 1 outline fonts. T1FONTS = .:$TEXMF/fonts//type1// % PostScript AFM metric files. AFMFONTS = .:$TEXMF/fonts//afm// % TrueType outline fonts. TTFONTS = .:$TEXMF/fonts//truetype// % Type 42 outline fonts. T42FONTS = .:$TEXMF/fonts//type42// % 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 = /sys/lib//etc MAILCAPLIBDIR = /sys/lib//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}//{ofm:tfm}//:$TFMFONTS OPLFONTS = .:{$TEXMF/fonts}//opl// OVFFONTS = .:{$TEXMF/fonts}//ovf// OVPFONTS = .:{$TEXMF/fonts}//ovp// OTPINPUTS = .:$TEXMF/omega/otp// OCPINPUTS = .:$TEXMF/omega/ocp// % Some additional input variables for several programs. If you add % a program that uses the 'other text files' or 'other binary files' % search formats, you'll want to add their variables here as well. XDVIINPUTS = .:$TEXMF/xdvi TEX4HTINPUTS = .:$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 relevant unless you're using teTeX, % but it doesn't hurt. % TEXMFCNF = .:{$SELFAUTOLOC:$SELFAUTODIR:$SELFAUTOPARENT}{:{/share:}/texmf{.local:}/web2c}:/.$TETEXDIR:/.$TEXMF/web2c:/sys/lib/texmf/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 = missfont.log % 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 = f % Allow TeX \openout 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 = p % 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 = makempx % 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 = 700000 % 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 = 200000 % Total number of fonts. Must be >= 50 and <= 2000 (without tex.ch changes). font_max = 1000 % 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, 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 = 64000 % 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 = 50000 hyph_size = 1000 % number of hyphenation exceptions, >610 and <32767. nest_size = 100 % simultaneous semantic levels (e.g., groups) max_in_open = 15 % simultaneous input files and error insertions param_size = 500 % simultaneous macro parameters save_size = 4000 % for saving values outside current group stack_size = 300 % simultaneous input sources % These are Omega-specific. ocp_buf_size = 20000 % character buffers for ocp filters. ocp_stack_size = 10000 % stacks for ocp computations. ocp_list_size = 1000 % 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 % 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