Frage

Ich verwende den folgenden Beamer -Befehl

\newcommand{\imgslide}[2]{
        {\setbeamertemplate{background canvas}{
        \includegraphics [width=\paperwidth,height=\paperheight]{images/#1}} 
            \begin{frame}[plain]
                \txtonimg{#2}
            \end{frame}
        }
}

Und ich bekomme wiederholt Fehler.

Der gleiche Inhalt, wenn man manuell geschrieben hat, funktioniert gut.

Und der im obige Befehl enthaltene Befehl lautet:

\newcommand{\txtonimg}[1]{
\begin{center}
 \fcolorbox{red}{black}{
 \textcolor{white}
 {#1}
 }
 \end{center}
 }

Der Fehler ist:

]
! Too many }'s.
\endframe ->\egroup 
            \begingroup \def \@currenvir {frame}
l.107       \end{frame}

Bei wiederholten Tests scheint mir alles gut zu sein.

War es hilfreich?

Lösung

Beamer verwendet viel \catcode-bezogene Tricks, und es ist wahrscheinlich, dass dies Ihre Probleme verursacht. Da ich Ihren Fehler ohne ein minimales Beispiel nicht reproduzieren kann, kann ich nur spekulieren (im Allgemeinen in Zukunft, wenn Sie die effizienteste Hilfe möchten, geben Sie eine Komplett Minimales Beispiel, das das Problem aufweist - Sie werden es dabei oft selbst eingrenzen, aber zumindest stellen Sie sicher, dass andere es treu reproduzieren können).

Versuchen Sie das Hinzufügen der fragile Option zum Frame in Ihrer Definition, wie in

\begin{frame}[plain,fragile]

Ich bin mir nicht sicher, was die Kompromisse sind, aber das verursacht das frame Umwelt, um sich eher wie eine normale Umgebung zu verhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top