LaTeX

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
LaTeX
Логотип программы LaTeX
Скриншот программы LaTeX
Тип настольное издательское ПО
Разработчик Лесли Лэмпорт
Написана на TeX
Операционная система кроссплатформенное программное обеспечение
Языки интерфейса LaTeX
Первый выпуск 1984
Последняя версия 2e (записывается как )
Репозиторий github.com/latex3/latex2e
Лицензия LaTeX Project Public License (LPPL)
Сайт latex-project.org
Логотип Викисклада Медиафайлы на Викискладе

LaTeX (произносится /ˈlɑːtɛx/ или /ˈltɛx/[1]) — наиболее популярный набор макрорасширений (или макропакет) системы компьютерной вёрстки TeX, который облегчает набор сложных документов. В типографском наборе системы TeX форматируется традиционно как LAΤΕΧ.

Важно заметить, что ни один из макропакетов для TeX’а не может расширить возможностей TeX (всё, что можно сделать в LaTeX’е, можно сделать и в TeX’е без расширений), но, благодаря различным упрощениям, использование макропакетов зачастую позволяет избежать весьма изощрённого программирования.

Пакет позволяет автоматизировать многие задачи набора текста и подготовки статей, включая набор текста на нескольких языках, нумерацию разделов и формул, перекрёстные ссылки, размещение иллюстраций и таблиц на странице, ведение библиографии и др. Кроме базового набора существует множество пакетов расширения LaTeX. Первая версия была выпущена Лесли Лэмпортом в 1984 году; текущая версия, LaTeX2ε, после создания в 1994 году испытывала некоторый период нестабильности, окончившийся к концу 2000-х годов, а в настоящее время стабилизировалась (хотя раз в год выходит новая версия).

Общий внешний вид документа в LaTeX определяется стилевым файлом. Существует несколько стандартных стилевых файлов для статей, книг, писем и т. д., кроме того, многие издательства и журналы предоставляют свои собственные стилевые файлы, что позволяет быстро оформить публикацию, соответствующую стандартам издания.

Во многих развитых компьютерных аналитических системах, например Maple, Mathematica, Maxima, Reduce, возможен экспорт документов в формат *.tex. Для представления формул в Википедии также используется TeX-нотация.

Термин LaTeX относится только к языку разметки, он не является текстовым редактором. Для того чтобы создать документ с его помощью, надо набрать .tex-файл с помощью какого-нибудь текстового редактора. В принципе, подойдёт любой редактор, но обычно предпочитают использовать специализированные, которые так или иначе облегчают работу по набору текста LaTeX-разметки.

Будучи распространяемым под лицензией LaTeX Project Public License, LaTeX относится к свободному программному обеспечению.

Система набора[править | править код]

Главная идея LaTeX состоит в том, что авторы должны думать о содержании, о том, что они пишут, не беспокоясь о конечном визуальном облике (печатный вариант, текст на экране монитора или что-то другое). Готовя свой документ, автор указывает логическую структуру текста (разбивая его на главы, разделы, таблицы, изображения), а LaTeX решает вопросы его отображения. Так содержание отделяется от оформления. Оформление при этом или определяется заранее (стандартное), или разрабатывается для конкретного документа.

Это похоже на стили оформления, которые используются в текстовых процессорах, или на использование стилевых таблиц в HTML.

Возможности[править | править код]

Возможности системы, в принципе, не ограничены (благодаря механизму программирования новых макросов). Вот список некоторых возможностей, предлагаемых стандартными макросами и теми, которые можно скачать с сервера CTAN:

  • алгоритмы расстановки переносов, определения междусловных пробелов, балансировки текста в абзацах;
  • автоматическая генерация содержания, списка иллюстраций, таблиц и т. д.;
  • механизм работы с перекрёстными ссылками на формулы, таблицы, иллюстрации, их номер или страницу;
  • механизм цитирования библиографических источников, работы с библиографическими картотеками;
  • размещение иллюстраций (иллюстрации, таблицы и подписи к ним автоматически размещаются на странице и нумеруются);
  • оформление математических формул, возможность набирать многострочные формулы, большой выбор математических символов;
  • оформление химических формул и структурных схем молекул органической и неорганической химии;
  • оформление графов, схем, диаграмм, синтаксических графов;
  • оформление алгоритмов, исходных текстов программ (которые могут включаться в текст непосредственно из своих файлов) с синтаксической подсветкой;
  • разбивка документа на отдельные части (тематические карты).

Расширенные средства работы с библиографическими данными предоставляются программой BibTeX. Базовые возможности работы с математическими формулами расширяются с помощью пакета AMS-LaTeX.

Структура документа[править | править код]

Как и в случае с TeX’ом — исходные файлы для LaTeX’а можно сравнить с программами. Документ LaTeX — это текстовый файл, содержащий специальные команды языка разметки. Сам документ делится на преамбулу и тело.

