А я пишу и верстаю в latex'е<br>
Архивокончание. начало в #49-50 от 15 декабря 1998 года
Ах, что за чудо эти формулы!
Наиболее сильно преимущества LaTeX проявляются при наборе математических формул.
При наборе простого текста, как было показано ранее, нет особой нужды в специальных конструкциях, каким-либо образом ограничивающих его. Напротив, математический материал необходимо отделять от обычного текста специальными символами. Их вид зависит от того, что мы хотим получить на выходе: формулу в тексте, выключное [1] уравнение без нумерации, выключное уравнение с нумерацией. Для каждого из этих случаев существуют свои способы выделения:
Эти группы ограничителей создают так называемое математическое окружение, внутри которого TeX подчиняется строгим правилам математической верстки, а не правилам верстки обычного текста [2]. Внутри математического окружения становится возможным использование огромного множества специальных математических символов, символических обозначений для математических операций и многого другого. В дальнейшем мы поподробнее разберем каждое из приведенных выше окружений, а сейчас рассмотрим простейшие приемы набора математических текстов.
Наиболее распространенными "экзотическими" символами, встречающимися в математических формулах, являются греческие буквы: и им подобные. Для набора таких символов в Word'е приходится вызывать команду "Вставка символа". Та же самая задача в TeX решается очень просто - вводом в исходный файл в математическом окружении английского имени буквы. К примеру, вышеприведенные символы были получены при помощи следующей конструкции:
...$\tau$, $\epsilon$, $\chi$
Знаки долларов были применены, в силу вышесказанного, для выделения внутритекстовой формулы - создания внутритекстового математического окружения. Аналогичным способом можно получить и остальные строчные греческие буквы от a до w. Чтобы получить заглавные буквы, их названия записываются с заглавной буквы:
...$\Sigma$ $\Psi$ $\Delta$
На выходе получаем
Кроме того, в математике немаловажны такие знаки, как, например, и им подобные. Чтобы вывести их на странице, используется тот же самый "назывательный" способ - достаточно набрать в математическом окружении название [3] операции. Вот как были получены приведенные выше знаки:
$\pm, \div, \approx, \Leftrightarrow$
Список специальных символов представляет собой довольно объемную таблицу, и в данной статье я ее приводить не буду. Мы просто ознакомимся с основными возможностями LaTeX.
При наборе формул зачастую возникает необходимость записи нижних и верхних индексов (степеней). В TeX подобная задача решается следующим способом. Чтобы получить тождество
,
необходимо набрать:
$f_i^k(y)=2^k_i=2^{34-y}_i$
Как видно, для обозначения верхних индексов используется "шляпка" ^, а для нижних - знак подчеркивания _, причем их взаимное расположение в исходном тексте совершенно не существенно. Если значение индекса представляет собой один символ, то дополнительные скобки не нужны; в противном случае группу символов или выражение необходимо заключить в фигурные скобки, как показано выше.
В математических публикациях довольно часто встречаются конструкции, подобные, например, таким:
,
то есть в операциях, знаки которых меняют свои размеры в зависимости от операндов. Рассмотрим, как был получен предыдущий пример:
$$
\int_0^1{\frac{x^2}{\beta\times \sigma}\,dx}
\quad
\sum^n_{i=1}{x_i^2}
\quad
$$
В этом примере мы оставим без внимания строки \quad, которые были введены мною для увеличения наглядности и не обязательны при реальном наборе [4].
Итак, чтобы получить знак интеграла, мы набрали сокращенное имя операции \int с верхним и нижним пределами, оформленными как обычные индексы. Далее в фигурных скобках следует конструкция, применяемая в LaTeX для получения дробей: \frac{}{}. У этой конструкции два обязательных аргумента, заключенных в фигурные скобки: числитель и знаменатель дроби, соответственно. Внутри фигурных скобок может находиться любая конструкция, составленная по правилам LaTeX, в том числе и еще одна дробь.
Следующая конструкция представляет собой символьное изображение операции суммирования и строится по тем же правилам, что и интеграл.
В LaTeX предусмотрен набор самых разнообразных математических выражений, но для первого опыта набора и верстки в LaTeX приведенных примеров достаточно.
На этом мы закончим рассмотрение методов набора математических формул в среде LaTeX и перейдем к рассмотрению способов оформления текстов.
Давайте что-нибудь выделим
Всякий, кто пишет что-нибудь для чтения кем-то другим, всегда желает передать не только смысл, но и свое отношение к сказанному. Это обычно достигается выделением важных отрывков текста, отдельных слов, построением конструкций, подобных спискам, нумерованным перечням и пр. LaTeX предоставляет для этого мощные, но простые и удобные средства.
Мы уже говорили, что LaTeX самостоятельно заботится о шрифтовом выделении заголовков разделов и сносок. Теперь посмотрим, каким образом можно выделить произвольные участки текста. Для этого необходимо отметить, что LaTeX автоматически набирает текст внутри раздела шрифтом, который определяется классом документа. Во всех классах этот шрифт носит название \normalfont. Чтобы выделить слово или участок текста, надо просто-напросто переключить текущий шрифт на требуемый. Окунемся в это глубже.
Существует девять команд, переключающих начертание шрифта. У этих команд один обязательный аргумент в фигурных скобках - слово или произвольный участок текста, который мы желаем выделить [5]. Ниже приведен список команд и примеры их действия
Все эти команды изменяют только начертание шрифта, но никоим образом не влияют на его размер. Для этой цели предназначены еще девять команд. Они показаны на рис.
Основным отличием команд изменения размера шрифта от команд изменения его начертания является то, что они не требуют аргумента и действуют до следующей команды изменения размера или до конца группы [6]. Поэтому в тексте изменение размера шрифта должно выглядеть следующим образом:
...выглядеть {\large следующим} образом
Теперь мы смело можем выделять в тексте все, что душа (лучше, конечно, - голова) пожелает.
Перейдем к оформлению списков. Они помогают не только выделить важные места в тексте, но и структурировать его. Для построения списков применяется конструкция, называемая "окружением", то есть окруженная командами \begin{} и \end{}. Сам текст документа тоже представляет собой окружение document. Окружение, применяемое для построения списков, носит название itemize и выглядит следующим образом:
\begin{itemize}
\item Первое
\begin{itemize}
\item Первое.первое
\item Первое.второе
\end{itemize}
\item Второе
\end{itemize}
Набранный в исходном файле и пропущенный через TeX, этот кусочек текста примет такой вид:
- Первое.первое
- Первое.первое
Нумерованные списки можно получить аналогичным способом, используя окружение enumerate:
\begin{enumerate}
\item Первое
\begin{enumerate}
\item Первое.первое
\item Первое.второе
\end{enumerate}
\item Второе
\end{enumerate},
что на выходе дает следующий результат:
1) Первое
а) Первое.первое
б) Первое.первое
2) Второе
Сведем данные в таблицы
В этом разделе мы рассмотрим построение таблиц в LaTeX на примере, приведенном на рис.
В исходном файле часть текста, соответствующая таблице \ref{primer}, выглядела следующим образом:
\begin{table}[htb]
\caption{Пример таблицы}
\label{primer}
\begin{center}
\begin{tabular}{|l|lr|}
\hline
\multicolumn{3}{|c|}{Западные сладости}\\
\hline
Название&Количество&Цена\\
\hline
Сникерс&штука&330\\
\cline{2-3}
&десяток&3000\\
\hline
Марс&штука&350\\
\hline
Баунти&штука&350\\
\hline
Твикс&В продаже&\\
\cline{1-1}
Виспа&сегодня нет&\\
\hline
\end{tabular}
\end{center}
\end{table}
Пройдемся теперь по строкам исходного текста и выясним, что означает каждая из них.
h - размещение таблицы, по возможности, именно в том месте, в котором она встречается в исходном файле;
t - размещение таблицы вверху страницы, но не раньше, чем она встретилась в исходном файле;
b - размещение таблицы внизу страницы, но не раньше, чем она встретилась в исходном файле;
p - размещение таблицы на специально отведенных страницах в конце текста.
\begin{tabular} - начало окружения tabular, задающего собственно таблицу;
{|l|lr|} - задание числа столбцов таблицы и определение их оформления:
| - разделение соседних столбцов таблицы вертикальной чертой;
l - задание столбца и указание способа выравнивания данных в нем (l - выравнивание влево, r - вправо и c - по центру);
количество столбцов таблицы определяется количеством букв l, r и c в ее описании.
Большинство строк исходного текста таблицы аналогичны описанным выше и не требуют дополнительных пояснений. Мы же разберем еще одну строку, могущую вызвать затруднения.
Используя описание таблицы, LaTeX автоматически подберет ширину столбцов (и ширину всей таблицы, соответственно) в зависимости от объема данных, размещенных в них.
Команды, которые мы рассмотрели, наиболее часто употребляются при наборе таблиц, и потребность в дополнительных средствах возникает довольно редко.
Документ как целое
Чаще всего, набирая какой-либо текст, мы желаем получить его не только в виде файла, но и увидеть его на бумаге. Внешний вид твердой копии зависит от множества параметров, некоторые из которых упоминались ранее.
Наиболее важным, конечно, является класс документа. Сейчас пришло время узнать, "что это за зверь и с чем его едят". Класс документа в LaTeX'е практически полностью определяет внешний вид документа и его логическую структуру. Наиболее распространенными классами являются article, book и report [8], применяемые при создании соответствующих документов - статей, книг и отчетов. Различия между этими классами отражены в таблице.
article | report | book | |
Автоматическая нумерация разделов | + | + | + |
Разбиение на главы | - | + | + |
Разбиение на части | + | + | + |
"Двусторонняя" печать | -/+ | -/+ | +/- |
Титульный лист | -/+ | +/- | +/- |
Колонтитулы | -/+ | +/- | +/- |
Высота всех страниц одинакова | -/+ | -/+ | +/- |
Набор в две колонки | -/+ | -/+ | -/+ |
В таблице приняты следующие обозначения: "+" - "всегда присутствует", "-" - "всегда отсутствует", "+/-" - "присутствует по умолчанию, но возможно отключение" и "-/+" - "отсутствует по умолчанию, но возможно включение". Рассмотрим подробнее, что означают фразы "возможно отключение" и "возможно включение".
Как уже обсуждалось в разделе "Начнем помаленьку", класс документа определяется командой вида \documentclass{}, которая в качестве аргумента использует имя класса. Но, кроме обязательного аргумента, эта команда может использовать и необязательный аргумент, заключенный в квадратные скобки и помещенный перед обязательным. Необязательными аргументами являются так называемые "стилевые опции", которые позволяют изменить внешний вид документа, не выходя за границы класса.
Одной из важнейших стилевых опций, указываемых в команде \documentclass[]{}, является размер шрифта основного текста документа. Размер может принимать два значения - 12pt и 11pt, что соответствует 12- и 11-пунктовому шрифтам. Если размер не указан явно, по умолчанию устанавливается 10-пунктовый шрифт. От размера основного шрифта зависит оформление всего документа в целом - размеры шрифта для заголовков, для сносок, формул и собственно основного текста. Размер основного шрифта также влияет на интервалы между строками, абзацами и разделами документа.
Значительное влияние на внешний вид документа оказывает и формат бумаги, на которой будет печататься документ. LaTeX рассчитывает размеры текста и полей таким образом, чтобы они максимально соответствовали этому формату. Для явного указания формата используемой бумаги возможно использование одной из пяти стилевых опций: a4paper, a5paper, b5paper, legalpaper и executivepaper, соответствующих форматам A4 [9], A5, B5, Legal и Executive. Если ни одна из этих опций не указана, принимается размер по умолчанию - 8,5х11 дюймов.
Наряду с форматом используемой бумаги существует возможность задания ориентации страниц документа - книжной (по умолчанию) и альбомной (стилевая опция landscape).
Следующей возможной стилевой опцией является titlepage - указание LaTeX'у на необходимость выделения отдельной страницы для печати заголовка документа при использовании класса article. Для запрета создания титульного листа в классах report и book применяется стилевая опция notitlepage.
При подготовке документа к печати для экономии бумаги можно воспользоваться опцией, устанавливающей двустороннюю печать - twoside.
И еще одна важная опция - draft (черновик), дающая указание LaTeX'у помечать выходящие за границы поля печати строки специальным символом - z (иногда его называют "марашкой"). Эта опция предоставляет возможность визуально оценить "плохость" текста при его черновой подготовке. Марашка появляется чаще всего в тех случаях, когда LaTeX не может самостоятельно найти приемлемый вариант переноса слов и ему необходимо в этом помочь, установив в местах возможного переноса слова пару символов \-.
Кроме стилевых опций существуют и другие возможности менять оформление документа в целом. Одна из таких возможностей - это задание стиля оформления страницы, то есть наличия или отсутствия колонтитулов, места расположения и внешнего вида номеров страниц и т. п. Чтобы задать стиль, необходимо поместить в исходный текст документа команду \pagestyle{} с одним обязательным аргументом. Аргумент представляет собой одно из четырех слов: empty, plain, headings и myheadings. Каждое из этих слов устанавливает собственный стиль оформления страницы:
LaTeX предоставляет множество и других возможностей для изменения оформления документа, но, как и в случае с myheadings, их обсуждение выходит за рамки этой краткой статьи. Для детального ознакомления с возможностями LaTeX' а желающие могут воспользоваться ссылками, представленными в разделе "Что? Где? Когда?".
Неограниченные возможности
В предыдущих разделах были представлены базовые возможности LaTeX'а, то есть работы без подключения разнообразных пакетов, позволяющих решать экзотические задачи: набирать тексты на арабском и японском языках, строить многоярусные формулы, готовить к печати нотные записи и многое иное. Ниже представлены скриншоты с оригинальной выдачи LaTeX при использовании различных пакетов (механизм подключения пакетов аналогичен подключению библиотек в языках программирования типа C++ и Pascal).
Для использования дополнительных средств следует прочесть руководство [10], подключить необходимый пакет при помощи команды \usepackage{}, как это было показано в разделе "Начнем помаленьку", и: начать работать.
Что? Где? Когда?
Ну, вот и закончился краткий обзор средств и возможностей LaTeX. У некоторых читателей, наверное, возник закономерный вопрос: где можно взять сам LaTeX, пакеты к нему и документацию.
Проще всего - скачать дистрибутивы TeX и LaTeX из CTAN (Comprehensive TeX Archive Network), разветвленной сети ftp-архивов, полностью посвященных TeX. Вот адреса головных сайтов:
ftp.dante.de
ftp.shsu.edu
ftp.tex.ac.uk
и их зеркал:
dongpo.math.ncu.edu.tw
ftp.center.osaka-u.ac.jp
ftp.ccu.edu.tw
ftp.cs.rmit.edu.au
ftp.loria.fr
ftp.muni.cz
ftp.riken.go.jp
ftp.uni-stuttgart.de
kadri.ut.ee
src.doc.ic.ac.uk
sunsite.unc.edu
wuarchive.wustl.edu
Кроме того, дистрибутивы можно получить в региональных группах пользователей TeX (TUG - TeX Users Group). Для России это - CyrTUG, находящаяся в Москве, в издательстве "Мир". Ее адрес в Интернете: cemi.rssi.ru/cyrtug.
При наличии дистрибутива установка системы не вызывает проблем - достаточно знать английский язык. О пользе изучения английского языка говорилось уже не однажды, в том числе и в "Компьютерре", но если вы все-таки не вняли советам, не огорчайтесь - и для вас существует способ изучить подробное руководство к действию. На русском языке было издано несколько книг, посвященных TeX и LaTeX. Наиболее полным руководством является перевод книги автора TeX Дональда Кнута "The TeXbook", озаглавленный "Все про TeX" и изданный в 1993 году АО "RDTEX". Эта книга является исчерпывающим описанием всех тонкостей TeX, но у рядового пользователя редко возникает необходимость в ее изучении. Для изучения методов подготовки документов в среде LaTeX наиболее подходящее издание (на мой взгляд) - книга С. М. Львовского "Набор и верстка в пакете LaTeX", изданная в 1995 году издательством "Космосинформ". Книга полезна еще и тем, что может выполнять функции не только учебника, но и справочника.
На этом краткое введение в мир LaTeX закончено, и мне хотелось бы верить, что вас заинтересовала описанная система и вы сможете оценить все ее удобство и мощь.
1 (обратно к тексту) - Находящееся в разрыве абзаца и центрированное по горизонтали.
2 (обратно к тексту) - В частности, игнорируются все пробелы между словами и символами.
3 (обратно к тексту) - Естественно, английское и с некоторыми изменениями.
4 (обратно к тексту) - За некоторыми исключениями, к которым мы обратимся позднее.
5 (обратно к тексту) - Существуют команды и без аргументов, но здесь они рассмотрены не будут.
6 (обратно к тексту) - Группа - участок текста, ограниченный фигурными скобками или каким-либо окружением.
7 (обратно к тексту) - Primer, в данном случае, представляет собой имя метки, на его месте может стоять любая комбинация символов, в том числе - русских букв.
8 (обратно к тексту) - Класс report в России используется очень редко.
9 (обратно к тексту) - Наиболее часто используемый в России.
10 (обратно к тексту) - Вот еще одно преимущество LaTeX - система великолепно документирована.