跳转到内容

TeX/catcode

来自维基教科书,开放的书籍,开放的世界
< TeX

< TeX

\catcode`\[char]=[num]

\catcode 是用于更改字符类别代码的命令。类别代码告诉 TeX 在文本中遇到该字符时该怎么做。一个一般的赋值看起来像

\catcode`\@=11

这将 @ 字符定义为一个字母。

TeX 中的类别代码如下

  • 0 = 转义字符,通常为 \
  • 1 = 开始分组,通常为 {
  • 2 = 结束分组,通常为 }
  • 3 = 数学转换,通常为 $
  • 4 = 对齐制表符,通常为 &
  • 5 = 行尾,通常为 <return>
  • 6 = 参数,通常为 #
  • 7 = 上标,通常为 ^
  • 8 = 下标,通常为 _
  • 9 = 忽略的字符,通常为 <null>
  • 10 = 空格,通常为 <space> 和 <tab>
  • 11 = 字母,通常只包含字母 a,...,z 和 A,...,Z。这些字符可以用在命令名称中
  • 12 = 其他,通常包含其他类别中未列出的所有内容
  • 13 = 活动字符,例如 ~
  • 14 = 注释字符,通常为 %
  • 15 = 无效字符,通常为 <delete>

使用类别代码,可以完全重新配置 TeX 并支持国际用户。

代码为 13 的字符称为活动字符。从某种意义上说,它被视为一个独立的命令序列,并且可以像往常一样给出定义。因此,要定义 ~,Plain TeX 有

\def~{...}
华夏公益教科书