~
代表不间断空格,并\mbox{<text>}
创建一个包含文本的框,该框不能被打破(因为它是一个“框”)。
我理解它的\mbox
应用范围比~
(例如,当您不仅放入文本,还放入图片时)更广。
然而,仅考虑文本,~
和有什么区别\mbox
?在下列情况下,我何时应该使用其中一个?
- 电话号码:0123
4567
8901
- 页码缩写:p.210
sq
.
- 家族姓氏由两部分组成:Jean de La
Fontaine
- 标点:(法语)«
哦,哦
,这是一条死路
!
»
答案1
在上述所有情况下,您都不应使用\mbox
。
电话号码应使用字距,例如
123\,456\,7890
诸如
p.~210~sq.\@
应使用连字符(请注意\@
不要将句号作为句子的结尾)名称应使用
~
:(如果无法换行,Jean de~La~Fontaine
您可能需要删除第一个)~
法语标点符号之前(但在之后
«
)的空格应该是字距;唯一的例外是冒号,~:<space>
应该使用 where。
对于法语标点符号,将其留给babel-french
通常效果较好的人去做。
p.~210
和之间有什么区别\mbox{p. 210}
?在前一种情况下,空格不被视为句末句号之后的空格,并且它仍然与行中的所有其他空格一起拉伸和收缩。在后一种情况下,空格是固定的并且.
是句子结尾;因此它可能比行中的其他空格大得多。您可以通过执行\mbox{p.\@ 210}
或来解决这个问题\mbox{.\ 210}
,但这个空格通常仍与同一行中的其他空格不同,因为它是固定的。
答案2
是\mbox
完全不可断开的,也就是说,它不允许连字符或任何其他断开。
波浪号~
插入一个不可断开的空格,但不影响其左右相邻字符的可断开性。因此在La~Fontaine
Fountaine 部分中仍然可以使用连字符。
因此,波浪号在 TeX 源中更易于输入和阅读,并且它的另一个优点是其邻居可以使用连字符。