Standardverhalten bei fehlendem Argument in \newcommand

Standardverhalten bei fehlendem Argument in \newcommand

Ich werde versuchen, klar zu sein, dennDasist nicht das, was ich suche.

Ich versuche, einen neuen Befehl zu definieren, der ein Argument annimmt, sich aber anders verhält, unabhängig davon, ob das Argument angegeben ist oder nicht.

Folgendes habe ich bisher:

\newcommand\Nk[1][k]{N_{#1}}

Ich möchte Folgendes erhalten:

  • neinwenn ich eingebe\Nk
  • niwenn ich eingebe\Nk{i}

Mit der zweiten Option bekomme ich vorerst nur nik.

Hier ist meine Frage: Wie kann ich das gewünschte Verhalten erreichen?

Vielen Dank.

Antwort1

Als Regel gilt \newcommand, dass optionale Argumente in eckigen Klammern []und obligatorische Argumente in geschweiften Klammern angegeben werden {}.

Es ist ein Anfängerfehler, es zu vergessen, aber es kann frustrierend sein, es herauszufinden, wenn es passiert.

\documentclass{article}
\newcommand\Nk[1][k]{N_{#1}}
\begin{document}
    $N_k$ if I enter $\Nk$\par
    $N_i$ if I enter $\Nk[i]$\par
    but not $\Nk{i}$.
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen