在多个位置对齐方程

在多个位置对齐方程

我想在两个地方对齐一个等式,并且我有一个如下所示的代码段:

\documentclass[a4paper]{paper}
\usepackage{amsfonts}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}

\begin{document}

\begin{alignat*}{2}
g_P^x &= 3x_P^2 + a, \quad g_P^y &&= -2y_P, \\
v_P &= 2g_P^x, \quad u_P &&= (g_P^y)^2, \\
v &= \sum_{P \in G^+} v_P, \quad w &&= \sum_{P \in G^+} u_P + x_Pv_P.
\end{alignat*}

\end{document}

这在一定程度上是可行的,但是和等号之间有很大的差距u_P。我怎样才能让它更靠近等号,以便与它上面和下面的内容对齐?

答案1

您必须了解,在具有多个对齐点的 align(at) 环境中,每个偶数阶&都会引入一个新的对齐列,而每个奇数阶&都会在其列内标记对齐点。这就是为什么n对齐点需要2n-1 &秒。

应用此规则,并使用命令\smashoperatormathtools改进具有宽下标/上标的大运算符的布局,您将获得此代码(请注意,\qquad在精心选择的行中只需要一个):

\documentclass[a4paper]{paper}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{mathtools}

\begin{document}

\begin{alignat*}{2}
g_P^x &= 3x_P^2 + a, &\qquad g_P^y&= -2y_P, \\
v_P &= 2g_P^x, & u_P &= (g_P^y)^2, \\
v &= \smashoperator{\sum_{P \in G^+}} v_P, & w&= \smashoperator{\sum_{P \in G^+}} u_P + x_Pv_P.
\end{alignat*}

\end{document} 

在此处输入图片描述

相关内容