LaTeX

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск
LaTeX
Тип Настольное издательское ПО
Разработчик Лесли Лампорт
ОС Кроссплатформенное программное обеспечение
Язык интерфейса LaTeX
Версия <math>2\varepsilon</math> (2005)
Лицензия LaTeX Project Public License (LPPL)
Сайт latex-project.org

LaTeX (произносится /ˈleɪtɛk/ или /ˈlɑːtɛk/) [1]; ударение допустимо на любой из слогов) — наиболее популярный набор макрорасширений (или макропакет) системы компьютерной вёрстки TeX, который облегчает набор сложных документов.

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

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

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

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

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

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

Содержание

Система набора

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

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

Примеры

Пример 1. Hello world

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

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

Первая строка — команда \documentclass с одним параметром article. Команды в LaTeX всегда начинаются с обратного слеша, а параметры обычно заключаются в фигурные скобки. Команда \documentclass сообщает, к какому классу относится документ, и должна стоять в начале любого документа. Класс article означает, что документ — короткая статья. Некоторые другие классы:

  • report — длинная статья, с главами
  • book — книга
  • slides — набор слайдов
  • letter — письмо

Вторая строка задаёт начало собственно документа. В LaTeX выводится на печать только то, что находится между \begin{document} и \end{document}. Всё, что стоит перед \begin{document}, называется преамбулой. В преамбуле могут задаваться, кроме класса документа, используемые пакеты (команда \usepackage), автор (команда \author), название документа (команда \title) и т. д.

Третья строка содержит текст для вывода на печать. В данном случае внутри текста нет команд и формул. Но и такой текст не выводится в оригинальном виде, а форматируется. В частности:

  • Два или больше пробелов эквивалентно одному пробелу.
  • Перевод строк, с любым количеством пробелов перед и после него, эквивалентен пробелу.
  • Пустая строка или строка, содержащая только пробелы, начинает новый абзац.
  • LaTeX самостоятельно выравнивает тексты, определяет переносы, интервалы между словами, строками и абзацами.

Четвёртая строка заканчивает документ и является парной к \begin{document}.

Пример 2

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

\documentclass[12pt]{article}
% Вот это комментарий, он не будет показан в выходном файле.
\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, которое даёт лучший (с типографской точки зрения) результат.

Пример 3

Формулы в LaTeX не рисуют, а набирают из специальных команд. Например, формула для нормального распределения в LaTeX будет выглядеть так:

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

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

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

Допустим, у автора возникнет потребность сослаться на эту формулу. Для этого её надо пронумеровать и во время подготовки документа следить за правильностью нумерации. LaTeX помогает решить эту проблему, нумеруя и следя за этим самостоятельно. Для этого надо формулу вставить в окружение equation и дать ей название командой label:

 \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’ом. Если формула принадлежит к какому-либо разделу, его номер (по умолчанию) тоже будет включен в номер формулы. Номер в самом уравнении будет размещен в соответствии со стилем оформления.

Возможности

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

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

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

Структура документа

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

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

Например,

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

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

Например,

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

Формат текста

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

Вспомогательные программы

  • METAFONT: система для создания векторных шрифтов для TeXа;
  • MetaPost: система программирования векторной графики, представляемой в формате EPS;
  • 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 является свободным программным обеспечением, то он доступен для многих операционных систем включая 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’ом.

Русификация

LaTeX-редакторы

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

Примечания

  1. How should I pronounce «TeX»?
  2. Madsen, Lars Avoid eqnarray!?.(англ.)
  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.

См. также

Ссылки

Документация

Дистрибутивы

Он-лайн

  • Генерация картинок по формулам:
  • Online LaTeX Compiler — англоязычный интерфейс; поддерживане сохранение документов, права доступа к документам, категории, стили, классы, изображения, BibTeX; не поддерживает русский язык и кириллицу.
  • LaTeX Equation Editor — Программа перевода LaTeX в HTML, требует инсталляции.

Прочее

Литература

bar:LaTeX bg:LaTeX bn:ল্যাটেক bs:LaTeX ca:LaTeX cs:LaTeX da:LaTeX de:LaTeX en:LaTeX eo:LaTeX es:LaTeX eu:LaTeX fa:لاتک fi:Latex fr:LaTeX he:LaTeX hr:LaTeX hu:LaTeX hy:LaTeX id:LaTeX is:LaTeX it:LaTeX ja:LaTeX ko:LaTeX mn:LaTeX ms:LaTeX nl:LaTeX no:LaTeX oc:LaTeX pl:LaTeX pt:LaTeX ro:LaTeX sh:LaTeX simple:Latex (text processing system) sq:LaTeX sv:Latex (typsättningssystem) tg:ЛаТеК tr:LaTeX ug:Latex uk:LaTeX zh:LaTeX

Источник — «http://www.sbup.com/wiki/LaTeX»
Личные инструменты

Served in 0.398 secs.