根据符号对齐,而不是 \substack

根据符号对齐,而不是 \substack

假设我有一个涉及一些累积的多线方程(例如\sum\bigcup),其中条件需要一些多线描述。考虑以下虚拟示例:

\begin{align*}
  a + b &= \sum_{\substack{i=1\\3<4}} e^\pi && \text{Some exposition.} \\
        &= \sum_{\substack{p \in \mathbb{N}\\p > 1 \land \forall a,b > 1: ab\neq p}} p
                && \text{Some more exposition.} \\
        &= b + a &&\\
\end{align*}

这使:

结果

考虑align了整个和,包括子堆栈,并且由于并非所有子堆栈都具有相同的宽度,因此和的排列并不整齐。我怎样才能对齐方程,使 -符号\sum彼此对齐,但子堆栈仍然用于抵消=之前的符号?

答案1

您可以使用\mathclap\smashoperator指令。这两个宏均由包提供mathtools

在此处输入图片描述

\mathclap或产生的效果\smashoperator是否非常相似?然而,这些宏并不是彼此的纯粹替代品。请仔细阅读mathtools软件包的用户指南以获取有关这两个命令的更多信息。

\documentclass{article}
\usepackage{amssymb}   % for \mathbb macro
\usepackage{mathtools} % for \mathclap and \smashoperator macros
\begin{document}
\begin{align*}
  a + b 
  &= \sum_{\substack{i=1\\3<4}} e^\pi && \text{Some exposition.} \\
  &= \sum_{\mathclap{\substack{p \in \mathbb{N}\\
         p > 1 \land \forall a,b > 1 : ab\neq p}}} p
     && \text{via \texttt{\string\mathclap}} \\[0.5ex]
  &= \smashoperator{\sum_{\substack{p \in \mathbb{N}\\
         p > 1 \land \forall a,b > 1 : ab\neq p}}} p
     && \text{via \texttt{\string\smashoperator}} \\
  &= b + a &&\\
\end{align*}
\end{document} 

相关内容