[tex-live] [2007.0122] adding a texmf tree broken?

Michael A. Peters mpeters at mac.com
Thu Jan 25 07:07:49 CET 2007


Hi. I'm not positive I am doing things the correct way but this kind of
thing worked in teTeX (fc4/fc5) so I'm not sure why it isn't working
now.

The problem - I tried modifying texmf.cnf to add a new texmf tree.
Purpose of tree is a place to put updates to TeXLive that I don't want
in the version independent texmf-local (which I pretty much only use for
commercial fonts).

I installed the TeX Live 2007-0122 snapshot on Fedora Core 6.
It is the only TeX installed on the system. No teTeX or anything else.

I went through the bin directory with ldd to make sure all necessary
libraries are in fact on the system (had to add libXp and compat-libstdc
++-33)

After fixing issues of glossary.sty and subfigure.sty no longer working
with memoir, the project I am working on compiles fine. So the install
seems good.

Here's the layout:

/texlive (lv just for texlive)
/texlive/texmf-local (local texmf tree)
/texlive/2007.0122 (all the 2007 snapshot trees inside there)

The tree I tried to add is
/texlive/2007.0122/texmf-patch

I've attached my modified texmf.cnf file.
Here's the weird thing - kpsewhich definitely knows about the new tree:

[root at atlantis web2c]# kpsewhich -expand-var '$TEXMFPATCH'
/texlive/2007.0122/texmf-patch

[root at atlantis web2c]# kpsewhich -expand-var '$TEXMF'
{/root/.texlive2007/texmf-config,/root/.texlive2007/texmf-var,/root/texmf,!!/texlive/2007.0122/texmf-config,!!/texlive/2007.0122/texmf-var,!!/texlive/2007.0122/texmf,!!/texlive/texmf-local,!!/texlive/2007.0122/texmf-patch,!!/texlive/2007.0122/texmf-dist}

[root at atlantis web2c]# kpsewhich -expand-var '$SYSTEXMF'
/texlive/texmf-local:/texlive/2007.0122/texmf-patch:/texlive/2007.0122/texmf:/texlive/2007.0122/texmf-dist

but the ls-R is not created when running texhash:

[root at atlantis web2c]# texhash
texhash: Updating /texlive/2007.0122/texmf/ls-R... 
texhash: Updating /texlive/2007.0122/texmf-config/ls-R... 
texhash: Updating /texlive/2007.0122/texmf-dist/ls-R... 
texhash: Updating /texlive/2007.0122/texmf-var/ls-R... 
texhash: Updating /texlive/texmf-local/ls-R... 
texhash: Done.

If I specify texhash /texlive/2007.0122/texmf-patch

it creates the ls-R file - and does so correctly, but any files in it
are not found by kpsewhich

Is there something else I need to do?
The thought behind the tree is a place to put errata and updates that I
don't want in texmf-local because I will be using the same texmf-local
with future TeXLive installs that may have updates to manually installed
updates ... so I want a tree in the version specific TeXLive directory
specifically for manually installed updates.

-------------- next part --------------
% 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, like 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 tree containing the runtime files closely related to the specific
% program version used:
TEXMFMAIN = $SELFAUTOPARENT/texmf

% The main distribution tree:
TEXMFDIST = $SELFAUTOPARENT/texmf-dist

% Patches to the main distribution tree:
TEXMFPATCH = $SELFAUTOPARENT/texmf-patch

% A place for local additions to a "standard" texmf tree.
% This tree is not used for local configuration maintained by
% texconfig, it uses TEXMFCONFIG below.
TEXMFLOCAL=/texlive/texmf-local

% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
%   TEXMFSYSVAR = $TEXMFMAIN
% For using a separate tree:
%   TEXMFSYSVAR = $SELFAUTOPARENT/texmf-var
TEXMFSYSVAR=$SELFAUTOPARENT/texmf-var

% TEXMFSYSCONFIG, where texconfig-sys stores configuration data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
%   TEXMFSYSCONFIG = $TEXMFMAIN
% For using a separate tree:
%   TEXMFSYSCONFIG = $SELFAUTOPARENT/texmf-config
TEXMFSYSCONFIG = $SELFAUTOPARENT/texmf-config

% User texmf trees are allowed as follows.
% This used to be HOMETEXMF.
TEXMFHOME=$HOME/texmf

% TEXMFVAR, where texconfig stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
%   TEXMFVAR = $TEXMFMAIN
% For using a separate tree:
%   TEXMFVAR = $HOME/.texmf-var  # teTeX 3.0 default
TEXMFVAR = $HOME/.texlive2007/texmf-var

