Разница между % и %%

Разница между % и %%

Недавно я просматривал несколько руководств, и некоторые из них использовали %, а другие использовали %%, хотя оба, похоже, вели себя как комментарии. Я просто хотел узнать, есть ли разница между ними, и если есть, когда использовать , %а когда использовать %%.

решение1

Что касается парсера TeX (точнее, «глаз» и «рта» TeX), то между ними нет никакой разницы.

% A comment starting with a single "%" sign.

и

%% A comment starting with a double "%" sign.

Действительно, как только %появляется первый символ, все, что следует за ним, вплоть до конца входной строки, игнорируется, так что TeX даже не замечает, %появился ли второй символ или нет.

Однако существует существенная разница в том, как два приведенных выше комментария трактуются вдокументацияпрограмма. Позвольте мне сделать небольшое отступление.

Программисты, которые пишут код для приложений (La)TeX, обычно используют возможности, предлагаемыедокпакет (и другие пакеты, в зависимости от потребностей) для объединения фактического кода и некоторых пояснительных комментариев в одном файле, который может быть отформатирован с помощью LaTeX для создания документа, объединяющего код TeX с его документацией, как в «грамотном программировании» Кнута.документацияПрограмма может использоваться (помимо прочего) для удаления из таких файлов части документации, создавая файл, содержащий только код 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'.

Конечно, также возможно, что программист, возможно, увидев примеры комментариев, сгенерированныхдокументацияпрограмма решает использовать два или даже больше знаков процента, чтобы сделать комментарий более заметным.

Связанный контент