Котельников И., Чеботаев П. LaTeX2e по-русски (1185906), страница 9
Текст из файла (страница 9)
Подробнее соответствие между декларациямии размером шрифта обсуждается в главе 16 (раздел 16.3.5). Она предназначенадля опытных пользователей. В частности там объясняется, как имена аргументовкоманд, например class или options, мы печатаем прямым курсивом. Понятно,что для этой цели не годится комбинация команд \textup и \textit, так какобе они меняют одну и ту же характеристику шрифта — его начертание, поэтомуодна команда отменяет действие другой:\textup{Class и \textit{Options}}1.12.Class и OptionsПечатный документТеперь настало время перейти к обсуждению структуры наибольшего размера —всего печатного документа в целом.
Поскольку весь текст документа следуетза \begin{document}, предшествующая часть входного файла, т. е. преамбула,может содержать только декларации, а также определения команд и процедур,которые предполагается использовать для форматирования печатного документа. Бо́льшую часть необходимых деклараций и определений загружает команда\documentclass. Она устанавливает класс печатного документа. В примере из36Глава 1. Пособие для начинающихраздела 1.3 выбран класс article (статья): \documentclass{article}. При этомкомпилятор загружает служебный файл article.cls.
Файлы классов имеют расширение cls.Полезно усвоить твёрдое правило — всегда начинать входной файл именно скоманды \documentclass. Достойно упоминания лишь одно исключение из этогоправила, а именно: команде \documentclass может предшествовать комментарий, каждая строка которого начинается с %.Выбирая класс печатного документа, обычно указывают одну или несколькоопций. Стандартные классы имеют десятки опций. Мы уже говорили об опциях 11pt и 12pt, которые увеличивают используемый шрифт в среднем на 10 и20 процентов. Так же упоминавшаяся опция twocolumn форматирует печатныйдокумент в две колонки.
Опция twoside форматирует текст так, чтобы его было удобно печатать на двух сторонах листа, а затем переплетать. Есть наборопций для выбора формата бумаги, на которой будет напечатан документ. Размеры страницы печатного документа — так называемая полоса набора — зависятот этого формата. Стандартные классы по умолчанию предполагают, что документ будет печататься на бумаге размером 8,5 × 11 дюймов (216 × 279 мм).Это несколько отличается от принятого в России и Европе формата А4, равного210×297 мм. Поэтому стандартные классы практически всегда следует включатьс опцией a4paper:\documentclass[a4paper]{article}В разделе 3.2 перечислены все опции стандартных классов.Наряду с \documentclass преамбула может содержать другие декларации иопределения, которые по отдельности, как правило, вносят меньшие измененияв класс документа, чем любая из стандартных опций.
Если же таких деклараций много и они часто используются в разных документах, их можно записать вотдельный файл с расширением sty. Такой файл называется пакетом и загружается декларацией \usepackage. Например, команда\usepackage{graphics}загружает пакет graphics. Он используется для вставки (импортирования) графических изображений (рисунков) в печатный документ. Пакеты могут иметьопции так же, как и классы.1.12.1.Титульная страницаПечатный документ обычно начинается с титульной страницы, на которой располагаются его название, список авторов и, возможно, дата. В краткой статье (документе класса article) вся эта информация будет напечатана в начале первойстраницы текста, а не на отдельном листе, как в монографии (документе классаbook). В любом случае титульную страницу производит команда \maketitle.
Онане имеет аргументов. Вся информация для печати титульной страницы должна371.12. Печатный документбыть введена заранее. Название, фамилии авторов и дата указываются соответственно в аргументах команд \title, \author и \date. Фамилии авторов разделяются командой \and, но можно также писать их через запятую или пробел.Команды \title, \author и \date можно поместить в преамбулу, как это сделано в примере из раздела 1.3. Команда \date необязательна. Если она пропущена,LATEX печатает текущую дату8 .
Однако команды \title, \author обязательны,если \maketitle действительно используется. Чтобы команда \maketitle не печатала дату или, например, фамилию автора, аргумент соответствующей подготовительной команды должен быть пустым: \date{}. Команды, печатающие натитульной странице дополнительную информацию (адрес автора и т. п.), описаныв главе 3.\subsection{Глава, секция и др.}\LaTeX\ автоматически генерируетномер раздела. Пустая строка допосле команды секционирования неимеет значения.1.12.2.Глава, секция и др.LATEX автоматически генерирует номерраздела.
Пустая строка до или после команды секционирования не имеет значения.Печатный текст значительного размера разбивают на логически завершённыечасти — разделы: главы, секции, параграфы и т. д. Разделы образуют иерархическую структуру, каждый элемент которой начинается с одной из команд секционирования, которые перечислены ниже в порядке возрастания уровня вложенности (по строкам слева направо):\part\section\paragraph\chapter\subsection\subparagraph\subsubsectionКласс документа определяет, какие из этих команд доступны. Например, в классе article старшей из доступных команд секционирования является \section(секция), а в классе book — команда \chapter (глава).
В результате документкласса article легко включить в книгу в виде отдельной главы, то есть как раздел \chapter. Команда \part является необязательной в том смысле, что она невлияет на нумерацию разделов более низкого уровня.Текст приложения (если таковое имеется) начинается с декларации\appendix и может содержать те же команды секционирования, что и основная часть текста. Декларация \appendix ничего не печатает, а только меняетспособ нумерации разделов сообразно тому, как это принято для приложений.Чтобы напечатать оглавление, в текст входного файла нужно вставить команду \tableofcontents.
Когда LATEX переносит название раздела из аргументакоманды секционирования в оглавление, он проделывает с ним некие манипуляции, которые небезопасны для ряда команд LATEX’а. Такие команды называютсяхрупкими в отличие от устойчивых команд, которым ничего не страшно.Все подобные утверждения справедливы при использовании одного из стандартных классов.Мы не будем более напоминать об этом.838Глава 1. Пособие для начинающихАргументы, которые куда-либо передаются, называются подвижными.
Может случиться, что команда, помещённая в аргумент другой команды, отказывается работать. Весьма вероятно, что она хрупкая и находится в подвижном аргументе. Тогда её нужно защитить, поставив перед ней команду \protect. Хрупкиекоманды обсуждаются в разделе 2.7.1.13.Диагностические сообщенияНе каждому новичку удаётся с первой попытки получить идеально оформленныйи красиво напечатанный текст из-за неизбежных поначалу ошибок.Если Читателю, вопреки нашим предсказаниям, удалось безошибочно ввестиобразец исходного текста во входной файл first.tex, предлагаем ему поэкспериментировать, удалив букву a из команды \begin{equation}.
Эта команданаходится в строке 50. Пометьте также эту строку своим комментарием:\begin{eqution} % пропущена буква ‘а’ в слове equationНазовём испорченный таким образом входной файл second.tex. Читатель ужезнает, как выполнить компиляцию входного файла. На нашем компьютере мызапускаем компилятор latex через меню редактора. На компьютере нашего Читателя способ запуска компилятора, а также сообщения, которые он выводитна экран, могут немного отличаться от приводимых ниже. Напомним, что мыиспользуем комплект программ MiKTeX, работающий под управлением операционной системы Windows.Приступив к работе, latex выводит на экран дисплея сообщение9 :This is e-TeX, Version 3.141592-2.1 (MiKTeX 2.4)entering extended mode(second.texLaTeX2e <2001/06/01>Babel <v3.7m> and hyphenation patterns for english, russian, dumylang, nohyphenation, loaded.(C:\texmf\tex\latex\base\article.clsDocument Class: article 2001/04/21 v1.4e Standard LaTeX document class(C:\texmf\tex\latex\base\size10.clo)) (C:\texmf\tex\latex\base\inputenc.sty(C:\texmf\tex\latex\cyrillic\cp1251.def)) (C:\texmf\tex\generic\Babel\babel.sty(C:\texmf\tex\generic\Babel\russianb.ldf (C:\texmf\tex\generic\Babel\babel.def)(C:\texmf\tex\latex\cyrillic\t2aenc.def)))No file second.aux.Из него следует, что работает программа-компилятор из коллекции MiKTEX.
Оназагружает файл second.tex (об этом говорит третья строка сообщения). Версияформата LATEX 2ε указана в четвёртой строке. Она датирована 1 июня 2001 года.В пятой строке сообщается, что загружены таблицы переносов для английского9Мы сохранили разбиение на строки, как на экране.1.13. Диагностические сообщения39и русского языков. Какие именно таблицы переносов будут загружены, определяется при установке системы LATEX на компьютер (см.
приложение B.1). Далееследует перечень загружаемых служебных файлов, который начинается с файлакласса article.cls.Сообщение «No file second.aux» в последней строке предупреждает, что ненайден один из служебных файлов. Такого рода предупреждения появляются припервой компиляции любого входного файла.
Обрабатывая входной файл, latexодновременно записывает служебную информацию во вспомогательный файл стем же именем second, что и входной файл, но присваивает ему расширениеaux. При повторной обработке такой вспомогательный файл уже будет найден,и компилятор сообщит:(second.aux)Файлы с расширением aux используются для автоматического создания перекрёстных ссылок на номера страниц, рисунков, таблиц, цитируемую литературуи так далее. Так как в данном случае перекрёстных ссылок нет, файл second.auxв общем-то бесполезен.Затем обычно на экран выводятся несколько строк с информацией о загрузкешрифтов:(C:\texmf\tex\latex\cyrillic\t2acmr.fd) (C:\texmf\tex\latex\cyrillic\t2acmtt.fd)Существенно более подробная информация о шрифтах записывается в протоколкомпиляции, т.