PDFTeX and LuaTeX
Elsewhere in these FAQs, we learn that development of
PDFTeX is “in essence” complete — no new
facilities are being developed at the time of writing. The PDFTeX
team has announced that they have frozen PDFTeX’s specification in
its current state (version 1.40.11), and that nothing but bug
corrections will be provided up to the time of the final release,
PDFTeX 1.50.0. (The interpretation of the statement seems to allow
sensible changes that are beyond any reasonable definition of
bug…)
As PDFTeX development ran down,
development of a new system, LuaTeX was started.
Lua is a interpreter designed
to be incorporated into other applications. LuaTeX consists of a
TeX-like engine with a lua interpreter ‘embedded’ in it;
the lua interpreter has access to many of the data
structures used for typesetting, so that the programmer 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.
Users may also care to view the
LuaTeX documentation page
or the LuaTeX WIKI
TeX Live (2013) holds version 0.76.0 of LuaTeX. This version
demonstrates the “final functionality”, though the project
remains a β-release. Functional stability was first
declared for version 0.50.0, released near the end of December 2009.
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 (new functionality
typically only appears in ‘.mkiv
’ form), which uses
LuaTeX extensions (including lua scripting). LaTeX
packages that support its use are appearing (some of them providing
re-implementations of existing ConTeXt code).
LaTeX running over LuaTeX (commonly known as LuaLaTeX) is not
an “official” entity (yet), but useful packages are
appearing (i.e., the ctan path macros/luatex/latex holds
several items).
- LuaTeX snapshot
- systems/luatex (or browse the directory); catalogue entry
- PDFTeX distribution
- systems/pdftex (or browse the directory); catalogue entry
This answer last edited: 2013-05-21
This question on the Web: http://www.tex.ac.uk/cgi-bin/texfaq2html?label=luatex