如何排版“小”不间断空格

如何排版“小”不间断空格

我可以使用~来生成不间断空格。但是它对我来说太大了,我想要一个大小为 的不间断空格\,。可以吗?

答案1

TeX 可以使用两种间距:跳跃和字距。第一种间距可以灵活(例如,单词之间的间距就是跳跃),而第二种间距则是固定的。

两者都会在换行符处消失,但 TeX 永远不会在 kern 处换行(除非后面跟着跳过),但它愿意在跳过时这样做。因此

word\,word

绝不跨越界限。

该命令\,插入一个字距,确切地说它的定义(在文本模式下)为

\kern 0.16667em

(其中 1em 大约等于大写字母“M”的宽度,这也是其名称的由来,或者接近字体大小(以磅为单位);因此插入的空间\,是 1/6 em。

相反,~被定义为跳过:它的定义是\nobreakspace,这转化为

\leavevmode\nobreak\ 

(最后一个是“反斜杠+空格”)。这里不会有换行符,因为插入的跳过\<space>前面的惩罚太高,以至于不可能换行(\nobreak转换为\penalty 10000)。

您可以通过插入\kern自己来留出空格,但最好使用宏。如果您需要空格不可中断,则可以使用宏。灵活,使用相同的技巧~

\nobreak\hspace{.16667em plus .08333em}

将插入一个通常等于 1/6 em 但可拉伸至 1/4 em 的空格。

我省略了,\leavevmode因为这样的空格应该总是插入之间单词。LaTeX 采取了这种预防措施,因为用户可能会使用~来缩进行(但这不是最好的做法)。

相关内容