Мы — круче всех: мы работаем в LaTeX!

Думаю, все уже знают, что для вёрстки руководств пользователя к нашим приборам мы используем систему LaTeX. Но возможно, не все представляют, что это за система и почему именно в ней мы работаем. Об этом я и хочу рассказать.

Кратко о TeX, METAFONT и LaTeX

  1. Система компьютерной вёрстки TeX была разработана американским учёным Дональдом Эрвином Кнутом. В дополнение к этой типографской системе он также создал язык программирования METAFONT, используемый для разработки векторных шрифтов.
  2. Сам по себе TeX представляет специализированный язык программирования. Дональд Кнут не только придумал его, но и написал для этого языка транслятор, причем таким образом, что на разных компьютерах он работает совершенно одинаково.
  3. Работать над проектом Дональд Кнут начал в 1977 году, примерно через 10 лет после этого системы TeX и METAFONT были стабилизированы (версия 2.7 для METAFONT и 3.1 для TeX). В дальнейшем METAFONT и TeX модифицировались только с целью исправления ошибок. Версии TeX нумеруются знаками числа «пи», METAFONT — числа «e». За обнаружение в своих программах неизвестной ранее ошибки Дональд Кнут выплачивает небольшое вознаграждение.
  4. С помощью METAFONT Дональд Кнут создал семейство шрифтов Computer Modern, применяемое в TeX и LaTeX по умолчанию. Хочу отметить, что с недавнего времени мы используем не стандартные шрифты, а шрифты, разработанных компанией ПараТайп в рамках проекта общенациональных бесплатных шрифтов. Подробнее об этом в заметке Шрифты для LaTeX.
  5. Последняя буква в названиях TeX и LaTeX это греческая «хи», а не английская «икс», поэтому TeX и LaTeX читаются как «тех» и «латех», а не «текс» и «латекс».
  6. В начале 80-х годов 20 века американский учёный Лесли Лэмпорт начал разработку издательской системы LaTeX на основе TeX. LaTeX представляет собой набор макросов на языке TeX и позволяет автоматизировать многие задачи, которые возникают при наборе текста.

Почему не Word?

У меня есть опыт создания сложных документов и в Word и в LaTeX. Но если кто-то спросит: «Вот собираюсь создать руководство (диплом, научную статью), что лучше использовать — LaTeX или Word?», — я, конечно, посоветую LaTeX.
Хотя, почему бы не использовать Word — на первый взгляд там все понятно, а главное — наглядно: пользователь сразу видит создаваемый документ. Даже неподготовленные человек сможет набрать в этой программе несложный текст. Но если стоит задача сделать нечто большее, чем маленькая статья, тут и возникают трудности. Для того чтобы, чтобы документ получился корректным и с ним без труда могло работать несколько пользователей, необходимо знать абсолютно неочевидные вещи.

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

Кроме этого:

  1. Формат исходных файлов для LaTeX — текстовый, что позволяет применять систему контроля версий и без труда отслеживать вносимые изменения.
  2. LaTeX позволяет конвертировать исходный текстовый файл в готовый для печати вид — ps, pdf.
  3. LaTeX относится к свободному программному обеспечению.
  4. В исходный текст можно включать сложные формулы, схемы, картинки, и всё это прекрасно смотрится на печати.
  5. Разметка документа, оглавление, предметный указатель, нумерация глав, рисунков, формул — все это LaTeX делает автоматически. Достаточно выбрать стиль документа и, используя несложные команды, создавать содержание, не думая о внешнем виде документа.
  6. LaTeX позволяет подключать множество специализированных пакетов для решения различных задач. Например, пакет bytefield позволяет создавать иллюстрации для описания сетевых протоколов. Пакет pgf/tikz — рисовать сложные электрические схемы, графики и многое другое.
  7. Буклет с помощью LaTeX создать проще простого.

Пример

Конечно, сразу создать полноценный документ в LaTeX не получится. Придётся поизучать материал, но результат того стоит. Тем более, что литературы на эту тему достаточно.

Но чтобы хоть чуть-чуть понять, как всё это реализовано «изнутри», создадим простенький файл и назовём его helloworld.tex. Содержание файла будет следующим:


\documentclass{article} % тип документа
\usepackage[koi8-r]{inputenc} % кодировка
\usepackage[english, russian]{babel} % поддержка русского языка

\begin{document} % начало документа
\LARGE Это мой первый документ в LaTeX. % наш текст
\end{document} % конец документа

Теперь введём команду pdflatex helloworld.tex. После компиляции получим файл helloworld.pdf. Вот и всё, мини-документ готов.

Что почитать

Небольшой список полезных книг:

  1. С.М. Львовский «Набор и вёрстка в системе LaTeX»
  2. И.А. Котельников, П.З. Чеботаев «Издательская система LaTeX 2e»
  3. М. Гуссенс, Ф. Миттельбах, А. Самарин «Путеводитель по пакету LaTeX и его расширению LaTeX 2e»