Главная страница

Основы работы в системе LATEX. Для направления ИВТ (Чебарыкуов М. Учебное пособие для студентов направления "Информатика и вычислительная техника"


Скачать 497.57 Kb.
НазваниеУчебное пособие для студентов направления "Информатика и вычислительная техника"
Дата18.04.2023
Размер497.57 Kb.
Формат файлаpdf
Имя файлаОсновы работы в системе LATEX. Для направления ИВТ (Чебарыкуов М.pdf
ТипУчебное пособие
#1070117
страница2 из 2
1   2

Вывод текста в две колонки twoside, oneside
Задает выводную структуру документа для двусторон- ней или односторонней печати openright,
openany
Разрешает начинать главы только на нечетных стра- ницах или на любых
Базовый набор команд L
A
TEX не всегда достаточен для решения постав- ленных задач. Если требуется включение графических объектов в различ- ных форматах, использование различных языков, цветного текста и т. п., то
11

нужно использовать расширения стандартного набора, которые называются пакетами. Для активации пакета используется команда:
\usepackage[options]{package}
Здесь package является именем пакета, a options – его аргументами, которые,
вообще говоря, не обязательны. Некоторые пакеты входят в состав базового сопровождения L
A
TEX’а, а многие распространяются отдельно. Приведем име- на некоторых, наиболее распространенных пакетов в табл. 3, сопровождая их короткими описаниями.
Таблица 3
Пакеты системы L
A
TEX
Пакет
Описание babel
Пакет языковой поддержки, в том числе и русификации inputenc
Пакет задания кодировки текста документа (Win, KOI,...)
graphicx
Пакет для импорта в документ рисунков в различных форматах makeidx
Пакет для создания предметных и именных указателей amsmath,
amsopn,
amssymb
Пакеты для оформления математических статей от Американ- ского математического общества hyperref
Пакет для создания гиперссылок в итоговом документе maple2e
Пакет для распознавания текста, подготовленного пакетом
Maple.
Отметим, что при этом все файлы поддержки пакета (с расширением
.sty) должны размещаться или в каталоге самого документа, или в каталоге
L
A
TEX’а со стилевыми файлами. Кроме того, в преамбуле документа могут находиться команды, управляющие параметрами страницы, команды, опре- деляющие правила переноса слов, и др. Обо всем этом будет сказано далее.
2.2
Стили и параметры страницы
Результат обработки текста документа располагается в прямоугольной области на физической странице, которая называется логической страницей.
Сверху страницы находится верхний колонтитул, а снизу – нижний колонти- тул. Отступы сверху и снизу, слева и справа от логической страницы назы- ваются полями и иногда используются под небольшие фрагменты текста –
так называемые заметки на полях. В L
A
TEX’е предусмотрено три стандарт- ных стиля страниц, приведенные в табл. 4. Для их определения используются следующие две команды:
\pagestyle{style}
\thispagestyle{style}
Первая команда указывает на стиль страницы для всего документа, а вторая позволяет изменять стиль текущей страницы.
12

Таблица 4
Стандартные стили страницы
Стиль
Описание plain
Стиль, используемый пакетом по умолчанию. Номер страницы печатается по центру нижнего колонтитула headings
В верхнем колонтитуле печатается заголовок текущей главы и номер страницы empty
Отсутствие колонтитулов и номеров страниц
Геометрические параметры страницы также могут легко изменяться. Па- раметры страницы и соответствующие команды вместе со значениями, при- нятыми по умолчанию для листа размера letter, схематически представлены на рис. 1. Далее даны значения, принятые по умолчанию (они указаны на рисунке под соответствующими номерами):
1. one inch + \hoffset ,
8. \textwidth - 372 pt,
2. one inch + \voffset ,
9. \marginparsep - 7 pt,
3. \oddsidemargin - 31 pt,
10. \marginparwidth - 71 pt,
4. \topmargine - 28 pt,
11. \footskip - 36 pt,
5. \headheight - 12 pt,
12. \marginparpush - 5 pt,
6. \headsep - 20 pt,
13. \hoffset - 0,
7. \textheight - 526 pt,
14. \voffset - 0.
По умолчанию для нумерации страниц используются арабские цифры.
Стиль нумерации можно переопределить с помощью команды
\pagenumbering{num_stylе}
Стили num_stylе приведены в табл. 5.
Таблица 5
Стили нумерации
Стиль
Вид нумерации страницы
Агаbic
Арабские цифры
Roman или roman Большие или маленькие римские цифры
Alph или alph
Большие или маленькие буквы
Напомним, что размер бумаги указывается с помощью опций команды
\documentclass
Иногда возникает необходимость указать другие параметры страницы для печати (см. пункт 1.7). Напомним, что команды, изменяющие параметры страницы, должны находиться в преамбуле документа.
Кроме описанных команд в преамбуле документа могут размещаться ко- манды, определяемые пользователем (см. раздел 6), и некоторые другие ко- манды.
13

Рис. 1. Параметры страницы
Приведем пример текста документа на русском языке в кодировке Windows-
1251 в системе MiKTeX:
\documentclass[12pt,а4рарег]{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\addtolength{\textwidth){lcm}
\pagestyle{empty}
\begin{document}
Текст данной статьи.
\end{document}
3
Простейшее оформление тела документа
3.1
Заголовок документа
Документ обычно начинается с заголовка, который определяет группа команд, приведенных в табл. 6.
14

Таблица 6
Стандартные команды заголовка документа
Команда
Описание
\title
Определяет название документа
\author
Определяет имена авторов документа
\email
Определяет электронную почту авторов
\date
Позволяет задать дату написания документа; если команда не используется, то L
A
TEX использует системную дату
\thanks
Создает сноску с благодарностями внизу страницы
Эти команды будут активированы, если после них стоит команда со- здания заголовка: \maketitle. Если стиль документа artiсlе, то заголовок документа размещается перед текстом на первой странице, а для остальных стилей создается отдельный титульный лист.
3.2
Разделы, главы, абзацы, примечания
В системе L
A
TEX существует возможность разделять текст на разделы с различным уровнем вложенности при помощи команд, приведенных в табл. 7
(сверху вниз – от самого высокого уровня вложенности до самого низкого).
Таблица 7
Команды создания разделов документа
Команда
Описание
\part [opt]{text}
Часть.Употребляется только для класса book.
\chapter [opt]{text}
Глава. Употребляется только для класса book.
\section [opt]{text}
Раздел.
\subsection [opt]{text}
Подраздел.
\subsubsection [opt]{text}
«Подподраздел».
\paragraph [opt]{text}
Текст пользователя выделяется отступа- ми и шрифтом.
\subparagraph [opt]{text}
Самый низкий уровень вложенности.
\appendix
Эта команда не выводит никакого текста,
а служит для обнуления счетчиков.
Во всех перечисленных командах, кроме последней, аргумент text содер- жит заголовок соответствующего раздела. Эти команды используются для автоматической нумерации разделов, а также создания оглавления докумен- та и колонтитулов. Опция opt определяет альтернативный заголовок (обычно более короткий) для замены текста заголовка text в оглавлении и колонтиту- лах.
15

Команда \appendix полезна для создания приложений в конце доку- мента, поскольку они обозначаются иным способом, чем разделы основного документа.
Для определения сносок внизу страницы существует команда
\footnote[numbeг]{text}
, где text – текст сноски, a number является необя- зательным параметром, предназначенным для изменения номера сноски.
Примечания на полях можно сделать при помощи команды создания за- меток – \marginpar{text}. По умолчанию текст выводится в правом поле страницы. Для того чтобы сменить поле для заметок на левое, использует- ся команда \reversemarginpar, а для возвращения значения по умолчанию надо выполнить команду \normalmarginpar.
Команда перехода на новый абзац – \par (сокращенная форма – \\),
переход на новую строку без изменения абзаца – \\*. Команду \\ можно заменить одной или несколькими пустыми строками. Отметим, что пустая строка не должна встречаться в математических формулах, это приведет к ошибке при компиляции.
По умолчанию пакет выравнивает абзацы по ширине. Окружения flushleft,
center, flushright служат для выравнивания абзаца по левому краю, по центру и по правому краю соответственно.
По умолчанию первая строка для первого в разделе абзаца печатается без отступа (так принято в США), а первые строки для последующих абза- цев – с отступом. Однако эти правила можно изменить при помощи команд управления абзацным отступом: \indent – производит горизонтальный от- ступ в начале абзаца, \noindent – подавляет горизонтальный отступ в нача- ле абзаца. Можно также подключить пакет indentfirst в преамбуле, чтобы первая строка для первого в разделе абзаца начиналась с красной строки,
как принято в России и других европейских странах.
3.3
Разрывы, интервалы, переносы
При создании печатного варианта L
A
TEX автоматически разбивает до- кумент на страницы, сам выравнивает строки и делает переносы. Но часто возникают ситуации, когда необходимо это сделать принудительно, если авто- матический вариант не удовлетворяет нашим пожеланиям. Для управления разрывами существуют команды, приведенные в табл. 8.
Опция number принимает значения между 0 и 4 и управляет степенью обязательности применения команды: значение 4 соответствует наибольшей обязательности, а 0 позволяет L
A
TEX’у игнорировать команду, если ее приме- нение приводит к плохому результату.
Команда \enlargethispage{size} позволяет изменить размер поля тек- ста одной из страниц, на небольшую величину аргумента size.
Несколько пустых строк L
A
TEX считает за одну, несколько пустых про- белов – за один пробел. Расстояние между словами в строке или абзацами в документе пакет определяет автоматически, а для принудительного изме-
16
нения интервала используются команды \hspace{length} – горизонтальный отступ длиною length, \vspace{length} (сокращенная форма \\[length])
– вертикальный интервал длиною length. В последних трех командах length является длиной отступа в любых единицах, разрешенных в системе L
A
TEX
(см. пункт 1.8).
Таблица 8
Команды управления разрывами абзацев и строк
Команда
Описание
\\
или \newline
Конец строки и переход на новый абзац
\\*
Конец строки без перехода на новый абзац
\newpage
Переход на новую страницу
\pagebreak [number]
Разрыв страницы
\nopagebreak [number]
Запрет перехода на новую страницу
\linebreak [number]
Переход на новую строку
\nolinebreak [number]
Запрет перехода на новую строку
Для запрета автоматического изменения интервала между словами слу- жит символ «
∼». Эту команду можно использовать также в качестве нераз- рывного пробела. Например, инициалы не будут отрываться от фамилии,
если написать так: Иванов
∼И.∼И.
Следующие три команды должны находиться в преамбуле документа.
Команда задания межстрочного интервала – \linespread{size}. Здесь size определяет размер интервала: size=1.3 соответствует полуторному интерва- лу, size=1.6 – двойному, по умолчанию задан одинарный интервал (size=1).
Команда \setlength{\parindent){value} – задает расстояние величи- ны value отступа в первой строке абзаца, а \setlength{\parsk1p}{value} –
определяет интервал между абзацами.
Расстановкой переносов и плотностью строки управляют команды \fussy и \sloppy. Первая команда активна по умолчанию и приводит к тому, что транслятор старается оставить как можно меньше лишних пробелов в строке.
Команда \raggedright, напротив, позволяет установить режим без выравни- вания и без переносов.
L
A
TEX поддерживает алгоритм автоматической расстановки переносов на основе встроенных словарей. Пользователь может дополнить базовые прави- ла переносов при помощи команды \hyphenation{список_слов}.
Эта команда должна находиться в преамбуле документа. В скобках да- ются слова, для которых определяются правила переносов, причем места воз- можных переносов помечаются символом «-», а слова отделяются друг от друга пробелами. Например:
\hyphenation{na-pa-мaг-нe-тик син-гу-ляр-ность}
Существует еще возможность жесткого принудительного переноса ко- мандой \-. Пакет всегда будет делать перенос на месте, помеченном эти-
17
ми символами, конечно, если слово стоит в конце строки. Если же слово или фразу нельзя разрывать, то для запрещения переноса служит команда
\mbox{text}
3.4
Шрифты, размеры, специальные и национальные символы
L
A
TEX автоматически выбирает подходящие шрифты, исходя из стиля документа. Но начертание и размер шрифта можно установить вручную. Для изменения шрифта текста, стоящего в фигурных скобках, имеются команды,
приведенные в табл. 9.
Таблица 9
Команды изменения шрифта текста
Команда
Название шрифта
\textrm {...}
roman
\textsf {...}
sans serif
\texttt {...}
typewriter
\textmd {...}
medium
\textbf {...}
bold face
\textup {...}
upright
\textit {...}
italic
\textsl {...}
slanted
\textsc {...}
SMALL CAPS
\emph {...}
emphasised
\textnormal {...}
document font
Изменение размера символа шрифта в системе L
A
TEX имеет определен- ные особенности. Реальный размер символов будет зависеть от базового раз- мера шрифта, указанного явно или по умолчанию для данного класса доку- мента. Все остальные шрифты изменяются пропорционально ему. Размеры символов изменяются после применения команд, которые даны в табл. 10.
Иногда требуется выделить отдельные фразы на фоне остального текста.
Для выделения текста курсивом на фоне прямого шрифта и прямым шриф- том на фоне курсива служит команда \emph{text}. Команды подчеркивания
(\underllne{text}) и заключение части текста в рамку (\fbox{text}) также могут использоваться для выделения отрывка текста.
Существует возможность воспроизводить тире различной длины. Это осуществляется через повторение символа «-» (минус), причем длина тире зависит от количества минусов. Для набора многоточия используется коман- да \ldots. Знак параграфа набирается с помощью команды «\S», а знак © –
командой \copyright. Наконец, любой символ можно набрать, зная его код,
при помощи команды symbol{код}.
18

Таблица 10
Команды управления размером символа
Команда
Результат
\tiny самый маленький шрифт
\scriptsize очень маленький шрифт
\footnotesize шрифт для сносок
\small маленький шрифт
\normalsize базовый шрифт
\large шрифт чуть больше базового
\Large еще больше
\LARGE
очень большой шрифт
\huge огромный
\Huge самый большой
Список в табл. 11 показывает, как получать буквы и символы националь- ных алфавитов. В каждой из четырех колонок символ дан слева, а справа –
соответствующая команда.
Таблица 11
Символы национальных алфавитов
¯o – \=o
˙o – \.o
¨o – \o"
¸c – \c c
˘o – \u o
ˇo – \v o
˝o – \H o
¸o – \c o
´o – \’o
ˆo – \^o o. – \d o o
¯
– \b o
oo – \t oo œ – \oe
Œ
– \OE
æ
– \ae
Æ
– \AE
˚
a – \aa
˚
A – \AA
!’ – !’
ø
– \o
Ø
– \O
l
– \l
L
– \L
Несколько слов о поддержке языков, отличных от английского, в частно- сти о русификации. Вообще говоря, подключение языковой поддержки зави- сит от конкретной реализации пакета. Наиболее распространенным в настоя- щее время является пакет babel, который должен подключаться при помощи команды \usepackage[language]{babel}. Кроме того, для некоторых язы- ков, в частности для русского, существует несколько вариантов кодировок символов (КОI-8, Windows,...). В этом случае кодировка должна быть задана при помощи подключения пакета inputenc.
3.5
Колонки, цитаты, блоки
По умолчанию документ будет печататься в одну колонку. Если необ- ходимо печатать в две колонки весь документ, то надо указать параметр twocolumn в команде \documentclass. Если же выводить в две колонки надо
19
только часть текста, то используется команда \twocolumn внутри документа.
После этой команды с новой страницы текст будет выводиться в две колон- ки. Кроме того, существуют и другие возможности вывода текста в несколько колонок (таблицы, блоки).
Для того чтобы набрать часть текста с отступом от краев (важная фра- за, цитата и др.), надо использовать окружение quote. Существуют еще два похожих окружения – quotation и verse.
Любой текст внутри окружения verbatim напечатается «текстом пишу- щей машинки», т.е. так же, как и в исходном файле, и никакие команды
L
A
TEX’а внутри окружения не будут восприниматься транслятором.
Например, рассмотрим следующий исходный текст:
\begin{verbatim} Пример команды \LaTeX’а: \ldots \end{verbatim}
После обработки L
A
TEX’ом текст останется неизменным:
Пример команды \LaTeX’а: \ldots
То же предложение вне окружения verbatim будет воспринято трансля- тором иначе (выполнятся команды \LaTeX и \ldots):
Пример команды L
A
TEX’а: . . .
Основным объектом, с которым работает транслятор пакета, является блок, в качестве которого может фигурировать как одна буква, так и целые фразы. Выше была рассмотрена команда \mbox, которая делает неразрывной целую фразу, точнее, делает ее как бы одним словом.
Существует команда, в которой можно указывать ширину блока:
\makebox[length][par]{text}
Аргумент length указывает на длину строки в блоке, причем длина может задаваться как единицами размера, так и при помощи слова или последова- тельности символов, text – текст, находящийся в блоке. В качестве опции par могут выступать символы r, l, с, означающие соответственно выравнивание влево, вправо и по центру.
Для создания блока переменной высоты используется команда:
\parbox[pos]{length}{text}
Необязательный аргумент pos определяет вертикальное позиционирование блока и может принимать следующие значения: t – верхняя строка блока выравнивается по текущей строке, с – середина блока выравнивается по се- редине текущей строки, b – нижняя строка блока выравнивается по текущей строке.
Для заключения в рамку фрагмента текста применяется команда \fbox.
Существует также команда \framebox для взятия текста в рамку, назначение параметров которой совпадает с описанным для команды \makebox.
Описанные блочные команды используются обычно для небольших фраг- ментов текста. Для создания больших блоков, включающих различные объ- екты (таблицы или рисунки), существует окружение minipage, параметры
20
которого аналогичны параметрам окружения parbox:
\begin{minipage}[pos]{width}
\end{minipage}
4
Оформление различных элементов текста
4.1
Списки
Структура простого списка в L
A
TEX’e выглядит так:
\begin{имя_окружения}
\item[опции] элемент 1,
\item[опции] элемент 2,
\end{имя_окружения}
Для создания маркированных списков применяется окружение itemize,
для нумерованных списков следует прибегнуть к окружению enumerate. Если же создается перечень, где каждый элемент имеет свой заголовок, то исполь- зуется окружение description. Во всех трех случаях каждый элемент тела списка начинается командой \item, которая может иметь необязательные аргументы. Например, для окружения description в качестве опций будут вы- ступать заголовки соответствующих элементов.
Отметим, что до первой команды в перечнях могут стоять только ко- манды управления шрифтами и подобные им, но не должно быть никакого текста. Перечни могут быть вложенными друг в друга. Максимальная глу- бина вложенности равна четырем. Примеры перечней приведены ниже:
Маркированный список
Нумерованный список
Список-заголовок
• элемент 1,
• элемент 2.
1. элемент 1,
2. элемент 2.
заголовок 1 элемент 1,
заголовок 2 элемент 2.
4.2
Ссылки и нумерация
L
A
TEX позволяет организовать перекрестные ссылки на страницы доку- мента или его разделы так, чтобы компилятор автоматически определял но- мер страницы для ссылки. Для этого в месте, на которое нужно ссылаться,
ставится метка при помощи команды: \label{name}, где name служит име- нем, на которое в файле можно ссылаться одним из следующих способов:
\pageref{name} или \ref{name}
21

Первая из этих команд ссылается на номер страницы, на которой стоит метка, а вторая – на номер главы, секции, формулы или другого нумерован- ного объекта.
Если в файле есть ссылки, то для правильной его обработки компиля- тор необходимо запускать два раза. После первого прохода L
A
TEX записывает информацию о ссылках в специальный файл, а в выходном файле на ме- сте ссылок могут появиться знаки вопроса – ??. При повторной компиляции информация о ссылках считывается, и в выходном файле все ссылки будут отображены правильно. Отметим также, что некоторые тестовые редакторы для работы в L
A
TEX’e (в том числе и поставляемый с MiKTeX’ом редактор
TeXworks) автоматически дважды или даже трижды компилируют исходный файл при выборе соответствующего пункта меню.
Если подключить в преамбуле пакет hyperref, то команды \pageref и
\ref будут переопределены и все перекрестные ссылки L
A
TEX’а автоматиче- ски превратятся в гипертекстовые. В этом случае гипертекстовыми ссылка- ми становятся все элементы оглавления, списков таблиц и рисунков, а также маркеры сносок и элементов цитированной литературы. Кроме того, все но- мера страниц в предметном указателе также становятся гипертекстовыми ссылками.
Для гиперссылок в pdf-файле, когда не требуется вручную листать до- кумент, можно обойтись без номера раздела. Пакет nameref (загружается па- кетом hyperref) вводит команду \nameref{name}, которая делает текстом ги- перссылки на метку name название раздела, в котором находится метка.
Еще один подключаемый пакет xr-hyper позволяет создавать гиперс- сылки на элементы другого документа. Его следует загружать перед паке- том hyperref. После этого описанные выше команды создают гиперссылки на метки, созданные в других документах командой \label. Имена aux-файлов этих документов необходимо объявить в преамбуле текущего входного файла посредством деклараций
\externaldocument[prefix-]{file}[URL]
Здесь file — имя файла без расширения. Опция prefix позволяет исключить совпадение имен меток в разных документах. При наличии опции все ссыл- ки в текущем документе на объекты из внешних файлов, помеченные как
\label{name}
, записываются в виде \ref{prefix-name}. Опция URL указы- вает адрес готового документа.
Команда \href{URL}{text} позволяет создавать гиперссылку на доку- мент любого типа, хранящийся в сети по адресу URL. Аргумент text оформ- ляется как текст гиперссылки.
Многие объекты L
A
TEX нумерует автоматически. Например, каждой гла- ве, секции или отдельной формуле соответствует номер. Эта операция осу- ществляется при помощи счетчиков, как стандартных, так создаваемых поль- зователем (подробнее см. раздел 6). Имя счетчика обычно совпадает с именем использующего его окружения или команды.
22

Таблица 12
Имена стандартных счетчиков part paragraph
figure chapter subparagraph table section page equation subsection mpfootnote subsubsection footnote
Чтобы вывести номер счетчика, используются команды вида \thename.
Здесь name является именем счетчика. Например, чтобы вывести номер стра- ницы, нужно выполнить команду \thepage. Значение счетчика обычно явля- ется целым числом. В зависимости от команды задаваемое счетчиком число может выводиться арабскими, римскими цифрами или специальными симво- лами. Команды, работающие со счетчиками, сначала изменяют их значение,
а потом используют. Большинство счетчиков до начала работы равны нулю.
Большинство счетчиков автоматически увеличивают свое значение на единицу, когда компилятор встречает в тексте исходного файла одноимен- ную команду, связанную со счетчиком. Счетчики могут быть иерархически связаны друг с другом (например, счетчики разделов документа), в этом слу- чае в момент изменения высшего по иерархии счетчика все подчиненные ему счетчики обнуляются. Так, в начале нового раздела (section) обнуляются все счетчики подразделов (subsection, subsubsection).
Для непосредственного изменения значения счетчика существуют две команды: \setcounter{name}{num} – устанавливает счетчику с именем name значение num, \addtocounter{name}{num} – увеличивает значение счетчика name на величину num.
4.3
Плавающие объекты: рисунки и таблицы
Оптимальным образом размещать рисунки и таблицы в документе помо- гает введение плавающих объектов, которые должны полностью находиться на одной странице. Плавающий объект автоматически размещается пакетом в том месте, где он помещается целиком. Существуют два стандартных окру- жения, позволяющие формировать такие объекты:
\begin{figure}[loc]
. . . \end{figure}
\begin{table)[loc]
. . . \end{table}
Здесь необязательный аргумент loc определяет способ размещения плаваю- щего объекта и может состоять из последовательности следующих символов:
h означает, что объект надо разместить после текущей строки, р — разме- стить на отдельной странице, t — наверху страницы, b — внизу страницы. По умолчанию пакетом устанавливается последовательность tbp. Кроме того, су- ществует параметр (!), который ослабляет ограничения, если стоит вместе с одним из вышеописанных аргументов.
23

Для нанесения подписей к плавающим объектам используется команда
\caption[entry]{head}
. Здесь необязательный аргумент entry используется для составления списка рисунков или таблиц, а аргумент head определяет текст подписи. Этот текст не должен быть разделен на абзацы и не может превышать двухсот символов.
Иногда плавающие объекты автоматически располагаются на нежела- тельной странице. В этом случае такое их размещение можно запретить при помощи команды \suppressfloats[noloc] Опция noloc может принимать значения t или b.
4.3.1 Рисование в L
A
TEX
’е
В систему L
A
TEX включен набор команд, которые позволяют создавать несложные рисунки или чертежи. Для этого существует следующее окруже- ние:
\begin{picture}(width, height)(х0,у0)
\end{picture}
Первая пара аргументов этого окружения обязательна и определяет соответ- ственно высоту и ширину рисунка. Единица измерения L
A
TEX задается пере- менной unitlength, которая по умолчанию имеет значение lpt. Вторая (необяза- тельная) пара аргументов задает координаты левого нижнего угла рисунка.
При отсутствии этих параметров считается, что левый нижний угол имеет координаты (0,0).
Внутри окружения можно использовать специальные графические ко- манды, некоторые из которых перечислены в табл. 13.
Графика для L
A
TEX’а создавалась давно и, естественно, уже устарела,
однако существует возможность включения в документ рисунков, созданных другими, более развитыми средствами.
4.3.2 Включение графических файлов
L
A
TEX позволяет вставлять рисунки, находящиеся в графических фай- лах наиболее распространенных форматов (jpg, png, eps, ps и др.), причем набор допустимых форматов зависит от операционной системы и программы- компилятора. Поэтому желательно использовать аппаратно-независимые фор- маты, такие как PostScript. Существует целый ряд расширений L
A
TEX’а для включения графических файлов, но мы остановимся на распространенном пакете графики graphicx.
Вставка рисунка из графического файла в пакете graphicx осуществляет- ся командой \includegraphics[optionlist]{filename}. Обязательный ар- гумент filename определяет имя графического файла с расширением.
24

Таблица 13
Некоторые графические команды пакета L
A
TEX
Команда
Описание
\put (x,y){object}
Определяет точку привязки с координатами (х,у)
графического объекта object на рисунке. Объек- том может быть текст как в блоках, так и без них или графические команды.
\line (a,b){length}
Проводит отрезок заданной длины length из те- кущей точки рисунка. Первый параметр, состоя- щий из пары целых чисел из интервала от -4 до
4, задает наклон линии. Отношение этих чисел определяет тангенс угла наклона отрезка.
\linethickness {val}
Определение толщины вертикальных и горизон- тальных линий в любых единицах измерения.
\vector (xs,ys){dx}
Рисование стрелок. Назначение аргументов ана- логично команде liпе
\qbezier [num](xa,ya)
Рисование кривой Безье, проходящей через три
(xb,yb)(xc,yc)
точки. Необязательный аргумент num задает чис- ло выводимых точек кривой, в случае его отсут- ствия выводится непрерывная кривая. Координа- ты точек задаются в круглых скобках
\circle {diam}
Рисование окружности радиуса diam с центром в текущей точке
Аргумент optionlist представляет собой список параметров, которые управ- ляют характеристиками изображения. Эти параметры представляют собой выражения типа равенств, в левой части которых стоит параметр, а в пра- вой – его значение. В табл. 14 перечислены основные допустимые параметры.
Напомним, что обычно рисунки помещают внутри окружения figure,
что позволяет легко делать подписи к рисункам и автоматически их нумеро- вать.
Приведем пример с перечисленными командами.
% импортирование векторной графики
\includegraphics{test.eps)
\includegraphics[angle=15,height=3cm]{test.eps}
% импортирование растровой графики
\includegraphics[bb = 0 0 3.5cm 3cm]{test.jpg}
В первом случае импортируется векторная графика PostScript-файла
(файл test.eps), из которого L
A
TEX сам берет информацию о размере изобра- жения. Отметим, что при вводе растровой графики, например, jpg-файлов,
необходимо указывать размеры рисунка (см. последняя команда примера).
25

Таблица 14
Аргументы команды импортирования графических файлов
Параметр
Описание bb
Определяет размеры рисунка: четыре числа, которые раз- делены пробелами. Первые два числа определяют коорди- наты нижнего левого угла, а два других задают координа- ты правого верхнего угла natwidth,
natheight
Определяют ширину и высоту рисунка в заданных едини- цах измерения draft
Устанавливает черновой режим импортирования, когда вместо рисунка выводится рамка по размерам рисунка, а внутри рамки дается имя файла вместо самого рисунка scale
Изменение масштаба рисунка, например если указано scale=3, то рисунок будет увеличен в 3 раза width, height
Ширина и высота рисунка при печати origin
Определяет положение центра вращения рисунка. Верти- кальная и горизонтальная координаты центра задаются дискретно и могут принимать следующие значения: гори- зонтальная координата — l (слева), с (в центре), r (спра- ва); вертикальная координата — t (сверху), с (в центре), b
(внизу). Например, origin=lt задает вращение вокруг лево- го верхнего угла angle
Поворот изображения на заданный параметром angle угол вокруг точки, заданной параметром origin (по умолчанию вокруг точки привязки). Углы задаются в градусах keepaspectratio Если этот параметр имеет значение true, то при изменении размеров рисунка сохраняются пропорции
4.3.3 Верстка таблиц
Окружение tabular применяется для создания таблиц, содержащих текст,
причем как с рамками, так и без них. Окружение имеет вид:
\begin{tabular}{spec}
. . . \end{tabular}.
В качестве аргумента spec применяются следующие обозначения: l - для ко- лонки с выравниванием влево, r - для колонки с выравниванием вправо, c
- для центрированного текста, p{width} - для колонки, содержащей текст с разрывами линий, символ «|» используется для проведения вертикальных линий, а команда \hlinе - для горизонтальных.
Переход к новой строке таблицы осуществляется командой \\, а для разделения колонок применяется амперсанд «&». Пробелы в начале и кон- це графы таблицы игнорируются. Для вставки текста text между столбцами существует команда @{text}. Для создания надписей, которые охватывают
26
несколько колонок, используется команда \multicolumn. У этой команды три обязательных параметра: количество охватываемых колонок, тип выравни- вания текста в этой графе и сам текст.
Иногда в таблице надо провести короткую горизонтальную линию. Это можно сделать командой \cline, имеющей обязательный параметр – номе- ра первой и последней подчеркиваемых колонок. Команда \vline проводит вертикальную линию на всю высоту строки.
Приведем два примера. Исходный текст создания простой таблицы:
\begin{tabular}{|l|c|r|}
\hline
Глава & Пакет & Назначение \\ \hline
1 & Maple & Символьные вычисления\\
2 & Matlab & Численный анализ\\
3 & \LaTeX & Верстка текстов\\ \hline
\end{tabular}
Результат:
Глава
Пакет
Назначение
1
Maple
Символьные вычисления
2
Matlab
Численный анализ
3
L
A
TEX
Верстка текстов
Пример более сложной таблицы:
\begin{tabular}{| l | r@{ m} | r@{ cm}|}
\hline \multicolumn{3}{|c|}{Английские меры длины}\\
\hline & \multicolumn{2}{|c|}{Соответствие} \\ \cline{2-3}
Единицы & \hspace{1.5cm} & \\ \hline
Фут & 0.3 & 30.5 \\ Ярд & 0.9 & 91.44 \\
Миля & 1609 & 160900\\
\hline
\end{tabular}
Результат:
Английские меры длины
Соответствие
Единицы m
cm
Фут
0.3 m
30.5 cm
Ярд
0.9 m
91.44 cm
Миля
1609 m 160900 cm
Для автоматической нумерации и удобства создания подписей таблицы обычно размещаются внутри окружения table.
27

4.4
Оглавления
Под оглавлениями здесь понимаются оглавление документа, а также пе- речни рисунков и таблиц, которые L
A
TEX позволяет автоматически генери- ровать. В процессе работы пакет автоматически собирает информацию о разбивке документа на разделы (секции) и размещении плавающих объек- тов. Эта информация записывается в служебные файлы в момент обработки команды \end{document}. Поэтому для того, чтобы оглавления были сге- нерированы правильно, следует входной файл обработать транслятором по крайней мере три раза. Считывают из файлов и печатают оглавление, списки таблиц и рисунков соответственно команды:
\tableofcontents
,
\listoffigures
,
\listoftables
Информацию об оглавлении формируют команды секционирования (раз- бивка документа на разделы, главы и пр.). Информация о рисунках и таб- лицах задается командой \caption внутри соответствующих окружений. В
случае нестандартных ситуаций можно записать в оглавлении дополнитель- ные пункты при помощи команды \addcontentsline{ext}{unit}{entry}.
Здесь параметр ext определяет, в какое оглавление надо добавить пункт:
toc – оглавление документа, lof – список рисунков, lot – список таблиц. В за- висимости от значения ext параметр unit может принимать следующие значе- ния: toc – part, chapter и т.д., lof – figure, lot – table. Последний параметр entry задает сам текст строки в оглавлении и, в свою очередь, может содержать некоторые команды.
Команда contentsname определяет заголовок оглавления. Существует еще одна команда, которая добавляет текст в оглавление:
\addtocontents{ext}{text}
. Первый параметр аналогичен рассмотренно- му для предыдущей команды, а вторым параметром является добавляемый текст.
4.5
Библиография
Библиография - важный компонент любой статьи или книги. L
A
TEX поз- воляет легко готовить списки литературы, состоящие из разнообразных ис- точников и автоматически расставлять ссылки на них в тексте документа.
Для печати списка цитируемой литературы в L
A
TEX’е существует окружение
\begin{thebibliography}{par}
\end{thebibliography}
Аргумент par определяет сдвиг левой границы печати списка литерату- ры на ширину текста, стоящего в качестве этого параметра. Номера источ- ников ставятся на месте образовавшегося пробела, потому задаваемая ши- рина отступа не должна быть меньше, чем ширина печати максимального
28
номера. Внутри окружения источники перечисляются при помощи команды
\bibitem[lab]{key}
. После этого следует непосредственно текст библиогра- фического источника. Соответствующая запись будет помечена символами lab, а ссылаться на источник можно будет по метке key. При отсутствии мет- ки lab вместо нее будет печататься порядковый номер источника, который хранится в счетчике enumiv.
Для ссылок на источники в тексте документа применяется следующая команда: \cite[text]{key}. Результатом этой команды будет печать сим- волов lab или номера источника с меткой key, заключенных в квадратные скобки. Если одной командой нужно сослаться на разные источники, то со- ответствующие метки перечисляются через запятую. Необязательный пара- метр text служит для уточнения ссылки текстовым комментарием. Приведем пример документа, содержащего список литературы:
\documentclass[12pt,russian]{article}
\usepackage[cp1251]{inputenc}
\usepackage[russian]{babel}
\textwidth=12cm
\begin{document}
Первой книгой по {\TeX’у} была книга \cite{Knut}, а по {\LaTeX’у} - книга
\cite{Lamport}
. Сейчас существует много литературы как о {\TeX’е}, так и о {\LaTeX’е} (см. \cite{Knut,Lamport}).
\begin{thebibliography}{99999}
\bibitem{Knut}
D. E. Knuth. The TeX book Volume A of Computers and
Typesetting. Addison-Wesley Publishing Company. 1964.
\bibitem[\LaTeX]{Lamport}
L. Lamport. LaTeX: A Document Preparation
System. Addison-Wesley. Reading. Massachusetts, second edition. 1994.
\end{thebibliography}
\end{document}
Результат:
Первой книгой по TEX’у была книга [1], а по L
A
TEX’у – книга [L
A
TEX]. Сейчас существует много литературы как о TEX’е, так и о L
A
TEX’е (см. [1, L
A
TEX]).
Список литературы
1. D. E. Knuth. The TeX book Volume A of Computers and Typesetting.
Addison-Wesley Publishing Company. 1964.
L
A
TEX. L. Lamport. LaTeX: A Document Preparation System. Addison-Wesley.
Reading. Massachusetts, second edition. 1994.
29

5
Набор математических выражений в L
A
TEX’е
В этом разделе рассмотрим одно из главных назначений системы TEX –
набор формул. Далее большее внимание будет уделено возможностях базо- вого комплекта пакета L
A
TEX 2ε, также будет затронут пакет AMS, который был создан под эгидой Американского математического общества. Для набо- ра математических выражений пакет имеет специальные режимы, которые реализованы в виде окружений и команд.
5.1
Оформление формул
Различают математические формулы внутри текста и так называемые
«выключные», то есть выделенные в отдельную строку. Формулы внутри текста задаются окружением math или, что приводит к тем же результатам,
обособляются с обеих сторон знаком доллара $.
Выключную формулу можно оформить как окружение displaymath или обособить с обеих сторон парами знаков доллара $$, как предусмотрено стан- дартом TEX’а. Кроме того, выключную формулу можно задать L
A
TEX’овскими знаками, введенными Лесли Лэмпортом: \[ (в начале) и \] (в конце). Эти аль- тернативные обозначения полностью эквивалентны стандартным (со знаками доллара), за одним важным исключением: если выключные формулы обозна- чаются L
A
TEX’овскими, а не TEX’овскими обозначениями, то можно сделать так, что выключные формулы будут не центрированы, а прижаты влево.
Пример формулы внутри текста и выключной формулы.
Формула b
R
a f (x) dx находится внутри текста, а следующая формула является выключной:
a + b x
− y
= g(x).
Проставить нумерацию формул можно вручную с помощью команды
\eqno (номер_формулы)
. Пример:x^2=y \eqno (3.2). Результат:
x
2
= y.
(3.2)
Для автоматической нумерации выключных формул следует использо- вать окружение equation.
5.2
Таблицы спецзнаков в формулах
В этом разделе мы перечислим математические знаки, используемые
L
A
TEX’ом в формулах. Знаков этих очень много, поэтому разобьем их на несколько групп.
30

5.2.1 Операции, отношения и просто значки
Начнем с греческих букв. Имя команды, задающей строчную греческую букву, совпадает с английским названием этой буквы (например, буква α за- дается командой \alpha). Исключение составляет буква о (она называется
«омикрон»): по начертанию она совпадает с курсивной латинской о, так что специальной команды для нее не предусмотрено, и для ее набора достаточ- но просто написать о в формуле. Некоторые греческие буквы имеют по два варианта начертаний, например π (\pi) и ̟ (\varpi), ρ (\rho) и ̺ (\varrho).
Имя команды, задающей прописную греческую букву, пишется с пропис- ной буквы (например, буква Ψ задается командой \Psi). Некоторые пропис- ные греческие буквы (альфа, например) совпадают по начертанию с латин- сими, и для них специальных команд нет.
Следующая серия символов – символы, рассматриваемые TEX’ом как символы бинарных операций (на подобие знаков сложения, умножения и т.п.).
TEX оставляет в формуле большие пробелы по обе стороны этих знаков, кро- ме случаев, когда есть основания считать, что эти знаки используются не для обозначения операций, а для других целей.
+ +
− -

*
± \pm
∓ \mp
× \times
÷ \div
\
\setminus
·
\cdot

\circ

\bullet
∩ \cap
∪ \cup
⊎ \uplus
⊓ \sqcap
⊔ \sqcup
∨ \vee
∧ \wedge
⊕ \oplus
⊖ \ominus
⊗ \otimes
⊙ \odot
⊘ \oslash

\triangleleft

\triangleright
∐ \amalg

\diamond

\wr

\star

\dagger

\ddagger
△ \bigtriangleup \bigcirc
▽ \bigtriangledown
31

В следующей таблице собраны символы "бинарных отношений". Вокруг них TEX также оставляет дополнительные пробелы, но не такие, как вокруг символов бинарных операций.
<
<
>
>
=
=
:
:
≤ \leq
≥ \geq
6= \neq
∼ \sim
≃ \simeq
≈ \approx

=
\cong
≡ \equiv
≪ \ll
≫ \gg
=
\doteq k
\parallel
⊥ \perp
∈ \in
/
∈ \notin

\ni
⊂ \subset
⊆ \subseteq
⊃ \supset
⊇ \supseteq
≻ \succ
≺ \prec
 \succeq
 \preceq
≍ \asymp
⊑ \sqsubseteq
⊒ \sqsupseteq |= \models

\\vdash

\dashv
⌣ \smile
⌢ \frown
|
\mid
⊲⊳
\bowtie
∝ \propto

\lhd
E
\unlhd

\rhd
D
\unrhd

\sqsubset ⊐
\sqsupset


\Join
Последние семь из перечисленных команд (от \lnd до \Join) в L
A
TEX’е 2
ε
определены только в том случае, если вы подключите пакет \latexsym.
В следующей таблице собраны стрелки различных видов.

\to
−→ \longrightarrow
⇒ \Rightarrow
=
⇒ \Longrightarrow
֒

\hookrightarrow
7→
\mapsto
7−→ \longmapsto
\leadsto

\gets
←− \longleftarrow
← \leftarrow
⇐= \Longleftarrow
←֓
\hookleftarrow

\leftrightarrow
←→ \longleftrightarrow

\uparrow

\Uparrow

\downarrow

\Downarrow l
\updownarrow m
\Updownarrow
ր
\nearrow
ց
\searrow
ւ
\swarrow
տ
\nwarrow

\leftharpoonup

\rightharpoonup

\rightharpoondown ⇋
\rightleftharpoons
Команда \leadsto в L
A
TEX’е будет определена, только если подключить стилевой пакет latexsym.
Из привычных российскому читателю символов в вышеприведенных таб- лицах нет знаков > и 6, более привычных, чем
≥ и ≤; кроме того, грече-
32
ская буква «каппа» лучше смотрится в виде κ (\varkappa), чем в виде κ
(\kappa). Эти символы отсутствуют в «классическом» L
A
TEX’овском наборе;
при использовании L
A
TEX’ом 2
ε
они становятся доступными, если подклю- чить в преамбуле стилевой пакет amssymb. Для этого надо после строчки с командой\documentclass написать \usepackage{amssymb}. При условии,
что это сделано, можно задавать в математических формулах букву κ ко- мандой \varkappa, а символы > и6 – командами \leqslant и \geqslant соответственно.
5.2.2 Символы пунктуации, акцентирования и интервалы в фор- мулах
Как уже отмечалось, несколько пробелов подряд L
A
TEX считает за один.
Однако возникают ситуации, особенно при наборе формул, когда нужно по- ставить большой или, наоборот, маленький интервал между символами. В
табл. 15 перечислены команды для установки различных горизонтальных ин- тервалов в формулах.
Таблица 15
Команды установки интервалов в формулах
Команда Ширина
Команда Ширина
\,
узкий
\:
средний
\;
широкий
\!
отрицательный
\quad очень широкий
\qquad самый широкий
Приведем пример.
Исходный текст: $a\,b\:c\;d\!e \quad f \qquad g $.
Результат: a b c de f g
Для пунктуации в формулах используются многоточия, запятые и дру- гие символы, перечень которых дан в табл. 16
Таблица 16
Знаки пунктуации и многоточия
Знак Команда Знак Команда Знак Команда
,
,
;
;
:
\colon
\ldotp
·
\cdotp
\ldots
· · ·
cdots
\vdots
\ddots
Подчеркнем, что команды акцентирования в математической моде отли- чаются от команд в текстовой моде. Например, в математической моде сим-
33
вол используется для обозначения производной или штриха. Список команд акцентирования приведен в табл. 17
Таблица 17
Команды акцентирования в математической моде
Знак Команда Знак Команда
Знак Команда
ˆa
\hat{a}
ˇ
a
\check{a}
˜a
\tilde{a}
`a
\grave{a}
˙a
\dot{a}
¨a
\ddot{a}
´a
\acute{a}
˘
a
\breve{a}
¯a
\bar{a}
a
\ver{a}
b
A
\widehat{A}
e
A
\widetilde{A}
Обращение к этим командам происходит стандартно:
$\vec a. \quad \dot{c}. \qquad \widehat{DE}$
a.
˙c.
d
DE
При отсутствии нужного акцента необходимую комбинацию можно под- готовить при помощи команды \stackrel{вверх}{низ}. Чтобы получить в математической формуле изображение перечеркнутого символа, надо перед соответствующей командой поставить команду not:
$v \stackrel{\mathrm{def}}{\equiv} 0. \quad \{ x : x \not\in X \}$
v def
≡ 0, {x : x 6∈ X}
Для проведения линии над выражением и подчеркивания выражения существуют соответственно команды:
\overline и \underline
Чтобы провести над выражением левую или правую стрелку, надо обра- титься соответственно к командам \overleftarrow и \overrightarrow
Пример:
\begin{displaymath}
\overrightarrow{ABCD} \qquad \underline{l+m+n}
\end{displaymath}
−−−−→
ABCD
l + m + n
5.2.3 Степени, индексы, разделители
Для набора степеней и индексов в формулах используются соответствен- но символы «^» и «_». Если индексом или степенью является выражение, то его надо заключить в фигурные скобки. Если у символа есть верхний и ниж- ний индексы, то можно указывать в любой последовательности. Для того чтобы верхние и нижние индексы располагались на разных расстояниях от символа, можно использовать «пустые» формулы.
34

Пример. Исходный текст:
\\ $a_1$ \qquad \(x^2\) \qquad
$e^{-\alpha t}$ \qquad $\beta^3_{i+j}$ \\*
\qquad $e^{x^2} \neq{e^x}^2$ \qquad $R_j{}^i_{k l}$
Результат:
a
1
x
2
e
−αt
β
3
i
+j e
x
2 6= e x2
R
j i
kl
Квадратный корень вводится как \sqrt, а корень степени n генерируется командой \sqrt[n]. Высота и ширина знака корня определяются системой
L
A
TEX автоматически. Чтобы поставить только знак корня, не продолжая его над последующими символами, используется команда surd.
Часто размеры знака корня у соседних символов оказываются различ- ными. Для того чтобы таких явлений не было, используются пустые (неви- димые) символы - «страты», имеющие определенную ширину и высоту:
• \mathstrut – невидимый символ, имеющий высоту круглой скобки;
• \vphantom{math} – символ, имеющий высоту формулы math;
• \phantom{math} – пробел ширины выражения math;
Приведем демонстрационный пример. Исходный текст:
$\sqrt{d^2+x}+\sqrt{y}$ \\*
$\sqrt{\mathstrut d^2+x}+\sqrt{\mathstrut y}$ \\*
$\sqrt[3]{2} \: \surd (x^2+y^2)$
Результат:

d
2
+ x + √y p
d
2
+ x +
p y
3

2

(x
2
+ y
2
)
Дроби можно писать в одну строку при помощи символа наклонной чер- ты «/», а для дробей на нескольких уровнях применяется команда:
\frac{числитель}{знаменатель}
Приведем пример. Исходный текст:
Дробь в тексте. \\
Вариант 1: $(x+1)/x$\\
Вариант 2:
$\frac{x+1}{x}$ \\
А вот как она выглядит в выключной формуле:
\begin{displaymath}
(x+1)/x, \qquad \frac{x+1}{x}.
\end{displaymath}
35

Результат:
Дробь в тексте.
Вариант 1: (x + 1)/x
Вариант 2:
x
+1
x
А вот как она выглядит в выключной формуле:
(x + 1)/x,
x + 1
x
5.3
Математические операторы
В следующей таблице собраны команды для воспроизведения названий математических операторов наподобие sin, log и т.п., обозначаемых последо- вательностью букв, набираемых прямым шрифтом. Любой из этих операто- ров можно снабдить верхним и/или нижним индексом.
Таблица 18
Математические операторы
Оператор Команда Оператор Команда Оператор Команда log
\log lg
\lg ln
\ln arg
\arg ker
\ker dim
\dim hom
\hom deg
\deg exp
\exp sin
\sin arcsin
\arcsin cos
\cos arccos
\arccos tan
\tan arctan
\arctan cot
\cot sec
\sec csc
\csc sinh
\sinh cosh
\cosh coth
\coth tanh
\tanh
В этой таблице обозначения tan, arctan и т.д. – не что иное, как принятые в англоязычной литературе обозначения для тангенса, арктангенса и т.д. В
отечественной литературе, однако же, принято обозначать tg, ctg и т.д.
Так как в стандартном комплекте TEX’a или L
A
TEX’a команд для этого нет, их приходится при необходимости определять самому. Это просто: в пре- амбуле документа надо написать следующую команду:
\newcommand{\tg}{\mathop{\rm tg}\nolimits}
После этого команда \tg будет создавать в математической формуле за- пись tg с правильными пробелами вокруг нее. Другие команды такого типа определяются аналогично, надо только вместо tg написать то название функ- ции (скажем, arctg), которое должно появиться на печати. Если вы получили
L
A
TEX вместе с русификацией, то не исключено, что в ней уже определены команды для принятых в России обозначений тангенса, арктангенса и т.п.
36

Описанный выше способ определения команд является частным случа- ем существующей в L
A
TEX’e конструкции для определения новых команд (по- дробнее см. раздел 6).
5.4
Операции с пределами
Теперь обсудим, как можно было бы получить, скажем, формулу n
X
i
=1
n
2
=
n(n + 1)(2n + 1)
6
с дополнительными элементами над и
под знаком операции суммирования –
P
. В данной формуле эти элементы называются предела- ми суммирования, поэтому в TEX’нической терминологии записи над и под знаком операции принято называть пределами (по-английски limits). В исход- ном тексте пределы обозначаются точно так же, как индексы; имея в виду,
что знак суммы генерируется командой \sum, получаем, что вышеназванную формулу можно получить так:
$$\sum_{i=1}^n {n^2}=\frac{n(n+1)(2n+1)}{6}$$
В этом примере существенно, что формула была выключной; во внутри- текстовой формуле пределы печатаются на тех же местах, что их индексы:
Тот факт, что
P
n i
=1
(2n
− 1) = n
2
, Тот факт, что следует из формулы для суммы
$\sum_{i=1}^n (2n-1)=n^2$,
арифметической прогрессии следует из формулы для суммы арифметической прогрессии
Можно добиться, чтобы пределы были сверху и снизу знака оператора.
Рассмотрим это на примере еще одной математической операции, для кото- рой требуются пределы, – это интеграл. В L
A
TEX’e есть команды \int для обычного знака интеграла
R
и \oint для знака «контурного интеграла»
H
При этом, для экономии места, пределы интегрирования помещаются не свер- ху и снизу от знаков интеграла, а по бокам (даже в выключных формулах):
$$\int_0^1x^2\,dx=1/3 $$
Z
1 0
x
2
dx = 1/3.
Если, тем не менее, необходимо, чтобы пределы интегрирования стояли над и под знаком интеграла, то надо непосредственно после \int записать команду \limits, а уже после нее - обозначения для пределов интегрирова- ния:
37

$$\int\limits_0^1x^2\,dx=1/3$$
1
Z
0
x
2
dx = 1/3.
Тот же прием с командой \limits можно применить, если хочется, чтобы во внутритекстовой формуле пределы у оператора стояли над и под ним, а не сбоку.
Если, с другой стороны, надо, чтобы пределы у какого-либо оператора стояли не над и под знаком оператора, а сбоку, то после команды для знака оператора надо записать команду \nolimits, а уже после нее – обозначения для «пределов»:
$$\prod\nolimits_{i=1}^ni=n!$$
Y
n i
=1
i = n!
Вот список операторов, ведущих себя так же, как \sum и \int:
P
\sum
Q
\prod
S
\bigcup
T
\bigcap
`
\coprod
L
\bigoplus
N
\bigotimes
J
\bigodot
W
\bigvee
V
\bigwedge
U
\biguplus
F
\bigsqcup lim
\lim lim sup \limsup lim inf \liminf max \max min
\min sup
\sup inf
\inf det
\det
Pr
\Pr gcd
\gcd
Все обозначения из этой таблицы употребительны в отечественной ли- тературе, за исключением \gcd для наибольшего общего делителя (у нас его иногда обозначают НОД) и \Pr для вероятности, обычно обозначаемой Р.
Бывает нужно, чтобы один из пределов состоял из нескольких строк,
тогда используется команда \substack{line1\\line2} из пакета amsmath.
Пример:
Y
1
≤i≤n
1
≤j≤m a
ij
$$
\prod_{\substack{1 \le i \le n\\
1 \le j \le m}} a_{ij}
$$
5.5
Применение скобок
Если перед одной скобкой стоит \left, а перед другой скобкой стоит
\right
, то на печати размер этих скобок будет соответствовать высоте фраг- мента формулы, заключенного между \left и \right.
38

Конструкция с \left и \right применима не только к круглым скобкам. В
следующей табл. 19 перечислены скобки и некоторые другие символы, ко- торые с помощью \left и \right автоматически принимают нужный раз- мер. TEXнический термин для таких символов – ограничители (по-английски delimiters).
Таблица 19
Cимволы-ограничители
Символ Команда
Символ Команда
Символ Команда
(
(
)
)
[
[
]
]
{
\{
}
\}

\lfloor

\rfloor

\lceil

\rceil h
\langle i
\rangle
|
|
k
\|
/
/
\
\backslash
Вместо \left\langle можно писать \left< , и аналогичным образом вместо \right\rangle можно писать \right> (однако же < – это не \langle!).
Вместе с каждой командой \left в формуле должна присутствовать соответствующая ей команда \right, в противном случае TEX выдаст со- общение об ошибке. Вместе с тем TEX вовсе не требует, чтобы «ограничи- тели» (например, скобки) при командах \left и \right были расположены сколько-нибудь осмысленно с математической точки зрения: вы вполне може- те написать что-нибудь вроде \left(...\right] или даже, вопреки смыслу слов left и right, \left) ..\right(.
Вместо «ограничителя» после команды \left или \right можно поста- вить точку. На месте этой точки ничего не напечатается, а другой «ограничи- тель» будет необходимого размера. Вот пример того, как можно использовать этот прием. Таким способом можно создать косую дробную черту увеличен- ного размера (символ / также является «ограничителем» – см. табл. 19):
M(f ) =


b
Z
a f (x) dx


,
(b
− a)
$$
M(f)=\left.\left(
\int\limits_a^b f(x)\,dx
\right)
\right/(b-a)
$$
39

5.6
Шрифты и текст в формулах
Размер символов в формулах и их начертание в большинстве случаев ре- гулируется L
A
TEX’ом автоматически. Но иногда необходимо указать нужные параметры вручную. Следует помнить, что в формулах используются четыре размера шрифта:
${\displaystyle Text}, {\textstyle Text},$\\
${\scriptstyle Text}, {\scriptscriptstyle Text}$
Результат применения команд изменения шрифта к слову Text:
T ext, T ext,
T ext
,
T ext
Данные виды шрифтов имеют относительные размеры, автоматически рассчитываемые по величине базового шрифта tex-документа. Но их можно задать явно в преамбуле с помощью команды:
DeclareMathSizes{display}{text}{script}{scriptscript}
В каждой фигурной скобке необходимо указать размер соответствующе- го шрифта в порядке, указанном выше, в любых известных TEX’у единицах измерения.
Продемонстрируем применение команд изменения шрифта. Для слож- ных дробей с несколькими уровнями вложенности возникает проблема с раз- мерами символов, которую можно разрешить, управляя стилями формулы:
Так выглядит формула, набранная обычным способом:
\[ \frac{1}{x+ \frac{1}{x+\frac{1}{x+\frac{x}{x+1}}}}\]
1
x +
1
x
+
1
x+
x x+1
А это усовершенствованная формула:
\[ \frac{1}{x+\displaystyle
\frac{1}{x+\displaystyle\frac{1}{x+\displaystyle
\frac{x}{x+1}}}}\] \\
1
x +
1
x +
1
x +
x x + 1
В следующей табл. 20 представлены разные команды изменения начер- тания шрифта в формулах.
40

Таблица 20
Команды изменения шрифтов в формулах
Команда
Пример Необходимый пакет mathrm{ABCdef}
ABCdef mathbf{ABCdef}
ABCdef mathit{ABCdef}
ABCdef mathnormal{ABCdef}
ABCdef mathcal{ABC}
ABC
mathfrak{ABCdef}
ABCdef
Пакет eufrak mathbb{ABC}
ABC
Пакет amsfonts или amssymb
Обычно L
A
TEX игнорирует любые текстовые строки в формулах, не явля- ющиеся именами операторов и переменных. Но вставить фрагмент текста в математическую формулу все-таки можно. Для этого используется команда
\mbox
, оформленная по описанным в разделе 3.5 правилам:
\begin{displaymath}
\forall \: x \: \exists \: \delta \: \mbox{такое, что}
\left\|x-\delta\right\| \leqslant \varepsilon
\end{displaymath}
∀ x ∃ δ такое, что kx − δk 6 ε
5.7
Один элемент над другим
В разделах 5.2.2 и 5.4 говорилось о частных случаях размещения одного элемента над другим (пределы, дроби и акценты). Сейчас рассмотрим общий случай.
Для набора столбцов из двух элементов, можно пользоваться командами:
{... \choose ...} или {... \atop ...}
Первая команда отличается от второй тем, что столбец заключается в скобки.
Приведем пример. Исходный текст:
Иллюстрация двухстрочных элементов:
\[ {x+1 \choose x}, \quad {x+1 \atop x} \].
Результат:
Иллюстрация двухстрочных элементов:

x + 1
x

,
x + 1
x
Чтобы нарисовать горизонтальную фигурную скобку под выражением
(а после сделать подпись под этой скобкой), надо воспользоваться командой
\underbrace
. Аргумент этой команды – тот фрагмент формулы, под которым
41
надо провести скобку; подпись под скобкой, если она нужна, оформляется как нижний индекс. Например, такая формула:
1 + 3 + 5 + 7 +
· · · + 2n − 1
|
{z
}
n слагаемых
= n
2
получается следующим образом:
$$
\underbrace{1+3+5+7+\cdots+2n-1}_{\mbox{$n$ слагаемых}}=n^2
$$
Горизонтальная фигурная скобка над фрагментом формулы генерирует- ся командой \overbrace, надпись над ней оформляется как верхний индекс.
В одной формуле могут присутствовать горизонтальные фигурные скобки как над, так и под фрагментом формулы:
36
z
}|
{
a + b +
· · · + z
|
{z
}
26
+1 +
· · · + 10
$$
\overbrace{\underbrace{
a+b+\cdots+z
}_{26}+1+
\cdots+10}^{36}
$$
5.8
Набор матриц
Чтобы набрать с помощью L
A
TEX’a матрицу, надо воспользоваться окру- жением array. Чтобы понять, как это окружение работает, разберем такой пример:
a
11
a
12
. . . a
1n a
21
a
22
. . . a
2n a
n
1
a n
2
. . . a nn
$$
\begin{array}{cccc}
a_{11}&a_{12}
&\ldots&a_{1n}\\
a_{21}&a_{22}
&\ldots&a_{2n}\\
\vdots&\vdots
&\ddots&\vdots\\
a_{n1}&a_{n2}
&\ldots&a_{nn}
\end{array}
$$
42

Посмотрим, как устроен исходный текст, давший на печати эту матрицу.
Структура матрицы похожа на устройство таблицы tabular, рассмотренной в разделе 4.3.3: строки матрицы разделяются с помощью команды \\ (послед- нюю строку можно не заканчивать командой \\), а элементы одной строки отделяются друг от друга с помощью символа &. После \begin{array}, от- крывающего окружение, в фигурных скобках описывается «преамбула мат- рицы», определяющая количество столбцов и выравнивание элементов по го- ризонтали.
В рассматриваемом примере четыре буквы сссс. Это значит, что в мат- рице 4 столбца (по букве на столбец) и что содержимое каждого из этих столбцов выравнивается по центру. Кроме с, в преамбуле может стоять бук- ва l – выравнивание по левому краю, или r – выравнивание по правому краю.
Матрице не хватает еще скобок; чтобы их создать, надо написать \left(
перед \begin{array} и \right) после \end{array} (см. раздел 5.5).
Окружение array можно использовать не только для матриц: это окруже- ние просто создает массивы, состоящие из строк и столбцов. Вот, например,
как можно напечатать треугольник Паскаля:
1 1
1 2
1 1
3 3
1 1
4 6
4 1
1 5
10 10 5
1
Исходный текст для него выглядит так:
$$
\begin{array}{ccccccccccc}
&&&& 1 && 1
&&& 1 && 2 && 1
&& 1 && 3 && 3 && 1
& 1 && 4 && 6 && 4 && 1 1 && 5 && 10 && 10 && 5 && 1
\end{array}
$$
Если в таблице отсутствует какой-то элемент, то в соответствующей ячей- ке, ограниченной &, нужно просто ничего не писать (или оставить сколько угодно пробелов). Если после того, что вы написали в строке, до конца стро- ки идут только пустые ячейки, то можно не дописывать до конца значки &,
а сразу написать \\.
Разберем еще один пример, типичный при работе в L
A
TEX’е 2.09: верстку системы уравнений с помощью окружения array.
43


x
2
+ y
2
= 7
x + y = 3
$$
\left\{
\begin{array}{rcl}
x^2+y^2&\!=\!&7\\ х+у &\!=\!&3\\
\end{array}
\right.
$$
Мы отвели по одному столбцу на левую часть каждого уравнения, на знак равенства и на правую часть. При этом левые части выровнены по пра- вому краю, а правые части – по левому краю, а знак равенства расположен по центру колонки.
Для создания фигурной скобки, охватывающей всю систему слева, мы воспользовались командами \left\{ и \right., причем при команде \right стоит «пустой ограничитель» – точка (см. разд. 5.5). Обратите внимание на отрицательные пробелы \! с двух сторон знака равенства, которые уменьша- ют пробелы (отбивки) до размеров, допустимых типографскими правилами.
6
Программирование в системе L
A
TEX
6.1
Создание собственных команд и окружений
В пакете L
A
TEX имеется довольно мощный набор команд, которые поз- воляют значительно облегчить верстку как простых, так и сложных доку- ментов. Можно переопределять уже существующие команды и окружения, а можно писать новые. Простым и эффективным примером служит определе- ние новых команд для сокращения стандартных имен.
Для определения новых команд в системе L
A
TEX имеется команда
\newcommand{name}[num]{definition}
,
где обязательными являются первый и третий аргументы, которые соответ- ственно задают имя и содержание новой команды. Необязательный аргумент num определяет количество аргументов команды, которое может изменять- ся от 1 до 9. Аргументы в тексте определения команды обозначаются двумя символами: «#» и номером аргумента.
Для переопределения существующих команд предназначена команда
\renewcommand{name}[num]{definition}
Смысл параметров аналогичен описанным для команды \newcommand.
Удобно для часто встречающегося сочетания слов или формулы опреде- лить команду, генерирующую такой текст. Приведем примеры.
Исходный текст:
\newcommand{\o}{ортогональн}\\
Набор {\o}ых полиномов удовлетворяет условию {\о}ости.
44

Результат:
Набор ортогональных полиномов удовлетворяет условию ортогональности.
Исходный текст:
$\omega$ - полнота. \renewcommand{\omega}{Омега} \omega - полнота.
Результат:
ω
- полнота. Омега - полнота.
Исходный текст:
\newcommand{\Func}[2]{\frac{\sqrt{#2}}{\sqrt[3]{{#1}^4+({#2}-6)}}}\\
$\Func{1}{2}$, $\Func{a+b}{c+d}$
Результат:

2 3

(1)
4
+(2
−6)
,

c
+d
3

(a+b)
4
+(c+d
−6)
C помощью данных команд можно определять новые операторы, как бы- ло показано в разделе 5.3. Но стоить помнить, что в пакете amsmath имеется специальная команда для этого: \DeclareMathOperator\{name}{definition}.
Аргументы команды аналогичны соответствующим аргументам \newcommand.
Если же оператор встречается в тексте только один-два раза, то можно внутри формулы использовать команду \operatorname{\name} для оформ- ления аргумента name по правилам оформления операторов в формулах.
Для определения нового окружения и изменения уже существующего ис- пользуются соответственно команды:
\newenvirorment{name}[num]{before}{after}
,
\renewenvironment{name}[num]{before}{after}
Здесь обязательный аргумент name задает имя окружения, а необязатель- ный аргумент num определяет число формальных аргументов окружения.
Аргумент before здесь обозначает набор команд, выполнение которых пред- шествует анализу текста находящегося внутри окружения, а after – команды,
выполняющиеся по завершении анализа. Отметим, что формальные аргумен- ты окружения могут находиться только в группе команд before.
В пакете amsmath есть специальная команда для определения нового окружения типа теорема: \newtheorem\{name}{definition}. При помощи данной команды можно задать свое оформление и организовать автоматиче- скую нумерацию лемм, утверждений, следствий, примеров и пр.
6.2
Работа со счетчиками
Автоматическую нумерацию каких-либо частей документа можно легко организовывать при помощи счетчиков. Счетчик – это специальная перемен- ная, принимающая целые значения. Счетчику можно присваивать значение
45
и изменять его, выводить его значение на печать и организовывать с его по- мощью автоматическую генерацию ссылок.
Мы уже касались стандартных счетчиков в разделе 4.2. Рассмотрим во- прос создания новых счетчиков и работу с их значениями.
Каждый счетчик имеет свое имя и создается с помощью команды:
\newcounter{new}{old}
,
где new – имя вновь организуемого счетчика, a old – имя уже существующе- го счетчика, которому будет подчинен вновь организуемый счетчик. Второй аргумент этой команды не является обязательным.
Для изменения значения существующего счетчика используются ранее упомянутые команды: \setcounter{name}{num}, \addtocounter{name}{num}.
Напомним, что первая команда устанавливает счетчику с именем name зна- чение num, а вторая увеличивает значение счетчика name на величину num.
Существуют еще две команды, которые увеличивают значение счетчика на единицу и обнуляют все подчиненные счетчики: \refstepcounter{count},
\stepcounter{count}
. Вторая команда применяется реже, так как с ее по- мощью нельзя организовать автоматические ссылки.
Как стандартные, так и созданные пользователем счетчики могут вы- водиться арабскими, римскими цифрами и символами латинского алфавита.
По умолчанию значение счетчика выводится арабскими цифрами, изменить вывод можно следующими командами:
\arabic{count} – для арабских цифр;
\roman{count} и \Roman{count} – для малых и больших римских цифр;
\alph{count} и \Alph{count} – для малых и больших латинских букв.
Приведем пример, включающий определение нового счетчика и органи- зацию автоматических ссылок:
\newcounter{z}\\
\newcommand{\zdch}
{\par\textbf{Задача \addtocounter{z}{1}\arabic{z}. }}\\
\zdch Сформулировать \ldots \\
\zdch Доказать \ldots\\
\zdch Применить \ldots \\
46

Результат:
Задача 1. Сформулировать . . .
Задача 2. Доказать . . .
Задача 3. Применить . . .
7
Компиляция файла и обработка ошибок
Для компиляции tex-документа в dvi- или pdf-формат нужно выбрать одну из программ-компиляторов через соответствующие инструменты спе- циализированного редактора tex-файлов (TeXworks, WinEdt, др. ) и нажать на кнопку компиляции. А можно просто через командную строку ввести ко- манду вида
<file.tex>, где
– название программы- компилятора, а <file.tex> – имя исходного файла. Например, pdflatex main.tex.
Приведем список наиболее известных компиляторов:
tex – простейший компилятор, берет TEX-файл и создает DVI-файл;
pdftex – берет TEX-файл и создает PDF-файл;
latex – наиболее используемый: берет L
A
TEX-файл и создает DVI-файл;
pdflatex – берет L
A
TEX-файл и создает PDF-файл;
dvips – конвертирует DVI-файл в PostScript;
dvipdf – конвертирует DVI-файл в PDF;
dvipdfm – улучшенная (с некоторых точек зрения) версия предыдущей про- граммы.
При наборе текстов неизбежно возникают ошибки. При компиляции до- кумента все сообщения об ошибках и предупреждения о неточностях пока- зываются на экране и, кроме того, записываются пакетом в файл протокола
(расширение .log). Предупреждения не вызывают прерывания процесса ком- пиляции, а при обнаружении синтаксической ошибки компиляция останав- ливается и на экран выводится сообщение об ошибке.
При компиляции L
A
TEX-файла возможны ошибки двух типов: ошибки пакета L
A
TEX и ошибки языка TEX, то есть ошибки более низкого уровня.
Если компилятор обнаруживает ошибку, то печатает ее тип (L
A
TEX-error или
47

TEX-error), номер строки исходного файла, в которой, по мнению пакета, на- ходится ошибка, и само ее содержание. Сообщение заканчивается знаком во- проса. При этом компиляция приостанавливается и пакет переходит в режим ожидания реакции пользователя.
Ошибку можно проигнорировать, нажав клавишу Enter. В этом случае
L
A
TEX сам попробует ее исправить по своему разумению. Набрав и нажав
Enter, можно посмотреть информацию об ошибке на английском языке.
Если ошибок много, можно при остановке компиляции ввести с клавиа- туры и «ввод», тогда при обнаружении дальнейших ошибок компиляция прерываться не будет (TEX будет обрабатывать ошибки так, как если бы вы все время нажимали на «ввод»), по экрану пронесутся сообщения об ошибках,
а затем вы сможете их изучить, просмотрев log-файл.
Вместо можно ввести и «ввод»: результат будет такой же, как если бы вы сказали s, с той разницей, что в случае, когда аргументом коман- ды \input служит несуществующий файл, никаких вопросов задаваться не будет, а компиляция просто прервется.
Можно набрать и «ввод»: результат будет такой же, как от r, с той разницей, что на экран не будет выдаваться вообще ничего (в log-файл все будет записано).
Ошибки можно исправлять в диалоговом режиме. Для этого при оста- новке необходимо ввести и «ввод», после чего появится предложение
, куда нужно ввести исправленную команду. Но затем все равно необ- ходимо исправить ошибку в исходном файле.
А можно прекратить компиляцию исходного файла, нажав клавиши <х>
и «ввод».
Наконец, режимы реакции на ошибки, задаваемые с клавиатуры с помо- щью клавиш s, r или q, можно задать прямо в файле, написав в преамбуле одну из перечисленных ниже команд:
1. Команда \scrollmode равносильна нажатию ;
2. Команда \nonstopmode равносильна нажатию ;
3. Команда \batchmode равносильна нажатию .
48

Список литературы
1. Говорухин В., Цибулин Б. Компьютер в математическом исследовании:
Maple, MATLAB, LaTeX.[Текст]/Говорухин В., Цибулин Б. – СПб.: Питер,
2001. – 624 с.
2. Гуссенс М., Миттельбах Ф., Самарин А. Путеводитель по пакету LaTeX
и его расширению LaTeX 2ε.[Текст]/Гуссенс М., Миттельбах Ф., Сама- рин А. – М.: Мир, 1999. – 606 с.
3. Львовский С.М. Работа в системе LaTeX [Текст]/Львовский С.М. –
М.Национальный Открытый Университет «ИНТУИТ» , 2007. – 465 с.
4. Столяров А.В. Сверстай диплом красиво: LATEX за три дня [Текст]/
Столяров А.В. – М.: МАКС Пресс, 2010. – 100 с.
49

Чебарыков Михаил Сергеевич
ОСНОВЫ РАБОТЫ В СИСТЕМЕ L
A
TEX
Учебное пособие для студентов направления "Информатика и вычислительная техника"
Редактор Е.Ф. Изотова
Подписано к печати 29.12.14. Формат 60x84 1/16.
Усл. печ. л. 3,06. Тираж 35 экз. Зак. № 141366. Рег. № 222
Отпечатано в ИТО Рубцовского индустриального института.
658207, г. Рубцовск, ул. Тракторная, 2/6.
1   2


написать администратору сайта