我最近瀏覽了一些教程,其中一些使用了%
,另一些使用了%%
,不過兩者的行為似乎都像評論。我只是想知道兩者之間是否有區別,如果有的話,什麼時候使用%
以及何時使用%%
。
答案1
就 TeX 解析器(更準確地說,TeX 的“眼睛”和“嘴”)而言,兩者之間沒有任何區別
% A comment starting with a single "%" sign.
和
%% A comment starting with a double "%" sign.
事實上,一旦%
看到第一個,接下來的所有內容,直到輸入行的末尾,都會被忽略,因此 TeX 甚至不會注意到%
接下來是否有第二個。
然而,上述兩則評論的處理方式有顯著差異。文件條程式.請容許我在這裡簡短地離題一下。
為 (La)TeX 應用程式編寫程式碼的程式設計師通常使用由文件包(以及其他包,根據需要)將實際代碼和一些解釋性註釋組合在一個文件中,該文件可以使用 LaTeX 格式化以生成將 TeX 代碼與其文檔組合在一起的文檔,如 Knuth 的“文學編程” 」。這文件條程式可以用來(除其他外)從這些文件中剝離文件部分,產生一個僅包含TeX 程式碼的文件,幾乎沒有註釋,因此可以以更高的速度輸入(這是二十年來更令人關注的問題)以前比今天)。
更準確地說,文件條程式刪除任何行開始與一個單身的 %
特點。然而,有時,人們也希望將註釋保留在「程式碼」檔案中,例如,因為它包含使用者必須絕對看到的重要警告。為此,文件條程式引入了“元註釋”的概念:以\MetaPrefix
宏中包含的字串開頭的行將傳遞到“代碼”文件,即使它是註釋。預設值為\MetaPrefix
(\DoubleperCent
原文如此),又被定義為%%
;實際上,這意味著,在預設設定下,以%%
第 1 列和第 2 列開頭的註解將保留在程式碼中,而不是像其餘註解一樣被刪除。
此外,為了保持一致性,文件條\MetaPrefix
程式在自動加入程式碼檔案的前導碼和後導碼的每一行的開頭插入。因此,通常會看到以以下開頭的套件或類別文件
%%
%% This is file `somepack.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
等等,並以
%%
%% End of file `somepack.sty'.
當然,程式設計師也有可能——也許在看到由文件條程式 - 決定使用兩個或甚至更多百分號只是為了使註釋更明顯。