分割環境內的多線方程

分割環境內的多線方程

我有一系列在環境=內部對齊的方程式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

如果您希望兩條線右對齊,可以將鍵設為mathtoolsfirstline-afterskip0pt域或本機:

\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}

在此輸入影像描述

它是 的第五個參數,由定義堆疊的對齊方式\stackengine給出。{r}其他選項有{l}{c}

相關內容