Поведение по умолчанию при отсутствии аргумента в \newcommand

Поведение по умолчанию при отсутствии аргумента в \newcommand

Я постараюсь быть ясным, потому чтоэтотэто не то, что я ищу.

Я пытаюсь определить новую команду, которая принимает один аргумент, но ведет себя по-разному, независимо от того, указан этот аргумент или нет.

Вот что у меня есть на данный момент:

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

Я хочу иметь возможность получить:

  • нкесли я войду\Nk
  • ниесли я войду\Nk{i}

На данный момент, при использовании второго варианта я получаю только ник.

Итак, вот мой вопрос: как мне добиться желаемого поведения?

Большое спасибо.

решение1

Правило заключается \newcommandв том, что необязательные аргументы указываются в квадратных скобках [], а обязательные аргументы — в фигурных {}.

Новички часто совершают ошибку, забывая об этом, но когда это происходит, это может быть неприятно.

\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}

введите описание изображения здесь

Связанный контент