LaTeX

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
LaTeX logo.svg
Тип

Настольное издательское ПО

Разработчик

Лесли Лэмпорт

Операционная система

Кроссплатформенное программное обеспечение

Языки интерфейса

LaTeX

Первый выпуск

1984 год

Последняя версия

2e (стилизовано как 2\varepsilon) (15.10.2009)

Лицензия

LaTeX Project Public License (LPPL)

Сайт

http://www.latex-project.org

LaTeX (произносится [ˈleɪtɛk], [ˈleɪtɛh], [ˈlɑːtɛk] или [ˈlɑːtɛh][1], по-русски — лате́х) — наиболее популярный набор макрорасширений (или макропакет) системы компьютерной вёрстки TeX, который облегчает набор сложных документов. В типографском наборе форматируется как \mathrm{L\!\!^{{}_{\scriptstyle A}} \!\!\!\!\!\;\; T\!_{\displaystyle E} \! X}.

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

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

Общий внешний вид документа в 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}

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

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

Примеры[править | править вики-текст]

Пример 1. Hello world[править | править вики-текст]

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

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

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

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

\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 output example.png

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

Пример 3. Формула[править | править вики-текст]

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

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

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

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

Пример 4. Формула с номером[править | править вики-текст]

 \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’ом.

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

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

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

Текущая версия LaTeX’а — LaTeX2e. На 2008-й год известно, что следующая версия будет называться LaTeX3, разработка которой была начата ещё в начале 1990-х годов и всё ещё продолжается[3]. В планируемое для включения входят улучшенный синтаксис, поддержка гиперссылок, новый пользовательский интерфейс, доступ к произвольным шрифтам и новая документация[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’ом. Будучи макропакетом, 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 «TeX»? — «…a bit like the the ‘ch’ in the Scots word ‘loch’ ([x] in the IPA)»
  2. Madsen, Lars Avoid eqnarray!?. Архивировано из первоисточника 4 февраля 2012. (англ.)
  3. См., к примеру, [1]. Далее, все компоненты LaTeX3 в действительности содержат запись «(C) 1990—2006 LaTeX3 project», к примеру, http://www.ctan.org/tex-archive/macros/latex/exptl/project/expl3/l3basics.dtx.
  4. Frank Mittelbach, Chris Rowley. The LaTeX3 Project (PDF) (January 12, 1999). Проверено 30 июля 2007. Архивировано из первоисточника 24 августа 2011.

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]