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