我有以下等式:
\documentclass[a4paper,oneside]{scrbook}
\usepackage{amsmath}
\begin{document}
\begin{equation*}
\begin{aligned}
X & = A * A * \Big( A * A * A * A
& + AA * AA \\
&& + AA * AA \\
&& + AA * AA & \Big)
\\
& + B * B * \Big( B * B
& + BB * BB \\
&& + BB * BB \\
&& + BB * BB & \Big)
\\
& + C * C * \Big( C * C * C * C * C * C
& + CC * CC \\
&& + CC * CC \\
&& + CC * CC & \Big)
\\
& + D * D + D * D \\
& + D * D + D * D
\end{aligned}
\end{equation*}
\end{document}
我希望双字符AA BB CC
像示例中那样更靠左对齐CC
(但即使有一点间隙)。
我希望它在一个等式中,这样它将被分配一个数字。我花了将近 5 小时自己尝试,但不管我怎么做,我都无法在等式中正确对齐它。
如何对齐?
答案1
这是使用环境aligned
内部的解决方案。只需要在右侧获得一个垂直居中的标签。如果您想将其放在第一行,则必须删除此行以及除第一行(或最后一行)之外的所有行。align
split
\notag
% arara: pdflatex
\documentclass[a4paper,oneside]{scrbook}
\usepackage{amsmath}
\begin{document}
\begin{align}
\begin{split}
X &= \begin{aligned}[t]
A * A * \Bigl( A * A * A * A &+ AA * AA \\
&+ AA * AA \\
&+ AA * AA\Bigr)\\
\end{aligned}\\
&\hphantom{={}}\begin{aligned}[t]
{}+ B * B * \Bigl( B * B &+ BB * BB \\
&+ BB * BB \\
&+ BB * BB\Bigr)
\end{aligned}\\
&\hphantom{={}}\begin{aligned}[t]
{}+ C * C * \Bigl( C * C * C * C * C * C &+ CC * CC \\
&+ CC * CC \\
&+ CC * CC\Bigr)
\end{aligned}\\
&\hphantom{={}}+ D * D + D * D \\
&\hphantom{={}}+ D * D + D * D
\end{split}
\end{align}
\end{document}
答案2
这是使用表格堆栈实现的一种方法
\documentclass[a4paper,oneside]{scrbook}
\usepackage{amsmath,tabstackengine}
\begin{document}
\begin{equation*}
\stackMath
\TABbinary\setstackgap{L}{1.3\baselineskip}
\savestack{\Aterm}{\Longunderstack[l]{%
{}+ AA * AA\\ {}+ AA * AA \\ {}+ AA * AA \Big)%
}}
\savestack{\Bterm}{\Longunderstack[l]{%
{}+ BB * BB\\ {}+ BB * BB \\ {}+ BB * BB \Big)%
}}
\savestack{\Cterm}{\Longunderstack[l]{%
{}+ CC * CC\\ {}+ CC * CC \\ {}+ CC * CC \Big)%
}}
\alignShortstack{
X & = A * A * \Big( A * A * A * A \Aterm \\
& + B * B * \Big( B * B \Bterm \\
& + C * C * \Big( C * C * C * C * C * C \Cterm \\
& + D * D + D * D \\
& + D * D + D * D
}
\end{equation*}
\end{document}