我想要一个包含嵌套对齐环境的方程,其中每一行都像子方程一样编号,例如 1a)、1b)、1c) 等。
我已经有了以下代码几乎我想要的是:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{subequations}
\begin{align}
A &+ 1 &&+ &&2 &&=C \\
B &+ 222 &&
\begin{aligned}[t]
&123 && + && 345 && - && 678 \\
&12 && - && 2
\end{aligned} && && =D \\
E &+ 33 &&- &&5 &&=F
\end{align}
\end{subequations}
\end{document}
因为它会生成以下输出:
但是,我希望第三行编号为(1c),第四行应该是(1d)。
我怎样才能实现这个目标?
答案1
您可以尝试通过隐藏对齐的深度并添加空行来欺骗 LaTeX:
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{subequations}
\begin{align}
A &+ 1 &&+ &&2 &&=C \\
B &+ 222 &&
\smash{\begin{aligned}[t]
&123 && + && 345 && - && 678 \\
&12 && - && 2
\end{aligned}} && && =D \\
\\
E &+ 33 &&- &&5 &&=F
\end{align}
\end{subequations}
\end{document}
答案2
两个对齐的环境而不是一个环境,小包makebox
就可以解决问题:
\documentclass{article}
\usepackage{amsmath}
\usepackage{makebox}
\begin{document}
\begin{subequations}
\begin{align}
A &+ 1 &&+ &&2 &&=C \\
B &+ 222 &&
\begin{aligned}
&123 && + && 345 && - && 678
\end{aligned} && && =D\\
& & &
\begin{aligned}
&\makebox*{$123$}[l]{$ 12 $} && - && 2
\end{aligned}
\\
E &+ 33 &&- &&5 &&=F
\end{align}
\end{subequations}
\end{document}