跳轉到內容

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~{...}
華夏公益教科書