% TEXMFCONFIG, where texconfig stores configuration data.
% With teTeX-3.0 or later, this must be set.
% For sharing this tree with $TEXMFMAIN:
%   TEXMFCONFIG = $TEXMFMAIN
% For using a separate tree:
%   TEXMFCONFIG = $HOME/.texmf-config  # teTeX 3.0 default
% For using a separate tree:
%   TEXMFCONFIG = $SELFAUTOPARENT/texmf-config
TEXMFCONFIG = $HOME/.texlive2007/texmf-config

% Now, list all the texmf trees. If you have multiple trees you can
% use shell brace notation, like this:
%   TEXMF = {$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFMAIN}
% The braces are necessary.
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before all other trees.
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFPATCH,!!$TEXMFDIST}

% The system trees.  These are the trees that are shared by all the users.
% If a tree appears in this list, the mktex* scripts will use
% VARTEXFONTS for generated files, if the original tree isn't writable;
% otherwise the current working directory is used.
SYSTEXMF = $TEXMFLOCAL;$TEXMFPATCH;$TEXMFMAIN;$TEXMFDIST

% 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 = $TEXMFVAR/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.
%
% By default, this is only the !! elements of TEXMF, so that mktexlsr
% does not create ls-R files in the non-!! elements -- because if an
% ls-R is present, it will be used, and the disk will not be searched.
% This is arguably a bug in kpathsea, but we will not think about it now.
% 
TEXMFDBS = {!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!TEXMFPATCH,!!$TEXMFDIST}

