LaTeX ( / ˈ л ɑː т ɛ к / LAH-tekили/ ˈ l eɪ t ɛ k / LAY-tek,[2][Примечание 1]часто стилизованный подLaTeX) — этопрограммная системадлянаборадокументов.[3]Разметка LaTeX описывает содержимое и макет документа, в отличие отформатированного текста,встречающегося втекстовых процессорахWYSIWYGGoogle Docs,LibreOffice WriterиMicrosoft Word. Писатель используетразметкидля определения общей структуры документа, для стилизации текста по всему документу (например, полужирный шрифт и курсив), а также для добавленияцитатиперекрестных ссылок.TeX, такой какTeX LiveилиMiKTeX,используется для создания выходного файла (например,PDFилиDVI), подходящего для печати илицифрового распространения.
LaTeX широко используется в академических кругах для передачи и публикации научных документов и технических заметок во многих областях, отчасти благодаря своей поддержке сложной математической нотации. [4] [5] Он также играет важную роль в подготовке и публикации книг и статей, содержащих сложные многоязычные материалы , такие как арабский и греческий . [6] LaTeX использует программу набора текста TeX для форматирования своего вывода и сам написан на макроязыке TeX .
LaTeX может использоваться как автономная система подготовки документов или как промежуточный формат. В последней роли, например, он иногда используется как часть конвейера для перевода DocBook и других форматов на основе XML в PDF . Система набора предлагает программируемые функции настольной издательской системы и обширные возможности для автоматизации большинства аспектов набора и настольной издательской системы, включая нумерацию и перекрестные ссылки таблиц и рисунков, заголовки глав и разделов, графику, макет страницы, индексирование и библиографии .
Как и TeX, LaTeX начинался как инструмент для письма математиков и специалистов по информатике, но уже на ранних этапах своего развития он также использовался учёными, которым требовалось писать документы, содержащие сложные математические выражения или нелатинские шрифты [7] , такие как арабский , деванагари и китайский . [8]
LaTeX предназначен для предоставления высокоуровневого описательного языка разметки для более легкого использования TeX. TeX управляет макетом документа, в то время как LaTeX управляет контентной стороной для обработки документа. LaTeX включает в себя набор макросов TeX и программу для обработки документов LaTeX, и поскольку простые команды форматирования TeX являются элементарными, он предоставляет авторам готовые команды для форматирования и требований к макету, таких как заголовки глав, сноски, перекрестные ссылки и библиографии.
LaTeX был первоначально написан в начале 1980-х годов Лесли Лэмпортом в SRI International . [9] Текущая версия — LaTeX2e, впервые выпущенная в 1994 году, но постепенно обновляемая с 2015 года. Эта политика обновлений заменила более ранние планы по отдельному выпуску LaTeX3, который находился в разработке с 1989 года. [10] LaTeX является свободным программным обеспечением и распространяется по лицензии LaTeX Project Public License (LPPL) . [11]
LaTeX был создан в начале 1980-х годов Лесли Лэмпортом , когда он работал в Стэнфордском исследовательском институте (SRI). Ему нужно было написать макросы TeX для собственного использования, и он подумал, что, приложив немного дополнительных усилий, он сможет сделать общий пакет, пригодный для использования другими. Питер Гордон, редактор Addison-Wesley , убедил его написать руководство пользователя LaTeX для публикации (Лэмпорт изначально скептически относился к тому, что кто-то заплатит за это деньги); [12] оно вышло в 1986 году [3] и было продано сотнями тысяч экземпляров. [12] Тем временем Лэмпорт выпустил версии своих макросов LaTeX в 1984 и 1985 годах. 21 августа 1989 года на встрече TeX Users Group (TUG) в Стэнфорде Лэмпорт согласился передать поддержку и разработку LaTeX Фрэнку Миттельбаху. Франк Миттельбах вместе с Крисом Роули и Райнером Шёпфом сформировали команду LaTeX3; в 1994 году они выпустили LaTeX2e, текущую стандартную версию. С тех пор LaTeX3 был отменен, а функции, предназначенные для этой версии, были перенесены в LaTeX2e с 2018 года. [10]
LaTeX пытается следовать философии дизайна разделения представления от содержания , чтобы авторы могли сосредоточиться на содержании того, что они пишут, не уделяя одновременно внимания его внешнему виду. При подготовке документа LaTeX автор указывает логическую структуру, используя простые, знакомые концепции, такие как глава , раздел , таблица , рисунок и т. д., и позволяет системе LaTeX обрабатывать форматирование и макет этих структур. В результате это поощряет разделение макета от содержания — при этом все еще позволяя вручную корректировать набор текста, когда это необходимо. Эта концепция похожа на механизм, с помощью которого многие текстовые процессоры позволяют определять стили глобально для всего документа, или на использование каскадных таблиц стилей при стилизации документов на языке гипертекстовой разметки ( HTML ).
Система LaTeX — это язык разметки , который обрабатывает набор текста и рендеринг, [13] и может быть произвольно расширен с помощью базового макроязыка для разработки пользовательских макросов, таких как новые среды и команды. Такие макросы часто собираются в пакеты, которые затем могут быть доступны для решения некоторых конкретных задач набора текста, таких как форматирование сложных математических выражений или графики (например, использование среды, align
предоставляемой пакетом amsmath
, для создания выровненных уравнений).
Чтобы создать документ в LaTeX, пользователь сначала создает файл, например document.tex
, обычно с помощью текстового редактора . [14] Затем пользователь передает свой document.tex
файл в качестве входных данных программе TeX (с загруженными макросами LaTeX), которая побуждает TeX записать файл, подходящий для просмотра на экране или печати. [15] Этот цикл запись-форматирование-предварительный просмотр является одним из главных отличий работы с LaTeX от стиля редактирования документов «что видишь, то и получаешь » (WYSIWYG). Он похож на цикл код-компиляция-выполнение, известный программистам. Сегодня многие программы редактирования, поддерживающие LaTeX, упрощают этот цикл нажатием одной клавиши, при этом показывая предварительный просмотр вывода на экране рядом с окном ввода. Некоторые онлайн-редакторы LaTeX даже автоматически обновляют предварительный просмотр, [16] [17] [18], в то время как другие онлайн-инструменты обеспечивают поэтапное редактирование на месте, смешанное с предварительным просмотром в оптимизированном едином окне. [19]
В примере ниже показаны входные данные в LaTeX и соответствующие выходные данные системы:
Буквы «T», «E» и «X» в названии происходят от греческих заглавных букв тау , эпсилон и хи , так как название TeX происходит от древнегреческого : τέχνη («мастерство», «искусство», «техника»); по этой причине создатель TeX Дональд Кнут продвигает его произношение как / t ɛ x / ( tekh ) [20] (то есть с глухим велярным фрикативом , как в современном греческом языке, похожим на ch в loch ). Лампорт замечает, что «TeX обычно произносится как tech , делая lah -tech, lah- tech и lay -tech логичными вариантами; но язык не всегда логичен, поэтому lay-tecks также возможны». [21]
Название печатается в тексте с типографским логотипом : L a T e X. В медиа, где логотип не может быть точно воспроизведен в тексте, слову обычно присваивается уникальная заглавная буква LaTeX. В качестве альтернативы логотипы TeX, LaTeX [22] и XeTeX [23] также могут быть отображены с помощью чистого CSS и XHTML для использования в графических веб-браузерах — следуя спецификациям внутреннего \LaTeX
макроса. [24]
Как пакет макросов, LaTeX предоставляет набор макросов для интерпретации TeX. Существует много других пакетов макросов для TeX, включая Plain TeX, GNU Texinfo , AMSTeX и ConTeXt .
Когда TeX «компилирует» документ, он следует (с точки зрения пользователя) следующей последовательности обработки: Макросы → TeX → Драйвер → Вывод. Различные реализации каждого из этих шагов обычно доступны в дистрибутивах TeX. Традиционный TeX выводит файл DVI , который обычно преобразуется в файл PostScript . 2000, Хан Тхэ Тхань и другие написали новую реализацию TeX под названием pdfTeX , которая также выводит в PDF и использует возможности, доступные в этом формате. [25] С другой стороны, движок XeTeX, разработанный Джонатаном Кью, объединяет современные технологии шрифтов и Unicode с TeX. [ 26 ] LuaTeX — это расширенная версия pdfTeX, использующая Lua в качестве встроенного языка сценариев. [27]
Также существует множество редакторов для LaTeX, некоторые из которых являются офлайновыми, основанными на исходном коде, а другие — онлайновыми, частично основанными на WYSIWYG. Подробнее см. Сравнение редакторов TeX .
Документы LaTeX ( *.tex
) можно открыть с помощью любого текстового редактора. Они состоят из обычного текста и не содержат скрытых кодов форматирования или двоичной информации. Документы TeX также можно совместно использовать, преобразуя файл LaTeX в другие форматы, такие как OpenDocument , XML или *.cls
файлы классов ( ). LaTeX также может (и обычно преобразуется) в файлы PDF с помощью расширения LaTeX pdfLaTeX. Файлы LaTeX, содержащие текст Unicode , можно преобразовать в файлы PDF с помощью inputenc
пакета или расширений TeX XeLaTeX и LuaLaTeX.
*.odt
), Microsoft Office Open XML ( *.docx
), и даже текст с разметкой MediaWiki , используемой в Wikipedia . Он лицензирован под GPL v2. [33]LaTeX стал фактическим стандартом для набора математических выражений в научных документах. [5] [34] Следовательно, существует несколько инструментов преобразования, ориентированных на математические выражения LaTeX, такие как конвертеры в MathML или Computer Algebra System .
LaTeX обычно распространяется вместе с простым TeX по лицензии свободного программного обеспечения : LaTeX Project Public License (LPPL). [37] 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 году. [38] По состоянию на 2020 год [обновлять]LaTeX3, который был запущен в начале 1990-х годов, находится в стадии долгосрочного проекта разработки. [10] Планируемые функции включают улучшенный синтаксис (отделение контента от стиля), поддержку гиперссылок , новый пользовательский интерфейс, доступ к произвольным шрифтам и новую документацию. [39] Некоторые функции LaTeX3 доступны в LaTeX2e с использованием пакетов, [40] и к 2020 году многие функции будут включены в LaTeX2e по умолчанию для постепенного перехода. [10]
Существует множество коммерческих реализаций всей системы TeX. Поставщики систем могут добавлять дополнительные функции, такие как добавленные шрифты и телефонная поддержка . LyX — это бесплатное программное обеспечение , визуальный процессор документов WYSIWYM , который использует LaTeX в качестве бэкэнда. [41] TeXmacs — это бесплатный редактор WYSIWYG с аналогичными функциями, что и LaTeX, но с другим движком набора. [42] Другие редакторы WYSIWYG, которые создают LaTeX, включают Scientific Word для Windows и BaKoMa TeX для Windows, Mac и Linux.
Доступно множество поддерживаемых сообществом дистрибутивов TeX.
{{cite web}}
: Внешняя ссылка в |title=
( помощь )