为什么 catcode 为 12 的空格会产生奇怪的破折号?

为什么 catcode 为 12 的空格会产生奇怪的破折号?

为了好玩,让我们将空格的类别代码改为12。然后我们得到的不是空格,而是下面的奇怪的破折号。为什么?

\documentclass{article}

\begin{document}

\begingroup

\catcode` =12

Hello World, how are you?

\endgroup

\end{document}

在此处输入图片描述

答案1

您使用的是 7 位 OT1 编码,尝试将足够多的字符放入 128 个插槽中是一项挑战,因此它们都已填充,包括控制字符位置,并且由于 TeX 基本上从不使用空格字符设置空格,因此该插槽也是空闲的。它实际上是用于构造斜线 l\l字符的斜线,

\DeclareTextCommand{\l}{OT1}
   {\hmode@bgroup\@xxxii l\egroup}

\@xxxii通过 \chardef 32 定义,它是空间。

相关内容