[tex-live] texmf.cnf paths for format files
Sanjoy Mahajan
sanjoy at mrao.cam.ac.uk
Thu Jan 18 14:54:48 CET 2007
> TEXFORMATS = .;$TEXMF/web2c/{$engine,}
In my regular setup (texlive 2005 Debian packages + Norbert's Context
packages), I have it here:
$ kpsewhich pdftex.fmt
/var/lib/texmf/web2c/pdftex.fmt
> $ kpsewhich --engine=pdftex pdftex.fmt
> /Users/jonathan/.texlive2007/texmf-var/web2c/pdftex/pdftex.fmt
pdftex doesn't need to go into an engine-specific directory, since the
'pdftex' specifies the engine and there's no danger of duplication.
Only with formats like pdftex/cont-en.fmt vs xetex/cont-en.fmt is
engine subpath needed, as far as I can see. So you're right that
kpsewhich cont-en.fmt
won't find the context formats. On the other hand, few naive users
will be trying the above command.
> TEXFORMATS = .;$TEXMF/web2c/{$engine,}//
This alternative seems a bit dangerous because it introduces
indeterminism into the searching. Sure, ASCII ordering will make a
choice, at least if there's an ls-R file (because 'ls' does ascii
ordering). But without an ls-R file, I'm not sure what order the
filesystem will be searched. Maybe the kpathsea gurus can say, but
even then it seems unwise for format searching to depend on a
low-level implementation detail like that.
An alternative fix so that 'kpsewhich pdftex.fmt' works is for fmtutil
to place pdftex.fmt in web2c/ directly. But I'm not sure how easy
that change is to do now in the release process.
-Sanjoy
`Not all those who wander are lost.' (J.R.R. Tolkien)
More information about the tex-live
mailing list