newcommand内のnewcommandの引数

Re: newcommand内のnewcommandの引数

- Z. R. の投稿
返信数: 0

LaTeX の“仕様”(Lamport 本に書いてあるもの)では以下のように定められているようです:

  • 命令や環境を定義する命令(\newcommand 等)は入れ子にすることができる。
  • ただしその場合は、内側の命令の環境を定義では引数を持たせることができない。

しかし、実際(つまり“実装”)では、\newcommand の定義本体はそのまま \def の定義本体となるため、結局 TeX のマクロの定義の入れ子と同じ処理(# を二重にする)で通ってしまいます。

(恐らく Lamport 氏は「# を二重にする」という文法を LaTeX に入れたくなかったのだと想像しています。)

というわけで、この話は、pure-LaTeX を書こうとする(酔狂な?)人以外にはどうでもよいトリビアでした。