Есть ли разница между \newcommand{\foo}{foo} и \newcommand{\foo}[0]{foo}?

Есть ли разница между \newcommand{\foo}{foo} и \newcommand{\foo}[0]{foo}?

У меня есть соавтор, который определяет многие макросы как, например \newcommand{\foo}[0]{foo}, явно указывая количество аргументов, даже если оно равно нулю, тогда как я раньше всегда использовал и видел это \newcommand{\foo}{foo}для макросов без аргументов.

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

решение1

разницы нет, по сути [0]это значение по умолчанию для необязательного аргумента, поэтому после первого сканирования для необязательного аргумента они следуют идентичным путям кода.

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