I have a co-author who defines many macros as e.g. \newcommand{\foo}[0]{foo}, explicitly giving the number of arguments even when it’s zero, where I have always previously used and seen \newcommand{\foo}{foo} for macros with no arguments.

Is there ever any possible difference in behaviour between the two versions, or any reason beyond readability to prefer one over the other?

1 Answer 1


there is no difference, in fact [0] is the default value for the optional argument so after the first scan for the optional argument they follow identical code paths.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .