Gibt es einen Unterschied zwischen \newcommand{\foo}{foo} und \newcommand{\foo}[0]{foo}?

Gibt es einen Unterschied zwischen \newcommand{\foo}{foo} und \newcommand{\foo}[0]{foo}?

Ich habe einen Co-Autor, der viele Makros definiert, beispielsweise indem er \newcommand{\foo}[0]{foo}die Anzahl der Argumente explizit angibt, auch wenn sie Null ist. Dies habe ich bisher immer \newcommand{\foo}{foo}für Makros ohne Argumente verwendet und gesehen.

Gibt es zwischen den beiden Versionen möglicherweise einen Unterschied im Verhalten oder einen Grund außer der Lesbarkeit, eine der anderen vorzuziehen?

Antwort1

es gibt keinen Unterschied, tatsächlich [0]ist dies der Standardwert für das optionale Argument, sodass sie nach dem ersten Scan für das optionale Argument identischen Codepfaden folgen.

verwandte Informationen