Original author(s)Taco Hoekwater, Hartmut Henkel, Hans Hagen
Developer(s)Taco Hoekwater, Hartmut Henkel, Hans Hagen, etc. (7 active developers)
Initial release2007; 17 years ago (2007)
Stable release
1.17.0[1] / April 29, 2023; 9 months ago (2023-04-29)
Written inLua, C
Operating systemMultiplatform
LicenseGNU General Public License Edit this at Wikidata

LuaTeX is a TeX-based computer typesetting system which started as a version of pdfTeX with a Lua scripting engine embedded. After some experiments it was adopted by the TeX Live distribution as a successor to pdfTeX (itself an extension of ε-TeX, which generates PDFs).[2][3][4] Later in the project some functionality of Aleph was included (esp. multi-directional typesetting). The project was originally sponsored by the Oriental TeX project, founded by Idris Samawi Hamid, Hans Hagen, and Taco Hoekwater.

Objective of the project

The main objective of the project is to provide a version of TeX where all internals are accessible from Lua. In the process of opening up TeX much of the internal code is rewritten. Instead of hard coding new features in TeX itself, users (or macro package writers) can write their own extensions. LuaTeX offers support for OpenType fonts with external modules. One of them, written in Lua, is provided by the LuaTeX team, but support for complex scripts is limited. LuaTeX includes the HarfBuzz engine for correct rendering of complex scripts using OpenType. [5] An alternate approach can be found on GitHub.[6]

A related project is MPLib (an extended MetaPost library module), which brings a graphics engine into TeX.[7]

The LuaTeX team consists of Luigi Scarso, Taco Hoekwater, Hartmut Henkel and Hans Hagen.


The first public beta was launched at TUG 2007 in San Diego. The first formal release was planned for the end of 2009, and the first stable production version was released in 2010. Version 1.00 was released in September 2016 during ConTeXt 2016. Version 1.12 was released for TeXLive 2020.[8]

As of October 2010, both ConTeXt mark IV and LaTeX with extra packages (e.g. luaotfload, luamplib, luatexbase, luatextra) make use of new LuaTeX features. (When LuaTeX is used with the LaTeX format, it is sometimes called "LuaLaTeX".) Both are supported in TeX Live 2010 with LuaTeX 0.60, and in LyX.[9] Special support in plain TeX is still under development.

Further development takes place as LuaMetaTeX in connection with the ConTeXt project.[8][10]

See also

Further reading


  1. ^ "LuaTeX NEWS file". Retrieved 2023-06-10.
  2. ^ TeX Frequently Asked Questions - What is PDFTeX?
  3. ^ TeX Frequently Asked Questions - PDFTeX and LuaTeX
  4. ^ PDFTeX's NEWS file Archived 2009-07-09 at the Portuguese Web Archive - news for 3.141592-1.40.0 version.
  5. ^ Khaled Hosny. "Bringing world scripts to LuaTEX: The HarfBuzz experiment" (PDF). Retrieved 2023-07-14.
  6. ^ tatzetwerk (August 2020). "luatex-harfbuzz". GitHub. Retrieved 16 October 2021.
  7. ^ Hagen, Hans. "The MetaPost library and LuaTEX" (PDF). TUGboat - TUG 2008 Conference Proceedings. 29 (3): 446–453. Retrieved 16 October 2021.
  8. ^ a b "LuaTeX Roadmap". Retrieved 2023-07-14.
  9. ^ "LyX wiki | LyX / LuaTeX". Retrieved 2017-08-31.
  10. ^ "luametatex". GitHub. Retrieved 2023-07-14.