[luatex] macros to invoke lua in LaTeX
Hans Hagen
pragma at wxs.nl
Fri Mar 6 08:48:49 CET 2009
> There are quite some applications in LaTeX, that are based on
> the possibility to redefine a primitive command, e.g.
> \shipout is redefined in various packages (atbegshi, everyshi,
> pdftex.def for background color, ...).
> Another application is debugging, e.g. \special is a candidate,
> that can be redefined to print its contents to the .log file
> additionally.
> All these wouldn't be possible, if \(pdf)primitive was used.
i assume that if the core engine uses \primitive\shipout that it doe
with a purpose; actually the core should provide a proper way to
overload its behaviour then; i woul dnot be surprised that when packages
overload primitives, that when users load several in (an arbitrary)
order, problems show up anyway
> As example, you got lucky with \formatname: LaTeX uses \fmtname,
> quite close already, I would say.
normally when choosing a new name, a scan on the tex live tree is done
> The point is that there is software written at a time with
> a known set of command names from the engines.
> Now the engines evolve further and introduces new command names.
> This can lead to name clashes, because the engine developer
> cannot know all software that is based on the engine to avoid them.
> Prefixing helps to reduce the probability of such name clashes.
> With reserved prefixes they can even be avoided.
as said ... latex can start with a truckload of
\let\reservedlatexprefixsomethingnew=\somethingnew
or even \luatexprimitivesomethingnew=\somethingnew if it wants.
this can be done even for older ones; that keeps the engine clean and
puts the burden on the macro package (as it should)
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 luatex
mailing list