# [luatex] macros to invoke lua in LaTeX

Hans Hagen pragma at wxs.nl
Fri Mar 6 10:01:00 CET 2009

```Joseph Wright wrote:
> Taco Hoekwater wrote:
>> Heiko Oberdiek wrote:
>>> In opposite to ConTeXt the core of LaTeX(2e) is frozen and
>>> it doesn't provide proper ways. :-(
>> You cannot reasonably use the bare latex2e core with luatex
>> anyway: if you don't need the extensions that luatex offers
>> then you are much better off running pdftex. I am starting to
>> wonder why this argument is ignored all the time ...
>
> I think because at some point we all expect to see the default engine
> switch from pdfTeX to LuaTeX.  At that point, this becomes very important.

given our roadmap, this will not happen before 2012 (when we expect to
have version 1.0) so there's quite some time for packages to adapt

anyhow, the engine landscape will be as follows:

- pdftex: stable, no unicode, but frozen apart from bugfixes: this will
probably be used quite a while esp by those who want compatibility and
speed (not everyone needs open type fonts and/or unicode)

- xetex: unicode, depending on libraries, relatively fast and easy to
interface to fonts

- luatex: flexible unicode engine, no pre-cooked solutions, mainly a
core engine, where macro packages have to do the work; downward
compatible where possible (exceptions are in the dark corners of
hyphenation and logging)

now, i've been sitting at quite some tex user meetings and whenever real
new things came up there is always someone willing to bring up the "do
we need it" or "we don't need it because it breaks old stuff" or "we
have this standard input interface so forget about something else even
if it's better" or "one could do it this or that way too" ...

the bottom line is ... there are quite some users (also think of
journals) who probably will stick to pdftex just because it's not doing
anything new that might result in incompatible output; that's also not
the audience luatex is directly aiming at ... if eventually those users
will use luatex (or xetex) it will be because they are not aware of the
switch, just as many users are not aware that they had been running etex
or later pdftex when they keyed in "tex" (after all many users are
hapilly unaware of the difference between an engine and a macro package
anyway)

> (Also just because one thing you want needs LuaTeX doesn't mean that
> everything else will have been re-written as well.)

believe me ... if you really want to use luatex you'll have to rewrite
lots of code (ok, you can use it as pdftex with \directlua calls and not
touch the nasty internals); eventually context (mkiv) will be 50% or
more lua and currently it already spends over 50% of its time in lua,
and as such is twice as slow as pdftex (which can be another argument to
use multiple engines); and yes, context will support pdftex, xetex and
luatex, simply because all are used by its users -)

Hans

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