Erro ao usar \newcommand dentro de um frame do beamer

Erro ao usar \newcommand dentro de um frame do beamer

Por alguma razão meubeamerapresentação não compila quando \newcommandé colocada dentro do frameambiente. Aqui está um exemplo mínimo de trabalho:

\documentclass{beamer}

\begin{document}

\begin{frame}{First slide}
  \newcommand{\asdf}[1]{What is the #1 problem?}
\end{frame}

\end{document}

Estou tendo o erro a seguir:

Número de parâmetro ilegal na definição de \test.

Observe que a \asdfmacro nem é usada depois de definida. Estranhamente, quando coloco a definição fora do frameambiente, tudo funciona bem. Qual é a razão desse comportamento estranho?

Responder1

Adicionar fragiledeve resolver o problema:

\documentclass{beamer}

\begin{document}

\begin{frame}[fragile]{First slide}
  \newcommand{\asdf}[1]{What is the #1 problem?}
\end{frame}

\end{document}

informação relacionada