6. Текст в математических формулах | Руководство по LaTeX
6.1. Команда \text
Чтобы поместить обычный текст в математику, лучше использовать команду \text
, а не такие команды, как \mathrm
. Команда \text
гарантирует, что текст будет установлен с использованием правильного размера шрифта. Шрифт будет текстовым шрифтом, используемым вне текущего математического материала.
1\usepackage{amsmath}
2% -------------------------------------------------------------------------------
3\begin{gather}
4\text{Also, if } \Delta_{\text{max up}} = \Delta_{\text{min down}} \notag \\
5\text{(for all ups and downs) then} \notag \\
6\Delta_{\text{sum of ups}} = \Delta_{\text{sum of downs}}
7\end{gather}
6.2. Имена операторов
Имена общих математических функций (например, sin и log) и операторов (например, min и sup) обычно предпочитают отличать от имен переменных, выделенных курсивом. Так, они традиционно задаются в виде текста латинским шрифтом. В стандартном LaTeX есть предопределенные команды для наиболее распространенных функций и операторов. Пакет amsmath достаточно расширяет набор таких команд. В следующей таблице перечислены как «стандартные» команды, так и команды, предоставляемые amsmath. Последние выделены жирным шрифтом. Те, что выделены курсивом, могут иметь нижний/верхний индекс в предельном положении при использовании в отображаемых формулах.
\arccos | \arcsin | \arctan | |||
\arg | \cos | \cosh | |||
\cot | \coth | \csc | |||
\deg | \det | \dim | |||
\exp | \gcd | \hom | |||
\inf | \injlim | \ker | |||
\lg | \lim | \liminf | |||
\limsup | \ln | \log | |||
\max | \min | \Pr | |||
\projlim | \sec | \sin | |||
\sinh | \sup | \tan | |||
\tanh | \varinjlim | \varliminf | |||
\varlimsup | \varprojlim |
1\usepackage[fleqn]{amsmath}
2\newcommand\abs[1]{\lvert#1\rvert}
3\setlength\mathindent{0pt}
4% -------------------------------------------------------------------------------
5\begin{gather*}
6\lim_{x \rightarrow 0} \frac{ \sin^2(x) }{ x^2 } = 1 \\
7\varliminf_{n \rightarrow \infty}
8\abs{a_{n+1}} / \abs{a_n} = 0 \\
9\varinjlim (m_i^\lambda \cdot M)^* \le
10\varprojlim_{A/p \rightarrow \lambda(A)}A_p \le 0
11\end{gather*}
Зачастую оказывается, что этого списка недостаточно. Пакет amsmath определяет общий метод определения новых «имен операторов».
1\DeclareMathOperator*{cmd}{text}
Команда \DeclareMathOperator
определяет cmd
для создания текста
в соответствующем шрифте для «текстовых операторов». Если ожидается, что новый оператор будет иметь индексы/верхние индексы в предельной позиции (при использовании в дисплеях), то следует использовать звездчатую форму \DeclareMathOperator*
. В дополнение к использованию правильного шрифта, \DeclareMathOperator
устанавливает хороший интервал по обе стороны от имени оператора. Текстовый аргумент обрабатывается с использованием «псевдотекстового режима», в котором
- Символ дефиса печатается как текстовый дефис (а не знак минуса) (см.
\supminus
в следующем примере). - Символ звездочки
*
печатается в виде выпуклой текстовой звездочки (не по центру). - В противном случае текст обрабатывается в математическом режиме, поэтому пробелы игнорируются, и вы можете использовать нижние и верхние индексы и другие элементы.
В следующем примере показано, как предоставить команду \meas
для нового имени функции “meas” (мера) и операторных функций \essup
и \supminus
(обе могут иметь нижние/верхние индексы в предельной позиции).
1\usepackage[fleqn]{amsmath}
2\DeclareMathOperator \meas {meas}
3\DeclareMathOperator*\esssup {ess \, sup}
4\DeclareMathOperator*\supminus{sup - minus*}
5\newcommand\abs [1]{\lvert#1\rvert}
6\newcommand\norm[1]{\lVert#1\rVert}
7% -------------------------------------------------------------------------------
8\begin{gather*}
9 \norm{f}_\infty = \esssup_{x \in R^n} \abs{f(x)} \\
10 \meas_1 \{ u \in R_+^1 \colon f^*(u)>\alpha \} \\
11 \quad \esssup_{x \in R^i} \; \meas_i
12 \{ u \in R^n \colon \abs{f(u)} \geq \alpha \} \\
13 \quad (\forall \alpha \in \supminus_{f^*} R_{*+})
14\end{gather*}
Такие декларации должны присутствовать в преамбуле, и временно изменить их невозможно. Строго говоря, \DeclareMathOperator
можно использовать только для имен команд, которые ранее не использовались. Чтобы заменить существующую команду, необходимо сначала удалить предыдущее определение, прежде чем переобъявлять его.
1\usepackage{amsmath}
2%% Low-level TeX needed here to cancel the old the definition of \csc:
3\let \csc \relax
4\DeclareMathOperator\csc{cosec}
5\newcommand\calQ{\mathcal{Q}}
6% -------------------------------------------------------------------------------
7\[
8\varlimsup_{n\to\infty} \calQ (u_n, u_n - u^{\#})
9 \ge \csc (\calQ' (u^{\#}))
10\]