TeX-движки
LaTeX — это большой набор команд, который выполняется программой TeX (см. Обзор LaTeX). Такой набор команд называется форматом и воплощён в двоичном .fmt файле, который можно читать намного быстрее, чем соответствующий исходный код TeX.
Этот раздел даёт краткий обзор обычно доступных программ TeX (см. также Интерфейс командной строки).
latex¶pdflatex¶-
В TeX Live (https://tug.org/texlive), если LaTeX вызывается через системную команду
latexилиpdflatex, тогда запускается движок pdfTeX (https://ctan.org/pkg/pdftex). При вызове какlatex, основной вывод — файл .dvi; при вызове какpdflatex, основной вывод — файл .pdf.pdfTeX включает расширения e-TeX к исходной программе Кнута (https://ctan.org/pkg/etex), включая дополнительные средства программирования и двунаправленную верстку, и имеет множество собственных расширений. e-TeX доступен как самостоятельная системная команда
etex, но это обычный TeX (и генерирует .dvi).В других дистрибутивах TeX,
latexможет вызывать e-TeX, а не pdfTeX. В любом случае, расширения e-TeX можно считать доступными в LaTeX. lualatex¶-
Если LaTeX вызывается через системную команду
lualatex, запускается движок LuaTeX (https://ctan.org/pkg/luatex). Эта программа позволяет коду, написанному на языке сценариев Lua (http://luatex.org), взаимодействовать с версткой TeX. LuaTeX обрабатывает ввод UTF-8 Unicode напрямую, может обрабатывать шрифты OpenType и TrueType и по умолчанию создаёт файл .pdf. Также естьdvilualatexдля создания файла .dvi. xelatex¶-
Если LaTeX вызывается с системной командой
xelatex, запускается движок XeTeX (https://tug.org/xetex). Как и LuaTeX, XeTeX напрямую поддерживает UTF-8 Unicode и шрифты TrueType и OpenType, хотя реализация совершенно отличается, в основном используя внешние библиотеки вместо внутреннего кода. XeTeX создаёт файл .pdf в качестве вывода; он не поддерживает вывод DVI.Внутренне XeTeX создаёт файл
.xdv— вариант DVI, и преобразует его в PDF с помощью программы (x)dvipdfmx, но этот процесс автоматизирован. Файл.xdvполезен только для отладки. platex¶uplatex¶Эти команды обеспечивают существенную дополнительную поддержку японского и других языков; вариант
uподдерживает Unicode. См. https://ctan.org/pkg/ptex и https://ctan.org/pkg/uptex.
Начиная с 2019 года, существует сопутствующая команда -dev и формат для всего вышеперечисленного:
dvilualatex-dev¶latex-dev¶lualatex-dev¶pdflatex-dev¶platex-dev¶uplatex-dev¶xelatex-dev¶-
Это кандидаты для предстоящего выпуска LaTeX. Главная цель — найти и решить проблемы совместимости перед официальным выпуском.
Эти
-devформаты позволяют любому легко тестировать документы и код: можно использовать, например,pdflatex-dev, вместоpdflatex, не меняя ничего другого в вашей среде. Действительно, проще и полезнее всегда использовать-devверсии, а не тратить время на переключение. В спокойные периоды после релиза команды будут эквивалентны.Это не ежедневные снимки или не тестированный код разработки. Они проходят такую же тщательную регрессионную проверку командой LaTeX перед выпуском.
Дополнительную информацию можно найти в статье «Процесс выпуска LaTeX и форматы LaTeX
dev» Франка Миттельбаха, TUGboat 40:2, https://tug.org/TUGboat/tb40-2/tb125mitt-dev.pdf.
© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/TeX-engines.html