防止使用“\left”积累空格。

防止使用“\left”积累空格。

抱歉,如果之前已经问过这个问题,但是谷歌搜索似乎不能很好地处理“\left.”或其变体。

我使用以下模式,该模式取自维基百科关于无限产品的笛卡尔积部分的公式,其中垂直线与括号高度相匹配,不像\mid

\prod_{i \in I} X_i = \left\{\left. f : I \to \bigcup_{i \in I} X_i\ \right|\ (\forall i)(f(i) \in X_i)\right\}

呈现为:

在此处输入图片描述

但是似乎在第一个单词之前有一个小的空白,随着重复使用,这个空白会逐渐累积。

\begin{align*}
& \left(a\right) \\
& \left(\left.a \ \right|\ b\right) \\
& \left(\left.\left.a\ \right|\ b\ \right|\ c\right) \\
& \left(\left.\left.\left.a\ \right|\ b\ \right|\ c\ \right|\ d\right)
\end{align*}

呈现为:

在此处输入图片描述

有什么方法可以实现正确高度的垂直条,而不会在左括号后累积空格?

答案1

每一个\left.\right.都会增加一定量的空间\nulldelimiterspace,因此您可以通过

\kern-\nulldelimiterspace

另一方面,还有更好的方法来输入公式。我会选择最后一种。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

\noindent
First attempt (yours):
\[
\left\{ \left.f\colon I \to \bigcup_{i \in I} X_i\ \right|\ (\forall i)(f(i) \in X_i)\right\}
\]
Second attempt:
\[
\left\{ f\colon I \to \bigcup_{i \in I} X_i \;\middle|\; (\forall i)(f(i) \in X_i)\right\}
\]
Third attempt:
\[
\biggl\{ f\colon I \to \bigcup_{i \in I} X_i \biggm| (\forall i)(f(i) \in X_i)\biggr\}
\]
Fourth attempt:
\[
\Bigl\{ f\colon I \to \bigcup_{i \in I} X_i \Bigm| (\forall i)(f(i) \in X_i)\Bigr\}
\]

\end{document}

在此处输入图片描述

相关内容