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

Опубликовано пользователем Бессонов Л.В. 16.02.2010г.

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

\documentclass[options]{class}

в которой [options] и {class} являются соответственно необязательным и обязательным аргументами. Обязательный аргумент в фигурных скобках должен содержать название класса печатного документа. Существует 6 стандартных классов: article, book, letter, report, proc, slides. Необязательный аргумент может вообще отсутствовать. В необязательном аргументе может присутствовать любое количество опций, разделённых запятыми. Опции модифицируют стиль печатного документа, определяемый выбором его класса. После команды \documentclass могут следовать команды, относящиеся ко всему документу и устанавливающие различные параметры оформления текста, например, величину абзацного отступа (вообще-то все эти параметры определяются используемым классом, но может случиться, что Вам понадобится сделать в них изменения). Если \documentclass определяет основную структуру печатного документа, то команде \usepackage вносит в неё дополнения и изменения, порой очень значительные. Команда \usepackage загружает пакет.

Пакет — это служебный текстовый файл с расширением sty. Пакеты бывают совершенно различные и их назначение разнообразно. Есть пакеты предназначенные для изменения вёрстки, есть пакеты предназначенные для внедрения в документ различных видов объектов (графика, видео и т.п.) и многие другие.

Далее должна идти команда \begin, открывающая окружение document

\begin{document}

Только после этой команды может идти собственно текст. Если Вы поместите текст или какую-нибудь команду, генерирующую текст (например, \LaTeX) до \begin{document}, то LaTeX выдаст сообщение об ошибке. Часть файла, расположенная между \documentclass и \begin{document}, называется преамбулой. Заканчиваться файл должен командой

\end{document}

закрывающей окружение document.

Если даже после \end{document} в файле и написано еще что-то, LaTeX это проигнорирует.

Пример входного файла:

  1. % Символ % указывает, что текст, следующий за ним до конца строки, игнорируется
  2. % и может использоваться в качестве комментария
  3. \documentclass{report} % класс печатного документа
  4. \usepackage[utf8]{inputenc} % кодировка исходного текста
  5. \usepackage[russian]{babel} % поддержка русского языка (гарнитура шрифта)
  6. \usepackage{indentfirst} % отступ в первом абзаце
  7.  
  8. % Конец преамбулы, начало текста
  9.  
  10. \begin{document}
  11. Example \LaTeX document.
  12. \end{document} % Конец текста

Результат:

$ Example\,\,\LaTeX\,\,document $

В данном случае загружаются файлы inputenc.sty, babel.sty и indentfirst.sty. Пакет inputenc используется для объявления кодировки исходного текста. Кодировка — это порядок следования букв в «компьютерном алфавите». В частности, строчные и прописные буквы имеют разные коды. Цифры и знаки препинания также считаются частью компьютерного алфавита. В нашем примере объявлена кодировка utf8 — это современная кодировка Unicode. Поскольку она является стандартной для установленных в дисплейных классах механико-математического факультета ОС Linux, то всё будет работать. Дома, скорее всего Вы будете пользоваться ОС Windows, для неё стандартной кодировкой является cp1251. Для старых текстов, подготовленных в Microsoft Dos, следовало бы указать кодировку cp866.

Пакета babel обеспечивает поддержку кириллических букв. К примеру, если в системе нет набора шрифтов для отображения кириллических символов (но указан пакет кодировки), LaTeX идентифицирует кириллические символы (например, \cyrA — кириллическая буква «А»), но не сможет их отобразить. Также пакет babel заменяет русскими эквивалентами все английские слова, которые компилятор автоматически вставляет в печатный документ. Например, слово «Chapter» перед началом главы заменяется на слово «Глава». То, что пакет babel должен включить настройки именно русского языка, указывает опция russian в необязательном аргументе команды \usepackage. В многоязычных документах нужно перечислить все используемые языки. Например, в научных статьях на русском языке, как правило, ещё используют английский язык в качестве вспомогательного:

  1. \usepackage[english,russian]{babel}

В русской типографике, в отличии от английской, принято, чтобы первый параграф раздела имел точно такой же отступ, как и везде. Пакет indentfirst позволяет управлять этим отступом а также делать отступ красной строки.

Баннер SGU.RU