Ошибка при использовании \newcommand в кадре проектора

Ошибка при использовании \newcommand в кадре проектора

По какой-то причине мойbeamerПредставление не компилируется, когда \newcommandпомещается внутрь frameокружения. Вот минимальный рабочий пример:

\documentclass{beamer}

\begin{document}

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

\end{document}

Я получаю следующую ошибку:

Недопустимый номер параметра в определении \test.

Обратите внимание, что \asdfмакрос даже не используется после того, как он определен. Странно, но когда я размещаю определение вне среды frame, все работает нормально. В чем причина такого странного поведения?

решение1

Добавление fragileдолжно решить проблему:

\documentclass{beamer}

\begin{document}

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

\end{document}

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