Введение

Программная система для подготовки документов LaTeX (англ. LAHtek или LAYtek, часто стилизованная как LaTeX) — это программная система для набора документов. Разметка LaTeX описывает содержание и структуру документа, в отличие от форматированного текста, встречающегося в текстовых процессорах WYSIWYG, таких как Microsoft Word, LibreOffice Writer и Apple Pages. Автор использует теги разметки для определения общей структуры документа, стилизации текста (например, полужирный и курсив), а также для добавления цитирований и перекрёстных ссылок. Для создания выходного файла (например, PDF или DVI), пригодного для печати или цифрового распространения, используется дистрибутив TeX, такой как TeX Live или MiKTeX. LaTeX широко используется в академической среде для обмена информацией и публикации научных документов, а также для ведения технических записей в различных областях. Он также играет важную роль в подготовке и публикации книг и статей, содержащих сложные многоязычные материалы, такие как арабский и греческий. LaTeX использует типографскую программу TeX для форматирования вывода и сам написан на языке макросов TeX. LaTeX может использоваться как самостоятельная система подготовки документов или как промежуточный формат. В последнем случае он, например, иногда применяется в конвейере для преобразования DocBook и других форматов на основе XML в PDF. Система типографики предлагает программируемые функции настольной публикации и широкие возможности для автоматизации большинства аспектов набора и настольной публикации, включая нумерацию и перекрёстные ссылки таблиц и рисунков, заголовки глав и разделов, графику, макет страниц, создание указателей и библиографий. Как и TeX, LaTeX изначально разрабатывался как инструмент для математиков и специалистов по компьютерным наукам, но с самого начала его развития он также был принят учёными, которым необходимо было создавать документы, содержащие сложные математические выражения или нелатинские шрифты, такие как арабский, деванагари и китайский. LaTeX предназначен для предоставления высокоуровневого, описательного языка разметки, который упрощает доступ к возможностям TeX для авторов. По сути, TeX отвечает за верстку, а LaTeX — за содержание при обработке документов. LaTeX состоит из набора макросов TeX и программы для обработки документов LaTeX, и поскольку команды простого форматирования TeX являются базовыми, он предоставляет авторам готовые команды для форматирования и требований к макету, такие как заголовки глав, сноски, перекрёстные ссылки и библиографии. LaTeX был первоначально разработан в начале 1980-х годов Лесли Лампортом в SRI International. Текущая версия — LaTeX2e (стилизованная как ), впервые выпущенная в 1994 году, но постепенно обновляемая с 2015 года. Эта политика обновления заменила предыдущие планы по отдельному выпуску LaTeX3, разработка которого велась с 1989 года. LaTeX является свободным программным обеспечением и распространяется по лицензии LaTeX Project Public License (LPPL).

История

LaTeX был создан в начале 1980-х годов Лесли Лэмпортом, когда он работал в Стэнфордском исследовательском институте (SRI). Ему потребовалось написать макросы TeX для собственного использования, и он подумал, что, приложив немного дополнительных усилий, он сможет создать общий пакет, полезный для других. Питер Гордон, редактор в Addison Wesley, убедил его написать руководство пользователя LaTeX для публикации (Лэмпорт изначально сомневался, что кто-нибудь заплатит за него деньги); оно вышло в 1986 году и может быть произвольно расширено с помощью базового языка макросов для разработки пользовательских макросов, таких как новые окружения и команды. Такие макросы часто собираются в пакеты, которые затем можно использовать для решения конкретных задач верстки, например, форматирования сложных математических выражений или графики (например, использование окружения `align`, предоставляемого пакетом `amsmath`, для получения выровненных уравнений). Чтобы создать документ в LaTeX, пользователь сначала создает файл, например, `document.tex`, обычно с помощью текстового редактора. Затем пользователь передает файл `document.tex` в программу TeX (с загруженными макросами LaTeX), которая генерирует файл, подходящий для просмотра на экране или печати. Этот цикл записи-предварительного просмотра является одним из ключевых отличий работы с LaTeX от стиля редактирования документов WYSIWYG (What You See Is What You Get). Он аналогичен циклу компиляции и выполнения кода, известному программистам. Сегодня многие редакторы, поддерживающие LaTeX, упрощают этот цикл нажатием одной клавиши, отображая предварительный просмотр вывода на экране рядом с окном ввода. Некоторые онлайн-редакторы LaTeX даже автоматически обновляют предварительный просмотр, в то время как другие онлайн-инструменты обеспечивают инкрементное редактирование непосредственно в окне предварительного просмотра, в упрощенном едином интерфейсе.

Произношение и написание "LaTeX"

Буквы "T", "E" и "X" в названии происходят от греческих заглавных букв тау, эпсилон и хи, поскольку название TeX происходит от τέχνη ("навык", "искусство", "техника"); по этой причине создатель TeX Дональд Кнут рекомендует произносить его как /t//ɛ//x/ (тэх) (то есть с глухим велярным фрикативным звуком, как в современном греческом языке, подобным "ch" в шотландском слове "loch"). Лампорт отмечает, что "TeX обычно произносится как "tech", что делает "lah tech", "lah tech" и "lay tech" логичными вариантами; но язык не всегда логичен, поэтому возможно и произношение "lay tecks"". Название печатается в основном тексте с типографским логотипом. В тех случаях, когда логотип невозможно точно воспроизвести в тексте, слово обычно пишется с уникальной капитализацией LaTeX. Кроме того, логотипы TeX, LaTeX и XeTeX можно также отображать с помощью чистого CSS и XHTML для использования в графических веб-браузерах, следуя спецификациям внутреннего макроса \LaTeX.

