假设我有一个涉及一些累积的多线方程(例如\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}