将字符的大小锁定为另一个字符的大小?

将字符的大小锁定为另一个字符的大小?

我有一个用于 setbuilder 符号的命令,

\newcommand{\set}[2]{\left\{ #1 \ \big| \ #2 \right\}}

相当简单的东西。但是,当我想在集合中使用较大的字符时,例如总和、分数等,我会遇到问题,因为垂直线不会缩放。有没有办法将其高度与外部括号绑定?

答案1

你可能会这样做:

\documentclass{article}
\usepackage{amsmath}

\newcommand{\set}[2]{\left\{ {#1}\vphantom{\big|} \;\middle|\; #2 \right\}}

\begin{document}

\begin{gather*}
\set{x\in A}{x^{-1}=x^2} \\
\set{x\in A}{\frac{1}{x}=x^2}
\end{gather*}

\end{document}

在此处输入图片描述

意味着\vphantom{\big|}至少使用\big尺寸。

但是,您应该考虑到这一点,\left并且\right在大多数情况下会选择过大的尺寸。的文档mathtools显示了替代方法。

答案2

TeX 原语\middle就是为这些情况而设的。它是在 TeX 的 eTeX 扩展中引入的(大约在 90 年代)。它的参数是一个可扩展的括号/栅栏,类似于\left\right原语的参数。它只能在给定的组内的某个地方使用,\left...\right并且大小相同。

您的宏可以定义为

 \def\set#1#2{\left\{ #1 \vbox to.85em{} \;\middle|\; #2  \right\}}

\vbox to.85em{}一个与尺寸相等的支柱\big

相关内容