Многострочное уравнение внутри разделенной среды

Многострочное уравнение внутри разделенной среды

У меня есть ряд уравнений, выровненных =внутри 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}

Выход 1

Примечание: \!перед окружением необходимо установить правильный интервал между =и 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}

Вывод 2

Если вы хотите выровнять две строки по правому краю, вы можете установить ключ 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}

Вывод 3

решение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}.

Связанный контент