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 год.
См. также
Примечания
Источники
- 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? (англ.).