我有一系列在環境=
內部對齊的方程式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}
它是 的第五個參數,由定義堆疊的對齊方式\stackengine
給出。{r}
其他選項有{l}
和{c}
。