Работа в системе LaTeX

kinogo-films.biz           

Альтернативные обозначения для математических формул


Наряду со стандартными TeX'овскими обозначениями для математических формул, LaTeX предоставляет альтернативные обозначения. Именно, внутритекстовую формулу, которая в стандартных обозначениях ограничивается одним знаком доллара в начале и одним в конце, можно вместо этого заключить в знаки "\(" (в начале) и "\)" (в конце):

Работа в системе LaTeX
\(2\times2=4\)

Другой вариант обозначений для внутритекстовой формулы, предоставляемый LaTeX'ом, — написать \begin{math} в начале формулы и \end{math} в конце (иными словами, внутритекстовая формула может быть оформлена как окружение с именем math).

Выключную формулу LaTeX позволяет окружить с обеих сторон не только парами знаков доллара, как предусмотрено стандартом, но знаками \[ (в начале) и \] (в конце). Кроме того, можно оформить выключную формулу как окружение с именем displaymath. В одном и том же файле можно использовать как стандартные, так и LaTeX'овские обозначения для формул.

Эти альтернативные обозначения полностью эквивалентны стандартным TeX'овским (со знаками доллара), за одним важным исключением: если выключные формулы обозначаются LaTeX'овскими, а не TeX'овскими обозначениями, то можно сделать так, что выключные формулы будут не центрированы, а прижаты влево .



Чего мы еще не сказали


Для читателя-математика того, что мы уже рассказали о наборе формул, должно быть, в принципе, достаточно, за одним важным исключением: при написании математической статьи полезно знать, как грамотно оформлять тексты теорем, определений и тому подобные вещи. Об этом у нас рассказывается в разд."Окружение типа "теорема","Окружение типа "теорема" в пакете amsthm" лекции 7 вы можете прочитать это уже сейчас, пропуская непонятные места и справляясь при необходимости с разд."Рубрикация документа" лекции 4, посвященным рубрикации документа.



Фантомы и прочее


Ранее мы столкнулись с командой \lefteqn, позволяющей напечатать фрагмент формулы и при этом сообщить TeX'у, что отдельного места (по горизонтали) на этот фрагмент отводить не надо. Иногда бывает полезно сделать обратное: включить в формулу символ, который сам не печатается, но место занимает. Вот пример такой ситуации.

Команда \sqrt автоматически выбирает размер знака радикала таким образом, чтобы он точно соответствовал высоте подкоренного выражения, и это очень хорошо. Иногда, однако, такой автоматический выбор приводит к не очень удачным результатам:

Работа в системе LaTeX
В формуле $\sqrt{a}+ \sqrt{d}$ два знака радикала имеют разные размеры.

Дело тут, конечно, в том, что буквы

Работа в системе LaTeX
и
Работа в системе LaTeX
имеют разную высоту. Чтобы сделать знаки радикала одинаковыми, TeX надо обмануть: добавить в подкоренные выражения по символу, который чуть выше, чем
Работа в системе LaTeX
или
Работа в системе LaTeX
, чтобы подкоренные выражения оказались одной высоты. Этот символ, естественно, не должен печататься и не должен занимать места по горизонтали (лишние пробелы под корнем нам тоже ни к чему). Такой невидимый символ генерируется TeX'овской командой \mathstrut:

Работа в системе LaTeX
В формуле $\sqrt{\mathstrut a} +\sqrt{\mathstrut d}$ оба знака радикала имеют одинаковые размеры.

Точнее говоря, \mathstrut - это невидимый символ, равный по высоте скобке

Работа в системе LaTeX
и не имеющий ширины.

Невидимый символ, создаваемый командой \mathstrut, является частным случаем TeX'овской конструкции "фантома". Именно, если в формуле вы напишете

"\phantom{"TeXtit{какая-то формула} "}"

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

Работа в системе LaTeX
Все мы знаем, что знак радикала выглядит так: $\sqrt{\phantom{x}}$.

Кроме того, можно создать "вертикальный фантом" формулы (по вертикали будет оставлено столько же места, сколько занимала бы формула, по горизонтали вертикальный фантом места не занимает).
Создается вертикальный фантом командой \vphantom. В частности, команда \mathstrut - это сокращение для "\vphantom{(}" . Возможны, наконец, и горизонтальные фантомы, занимающие по горизонтали столько же места, сколько заняла бы формула, и не занимающие места по вертикали. Создаются они командой \hphantom:

Работа в системе LaTeX
На пустое место $\hphantom{\sin^2\alpha}$ можно вписать формулу вручную.
Для полноты картины скажем об еще одной экзотической команде, называемой \smash. Подобно команде \lefteqn, она печатает символ, но при этом говорит TeX'у, что он не занимает места по вертикали. С помощью этой команды (а так же с помощью \lefteqn) можно накладывать в формулах один символ на другой. Вот пример совместной работы команд \phantom и \lefteqn:

Работа в системе LaTeX
$$ \lefteqn{\overbrace{ \phantom{1+2+3}}} 1+\underbrace{2+3+4} $$
Поясним, как устроен исходный текст, давший такое перекрытие скобок. Верхняя фигурная скобка, созданная командой \overbrace, ставится не над самой формулой
Работа в системе LaTeX
, а над ее фантомом. В результате команда \overbrace печатает фигурную скобку над пустым местом. Далее, вся эта конструкция стоит, в свою очередь, в аргументе команды \lefteqn, вследствие чего TeX считает, что места по горизонтали она не занимает. Поэтому формула
Работа в системе LaTeX
начинается с того же места, что и фантом формулы
Работа в системе LaTeX
; в результате
Работа в системе LaTeX
попадает аккурат под верхнюю скобку! Все это, конечно, — еще один пример "грязного трюка").

Если бы формула была не выключная, а внутритекстовая, то этот трюк прошел бы не столь гладко. Дело в том, что команда \lefteqn всегда набирает формулы в \displaystyle, поэтому размер фантома, над которым ставилась скобка, мог в принципе не совпасть с размером реально печатаемого фрагмента формулы. Чтобы уж совсем себя обезопасить, следовало бы в этом случае аргумент команды \lefteqn начать с \textstyle.


Формула в рамочке


Очень важную формулу хочется взять в рамку. Если подключить пакет amsmath, то этого можно добиться с помощью команды \boxed:

Работа в системе LaTeX
$$ \boxed{\iint_{\mathbb R^2}e^{-(x^2+y^2)}\,dx\,dy=\pi} $$

В этом примере мы подразумевали, что подключен еще пакет amsfonts или amssymb.



Горизонтальные отбивки вокруг формул


Некоторые авторы и издатели считают, что математический текст выглядит понятнее, когда каждая формула окружена дополнительным пробелами справа и слева от нее {Это актуально для текстов на языках с латинской графикой. В русских текстах формулы обычно достаточно выделяются уже за счет того, что в них используется латиница, а в тексте — кириллица.}. Для этих целей в TeX'е предусмотрен параметр \mathsurround . Значение этого параметра — размер дополнительного пробела, вставляемого по обе стороны каждой внутритекстовой математической формулы (этот пробел не добавляется перед формулой, попавшей при печати в начало строки, и после формулы, попавшей в конец строки). При запуске LaTeX'а значение этого параметра равно нулю, так что расстояния между формулами и окружающим текстом такие же, как между словами в тексте. Можно, однако, присвоить параметру \mathsurround ненулевое значение. Например, команда \mathsurround=2pt (будучи включена в преамбулу) окружает каждую формулу дополнительными пробелами по 2 пункта с обеих сторон.

Если нужно организовать дополнительные горизонтальные отбивки вокруг какой-то одной формулы, можно поместить команду, присваивающую значение параметру \mathsurround, непосредственно в саму формулу (между ограничивающими ее знаками доллара, в любое место). Важно только не забыть сделать пробел после обозначения для единицы длины (скажем, pt).

Работа в системе LaTeX
Работа в системе LaTeX
Работа в системе LaTeX
  1)   Стрелки также рассматриваются TeX'ом как бинарные отношения.
  2)   Иногда полезно поставить пустые фигурные скобки {\{\}}, чтобы создать фиктивный аргумент бинарной операции и тем самым обеспечить желательные пробелы; мы делали это в примере на с.38
Работа в системе LaTeX


Какие еще есть символы


В наших таблицах собрано более четырехсот математических символов, не считая операций типа

Работа в системе LaTeX
или
Работа в системе LaTeX
. Тем не менее, для набора формул этого мало. Во-первых, в формулах встречаются скобки разнообразных начертаний (и размеров). О них речь пойдет в разд. "Скобки переменного размера". Во-вторых, часто бывает нужно, чтобы обозначения переменных в формуле печатались не курсивом, как это делается в TeX'е по умолчанию, а другим шрифтом. Как этого добиться, рассказано в разд. "Смена шрифтов в формуле". Если вам и этого не хватает, попробуйте поискать недостающие шрифты в Интернете (в приложении Ж рассказано, где именно искать).



Как набирать формулы


О некоторых простейших приемах набора формул уже шла речь в первой лекции, но для серьезной работы этого, бесспорно, недостаточно; хочется верить, что после изучения этой лекции профессиональному математику (или техническому редактору) не будет страшна никакая, даже самая изощренная, формула.

Некоторые из приемов, описываемых здесь, становятся доступными только после подключения специальных стилевых пакетов. Напомним, что слова наподобие "чтобы сделать то-то и то-то, надо подключить стилевые пакеты yweird и queer" означают, что в преамбулу документа следует включить строчку вида

\usepackage{weird,queer}

Особенно полезны возможности, предоставляемые пакетами amssymb и amsmath, рекомендуем подключать их всегда, если в вашем тексте присутствуют сколько-нибудь сложные формулы.

Имея все это в виду, приступим к делу.



Многострочные выключные формулы


Программа TeX никогда не делает автоматических переносов в выключных формулах, поэтому, если ваша формула не умещается в строку, необходимо разбить ее на отдельные строки самостоятельно. Первое, что приходит в голову начинающим, — это оформить каждую из этих строк как отдельную выключную формулу с помощью $$...$$ и записать эти выключные формулы подряд. При этом расстояние по вертикали между двумя строками получается слишком большим, так что на глаз они не воспринимаются как части одной формулы. В этом разделе мы описываем, как грамотно организовать такое разбиение.

Как и в случае с матрицами, наиболее удобные (и рекомендуемые нами) средства открываются, если подключить пакет amsmath; с их описания мы и начнем, а в конце опишем скромные средства набора многострочных формул, доступные без подключения дополнительных пакетов.

Итак, пусть вы подключили amsmath. Тогда самое простое средство для набора многострочных выключных формул — это окружение multline:

Работа в системе LaTeX
\begin{multline} 1+2+3+4+\ldots\\ +46+47+48+\ldots\\ +99+100=5050 \end{multline}

Первая из строк печатается выключенной влево, последняя — выключенной вправо, остальные строки центрируются. Подобно окружению equation, окружение multline не должно быть заключено в знаки "$$". Как вы могли заметить, формула, оформленная в виде окружения multline, автоматически нумеруется. Чтобы этой нумерации не было, надо воспользоваться "вариантом со звездочкой" — окружением multline*.

На самом деле первая и последняя строки печатаются не вплотную к полям, а с отступом, равным \multlinegap. Значение этого параметра можно изменить обычным образом, написав в преамбуле что-нибудь вроде

\multlinegap=.5in

Чтобы какая-то из средних строк была не центрирована, а выключена влево, надо воспользоваться командой \shoveleft, написав, скажем,

\shoveleft{+46+47+48+\ldots}\\

вместо "+46+47+48+\ldots\\". Для выключки вправо аналогичным образом используется команда \shoveright.

Когда несколько выключных формул идут подряд, можно не оформлять каждую из них с помощью "$$" или окружения equation, но воспользоваться окружением gather:

Работа в системе LaTeX
\begin{gather} 2\times 2=4\\ 9\times 9=81 \end{gather}
<
p> При использовании gather формулы также не должны быть заключены в символы "$$". Каждая из формул, собранных в gather, автоматически нумеруется. Чтобы на пронумерованную таким образом формулу можно было сослаться (а иначе зачем нумеровать?), надо ее пометить, поставив перед |\\| команду \label.

Если какую-то из них нумеровать не надо, следует поставить непосредственно перед "\\" команду \notag. Если вы не хотите нумеровать ни одну из формул, можно воспользоваться "вариантом со звездочкой" — окружением gather* .

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

Работа в системе LaTeX
\begin{equation} \begin{split} 1999&=1000+900+{}\\ &+90+9 \end{split} \end{equation}
Разбиение формулы на строки по-прежнему задается с помощью \\, а знак & стоит перед символами, по которым производится выравнивание. По TeX-ническим причинам формулу, разбитую на строки помощью split , нельзя задавать с помощью знаков $$ (почему мы и воспользовались в примере окружением equation ). С другой стороны, из-за equation наша формула получила номер. Если нумерация вам не нужна, можно либо написать \notag перед \end{equation}, либо воспользоваться окружением equation*, которое формулы не нумерует.

Формулы, разбитые на части с помощью split , можно использовать также внутри окружений gather или align (о последнем речь пойдет ниже), со звездочками или без.

Нередко возникает необходимость напечатать один или несколько выровненных столбцов формул. Для этих целей предназначено окружение align:

Работа в системе LaTeX
\begin{align} 7\times 9& =63 & 63:9& =7\\ 9\times 10& =90 & 90:10& =9 \end{align}
При выравнивании формул по знаку равенства (или другого бинарного отношения), как это обычно и делается, знак "&" ставится перед знаком равенства. В нашем примере второй знак "&" в строке отделяет первый столбец формул от второго, по третьему знаку "&" идет выравнивание во втором столбце, четвертый "&", если бы он был, отделял бы второй столбец от третьего, и т.д.


По-прежнему не нужны знаки "$$", каждая строка уравнений автоматически получает номер, который можно подавить, написав \notag перед "\\", и по-прежнему есть вариант со звездочкой align* , который формулы не нумерует.

При грамотном применении окружения align в строке должно стоять нечетное число знаков "&". Именно, если у нас
Работа в системе LaTeX
столбцов с уравнениями, то имеется
Работа в системе LaTeX
знаков "&", отделяющих друг от друга столбцы, плюс еще
Работа в системе LaTeX
знаков — по одному на каждый столбец, а всего
Работа в системе LaTeX
.

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

Работа в системе LaTeX
\begin{align*} 3\cdot 5+7\cdot 5&=(3+7) \cdot5 &&\text{(ясно)}\\ &=50&&\text{(очевидно)} \end{align*}
Обратите внимание на два амперсенда, отделяющие комментарий от формул (см. выше текст мелким шрифтом). Нелишне также отметить, что, как и в случае с окружениями multline и gather , формулы, задаваемые с помощью align , нельзя оформлять с помощью знаков доллара.

