Два режима: строчная и выключная математика

Урок вводит два режима математики — строчный и выключной — и учит переключаться в них.

Матрежим — особый режим набора, в котором символы трактуются как математика: буквы становятся переменными, появляются специальные команды и интервалы.

Вне матрежима LaTeX не знает, что x^2 — это «икс в квадрате». Поэтому любую формулу нужно явно поместить в математический режим. Их два: строчный (внутри строки текста) и выключной (отдельной строкой по центру).

Строчная формула

Строчная (inline) формула вставляется прямо в предложение между знаками доллара $...$:

Уравнение прямой имеет вид $y = kx + b$, где $k$ — наклон.

Получится: уравнение прямой имеет вид $y = kx + b$, где $k$ — наклон. Формула набирается по высоте строки и встроена в текст.

Выключная формула

Выключная (display) формула выносится в отдельную строку, центрируется и набирается крупнее. Современный способ — окружение из пакета amsmath или команда \[...\]:

\[
  y = kx + b
\]

$$y = kx + b$$

Тот же результат даёт парный $$...$$ (как используется на этой странице для рендера), но в «настоящем» LaTeX рекомендуют \[...\] или окружение equation — у них корректнее интервалы. Окружение equation вдобавок ставит номер формулы:

\begin{equation}
  y = kx + b
\end{equation}

Когда какой режим

  • Строчный — для коротких выражений по тексту: $a^2 + b^2 = c^2$, $\pi \approx 3{,}14$.
  • Выключной — для важных, крупных или нумеруемых формул, на которые будут ссылаться.

В строчном режиме LaTeX «поджимает» формулу по высоте строки (пределы суммы рисуются сбоку, дроби мельче), в выключном — даёт ей развернуться (пределы сверху и снизу, крупные знаки). Сравните сумму:

Строчная: $\sum_{i=1}^{n} i$ против выключной ниже.

Строчная: $\sum_{i=1}^{n} i$. А вот выключная — пределы встают над и под знаком:

$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$

Как работает под капотом

Знак $ переключает catcode в «математический»: с этого момента пробелы игнорируются (интервалы LaTeX расставляет сам по типографским правилам), буквы набираются курсивом как переменные, а команды вроде \sum доступны. Второй $ возвращает текстовый режим. Display-режим отличается значением внутреннего флага \displaystyle: он включает крупные начертания операторов и размещение пределов сверху/снизу. Поэтому одна и та же формула выглядит по-разному в строке и в выноске.

Частые ошибки

  • Забыть закрыть $ — весь дальнейший текст уедет в матрежим (курсивом, без пробелов).
  • Писать математику без долларовx^2 в тексте даст ошибку «Missing $ inserted».
  • Ставить пробелы для интервалов в формуле — они игнорируются; интервалы задают командами (\,, \quad).

Итоги

  • Математика живёт в матрежиме; вне его формулы не набрать.
  • Строчный режим — $...$; выключной — \[...\] или equation.
  • В выключном режиме формула крупнее, пределы — над и под знаком.

Почему пробелы внутри формулы не считаются

Начинающих часто удивляет, что в матрежиме пробел вообще ни на что не влияет: a+b, a + b и a + b дадут абсолютно одинаковый результат. Дело в том, что внутри математики LaTeX не верстает символы «как вы их напечатали», а классифицирует каждый из них и расставляет интервалы сам, по типографским правилам. Пробел в исходнике — это лишь разделитель токенов: он помогает движку понять, где кончается имя команды (например, \alpha x против \alphax), но в итоговую формулу его ширина не попадает. Поэтому красивый отступ в исходнике для удобства чтения — пожалуйста, а вот «подвинуть» им что-то в готовой формуле нельзя.

Чем же тогда управляется автоматический интервал? Каждый символ получает один из классов: обычный (ordinary — буквы, цифры), оператор (operator — \sin, \lim), бинарный знак (binary — +, \cdot), отношение (relation — =, \leq), а также скобки-ограничители и пунктуация. Между классами заложены разные интервалы: вокруг знака отношения отступ шире, чем вокруг бинарного плюса, а у обычных букв интервала нет вовсе. Именно поэтому a=b выглядит «дышащим», хотя пробелов вы не ставили. Зная про классы, легко понять загадочные случаи: если написать a:b как множество, двоеточие как пунктуация прижмётся не туда — иногда его берут в \colon, чтобы получить трактовку «отношение».

Когда автоматики не хватает, интервал добавляют вручную специальными командами фиксированной ширины: \, — тонкий пробел, \: — средний, \; — широкий, \quad — пробел в один «em», \qquad — в два. Есть и отрицательный тонкий пробел \!, который, наоборот, поджимает символы — он выручает, когда два знака случайно слиплись. Все эти команды не зависят от шрифта и кегля в привычном смысле: их ширина измеряется в «математических единицах», поэтому формула остаётся аккуратной и в строке, и в крупной выноске.

Отсюда практический вывод: не пытайтесь «нарисовать» формулу пробелами, как в текстовом редакторе. Если выражение кажется тесным или, наоборот, разъехавшимся, причина почти всегда в классе символа, а не в числе пробелов. Сначала проверьте, правильно ли LaTeX распознал ваши знаки (не записан ли оператор как набор букв, не потерян ли \), и лишь затем точечно правьте интервалы командами вроде \, или \!. Такой подход даёт стабильный, воспроизводимый результат, а не подгонку «на глаз».

Проверьте себя
1. Как вставить короткую формулу прямо внутрь предложения?
AОкружением equation
BМежду знаками доллара: $...$
CКомандой \display
DВ квадратных скобках [...]
2. Чем выключная формула отличается от строчной по виду?
AНичем
BОна крупнее, центрируется, и пределы сумм/интегралов рисуются над и под знаком
CОна всегда красного цвета
DОна не может содержать дроби
3. Что будет, если забыть закрывающий знак $?
ALaTeX добавит его сам без последствий
BДальнейший текст уйдёт в матрежим: курсив, без пробелов, вероятна ошибка
CФормула просто не отрисуется
DДокумент станет пустым