\newcommand{\foo}{foo} 和 \newcommand{\foo}[0]{foo} 之間有什麼不同嗎?

\newcommand{\foo}{foo} 和 \newcommand{\foo}[0]{foo} 之間有什麼不同嗎?

我有一位合著者,他將許多巨集定義為 例如\newcommand{\foo}[0]{foo},明確給出參數數量,即使它為零,我以前總是使用和看到\newcommand{\foo}{foo}沒有參數的巨集。

這兩個版本之間是否存在任何可能的行為差異,或者有任何超出可讀性的原因而選擇其中一個而不是另一個?

答案1

沒有區別,實際上[0]是可選參數的預設值,因此在第一次掃描可選參數之後,它們遵循相同的程式碼路徑。

相關內容