如何声明分隔符为左分隔符或右分隔符?

如何声明分隔符为左分隔符或右分隔符?

TeX 知道“左”和“右”分隔符之间的区别(例如()),并据此调整间距。但是,分隔符的左版本和右版本|是相同的,因此 TeX 必须进行猜测。通常 TeX 会猜对,但有时猜错。现在,我知道我可以使用\left\right来强制 TeX 将给定的内容视为|左或右分隔符,但是它们具有改变大小的额外效果(这也许不是我想要的)。即使是最小的“大”命令\bigl\bigr也会增加大小(尽管只是很小的量)。有没有办法在不改变其大小的情况下制作|左或右分隔符?

这是一个具体的例子,我知道如何去做,但这不是一个通用的解决方案:

\documentclass{article}

\usepackage{amsmath,amssymb}

\begin{document}

$|\operatorname{A}|$

$|{\operatorname{A}}|$

$\left|\operatorname{A}\right|$

\end{document}

第一行的间距不正确,第二行和第三行的间距正确。第二行效果很好,但我觉得有点乱。第三行不太好,因为如果中间的内容更高,它会增加分隔符的大小(也许我不想这样)。

(是的,我知道第一行间距不正确的原因是因为 TeX 将第二行视为|的“参数” \operatorname{A}。)

答案1

如果你在数学公式中说,\mathopen|那么竖线将被解释为开放原子(IE,左分隔符),但其大小不会改变。同样,\mathclose|产生一个 Close 原子(IE(右分隔符)的大小没有任何变化。另请参阅练习 18.14 的答案TeXbook. 梅隆:

% My standard header for TeX.SX answers:
\documentclass[a4paper]{article} % To avoid confusion, let us explicitly 
                                 % declare the paper format.

\usepackage[T1]{fontenc}         % Not always necessary, but recommended.
% End of standard header.  What follows pertains to the problem at hand.



\begin{document}

For example, \( \mathopen|-x\mathclose| \neq |-x| \).

\end{document}

尽管如此,我认为@Bernard 建议的解决方案一条评论,也就是说,使用\DeclarePairedDelimiter,是正确的做法。

编辑: 正如 Barbara Beeton 在她的评论中提醒的那样,如果问题仅限于单竖线和双竖线(并且如果您不想加载该mathtools包,而是坚持使用amsmath),您还可以使用四个预定义命令\lvert\rvert\lVert\rVertl 代表“左”,r代表“右”,小写 v代表单竖线,大写V代表双竖线。

有关更深入的讨论,请参见使用 \big| 和 \right| 与 \bigr\rvert 和 \right\rvert(我记得这个问题是因为其中一个答案是我的!)。

相关内容