Команда латекса Beamer, чтобы сделать слайды изображения

StackOverflow https://stackoverflow.com/questions/2633624

  •  26-09-2019
  •  | 
  •  

Вопрос

Я использую следующую команду 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 Окружающая среда, чтобы вести себя больше, как нормальная среда.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top