为什么 \catcode 更改的下划线在数学模式下也能起作用,即使 \mathcode 未设置为“8000?

为什么 \catcode 更改的下划线在数学模式下也能起作用,即使 \mathcode 未设置为“8000?

有些事情让我感到困惑...考虑一下

%\begingroup
%\catcode`\_=13
%\gdef_{\sb}
%\endgroup

\catcode`\_=11
\def\foo_bar{Foo bar}

\foo_bar\ $a_b$
\bye

在此处输入图片描述

取消注释代码将产生

在此处输入图片描述

(可以将其包装在 LaTeX 文件中,结果是一样的。)令我困惑的是,我没有设置,\mathcode`\_="8000所以我也希望使用未注释的代码得到第一个结果。

我错过了什么?

答案1

尚未设置\mathcode="8000,但有人叫 Knuth 有......

\mathcode`\_="8000 % \_

plain.tex 第 106 行

相关内容