% It may be convenient to define TEXMF like this:
%   TEXMF = {$TEXMFHOME,!!$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 = $TEXMFHOME;$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;$TEXMFDIST
% 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
%   TEXMFVAR = /var/lib/texmf
% is used on many Linux systems.  In this case, set VARTEXFONTS like this
% VARTEXFONTS = $TEXMFVAR/fonts
% and do not mention it in TEXMFDBS (but _do_ mention TEXMFVAR).
%
% Remove $VARTEXFONTS from TEXMFDBS if the VARTEXFONTS directory is below
% one of the TEXMF directories (avoids overlapping ls-R files).


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 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.

% 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.csplain       = .;$TEXMF/tex/{csplain,plain,generic,}//
TEXINPUTS.eplain        = .;$TEXMF/tex/{eplain,plain,generic,}//
TEXINPUTS.ftex          = .;$TEXMF/tex/{formate,plain,generic,}//
TEXINPUTS.jadetex       = .;$TEXMF/tex/{jadetex,plain,generic,}//
TEXINPUTS.mex           = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.texinfo       = .;$TEXMF/tex/{texinfo,plain,generic,}//

% 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.cslatex       = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.platex        = .;$TEXMF/tex/{platex,latex,generic,}//
TEXINPUTS.latex         = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.olatex        = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.latex209      = .;$TEXMF/tex/{latex209,generic,latex,}//

% Fontinst needs to read afm files.
TEXINPUTS.fontinst      = .;$TEXMF/{tex,fonts/afm}//

% MLTeX.
TEXINPUTS.frlatex       = .;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frtex         = .;$TEXMF/tex/{french,plain,generic,}//
TEXINPUTS.mllatex       = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.mltex         = .;$TEXMF/tex/{plain,generic,}//

% 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/tex/{latex,generic,}//
TEXINPUTS.etex          = .;$TEXMF/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.pdfcslatex    = .;$TEXMF/tex/{cslatex,csplain,latex,generic,}//
TEXINPUTS.pdfcsplain    = .;$TEXMF/tex/{csplain,plain,generic,}//
TEXINPUTS.pdfjadetex    = .;$TEXMF/tex/{jadetex,plain,generic,}//
TEXINPUTS.pdflatex      = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfmex        = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.utf8mex       = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.pdftex        = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.pdftexinfo    = .;$TEXMF/tex/{texinfo,plain,generic,}//
TEXINPUTS.pdfamstex     = .;$TEXMF/tex/{amstex,plain,generic,}//

% pdfeTeX.
TEXINPUTS.pdfelatex     = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfetex       = .;$TEXMF/tex/{plain,generic,}//

% pdfxTeX.
TEXINPUTS.pdfxlatex     = .;$TEXMF/tex/{latex,generic,}//
TEXINPUTS.pdfxtex       = .;$TEXMF/tex/{plain,generic,}//

% XeTeX
TEXINPUTS.xelatex       = .;$TEXMF/tex/{xelatex,latex,generic,}//
TEXINPUTS.xeplain       = .;$TEXMF/tex/{xeplain,eplain,plain,generic,}//
TEXINPUTS.xetex         = .;$TEXMF/tex/{xetex,plain,generic,}//

% Omega / Aleph
TEXINPUTS.lamed         = .;$TEXMF/tex/{lamed,lambda,latex,generic,}//
TEXINPUTS.lambda        = .;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.omega         = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.aleph         = .;$TEXMF/tex/{plain,generic,}//

% ConTeXt
TEXINPUTS.context       = .;$TEXMF/tex/{context,plain,generic,}//

% odd formats needing their own paths
TEXINPUTS.lamstex       = .;$TEXMF/tex/{lamstex,plain,generic,}//
TEXINPUTS.lollipop      = .;$TEXMF/tex/{lollipop,plain,generic,}//
TEXINPUTS.platex-pl     = .;$TEXMF/tex/{platex,latex,generic,}//
TEXINPUTS.pdfplatex     = .;$TEXMF/tex/{platex,latex,generic,}//

% Earlier entries override later ones, so put this last.
TEXINPUTS               = .;$TEXMF/tex/{$progname,generic,}//

% Metafont, MetaPost inputs.
MFINPUTS = .;$TEXMF/metafont//;{$TEXMF/fonts,$VARTEXFONTS}/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/{$engine,}//
MFBASES = .;$TEXMF/web2c/{$engine,}//
MPMEMS = .;$TEXMF/web2c/{$engine,}//
TEXPOOL = .;$TEXMF/web2c
MFPOOL = .;$TEXMF/web2c
MPPOOL = .;$TEXMF/web2c

% support the original xdvi.  Must come before the generic settings.
PKFONTS.XDvi   = .;$TEXMF/%s;$VARTEXFONTS/pk/{%m,modeless}//
VFFONTS.XDvi   = .;$TEXMF/%s
PSHEADERS.XDvi = .;$TEXMF/%q{dvips,fonts/type1}//
TEXPICTS.XDvi  = .;$TEXMF/%q{dvips,tex}//

% 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

% A place to puth everything that doesn't fit the other font categories.
MISCFONTS = .;$TEXMF/fonts/misc//

% font name map files.  This isn't just fonts/map// because ConTeXt
% wants support for having files with the same name in the different
% subdirs.  Maybe if the programs ever get unified to accepting the same
% map file syntax the definition can be simplified again.
TEXFONTMAPS = .;$TEXMF/fonts/map/{$progname,pdftex,dvips,}//

% BibTeX bibliographies and style files.
BIBINPUTS = .;$TEXMF/bibtex/bib//
BSTINPUTS = .;$TEXMF/bibtex/{bst,csf}//

% MFT style files.
MFTINPUTS = .;$TEXMF/mft//

% PostScript headers and prologues (.pro); unfortunately, some programs
% also use this for acessing font files (enc, type1, truetype)
TEXPSHEADERS = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3}}//
TEXPSHEADERS.gsftopk = .;$TEXMF/{dvips,fonts/{enc,type1,type42,type3,truetype}}//

% OSFONTDIR is to provide a convenient hook for allowing TeX to find
% fonts installed on the system (outside of TeX).  An empty default
% value would add "//" to the search paths, so we give it a dummy value.
OSFONTDIR = /please/set/osfontdir/in/the/environment

% PostScript Type 1 outline fonts.
T1FONTS = .;$TEXMF/fonts/type1//;$OSFONTDIR//

% PostScript AFM metric files.
AFMFONTS = .;$TEXMF/fonts/afm//;$OSFONTDIR//

% TrueType outline fonts.
TTFONTS = .;$TEXMF/fonts/truetype//;$OSFONTDIR//

% Opentype outline fonts.
OPENTYPEFONTS = .;$TEXMF/fonts/opentype//;$OSFONTDIR//

% Type 42 outline fonts.
T42FONTS = .;$TEXMF/fonts/type42//

% Ligature definition files.
LIGFONTS =  .;$TEXMF/fonts/lig//

% Dvips' config.* files (this name should not start with `TEX'!).
TEXCONFIG = $TEXMF/dvips//

% Makeindex style (.ist) files.
INDEXSTYLE = .;$TEXMF/makeindex//

% Font encoding files (.enc).
ENCFONTS = .;$TEXMF/fonts/enc//

