Knuth「TeXは組版言語で非エンジニアでも使うもの。なのでプログラム言語のような構成にはすべきでない」 Knuth「従って、記述の構造化はマクロにより行われる。『マクロの展開』であれば誰でも理解できる」 ↓ Knuth「しかし、if文くらいはあった方が便利だろう」 Knuth「あ、チューリング完全になってしまった」 ↓ Knuth「プリミティブの定義は最低限にして、組版制御の基本命令の一部はマクロとして実装しよう」 Knuth「あ、なんかプログラムのように複雑なマクロが増えてしまった」 ↓ 変人B「オウッ、TeX は組版言語なのにプログラムが組めるぞ!」 変人C「引数の整数を素因数分解して綺麗な数式で出力するマクロができた! ヒャッハー!」 ↓ TeXBook「TeX の目的は組版であって決してプログラミングではない。しかし世の中には変な人がいて、『TeX でプログラミングする』という