
這這個問題的答案提到諸如\@author
和 之類的命令\@director
,latex.ltx 中充滿了它們。但是,當我\@author
在文件中使用時,它只輸出“作者”一詞。@
命令名稱的含義是什麼?
答案1
@
命令名稱開頭的 是實現命令的常用方法私有命名空間,也就是說,定義對使用者隱藏的命令。因此,用戶不會無意中修改它們。這是安全帶。
命令的標識符(\
字元後面的文字)必須是字母序列。 TeX 關於哪個字元是字母還是不是字母的想法由以下表格定義目錄代碼,可以在運行時重新配置。
許多套件發現定義它很有用私人的使用者不易存取的宏,從而防止使用者無意中修改或使用它們。這是透過catcodes透過以下方式實現的:
- 排列得
@
有一個字母的目錄代碼。 @
定義私有宏,其名稱包含該字母。- 安排得
@
不再有一個字母的目錄代碼。
當使用者的程式碼在步驟 3 之後控制執行流程時,它不會無意中與@
名稱中帶有 的巨集進行互動。