将和号下的长数学文本分成不同的行?

将和号下的长数学文本分成不同的行?

我有以下等式,其中和符号下有很多东西:

\begin{equation}
d(\vec{x},\vec{y})=
  \sum_{Z_{xy}\in\vec{Z}_{xy},\forall x\in\vec{x},\forall y\in\vec{y}} 
    f(Z_{xy})
\end{equation}

在生成的文档中,我发现它有点难以阅读。有没有办法编写公式以使结果更易读,例如将求和符号下的内容放在不同的行上?

答案1

您可以使用包\substack中的命令amsmath,如下所示:

\begin{equation}
  d(\vec{x},\vec{y}) =
  \sum_{\substack{Z_{xy}\in\vec{Z}_{xy}\\
                  \forall x\in\vec{x}\\
                  \forall y\in\vec{y}}}
        f(Z_{xy}) 
\end{equation}

然而,结果看起来仍然不太好,因为总和符号周围有额外的间距:

该图显示了“\substack”命令的结果

要解决这个问题,您可以使用包\mathclap中的命令mathtools,如下所示:

\begin{equation}
 d(\vec{x},\vec{y}) =
    \sum_{\mathclap{\substack{Z_{xy}\in\vec{Z}_{xy}\\
                              \forall x\in\vec{x}\\
                               \forall y\in\vec{y}}}}
          f(Z_{xy}) 
\end{equation}

该图显示了 '\mathclap' 和 '\substack' 命令的结果

但也许你会乐意使用仅有的 \mathclap,而不是\substack。只要下标不是太宽,结果看起来就不错。

\begin{equation}
  d(\vec{x},\vec{y}) =
    \sum_{\mathclap{{Z_{xy}\in\vec{Z}_{xy},
          \forall x\in\vec{x},
          \forall y\in\vec{y}}}} f(Z_{xy})
\end{equation}

该图显示了“\mathclap”命令的结果

mathtools包裹还有其他几个用于排版数学的有用命令,包括更多用于改进下标和上标显示的命令。我非常建议看一下其文档

答案2

尝试使用包\substack中的命令amsmath,其详细信息可以在这里找到这里

答案3

[对于那些正在寻找 MathJax 方法的人]无需\substack

\sum_{a=b \\ b=c \\ c=a}

结果是

在此处输入图片描述

答案4

使用A \atop B. 例如:

\sum_{{n\in \mathbb{N}}\atop{n= even}}^{100} a_n

在此处输入图片描述

相关内容