此空间字形上的名称和背景信息

此空间字形上的名称和背景信息

给出以下纯 TeX 片段及其输出:

hallo werld

{\catcode`\ =12
hallo wereld}

{\tt
hallo wereld}

{\tt\catcode`\ =12
hallo wereld}

给定示例的 pdfTeX 输出的屏幕截图

该命令\catcode`\ =12将空格字符的类别更改为“其他”。这将使 TeX 显示它。

打字机字体中的空格符号看起来很熟悉。但是,默认字体中显示的符号我不认识。

好奇问一下,它有名字吗?有什么用途?

答案1

TeX 不使用当前字体中的实际字符来表示空格,因此 Knuth 决定用一个很少使用的字形来填充通常为其保留的插槽:用于产生“波兰抑制的 ell”ł 的斜线。以下是相关行plain.tex

\def\l{\char32l}
\def\L{\leavevmode\setbox0\hbox{L}\hbox to\wd0{\hss\char32L}}

TFM 文件中的字距调整条目也对此进行了补充:

(LIGTABLE
   (LABEL O 40)
   (KRN C l R -0.277779)
   (KRN C L R -0.319446)
   (STOP)
   ...

由于该字符的宽度为 0.277779pt,当它位于小写字母“l”之前时,其宽度会得到补偿。

在该cmtt10字体(以及其他打字机类型的字体)中,该插槽由“可见空间”填充。

答案2

它看起来像 U+2422(空白符号)上的斜线:␢。由于已知 LaTeX 会在常规字符上叠加斜线(例如,由 生成的符号\hbar),我敢打赌底层b已被删除或省略。

相关内容