Comportamento padrão quando falta argumento em \newcommand

Comportamento padrão quando falta argumento em \newcommand

Vou tentar ser claro porqueessenão é o que estou procurando.

O que estou tentando fazer é definir um novo comando que receba um argumento, mas tenha um comportamento diferente, independentemente de esse argumento ser especificado ou não.

Aqui está o que tenho até agora:

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

Eu quero ser capaz de obter:

  • okse eu entrar\Nk
  • nãose eu entrar\Nk{i}

Por enquanto, com essa segunda opção eu só consigo Nik.

Então aqui está minha pergunta: como posso obter o comportamento que desejo?

Muito obrigado.

Responder1

A regra \newcommandé que os argumentos opcionais sejam fornecidos entre colchetes []e os argumentos obrigatórios sejam fornecidos entre chaves {}.

É um erro de iniciante esquecê-lo, mas pode ser frustrante descobrir quando isso acontece.

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

insira a descrição da imagem aqui

informação relacionada