波浪號字元~
在數學模式下有什麼作用?它與文字模式下不間斷的空格相同嗎?~
在數學模式下使用這種風格是否不好?我已經在一些範例中看到過它的使用,但沒有在任何常用的 LaTeX 參考文獻中看到它的解釋。
答案1
在數學模式下使用~
or \⍽
(控制空格,只是為了清楚起見)並不等效,如以下範例所示:
\documentclass{article}
\begin{document}
$a=\ =b$
$a=~=b$
\end{document}
這會產生
這是為什麼?因為 的定義~
是
1299 \DeclareRobustCommand{\nobreakspace}{%
1300 \leavevmode\nobreak\ }
1301 \catcode `\~=13
1302 \def~{\nobreakspace{}}
(行號是 中的行號latex.ltx
)。因此,~
還添加了一個{}
在數學模式中很重要的組,並解釋了輸出的差異:在第一行中,我們有 (奧德代表“普通”類原子,相對值對於「二元關係」類別的原子)
奧德 相對值
<skip>
相對值 奧德
TeX 在決定插入什麼數學間距時會忽略明確的跳過。所以按照規則,它會在之間插入一個厚的空格奧德和相對值和之間相對值和奧德,但之間沒有空格相對值和相對值。將數學列表轉換為水平框時,將“由於”插入回來<skip>
。\⍽
在第二種情況下我們有
奧德 相對值
<skip>
奧德 相對值 奧德
因為在數學模式下{}
算奧德原子。空白的兩側將插入厚厚的空格奧德原子。
因此,最好使用,\⍽
代替~
, 以避免意外。但是,用途應僅限於分隔公式中需要被視為單字的部分,通常在顯示中。之間沒有差別
\[
\sin\pi = 0\ \text{and}\ \cos\pi = -1
\]
和
\[
\sin\pi = 0 \text{ and } \cos\pi = -1
\]
只是個人喜好問題,因為兩者都會在數學之外使用相對於當前字體的字間空間,而不會拉伸或收縮。對於間隔數學符號,最好是使用\mkern
or \mskip
(可能是後者,它amsmath
提供了\mspace
類似於 的介面\hspace
)。
請注意,在內聯數學模式下\⍽\text{and}\⍽
和\text{⍽and⍽}
是不同的,因為前者插入可能參與拉伸和收縮的空格,而後者插入“凍結”空格。然而,像
the set $N_n(R)=\{\,x\in R: x^{n-1}\ne 0\ \text{and}\ x^{n}=0\,\}$
更正確地寫為
the set $N_n(R)=\{\,x\in R: x^{n-1}\ne 0$ and~$x^{n}=0\,\}$
以便給TeX更多的機會正確斷線。