LuaTeX — система компьютерной вёрстки, основанная на TeX. Представляет собой расширенную версию pdfTeX с встроенным движком Lua. После тестирования была принята командой pdfTeX как преемник pdfTeX (в свою очередь являющегося расширением eTeX, производящим документы PDF). Позднее в проект была включена функциональность Aleph (в частности, различные направления вёрстки). Изначально проект спонсировался Oriental TeX project, основанным И. Хамидом, Г. Хэгеном и Т. Хокуотером. Входит в наиболее популярные дистрибутивы TeX: TeXLive, MikTeX.

Цели проекта Главная цель проекта — предложить версию TeX, все внутренние механизмы которого доступны из Lua. В процессе открытия механизмов TeX многие части внутреннего кода были переписаны. Вместо жёсткого встраивания новых возможностей в сам TeX пользователи (или авторы пакетов) могут писать свои расширения. LuaTeX имеет нативную поддержку шрифтов OpenType. В отличие от XeTeX, доступ к шрифтам осуществляется не через библиотеки операционной системы, а через библиотеку, основанную на FontForge.

Связанный проект — MPLib (расширенный библиотечный модуль MetaPost), который добавляет в TeX графический движок. В команду разработки LuaTeX входят Л. Скарсо, Т. Хокуотер, Х. Хенкель и Г. Хэген.

Возможности Возможность внедрения кода на Lua в исходный текст программ и документов. LuaTeX может работать, в зависимости от ключей в командной строке, в качестве интерпретатора Lua или компилятора в байт-код. Поддержка создания документов как в формате PDF, так и DVI. Поддержка кодировки UTF-8 для исходных документов. Поддержка шрифтов OpenType в тексте и в формулах. Полный доступ к внутренним механизмам TeX и к средствам операционной системы. Возможность программирования колбэков для таких задач, как поиск файлов, чтение и препроцессинг текстового ввода, определение шрифтов, создание токенов, манипуляции со списками узлов, отображение информации. Полная интеграция с MetaPost, возможность внедрения кода MetaPost в исходный текст документов и библиотек, написанных на языке TeX. Возможность обращения к данным, содержащимся в файлах различных форматов (к примеру, XML), а также к базам данных средствами Lua. Высокая степень поддержки микротипографики с использованием пакета microtype. Большая, нежели в традиционном TeX, разрядность внутренних регистров и счётчиков. Поддержка вёрстки в различных направлениях.

Версии Первая публичная бета-версия вышла в TUG 2007 в Сан-Диего. Первый формальный релиз был запланирован на конец 2009, первая стабильная промышленная версия была выпущена в 2010. Версия 1.00 выпущена в сентябре 2016.

и ConTeXt mark IV, и LaTeX с дополнительными пакетами (например, luaotfload, luamplib, luatexbase, luatextra) используют новые возможности LuaTeX. Оба поддерживаются в TeX Live 2010 с LuaTeX 0.60 и в LyX. Специальная поддержка в plain TeX ещё в разработке по состоянию на 2019 год.

См. также TeX ConTeXt

Примечания

Источники

Категория:Кроссплатформенное программное обеспечение Категория:Программное обеспечение с лицензией GNU GPL Категория:Программное обеспечение, использующее Lua Категория:Полиграфия