
のこの質問に対する答え\@author
やなどのコマンドについて言及しており\@director
、latex.ltx にはそれらのコマンドが満載です。しかし、\@author
文書で を使用すると、単に「author」という単語が出力されます。@
コマンド名の意味は何ですか?
答え1
@
コマンド名の先頭に を付けるのは、プライベート名前空間、つまり、ユーザーから隠されたコマンドを定義します。これにより、ユーザーは誤ってコマンドを変更できなくなります。これは安全ベルトです。
コマンドの識別子(\
文字の後のテキスト)は、文字のシーケンスでなければなりません。TeXでは、どの文字が文字であるか、そうでないかは、次の表で定義されています。キャットコード、実行時に再構成できます。
多くのパッケージでは、プライベートマクロはユーザーが簡単にアクセスできないため、ユーザーが誤って変更したり使用したりすることを防ぎます。これは、catcodes で次のように実現されます。
@
文字のcatcodeが付くように配置します。@
名前に文字を含むプライベート マクロを定義します。@
文字のcatcodeがなくなるように配置します。
ユーザーのコードがステップ 3 の後に実行フローを制御する場合、@
名前に が含まれるマクロと誤ってやり取りすることはできません。