Предотвращение накопления пробелов при использовании «\left».

Предотвращение накопления пробелов при использовании «\left».

Извините, если этот вопрос уже задавался, но поиск в Google, похоже, не очень хорошо работает с «\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}

введите описание изображения здесь

Связанный контент