Преамбула содержит информацию про класс документа, использованные пакеты макросов, определения макросов, автора, дату создания документа и другую информацию.

Например,

 \documentclass[12pt]{article} % Документ принадлежит классу article, а также будет печататься в 12 пунктов.
 \usepackage[russian]{babel} % Пакет поддержки русского языка
 \title{Нормальное распределение} % Заглавие документа
 \date{\today} % Дата создания

Тело документа содержит собственно текст документа и команды разметки. Оно должно находиться между командами \begin{document} и \end{document}.

Например,

 \begin{document}
   \textbf{Нормальное распределение}, также называемое \textbf{распределением
   Гаусса}, "--- распределение вероятностей, которое играет важнейшую роль во
   многих областях знаний, особенно в физике. Физическая величина подчиняется
   нормальному распределению, когда она подвержена влиянию огромного числа
   случайных помех. Ясно, что такая ситуация крайне распространена, поэтому
   можно сказать, что из всех распределений в природе чаще всего встречается
   именно нормальное распределение "--- отсюда и произошло одно из его названий.
 \end{document}

Формат текста[править | править код]

Слова разделяются пробелами. Количество пробелов не имеет значения. Также пробелом считается единичный переход на новую строку. Пустые строки разделяют текст на абзацы.

Примеры[править | править код]

Hello world[править | править код]

Следующий документ выводит на печать «Hello world!»

\documentclass{article}
\begin{document}
Hello world!
\end{document}

Документ с заголовком и формулами.[править | править код]

Пример показывает исходный текст и соответствующий результат:

Исходный код Результат
\documentclass[12pt]{article}
% Эта строка — комментарий, она не будет показана в выходном файле
\usepackage{ucs}
\usepackage[utf8x]{inputenc} % Включаем поддержку UTF8
\usepackage[russian]{babel}  % Включаем пакет для поддержки русского языка
\title{\LaTeX}
\date{}
\author{}

\begin{document}
  \maketitle
  \LaTeX{} "--- это своего рода препроцессор текста для \TeX{} "---
  программы компьютерной вёрстки. \LaTeX{} является программируемым и
  расширяемым, что позволяет автоматизировать большую часть аспектов
  набора, включая нумерацию, перекрёстные ссылки, таблицы и изображения
  (их размещение и подписи к ним), общий вид страницы, библиографию и
  многое-многое другое. \LaTeX{} был первоначально написан Лэсли Лампортом
  в 1984-м году и стал наиболее популярным способом использования \TeX{}а;
  очень мало людей сегодня пишут на оригинальном \TeX{}е. Текущей
  версией является \LaTeXe.
  \newline
  \begin{eqnarray}
    E &=& mc^2\\
    m &=& \frac{m_0}{\sqrt{1-\frac{v^2}{c^2}}}
  \end{eqnarray}
\end{document}

LaTeX можно дополнять с помощью макроязыка. Такие макросы обычно собраны в пакеты, которые решают разные задачи — такие, как сложные математические выражения, работа с графикой. В показанном выше примере окружение eqnarray можно заменить на окружение align[2] из пакета amsmath, которое даёт лучший (с типографской точки зрения) результат.

Формула[править | править код]

Формула для нормального распределения в LaTeX будет выглядеть так:

 \frac{1}{\sigma\sqrt{2\pi}}
   \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

а отображаться будет так:

Формула с номером[править | править код]

 \begin{equation}
   \label{eq:normal_dist}
   \frac{1}{\sigma\sqrt{2\pi}}
     \exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)
 \end{equation}

И теперь в местах, где надо сослаться на эту формулу, автор может писать \ref{eq:normal_dist}, а номер будет автоматически вставлен LaTeX’ом.

Построение графиков[править | править код]

Построение графиков осуществляется путем подключения пакетов PGFPlots (достаточно добавить в преамбулу документа команду \usepackage{pgfplots}), TikZ (окружение, устанавливающее оси графика).[3]

Вспомогательные программы[править | править код]

  • METAFONT — система для создания векторных шрифтов для TeXа;
  • MetaPost — система программирования векторной графики, представляемой в формате EPS, PDF и SVG;
  • TeX4ht[en] — пакет программ для конвертации документов LaTeX в форматы HTML, OpenDocument, DocBook и другие;
  • LaTeX2HTML — ещё одна программа для конвертации документов LaTeX в формат HTML;
  • pdfLaTeX — программа для компиляции документов LaTeX непосредственно в формат PDF;
  • Hevea — ещё одна программа конвертации документов в формат HTML.

Версии[править | править код]

Текущая версия LaTeX’а — LaTeX2e. Долгое время предполагалось, что далее последует версия 3, но впоследствии разработчики решили вместо этого улучшать непосредственно текущую версию LaTeX’а[4].

