我在这里读到过几个答案,在 LaTeX 中,\,
它的工作方式与外部数学模式一样\thinspace
。然而,对于普通的 TeX 来说情况并非如此。
$ printf '%s\n' 'a\,b\bye' > example.tex
$ pdftex example.tex
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
%&-line parsing enabled.
entering extended mode
(./example.tex
! Missing $ inserted.
<inserted text>
$
<to be read again>
\mskip
\,->\mskip
\thinmuskip
l.1 a\,
b\bye
? quit
OK, entering \batchmode
- 对原始 TeX 格式做出这样的设计决策的理由是什么?
- 这两个宏在使用上有什么区别?
$\,$
和 一样吗\thinspace
? - 当将单位与数字分开时,我应该使用哪一个?(
$10\,{\rm kB}$
,,10\thinspace kB
还是10$\,$kB
?)
答案1
在 Plain TeX 中,\,
是一个数学命令,因此不能在文本模式下使用。但你已经注意到了。所以我将逐一回答你的三个问题:
LaTeX 的创建时间晚于 (Plain) TeX。因此,问题应该是,为什么 LaTeX 会改变这一点?似乎 LaTeX 重新定义了命令,
\,
以便为两种情况选择正确的行为。这是 LaTeX 试图促进的众多事情之一。不是。默认情况下,在文本模式下
\,
插入\thinspace
(相当于),在数学模式下插入(相当于,其中) (Werner,.16667em
\thinmuskip
3mu
18mu=1em
2012)。因此,如果修改了\thinspace
宏或值mu
,\,
则不是在文本和数学模式中生成相同的间距。我总是在数学模式下设置这些东西(数值)。因此,
$10\,{\rm kB}$
最好使用纯 TeX。