假设我们希望在缩写中插入一些小空格,例如我。 e.,例如,d.h.,是。B.,答:C.,d.C.,等等。 д.,等等。 п.,… 上面,我输入了一个发丝间距“ ”(U+200A)。(这是否是一个好的决定,取决于语言、样式指南、编辑器和作者。就本文而言,这只是一个简单的假设。)在 中\nonfrenchspacing
,我们可以考虑通过跳过 1/24 em 来做到这一点(1/24 em 在http://helpx.adobe.com/illustrator/using/special-characters.html;有些人http://forum.glyphsapp.com/t/creating-hair-space-thin-space-figure-space-punctuation-space/12542/6取 1/25 em;有些人喜欢http://www.myfonts.com/pages/fontshop-adventures-in-space_spaces占用 1/3 的细空间(不说它们的“细”有多宽),并允许进行一些拉伸/收缩(仅用于极少数情况下,即行上其他地方没有足够的空间进行拉伸/收缩;如果你排版很多的文本,你最终会遇到它们):
(1)首先,定义
\newcommand{\hairsp}{\hskip.0416666666em plus.0208333333em minus.0208333333em}
或者
\newcommand{\hairsp}{\hspace{.0416666666em plus.0208333333em minus.0208333333em}}
(2)其次,
i.\hairsp e., e.\hairsp g., d.\hairsp h., z.\hairsp B., a.\hairsp C., d.\hairsp C., и т.\hairsp д., и т.\hairsp п.
或者我们应该说
i.\@\hairsp e., e.\@\hairsp g., d.\@\hairsp h., z.\@\hairsp B., a.\@\hairsp C., d.\@\hairsp C., и т.\@\hairsp д., и т.\@\hairsp п.
在步骤(2)中?
我自己的测试未能区分步骤(2)中两种可能性的结果,但是,也许是我没有做正确的测试?
答案1
{.0416666666em
使用那么多小数是没有意义的,tex 使用定点算术到大约 5dp。
由于您是通过添加空格\hskip
而不是单词空格来添加,\spacefactor
因此\@
不会产生任何效果。
一般来说,如果你想使用跳过,我会根据字体尺寸而不是 em 来设置值(即 fontdimen 2,3,4 而不是 6)参见不同的 \fontdimen<num> 代表什么意思