Мы — круче всех: мы работаем в LaTeX!
Думаю, все уже знают, что для вёрстки руководств пользователя к нашим приборам мы используем систему LaTeX. Но возможно, не все представляют, что это за система и почему именно в ней мы работаем. Об этом я и хочу рассказать.
Кратко о TeX, METAFONT и LaTeX
- Система компьютерной вёрстки TeX была разработана американским учёным Дональдом Эрвином Кнутом. В дополнение к этой типографской системе он также создал язык программирования METAFONT, используемый для разработки векторных шрифтов.
- Сам по себе TeX представляет специализированный язык программирования. Дональд Кнут не только придумал его, но и написал для этого языка транслятор, причем таким образом, что на разных компьютерах он работает совершенно одинаково.
- Работать над проектом Дональд Кнут начал в 1977 году, примерно через 10 лет после этого системы TeX и METAFONT были стабилизированы (версия 2.7 для METAFONT и 3.1 для TeX). В дальнейшем METAFONT и TeX модифицировались только с целью исправления ошибок. Версии TeX нумеруются знаками числа «пи», METAFONT — числа «e». За обнаружение в своих программах неизвестной ранее ошибки Дональд Кнут выплачивает небольшое вознаграждение.
- С помощью METAFONT Дональд Кнут создал семейство шрифтов Computer Modern, применяемое в TeX и LaTeX по умолчанию. Хочу отметить, что с недавнего времени мы используем не стандартные шрифты, а шрифты, разработанных компанией ПараТайп в рамках проекта общенациональных бесплатных шрифтов. Подробнее об этом в заметке Шрифты для LaTeX.
- Последняя буква в названиях TeX и LaTeX это греческая «хи», а не английская «икс», поэтому TeX и LaTeX читаются как «тех» и «латех», а не «текс» и «латекс».
- В начале 80-х годов 20 века американский учёный Лесли Лэмпорт начал разработку издательской системы LaTeX на основе TeX. LaTeX представляет собой набор макросов на языке TeX и позволяет автоматизировать многие задачи, которые возникают при наборе текста.
Почему не Word?
У меня есть опыт создания сложных документов и в Word и в LaTeX. Но если кто-то спросит: «Вот собираюсь создать руководство (диплом, научную статью), что лучше использовать — LaTeX или Word?», — я, конечно, посоветую LaTeX.
Хотя, почему бы не использовать Word — на первый взгляд там все понятно, а главное — наглядно: пользователь сразу видит создаваемый документ. Даже неподготовленные человек сможет набрать в этой программе несложный текст. Но если стоит задача сделать нечто большее, чем маленькая статья, тут и возникают трудности. Для того чтобы, чтобы документ получился корректным и с ним без труда могло работать несколько пользователей, необходимо знать абсолютно неочевидные вещи.
С чего вдруг неподготовленный человек решит использовать стили и шаблоны? А без них нельзя, иначе в результате получится документ с ручным форматированием и впоследствии редактировать его будет очень трудно. А вот в LaTeX без минимальных знаний сверстать документ не получится, придется изучать теорию. В результате пользователь, первый раз составляющий какое-нибудь описание с помощью LaTeX, создает его, прочитав несколько глав умной книги. В результате, на выходе получается качественный документ, в который при необходимости без труда можно вносить изменения и правки.
Кроме этого:
- Формат исходных файлов для LaTeX — текстовый, что позволяет применять систему контроля версий и без труда отслеживать вносимые изменения.
- LaTeX позволяет конвертировать исходный текстовый файл в готовый для печати вид — ps, pdf.
- LaTeX относится к свободному программному обеспечению.
- В исходный текст можно включать сложные формулы, схемы, картинки, и всё это прекрасно смотрится на печати.
- Разметка документа, оглавление, предметный указатель, нумерация глав, рисунков, формул — все это LaTeX делает автоматически. Достаточно выбрать стиль документа и, используя несложные команды, создавать содержание, не думая о внешнем виде документа.
- LaTeX позволяет подключать множество специализированных пакетов для решения различных задач. Например, пакет bytefield позволяет создавать иллюстрации для описания сетевых протоколов. Пакет pgf/tikz — рисовать сложные электрические схемы, графики и многое другое.
- Буклет с помощью 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. Вот и всё, мини-документ готов.
Что почитать
Небольшой список полезных книг:
- С.М. Львовский «Набор и вёрстка в системе LaTeX»
- И.А. Котельников, П.З. Чеботаев «Издательская система LaTeX 2e»
- М. Гуссенс, Ф. Миттельбах, А. Самарин «Путеводитель по пакету LaTeX и его расширению LaTeX 2e»