Ich habe mir kürzlich einige Tutorials angesehen und einige davon verwendeten %
und andere verwendeten %%
, beide schienen sich jedoch wie Kommentare zu verhalten. Ich wollte nur wissen, ob es einen Unterschied zwischen den beiden gibt und wenn ja, wann man verwenden sollte %
und wann %%
.
Antwort1
Was den TeX-Parser (genauer gesagt die „Augen“ und den „Mund“ von TeX) betrifft, gibt es überhaupt keinen Unterschied zwischen
% A comment starting with a single "%" sign.
Und
%% A comment starting with a double "%" sign.
Tatsächlich wird, sobald das erste %
gesehen wird, alles Folgende bis zum Ende der Eingabezeile ignoriert, sodass TeX nicht einmal bemerkt, ob ein Zweites %
folgt oder nicht.
Es gibt jedoch einen wesentlichen Unterschied in der Art und Weise, wie die beiden obigen Kommentare von denDokumentstreifenProgramm. Erlauben Sie mir hier einen kurzen Exkurs.
Programmierer, die Code für (La)TeX-Anwendungen schreiben, nutzen in der Regel die Möglichkeiten desDokumentPaket (und andere Pakete, je nach Bedarf), um den eigentlichen Code und einige erklärende Kommentare in einer einzigen Datei zu kombinieren, die mit LaTeX formatiert werden kann, um ein Dokument zu erstellen, das den TeX-Code mit seiner Dokumentation kombiniert, wie in Knuths „literate programming“. DasDokumentstreifenMit dem Programm kann (unter anderem) der Dokumentationsteil aus solchen Dateien entfernt werden, wodurch eine Datei entsteht, die nur den TeX-Code enthält, fast ohne Kommentare, und daher mit höherer Geschwindigkeit eingegeben werden kann (dies war vor zwanzig Jahren ein viel größeres Problem als heute).
Genauer gesagt, dieDokumentstreifenDas Programm entfernt alle Zeilen, diebeginntmit einemeinzel %
Zeichen. Manchmal möchte man jedoch, dass ein Kommentar auch in der „Code“-Datei erhalten bleibt, beispielsweise weil er eine kritische Warnung enthält, die Benutzer unbedingt sehen müssen. Dazu muss derDokumentstreifenDas Programm führt das Konzept des „Metakommentars“ ein: Eine Zeile, die mit der im \MetaPrefix
Makro enthaltenen Zeichenfolge beginnt, wird an die „Code“-Datei weitergegeben, auch wenn es sich um einen Kommentar handelt. Der Standardwert von \MetaPrefix
ist \DoubleperCent
(so), was wiederum als definiert ist %%
; in der Praxis bedeutet dies, dass Kommentare, die in den Spalten 1 und 2 mit beginnen, bei der Standardeinstellung %%
im Code belassen werden und nicht wie die restlichen entfernt werden.
Aus Gründen der Konsistenz sollte außerdemDokumentstreifenDas Programm fügt \MetaPrefix
am Anfang jeder Zeile der Präambel und der Postambel das ein, das es automatisch zu den Codedateien hinzufügt. Daher ist es üblich, Paket- oder Klassendateien zu sehen, die mit beginnen
%%
%% This is file `somepack.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
und so weiter, und enden mit
%%
%% End of file `somepack.sty'.
Natürlich ist es auch möglich, dass ein Programmierer – vielleicht nachdem er Beispiele von Kommentaren gesehen hat, die von derDokumentstreifenProgramm – beschließt, zwei oder sogar mehr Prozentzeichen zu verwenden, nur um einen Kommentar besser sichtbar zu machen.