У меня есть ряд уравнений, выровненных =
внутри split
среды. (На самом деле это одно и то же уравнение, поэтому левая часть отсутствует во всех уравнениях, кроме первого.)
К сожалению, последнее уравнение очень длинное и не помещается в одну строку. Его нужно разделить. Я не знаю, как принято, но я бы сказал, что его нужно выровнять по правому краю. Как это сделать?
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= c + c + c + c + c + c + c + c + c + c + c + c \\
% obviously does not work
\hfill + c + c + c + c + c + c + c + c + c + c
\end{split}
\]
\end{document}
решение1
Вы можете воспользоватьсяmathtools
' multlined
среда:
\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= \!\begin{multlined}[t]
c + c + c + c + c + c + c + c + c + c + c + c \\
+ c + c + c + c + c + c + c + c + c + c
\end{multlined}
\end{split}
\]
\end{document}
Примечание: \!
перед окружением необходимо установить правильный интервал между =
и c
.
Также можно указать общую ширину двух строк (от левого поля первой строки до правого поля последней строки) в качестве необязательного аргумента multlined
:
\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= \!\begin{multlined}[t][10cm]
c + c + c + c + c + c + c + c + c + c + c + c \\
+ c + c + c + c + c + c + c + c + c + c
\end{multlined}
\end{split}
\]
\end{document}
Если вы хотите выровнять две строки по правому краю, вы можете установить ключ mathtools
на firstline-afterskip
глобальном 0pt
или локальном уровне:
\documentclass[border=5pt,preview]{standalone}
\usepackage{amsmath,mathtools}
\begin{document}
\mathtoolsset{firstline-afterskip=0pt}
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= \!\begin{multlined}[t]
c + c + c + c + c + c + c + c + c + c + c + c \\
+ c + c + c + c + c + c + c + c + c + c
\end{multlined}
\end{split}
\]
\end{document}
решение2
Стандартный и самый простой метод — просто добавить линию к split
и сдвинуть вправо, скажем, на один квадрат. Это метод, который я бы предпочел, не беспокоясь о выравнивании.
В качестве альтернативы можно использовать multlined
из mathtools
:
\documentclass{article}
\usepackage{amsmath,mathtools}
\begin{document}
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= c + c + c + c + c + c + c + c + c + c + c + c \\
&\qquad + c + c + c + c + c + c + c + c + c + c
\end{split}
\]
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= \mathtoolsset{firstline-afterskip=0pt}
\!\begin{multlined}[t] % <---- don't forget \!
c + c + c + c + c + c + c + c + c + c + c + c \\
+ c + c + c + c + c + c + c + c + c + c
\end{multlined}
\end{split}
\]
\end{document}
решение3
Например, можно использовать стек. Если бы высота строк была одинаковой, это бы сработало:
\documentclass{article}
\usepackage{amsmath,stackengine}
\stackMath
\begin{document}
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= \stackengine{\baselineskip}{c + c + c + c + c + c + c + c + c + c + c + c}
{{}+ c + c + c + c + c + c + c + c + c + c}{U}{r}{F}{F}{L}
\end{split}
\]
\end{document}
Если бы сложенные ряды были нестандартной высоты, то это:
\documentclass{article}
\usepackage{amsmath,stackengine}
\stackMath
\begin{document}
\[
\begin{split}
x &= a + a \\
&= b + b + b + b \\
&= \stackengine{5pt}{c + c + c + c + \dfrac{a}{b} + c + c + c + c + c + c + c}
{{}+ c + \dfrac{c}{d} + c + c + c + c + c + c + c + c}{U}{r}{F}{F}{S}
\end{split}
\]
\end{document}
Это 5-й аргумент \stackengine
, заданный , {r}
который определяет выравнивание стека. Другие варианты — {l}
и {c}
.