如何將分隔符號宣告為左分隔符號或右分隔符號?

如何將分隔符號宣告為左分隔符號或右分隔符號?

(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 的答案:教材。微量元素:

% 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\rVert:l 代表“左”,r“右”,小寫 v表示單條,大寫V表示雙條。

要進行更深入的討論,請參見,例如,使用 \big|和\右|與 \bigr\rvert 和 \right\rvert 相對(我記得這個問題,因為其中一個答案是我的!)。

相關內容