% CMap files.
CMAPFONTS = .;$TEXMF/fonts/cmap//

% Subfont definition files.
SFDFONTS = .;$TEXMF/fonts/sfd//

% OpenType outline fonts.
OPENTYPEFONTS = .;$TEXMF/fonts/opentype//

% pdftex config files:
PDFTEXCONFIG = .;$TEXMF/pdftex/{$progname,}//

% Used by DMP (ditroff-to-mpx), called by makempx -troff.
TRFONTS = /usr/{local,}/share/groff/{current/font,site-font}/devps
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 = $SELFAUTOPARENT/etc
MAILCAPLIBDIR = $SELFAUTOPARENT/etc

% Default settings for fontconfig library, used by Win32 versions of  
% xetex/xdvipdfmx (note that fontconfig on Linux/Unix-like systems 
% will ignore settings in this file)
FONTCONFIG_FILE=fonts.conf
FONTCONFIG_PATH=$SELFAUTOLOC/conf
FC_CACHEDIR=$SELFAUTOLOC/cache

% TeX documentation and source files, for use with kpsewhich.
% TeX Live has a separate hierarchy with just documentation, texmf-doc,
% in addition to the doc files in the other hierarchies.
TEXMFDOCDIR = $SELFAUTOPARENT/texmf-doc/doc
TEXDOCS = .;$TEXMF/doc//;$TEXMFDOCDIR//
TEXSOURCES = .;$TEXMF/source//

% Web and CWeb input paths.
WEBINPUTS = .;$TEXMF/web//
CWEBINPUTS = .;$TEXMF/cweb//

% 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//

% 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.
T4HTINPUTS   = .;$TEXMF/tex4ht//

% Architecture independent executables.
TEXMFSCRIPTS = $TEXMF/scripts/{$engine,$progname,}//

%% 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.
% 
% The TETEXDIR stuff isn't likely to be relevant unless you're using
% teTeX, but it doesn't hurt.
%
% For security reasons, it is better not to have . part of the path.
%
TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c};/.$TETEXDIR

# $progname: kpathsea v. 3.5.3 or later overwrites this at runtime. To
# avoid empty expansions from binaries linked against an earlier
# version of the library, we set $progname and $engine to something
# non-empty:
progname = unset
engine = unset


%  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 currently equivalent to
% TEX_HUSH = checksum:lostchar:readable:special
% To suppress nothing, use TEX_HUSH = none or do not set the variable at all.
TEX_HUSH = none

% Enable system commands via \write18{...}?
shell_escape = f

