波浪符号(~)在数学模式下起什么作用?

波浪符号(~)在数学模式下起什么作用?

波浪号~在数学模式下有什么作用?它和文本模式下的不间断空格一样吗?~在数学模式下使用波浪号是不是不好?我在一些例子中看到过它的使用,但没有在任何常见的 LaTeX 参考资料中看到对它的解释。

答案1

在数学模式下使用~\⍽(控制空间,只是为了清楚起见)并不等效,如下例所示:

\documentclass{article}
\begin{document}

$a=\ =b$

$a=~=b$

\end{document}

这产生了

enter image description here

为什么呢?因为的定义~

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\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 更多的机会正确地断线。

相关内容