命令名開頭的「@」是什麼意思?

命令名開頭的「@」是什麼意思?

這個問題的答案提到諸如\@author和 之類的命令\@director,latex.ltx 中充滿了它們。但是,當我\@author在文件中使用時,它只輸出“作者”一詞。@命令名稱的含義是什麼?

答案1

@命令名稱開頭的 是實現命令的常用方法私有命名空間,也就是說,定義對使用者隱藏的命令。因此,用戶不會無意中修改它們。這是安全帶。

命令的標識符(\字元後面的文字)必須是字母序列。 TeX 關於哪個字元是字母還是不是字母的想法由以下表格定義目錄代碼,可以在運行時重新配置。

許多套件發現定義它很有用私人的使用者不易存取的宏,從而防止使用者無意中修改或使用它們。這是透過catcodes透過以下方式實現的:

  1. 排列得@有一個字母的目錄代碼。
  2. @定義私有宏,其名稱包含該字母。
  3. 安排得@不再有一個字母的目錄代碼。

當使用者的程式碼在步驟 3 之後控制執行流程時,它不會無意中與@名稱中帶有 的巨集進行互動。

相關內容