# [luatex] macros to invoke lua in LaTeX

Hans Hagen pragma at wxs.nl
Fri Mar 6 10:39:52 CET 2009

```Ulrike Fischer wrote:

> I have to know the exact names of the new primitive commands only if
> I want to use them. To write a package that can be used with all
> engines without a clash it is enough to know how to avoid the names.
> That's easy with pdftex: simply don't use commands starting with
> \pdf. It's also easy with XeTeX: avoid commands starting with
> \XeTeX. But with luatex you are right. I will have to check
> everytime a new version is released if there is a conflict.

you'll have to check anyway since we can change names of primitives (or
function at the lua end) as we progress; however, we will declare some
of them stable with version 0.50 and more with 1.00

>> e-TeX provides new primitives, why can't luatex do the same?
>
> Nobody is denying luatex the right to declare new primitives. The
> only question is if the names of this new primitives should use some
> namespace.

so, i suggest that you convince your fellow latex users to come op with
a definition file that is loaded early and maps primitives to prefixed
ones (for which you can use \lua if you can agree upon it); the
advantage is that even if we change primitives, package users still see
the same (it's what i've been doing for years when pdftex changed
primive names and still do with luatex)

(this does not solve the shipout overload but that's another issue:
proper package management; it should not be too hard to change the few
packages that redefine shipout to use some \redefineshipout)

and, if there is no proper management for that kind of stuff at the
macro package level then you might expect even bigger problems once
users start messing around with node lists in ways that might confuse
successive packages that do the same; that's the price for flexibility)

Hans

-----------------------------------------------------------------