Чтобы разместить блок cases между выровненными шагами в одном уравнении LaTeX, поместите cases в строку aligned, а затем оберните всю структуру в equation. Так знаки равенства будут выровнены, а всему выводу будет присвоен один номер уравнения.
Это руководство предназначено для тех, кто редактирует документ .tex на Mac и хочет разместить обычные алгебраические шаги до и после кусочно заданного выражения. В основном примере используется только amsmath; альтернативы поясняют, в каких случаях уместны mathtools или независимо центрированные блоки.
Как разместить шаги и блок cases в одном выровненном уравнении?
Используйте три вложенных уровня: equation содержит всё отображаемое выражение, aligned задаёт расположение вывода, а cases помещает выражение в фигурных скобках в одну строку. В официальном руководстве aligned описывается как строительный блок, который можно включить в охватывающее выражение; и aligned, и cases должны находиться в математическом режиме. См. раздел 3.7 Руководства пользователя пакета amsmath.
Вот полный документ. Пусть n — целое число, а a — скаляр. Выражение равно a независимо от того, является ли n чётным или нечётным; блок cases делает это промежуточное рассуждение наглядным.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Let \(n\) be an integer and \(a\) be a scalar.
\begin{equation}
\label{eq:cases-chain}
\begin{aligned}
S(n) &= a\bigl[(-1)^n+1-(-1)^n\bigr] \\
&= a(-1)^n+a\bigl(1-(-1)^n\bigr) \\
&= \begin{cases}
a+0, & \text{if } n \text{ is even}, \\
-a+2a, & \text{if } n \text{ is odd}
\end{cases} \\
&= a.
\end{aligned}
\end{equation}
The result is recorded in \eqref{eq:cases-chain}.
\end{document}
В примере четыре внешние строки. В первых двух раскрывается выражение, в третьей оно вычисляется с учётом чётности, а в четвёртой приводится общий результат. Обе ветви сводятся к a, поэтому последнее равенство выполняется для любого целого n. Эта алгебра приведена для иллюстрации; замените её выражениями и условиями из собственного вывода.
Каким средам принадлежат амперсанды и разрывы строк?
Внешний &= задаёт точку выравнивания перед каждым знаком равенства. Внутри cases амперсанд отделяет выражение в ветви от её условия. Эти уровни выполняют разные задачи: блок cases занимает часть одной внешней строки, хотя сам содержит несколько строк с ветвями. Пакет реализует cases как двухколоночный массив с левой фигурной скобкой, как показано в документации пакета amsmath.
Ключевой переход в этом примере — \end{cases} \\. Закрывающий cases завершает кусочно заданное выражение; следующий \\ завершает внешнюю строку aligned. После этого &= a начинает следующую строку под предыдущими знаками равенства. Разрыв строки внутри cases лишь переходит к другой ветви.
При адаптации примера сначала сохраните эту структуру. Изменяйте по одному выражению ветви или условию, а затем проверяйте результат. Так проще определить, вызвана ли неожиданная компоновка внешним выводом или самим кусочно заданным выражением.
Как использовать пример на Mac?
Вам понадобятся работающий дистрибутив LaTeX и редактор исходного кода. Если вы уже используете TeXShop, в нём есть редактор и предварительный просмотр PDF, а для набора текста применяется TeX Live. Согласно странице разработчика О TeXShop, в рабочем процессе PDF по умолчанию используются pdftex и pdflatex.
- Создайте новый исходный документ и вставьте полный пример.
- Сохраните его как
cases-between-steps.tex. - Выберите механизм набора LaTeX, например
pdflatex. - Выберите
Typesetв меню TeXShopTypeset. Эта команда выполняет набор текущего документа, как описано в Изменениях TeXShop. - Если ссылка на уравнение не разрешилась, выполните набор ещё раз, а затем проверьте PDF.
В предварительном просмотре проверьте три особенности: внешние знаки равенства образуют один вертикальный столбец, скобка охватывает только две ветви, а всему выводу присвоен один номер уравнения. Также прочитайте оба условия и последнюю строку, чтобы убедиться, что математическое содержание сохранилось после редактирования.
Эти примеры были сверены с документацией, но здесь не компилировались, поскольку механизм LaTeX был недоступен. Перед добавлением в крупный проект проверьте небольшой отдельный документ.
Какие среды и пакеты выбрать?
Выбирайте внешнюю структуру в зависимости от связи между шагами. Для одной непрерывной цепочки равенств используйте общее выравнивание. Если отдельные группы нужно лишь расположить над блоком cases и под ним, воспользуйтесь альтернативой с независимым центрированием из следующего раздела.
| Желаемый результат | Структура | Пакет |
|---|---|---|
| Общее выравнивание знаков равенства и один номер | equation, содержащий aligned с вложенным cases |
amsmath |
| Независимо центрированные группы и один номер | equation, содержащий gathered с вложенными блоками |
amsmath |
| Более крупные дроби во всех строках cases | Замените cases на dcases |
mathtools |
| Условия автоматически набираются как текст | Используйте cases* или dcases* |
mathtools |
Компактные строительные блоки описаны в руководстве пользователя amsmath; дополнительные варианты cases описаны в разделе 3.4.3 документации пакета mathtools.
Когда следует заменить cases на dcases?
В обычной среде cases используется математический режим текста. Среда dcases из пакета mathtools использует дисплейный математический стиль, что удобно, когда дробям нужно больше места. Подключение mathtools также подключает amsmath. Вариант со звёздочкой dcases* задаёт текстовый формат второго столбца; математические условия в нём следует заключать в разделители встроенного математического режима. Эти особенности описаны в пакете mathtools.
Эта полная альтернатива использует дроби. Для целого числа n знаменатель в первой строке равен либо трём, либо единице, поэтому обе ветви определены.
\documentclass{article}
\usepackage{mathtools}
\begin{document}
Let \(n\) be an integer and \(a\) be a scalar.
\begin{equation}
\begin{aligned}
T(n) &= \frac{2a}{2+(-1)^n} \\
&= \begin{dcases}
\frac{2a}{3}, & \text{if } n \text{ is even}, \\
2a, & \text{if } n \text{ is odd}
\end{dcases} \\
&= \frac{a}{1+\frac{1}{2}(-1)^n}.
\end{aligned}
\end{equation}
\end{document}
Здесь изменение стиля ветвей не меняет внешнюю компоновку. Выберите cases для компактных ветвей и dcases, если дробям полезен дисплейный стиль. В cases или dcases помещайте пояснительный текст в \text{...}; в вариантах со звёздочкой вводите его непосредственно во втором столбце.
Что делать, если блоки нужно лишь расположить друг под другом?
Используйте gathered, если верхней и нижней группам требуется собственное локальное выравнивание. Это применение компактных строительных блоков, описанных в руководстве: каждая группа aligned становится одной строкой охватывающей структуры gathered. См. Строительные блоки выравнивания amsmath.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Let \(n\) be an integer and \(a,b\) be scalars.
\begin{equation}
\begin{gathered}
\begin{aligned}
S(n) &= a\bigl[(-1)^n+1-(-1)^n\bigr] \\
&= a(-1)^n+a\bigl(1-(-1)^n\bigr)
\end{aligned} \\
S(n)=\begin{cases}
a+0, & \text{if } n \text{ is even}, \\
-a+2a, & \text{if } n \text{ is odd}
\end{cases} \\
\begin{aligned}
S(n) &= a, \\
S(n)+b &= a+b.
\end{aligned}
\end{gathered}
\end{equation}
\end{document}
В этой компоновке верхняя группа, среднее выражение и нижняя группа намеренно располагаются по горизонтали независимо друг от друга. Их знаки равенства необязательно должны совпадать между группами. Повторение S(n) явно показывает связь, а последняя строка добавляет следствие результата.
Если нужен один непрерывный столбец знаков равенства, вернитесь к первому примеру. Отдельные группы aligned не могут иметь общую точку выравнивания лишь потому, что находятся в одном уравнении.
Как диагностировать типичные проблемы компоновки?
Проверяйте структуру снаружи внутрь. Найдите нумерованное отображаемое выражение, затем структуру, создающую его строки, и после этого блок cases. Прежде чем корректировать интервалы, выполните следующие проверки:
- Нижние шаги расположены рядом с блоком cases: проверьте наличие внешнего
\\сразу после\end{cases}. - Предполагаемое продолжение появляется под скобкой: проверьте, стоит ли перед ним
\end{cases}. - Верхние и нижние знаки равенства не совпадают: проверьте, не принадлежат ли они отдельным группам
aligned. Для общего выравнивания используйте один внешнийaligned. - Документ сообщает о некорректной вложенности: проверьте, не находится ли
alignвнутриequation. В этой позиции используйте подчинённую средуaligned. - Дроби выглядят слишком мелкими: рассмотрите вариант
dcasesи подключитеmathtools.
Диагностика вложенности основана на документированном способе восстановления пакета после некорректного вложения структур уравнений, при котором вместо них используется aligned; см. документацию пакета amsmath. Альтернатива для дробей описана в документации cases пакета mathtools.
Чтобы немного увеличить интервал после блока cases, замените завершающий символ строки внешнего блока на \end{cases} \\[4pt]. Указанное значение — пример для начала подбора. Не вставляйте пустые строки внутрь математической среды и не ставьте \\ в конце последней строки. Эти правила рассмотрены в разделах 3.1 и 3.9 руководства пользователя amsmath.
Существенное ограничение связано с разбиением по страницам: aligned и gathered образуют неделимые структуры, поэтому \allowdisplaybreaks не сможет разбить их между страницами. Для необычно длинного вывода измените структуру отображаемого выражения, вместо того чтобы рассчитывать на то, что эта вложенная компоновка разделится данной командой. Это ограничение описано в рекомендациях amsmath по разрывам страниц.
Для обычного короткого вывода начните с одного equation, одного aligned и вложенной строки cases. Оставьте внешний разрыв строки после блока cases, проверьте условия всех ветвей и переходите к другой структуре, только если вам требуется иное горизонтальное выравнивание или математический размер.
Источники
- Руководство пользователя пакета amsmath — Американское математическое общество и Проект LaTeX.
- Пакет amsmath — Проект LaTeX, распространяется через CTAN.
- Пакет mathtools — Morten Høgholm, Lars Madsen и Проект LaTeX3, распространяется через CTAN.
- О TeXShop — Richard Koch, Университет Орегона.
- Изменения TeXShop — Richard Koch, Университет Орегона.