Используйте среду alignat пакета amsmath, чтобы соответствующие слагаемые располагались в общих столбцах выравнивания в последовательных шагах упрощения. В этом руководстве показано, как создать такой макет в документе LaTeX на Mac, в том числе для шагов, в которых слагаемое исчезает.
Выберите выравнивание, подходящее для вашего вывода
Сначала решите, за чем читателю нужно следить по вертикали: за знаками равенства, началами соответствующих слагаемых или отдельными операторами. Это разные варианты оформления. В приведённом ниже примере нужно сохранить квадратную, линейную и постоянную части в трёх фиксированных позициях при упрощении выражения.
Проект LaTeX направляет читателей к Руководству пользователя по пакету amsmath для набора математических текстов. В документированных средах доступны следующие варианты. Основная документация LaTeX, руководство пользователя amsmath, разделы 3.3–3.7.
| Требуемый макет | Среда | Где размещать |
|---|---|---|
| Выравнивание простой цепочки по знакам равенства | align или align* |
Непосредственно в теле документа |
| Выравнивание нескольких групп соответствующих слагаемых с явным управлением интервалами | alignat или alignat* |
Непосредственно в теле документа |
| Вывод слагаемых с выравниванием под одним номером уравнения | alignedat внутри equation |
Внутри внешней математической среды |
| Перенос уравнения в одном месте выравнивания | split внутри equation |
Внутри внешнего блока отображаемой формулы |
| Перенос длинного уравнения без выравнивания соответствующих слагаемых | multline |
Непосредственно в теле документа |
Для этой задачи начните с alignat*. Пары столбцов позволяют управлять интервалом между группами. Для сравнения, align задаёт интервалы между отдельными группами уравнений, из-за чего вывод с выравниванием по слагаемым может выглядеть неоправданно растянутым. Звёздочка отключает нумерацию уравнений. Руководство пользователя amsmath, раздел 3.6, Learn LaTeX: математика.
Создайте полный пример упрощения с выравниванием по слагаемым
В следующем условном примере собираются подобные степени x, а затем вводятся сокращённые обозначения для коэффициентов. Все буквы обозначают обычные скалярные величины, коммутирующие между собой. Введите обозначения A=a+b, B=c+d и C=e+f; последняя строка меняет обозначения после шага приведения подобных слагаемых.
Сохраните этот полный документ как term-alignment.tex. Необходимый пакет подключается до \begin{document}.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Let $A=a+b$, $B=c+d$, and $C=e+f$.
Then
\begin{alignat*}{3}
P(x)&=a x^2+b x^2 &&{}+c x+d x &&{}+e+f\\
&=(a+b)x^2 &&{}+(c+d)x &&{}+e+f\\
&=A x^2 &&{}+B x &&{}+C
\end{alignat*}
\end{document}
В макете можно выделить три вертикальные группы. В первой находятся знак равенства и квадратичная часть. Вторая начинается со знака плюс перед линейной частью. Третья начинается со знака плюс перед постоянной частью. При сборе коэффициентов ширина каждой группы меняется, но выбранная позиция выравнивания остаётся общей для всех строк.
Это применение документированного механизма столбцов, а не автоматическое распознавание совпадающих алгебраических слагаемых. Вы размещаете каждое выражение в нужном столбце, а среда выравнивания располагает эти столбцы. В примере используются поля с чередующимся выравниванием вправо и влево. Пакет amsmath, раздел 17.
Разберитесь со знаками амперсанда, прежде чем редактировать
В alignat* аргумент {3} задаёт три пары столбцов. Поэтому полностью заданная строка содержит шесть полей и пять разделителей &. Правило подсчёта из руководства: прибавьте единицу к максимальному числу амперсандов в строке и разделите результат на два. Руководство пользователя amsmath, раздел 3.6.
Распределение полей в первой строке:
| Поле | Содержимое | Назначение в примере |
|---|---|---|
| 1 | P(x) |
Выравниваемая вправо левая часть |
| 2 | =a x^2+b x^2 |
Выравниваемая влево группа со знаком равенства и квадратичной частью |
| 3 | Пусто | Неиспользуемое поле с выравниванием вправо |
| 4 | {}+c x+d x |
Выравниваемая влево линейная группа |
| 5 | Пусто | Неиспользуемое поле с выравниванием вправо |
| 6 | {}+e+f |
Выравниваемая влево постоянная группа |
Последовательности && оставляют пустыми поля 3 и 5. В последующих строках начальный & оставляет пустым поле 1, позволяя продолжить вывод с очередного знака равенства. Команда \\ завершает строку.
Пустая группа в {}+ служит левым операндом, позволяя разместить бинарный плюс на границе полей; она не выводит никаких символов. При адаптации этих примеров сохраняйте такую запись. Преамбула выравнивания в пакете также использует пустую группу в начале полей с выравниванием влево. Пакет amsmath, преамбула выравнивания.
Обычные пробелы в исходном коде облегчают чтение, но в математическом режиме они не задают горизонтальные позиции. Позиции выравнивания определяются структурой полей. Learn LaTeX: математика.
Скомпилируйте пример на Mac
Перед компиляцией необходим работающий дистрибутив TeX. В документации по установке TeXShop описаны установка MacTeX и BasicTeX и указано, что приложения находят программы активного дистрибутива через общий каталог /Library/TeX/texbin. TeXShop: установка TeX Live.
Для прямой компиляции сохраните файл как обычный текст на Рабочем столе, откройте Terminal и выполните по порядку две команды:
cd "$HOME/Desktop"
/Library/TeX/texbin/pdflatex -interaction=nonstopmode -halt-on-error term-alignment.tex
Откройте полученный файл term-alignment.pdf и проверьте три группы слагаемых. Инструкции предполагают, что Рабочий стол доступен по пути $HOME/Desktop, а файл имеет в точности указанное имя. Если компиляция остановится, сначала устраните указанную ошибку, а уже затем проверяйте PDF: после предыдущей успешной компиляции там может остаться более старая версия файла.
Сохраните столбцы, когда слагаемое исчезает
При сокращении особенно полезен устойчивый макет. Предположим, линейный коэффициент равен c-c. Возможно, вы захотите, чтобы в итоговой строке постоянный член остался под прежним постоянным членом, а позиция линейного члена стала пустой.
Следующий полный документ сохраняет одну и ту же структуру из шести полей во всех строках. В средней строке явно показан нулевой коэффициент; в последней строке это слагаемое удалено, а постоянный член остаётся на прежнем месте.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Cancelling the linear coefficient gives
\begin{equation}
\begin{alignedat}{3}
Q(x)&=(a+b)x^2 &&{}+(c-c)x &&{}+d\\
&=(a+b)x^2 &&{}+0x &&{}+d\\
&=(a+b)x^2 && &&{}+d
\end{alignedat}
\end{equation}
\end{document}
В последней строке сохраните обе последовательности && после квадратичного выражения. Они сохраняют промежуточные пустые поля. Если удалить одну из последовательностей, постоянный член попадёт в более раннюю группу, изменив смысл вертикального расположения.
В этом примере также показан поддерживаемый способ присвоить всему выводу один номер: поместите alignedat внутри equation. Внутренняя среда занимает естественную ширину содержимого и требует внешней математической среды. Руководство пользователя amsmath, раздел 3.7.
Пустая позиция полезна, пока читатель следит за сокращением. Для отдельной итоговой формулы в другом месте документа запишите компактное выражение (a+b)x^2+d. Решите, должно ли текущее отображение показывать соответствие слагаемых или представлять окончательный результат.
Диагностика проблем с интервалами и выравниванием
Прежде чем менять отдельные интервалы, проверьте структуру. Следующий порядок действий составлен для двух примеров выше.
- Проверьте, что пакет подключён. Оставьте
\usepackage{amsmath}в преамбуле. - Проверьте внешнюю среду. Используйте
alignat*непосредственно в теле документа. Используйтеalignedatвнутриequationили другой подходящей математической среды. - Посчитайте разделители. В каждой строке примеров по пять символов
&для{3}. Сверяйте с этим шаблоном каждую добавленную строку. - Проверьте распределение по группам. Если только одно слагаемое сдвигается в сторону, сравните позицию его поля с предыдущей строкой.
- Проверьте математическое содержимое. Изменение знака, коэффициента или показателя степени означает изменение алгебраического выражения, даже если столбцы выровнены.
Избыточное количество разделителей выравнивания может вызвать ошибку пакета Extra & on this line. Неправильное вложение отображаемой формулы, например align внутри equation, также приводит к ошибке структуры уравнения; для этой цели используйте внутренний строительный блок, например alignedat. Пакет amsmath, раздел 17.
Если один столбец кажется слишком широким, проверьте самое длинное выражение в нём. В первом примере a x^2+b x^2 занимает больше ширины, чем A x^2. Дополнительная ширина помогает сохранить требуемое соответствие. Прежде чем пытаться её уменьшить, подумайте, нужно ли по-прежнему выравнивать все три группы в отдельных позициях.
Также точно определите, что именно выглядит невыравненным. В этих примерах выравниваются начала групп слагаемых, включая стоящие перед ними знаки плюс. Каждый коэффициент, переменная и показатель степени внутри групп по отдельности не выравнивается. Если читателю нужно лишь следить за последовательными равенствами, более простой макет с одной опорной точкой может оказаться понятнее.
Добавьте пояснения, не перестраивая вывод
Если нужно пояснить преобразование, команда mathtools предоставляет команду \shortintertext, вставляющую текст между строками выравнивания с сохранением точек выравнивания. Она подключает пакет amsmath, поэтому измените преамбулу на \usepackage{mathtools}. Пакет mathtools, разделы 2 и 3.5.
Например, после этого изменения пакета замените блок выравнивания в первом полном документе следующим фрагментом с пояснением:
\begin{alignat*}{3}
P(x)&=a x^2+b x^2 &&{}+c x+d x &&{}+e+f\\
\shortintertext{Collect coefficients of matching powers of $x$.}
&=(a+b)x^2 &&{}+(c+d)x &&{}+e+f
\end{alignat*}
Используйте предложение, чтобы объяснить операцию, на которую читателю нужно обратить внимание. Здесь общие столбцы уже показывают, куда попадает каждая группа; вставленный текст объясняет, почему меняется её вид.
Для собственного вывода сначала набросайте нужные группы слагаемых, назначьте каждой группе постоянное поле и сохраняйте эти поля при сокращении. Компилируйте документ после добавления каждого преобразования. Такой порядок делает соответствия намеренными и упрощает понимание исходного кода, когда вы вернётесь к его редактированию.
Источники
- Документация LaTeX — Проект LaTeX.
- Руководство пользователя по пакету amsmath — Американское математическое общество и Проект LaTeX.
- Пакет amsmath — Проект LaTeX.
- Математика — Learn LaTeX.
- Установка TeX Live — TeXShop.
- Пакет mathtools — Morten Høgholm, Lars Madsen и Проект LaTeX3.