关于 \char 后的空间因子的问题

关于 \char 后的空间因子的问题

TeXbook第76页:

当形成连字或通过 指定特殊字符时\char,空间因子代码是根据生成连字的各个字符计算的。

问题是关于“当通过“指定特殊字符时\char”。

恕我直言, \char 需要<number>,并且之后的空间<number>无论如何都会被吞噬。

那么,有没有什么例子可以适用这个案例呢?

''此外,为什么在下面的例子中后面没有添加空格:

\tracingonline=1
\showboxbreadth \maxdimen
\showboxdepth \maxdimen

\setbox0=\hbox{``Oh, oh!\char"27\char"27\space cried Baby Sally. Dick and Jane laughed.}
\showbox0

答案1

在显式的 ⟨number⟩ 之后,TeX 会查找 ⟨one 可选空格⟩(带扩展),然后将其忽略。空间标记,只有第一个会被忽略,所以

\char"27 \space
\char"27\space\space

会给出所需的结果。请注意,空格也会在字母常数,所以它不会帮助打字

\char`\- cried

无论如何都需要两个空格标记;请注意,后面的空格`\-在标记化过程中不会被忽略,因为它\-是控制符号,但它会被忽略,因为它跟在一个显式常量后面。相反,参数后面的空格不会被忽略:

\newcount\foo
\foo="27

\char\foo\space cried

是正确的,而双空格标记将导致两个空格。

空间系数设定制作连字;输入\char<number>相当于输入具有该数字的字符。以下是一个测试:

\sfcode`i=10000 \xspaceskip=30pt % in order to magnify the result

fi x

f\char`i\space\space x

gi x

\char12\space\space x

\bye

您可以看到,前三种情况下的结果是相同的,而在最后一种情况下使用了与字符 12 相对应的空间因子(默认情况下为 1000;插槽 12 是连字符fi在字体中的位置)。

在此处输入图片描述

相关内容