TeXから組版を除いたサブセットを実装することでTeXの理解を試みる本です。 Haskellによるサンプルコードが付属します。
\noexpandの実装……38\expandafterの実装……40\csnameの実装……41\begincsnameの実装(LuaTeX拡張)……42\letの実装……54\futureletの実装……56\global、\long、\outer、\protected……58\defの実装……63\outerについて……69\edefの実装……71\protectedマクロについて(ε-TeX拡張)……73\unexpanded命令(ε-TeX拡張)とgeneral textの実装……73\expanded命令(pdfTeX拡張)……75\message命令と、トークン列の文字列化……77\string命令と、文字列を結果とする展開可能命令……79\csstring命令(LuaTeX拡張)……81\detokenize命令(ε-TeX拡張)……81\number命令……93\romannumeral命令……93\char命令と\chardef命令……94\countプリミティブ:整数レジスター……97\countdef命令……99\catcode、\endlinechar、\escapechar、\newlinecharの各パラメーター……101\advance命令とキーワード……102\multiply命令と\divide命令……105\numexprによる算術式(ε-TeX拡張)……107\else、\fi、\orの実装……121\iftrue、\iffalseの実装……124\ifxの実装……124\ifと\ifcatの実装……124\ifoddの実装……127\ifnumの実装……127\ifcaseの実装……128\ifdefinedの実装(ε-TeX拡張)……128\ifcsnameの実装(ε-TeX拡張)……129\unlessの実装(ε-TeX拡張)……129\ifincsnameの実装(pdfTeX拡張)……130\the命令……134\toksの実装……135\toksdef命令……135\input命令……137\endinput命令……138\inputlineno……138\scantokens命令(ε-TeX拡張)……139\uppercase、\lowercase……143\ignorespaces命令……146\meaning命令と\show命令……147\showthe命令……152