[NTG-context] Re: texexec 4.0 to 5.0 update.
h h extern
pragma at wxs.nl
Sun Oct 24 21:42:53 CEST 2004
Dirar BOUGATEF wrote:
> What is the folder script in cont-tmf ? I had to copy manually the
> texexec.pl from this folder to my bin folder to update texexec with the
> 5.0 version. Should not that have been done when i unzipped every thing
> or is it done on purpose (To me it looks like the peltk folder in
> texmf\context).
In the latest TDS specs, scripts now reside under the ../scripts path
instead of under package entries (like ../context).
One way to locate a script used to be to call 'kpsewhich' with the
format 'other text files' but now the format is 'texmfscripts'.
The consequence of this is, that (combined with moved enc and map files
in combination with strict paths in the texmf.cnf files), tex
distributions are not downward compatible. The assumption is more or
less that users reinstall the whole lot and don't have their own fonts
and such -)
Another change is the flattening of format suffixes to fmt (so make sure
that you remove the efmt ones when you update binaries); although the
spec suggests the usage of an $engine subpath (in order to distinguish
formats) it looks like distributions will not implement this (too
difficult).
The way context deals with that is the following:
- you can use texmfstart (ruby script, win binary at our website) to
launch a resource (document, script. whatever is supported)
- you can use textools --fixtexmftree to convert an old to a new tree
- you can use --engine (or set the var in texexec.ini) to use the
$engine subpath conforming the TDS structure [unfortunately it looks
like the $engine subpath will not be supported by texmf.cnf file; so
much for standards]
alternatively, one can (manually) adapt the texmf.cnf file (or have a
partial copy in your local tree) that extends the enc + map paths to the
old locations
Launching a script, can be done indirectly, using texmfstart, like
texmfstart texexec.pl ... args ...
or one can make a small stub, for instance:
texmfstart --make texexec.pl
and move the resulting bat file in one of your bin path. The texmfstart
route is supposed to work with the old and new trees and future trees
(since I will try to keep texmfstart downward compatible).
[on unix, it's hard to distinguish files by type, i.e. texexec can be a
stub, perl script, binary, whatever; in this case, texmfstart will create a
Note that distributions have different means of locating scripts and
resources, in which case you depend on the integrety of a distribution.
In case of problems, you can always replace the stubs by texmfstart
based stubs.
Because of testing for tex live (which is the reference cross platfoirm
tex distribution), i package the zips in the new structure and this
means that users who have old trees and binaries may run into problems
when they mix things.
[these changes in the enc/map file locations may give users who have
their own font trees some headaches; also, if you use scripts in your
own scripting tools e.g. in server apps, then you should be aware of the
fact that locating scripts needs patches, i.e. the format fed to
kpsewhich; here i have so many scripts that i don't put them all in the
path, for instance because of name clashes, and i used to use kpsewhich
to locate them; using texmfstart in such cases is more future safe, and
with the coming new kpse run-as-deamon libraries it may become faster as
well]
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
More information about the ntg-context
mailing list