Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Набор матриц




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

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

$$ \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 только тем, что вместо круглых скобок таблица заключена соответственно в квадратные скобки , вертикальные черточки и удвоенные вертикальные черточки . Есть также окружение \matrix, которое дает на печати только прямоугольную таблицу, без всяких скобок. Комбинируя окружение matrix с парой ограничителей, можно получить матрицу со скобками более экзотического вида.

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

\setcounter{MaxMatrixCols}{20}

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

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

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

$$

\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:

$$ \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:

$$ \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). Вот пример его использования:

$[X,Y]=\bigl(\begin{smallmatrix}1 & 0\\0 & -1\end{smallmatrix}\bigr)$

Как вы могли заметить, скобки вокруг такой маленькой матрицы приходится ставить самостоятельно. Никаких вариантов с готовыми скобками у окружения smallmatrix нет.

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

$$ \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, отличия следующие:

  1. Скобки вокруг матрицы, набираемой с помощью окружения \array, всегда надо задавать самостоятельно.
  2. После \begin{array}, открывающего окружение, должна следовать (в фигурных скобках, поскольку это аргумент окружения array) так называемая преамбула матрицы, описывающая, сколько и каких столбцов должно быть в матрице. В нашем случае преамбула представляет собой три буквы ccc. Это значит, что в матрице 3 столбца (по букве на столбец), и что содержимое каждого из этих столбцов должно быть расположено по центру столбца c — от слова "centered". (Кроме c, в преамбуле может стоять буква l, означающая, что соответствующий столбец будет выровнен по левому краю (left), или r, означающая, что столбец будет выровнен по правому краю (right).)

В остальном синтаксис такой же, как для окружения pmatrix и его аналогов. Команды \ldots, \vdots и \ddots по-прежнему можно использовать, а вот \hdotsfor — увы, нет. Аналога MaxMatrixCols для окружения array также нет (поскольку преамбула и так определяет точное число столбцов). Окружение smallmatrix в "чистом" LaTeX'е (без подключения дополнительных пакетов) также не предусмотрено.

Одно над другим В этом разделе речь пойдет о тех случаях, когда в формуле необходимо поместить один символ над другим. В разд."Операции с пределами и без" уже шла речь о частном случае этой проблемы: постановке " пределов" у знака суммы, интеграла или чего-нибудь еще в этом роде. Сейчас мы рассмотрим общий случай. Простейшие случаи Для начала рассмотрим такие возможности расположения одной части формулы над другой:
  1. Верхняя часть формулы расположена немного выше строки, нижняя — немного ниже (как в дроби, создаваемой командой \frac, но, возможно, без дробной черты).
  2. Нижняя часть формулы расположена вровень с остальным текстом, верхняя — над ним.
  3. Над или под фрагментом формулы проведена горизонтальная фигурная скобка, а над или под этой скобкой расположен другой фрагмент формулы.
Разберем эти варианты последовательно. Начнем с одного дополнения по поводу описанной в первой лекции команды \frac, задающей дроби. Если дробь, заданная с помощью команды \frac, встречается во внутритекстовой формуле, то ее числитель и знаменатель печатаются довольно мелким шрифтом, что не всегда приемлемо. Чтобы этого избежать, можно, подключив пакет amsmath, воспользоваться командой \dfrac: тогда шрифт будет более крупным. Если дробь во внутритекстовой формуле входит в показатель степени или индекс, то иногда имеет смысл задавать ее с помощью команды \tfrac (опять-таки чтобы шрифт был не слишком мелким; эта команда также доступна при подключении amsmath). Вот примеры:
и $\frac23$ и $\dfrac23$ $2^{\frac35}$ и $2^{\tfrac35}$

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

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

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

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

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

$\binom{12}7=792$

У команды \binom есть также аналоги \dbinom и \tbinom, относящиеся к ней так же, как \dfrac и \tfrac относятся к \frac.

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

Формула $\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}

В частности, наш пример с символом Кристоффеля можно записать как

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

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

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

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

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

$$ {n\choose k}=\frac{n!}{k!(n-k)!} $$

