Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по Tex_ сдудентам.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
4.24 Mб
Скачать

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

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

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

Обыкновенный символ

например, \alpha

Бинарная операция

Бинарное отношение

Математический оператор

Подформула

например, {x^2}

Знак препинания

, или ; или \colon или \ldotp

Скобка

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

Сравните $2+3$ и $2{+}3$:

во втором случае знак

плюс является подформулой,

а не символом

бинарной операции.

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

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

Хотелось бы, чтобы в формуле

$E\hat{\otimes}F$ были такие

же пробелы, как и в

формуле $E\otimes F$.

Чтобы TeX рассматривал не как обычный символ, а как символ бинарной операции, надо сделать так:

В формуле

$E\mathbin{\hat{\otimes}}F$

пробелы такие же, как

и в $E\otimes F$.

Если символ встречается в вашей рукописи часто, то вам вряд ли понравится всякий раз делать по 23 нажатия на клавиши для его набора. В этом случае очень удобно ввести для него собственное сокращенное обозначение (посмотрите начало лекции 7 по поводу того, как это сделать).

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

$\mathop{\mathrm{Ext}}\nolimits^1(E,F)$

Здесь \mathop необходимо для того, чтобы между и автоматически вставлялся маленький дополнительный пробел, делающий формулу более читаемой:

Сравните $\sin x$ и $\mathrm{sin}x$.

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

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

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

$$

\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, благодаря чему наш новый символ "сумма со штрихом" рассматривается как математический оператор и пределы суммирования (в выключной формуле) ставятся у него, где положено.

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