Связанное программное обеспечение

Как макропакет, LaTeX предоставляет набор макросов для интерпретации TeX. Существует множество других макропакетов для TeX, включая Plain TeX, GNU Texinfo, AMSTeX и ConTeXt. Когда TeX "компилирует" документ, он следует (с точки зрения пользователя) следующей последовательности обработки: Макросы → TeX → Драйвер → Вывод. Различные реализации каждого из этих этапов обычно доступны в дистрибутивах TeX. Традиционный TeX генерирует DVI-файл, который обычно преобразуется в файл PostScript. В 2000 году Hàn Thế Thành и другие разработали новую реализацию TeX под названием pdfTeX, которая также генерирует PDF-файлы и использует возможности, доступные в этом формате. Движок XeTeX, разработанный Джонатаном Кью, объединяет современные технологии шрифтов и Unicode с TeX. LuaTeX — это расширенная версия pdfTeX, использующая Lua в качестве встроенного языка сценариев. Существует также множество редакторов для LaTeX, некоторые из которых работают в автономном режиме и основаны на исходном коде, а другие — онлайн и частично поддерживают принцип WYSIWYG. Подробнее см. в статье «Сравнение редакторов TeX».

Совместимость и преобразователи

Документы LaTeX (*.tex) можно открыть с помощью любого текстового редактора. Они состоят из обычного текста и не содержат скрытых кодов форматирования или бинарных инструкций. Кроме того, TeX-документы можно распространять, преобразуя LaTeX-файл в формат Rich Text Format (RTF), XML или файлы классов. Это можно сделать с помощью бесплатных программ LaTeX2RTF или TeX4ht. LaTeX также можно преобразовать в PDF-файлы с помощью расширения LaTeX pdfLaTeX. LaTeX-файлы, содержащие текст в кодировке Unicode, можно обработать в PDF-файлы с помощью пакета inputenc или TeX-расширений XeLaTeX и LuaLaTeX. HeVeA — это конвертер, написанный на OCaml, который преобразует документы LaTeX в HTML5. Таким образом, документы, такие как научные статьи, предназначенные в основном для печати, можно разместить в World Wide Web для онлайн-просмотра. Он распространяется под лицензией Q Public License. LaTeX2HTML — это конвертер, написанный на Perl, который преобразует документы LaTeX в HTML. Он распространяется под GNU General Public License (GPL) v2. Последние обновления доступны в сети Comprehensive TeX Archive Network (CTAN). LaTeXML — это конвертер, написанный на Perl, который преобразует документы LaTeX в различные форматы на основе XML, включая HTML5 (с MathML), электронные книги ePub, JATS и TEI. Он был разработан в Национальном институте стандартов и технологий сотрудниками федерального правительства США и, следовательно, находится в общественном достоянии. Он доступен бесплатно. Pandoc — это «универсальный конвертер документов», способный преобразовывать LaTeX (а также другие форматы) во множество различных форматов файлов, включая HTML5, ePub, RTF, Microsoft Word (*.docx) и даже текст с разметкой MediaWiki, используемой в Википедии. Он распространяется под лицензией GPL v2. LaTeX стал де-факто стандартом для набора математических выражений в научных документах. Поэтому существует несколько инструментов преобразования, ориентированных на математические выражения LaTeX, таких как конвертеры в MathML или Computer Algebra System. MathJax — это библиотека JavaScript для преобразования LaTeX в MathML, растровые форматы, включая SVG и PNG, или HTML для встраивания на веб-страницу. Фонд Викимедиа использует MathJax для создания Mathoid, веб-сервиса, который использует Node.js для отображения математических формул, используемых в Википедии. KaTeX — это библиотека JavaScript для преобразования LaTeX в HTML и MathML. Она разработана Khan Academy и является одним из самых быстрых конвертеров LaTeX в HTML.

Лицензирование

LaTeX обычно распространяется вместе с обычным TeX под лицензией свободного программного обеспечения: LaTeX Project Public License (LPPL). LPPL несовместим с GNU General Public License, поскольку требует, чтобы изменённые файлы были чётко отличимы от оригиналов (обычно путём изменения имени файла); это было сделано для обеспечения того, чтобы файлы, зависящие от других файлов, работали предсказуемо и чтобы избежать проблем с зависимостями. LPPL соответствует требованиям Debian Free Software Guidelines (DFSG) начиная с версии 1.3. Как свободное программное обеспечение, LaTeX доступен на большинстве операционных систем, включая Unix (Solaris, HP UX, AIX), BSD (FreeBSD, macOS, NetBSD, OpenBSD), Linux (Red Hat, Debian, Arch, Gentoo), Windows, DOS, RISC OS, AmigaOS и Plan 9.

Версии

LaTeX2e – текущая версия LaTeX, поскольку она заменила LaTeX 2.09 в 1994 году. По состоянию на 2020 год, LaTeX3, разработка которой началась в начале 1990-х годов, находится в длительной фазе разработки. Некоторые возможности LaTeX3 доступны в LaTeX2e посредством пакетов, и к 2020 году многие из них были включены в LaTeX2e по умолчанию для обеспечения плавного перехода. TeXmacs – это бесплатный WYSIWYG-редактор с функциональностью, схожей с LaTeX, но использующий другой набор правил набора текста. Другие WYSIWYG-редакторы, генерирующие LaTeX, включают Scientific Word для Windows и BaKoMa TeX для Windows, Mac и Linux. Доступно множество дистрибутивов TeX, поддерживаемых сообществом.