Обратите внимание на фигурные скобки, в которые мы заключили выражение "n\choose k": команда \choose помещает сверху часть формулы от открывающей фигурной скобки до \choose,а снизу — часть формулы от \choose до закрывающей фигурной скобки. Если бы этих фигурных скобок не было, вниз пошла бы и вся дробь вместе со знаком равенства.

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

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

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

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

$$ \frac{7}{25}= \frac{1}{ 3+\frac{1}{ 1+\frac{1}{ 1+\frac{1}{3}}}} $$

Результат смотрится не лучшим образом. В разд."Тонкая настройка" объясняется, почему все получилось так плохо и как исправить это положение "вручную", но на практике лучше всего подключить пакет amsmath и сделать так:

$$ \frac{7}{25}= \cfrac{1}{ 3+\cfrac{1}{ 1+\cfrac{1}{ 1+\cfrac{1}{3}}}} $$

Если вы хотите, чтоб какой-то из числителей в цепной дроби был не центрирован, а выключен влево или вправо, надо вместо \cfrac сказать \cfrac[l] или \cfrac[r] соответственно.

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

$$ \sum_{\substack{i\in[0;n]\\ j\in[0;m]}} a_{ij} $$

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

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

$A\stackrel{f}{\longrightarrow}B$

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

$$ A\xleftarrow[z]{f}B \xrightarrow{f+g-h}C $$

Наконец, чтобы нарисовать горизонтальную фигурную скобку под выражением (а под этой скобкой еще, возможно, и сделать подпись), надо воспользоваться командой \underbrace. Аргумент этой команды — тот фрагмент формулы, под которым надо провести скобку; подпись под скобкой, если она нужна, оформляется как нижний индекс. Например, такая формула

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

$$

\underbrace{1+3+5+7+

\ldots+(2n-1)}_{\mbox{$n$ слагаемых}}=n^2

$$

Если у вас подключен пакет amsmath, разумно воспользоваться командой \text вместо \mbox.

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

$$ \overbrace{\underbrace{ a+b+\ldots+z }_{26}+1+ \ldots+10}^{36} $$

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

Роза Шакирзяновна Многострочные выключные формулы Программа TeX никогда не делает автоматических переносов в выключных формулах, поэтому, если ваша формула не умещается в строку, необходимо разбить ее на отдельные строки самостоятельно. Первое, что приходит в голову начинающим, — это оформить каждую из этих строк как отдельную выключную формулу с помощью $$...$$ и записать эти выключные формулы подряд. При этом расстояние по вертикали между двумя строками получается слишком большим, так что на глаз они не воспринимаются как части одной формулы. В этом разделе мы описываем, как грамотно организовать такое разбиение. Как и в случае с матрицами, наиболее удобные (и рекомендуемые нами) средства открываются, если подключить пакет amsmath; с их описания мы и начнем, а в конце опишем скромные средства набора многострочных формул, доступные без подключения дополнительных пакетов. Итак, пусть вы подключили amsmath. Тогда самое простое средство для набора многострочных выключных формул — это окружение multline:
\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:

\begin{gather} 2\times 2=4\\ 9\times 9=81 \end{gather}

При использовании gather формулы также не должны быть заключены в символы "$$". Каждая из формул, собранных в gather, автоматически нумеруется. Чтобы на пронумерованную таким образом формулу можно было сослаться (а иначе зачем нумеровать?), надо ее пометить, поставив перед |\\| команду \label.

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

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

\begin{equation} \begin{split} 1999&=1000+900+{}\\ &+90+9 \end{split} \end{equation}

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

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

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

\begin{align} 7\times 9& =63 & 63:9& =7\\ 9\times 10& =90 & 90:10& =9 \end{align}

При выравнивании формул по знаку равенства (или другого бинарного отношения), как это обычно и делается, знак "&" ставится перед знаком равенства. В нашем примере второй знак "&" в строке отделяет первый столбец формул от второго, по третьему знаку "&" идет выравнивание во втором столбце, четвертый "&", если бы он был, отделял бы второй столбец от третьего, и т.д. По-прежнему не нужны знаки "$$", каждая строка уравнений автоматически получает номер, который можно подавить, написав \notag перед "\\", и по-прежнему есть вариант со звездочкой align*, который формулы не нумерует.

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

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

\begin{align*} 3\cdot 5+7\cdot 5&=(3+7) \cdot5 &&\text{(ясно)}\\ &=50&&\text{(очевидно)} \end{align*}