Не всегда удобно включать комментарии к выкладкам прямо в формулы. Иногда хочется, чтобы какой-то из комментариев шел в отдельной строке. Команда \intertext позволяет сделать это так, чтобы выравнивание не нарушилось:

Работа в системе LaTeX
\begin{align*} 3\cdot 5+7\cdot 5&=(3+7) \cdot5 &&\text{(ясно)}\\ &=50&&\text{(очевидно),}\\ \intertext{откуда} 15+35 &=50 \end{align*}
Наряду с окружением align, дающим сразу целую выключную формулу, есть окружение aligned , которое можно использовать в качестве составной части большей формулы. Вот как можно с помощью этого окружения задать систему уравнений:

Работа в системе LaTeX
$$ \left\{ \begin{aligned} x^2+y^2&=7\\ x+y & = 3.\\ \end{aligned} \right. $$
Для создания фигурной скобки, охватывающей всю систему, мы воспользовались командами \left и \right, причем при команде \right стоит "пустой ограничитель" — точка.

Наконец, еще один тип многострочных выключных формул возникает, когда выражение в правой части равенства должно выглядеть по-разному в разных случаях.


На этот случай в пакете amsmath предусмотрено окружение cases. Продемонстрируем его работу сразу на примере:

Работа в системе LaTeX
$$ |x|=\begin{cases} x,&TeXt{если $x>0$;}\\ 0,&TeXt{если $x=0$;}\\ -x,&TeXt{если $x<0$.} \end{cases} $$
Разработчики пакета amsmath рекомендуют внутри окружения cases использовать команду \lbrace вместо \{.

Теперь, когда вы ознакомились с возможностями набора многострочных формул с помощью пакета amsmath, расскажем и о том, что можно сделать в этом направлении без подключения дополнительных стилевых пакетов.

Системы уравнений можно набирать с помощью окружения array таким образом:

Работа в системе LaTeX
$$ \left\{ \begin{array}{rcl} x^2+y^2&=&7\\ x+y & = &3.\\ \end{array} \right. $$
Мы отвели по одному столбцу на левую часть каждого уравнения, на знак равенства и на правую часть. При этом мы попросили, чтоб левые части уравнений были выровнены по правому краю (отсюда r в преамбуле), правые части выровнены по левому краю ( l в преамбуле), а знак равенства располагался по центру своей колонки (поэтому вторая буква в преамбуле — буква c).

Можно заметить, что пробелы (отбивки) до и после знака равенства получаются больше, чем это допускается типографскими правилами (и чем получается при использовании окружения aligned из пакета amsmath). К сожалению, бороться с этим трудно; проще раздобыть комплект, в который входит пакет amsmath .

Если необходимо, чтобы отдельные уравнения в системе были пронумерованы, можно воспользоваться окружением eqnarray . Оно работает так же, как окружение array с преамбулой rcl в вышеприведенном примере, но при этом у каждого уравнения автоматически печатается его номер (подобно тому, как автоматически печатается номер у выключной формулы, созданной с помощью окружения equation —. Если пометить какое-либо уравнение с помощью команды \label, то в дальнейшем можно на него ссылаться с помощью команды \ref или \pageref.

Работа в системе LaTeX
\begin{eqnarray} 2\times3&=&6\\ 2+3&=&5\label{silly} \end{eqnarray} На с.~\pageref{silly} приведено глупое уравнение~\ref{silly}
Обратите внимание, что фигурной скобки, охватывающей систему уравнений, окружение eqnarray не создает.


В этом примере символ "~ "между "с."\ и \pageref поставлен, чтобы слово "с."\ и номер страницы не попали на разные строки ; для аналогичных целей мы использовали этот символ и вторично.

При использовании окружения eqnarray не надо писать знаки "$$" (подобно тому, как не надо их писать при пользовании окружением equation).

Если вы хотите нумеровать не все уравнения, надо уравнения, которые вы нумеровать не будете, пометить командой \nonumber (непосредственно перед "\\"):

Работа в системе LaTeX
\begin{eqnarray} \int_{-\infty}^\infty e^{-x^2}dx & = & \sqrt{\pi}\nonumber\\ \sqrt{576} & = & 24 \end{eqnarray}
Наконец, если вы вообще не хотите нумеровать уравнения, то можно воспользоваться "вариантом со звездочкой"- окружением eqnarray*.

Окружение array можно использовать не только в выключных, но и во внутритекстовых формулах, хотя результат при этом обычно выглядит некрасиво. Окружения eqnarray и eqnarray* создают только выключные формулы.

Чтобы разбить выключную формулу на несколько выровненных частей, также можно воспользоваться окружением eqnarray или eqnarray*:

Работа в системе LaTeX
\begin{eqnarray*} x^{20}&=&(x-1)^{20}+ 20(x-1)^{19}+\ldots+\\ &&{}+20(x-1)+1 \end{eqnarray*}
Обратите внимание, что перед первым знаком + во второй строке формулы мы поставили пару из открывающей и закрывающей фигурных скобок; это сделано для того, чтобы на печати знак
Работа в системе LaTeX
не подошел слишком близко к первому символу второй строки, что в сочетании со увеличенными отбивками вокруг знака равенства было бы уже слишком (можете поставить эксперимент самостоятельно). Природа описанного эффекта объясняется ниже в разд. "Тонкая настройка"; он частично учтен в пакете amsmath (к сожалению, разные версии этого пакета могут давать разные результаты).


Набор коммутативных диаграмм


Чтобы набирать в LaTeX'е "коммутативные диаграммы", необходимо подключить стилевой пакет amscd. Пусть это сделано. Тогда коммутативная диаграмма оформляется в виде окружения CD. Читателю, знакомому с AMS-TeX'ом, дальнейшее можно объяснить одной фразой: между "\begin{CD}" и "\end{CD}" надо поместить в точности тот же текст, что в MS-TeX'е пишут в аналогичном случае между \CD и \endCD . Для всех остальных удобнее пояснить правила набора коммутативных диаграмм на примере. Рассмотрим следующую диаграмму:

Работа в системе LaTeX

При подключенном пакете amscd она набирается следующим образом:

$$ \begin{CD} 0 @”> E' @>f” E @>g” E'' @”> 0\\ @. @VVpV @VVqV @VVrV @.\\ 0 @”> F' @>f” F @>g” F'' @”> 0 \end{CD} $$

Первая строка в этой записи соответствует верхней строке диаграммы. Стрелка, направленная слева направо, задается конструкцией "@”>" (а стрелка справа налево — конструкцией "@“<"); если над стрелкой надо поставить какую-то надпись (например, просто букву), то нужно ее разместить между первым и вторым знаками неравенства; чтобы надпись получилась под стрелкой, надо ее разместить между вторым и третьим знаками неравенства.

Вторая строка задает вертикальные стрелки. Конструкция "@VVV" задает стрелку, направленную вниз; если справа от стрелки нужна надпись, то ее надо разместить между второй и третьей буквами {V} (чтобы надпись оказалась слева от стрелки, она должна быть, естественно, между первой и второй буквами V). Вертикальная стрелка, направленная вверх, задается конструкцией "@AAA" (буква A — максимальное приближение к устремленной вверх стрелке); справа и слева от нее также можно сделать надпись (аналогичным образом).

Конструкция "@." задает "пустую" стрелку (в нашем случае — между двумя нулями); она необходима, чтобы LaTeX не сбился со счета, выясняя, в какие колонки ставить вертикальные стрелки.

Опишем работу окружения CD более аккуратно. Каждую коммутативную диаграмму окружение CD рассматривает как таблицу, состоящую из перемежающихся "горизонтальных" и " вертикальных" строк.
Каждая "горизонтальная" строка состоит из формул, перемежающихся горизонтальными стрелками. Во всех горизонтальных строках должно быть одинаковое количество формул. Если некоторые из мест, предназначенных для формул, должны остаться пустыми, то на этом месте надо оставить пробел или, если вам так приятнее, написать "{}". Между каждой парой формул должна быть стрелка. Если какие-то из этих стрелок не нужны, на их месте надо поставить "@." (" пустую" стрелку).

Каждая "вертикальная" строка состоит из вертикальных стрелок. Их должно быть столько же, сколько формул в любой из горизонтальных строк. Если какие-то из вертикальных стрелок не нужны, на их месте надо поставить "@." (пустую стрелку).

Если надпись при стрелке, направленной вниз (и задаваемой, стало быть, конструкцией "@VVV"), сама содержит букву V, то нужно ее (надпись) взять в фигурные скобки — иначе TeX не сможет понять, какая из букв V относится к надписи, а какая — к обозначению стрелки. Аналогичные меры надо принять, если надпись при стрелке, направленной вверх, содержит букву A (а также, естественно, если надпись при горизонтальной стрелке содержит знак ">" или "<", хотя ввиду математического смысла таких надписей последнее менее вероятно).

Наряду со стрелками, в коммутативных диаграммах встречаются горизонтальные и вертикальные "растянутые знаки равенства":

Работа в системе LaTeX


$$ \begin{CD} A @= B @”> C \\ @V{V_1}VV @AfAA @| \\ D @“g< E @“< F \end{CD} $$ Как видно из этого примера, такие знаки задаются конструкциями "@=" (горизонтальный) и "@|" (вертикальный). Обратите также внимание, как мы защитили фигурными скобками символ {V} в надписи к левой вертикальной стрелке.

Конструкция "\pretend" \ldots\ "\haswidth" системы AMSTeX в LaTeX'е не поддерживается.

Математики знают, что в коммутативных диаграммах могут встречаться не только горизонтальные и вертикальные стрелки: бывают и наклонные, и изогнутые, и пунктирные\...\ Возможностей пакета amscd для печати таких стрелок недостаточно; если вам нужны такие более сложные диаграммы, стоит воспользоваться стилевым пакетом Xy-pic (см.


приложение Д).

В "чистом" (без подключения стилевых пакетов) LaTeX' е набор диаграмм не предусмотрен. На самый крайний случай, если нет ни amscd, ни Xy-pic'а, можно сделать так:

$$ \begin{array}{ccccccccc} 0&\longrightarrow & E' & \stackrel{f}{\longrightarrow}& E & \stackrel{g}{\longrightarrow} & E'' & \longrightarrow & 0\\ &&\downarrow\lefteqn{p}&&\downarrow \lefteqn{q}&&\downarrow\lefteqn{r}\\ 0&\longrightarrow & F' & \stackrel{f}{\longrightarrow}& F & \stackrel{g}{\longrightarrow} & F'' & \longrightarrow & 0 \end{array} $$ В результате получится почти такая же диаграмма, как в нашем первом примере (правда, буквы при вертикальных стрелках будут крупнее букв при горизонтальных, поскольку команда \stackrel уменьшает буквы). Единственное, что тут нуждается в пояснении, — команды \lefteqn. Они нужны для того, чтобы вертикальные стрелки с надписями были правильно центрированы. Если эти \lefteqn'ы опустить (и писать p вместо \lefteqn{p} и т.п.), то вертикальные стрелки с подписями окажутся не по центру, а сдвинутыми влево.

Для интересующихся объясним, в чем тут дело. В процессе верстки текста TeX учитывает, сколько места занимает тот или иной фрагмент формулы. В TeX'е предусмотрены специальные команды, позволяющие фальсифицировать эти данные. В частности, команда \lefteqn печатает формулу, являющуюся ее аргументом, но при этом сообщает TeX'у, что по горизонтали эта формула не занимает места вообще. Стало быть, с точки зрения TeX'а ширина элемента, стоящего во второй строке нашей таблицы, определяется только шириной стрелки, и при центрировании текст располагается так, чтобы именно стрелка была на равном расстоянии от краев, сколь бы длинна на самом деле ни была формула, стоящая в \lefteqn. Создатель TeX'а Дональд Кнут назвал такого рода приемы работы с TeX'ом "грязными трюками" (dirty tricks). Впрочем, при написании TeX'овских макропакетов используются трюки и похлеще.


Набор матриц


Сначала мы объясним, как набирать матрицы при подключенном пакете amsmath (что во всех отношениях лучше и удобнее), а в конце этого раздела расскажем, для полноты картины, о тех средствах набора матриц, которые доступны в " чистом" LaTeX'е (без подключения дополнительных стилевых пакетов).

Итак, предположим, что пакет amsmath подключен. Тогда для набора матриц, заключенных в круглые скобки, стоит воспользоваться окружением pmatrix. Вот как оно работает:

Работа в системе LaTeX
$$ \begin{pmatrix} a_{11}-\lambda & a_{12}&a_{13}\\ a_{21}& a_{22}-\lambda &a_{23}\\ a_{31}& a_{32}&a_{33}-\lambda\\ \end{pmatrix} $$

Строки матрицы разделяются с помощью команды "\\" в матрицах (последнюю строку заканчивать командой "\\" не надо), а элементы внутри одной строки, относящиеся к разным столбцам, отделяются друг от друга с помощью символа "&". Текст, соответствующий на печати одной строке матрицы, не обязан укладываться в одну строку TeX'овского файла; в одной строке TeX'овского файла можно поместить текст, соответствующий на печати нескольким строкам матрицы. Короче говоря, в окружении matrix также действует TeX'овский принцип" конец строки равносилен пробелу".

Прямоугольные таблицы из формул бывают заключены не только в круглые скобки; соответственно, определены окружения bmatrix, vmatrix и Vmatrix, отличающиеся от pmatrix только тем, что вместо круглых скобок таблица заключена соответственно в квадратные скобки

Работа в системе LaTeX
, вертикальные черточки
Работа в системе LaTeX
и удвоенные вертикальные черточки
Работа в системе LaTeX
. Есть также окружение \matrix, которое дает на печати только прямоугольную таблицу, без всяких скобок. Комбинируя окружение matrix с парой ограничителей, можно получить матрицу со скобками более экзотического вида.

Если вам нужны матрицы с более чем десятью столбцами, нужно изменить максимальное количество столбцов, написав в преамбуле что-нибудь вроде следующего:

\setcounter{MaxMatrixCols}{20}

(после этого максимальное число столбцов в матрице станет равно двадцати; на TeX'ническом языке это действие называется " присваивание нового значения счетчику MaxMatrixCols" см. лекцию 7 ).
Можно также дать эту команду не в преамбуле, а в начале той выключной формулы, в которую входит ваша матрица; тогда разрешение увеличить число столбцов будет действительно только для матриц, входящих в эту выключную формулу.

Вот как можно набрать с помощью окружения matrix треугольник Паскаля:

Работа в системе LaTeX


Исходный текст для него выглядит так:

$$ \setcounter{MaxMatrixCols}{20} \begin{matrix} &&&& 1 && 1\\ &&& 1 && 2 && 1\\ && 1 && 3 && 3 && 1\\ && 1 && 4 && 6 && 4 && 1\\ 1 && 5 && 10 && 10 && 5 && 1 \end{matrix} $$ (заметим кстати, что в этом примере пустые элементы таблицы в конце строки опущены, так что число символов "&" в разных строках таблицы разное). Если бы мы не увеличивали MaxMatrixCols, то последняя строка вызвала бы сообщение об ошибке.

Чтобы получить в матрице горизонтальный ряд точек, простирающийся на несколько столбцов, используется команда \hdotsfor; ее обязательный аргумент — количество столбцов, занятых точками. В приведенном ниже примере обратите внимание на расстановку знаков "&" в строках, содержащих \hdotsfor:

Работа в системе LaTeX
$$ \begin{vmatrix} 0 & 0&\hdotsfor{2} &a_1\\ 1 & 0&\hdotsfor{2} &a_2\\ \hdotsfor{5}\\ \hdotsfor{2} &1 &0 &a_{n-1}\\ 0 & \hdotsfor{2} &1 &a_n \end{vmatrix} $$
Можно также регулировать густоту точек, получаемых при помощи команды \hdotsfor: в необязательном аргументе (он ставится перед обязательным) можно указать десятичную дробь — "коэффициент разреживания". Если сказать \hdotsfor[1.5]{5} вместо \hdotsfor{5}, то точки будут идти в полтора раза реже.

Наряду с горизонтальными рядами точек, в матрицах приходится использовать вертикальные и диагональные многоточия. Для их набора используются команды \vdots и \ddots:

Работа в системе LaTeX
$$ \begin{pmatrix} 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{pmatrix} $$
Команды \vdots и \ddots можно использовать не только в матрицах, но и в любом месте в математических формулах.



Наряду с матрицами, используемыми в выключных формулах, иногда приходится поместить небольшую матрицу и в формулу внутритекстовую. Естественно, и размеры символов, и интервалы между ними в такой матрице должны быть поскромнее. Для таких целей предназначено окружение smallmatrix (оно также становится доступным при подключении пакета amsmath). Вот пример его использования:

Работа в системе LaTeX
$[X,Y]=\bigl(\begin{smallmatrix}1 & 0\\0 & -1\end{smallmatrix}\bigr)$
Как вы могли заметить, скобки вокруг такой маленькой матрицы приходится ставить самостоятельно. Никаких вариантов с готовыми скобками у окружения smallmatrix нет.

Теперь, как мы и обещали, сообщим, какие возможности для набора матриц остаются, если не подключать дополнительных пакетов. В этом случае необходимо пользоваться LaTeX'овским окружением array. Вот как получить этими средствами пример со 73:

Работа в системе LaTeX
$$ \left(\begin{array}{ccc} a_{11}-\lambda & a_{12}&a_{13}\\ a_{21}& a_{22}-\lambda &a_{23}\\ a_{31}& a_{32}&a_{33}-\lambda \end{array}\right) $$
По сравнению с тем, что дает pmatrix, отличия следующие:

Скобки вокруг матрицы, набираемой с помощью окружения \array, всегда надо задавать самостоятельно.После \begin{array}, открывающего окружение, должна следовать (в фигурных скобках, поскольку это аргумент окружения array) так называемая преамбула матрицы, описывающая, сколько и каких столбцов должно быть в матрице. В нашем случае преамбула представляет собой три буквы ccc. Это значит, что в матрице 3 столбца (по букве на столбец), и что содержимое каждого из этих столбцов должно быть расположено по центру столбца c — от слова "centered". (Кроме c, в преамбуле может стоять буква l, означающая, что соответствующий столбец будет выровнен по левому краю (left), или r, означающая, что столбец будет выровнен по правому краю (right).)В остальном синтаксис такой же, как для окружения pmatrix и его аналогов. Команды \ldots, \vdots и \ddots по-прежнему можно использовать, а вот \hdotsfor — увы, нет.Аналога MaxMatrixCols для окружения array также нет (поскольку преамбула и так определяет точное число столбцов). Окружение smallmatrix в "чистом" LaTeX'е (без подключения дополнительных пакетов) также не предусмотрено.


Надстрочные знаки


Часто требуется поставить дополнительный значок над буквой или фрагментом формулы: черточку, "крышку", и т.п. В TeX'е для этих целей есть специальные команды.

Во-первых, можно поставить горизонтальную черту над любым фрагментом формулы с помощью команды \overline, как в следующем примере:

Работа в системе LaTeX
Часто используется обозначение $$ \overline{a_na_{n-1}\ldots a_1a_0}=10^na_n+\ldots+a_0. $$ Особенно часто так пишут в научно-популярных книгах.

Для постановки других значков над буквами в формулах предусмотрены команды, перечисленные в следующей таблице, в которой, для примера, эти значки ставятся над буквой

Работа в системе LaTeX
:

\hat a
Работа в системе LaTeX
\check a
Работа в системе LaTeX
\tilde a
Работа в системе LaTeX
\acute a
Работа в системе LaTeX
\grave a
Работа в системе LaTeX
\dot a
Работа в системе LaTeX
\ddot a
Работа в системе LaTeX
\breve a
Работа в системе LaTeX
\bar a
Работа в системе LaTeX
\vec a
Работа в системе LaTeX

Между прочим, команда \bar ставит не совсем такую же черточку, как \overline.

Если поставить значок над буквой

Работа в системе LaTeX
или
Работа в системе LaTeX
, так, чтобы сохранилась и точка над буквой, то это будет некрасиво. Поэтому значки следует ставить не прямо над этими буквами, а над символами
Работа в системе LaTeX
и
Работа в системе LaTeX
):

Работа в системе LaTeX
Писать $\tilde i$ некрасиво; лучше писать так: $\tilde\imath$.

Надстрочные знаки, перечисленные в таблице, можно ставить только над одиночными буквами: если сказать "\hat{a+b}", то получится некрасивая формула

Работа в системе LaTeX
; TeX предоставляет возможность поставить "крышку" подходящего размера над целым фрагментом формулы с помощью команды \widehat:

Работа в системе LaTeX
Тождество $\widehat{f*g}=\hat f\cdot\hat g$ означает, что преобразование Фурье переводит свертку в произведение.

Аналогичным образом можно поставить "волну" над фрагментом формулы с помощью команды \widetilde. В отличие от горизонтальной черты, генерируемой командой \overline, знаки, генерируемые командами \widehat и \widetilde, не могут быть сколь угодно широкими (максимально возможная ширина — в примере выше).

Кроме того, существует команда \overrightarrow, предназначенная для постановки стрелки над формулой:

Работа в системе LaTeX
Рассмотрим вектор $\overrightarrow{AB}$.

Аналогичная ей команда \overleftarrow ставит над формулой стрелку, направленную влево, а не вправо.


Остальные команды для постановки акцентов в формулах не имеют " широких" вариантов.

Формулы типа \hat{\hat A}, в которых акцент ставится над буквой, уже имеющей акцент, могут выглядеть неудачно. Если вам нужны такие "двойные акценты", подключите пакет \amsmath и пользуйтесь командами \Hat, \Check, \Tilde, \Acute, \Grave, \Dot, \Ddot, \Breve, \Bar и \Vec:

Работа в системе LaTeX
Правильно $\Hat{\Hat Z}$, а не $\hat{\hat Z}$.
(Для одиночных акцентов эти команды применять тоже можно.)

Впрочем, в последних версиях пакета amsmath команды типа \hat исправлены и действуют так же, как их аналоги с большой буквы.

Отметим, что TeX позволяет ставить надстрочные знаки над буквами не только в математической формуле, но и в обычном тексте (в этом случае такие знаки обычно называют "диакритическими"), но команды для постановки этих знаков совершенно другие. Об этом подробно в лекции 4.


Нумерация формул


В математических текстах обычно приходится для удобства ссылок нумеровать формулы; LaTeX позволяет организовать эту нумерацию таким образом, чтобы номера формул и ссылки на них генерировались автоматически . Нумеровать таким образом можно только выключные формулы. Делается это так.

Выключная формула, которую вы нумеруете, должна быть оформлена как окружение equation (знаков "$$" быть не должно!). Каждая такая формула на печати автоматически получит номер. Чтобы на него можно было ссылаться, надо формулу пометить: в любом месте между \begin{equation} и \end{equation} поставить команду \label, и после этого команда \ref будет генерировать номер формулы ; напомним, что может понадобиться повторный запуск LaTeX'a). Поясним сказанное примером:

Работа в системе LaTeX
Как известно, \begin{equation} \label{trivial} 7\times9=63. \end{equation} ......................... Из формулы~(\ref {trivial}) следует, что $63/9=7$.

Знак "~" мы поставили, чтобы номер формулы и слово " формулы" не попали на разные строки . Обратите внимание, что скобки вокруг номера формулы, сгенерированного командой \ref, автоматически не ставятся. Если вы подключили пакет \amsmath, то можете воспользоваться командой \eqref, единственным отличием которой от \ref является то, что она автоматически ставит скобки вокруг номера формулы.

Можно также использовать команду \pageref вместо \ref — тогда на печати получится не номер формулы, а номер страницы, на которую попала эта формула.

То, как именно выглядит на печати номер формулы, зависит от класса документа : например, в классе Tarticle (статья) формулы имеют сплошную нумерацию, а в классе book(книга) нумерация формул начинается заново в каждой лекции, и номер, скажем, формулы 5 из главы 3, генерируемый окружением equation, имеет вид (3.5). В лекции, посвященной модификации стандартных классов, мы расскажем, как можно самостоятельно менять вид номеров формул.

Кроме того, вы можете вообще не пользоваться автоматической генерацией номеров формул, а ставить их вручную.
Чтобы номер выглядел при этом красиво, удобно воспользоваться TeX'овской командой \eqno. Следующий пример показывает, как это делать:

Работа в системе LaTeX
Простое тождество $$ 7\times9=63\eqno (3.2) $$ известно каждому школьнику.
Выключная формула, нумеруемая с помощью команды \eqno, должна быть оформлена с помощью знаков $$; номером формулы будет служить весь текст, заключенный между \eqno и закрывающими формулу $$; этот текст обрабатывается TeX'ом так же, как математические формулы (стало быть, пробелы игнорируются, буквы печатаются "математическим курсивом", и т.п.). Можно также вместо \eqno сказать \leqno, тогда ваш номер формулы будет не справа, а слева.

Никаких автоматических ссылок на формулу, генерируемую командой \eqno или \leqno, TeX не создает, и в этом случае за корректность ссылок отвечаете только вы.


Одно над другим


В этом разделе речь пойдет о тех случаях, когда в формуле необходимо поместить один символ над другим. В разд."Операции с пределами и без" уже шла речь о частном случае этой проблемы: постановке " пределов" у знака суммы, интеграла или чего-нибудь еще в этом роде. Сейчас мы рассмотрим общий случай.



Операции, отношения и просто значки


Начнем с греческих букв. Имя команды, задающей строчную греческую букву, совпадает с английским названием этой буквы (например, буква

Работа в системе LaTeX
задается командой \alpha). Исключение составляет буква
Работа в системе LaTeX
(она называется "омикрон"): по начертанию она совпадает с курсивной латинской o, так что специальной команды для нее не предусмотрено, и для ее набора достаточно просто написать o в формуле. Некоторые греческие буквы имеют по два варианта начертаний; это также отражено в следующей ниже таблице.

Работа в системе LaTeX
\alpha
Работа в системе LaTeX
\beta
Работа в системе LaTeX
\gamma
Работа в системе LaTeX
\delta
Работа в системе LaTeX
\epsilon
Работа в системе LaTeX
\varepsilon
Работа в системе LaTeX
\zeta
Работа в системе LaTeX
\eta
Работа в системе LaTeX
\theta
Работа в системе LaTeX
\vartheta
Работа в системе LaTeX
\iota
Работа в системе LaTeX
\kappa
Работа в системе LaTeX
\lambda
Работа в системе LaTeX
\mu
Работа в системе LaTeX
\nu
Работа в системе LaTeX
\xi
Работа в системе LaTeX
\pi
Работа в системе LaTeX
\varpi
Работа в системе LaTeX
\rho
Работа в системе LaTeX
\varrho
Работа в системе LaTeX
\sigma
Работа в системе LaTeX
\varsigma
Работа в системе LaTeX
\tau
Работа в системе LaTeX
\upsilon
Работа в системе LaTeX
\phi
Работа в системе LaTeX
\varphi
Работа в системе LaTeX
\chi
Работа в системе LaTeX
\psi
Работа в системе LaTeX
\omega

Имя команды, задающей прописную греческую букву, пишется с прописной буквы (например, буква

Работа в системе LaTeX
задается командой Psi ). Некоторые прописные греческие буквы (" альфа", например) совпадают по начертанию с латинскими, и для них специальных команд нет — надо просто набрать соответствующую латинскую букву прямым шрифтом. Не надо использовать греческие буквы
Работа в системе LaTeX
и
Работа в системе LaTeX
из этой таблицы в качестве знаков суммы и произведения: для этих целей есть специальные команды, о которых пойдет речь дальше. Итак, вот прописные греческие буквы, не совпадающие по начертанию с латинскими:

Работа в системе LaTeX
\Gamma
Работа в системе LaTeX
\Delta
Работа в системе LaTeX
\Theta
Работа в системе LaTeX
\Lambda
Работа в системе LaTeX
\Xi
Работа в системе LaTeX
\Pi
Работа в системе LaTeX
\Sigma
Работа в системе LaTeX
\Upsilon
Работа в системе LaTeX
\Phi
Работа в системе LaTeX
\Psi
Работа в системе LaTeX
\Omega

Читатель мог заметить, что прописные греческие буквы печатаются, в отличие от строчных, прямым шрифтом. Если вам нужны наклонные прописные греческие буквы (вроде

Работа в системе LaTeX
), прочтите о том, как их получить, в разд."Смена шрифтов в формулах".

Следующая серия символов — символы, рассматриваемые TeX'ом как символы бинарных операций (наподобие знаков сложения, умножения и т.п.); TeX оставляет в формуле небольшие пробелы по обе стороны этих знаков, кроме случаев, когда есть основания считать, что эти знаки используются не для обозначения операций, а для других целей (если, например, стоят два плюса подряд, то дополнительного пробела между ними не будет). Итак, вот список символов бинарных операций:

Работа в системе LaTeX
+
Работа в системе LaTeX
-
Работа в системе LaTeX
*
Работа в системе LaTeX
\pm
Работа в системе LaTeX
\mp
Работа в системе LaTeX
\times
Работа в системе LaTeX
\div
Работа в системе LaTeX
\setminus
Работа в системе LaTeX
\cdot
Работа в системе LaTeX
\circ
Работа в системе LaTeX
\bullet
Работа в системе LaTeX
\cap
Работа в системе LaTeX
\cup
Работа в системе LaTeX
\uplus
Работа в системе LaTeX
\sqcap
Работа в системе LaTeX
\sqcup
Работа в системе LaTeX
\vee
Работа в системе LaTeX
\wedge
Работа в системе LaTeX
\oplus
Работа в системе LaTeX
\ominus
Работа в системе LaTeX
\otimes
Работа в системе LaTeX
\odot
Работа в системе LaTeX
\oslash
Работа в системе LaTeX
\triangleleft
Работа в системе LaTeX
\triangleright
Работа в системе LaTeX
\amalg
Работа в системе LaTeX
\diamond
Работа в системе LaTeX
\wr
Работа в системе LaTeX
\star
Работа в системе LaTeX
\dagger
Работа в системе LaTeX
\ddagger
Работа в системе LaTeX
\bigtriangleup
Работа в системе LaTeX
\bigcirc
Работа в системе LaTeX
\bigtriangledown
<
p> Обозначения для многих из выписанных знаков длинны и сложны. С этим неудобством борются следующим образом: если в вашем тексте часто встречается какое-то длинное обозначение для математического символа, имеет смысл определить для этого символа свою более удобную команду (например, btu вместо bigtriangleup). Как это сделать, рассказано в начале лекции 7; вы можете прочитать это уже сейчас.

В следующей таблице мы собрали символы "бинарных отношений". Вокруг них TeX также оставляет дополнительные пробелы (не такие, как вокруг символов бинарных операций). Вообще говоря, нет смысла много задумываться об этих пробелах, поскольку TeX оформляет математические формулы в достаточно разумном стиле; о тех случаях, когда размер пробелов в математических формулах приходится корректировать вручную, речь пойдет дальше в этой лекции.

Работа в системе LaTeX
<
Работа в системе LaTeX
>
Работа в системе LaTeX
=
Работа в системе LaTeX
:
Работа в системе LaTeX
\le
Работа в системе LaTeX
\ge
Работа в системе LaTeX
\ne
Работа в системе LaTeX
\sim
Работа в системе LaTeX
\simeq
Работа в системе LaTeX
\approx
Работа в системе LaTeX
\cong
Работа в системе LaTeX
\equiv
Работа в системе LaTeX
\ll
Работа в системе LaTeX
\gg
Работа в системе LaTeX
\doteq
Работа в системе LaTeX
\parallel
Работа в системе LaTeX
\perp
Работа в системе LaTeX
\in
Работа в системе LaTeX
\notin
Работа в системе LaTeX
\ni
Работа в системе LaTeX
\subset
Работа в системе LaTeX
\subseteq
Работа в системе LaTeX
\supset
Работа в системе LaTeX
\supseteq
Работа в системе LaTeX
\succ
Работа в системе LaTeX
\prec
Работа в системе LaTeX
\succeq
Работа в системе LaTeX
\preceq
Работа в системе LaTeX
\asymp
Работа в системе LaTeX
\sqsubseteq
Работа в системе LaTeX
\sqsupseteq
Работа в системе LaTeX
\models
Работа в системе LaTeX
\vdash
Работа в системе LaTeX
\dashv
Работа в системе LaTeX
\smile
Работа в системе LaTeX
\frown
Работа в системе LaTeX
\mid
Работа в системе LaTeX
\bowtie
Работа в системе LaTeX
\propto
Команда \mid в этой таблице определяет вертикальную черточку, рассматриваемую как знак бинарного отношения; ее не следует употреблять, если вертикальная черточка употребляется как аналог скобки (например, как знак абсолютной величины). Типичный случай, когда нужна команда mid — запись определения множеств:

Работа в системе LaTeX
$M=\{\,x\in A\mid x>0\,\}$
Если тут написать "|" вместо \mid, то пробелы вокруг вертикальной черты будут недостаточны. Команды \ нужны, чтобы сделать дополнительные маленькие пробелы возле фигурных скобок (подробнее см. разд. "Тонкая настройка ").

Стоит еще отметить, что при записи отображений нужно использовать не двоеточие, а команду \colon:

Работа в системе LaTeX
$f\colon X\to Y$
Если здесь задать двоеточие непосредственно, то вокруг него получатся слишком большие интервалы.

Если вы подключите стилевой пакет latexsym, то вам, кроме того, будут доступны следующие семь символов:

Работа в системе LaTeX
\lhd
Работа в системе LaTeX
\unlhd
Работа в системе LaTeX
\rhd
Работа в системе LaTeX
\unrhd
Работа в системе LaTeX
\sqsubset
Работа в системе LaTeX
\sqsupset
Работа в системе LaTeX
\Join
<


p> В следующей таблице собраны стрелки различных видов.

Работа в системе LaTeX
\to
Работа в системе LaTeX
\longrightarrow
Работа в системе LaTeX
\Rightarrow
Работа в системе LaTeX
\Longrightarrow
Работа в системе LaTeX
\hookrightarrow
Работа в системе LaTeX
\mapsto
Работа в системе LaTeX
\longmapsto
Работа в системе LaTeX
\leadsto
Работа в системе LaTeX
\gets
Работа в системе LaTeX
\longleftarrow
Работа в системе LaTeX
\Leftarrow
Работа в системе LaTeX
\Longleftarrow
Работа в системе LaTeX
\hookleftarrow
Работа в системе LaTeX
\leftrightarrow
Работа в системе LaTeX
\longleftrightarrow
Работа в системе LaTeX
\Leftrightarrow
Работа в системе LaTeX
\Longleftrightarrow
Работа в системе LaTeX
\uparrow
Работа в системе LaTeX
\Uparrow
Работа в системе LaTeX
\downarrow
Работа в системе LaTeX
\Downarrow
Работа в системе LaTeX
\updownarrow
Работа в системе LaTeX
\Updownarrow
Работа в системе LaTeX
\nearrow
Работа в системе LaTeX
\searrow
Работа в системе LaTeX
\swarrow
Работа в системе LaTeX
\nwarrow
Работа в системе LaTeX
\leftharpoondown
Работа в системе LaTeX
\leftharpoonup
Работа в системе LaTeX
\rightharpoonup
Работа в системе LaTeX
\rightharpoondown
Работа в системе LaTeX
\rightleftharpoons
При подключении стилевого пакета latexsym будет также доступна стрелка
Работа в системе LaTeX
(она задается командой \leadsto).

Из привычных российскому читателю символов в вышеприведенных таблицах нет знаков
Работа в системе LaTeX
и
Работа в системе LaTeX
, выглядящих гораздо лучше, чем
Работа в системе LaTeX
и
Работа в системе LaTeX
; кроме того, греческая буква " каппа" лучше смотрится в виде
Работа в системе LaTeX
, чем в виде
Работа в системе LaTeX
(\kappa). Эти символы становятся доступными, если подключить стилевой пакет amssymb. При условии, что это сделано, можно задавать в математических формулах букву
Работа в системе LaTeX
командой \varkappa, а символы
Работа в системе LaTeX
и
Работа в системе LaTeX
— командами \leqslant и \geqslant.


Операции с пределами и без


В следующей таблице собраны названия функций — команды для воспроизведения названий математических операций наподобие

Работа в системе LaTeX
,
Работа в системе LaTeX
и т.п., обозначаемых последовательностью букв, набираемых прямым шрифтом. Любую из этих операций можно снабдить верхним и/или нижним индексом .

Работа в системе LaTeX
\log
Работа в системе LaTeX
\lg
Работа в системе LaTeX
\ln
Работа в системе LaTeX
\arg
Работа в системе LaTeX
\ker
Работа в системе LaTeX
\dim
Работа в системе LaTeX
\hom
Работа в системе LaTeX
\deg
Работа в системе LaTeX
\exp
Работа в системе LaTeX
\sin
Работа в системе LaTeX
\arcsin
Работа в системе LaTeX
\cos
Работа в системе LaTeX
\arccos
Работа в системе LaTeX
\tan
Работа в системе LaTeX
\arctan
Работа в системе LaTeX
\cot
Работа в системе LaTeX
\sec
Работа в системе LaTeX
\csc
Работа в системе LaTeX
\sinh
Работа в системе LaTeX
\cosh
Работа в системе LaTeX
\tanh
Работа в системе LaTeX
\coth

В этой таблице обозначения

Работа в системе LaTeX
,
Работа в системе LaTeX
и т.д. — не что иное, как принятые в англоязычной литературе обозначения для тангенса, арктангенса и т.д. В отечественной литературе, однако же, принято обозначать
Работа в системе LaTeX
,
Работа в системе LaTeX
и т.д. Так как в стандартном комплекте TeX'а или LaTeX'а команд для этого нет, их приходится, при необходимости, определять самому. Это просто: надо подключить пакет amsmath, после чего добавить в преамбулу такую строчку:

\DeclareMathOperator{\tg}{tg}

В первом аргументе команды \DeclareMathOperator ставится придуманное вами имя команды (незанятое, естественно), во втором — то, что вы хотите получить на печати. Содержимое второго аргумента будет обработано, как математическая формула, но при этом символы - (дефис), * и ' будут иметь такое же значение, как в обычном тексте (это удобно, если вы хотите, чтобы имя вашего нового оператора включало тот же дефис). Разумеется, \DeclareMathOperator должно следовать в преамбуле документа после \usepackage{amsmath}.

Если не подключать amsmath, то собственную функцию, например tangens, определить также можно. Для этого достаточно написать в преамбуле документа \newcommand{\tg}{\mathop{\mathrm{tg}}\nolimits} После этого команда \tg будет создавать в математической формуле запись

Работа в системе LaTeX
с правильными пробелами вокруг нее. Другие команды такого типа определяются аналогично, надо только вместо tg написать то название функции (скажем, arctg), которое должно появиться на печати.

В частности, так приходится делать, чтобы определить команды \Re и \Im для обозначения вещественной и мнимой части комплексного числа; в LaTeX'е такие команды есть, но на печати они дают не

Работа в системе LaTeX
и
Работа в системе LaTeX
, а
Работа в системе LaTeX
и
Работа в системе LaTeX
, что не принято в России (да и на Западе не очень принято).
При этом, поскольку обозначения \Re и \ Im уже заняты, приходится говорить \renewcommand вместо \newcommand:

\renewcommand{\Im}{\mathop{\mathrm{Im}}\nolimits} Даже при подключенном пакете \amsmath команда \DeclareMathOperator в этом месте не сработает, т.к. уже существующие команды она не переопределяет.

Описанный выше способ определения команд для функций является частным случаем существующей в LaTeX'е конструкции для (пере)определения новых команд (см. лекцию 7).

Еще один символ, который принято набирать прямым шрифтом, — это символ
Работа в системе LaTeX
, используемый в записи "сравнений по модулю". Обычно он употребляется не сам по себе, а в сочетании со знаком
Работа в системе LaTeX
(см. пример ниже); в этом случае для записи сравнения удобна команда \pmod, которой пользуются так:

Работа в системе LaTeX
Легко видеть, что $23^{1993}\equiv 1\pmod{11}$
Обратите внимание, что скобки вокруг
Работа в системе LaTeX
получаются автоматически; правая часть сравнения — весь текст, заключенный между \equiv и \pmod.

Если подключить пакет amsmath , то станут доступны команды \mod и \pod, обозначающие то же понятие, что \mod, другими способами:

Работа в системе LaTeX


Работа в системе LaTeX


$a^{p-1}\equiv 1\mod p$

$a^{p-1}\equiv 1\pod p$

Иногда символ
Работа в системе LaTeX
используется и как символ бинарной операции, например, так:

Работа в системе LaTeX
$f_*(x)=f(x)\bmod G$
Как видно из примера, в этом случае надо писать \bmod.

Теперь обсудим, как можно было бы получить, скажем, формулу

Работа в системе LaTeX
c дополнительными элементами над и под знаком операции. В данной формуле эти элементы называются "пределы суммирования", поэтому в TeX-нической терминологии записи над и под знаком операции принято называть "пределами" (по-английски limits). В исходном тексте "пределы" обозначаются точно так же, как индексы; имея в виду, что знак суммы генерируется командой \sum, заключаем, что вышеназванную формулу можно получить так:

Работа в системе LaTeX
В этом примере существенно, что формула была выключной; во внутритекстовой формуле "пределы" печатаются на тех же местах, что и индексы:

Работа в системе LaTeX
Тот факт, что $\sum_{i=1}^n (2n-1)=n^2$ следует из формулы для суммы арифметической прогрессии.
(можно добиться, чтобы пределы и во внутритекстовой формуле были сверху и снизу — см.


ниже). Вот список операций, ведущих себя так же, как \sum:

Работа в системе LaTeX
\sum
Работа в системе LaTeX
\prod
Работа в системе LaTeX
\bigcup
Работа в системе LaTeX
\bigcap
Работа в системе LaTeX
\coprod
Работа в системе LaTeX
\bigoplus
Работа в системе LaTeX
\bigotimes
Работа в системе LaTeX
\bigodot
Работа в системе LaTeX
\bigvee
Работа в системе LaTeX
\bigwedge
Работа в системе LaTeX
\biguplus
Работа в системе LaTeX
\bigsqcup
Работа в системе LaTeX
\lim
Работа в системе LaTeX
\limsup
Работа в системе LaTeX
\liminf
Работа в системе LaTeX
\max
Работа в системе LaTeX
\min
Работа в системе LaTeX
\sup
Работа в системе LaTeX
\inf
Работа в системе LaTeX
\det
Работа в системе LaTeX
\Pr
Работа в системе LaTeX
\gcd
Если подключить пакет amsmath, то будут доступны еще шесть операций такого типа:

Работа в системе LaTeX
\varlimsup
Работа в системе LaTeX
\varliminf
Работа в системе LaTeX
\injlim
Работа в системе LaTeX
\projlim
Работа в системе LaTeX
\varinjlim
Работа в системе LaTeX
\varprojlim
Примеры:

Работа в системе LaTeX


Работа в системе LaTeX


$\varlimsup_{n\to\infty} a_n=\inf_n\sup_{m\ge n}a_m$

$\mathcal F_x= \varinjlim_{U\ni x}\mathcal F(U)$

(см. далее по поводу \mathcal).

Кроме того, пакет amsmath предоставляет возможность определить и собственную команду "с пределами". Для этого надо воспользоваться командой \DeclareMathOperator*; синтаксис этой команды такой же, как у команды \DeclareMathOperator , но при "операторе", определенном такой командой, " пределы" будут ставиться так же, как при
Работа в системе LaTeX
.

Еще одна "математическая операция", для которой требуются " пределы", — это интеграл. В LaTeX'е есть команды \int для обычного знака интеграла
Работа в системе LaTeX
и \oint для знака "контурного интеграла"
Работа в системе LaTeX
; если подключить пакет amsmath, то станут доступны также команды \iint, \iiint и \iiiint для двойного, тройного и " четверного" интегралов (если просто написать несколько команд \int подряд, то между знаками интеграла получатся слишком большие пробелы).

При этом, для экономии места, пределы интегрирования помещаются не сверху и снизу от знаков интеграла, а по бокам (даже и в выключных формулах):

Работа в системе LaTeX
$$ \int_0^1x^2 dx=1/3 $$
Если, тем не менее, необходимо, чтобы пределы интегрирования стояли над и под знаком интеграла, то надо непосредственно после \int записать команду \limits, а уже после нее — обозначения для пределов интегрирования:

Работа в системе LaTeX
$$ \int\limits_0^1 x^2 dx=1/3 $$
Тот же прием с командой \limits можно применить, если хочется, чтобы во внутритекстовой формуле "пределы" у оператора стояли над и под ним, а не сбоку.

Если, с другой стороны, надо, чтобы в выключной формуле " пределы" у какого-либо оператора стояли не над и под знаком оператора, а сбоку, то после команды для знака оператора надо записать команду \nolimits, а уже после нее — обозначения для "пределов"

Работа в системе LaTeX
$$ \prod\nolimits_{i=1}^ni=n! $$


Перечеркнутые символы


Чтобы получить в математической формуле изображение перечеркнутого символа, надо перед командой, генерирующей этот символ, поставить команду \not. Пример:

Работа в системе LaTeX
Множество $\{x\mid x\not\ni x\}$ существовать не может. В этом состоит парадокс Рассела.

Кстати, для получения знака

Работа в системе LaTeX
лучше не писать "\not\in", а воспользоваться командой \notin — при этом знак получится более красивым. Если подключен пакет amssymb, то можно также вместо команды \not пользоваться готовыми командами для перечеркнутых символов .



Переносы в формулах


При необходимости TeX может перенести часть внутритекстовой формулы на другую строчку. Такие переносы возможны после знаков "бинарных отношений", наподобие знака равенства1) или "бинарных операций", наподобие знаков сложения или умножения , причем последний знак в строке, вопреки российской традиции, не дублируется в начале следующей. Чтобы избежать этих переносов, можно воспользоваться тем обстоятельством, что TeX не разрывает при переносе часть формулы, заключенную в фигурные скобки. В частности, можно заключить в фигурные скобки всю формулу, в которой произошел нежелательный перенос, от открывающего ее знака доллара до закрывающего: после этого можно быть уверенным, что переноса этой формулы ни при каких обстоятельствах не произойдет.

Вышеописанный способ борьбы с неудачными переносами в формулах имеет один недостаток: при этом затрудняется верстка абзацев и возрастает вероятность появления неприятных сообщений "Overfull \hbox"(см. разд."Абзацы" лекция 3 ).

Более гибкий способ борьбы с переносами в формулах — записать в преамбуле файла строку

\binoppenalty=10000"

и/или строку

relpenalty=10000

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

Для любознательных поясним, что \binoppenalty и \relpenalty — параметры (TeX'овские), значением которых может быть целое число . Эти параметры определяют степень нежелательности разрыва строки после символов бинарной операции и бинарного отношения соответственно (чем больше значение соответствующего параметра, тем менее желателен разрыв строки). По умолчанию значение \binoppenalty равно

Работа в системе LaTeX
, а значение \relpenalty равно
Работа в системе LaTeX
. Можно присвоить им в преамбуле большие значения, тогда вероятность разрывов уменьшится. Значение 10000 означает абсолютный запрет.

При заключении всей формулы в фигурные скобки верстка абзацев затрудняется, поскольку TeX лишается возможности варьировать в ней интервалы между символами для выравнивания строк (см.
разд."Абзацы"лекция 3 ).

Наконец, существует способ дублировать знаки операций, который мы приведем безо всяких пояснений. Включив

\newcommand*{\hm}[1]{#1\nobreak\discretionary{}% {\hbox{\mathsurround=0pt #1}}{}}в преамбулу, можно написать $a\hm+b\hm+c\hm+d$, при этом в формуле

Работа в системе LaTeX
при переносе знак
Работа в системе LaTeX
будет продублирован.

Выключные формулы, в отличие от внутритекстовых, TeX никогда не переносит. Если выключная формула не помещается в строку, то при трансляции вы получите сообщение "Overfull \hbox" (в разд. "Абзацы"лекция 3 подробно рассказано, в каких еще ситуациях выдается такое сообщение), и вам придется разбить формулу на строки вручную. Как это делать, мы объясним в разд. "Многострочные и выключные формулы".


Пробелы вручную


Бывают случаи, когда промежутки между символами в формулах, выбранные TeX'ом автоматически, выглядят неудачно. В этом случае в формулу можно включить команды, задающие промежутки в явном виде. Вот основные из них:

Работа в системе LaTeX

Команда \! из этой таблицы уменьшает промежуток на столько же, на сколько команда \, его увеличивает.

В следующем примере собраны типичные случаи, когда в этих командах возникает нужда.

Работа в системе LaTeX
$$ Пробелы надо корректировать в таких формулах, как $\int f(x)\,dx$, $\int\!\!\int f\,dx\,dy$ или $\sqrt{3}\,x$. $$

Команда \qquad полезна для отделения текста, входящего в формулу, от собственно формулы. Для этих же целей можно использовать команду \quad, делающую пробел размером {1em}. Вместо \int\!\!\int лучше, конечно, подключить пакет amsmath и сказать \iint.



Простейшие случаи


Для начала рассмотрим такие возможности расположения одной части формулы над другой:

Верхняя часть формулы расположена немного выше строки, нижняя — немного ниже (как в дроби, создаваемой командой \frac, но, возможно, без дробной черты).Нижняя часть формулы расположена вровень с остальным текстом, верхняя — над ним.Над или под фрагментом формулы проведена горизонтальная фигурная скобка, а над или под этой скобкой расположен другой фрагмент формулы.

Разберем эти варианты последовательно.

Начнем с одного дополнения по поводу описанной в первой лекции команды \frac, задающей дроби. Если дробь, заданная с помощью команды \frac, встречается во внутритекстовой формуле, то ее числитель и знаменатель печатаются довольно мелким шрифтом, что не всегда приемлемо. Чтобы этого избежать, можно, подключив пакет amsmath, воспользоваться командой \dfrac: тогда шрифт будет более крупным. Если дробь во внутритекстовой формуле входит в показатель степени или индекс, то иногда имеет смысл задавать ее с помощью команды \tfrac (опять-таки чтобы шрифт был не слишком мелким; эта команда также доступна при подключении amsmath). Вот примеры:

Работа в системе LaTeX
и
Работа в системе LaTeX

Работа в системе LaTeX

$\frac23$ и $\dfrac23$ $2^{\frac35}$ и $2^{\tfrac35}$

Теперь о том, как расположить части формулы "так же, как в дроби ", но без дробной черты. Для этого есть два (к сожалению, взаимоисключающих) способа: с подключением пакета amsmath и без этого пакета.

Если у вас подключен пакет amsmath, можно добиться требуемого эффекта с помощью ограничителей и окружения smallmatrix:

Работа в системе LaTeX
Раньше вместо $\Gamma^k_{ij}$ писали $\left\{ \begin{smallmatrix}ij\\k \end{smallmatrix}\right\}$.

Конечно, если таких формул у вас в тексте много, пользоваться столь длинными обозначениями немыслимо: нужно на базе smallmatrix разработать сокращенное обозначение (прочтите в лекции 7, как определять " макросы с параметрами").

Для наиболее часто встречающегося случая "биномиальных коэффициентов", когда ограничителями являются обычные круглые скобки, в пакете amsmath предусмотрена специальная команда \binom, работающая аналогично \frac:

Работа в системе LaTeX
$\binom{12}7=792$
<
p>У команды \binom есть также аналоги \dbinom и \tbinom, относящиеся к ней так же, как \dfrac и \tfrac относятся к \frac.

В пакете amsmath предусмотрена также конструкция " обобщенной дроби", предназначенная для создания команд, аналогичных \frac и \binom. По определению, обобщенная дробь — это фрагмент формулы, устроенный так: левый ограничитель, затем дробь (толщина дробной черты может быть произвольной, в том числе нулевой), затем правый ограничитель. Напомним, что ограничители — это скобки и им подобные символы, способные автоматически менять размер; в обобщенной дроби ограничители могут и отсутствовать (так что обычная дробь — действительно частный случай обобщенной). Для набора обобщенной дроби предусмотрена команда \genfrac с шестью аргументами. Чтобы понять, как она работает, посмотрим на пример:

Работа в системе LaTeX
Формула $\genfrac{(}{]}{1pt}{0}{x}{y-z}$ лишена всякого смысла.
Первый и второй аргументы команды \genfrac — это левый и правый ограничители соответственно; третий аргумент — толщина дробной черты (если толщина нулевая, то дробная черта не печатается); четвертый аргумент содержит указания по поводу размера шрифта для числителя и знаменателя: если оставить его пустым, написав просто "{}" вместо "{0}", то TeX выберет размер самостоятельно; цифра 0 означает, что размер символов будет таким же, как при пользовании командой \dfrac , цифра 1 — размер, как при пользовании командой \tfrac (он же textstyle), цифры 2 и 3 задают еще более мелкие размеры; наконец, пятый и шестой аргументы — это собственно числитель и знаменатель.

Если оставить третий аргумент пустым, написав просто "{}" вместо фигурных скобок, в которых записана толщина, то будет выбрана толщина дробной черты по умолчанию (она равна 0.4 пункта). Если оставить первый и второй аргумент пустыми, то ограничителей не будет (если, однако, левый ограничитель указан, то должен быть указан и правый). Например, "\dfrac{x}{y}" - это то же самое, что

\genfrac{}{}{}{0}{x}{y} В частности, наш пример с символом Кристоффеля можно записать как
Работа в системе LaTeX




Конечно, команда \ genfrac хороша не сама по себе, а как сырье для определения макросов, приспособленных к вашим конкретным нуждам.

Теперь о том, как быть, если вы не подключаете пакет amsmath. В этом случае удобно воспользоваться TeX'овской командой \atop:

Работа в системе LaTeX
Раньше вместо $\Gamma^k_{ij}$ писали $\left\{ij\atop k\right\}$.
В данном случае мы воспользовались еще командами \left и \right для постановки фигурных скобок необходимого размера.

Для биномиальных коэффициентов есть TeX'овская команда \choose\,

Работа в системе LaTeX
$$ {n\choose k}=\frac{n!}{k!(n-k)!} $$
Обратите внимание на фигурные скобки, в которые мы заключили выражение "n\choose k": команда \choose помещает сверху часть формулы от открывающей фигурной скобки до \choose,а снизу — часть формулы от \choose до закрывающей фигурной скобки. Если бы этих фигурных скобок не было, вниз пошла бы и вся дробь
Работа в системе LaTeX
вместе со знаком равенства.

Команда \atop определяет, что пойдет вверх, а что — вниз, по тем же правилам, что и \choose . В примере выше с \atop мы обошлись без фигурных скобок, поскольку в математической формуле их функцию исполняют также команды \left и \right .

При подключенном пакете amsmath командами \atop и \choose пользоваться нельзя.

Интересный случай использования дробей — так называемые " цепные дроби"

Работа в системе LaTeX
Наивная попытка набрать эту формулу выглядит так:

Работа в системе LaTeX
$$ \frac{7}{25}= \frac{1}{ 3+\frac{1}{ 1+\frac{1}{ 1+\frac{1}{3}}}} $$
Результат смотрится не лучшим образом. В разд."Тонкая настройка" объясняется, почему все получилось так плохо и как исправить это положение "вручную", но на практике лучше всего подключить пакет amsmath и сделать так:

Работа в системе LaTeX
$$ \frac{7}{25}= \cfrac{1}{ 3+\cfrac{1}{ 1+\cfrac{1}{ 1+\cfrac{1}{3}}}} $$
Если вы хотите, чтоб какой-то из числителей в цепной дроби был не центрирован, а выключен влево или вправо, надо вместо \cfrac сказать \cfrac[l] или \cfrac[r] соответственно.

Еще один случай, когда надо напечатать две формулы одинакого размера одну под другой, встречается, когда выражение для индексов суммирования занимает несколько строчек.


В этом случае надо, подключив пакет amsmath, воспользоваться командой \substack:

Работа в системе LaTeX
$$ \sum_{\substack{i\in[0;n]\\ j\in[0;m]}} a_{ij} $$
В единственном аргументе команды \substack записываются формулы, которые должны быть под знаком суммы (или произведения, или любой другой "операции с пределами"); строчки разделяются знаком |\\| (как и в окружениях, предназначенных для набора матриц).

Рассмотрим случай, когда нижняя часть формулы должна остаться на уровне строки. Чтобы добиться этого эффекта, используется LaTeX'овская команда \stackrel. У этой команды два аргумента: первый — то, что будет над строкой, второй — то, что останется в строке:

Работа в системе LaTeX
$A\stackrel{f}{\longrightarrow}B$
Если текст, который надо написать над стрелкой, длинный, прием со \stackrel даст неудовлетворительные результаты. В этом случае надо, подключив пакет amsmath, воспользоваться командами \xleftarrow и \xrightarrow, специально предназначенными для нанесения надписей над и под стрелками. В обязательном аргументе этих команд ставится надпись над стрелкой, в необязательном — под стрелкой (необязательный аргумент, если он есть, ставится перед обязательным). Если надпись длинная, размер стрелки автоматически увеличивается:

Работа в системе LaTeX
$$ A\xleftarrow[z]{f}B \xrightarrow{f+g-h}C $$
Наконец, чтобы нарисовать горизонтальную фигурную скобку под выражением (а под этой скобкой еще, возможно, и сделать подпись), надо воспользоваться командой \underbrace. Аргумент этой команды — тот фрагмент формулы, под которым надо провести скобку; подпись под скобкой, если она нужна, оформляется как нижний индекс. Например, такая формула

Работа в системе LaTeX
получается следующим образом:

$$ \underbrace{1+3+5+7+ \ldots+(2n-1)}_{\mbox{$n$ слагаемых}}=n^2 $$ Если у вас подключен пакет amsmath, разумно воспользоваться командой \text вместо \mbox.

Горизонтальная фигурная скобка над фрагментом формулы генерируется командой \overbrace, надпись над ней оформляется как верхний индекс. В одной формуле могут присутствовать горизонтальные фигурные скобки как над, так и под фрагментом формулы:

Работа в системе LaTeX
$$ \overbrace{\underbrace{ a+b+\ldots+z }_{26}+1+ \ldots+10}^{36} $$
} В нашем примере нижняя горизонтальная скобка была расположена целиком внутри верхней горизонтальной скобки. Можно сделать и так, чтобы верхняя и нижняя горизонтальные скобки не содержали одна другую, а перекрывались, но для этого нужны дополнительные хитрости


Размер символов в формулах


В большинстве случаев вам не приходится задумываться о том, какой размер будут иметь символы в формуле: TeX автоматически выбирает более мелкий шрифт для степеней, индексов, числителей и знаменателей дробей, созданных командой \frac, и т.п. Бывают, однако, случаи, когда в этот процесс автоматического выбора размера приходится вмешаться. Сейчас мы вкратце опишем, как TeX выбирает размеры символов в формулах и как можно на него при этом влиять.

При наборе формулы TeX в каждый момент руководствуется одним из следующих "стилей":

displaystyle " выключной" стиль
textstyle" текстовый" стиль
scriptstyle стиль для индексов
scriptscriptstyle стиль для индексов к индексам.

" Выключной" и "текстовый" стили используют одинаковые шрифты, но формулы в текстовом стиле выглядят чуть скромнее (например, в выключном стиле верхние индексы поднимаются повыше, а нижние опускаются пониже, чем в текстовом; в текстовом стиле " пределы" операций записываются не сверху, а сбоку —. В стиле для индексов используются более мелкие шрифты, чем в выключном или текстовом (а в стиле для индексов к индексам — еще более мелкие). Выбираются стили набора формул следующим образом: выключная формула начинает набираться в выключном стиле, внутритекстовая — в текстовом стиле; далее, если в момент действия какого-то из стилей встретится команда \frac (или \atop), то для набора числителя и знаменателя TeX переключается на следующий по порядку стиль из вышеприведенной таблицы; если в момент действия выключного или текстового стиля встретится верхний или нижний индекс (показатель степени мы также рассматриваем как верхний индекс — в математическое содержание формул TeX не вникает), то этот индекс начинает набираться стилем для индексов; если индекс встретится в момент действия стиля для индексов или индексов к индексам, то набираться он будет в стиле "индексы к индексам". Например, при наборе формулы

Работа в системе LaTeX
TeX использует выключной стиль при наборе
Работа в системе LaTeX
, текстовый стиль при наборе
Работа в системе LaTeX
и
Работа в системе LaTeX
, стиль для индексов при наборе
Работа в системе LaTeX
и двойки в показателе степени, и стиль для индексов к индексам при наборе семерок в показателях степени.
Стиля {scriptscriptscriptstyle} и дальнейших не предусмотрено, так что индексы третьего и более высоких порядков набираются теми же шрифтами, что и индексы второго порядка (расстраиваться по этому поводу не надо, поскольку эти шрифты и так мелкие).

Если вы хотите изменить стиль набора формулы, можно в явном виде указать его с помощью TeX'овской команды, имя которой совпадает с английским названием этого стиля (\displaystyle... \scriptscriptstyle)). Вот типичный пример, когда это может понадобиться. Предположим, в вашем тексте встречаются "цепные дроби". На стр.79 показано, какой неудачный результат выйдет, если набирать цепную дробь наивным образом. Теперь мы видим, что этот результат формально полностью согласуется с правилами TeX'а: вся формула, коль скоро она выключная, набирается в выключном стиле, стало быть числитель и первый из знаменателей будут уже в текстовом стиле, следующий знаменатель — как индексы, следующий — как индексы к индексам, и т.д. Если нет возможности воспользоваться командой \cfrac из пакета amsmath, то надо набирать так:

$$ \frac{7}{25}= \frac{1}{\displaystyle 3+\frac{1}{\displaystyle 1+\frac{1}{\displaystyle 1+\frac{1}{3}}}} $$
Работа в системе LaTeX
Каждая из трех команд \displaystyle необходима для того, чтобы каждая из последующих дробей набиралась в выключном стиле, невзирая на то, что она стоит в знаменателе.


Разное


Мы уже перечислили почти все символы, используемые LaTeX'ом в математических формулах (кроме большого количества тех, доступ к которым открывается при подключении пакета amssymb — см. разд. "Символы из пакета amssymb "ниже. Остались скобки различных видов (им будет посвящен специальный разд. "Скобки переменного размера"), а также ряд значков (среди них есть и часто встречающиеся), не входящих ни в какой из разделов нашей классификации. Они собраны в следующей таблице.

Работа в системе LaTeX
\partial
Работа в системе LaTeX
\triangle
Работа в системе LaTeX
\angle
Работа в системе LaTeX
\infty
Работа в системе LaTeX
\forall
Работа в системе LaTeX
\exists
Работа в системе LaTeX
\emptyset
Работа в системе LaTeX
\neg
Работа в системе LaTeX
\aleph
Работа в системе LaTeX
\prime
Работа в системе LaTeX
\hbar
Работа в системе LaTeX
\nabla
Работа в системе LaTeX
\imath
Работа в системе LaTeX
\jmath
Работа в системе LaTeX
\ell
Работа в системе LaTeX
\surd
Работа в системе LaTeX
\flat
Работа в системе LaTeX
\sharp
Работа в системе LaTeX
\natural
Работа в системе LaTeX
\top
Работа в системе LaTeX
\bot
Работа в системе LaTeX
\wp
Работа в системе LaTeX
\Re
Работа в системе LaTeX
\Im
Работа в системе LaTeX
\backslash
Работа в системе LaTeX
\|
Работа в системе LaTeX
\spadesuit
Работа в системе LaTeX
\clubsuit
Работа в системе LaTeX
\diamondsuit
Работа в системе LaTeX
\heartsuit
Работа в системе LaTeX
\dag
Работа в системе LaTeX
\S
Работа в системе LaTeX
\copyright
Работа в системе LaTeX
\ddag
Работа в системе LaTeX
\P
Работа в системе LaTeX
\pounds

Последние шесть символов (от \dag до \pounds) можно использовать не только в формулах, но и в тексте.

Если подключить стилевой пакет latexsym, то будут также доступны следующие команды:

Работа в системе LaTeX
\mho
Работа в системе LaTeX
\Box
Работа в системе LaTeX
\Diamond

Символ

Работа в системе LaTeX
(\emptyset) - это, конечно, обозначение для пустого множества. В отечественной литературе более принято другое начертание для этого символа:
Работа в системе LaTeX
. Символ пустого множества в этом начертании задается командой \varnothing, доступной при подключении стилевого пакета amssymb.

Не следует смешивать команды \parallel и \|. На печати они дадут один и тот же значок

Работа в системе LaTeX
, но с разными пробелами (полиграфист бы сказал "отбивками" вокруг него. Команда \parallel нужна для обозначения бинарного отношения "параллельность", в то время как \|- это один из видов скобок:

Работа в системе LaTeX
В школьных учебниках геометрии встречаются такие формулы, как $AB\parallel CD$. В университетских учебниках анализа часто пишут, что $\|A\|=\sup(|Ax|/|x|)$.

Символы, обозначаемые командами \imath и \jmath, нужны для постановки дополнительных значков над буквами

Работа в системе LaTeX
и
Работа в системе LaTeX
(об этом пойдет речь в разд."Надстрочные знаки").

Команды \nabla и \bigtriangledown задают разные символы, и их не надо путать. Обратите также внимание на символ, задаваемый командой \prime.
Это — тот самый штрих, который используется в качестве верхнего индекса, если после символа в формуле поставить знак "'" ; на самом деле записи "x'" и "x^" практически равносильны.

Приведем еще таблицу синонимов. В ней представлены математические символы, которые можно набирать двумя различными способами:

Работа в системе LaTeX
* или \ast
Работа в системе LaTeX
\ne или \neq
Работа в системе LaTeX
\le или \leq
Работа в системе LaTeX
\ge или \geq
Работа в системе LaTeX
[ или \lbrack
Работа в системе LaTeX
] или \rbrack
Работа в системе LaTeX
\{ или \lbrace
Работа в системе LaTeX
\} или \rbrace
Работа в системе LaTeX
\to или \rightarrow
Работа в системе LaTeX
\gets или \leftarrow
Работа в системе LaTeX
\ni или \owns
Работа в системе LaTeX
\wedge или \land
Работа в системе LaTeX
\vee или \lor
Работа в системе LaTeX
\neg или \lnot
Работа в системе LaTeX
\Vert или \|


Символы из пакета amssymb


Математических знаков в стандартном LaTeX'овском наборе очень много, но порой и их не хватает. Если вы подключите пакет amssymb, то сможете воспользоваться дополнительными математическими знаками, разработанными Американским математическим обществом (сокращенно AMS — American Mathematical Society). Этих знаков более полутора сотен; мы опять разобьем их на группы.

Начнем с бинарных операций. Стилевой пакет amssymb дает возможность воспользоваться такими символами, относящимися к этой категории:

Работа в системе LaTeX
\boxdot
Работа в системе LaTeX
\centerdot
Работа в системе LaTeX
\barwedge
Работа в системе LaTeX
\Cap
Работа в системе LaTeX
\leftthreetimes
Работа в системе LaTeX
\intercal
Работа в системе LaTeX
\circleddash
Работа в системе LaTeX
\gtrdot
Работа в системе LaTeX
\smallsetminus
Работа в системе LaTeX
\boxplus
Работа в системе LaTeX
\boxminus
Работа в системе LaTeX
\doublebarwedge
Работа в системе LaTeX
\rightthreetimes
Работа в системе LaTeX
\circledcirc
Работа в системе LaTeX
\divideontimes
Работа в системе LaTeX
\ltimes
Работа в системе LaTeX
\boxtimes
Работа в системе LaTeX
\veebar
Работа в системе LaTeX
\Cup
Работа в системе LaTeX
\curlyvee
Работа в системе LaTeX
\dotplus
Работа в системе LaTeX
\circledast
Работа в системе LaTeX
\lessdot
Работа в системе LaTeX
\rtimes

Следующим по очереди идет огромное количество бинарных отношений:

Работа в системе LaTeX
\rightleftharpoons
Работа в системе LaTeX
\leftrightharpoons
Работа в системе LaTeX
\Vdash
Работа в системе LaTeX
\Vvdash
Работа в системе LaTeX
\vDash
Работа в системе LaTeX
\upharpoonright
Работа в системе LaTeX
\downharpoonright
Работа в системе LaTeX
\upharpoonleft
Работа в системе LaTeX
\downharpoonleft
Работа в системе LaTeX
\Lsh
Работа в системе LaTeX
\Rsh
Работа в системе LaTeX
\circeq
Работа в системе LaTeX
\succsim
Работа в системе LaTeX
\gtrsim
Работа в системе LaTeX
\gtrapprox
Работа в системе LaTeX
\multimap
Работа в системе LaTeX
\therefore
Работа в системе LaTeX
\because
Работа в системе LaTeX
\doteqdot
Работа в системе LaTeX
\triangleq
Работа в системе LaTeX
\precsim
Работа в системе LaTeX
\lesssim
Работа в системе LaTeX
\lessapprox
Работа в системе LaTeX
\eqslantless
Работа в системе LaTeX
\eqslantgtr
Работа в системе LaTeX
\curlyeqprec
Работа в системе LaTeX
\curlyeqsucc
Работа в системе LaTeX
\preccurlyeq
Работа в системе LaTeX
\leqq
Работа в системе LaTeX
\leqslant
Работа в системе LaTeX
\lessgtr
Работа в системе LaTeX
\risingdotseq
Работа в системе LaTeX
\fallingdotseq
Работа в системе LaTeX
\succcurlyeq
Работа в системе LaTeX
\geqq
Работа в системе LaTeX
\geqslant
Работа в системе LaTeX
\gtrless
Работа в системе LaTeX
\sqsubset
Работа в системе LaTeX
\sqsupset
Работа в системе LaTeX
\vartriangleright
Работа в системе LaTeX
\vartriangleleft
Работа в системе LaTeX
\trianglerighteq
Работа в системе LaTeX
\trianglelefteq
Работа в системе LaTeX
\between
Работа в системе LaTeX
\blacktriangleright
Работа в системе LaTeX
\blacktriangleleft
Работа в системе LaTeX
\vartriangle
Работа в системе LaTeX
\eqcirc
Работа в системе LaTeX
\lesseqgtr
Работа в системе LaTeX
\gtreqless
Работа в системе LaTeX
\lesseqqgtr
Работа в системе LaTeX
\gtreqqless
Работа в системе LaTeX
\varpropto
Работа в системе LaTeX
\smallsmile
Работа в системе LaTeX
\smallfrown
Работа в системе LaTeX
\Subset
Работа в системе LaTeX
\Supset
Работа в системе LaTeX
\subseteqq
Работа в системе LaTeX
\supseteqq
Работа в системе LaTeX
\bumpeq
Работа в системе LaTeX
\Bumpeq
Работа в системе LaTeX
\lll
Работа в системе LaTeX
\ggg
Работа в системе LaTeX
\pitchfork
Работа в системе LaTeX
\backsim
Работа в системе LaTeX
\backsimeq
Работа в системе LaTeX
\lvertneqq
Работа в системе LaTeX
\gvertneqq
Работа в системе LaTeX
\lneqq
Работа в системе LaTeX
\gneqq
Работа в системе LaTeX
\lneq
Работа в системе LaTeX
\gneq
Работа в системе LaTeX
\precnsim
Работа в системе LaTeX
\succnsim
Работа в системе LaTeX
\lnsim
Работа в системе LaTeX
\gnsim
Работа в системе LaTeX
\precneqq
Работа в системе LaTeX
\succneqq
Работа в системе LaTeX
\precnapprox
Работа в системе LaTeX
\succnapprox
Работа в системе LaTeX
\lnapprox
Работа в системе LaTeX
\gnapprox
Работа в системе LaTeX
\varsubsetneq
Работа в системе LaTeX
\varsupsetneq

Несколько символов из этой таблицы нам уже знакомы: в первую очередь это знаки для нестрогих неравенств

Работа в системе LaTeX
и
Работа в системе LaTeX
в привычном отечественному читателю начертании, а также знаки
Работа в системе LaTeX
и
Работа в системе LaTeX
, доступ к которым открывается уже при подключении пакета latexsym. Символы
Работа в системе LaTeX
,
Работа в системе LaTeX
,
Работа в системе LaTeX
и
Работа в системе LaTeX
, задаваемые командами \vartriangleleft, \trianglelefteq, \vartriangleright и \trianglerighteq, также доступны уже при подключении пакета latexsym, но там они называются иначе: \lhd, \unlhd, \rhd и \unrhd соответственно.


Специальные команды предусмотрены для отрицаний отношений из предыдущей таблицы. В принципе "отрицание" (перечеркнутый символ) можно напечатать, поставив перед этим символом команду \not , но взаимное расположение черты и перечеркиваемого символа при этом не всегда удачно. Поэтому Американское математическое общество выделило для перечеркнутых символов специальные литеры (ради красоты приходится страдать ...). Итак:

Работа в системе LaTeX
\nleq
Работа в системе LaTeX
\ngtr
Работа в системе LaTeX
\nleqslant
Работа в системе LaTeX
\nsucceq
Работа в системе LaTeX
\nsupseteqq
Работа в системе LaTeX
\nsim
Работа в системе LaTeX
\nparallel
Работа в системе LaTeX
\nshortparallel
Работа в системе LaTeX
\nvDash
Работа в системе LaTeX
\ntrianglelefteq
Работа в системе LaTeX
\nleftarrow
Работа в системе LaTeX
\nRightarrow
Работа в системе LaTeX
\ngeq
Работа в системе LaTeX
\nprec
Работа в системе LaTeX
\ngeqslant
Работа в системе LaTeX
\nleqq
Работа в системе LaTeX
\ncong
Работа в системе LaTeX
\nsubseteq
Работа в системе LaTeX
\nmid
Работа в системе LaTeX
\nvdash
Работа в системе LaTeX
\nVDash
Работа в системе LaTeX
\ntriangleleft
Работа в системе LaTeX
\nrightarrow
Работа в системе LaTeX
\nLeftrightarrow
Работа в системе LaTeX
\nless
Работа в системе LaTeX
\nsucc
Работа в системе LaTeX
\npreceq
Работа в системе LaTeX
\ngeqq
Работа в системе LaTeX
\nsubseteqq
Работа в системе LaTeX
\nsupseteq
Работа в системе LaTeX
\nshortmid
Работа в системе LaTeX
\nVdash
Работа в системе LaTeX
\ntrianglerighteq
Работа в системе LaTeX
\ntriangleright
Работа в системе LaTeX
\nLeftarrow
Работа в системе LaTeX
\nleftrightarrow
В следующей таблице мы собрали всевозможные стрелки (с точки зрения TeX'а, стрелки — это тоже знаки бинарных отношений, но математики, как правило, так не считают).

Работа в системе LaTeX
\circlearrowright
Работа в системе LaTeX
\circlearrowleft
Работа в системе LaTeX
\twoheadrightarrow
Работа в системе LaTeX
\twoheadleftarrow
Работа в системе LaTeX
\leftleftarrows
Работа в системе LaTeX
\rightrightarrows
Работа в системе LaTeX
\upuparrows
Работа в системе LaTeX
\downdownarrows
Работа в системе LaTeX
\rightarrowtail
Работа в системе LaTeX
\leftarrowtail
Работа в системе LaTeX
\rightsquigarrow
Работа в системе LaTeX
\leftrightsquigarrow
Работа в системе LaTeX
\looparrowleft
Работа в системе LaTeX
\looparrowright
Работа в системе LaTeX
\Rrightarrow
Работа в системе LaTeX
\Lleftarrow
Работа в системе LaTeX
\nleftarrow
Работа в системе LaTeX
\nrightarrow
Работа в системе LaTeX
\nLeftarrow
Работа в системе LaTeX
\nRightarrow
Работа в системе LaTeX
\nLeftrightarrow
Работа в системе LaTeX
\nleftrightarrow
Работа в системе LaTeX
\curvearrowleft
Работа в системе LaTeX
\curvearrowright
Стрелка
Работа в системе LaTeX
доступна и при использовании пакета latexsym, но там она называется \leadsto.

В приведенной выше таблице присутствует команда \rightleftharpoons, входящая в основной набор LaTeX'а; ниже можно найти еще несколько аналогичных примеров. Такое дублирование — не прихоть TeXнологов из AMS: в базовом LaTeX'е символы, задаваемые этими дублирующимися командами, собирались из отдельных кусочков, вследствие чего они не меняли должным образом размеры при помещении в индексы. В пакете amssymb те же команды отсылают к специальным литерам, входящим в шрифты AMS, в результате чего символы
Работа в системе LaTeX
(\rightleftharpoons) или, скажем,
Работа в системе LaTeX
(\hbar) правильно ведут себя и в индексах.



Теперь перечислим обыкновенные символы, доступ к которым открывается при подключении пакета amssymb:

Работа в системе LaTeX
\square
Работа в системе LaTeX
\blacksquare
Работа в системе LaTeX
\lozenge
Работа в системе LaTeX
\blacklozenge
Работа в системе LaTeX
\backprime
Работа в системе LaTeX
\bigstar
Работа в системе LaTeX
\blacktriangledown
Работа в системе LaTeX
\blacktriangle
Работа в системе LaTeX
\triangledown
Работа в системе LaTeX
\angle
Работа в системе LaTeX
\measuredangle
Работа в системе LaTeX
\sphericalangle
Работа в системе LaTeX
\circledS
Работа в системе LaTeX
\complement
Работа в системе LaTeX
\diagup
Работа в системе LaTeX
\diagdown
Работа в системе LaTeX
\varnothing
Работа в системе LaTeX
\nexists
Работа в системе LaTeX
\Finv
Работа в системе LaTeX
\Game
Работа в системе LaTeX
\mho
Работа в системе LaTeX
\eth
Работа в системе LaTeX
\beth
Работа в системе LaTeX
\gimel
Работа в системе LaTeX
\daleth
Работа в системе LaTeX
\digamma
Работа в системе LaTeX
\varkappa
Работа в системе LaTeX
\Bbbk
Работа в системе LaTeX
\hslash
Работа в системе LaTeX
\hbar
Из этого набора нам знакомы символ
Работа в системе LaTeX
, доступ к которому открывает уже пакет latexsym, а также греческая буква
Работа в системе LaTeX
и обозначение для пустого множества
Работа в системе LaTeX
. Символы
Работа в системе LaTeX
и
Работа в системе LaTeX
также доступны уже при подключении пакета latexsym, но там они называются \Box и \Diamond соответственно.

Команды \yen, \checkmark, \circledR и \maltese можно использовать не только в формулах, но и в тексте (кстати, \yen — это обозначение для японской иены).

У некоторых из символов, определенных в пакете amsfonts, тоже есть синонимы. Вот их список:

Работа в системе LaTeX
\dasharrow или \dashrightarrow
Работа в системе LaTeX
\Doteq или \doteqdot
Работа в системе LaTeX
\Cup или \doublecup
Работа в системе LaTeX
\Cap или \doublecap
Работа в системе LaTeX
\lll или llless
Работа в системе LaTeX
\ggg или gggtr
Стоит еще отметить, что некоторые из определенных выше символов становятся доступными уже при использовании пакета amsfonts вместо \amssymb. Их перечень таков:

Работа в системе LaTeX
\yen
Работа в системе LaTeX
\checkmark
Работа в системе LaTeX
\circledR
Работа в системе LaTeX
\maltese
Работа в системе LaTeX
\dasharrow
Работа в системе LaTeX
\dashleftarrow
Работа в системе LaTeX
\sqsubset
Работа в системе LaTeX
\sqsupset
Работа в системе LaTeX
\vartriangleleft
Работа в системе LaTeX
\vartriangleright
Работа в системе LaTeX
\trianglelefteq
Работа в системе LaTeX
\trianglerighteq
Работа в системе LaTeX
\square
Работа в системе LaTeX
\lozenge
Работа в системе LaTeX
\rightsquigarrow
Работа в системе LaTeX
\rightleftharpoons
Поскольку пакет amssymb довольно громоздок, стоит иметь в виду возможность иногда обойтись более скромным amsfonts.


Скобки переменного размера


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

В формуле

Работа в системе LaTeX
скобки обычного размера вокруг
Работа в системе LaTeX
смотрелись бы плохо; поэтому при ее наборе надо поставить команду \left перед открывающей скобкой и команду \right перед закрывающей:

$$ e=\lim_{n\to\infty} \left(1+\frac{1}{n}\right)^n $$

Если перед одной скобкой стоит \left, а перед другой скобкой стоит \right, то на печати размер этих скобок будет соответствовать максимальной высоте фрагмента формулы, заключенного между \left и \right.

Конструкция с \left и \right применима не только к круглым скобкам. В следующей таблице перечислены скобки и некоторые другие символы, которые с помощью \left и \right автоматически принимают нужный размер. TeXнический термин для таких символов — ограничители (по-английски delimiters).

Работа в системе LaTeX
(
Работа в системе LaTeX
)
Работа в системе LaTeX
[
Работа в системе LaTeX
]
Работа в системе LaTeX
{
Работа в системе LaTeX
}
Работа в системе LaTeX
\lfloor
Работа в системе LaTeX
\lceil
Работа в системе LaTeX
\rceil
Работа в системе LaTeX
\langle
Работа в системе LaTeX
\rangle
Работа в системе LaTeX
|
Работа в системе LaTeX
\|
Работа в системе LaTeX
/
Работа в системе LaTeX
\

Вместо \left\langle можно писать \left< , и аналогичным образом вместо \right\rangle можно писать \right> (однако же < нельзя писать вместо \langle!). Кроме знаков, перечисленных в этой таблице, менять свои размеры под действием \left и \right могут и вертикальные стрелки из таблицы.

Если подключить стилевой пакет amssymb, то станут доступны еще две пары ограничителей:

Работа в системе LaTeX
\ulcorner
Работа в системе LaTeX
\urcorner
Работа в системе LaTeX
\llcorner
Работа в системе LaTeX
\lrcorner

Вместе с каждой командой \left в формуле должна присутствовать соответствующая ей команда \right, в противном случае TeX выдаст сообщение об ошибке. Вместе с тем TeX вовсе не требует, чтобы "ограничители" (например, скобки) при командах \left и \right были расположены сколько-нибудь осмысленно с математической точки зрения: вы вполне можете написать что-нибудь вроде \left(...\right] , или даже, вопреки смыслу слов left и right,\left)...\right(- за правильность своих формул отвечаете только вы, и TeX тут вам не помощник.


Вместо "ограничителя" после команды \left или \ right можно поставить точку. На месте этой точки ничего не напечатается, а другой "ограничитель" будет необходимого размера. Вот два примера того, как можно использовать этот прием. Во-первых, таким способом можно создать косую дробную черту увеличенного размера (символ {/} также является "ограничителем"- см. ниже):

Работа в системе LaTeX
$$ M(f)=\left.\left( \int\limits_a^b f(x)\,dx \right) \right/(b-a) $$
В этом примере используется пока неизвестная вам команда \ , создающая дополнительный маленький пробел между
Работа в системе LaTeX
и
Работа в системе LaTeX
- это один из немногих случаев, когда TeX не может автоматически создать требуемые пробелы, и ему надо помочь. Подробнее о таких вещах речь пойдет ниже, в разд. "Пробелы вручную". Другой пример использования ограничителя без пары таков:

Работа в системе LaTeX
$$ \int\limits_a^b\frac12 (1+x)^{-3/2}dx= \left.-\frac{1}{\sqrt{1+x}} \right|_a^b $$
Здесь, кстати, мы не поставили \ перед x, поскольку необходимое свободное место возникает за счет показателя степени.

Наконец, важный пример использования ограничителей без пары — использование их для набора систем уравнений, о чем пойдет речь в разд."Многострочные включные формулы".

До сих пор у нас речь шла только о том, что размеры ограничителей выбираются автоматически с помощью команд \left и \right; бывают, однако, ситуации, когда такой автоматический выбор размера приводит к неудовлетворительным результатам или даже вообще невозможен. Вот, например, ситуация, когда \left и \right не срабатывают:

Работа в системе LaTeX
$\left| |x+1|-|x-1|\right|$
Для удобочитаемости этого выражения хотелось бы, чтобы внешние знаки модуля были повыше, чем внутренние, но этого не получается: поскольку в формуле выступающих элементов нет, то и команды \left и \right не считают нужным увеличить ограничители, в которые формула заключена.

А иногда бывает так, что автоматически получающиеся ограничители слишком велики. В следующем примере совсем не обязательно, чтобы скобки охватывали и пределы суммирования, что получается при использовании \left и \right:

Работа в системе LaTeX
$$ \left( \sum_{k=1}^n x^k \right)^2 $$
<


p> Во всех этих случаях имеет смысл указать размер ограничителя явно. Для этого предусмотрены TeX'овские команды \bigl, \Bigl, \biggl и \Biggl для левых ограничителей и \bigr, \Bigr, \biggr и \Biggr для правых ограничителей. Мы перечислили эти команды в порядке возрастания размера создаваемого ими ограничителя. В частности, для модулей можно было бы написать так:

Работа в системе LaTeX
$\bigl| |x+1|-|x-1|\bigr|$
Пример со знаком суммы кому-то мог бы понравиться больше, если бы мы написали так:

Работа в системе LaTeX
$$ \Bigl(\sum_{k=1}^n x^k\Bigr)^2 $$
Команды, явно указывающие размер ограничителей, не обязаны, в отличие от команд \left и \right, появляться парами: можно написать \biggl( и при этом никак не упомянуть о парной скобке.

К сожалению, команды для явного указания размера ограничителя имеют одну неприятную особенность: если " основной шрифт" документа крупнее, чем кегль 10 (иными словами, если указаны классовые опции 11pt или 12pt — , то может случиться так, что скобка, размер которой задан, например, командой \bigl, имеет точно такой же размер, как и скобка "в чистом виде". Чтобы избежать этой неприятности, надо подключить пакет amsmath: тогда команды наподобие \bigl будут работать корректно.


Смена шрифтов в формуле


По умолчанию все латинские буквы в формулах набираются курсивом. Что делать, если вам нужен другой шрифт?

В первой лекции мы приводили примеры смены шрифтов в тексте с помощью команд наподобие \bfseries или \itshape. В формулах, однако же, для этих целей надо использовать другие средства.

Пусть, например, вам нужна буква

Работа в системе LaTeX
, набранная прямым жирным шрифтом. Тогда надо воспользоваться командой \mathbf:

Работа в системе LaTeX
$\mathbf P^n$

Если буква

Работа в системе LaTeX
(в таком начертании) встречается в формулах часто, разумно определить для нее сокращенное обозначение. Чтобы узнать, как это делается, посмотрите начало лекции 7.

Вот полный список начертаний символов в формулах, которые можно получить без подключения дополнительных стилевых пакетов:

Работа в системе LaTeX
$\mathbf x+y$
Работа в системе LaTeX
$\mathrm x+y$
Работа в системе LaTeX
$\mathtt x+y$
Работа в системе LaTeX
$\mathsf x+y$
Работа в системе LaTeX
$\mathcalT_X$
Работа в системе LaTeX
$\mathit\Gamma+y$

Команду \mathcal, вызывающую "каллиграфический" шрифт, можно применять только к прописным латинским буквам.

Команда \mathit дает одну из возможностей (и не лучшую, надо сказать) получить прописные греческие буквы в наклонном начертании. Дело в том, что если у вас подключен пакет amsmath, то команда \mathit работать откажется (по крайней мере, в некоторых версиях этого пакета). В этом случае для печати в формуле прописных греческих букв в наклонном начертании применяются специальные команды, в которых перед названием буквы стоит var:

Работа в системе LaTeX
\varGamma
Работа в системе LaTeX
\varDelta
Работа в системе LaTeX
\varTheta
Работа в системе LaTeX
\varLambda
Работа в системе LaTeX
\varXi
Работа в системе LaTeX
\varPi
Работа в системе LaTeX
\varSigma
Работа в системе LaTeX
\varUpsilon
Работа в системе LaTeX
\varPhi
Работа в системе LaTeX
\varPsi
Работа в системе LaTeX
\varOmega

Как мог заметить читатель, команды наподобие \mathrm действуют только на непосредственно следующую букву. Если нужно, чтобы другим шрифтом была напечатана не одна буква, а несколько, надо все эти буквы взять в фигурные скобки:

Работа в системе LaTeX
Множество особенностей многообразия $X$ обозначается $X_{\mathrm{sing}}$.

Все сказанное означает, что команда \mathrm и ей подобные принимают один обязательный аргумент — фрагмент формулы, который надо напечатать другим шрифтом. На первый взгляд, это противоречит сказанному на выше: ведь обязательный аргумент должен быть в фигурных скобках, а в конструкциях вроде \mathbf x никаких фигурных скобок нет.
Дело в том, что, в дополнение к сказанному ранее, действует еще одно правило: если после имени команды, принимающей обязательный аргумент, следует не открывающая фигурная скобка, а буква, то в качестве аргумента будет воспринята именно эта буква. Так что можно было бы писать и \mathbf{x} вместо \mathbf x, но так обычно не делают, чтобы не нажимать лишний раз на клавиши.

Если подключить стилевой пакет amsfonts или amssymb, то в математических формулах можно использовать еще два шрифта: ажурный (

Работа в системе LaTeX
,
Работа в системе LaTeX
,
Работа в системе LaTeX
,... и готический (
Работа в системе LaTeX
,
Работа в системе LaTeX
,
Работа в системе LaTeX
,...). Ажурным шрифтом можно печатать только прописные буквы; он задается командой \mathbb (как и в случае с остальными командами, описываемыми в этом разделе, ажурным шрифтом печатается буква, следующая непосредственно после команды \mathbb; если надо напечатать этим шрифтом несколько букв, их следует взять в фигурные скобки). Готический шрифт задается командой \mathfrak; она также действует только на непосредственно следующую букву (или на несколько букв, если они взяты в фигурные скобки):

Работа в системе LaTeX
Алгебра $\mathfrak{sl}_2(\mathbb C)$ играет особую роль в теории представлений.
Существует также стилевой пакет eufrak, при подключении которого становится доступным готический шрифт (с командой \mathfrak, но не ажурный.

Наконец, есть возможность использовать в формулах вариант рукописного шрифта, в котором буквы имеют более изысканные очертания:

Работа в системе LaTeX
Работа в системе LaTeX
Работа в системе LaTeX
Работа в системе LaTeX
Работа в системе LaTeX
Работа в системе LaTeX


Для этого надо подключить стилевой пакет \euscript; команда, задающая этот шрифт, называется \EuScript.

Теперь, когда вы знаете, как печатать символы в формулах прямым шрифтом, может возникнуть искушение восполнить отсутствие в стандартном комплекте LaTeX'а команды, дающей функцию
Работа в системе LaTeX
, путем набора чего-нибудь вроде \mathrm{tg}x. Так делать, однако, не надо, поскольку при этом пробелы будут неправильными:

Работа в системе LaTeX
В формуле $\mathrm{tg} x$ буква $x$слишком близка к знаку тангенса. А вот в формуле $\sin x$ пробелы правильные.
Правильно действовать так, как рекомендуется выше.


Если вам хочется узнать, почему все так получается, прочтите разд."Снова об интервалах и формулах".

Если вы хотите включить в формулу какой-либо текст, то одной команды \mathrm для этого также недостаточно: любой текст, заключенный между знаками доллара, пусть даже он набирается прямым шрифтом, TeX рассматривает как часть математической формулы, и в соответствии с этим игнорирует те пробелы, которые ставите вы, и расставляет пробелы по собственным правилам:

Работа в системе LaTeX
$$ \sqrt{x^3}=x \mathrm{для всех} x. $$
Как правильно вставить текст в формулу, описано в разд. "Включение текста в формулы".

Остается только отметить, что ажурный и готический шрифты, о которых шла речь сейчас, можно использовать только в формулах, и набирать с их помощью обычный текст невозможно (так же, как невозможно набирать греческий текст с помощью команд \alpha, \beta и т.д.).

Кроме описанного выше (и рекомендуемого нами) способа переключения шрифтов в формулах, в LaTeX'е пока сохраняется (ради совместимости с LaTeX'ом 2.09) еще один способ, с которым можно ознакомиться из приведенной ниже таблицы.

Правильный способ: Устаревший способ: Получается:
\mathrm x+y{\rm x}+y
Работа в системе LaTeX
\mathbf x+y{\bf x}+y
Работа в системе LaTeX
\mathsf x+y{\sf x}+y
Работа в системе LaTeX
\mathtt x+y{\tt x}+y
Работа в системе LaTeX
\mathcal T_X{\cal T}_X
Работа в системе LaTeX


Снова об интервалах в формулах


Сейчас мы обсудим вкратце, какими правилами руководствуется TeX при расстановке интервалов в математических формулах. В стандартных ситуациях мы об этом не задумываемся, а полностью доверяем LaTeX'у. То, о чем мы будем говорить, пригодится, если мы пользуемся в формулах сложными конструкциями (например, конструируем знак двойного интеграла из двух знаков интеграла и "отрицательных пробелов", и при этом не хотим подбирать верные интервалы экспериментально.

При наборе формулы TeX рассматривает ее как состоящую из частей одного из следующих типов:

Обыкновенный символ например, \alpha
Бинарная операция
Бинарное отношение
Математический оператор
Подформула например, {x^2}
Знак препинания , или ; или \colon или \ldotp
Скобка

Здесь подформула — это любой фрагмент формулы, заключенный в фигурные скобки. Команда \colon задает двоеточие, рассматриваемое как знак препинания (двоеточие, набранное непосредственно, рассматривается TeX'ом как знак бинарного отношения), а команда \ldotp — точку, рассматриваемую как знак препинания (точка, набранная непосредственно, рассматривается как обыкновенный символ). К бинарным отношениям (с точки зрения TeX'а) относятся также все стрелки (\стр{arrows}) и фрагменты формул, создаваемые командой \stackrel. При расстановке пробелов в формуле TeX руководствуется тем, к какому из перечисленных типов относятся ее составные части: символы бинарных операций окружаются "средними пробелами" (теми, что вручную задаются командой \:), а символы бинарных отношений — "толстыми" пробелами (вручную, как мы помним, толстый пробел задается командой \;); впрочем, в стилях для индексов и индексов к индексам (см. предыдущий раздел) эти пробелы опускаются; после знака препинания в большинстве случаев ставится "тонкий" пробел, и т.д2) Подформула (т. е. фрагмент формулы, заключенный в фигурные скобки) рассматривается TeX'ом почти так же, как обычный символ:

Работа в системе LaTeX
Сравните $2+3$ и $2{+}3$: во втором случае знак плюс является подформулой, а не символом бинарной операции.

Кстати, с этим приемом (поставить фрагмент формулы в фигурные скобки, чтобы он рассматривался как обычный символ) мы уже сталкивались ранее, когда обсуждали, как задать в TeX'е десятичную дробь.
Мы не будем вдаваться в точные правила расстановки пробелов (они перечислены в книге [2]). Для нас сейчас важнее то, что TeX можно заставить рассматривать любой фрагмент формулы как бинарную операцию, бинарное отношение или математическую операцию: для этого надо применить команды \mathbin, \mathrel или \mathop соответственно. Вот примеры того, как работают эти команды.

Иногда возникает нужда в символе

Работа в системе LaTeX
, рассматриваемом как символ бинарной операции. Естественно, этот символ можно сгенерировать, если написать \hat{\otimes}, но тогда вокруг этого символа будут неправильные пробелы:

Работа в системе LaTeX
Хотелось бы, чтобы в формуле $E\hat{\otimes}F$ были такие же пробелы, как и в формуле $E\otimes F$.
Чтобы TeX рассматривал
Работа в системе LaTeX
не как обычный символ, а как символ бинарной операции, надо сделать так:

Работа в системе LaTeX
В формуле $E\mathbin{\hat{\otimes}}F$ пробелы такие же, как и в $E\otimes F$.
Если символ
Работа в системе LaTeX
встречается в вашей рукописи часто, то вам вряд ли понравится всякий раз делать по 23 нажатия на клавиши для его набора. В этом случае очень удобно ввести для него собственное сокращенное обозначение (посмотрите начало лекции 7 по поводу того, как это сделать).

Типичный пример использования команды \mathop - определение имени операции, записываемой прямым шрифтом. Обозначения такого типа встречаются в математических текстах очень часто, и набора команд для них, предусмотренного LaTeX'ом , вполне может не хватить; в этом случае, чтобы получить на печати, скажем,
Работа в системе LaTeX
, надо написать

$\mathop{\mathrm{Ext}}\nolimits^1(E,F)$ Здесь \mathop необходимо для того, чтобы между
Работа в системе LaTeX
и
Работа в системе LaTeX
автоматически вставлялся маленький дополнительный пробел, делающий формулу более читаемой:

Работа в системе LaTeX
Сравните $\sin x$ и $\mathrm{sin}x$.
Что же касается \nolimits, то эта команда необходима для того, чтобы в выключных формулах (точнее, в "выключном стиле"- верхние и нижние индексы к " оператору" записывались именно как индексы, а не над и под ним, как "пределы" . Именно таким образом работает определенная в пакете amsmath команда \DeclareMathOperator.



А вот пример, когда TeX' у надо объяснить, что некоторый сложный символ есть символ математического оператора. Пусть нам понадобилась формула
Работа в системе LaTeX
Проблема тут в том, чтобы поставить штрих у знака суммы. Впрямую это сделать не удается:

Работа в системе LaTeX
$$ \sum'_{x\in\Gamma}f(x). $$
В самом деле, из сказанного на стр.54 вытекает, что наша запись равносильна такой:

$$ \sum^\prime_{x\in\Gamma}f(x). $$ и в этой записи штрих рассматривается как предел суммирования. Не будем, однако, отчаиваться, а просто создадим новый оператор "сумма со штрихом":

$$ \mathop{{\sum}'}_{x\in\Gamma}f(x). $$ Можете проверить, что на сей раз все получается как надо. В этой записи очень существенно, что \sum взято в фигурные скобки: благодаря этому символ, генерируемый командой \sum, рассматривается TeX'ом просто как подформула, поэтому и штрих после него стоит где положено, а не там, где бывают пределы суммирования. Вся подформула "{\sum}" передается в качестве аргумента команде \mathop, благодаря чему наш новый символ "сумма со штрихом" рассматривается как математический оператор и пределы суммирования (в выключной формуле) ставятся у него, где положено.

Здесь опять разумно создать сокращенное обозначение, которое заменяло бы эту громоздкую запись.


Таблицы спецзнаков с комментариями


В этом разделе мы перечислим математические знаки, предоставляемые LaTeX'ом. Знаков этих очень много, поэтому разобьем их на несколько групп. Это разбиение делается не только для удобства восприятия: как мы увидим в разд. "Снова об интервалах и формулах", расстановка интервалов в формулах зависит от того, к какой группе (бинарная операция, бинарное отношение, обыкновенный символ и т.д.) относится математический символ.



Тонкая настройка


В этом разделе мы рассмотрим некоторые более изысканные вопросы, связанные с набором математических формул. Рекомендуем читателям, не являющимся полиграфистами, пропустить в этом разделе мелкий шрифт (хотя бы при первом чтении).



Вертикальные отбивки вокруг выключных формул


За размер вертикальных отбивок, автоматически создаваемых TeX'ом вокруг выключных формул, отвечают следующие TeX'овские параметры:

\abovedisplayskip\abovedisplayshortskipперед формулой
\belowdisplayskip\belowdisplayshortskipпосле формулы

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

\abovedisplayskip=.7\abovedisplayskip

(и аналогично для трех остальных параметров).

Можно не только пропорционально изменять отбивки вокруг выключных формул, как в примере выше, но и присваивать этим интервалам конкретные значения. При этом следует иметь в виду следующее обстоятельство. Интервалы, создаваемые между текстом и формулами, обладают определенной растяжимостью, что помогает TeX'у выравнивать страницы по высоте (говоря на TeX'ническом языке, эти интервалы являются "клеем"), и присваивая абсолютное значение таким интервалам, желательно также задавать их растяжимость и сжимаемость; (более подробно — разд. "Клей" лекции 8 по поводу того, как это делается.



Включение текста в формулы


В математическую формулу можно включить фрагмент обычного текста с помощью LaTeX'овской команды \mbox. В следующем примере продемонстрировано, как это можно сделать; в нем используется еще команда \qquad, делающая в тексте или формуле пробел размером 2em ; подробнее по поводу команд, создающих пробелы в формулах, см. разд. "Пробелы вручную"; по поводу команд, создающих пробелы в тексте, см. разд. "Установка прромежутков вручную ".лекция 3

Работа в системе LaTeX
$$ \sqrt{x^3}=x\qquad \mbox{для всех }x. $$

Аргумент команды \mbox обрабатывается TeX'ом как обычный текст: пробелы не игнорируются, слова набираются не математическим курсивом, а тем же шрифтом, который был текущим перед началом формулы (у нас это был обычный прямой шрифт; если вы хотите, чтобы шрифт был другой, можно внутри аргумента команды \mbox дать команду смены шрифта в тексте). Весь текст, являющийся аргументом команды \mbox, будет напечатан в одну строку. В приведенном примере мы оставили пробел перед закрывающей фигурной скобкой, чтобы обеспечить пробел между текстом и формулой (фрагмент текста, созданный командой \mbox, рассматривается TeX'ом как одна большая буква; пробел в формуле между "буквой", содержащей текст из \mbox, и буквой

Работа в системе LaTeX
будет недостаточен). Команда \qquad была использована по аналогичной причине.

На самом деле можно было бы написать даже так:

$$ \sqrt{x^3}=x\qquad\mbox{для всех $x$.} $$

Аргумент команды \mbox рассматривается как текст, но этот текст вполне может, в свою очередь, содержать формулы!

При включении текста в формулы с помощью команды \mbox важно иметь в виду вот что. Как читатель, видимо, уже заметил, в математических формулах верхние и нижние индексы, числитель и знаменатель дробей, созданных с помощью команды \frac, и тому подобные фрагменты набираются более мелким шрифтом, чем остальная часть формулы. Однако в тексте, созданном с помощью \mbox, размер шрифта не изменится, в какую бы часть формулы этот текст не попал. Если вас это не устраивает, подключите стилевой пакет \amsmath и воспользуйтесь командой \text вместо \mbox\,: тогда включенный в формулу текст будет правильно менять размеры в степенях и индексах, а если аргумент команды \text сам, в свою очередь, содержит формулу, то размеры символов в этой формуле будут выбраны более правильно, чем при использовании \mbox.

Вне математических формул команду \text использовать нельзя.

Команда \mbox еще встретится нам в следующей лекции, когда речь пойдет о предотвращении переносов в словах; более подробно мы ее рассмотрим в лекции 8.