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 год.
См. также
Примечания
Источники
|
---|
Макропакеты | |
---|
Альтернативные движки ΤΕΧ | |
---|
Дистрибутивы | |
---|
Сообщество | |
---|
Разное | |
---|