Опубликован: 07.02.2007 | Доступ: свободный | Студентов: 4012 / 1340 | Оценка: 4.56 / 3.95 | Длительность: 23:09:00
Специальности: Художник
Лекция 2:

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

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

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

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

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

\mathbf P^n $\mathbf P^n$

Если буква \mathbf P (в таком начертании) встречается в формулах часто, разумно определить для нее сокращенное обозначение. Чтобы узнать, как это делается, посмотрите начало "Создание новых команд" .

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

\mathbf x+y $\mathbf x+y$
\mathrm x+y $\mathrm x+y$
\mathtt x+y $\mathtt x+y$
\mathsf x+y $\mathsf x+y$
\mathcal T_X $\mathcal T_X$
\varGamma+y $\mathit\Gamma+y$

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

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

\varGamma \varGamma
\varDelta \varDelta
\varTheta \varTheta
\varLambda \varLambda
\varXi \varXi
\varPi \varPi
\varSigma \varSigma
\varUpsilon \varUpsilon
\varPhi \varPhi
\varPsi \varPsi
\varOmega \varOmega

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

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

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

Если подключить стилевой пакет amsfonts или amssymb, то в математических формулах можно использовать еще два шрифта: ажурный ( \mathbb R, \mathbb
C, \mathbb Q,... и готический ( \mathfrak S, \mathfrak p, \mathfrak g,...). Ажурным шрифтом можно печатать только прописные буквы; он задается командой \mathbb (как и в случае с остальными командами, описываемыми в этом разделе, ажурным шрифтом печатается буква, следующая непосредственно после команды \mathbb ; если надо напечатать этим шрифтом несколько букв, их следует взять в фигурные скобки). Готический шрифт задается командой \mathfrak ; она также действует только на непосредственно следующую букву (или на несколько букв, если они взяты в фигурные скобки):

Алгебра $\mathfrak{sl}_2(\mathbb
C)$  играет особую роль в теории
представлений
.
Алгебра $\mathfrak{sl}_2(\mathbb C)$ играет особую роль в теории представлений.

Существует также стилевой пакет eufrak, при подключении которого становится доступным готический шрифт (с командой \mathfrak ), но не ажурный.

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

\EuScript A\quad \EuScript B\quad \EuScript
C\quad \EuScript D\quad \EuScript E\quad \EuScript
F\ldots

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

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

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

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

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

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

Как правильно вставить текст в формулу, описано в разд. "Включение текста в формулы".

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

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

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

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

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

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

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

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

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

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

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

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

Нина Казачек
Нина Казачек
Василий Майоров
Василий Майоров