Команда латекса Beamer, чтобы сделать слайды изображения
Вопрос
Я использую следующую команду Beamer
\newcommand{\imgslide}[2]{
{\setbeamertemplate{background canvas}{
\includegraphics [width=\paperwidth,height=\paperheight]{images/#1}}
\begin{frame}[plain]
\txtonimg{#2}
\end{frame}
}
}
И я получаю ошибки неоднократно.
Та же контент, когда вручную написано хорошо работает.
И команда, включенная в пределах приведенной выше команды:
\newcommand{\txtonimg}[1]{
\begin{center}
\fcolorbox{red}{black}{
\textcolor{white}
{#1}
}
\end{center}
}
Ошибка:
]
! Too many }'s.
\endframe ->\egroup
\begingroup \def \@currenvir {frame}
l.107 \end{frame}
Все кажется мне хорошо, на повторном тестировании.
Решение
Beamer использует много \catcode
Обрезанный хитрость, и вероятно, что это то, что вызывает ваши проблемы. Поскольку я не могу воспроизвести свою ошибку без минимального примера, я могу только спекулировать (в целом в будущем, если вы хотите, чтобы самая эффективная помощь, предоставить полный Минимальный пример, который демонстрирует проблему - при этом вы часто закажите его, но, по крайней мере, вы убедитесь, что другие могут верно воспроизводить его).
Попробуйте добавить fragile
опция для кадра в вашем определении, как в
begin {frame} [простой, хрупкий
Я не уверен, что компромиссы, но это вызывает frame
Окружающая среда, чтобы вести себя больше, как нормальная среда.