Just in Time: Things we can only do with LuaTeX

Hans Hagen
Play (37min) Download: MP4 | MP3

All the time that I’ve been using TEX, I’ve been lucky enough to stumble into a solution just in time to save my day (or some project). In most cases it involved starting from scratch with the strong belief that TEX can do everything. After a while you reach a state where you can predict if something can be done or not.

An extreme example of operating on the edge is backgrounds that span paragraphs and pages, adapt to paragraph characteristics, and can be nested. Another mechanism that made some projects possible was HTML-like table building. Imagine combining these two mechanisms.

Such traditional solutions already benefit a lot from LUATEX for instance because METAPOST is integrated. Although we could stretch TEX’s lifespan in for instance the font arena it is no fun to stay eight bit among the Unicoders and OpenType lovers. But it can get worse. The last couple of years I started running into designers’ demands that simply are not possible in traditional TEX. Especially in automated typesetting you need tricks that are (with good reason) beyond standard TEX engines. Here we need to really adapt or extend the engine to get things done.

In this talk I will show a few examples and solutions. These also show the MKIV approach to solve such nasty problems. I will discuss some experiments with providing LUA based variants of internal functions that we can use in exceptional situations where performance (in terms of speed) is not an issue.