PDFTeX and LuaTeX

As is said elsewhere in these FAQs, development of PDFTeX is “in essence” complete — no new facilities are being developed. The PDFTeX team has announced that they have frozen PDFTeX in its current state (version 1.49.10), and that nothing but bug corrections will be provided up to the time of the final release, PDFTeX 1.50.0.

In parallel with the running-down of PDFTeX development, development of a new system, LuaTeX is under way. Lua is a script language, designed to offer an interpreter that may be incorporated into other applications. LuaTeX consists of a TeX-like engine with a lua interpreter built into it; the lua interpreter has access to many of the data structures used for typesetting, and the user may also interpolate chunks of lua code into their (La)TeX macros, or as ‘call-backs’ for use when the TeX-like engine does certain operations.

This arrangement offers the prospect of a “semi-soft” typesetting engine: it will have its basic behaviour, but the user gets to redefine functionality if an idea occurs — there will be no need to persuade the world first, and then find a willing developer to work on the sources of of the distribution.

The LuaTeX project is (with monetary support from various sources) pursuing avenues that many of the other current projects have in their sights, notably Unicode character representations and support for OpenType fonts. The intention is to integrate the extensions pioneered by Aleph.

Version 0.50.0 of LuaTeX is intended to at least demonstrate the final functionality; it was released near the end of December 2009. Much work remains to be done, and this remains a beta-release. TeX Live 2009 incorporates (at the time of writing) LuaTeX version 0.44.0, but the latest MiKTeX (version 2.8) still doesn’t offer it.

ConTeXt ‘Mark 4’ can already make use of LuaTeX; much of its code already appears in two forms — a TeX-based version (.mkii) and a ‘.mkiv’ version. LaTeX is also steadily acquiring macro packages in support of its use.

This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=luatex