% Allow TeX \openin, \openout, or \input on filenames starting with `.'
% (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
% 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
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

% But don't parse the first line if invoked as "tex", since we want that
% to remain Knuth-compatible.  The src_specials and
% file_line_error_style settings, as well as the options -enctex,
% -mltex, -8bit, etc., also affect this, but they are all off by default.
parse_first_line.tex = f

% Control file:line:error style messages.
file_line_error_style = f

% 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 = 0
% MKTEXMF = 0
% MKTEXTFM = 0
% MKTEXFMT = 0
% 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

% Used by makempx to run TeX.  We use "etex" because MetaPost is
% expecting DVI, and not "tex" because we want first line parsing.
TEX = etex


%  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 = 1500000 % 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.

% ConTeXt needs lots of memory.
extra_mem_top.context = 2000000
extra_mem_bot.context = 4000000

% Words of font info for TeX (total size of all TFM files, approximately).
% Must be >= 20000 and <= 4000000 (without tex.ch changes).
font_mem_size = 1200000

% 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 = 50000

% 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 = 1250000
% 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 = 90000
% Maximum number of strings.
max_strings = 100000
% min pool space left after loading .fmt
pool_free = 47500

% 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, even though most documents can be handled with a small value.
buf_size = 200000

% Hyphenation trie.  The maximum possible is 4194303 (ssup_trie_size in
% the sources), but we don't need that much.  The value here suffices
% for all known free hyphenation patterns to be loaded simultaneously
% (as TeX Live does).
%
trie_size = 300000

hyph_size = 8191        % prime number of hyphenation exceptions, >610, <32767.
                        % http://primes.utm.edu/curios/page.php/8191.html
nest_size = 500         % simultaneous semantic levels (e.g., groups)
max_in_open = 15        % simultaneous input files and error insertions
param_size = 10000      % simultaneous macro parameters
save_size = 5000        % for saving values outside current group
stack_size = 5000       % simultaneous input sources

% These are Omega-specific.
ocp_buf_size = 500000   % character buffers for ocp filters.
ocp_stack_size = 10000  % stacks for ocp computations.
ocp_list_size = 1000    % control for multiple ocps.

% Parameter specific to MetaPost.
% Maximum number of knots between breakpoints of a path.
% Set to 2000 by default.
% path_size.mpost = 10000

% 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


%  Part 4: extra format definitions for TeX Live

TEXINPUTS.elambda       = .;$TEXMF/tex/{lambda,latex,generic,}//
TEXINPUTS.eomega        = .;$TEXMF/tex/{plain,generic,}//
TEXINPUTS.pdfxmex       = .;$TEXMF/tex/{mex,plain,generic,}//
TEXINPUTS.frpdflatex    = .;$TEXMF/tex/{french,latex,generic,}//
TEXINPUTS.frpdftex      = .;$TEXMF/tex/{french,plain,generic,}//
TEXINPUTS.xmltex        = .;$TEXMF/tex/{xmltex,latex,generic,}//
TEXINPUTS.pdfxmltex     = .;$TEXMF/tex/{xmltex,latex,generic,}//

TTF2TFMINPUTS =                 .;$TEXMF/ttf2pk//

% For bibtex8. Do we really need to repeat the BIBINPUTS setting?
BIBINPUTS.bibtex8 =             .;$TEXMF/bibtex/{bib,}//
BSTINPUTS.bibtex8 =             .;$TEXMF/bibtex/{bst,csf,}//

% allow for compressed files, and various extenions
TEXDOCSSUFFIX   = ;.pdf;.ps;.dvi;.html;.txt;.tex
TEXDOCSCOMPRESS = ;.gz;.bz2;.zip;.Z
TEXDOCEXT       = {$TEXDOCSSUFFIX}{$TEXDOCSCOMPRESS}

%% t4ht utility, sharing files with TeX4ht
TEX4HTFONTSET=alias,iso8859,unicode
TEX4HTINPUTS = .;$TEXMF/tex4ht/base//;$TEXMF/tex4ht/ht-fonts/{$TEX4HTFONTSET}//

% Part for scripts that are distributed/installed in the texmf tree.

% Perl, Python, Ruby, Java scripts (Win32 only)
% This is used by the irun.exe program which simulates a symlink
% but also makes use of kpathsea to retrieve the target
JAVAINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/java//
LUAINPUTS    = .;$TEXMF/scripts/{$progname,$engine,}/lua//
PERLINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/perl//
PYTHONINPUTS = .;$TEXMF/scripts/{$progname,$engine,}/python//
RUBYINPUTS   = .;$TEXMF/scripts/{$progname,$engine,}/ruby//

% Suggestions for editor settings under Windows. Uncomment your
% preferred option. The corresponding MFEDIT can also be set for use with
% Metafont.
%
% Winedt:
%  TEXEDIT=C:\WinEdt\WinEdt.exe "[Open('%s');SelLine(%d,7)]
% Textpad:
%  TEXEDIT =                    c:\Progra~1\TextPad\System\Ddeopn32 TextPad %s(%d)
% UltraEdit (newer Win32 versions):
%  TEXEDIT =                    uedit32 %s/%d/1
% WinTeXShell32:
%  TEXEDIT =                    texshell.exe /l=%d %s
% vi, vim, gvim. here we show Windows gvim.exe:
%  TEXEDIT =                    gvim.exe %s +%d
% PFE:
%  TEXEDIT=pfe32/g%d  %s
% MED:
%  TEXEDIT=med.exe "%s" %d
% TSE:
%  TEXEDIT=e32.exe "%s" -n%d
% Epsilon (Lugaru)            http://www.lugaru.com/
%  TEXEDIT="c:\Program Files\eps90\bin\e32.exe" +%d %s
% WinShell
% TEXEDIT=C:\Progra~1\WinShell\WinShell.exe -c %s -l %d
% notepad
% TEXEDIT = notepad %s

% For unix
%
% vi, vim, NEdit, (X)Emacs, pico, jed
% TEXEDIT =                     vi     +%d %s
% TEXEDIT =                     vim    +%d %s
% TEXEDIT =                     nedit  +%d %s
% TEXEDIT =                     xemacs +%d %s
% TEXEDIT =                     emacs +%d %s

%(x)fte:
% TEXEDIT =                     xfte   -l%d %s

% 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. Default value is true (old behaviour).
allow_multiple_suffixes =                       f


More information about the tex-live mailing list