マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

TeX はどうしてアレなのか

KnuthTeX組版言語で非エンジニアでも使うもの。なのでプログラム言語のような構成にはすべきでない」
Knuth「従って、記述の構造化はマクロにより行われる。『マクロの展開』であれば誰でも理解できる」

Knuth「しかし、if文くらいはあった方が便利だろう」
Knuth「あ、チューリング完全になってしまった」

Knuth「プリミティブの定義は最低限にして、組版制御の基本命令の一部はマクロとして実装しよう」
Knuth「あ、なんかプログラムのように複雑なマクロが増えてしまった」

変人B「オウッ、TeX組版言語なのにプログラムが組めるぞ!」
変人C「引数の整数を素因数分解して綺麗な数式で出力するマクロができた! ヒャッハー!」

TeXBook「TeX の目的は組版であって決してプログラミングではない。しかし世の中には変な人がいて、『TeX でプログラミングする』という邪悪な技が鍛錬されている。それを紹介しよう……」
変人D「ウヒョー! TeX でドラゴン曲線が描ける! 最高! 俺も TeX プログラミングするぞ!」
変人E「俺も俺も!!」
………………

変人L「TeX 上の DSL として、論理的マークアップで文書構造を記述する文書生成システムを開発しました!」
一般人a「LaTeX スゲェェェェェーー!! これなら一般人でも TeX が使えるようになるぞ!」
変人M「しかも、TeX でプログラミングすれば、自分の好きな機能を幾らでも追加することができる!」
変人N「グラフを描画する LaTeX のパッケージを作ったよ!」
………………

―――― それから二十年の歳月が流れた ――――

一般人1「LaTeX でレポート書いてるんだけどさー、この箇条書きのインデントの量を調整するのってどーすりゃいいんだっけ? あとこの辺りの行間の大きさとか。毎回 \vspace 打つのは邪道だろうし」
一般人2「自分用の文書クラスを作ればいいんじゃない? 既存のやつを改造すれば割と簡単にできると聞いたことがあるけど」
一般人1「(jsarticle.cls を見て)うわぁぁぁぁぁ」
一般人2「これは LaTeX じゃなくて TeX のプログラムとして書かれているらしいよ。TeX のプログラミングを勉強したら? プログラミング、得意でしょ?」
一般人1「全然得意じゃねーよ。……ぐはぁぁぁ、いま “TeX プログラミング”でググったけど、何なんだこの訳のわからない世界は……」

かくして、TeX の世界は LaTeX によってほぼ完全に支配されるに至った。
そこには、「TeX でプログラミング」という変態的所業を“娯楽”でなく“義務”として行う哀れな一般人の姿があった。

どうしてこうなった。

※この物語はフィクションで、作中に登場する TeX非実在 TeX です……だったらいいのにね。