如何在 flalign 环境中将单个多行方程的方程编号置于中心,同时与等号处的其他方程保持对齐?
基本上我想要这个
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\begin{flalign}
AAA &= 2 X Y - D Z & \\
B &= 2 X Y \left( h_1 v_1 + v_2 \right) & \nonumber \\
& \qquad - X^3 \left( 2 h_2 v_2 + K_2 \right) &
\end{flalign}
\end{document}
但方程编号 (2) 位于第二条方程的两条线之间。
我已经看到了这个问题的几个答案,但它们要么只涉及一个不需要与其他方程对齐的多线方程(例如在 flalign 环境中有一个中心方程数),在这种情况下,使用对齐或拆分可以轻松实现中心方程数,或者是两个方程等号左边的表达式恰好具有相同的长度,因此自然对齐(例如将多行方程式左对齐,且仅使用一个方程式编号)。
编辑:这是屏幕截图。
答案1
我建议您将第 2 行和第 3 行放在嵌套aligned
环境中。
以下屏幕截图显示了原始代码和建议替换代码的输出。
就我个人而言,我忍不住想知道,通过将第二个方程数字置于 3 行构造的第 2 行和第 3 行的中心,您可能想要实现什么。话虽如此,我也无法理解为什么您使用的是flalign
环境而不是align
环境。
\documentclass{article}
\usepackage{mathtools,calc,xcolor}
\newcommand\mybox[1]{%
\parbox{\widthof{$AAA$}}{\raggedleft$\displaystyle #1 $}}
\begin{document}
\noindent
\textcolor{red}{before}
\begin{flalign}
AAA &= 2 X Y - D Z & \\
B &= 2 X Y \left( h_1 v_1 + v_2 \right) & \nonumber \\
& \qquad - X^3 \left( 2 h_2 v_2 + K_2 \right) &
\end{flalign}
\bigskip\noindent
\textcolor{red}{after}
\begin{flalign}
&AAA = 2 X Y - D Z & \\
&\begin{aligned}
\begin{aligned}
&\mybox{B} = 2 X Y ( h_1 v_1 + v_2 ) \\
& \qquad\qquad - X^3 ( 2 h_2 v_2 + K_2 )
\end{aligned}
\end{aligned}
\end{flalign}
\end{document}
答案2
split
是为这种用例设计的,尽管你可以使用\raisetag
\documentclass{article}
\usepackage{amsmath}
\begin{document}
Original
\begin{flalign}
AAA &= 2 X Y - D Z & \\
B &= 2 X Y \left( h_1 v_1 + v_2 \right) & \nonumber \\
& \qquad - X^3 \left( 2 h_2 v_2 + K_2 \right) &
\end{flalign}
raisetag
\begin{flalign}
AAA &= 2 X Y - D Z & \\
B &= 2 X Y \left( h_1 v_1 + v_2 \right) & \nonumber \\
& \qquad - X^3 \left( 2 h_2 v_2 + K_2 \right) & \hspace{.6\textwidth}\raisetag{22pt}
\end{flalign}
split
\begin{flalign}
AAA &= 2 X Y - D Z & \\
\begin{split}B &= 2 X Y \left( h_1 v_1 + v_2 \right) \\
& \qquad - X^3 \left( 2 h_2 v_2 + K_2 \right) \end{split}
\end{flalign}
\end{document}