Обратите внимание на два амперсенда, отделяющие комментарий от формул (см. выше текст мелким шрифтом). Нелишне также отметить, что, как и в случае с окружениями multline и gather, формулы, задаваемые с помощью align, нельзя оформлять с помощью знаков доллара.

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

\begin{align*} 3\cdot 5+7\cdot 5&=(3+7) \cdot5 &&\text{(ясно)}\\ &=50&&\text{(очевидно),}\\ \intertext{откуда} 15+35 &=50 \end{align*}

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

$$ \left\{ \begin{aligned} x^2+y^2&=7\\ x+y & = 3.\\ \end{aligned} \right. $$

Для создания фигурной скобки, охватывающей всю систему, мы воспользовались командами \left и \right, причем при команде \right стоит "пустой ограничитель" — точка.

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

$$ |x|=\begin{cases} x,&TeXt{если $x>0$;}\\ 0,&TeXt{если $x=0$;}\\ -x,&TeXt{если $x<0$.} \end{cases} $$

Разработчики пакета amsmath рекомендуют внутри окружения cases использовать команду \lbrace вместо \{.

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

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

$$ \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.

\begin{eqnarray} 2\times3&=&6\\ 2+3&=&5\label{silly} \end{eqnarray} На с.~\pageref{silly} приведено глупое уравнение~\ref{silly}

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

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

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

\begin{eqnarray} \int_{-\infty}^\infty e^{-x^2}dx & = & \sqrt{\pi}\nonumber\\ \sqrt{576} & = & 24 \end{eqnarray}

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

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

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

\begin{eqnarray*} x^{20}&=&(x-1)^{20}+ 20(x-1)^{19}+\ldots+\\ &&{}+20(x-1)+1 \end{eqnarray*}

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

Набор коммутативных диаграмм Чтобы набирать в LaTeX'е "коммутативные диаграммы", необходимо подключить стилевой пакет amscd. Пусть это сделано. Тогда коммутативная диаграмма оформляется в виде окружения CD. Читателю, знакомому с AMS-TeX'ом, дальнейшее можно объяснить одной фразой: между "\begin{CD}" и "\end{CD}" надо поместить в точности тот же текст, что в MS-TeX'е пишут в аналогичном случае между \CD и \endCD. Для всех остальных удобнее пояснить правила набора коммутативных диаграмм на примере. Рассмотрим следующую диаграмму: При подключенном пакете 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 (а также, естественно, если надпись при горизонтальной стрелке содержит знак ">" или "<", хотя ввиду математического смысла таких надписей последнее менее вероятно). Наряду со стрелками, в коммутативных диаграммах встречаются горизонтальные и вертикальные "растянутые знаки равенства": $$ \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'овских макропакетов используются трюки и похлеще. Чего мы еще не сказали Для читателя-математика того, что мы уже рассказали о наборе формул, должно быть, в принципе, достаточно, за одним важным исключением: при написании математической статьи полезно знать, как грамотно оформлять тексты теорем, определений и тому подобные вещи. Об этом у нас рассказывается в разд."Окружение типа "теорема","Окружение типа "теорема" в пакете amsthm" лекции 7 вы можете прочитать это уже сейчас, пропуская непонятные места и справляясь при необходимости с разд."Рубрикация документа" лекции 4, посвященным рубрикации документа. Тонкая настройка В этом разделе мы рассмотрим некоторые более изысканные вопросы, связанные с набором математических формул. Рекомендуем читателям, не являющимся полиграфистами, пропустить в этом разделе мелкий шрифт (хотя бы при первом чтении). Пробелы вручную Бывают случаи, когда промежутки между символами в формулах, выбранные TeX'ом автоматически, выглядят неудачно. В этом случае в формулу можно включить команды, задающие промежутки в явном виде. Вот основные из них: Команда \! из этой таблицы уменьшает промежуток на столько же, на сколько команда \, его увеличивает. В следующем примере собраны типичные случаи, когда в этих командах возникает нужда.
$$ Пробелы надо корректировать в таких формулах, как $\int f(x)\,dx$, $\int\!\!\int f\,dx\,dy$ или $\sqrt{3}\,x$. $$

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




Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 3902; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.083 сек.