LuaTeX
— система компьютерной
вёрстки
, основанная на
TeX
. Представляет собой расширенную версию
pdfTeX
с встроенным движком
Lua
. После тестирования была принята командой pdfTeX как преемник pdfTeX (в свою очередь являющегося расширением
, производящим документы
PDF
). Позднее в проект была включена функциональность
(в частности, различные направления вёрстки). Изначально проект спонсировался Oriental TeX project, основанным И. Хамидом, Г. Хэгеном и Т. Хокуотером. Входит в наиболее популярные дистрибутивы TeX:
TeXLive
,
MikTeX
.
Содержание
Цели проекта
Главная цель проекта — предложить версию TeX, все внутренние механизмы которого доступны из Lua. В процессе открытия механизмов TeX многие части внутреннего кода были переписаны. Вместо жёсткого встраивания новых возможностей в сам TeX пользователи (или авторы пакетов) могут писать свои расширения. LuaTeX имеет нативную поддержку шрифтов
OpenType
. В отличие от
XeTeX
, доступ к шрифтам осуществляется не через библиотеки операционной системы, а через библиотеку, основанную на
FontForge
.
Связанный проект —
(расширенный библиотечный модуль
MetaPost
), который добавляет в TeX графический движок. В команду разработки LuaTeX входят Л. Скарсо, Т. Хокуотер, Х. Хенкель и Г. Хэген.
Полный доступ к внутренним механизмам TeX и к средствам
операционной системы
. Возможность программирования
колбэков
для таких задач, как поиск файлов, чтение и
препроцессинг
текстового ввода, определение шрифтов, создание токенов, манипуляции со списками узлов, отображение информации
.
Полная интеграция с
MetaPost
, возможность внедрения кода MetaPost в исходный текст документов и библиотек, написанных на языке TeX.
Возможность обращения к
данным
, содержащимся в файлах различных форматов (к примеру,
XML
), а также к
базам данных
средствами Lua.
Высокая степень поддержки
микротипографики
с использованием пакета microtype.
Большая, нежели в традиционном TeX, разрядность внутренних регистров и счётчиков.
Поддержка вёрстки в различных направлениях.
Версии
Первая публичная бета-версия вышла в
TUG
2007 в
Сан-Диего
. Первый формальный релиз был запланирован на конец 2009, первая стабильная промышленная версия была выпущена в 2010
. Версия 1.00 выпущена в сентябре 2016.
На октябрь 2010 года и
ConTeXt
mark IV, и
LaTeX
с дополнительными пакетами (например, luaotfload, luamplib, luatexbase, luatextra) используют новые возможности LuaTeX. Оба поддерживаются в
TeX Live
2010 с LuaTeX 0.60 и в
LyX
. Специальная поддержка в plain TeX ещё в разработке по состоянию на 2019 год.