Котельников И., Чеботаев П. LaTeX2e по-русски (1185906), страница 16
Текст из файла (страница 16)
Строго говоря, cyrillic не является коллекцией пакетов, не имея в своёмсоставе ни одного пакета. Коллекция содержит определения (файлы с расширением def) всех мыслимых кодировок, которые встречаются в исходных текстахна славянских языках. Кодировку исходного текста нужно указывать в виде опции при загрузке пакета inputenc. Кодировки, добавленные коллекцией cyrillic,перечислены в разделе 16.5.2, а проблемы русификации в концентрированномвиде обсуждаются в главе 4.3.3.4.Коллекция пакетов graphicsКоллекция включает три основных пакета: graphics, graphicx и color. Два первых являются альтернативными, обладая одинаковыми функциями, но используя разный интерфейс (метод взаимодействия) с пользователем.
Они обеспечивают поддержку включения, масштабирования и вращения графических изображений, созданных другими графическими программами. Пакет color предназначендля работы с цветными текстами. Графические пакеты описаны в главе 10.3.3. Пакеты3.3.5.69Коллекция пакетов psnfssКоллекция предоставляет всё необходимое для печати текстов с использованиемразнообразных PostScript шрифтов (кроме самих шрифтов). Описана в разделе 16.8.3.3.6.Коллекция пакетов toolsКоллекция tools содержит ряд пакетов, расширяющих возможности некоторыхпроцедур и команд LATEX’а.afterpagearraybmcalcdcolumndelarrayenumeratefontsmplftnrighthhlineindentfirstlayoutlongtablemulticolrawfontsshowkeysРазмещает текст в начале следующей страницы (раздел 11.3.1).Расширенная версия процедур array, tabular и tabular* с множеством дополнительных функций (раздел 12.3).Вводит команду \bm для набора полужирных математических символов (раздел 6.6).Полезен для программирования особо сложных команд (раздел 7.5).Упрощает выравнивание колонок в таблицах по десятичной точке вчислах (раздел 12.3.2).Добавляет большие скобки вокруг матриц (раздел 12.3.5).Расширенная версия процедуры enumerate (раздел 5.6.1).Используется разработчиками шрифтов для их проверки (описан вfontsmpl.dtx).Размещает все подстрочные примечания в правой колонке при двухколоночной печати (раздел 4.8).Позволяет разнообразить разделительные линии в таблицах и варианты их пересечений (раздел 12.3.4).Вводит отступ в начале первого абзаца каждого раздела.
По умолчанию LATEX не делает отступ в начале первого абзаца (раздел 4.5).Печатает диаграмму, иллюстрирующую все параметры стиля страницы, установленные выбранным классом печатного документа (раздел 17.2).Формирует многостраничные таблицы. Использует расширенныевозможности пакета array, если тот также загружен (раздел 12.5).Печатает текст в заданном числе колонок сбалансированной длины(раздел 17.4).Производит загрузку шрифтов, используя метод, принятый в предыдущей версии LATEX 2.09 (приложение A).Печатает «ключи», используемые командами \label, \ref, \cite ит.
д.; полезен при работе с черновой копией печатного документа (раздел 3.7).70tabularxtheoremtracevariorefverbatimxrxspace3.3.7.Глава 3. Печатный документВводит процедуру tabularx для создания таблиц заданной ширины(раздел 12.4).Расширенный вариант \newenvironment для определения новых процедур (раздел 7.3.1).Используется разработчиками пакетов для их отладки (описан вфайле trace.dtx).Вводит дополнительные команды для создания ссылок на номерастраниц (раздел 3.7.1).Делает возможным применение процедуры verbatim к большим массивам текста (раздел 5.6.3).Организует перекрёстные ссылки между несколькими печатными документами (раздел 3.7.2).Позволяет контролировать удаление или добавление пробелов послеимени команды (раздел 7.1).Пакеты contributedПеречисленные пакеты относятся к так называемым стандартным пакетам.
Онидолжны присутствовать в минимальном варианте установки системы LATEX.Помимо стандартных существуют сотни дополнительных пакетов. Их можнонайти на серверах CTAN, перечисленных на стр. 8. Невозможно описать и дажепросто перечислить все такие пакеты. Но все-таки некоторым мы решили уделитьвнимание в нашей книге, поскольку они особенно часто востребованы нашимиколлегами.Некоторые реализации системы LATEX автоматизируют процесс установки дополнительных пакетов, имея в своём дистрибутиве практически все существующие пакеты.
Например, MiKTeX содержит мастер установки пакетов MiKTeXPackage Manager, который позволяет находить нужные пакеты по названиям,ключевым словам или иным признакам. Но мы расскажем, как установить пакет«своими руками».На серверах CTAN дополнительные пакеты размещены в каталоге \tex\macros\latex\contrib, где размещены два каталога: supported и other. В первомнаходятся так называемые поддерживаемые пакеты; во втором — по большейчасти устаревшие, которые не рекомендуется использовать без крайней необходимости.На компьютере пользователя пакеты размещаются в каталоге \tex\latexтак называемого корневого каталога texmf.
Одновременно может существоватьнесколько корневых каталогов. Например, мастер установки MiKTeX рекомендует создать дополнительный корневой каталог localtexmf. Именно туда целесообразно устанавливать пакеты, шрифты и т. п. «вручную». Тогда при обновленииверсии MiKTeX достаточно заменить только первый корневой каталог texmf (снижележащими каталогами), не затрагивая localtexmf.3.4.
Титульная страница и аннотация71Для установки нового пакета его нужно скопировать в подкаталог \tex\latexкорневого каталога localtexmf (или texmf). При этом целесообразно сохранитьструктуру каталогов. Например, каталог \tex\macros\latex\contrib\supported\cite с сервера CTAN нужно целиком скопировать в каталог \localtexmf\latex\contrib\supported\cite на компьютере пользователя. Так труднее запутатьсяпри обновлении пакетов. Затем необходимо зарегистрировать добавленные файлы, что в большинстве современных реализаций системы LATEX производитсяпутём обновления базы данных. В системе MiKTeX эта операция производитсяиз меню Пуск | Программы | MiKTeX | MiKTeX Options | Refresh Now.
Послерегистрации пакета его можно загружать для компиляции любого документаобычным способом при помощи \usepackage.3.4.Титульная страница и аннотацияПечатный документ обычно начинается с заголовка. Стандартный заголовок печатает команда\maketitleЗаголовок размещается на отдельной титульной странице, если действует опцияtitlepage. Напомним, что эта опция выбирается по умолчанию всеми стандартными классами, кроме article и proc. Если выбрана опция notitlepage, команда \maketitle начинает новую страницу, присваивает ей номер 1 и печатаетзаголовок в её верхней части.
Команда \maketitle обычно стоит сразу же после\begin{document}. Информацию для печати заголовка она получает из нескольких команд, которые должны предшествовать ей:\title{title} объявляет название печатного документа. В аргументе title допускается использование команды \\, чтобы указать компилятору, как разбить длинное название на строки. Название может быть пустым (когда вфигурных скобках ничего нет), но сама команда обязательна, если команда\maketitle будет использована.\author{author} объявляет автора или список авторов.
Команду \\ применяют для разбиения списка авторов на строки, а также для того, чтобы вотдельной строке напечатать их адреса или другую информацию. Команда\author обязательна при использовании команды \maketitle, но её аргументможет быть пустым.\date{date} объявляет аргумент date датой выпуска печатного документа.Если данная команда отсутствует, LATEX проставит в заголовке текущую дату.Если дата не нужна, аргумент date должен быть пустым.
Некоторые нестандартные классы документов не печатают дату, даже если использована команда \date с непустым аргументом.Команды \title, \author, \date сами ничего не печатают, поэтому их, казалосьбы, можно поместить в преамбулу. Однако некоторые нестандартные классы,72Глава 3. Печатный документ\title{\LaTeX\thanks{Версия\\ для всех}\author{К.\,О.~Тельников\and П.\,З.~Чеботаев\\ \itshape Новосибирск}\date{1994}\maketitleLATEX∗для всех2.09.}К. О. Тельников П. З. ЧеботаевНовосибирск1994∗Версия 2.09.Рис. 3.1.
Пример титульной страницыв том числе класс revtex4, описанный в разделе 15.5, не допускают подобнуювольность. Аргументы этих и только этих трёх команд могут содержать команду\thanks{text} , которая печатает подстрочное примечание к заголовку. Её можно использовать для указания адресов авторов, благодарностей за финансовую или иную поддержку и пр. Аргумент команды \author может такжесодержать команду\and между фамилиями авторов, которые в этом случае печатаются в видетаблицы.Пример заголовка с использованием всех возможностей приведён на рисунке 3.1.Чтобы получить полный контроль над форматом и содержанием титульнойстраницы, лучше всего использовать процедуру titlepage:\begin{titlepage}...\end{titlepage}Она подготавливает совершенно чистую страницу, присваивает ей номер 1, но непечатает его, так как вид титульной страницы полностью определяется содержанием тела процедуры titlepage.В небольших печатных документах, таких как статьи в журналах, вслед зазаголовком часто следует аннотация.
Аннотацию печатает процедура abstract:\begin{abstract}...\end{abstract}Однако она не определена в классах book (книга) и letter (письмо), где онане нужна. Действительно, основному содержанию книги обычно предшествуетпредисловие, а не аннотация. Об особенностях оформления предисловия мы расскажем в разделе 3.10.Аннотация помещается на отдельной странице в печатном документе, еслидействует опция titlepage. Если же действует опция notitlepage, процедураabstract сама по себе не начинает новую страницу.
Поэтому, если она стоит передкомандой \maketitle, текст аннотации окажется на отдельной странице, так как\maketitle печатает заголовок всегда с новой страницы. Если же процедура733.5. Команды секционированиястоит после \maketitle, то аннотация будет напечатана сразу после заголовка.Нестандартные классы могут изменять описанный порядок. Например, в классеrevtex4 процедура abstract должна быть размещена до команды \maketitle,так как именно она печатает текст, взятый из тела процедуры abstract.Команды, описанные в данном разделе, не определены в классе letter.3.5.Команды секционированияСтандартные классы поддерживают следующие команды секционирования, перечисленные в порядке старшинства:\part[toc]{head}\chapter[toc]{head}\section[toc]{head}\subsection[toc]{head}\subsubsection[toc]{head}\paragraph[toc]{head}\subparagraph [toc]{head}\part*{head}\chapter*{head}\section*{head}\subsection*{head}\subsubsection*{head}\paragraph*{head}\subparagraph* {head}Каждая из команд в левой колонке начинает новый раздел, то есть присваиваетразделу очередной номер, печатает его заголовок head, заносит этот заголовокв колонтитулы (раздел 17.1) и в оглавление (раздел 3.10).