マクロツイーター

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

「TeX ユーザの集い 2011」について何か書いてみる (8)

ライトニングトーク

前回に引き続いて LT のコーナー。

いつも心に LaTeX
TeX なんかやめて LaTeX を使え[れ]ばよいのに〜

八登崇之
〔スライド作成ソフトウェア: XeLaTeX + beamer〕

  • この人の発表はいつも「笑いを取ればよし」という姿勢が露に出ていて非常に腹立たしい。ついでに同じ人のブログも全く同様で実に忌々しい。
  • 内部命令を使わずに pure な LaTeX で書け、と言いたいらしいが、現実はそれで済むほど甘くないのは明らか。大体、pure な LaTeX だと少し複雑なことをする度に新しいパッケージの使い方を覚えないといけないではないか。*1しかもそうやって色々パッケージを増やすと突然衝突が起こって……ああ、もう考えたくない!
  • Java とか Ruby とかだと「ナベアツが書けない → その言語ができない」になるだろうけど、TeX で実際に「プログラム」めいたものを書くことなんてほとんどない。だから、「TeX でナベアツが書けない → TeX ができない」なんてのはどう考えても言い過ぎだろう。

*   *   *

例の発表について、もしかしたら誤解している人がいるかも知れないので補足しておく。この発表では、「TeX on LaTeX」と「(pure)LaTeX」を対比させて「LaTeX を大切にしよう」と呼びかけている。注意したいのは、これは

TeX on LaTeX を使ってはいけない」と言っているのでは決してない

ということである。実際、この発表では「TeX on LaTeX を使うのも LaTeX を使うのも自由」と主張している。そして、大事なのはこの後者の部分、すなわち

LaTeX を使ってはいけない」ということは決してない

ということである。ここから言える自明な帰結は、「『TeX on LaTeX 学習者』でない『LaTeX 学習者』が存在する」ということ、さらに「『LaTeX 学習者』がすべからく『TeX on LaTeX 学習者』なるべき、ということはない」ということである。

もう一つ補足しておきたいのは、私は「『LaTeX 学習者』に対して TeX on LaTeX の学習を勧めてはいけない」と言っているのでも決してないということである。LaTeX の性質上、「LaTeX 学習者」がもし「本文領域内のレイアウトを変えたい」あるいは「最終的にはレイアウトを完全に制御したい」と欲しているならば、私は「TeX on LaTeX を学習する」のが妥当だと考えている。*2 *3 だから、それが適切と思える場合は「TeX on LaTeX の学習」を勧めて構わない。当人が一旦その勧めに従ったならば、あとは「TeX on LaTeX 学習者」と見做されるであろう。しかし、そのプロトコルを行う前の状態においては、その人は「LaTeX 学習者」であり、「TeX on LaTeX 学習者」ではない。長々と書き連ねているが、別に主立って「主張」と呼べべきものなんてなくて、実に自明なことしか言っていないのが判るであろう。

ナベアツについて。私自身は、自分で TeX コードを一から書くことはなくても、ある程度の分量の TeX コードを読んだり改変したりすることのある人は、ナベアツ程度のプログラムは書けるべきだと割と本気で思っている。そして、TeX on LaTeX 学習者は plain TeX 学習者に比べて「複雑なコードを読む」必要性が高いということは発表で指摘した。要するに、学習の初期段階では「TeX 言語を知らずに TeX コードを書いている」状態があってもよいが、そういう状態はなるべく早く脱するべきであるというのが私の考えである。

*1:TeX on LaTeX だと、一度それを身に着けてしまえば(それが大変なんだけど)後は「ほとんど何でも対応できる」。

*2:ただし、当人の特質によっては「(La)TeX を辞める」方が適切な場合もある。

*3:このような状況が発生するのは LaTeX2e の設計上の大きな欠点のためである。私は、理想的には、TeX 言語を知らなくてもレイアウト作成・変更ができるべきだと考えている。副題の「TeX なんかやめて LaTeX を使えればよいのに」にはそういう意味を込めている。