Также существуют коммерческие реализации всего TeX’а, разработчики которых могут добавлять различные функциональные возможности, вроде дополнительных гарнитур, или оказывать поддержку по телефону.

Существует множество сборок TeX’а: TeX Live (мультиплатформенная), teTeX (устарела, по сравнению с TeX Live, Unix), fpTeX (устарела), MiKTeX (Windows), MacTeX, gwTeX (Mac OS X), OzTeX (Mac OS Classic), AmigaTeX (больше не доступна) и PasTeX (AmigaOS) доступна из репозитория Aminet.

Лицензирование[править | править код]

LaTeX — свободное ПО, доступен на условиях LaTeX Project Public License (LPPL). LPPL не совместима с GNU GPL, так как она требует, чтобы изменённые файлы были явно различимы с оригиналами (обычно, имели другие имена); это было сделано для того, чтобы быть уверенным, что зависимости между существующими файлами не будут нарушены, и чтобы избежать проблем с совместимостью.

Начиная с версии 1.3 LPPL совместима с критериями Debian по определению свободного ПО (DFSG). Так как LaTeX является свободным программным обеспечением, то он доступен для многих операционных систем, включая GNU/Linux, Unix (включая ветку BSD), Windows, Mac OS X, RISC OS и AmigaOS.

Программные реализации[править | править код]

Набор макрорасширений (или макропакет) LaTeX для системы компьютерной вёрстки TeX был первоначально реализован автором на самом Plain TeX’е. Однако сейчас уже существуют и иные реализации, перечисленные ниже.

Обычно LaTeX распространяется вместе с обычным TeX’ом. Будучи макропакетом, LaTeX предоставляет набор макросов TeX’а. Существуют и другие макропакеты, такие как Plain TeX, GNU TeXinfo, AMSTeX и ConTeXt.

Когда TeX «компилирует» документ, цикл обработки (с точки зрения пользователя) следующий: макросы > TeX > драйвер > результат. Существуют различные варианты каждого из этих шагов в разных сборках. Традиционный TeX выдаёт DVI файл, который затем обычно преобразуется в PostScript файл. Позже Хан Тхе Тхань и другие написали другую реализацию TeX’а, которая выдаёт результат в формате PDF, используя преимущества, даваемые этим форматом. Движок XeTeX’а, разработанный Джонатаном Кью (Jonathan Kew), использует современные шрифты и Юникод вместе с TeX’ом.

Шрифт по умолчанию для LaTeX’а — Computer Modern, разработанный Кнутом, даёт документам, создаваемым LaTeX’ом, такой же вид, как и у документов, создаваемых обычным TeX’ом.

Библиотеки[править | править код]

Русификация[править | править код]

Чтобы использовать кириллицу, необходимо включить в преамбулу документа строки:

\usepackage[...]{inputenc}
\usepackage[T2A]{fontenc}

В квадратных скобках вместо нужно указать кодировку, в которой будет набираться текст на русском языке, например: cp866, cp1251, koi8-r или utf8, последняя рекомендуется. Эти строки должны находиться в преамбуле до вызова каких-либо пакетов, использующих русские буквы. После этого в тексте можно набирать русские буквы в указанной кодировке.

LaTeX-редакторы[править | править код]

Для облегчения набора и сборки документов LaTeX существует несколько интегрированных сред и специализированных редакторов, например:

См. также[править | править код]

Примечания[править | править код]

  1. How should I pronounce «LaTeX(2ε)»? Архивная копия от 15 августа 2020 на Wayback Machine — «a lot of people pronounce it „Lay TeX“ or perhaps „Lah TeX“ […]. It is definitely not to be pronounced in the same way as the rubber-tree gum»; How should I pronounce «TeX»? Архивная копия от 9 августа 2020 на Wayback Machine — «…a bit like the „ch“ in the Scots word „loch“ ([x] in the IPA)»
  2. Madsen, Lars Avoid eqnarray!? Архивировано из оригинала 4 февраля 2012 года. (англ.)
  3. Построение графиков. Дата обращения: 5 июня 2022. Архивировано 5 июня 2022 года.
  4. Frank Mittelbach. Quo vadis LaTeX(3) Team — A look back and at the upcoming years (2020). Дата обращения: 1 октября 2021. Архивировано 16 октября 2021 года.
  5. KaTeX — The fastest math typesetting library for the web. khan.github.io. Дата обращения: 3 января 2017. Архивировано 14 февраля 2017 года.
  6. sebbrudzinski/Open-LaTeX-Studio. GitHub. Дата обращения: 9 декабря 2016. Архивировано 17 февраля 2016 года.

Литература[править | править код]

Ссылки[править | править код]