LuaTeX

LuaTeX
Логотип программы LuaTeX
Скриншот программы LuaTeX
Тип Настольное издательское ПО
Авторы Т. Хокуотер, Х. Хенкель, Г. Хэген
Разработчики Т. Хокуотер, Х. Хенкель, Г. Хэген и др. (7 активных разработчиков)
Написана на Lua, C
Операционная система Кроссплатформенное программное обеспечение
Первый выпуск 2007 (2007)
Последняя версия 1.17 (21 декабря 2023; 7 месяцев назад (2023-12-21)[1])
Репозиторий gitlab.lisn.upsaclay.fr/…
Состояние Активный
Лицензия GNU General Public License
Сайт luatex.org
Логотип Викисклада Медиафайлы на Викискладе

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

Цели проекта

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

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

Возможности

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

Версии

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

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

См. также

Примечания

  1. LuaTeX reference manual
  2. 1 2 CTAN.
  3. 1 2 LuaTeX.
  4. mplib.
  5. LuaTeX roadmap  (неопр.). Дата обращения: 6 февраля 2019. Архивировано 1 февраля 2021 года.
  6. LyX wiki | LyX / LuaTeX (англ.). wiki.lyx.org. Дата обращения: 31 августа 2017. Архивировано 31 августа 2017 года.

Источники

  • CTAN: Package luatex (англ.).
  • Manuel Pégourié-Gonnard. A guide to LuaLaTeX (англ.) (PDF) (5 мая 2013).
  • LuaTeX development team. LuaTeX Reference (англ.) (PDF) (апрель 2016). Дата обращения: 6 февраля 2019. Архивировано из оригинала 18 марта 2017 года.
  • Paul Isambert. Three things you can do with LuaTeX that would be extremely painful otherwise (англ.) (PDF). TUGBoat. — Volume 29 (2008), No. 3 — TUG 2008 Conference Proceedings.
  • Hans Hagen. LuaTeX (англ.) (PDF). TUGBoat. — Volume 28 (2007), No. 3 — Proceedings of the 2007 Annual Meeting.
  • Hans Hagen. The MetaPost library and LuaTeX (англ.) (PDF). TUGBoat. — Volume 29 (2008), No. 3 — TUG 2008 Conference Proceedings.
  • Lee Phillips. LuaTeX comes of age (англ.) (22 августа 2017).
  • An Introduction to LuaTeX (Part 1): What is it—and what makes it so different? (англ.).
Перейти к шаблону «TeX navbox»
ΤΕΧ
Макропакеты
Альтернативные движки ΤΕΧ
Дистрибутивы
Сообщество
  • CTAN
  • TUGboat
  • The PracTeX Journal
  • Deutschsprachige Anwendervereinigung TeX
Разное