Как набирать формулы
Смена шрифтов в формуле
По умолчанию все латинские буквы в формулах набираются курсивом. Что делать, если вам нужен другой шрифт?
В первой лекции мы приводили примеры смены шрифтов в тексте с помощью команд наподобие \bfseries или \itshape. В формулах, однако же, для этих целей надо использовать другие средства.
Пусть, например, вам нужна буква , набранная прямым жирным шрифтом. Тогда надо воспользоваться командой \mathbf:
Если буква (в таком начертании) встречается в формулах часто, разумно определить для нее сокращенное обозначение. Чтобы узнать, как это делается, посмотрите начало "Создание новых команд" .
Вот полный список начертаний символов в формулах, которые можно получить без подключения дополнительных стилевых пакетов:
Команду \mathcal, вызывающую "каллиграфический" шрифт, можно применять только к прописным латинским буквам.
Команда \mathit дает одну из возможностей (и не лучшую, надо сказать) получить прописные греческие буквы в наклонном начертании. Дело в том, что если у вас подключен пакет amsmath, то команда \mathit работать откажется (по крайней мере, в некоторых версиях этого пакета). В этом случае для печати в формуле прописных греческих букв в наклонном начертании применяются специальные команды, в которых перед названием буквы стоит var:
\varGamma | |
\varDelta | |
\varTheta | |
\varLambda | |
\varXi | |
\varPi | |
\varSigma | |
\varUpsilon | |
\varPhi | |
\varPsi | |
\varOmega |
Как мог заметить читатель, команды наподобие \mathrm действуют только на непосредственно следующую букву. Если нужно, чтобы другим шрифтом была напечатана не одна буква, а несколько, надо все эти буквы взять в фигурные скобки:
Все сказанное означает, что команда \mathrm и ей подобные принимают один обязательный аргумент — фрагмент формулы, который надо напечатать другим шрифтом. На первый взгляд, это противоречит сказанному нами выше: ведь обязательный аргумент должен быть в фигурных скобках, а в конструкциях вроде \mathbf x никаких фигурных скобок нет. Дело в том, что, в дополнение к сказанному ранее, действует еще одно правило: если после имени команды, принимающей обязательный аргумент, следует не открывающая фигурная скобка, а буква, то в качестве аргумента будет воспринята именно эта буква. Так что можно было бы писать и \mathbf{x} вместо \mathbf x, но так обычно не делают, чтобы не нажимать лишний раз на клавиши.
Если подключить стилевой пакет amsfonts или amssymb, то в математических формулах можно использовать еще два шрифта: ажурный ( , , ,... и готический ( , , ,...). Ажурным шрифтом можно печатать только прописные буквы; он задается командой \mathbb (как и в случае с остальными командами, описываемыми в этом разделе, ажурным шрифтом печатается буква, следующая непосредственно после команды \mathbb ; если надо напечатать этим шрифтом несколько букв, их следует взять в фигурные скобки). Готический шрифт задается командой \mathfrak ; она также действует только на непосредственно следующую букву (или на несколько букв, если они взяты в фигурные скобки):
Существует также стилевой пакет eufrak, при подключении которого становится доступным готический шрифт (с командой \mathfrak ), но не ажурный.
Наконец, есть возможность использовать в формулах вариант рукописного шрифта, в котором буквы имеют более изысканные очертания:
Для этого надо подключить стилевой пакет \euscript; команда, задающая этот шрифт, называется \EuScript.
Теперь, когда вы знаете, как печатать символы в формулах прямым шрифтом, может возникнуть искушение восполнить отсутствие в стандартном комплекте LaTeX'а команды, дающей функцию , путем набора чего-нибудь вроде \mathrm{tg}x. Так делать, однако, не надо, поскольку при этом пробелы будут неправильными:
. | В формуле $\mathrm{tg} x$ буква $x$слишком близка к знаку тангенса. А вот в формуле $\sin x$ пробелы правильные. |
Правильно действовать так, как рекомендуется выше. Если вам хочется узнать, почему все так получается, прочтите разд."Снова об интервалах и формулах".
Если вы хотите включить в формулу какой-либо текст, то одной команды \mathrm для этого также недостаточно: любой текст, заключенный между знаками доллара, пусть даже он набирается прямым шрифтом, TeX рассматривает как часть математической формулы, и в соответствии с этим игнорирует те пробелы, которые ставите вы, и расставляет пробелы по собственным правилам:
Как правильно вставить текст в формулу, описано в разд. "Включение текста в формулы".
Остается только отметить, что ажурный и готический шрифты, о которых шла речь сейчас, можно использовать только в формулах, и набирать с их помощью обычный текст невозможно (так же, как невозможно набирать греческий текст с помощью команд \alpha, \beta и т.д.).
Кроме описанного выше (и рекомендуемого нами) способа переключения шрифтов в формулах, в LaTeX'е пока сохраняется (ради совместимости с LaTeX'ом 2.09) еще один способ, с которым можно ознакомиться из приведенной ниже таблицы.
Правильный способ: | Устаревший способ: | Получается: |
---|---|---|
\mathrm x+y | {\rm x}+y | |
\mathbf x+y | {\bf x}+y | |
\mathsf x+y | {\sf x}+y | |
\mathtt x+y | {\tt x}+y | |
\mathcal T_X | {\cal T}_X |
Включение текста в формулы
В математическую формулу можно включить фрагмент обычного текста с помощью LaTeX'овской команды \mbox. В следующем примере продемонстрировано, как это можно сделать; в нем используется еще команда \qquad, делающая в тексте или формуле пробел размером 2em ; подробнее по поводу команд, создающих пробелы в формулах, см. разд. "Пробелы вручную"; по поводу команд, создающих пробелы в тексте, см. разд. "Установка промежутков вручную ". "Набор текста"
Аргумент команды \mbox обрабатывается TeX'ом как обычный текст: пробелы не игнорируются, слова набираются не математическим курсивом, а тем же шрифтом, который был текущим перед началом формулы (у нас это был обычный прямой шрифт; если вы хотите, чтобы шрифт был другой, можно внутри аргумента команды \mbox дать команду смены шрифта в тексте). Весь текст, являющийся аргументом команды \mbox, будет напечатан в одну строку. В приведенном примере мы оставили пробел перед закрывающей фигурной скобкой, чтобы обеспечить пробел между текстом и формулой (фрагмент текста, созданный командой \mbox, рассматривается TeX'ом как одна большая буква; пробел в формуле между "буквой", содержащей текст из \mbox, и буквой будет недостаточен). Команда \qquad была использована по аналогичной причине.
На самом деле можно было бы написать даже так:
$$ \sqrt{x^3}=x\qquad\mbox{для всех $x$.} $$
Аргумент команды \mbox рассматривается как текст, но этот текст вполне может, в свою очередь, содержать формулы!
При включении текста в формулы с помощью команды \mbox важно иметь в виду вот что. Как читатель, видимо, уже заметил, в математических формулах верхние и нижние индексы, числитель и знаменатель дробей, созданных с помощью команды \frac, и тому подобные фрагменты набираются более мелким шрифтом, чем остальная часть формулы. Однако в тексте, созданном с помощью \mbox, размер шрифта не изменится, в какую бы часть формулы этот текст не попал. Если вас это не устраивает, подключите стилевой пакет \amsmath и воспользуйтесь командой \text вместо \mbox \,: тогда включенный в формулу текст будет правильно менять размеры в степенях и индексах, а если аргумент команды \text сам, в свою очередь, содержит формулу, то размеры символов в этой формуле будут выбраны более правильно, чем при использовании \mbox.
Вне математических формул команду \text использовать нельзя.
Команда \mbox еще встретится нам в следующей лекции, когда речь пойдет о предотвращении переносов в словах; более подробно мы ее рассмотрим в "Блоки и клей" .