Comando Beamer Latex per creare diapositive dell'immagine
Domanda
Sto usando il seguente comando beamer
\newcommand{\imgslide}[2]{
{\setbeamertemplate{background canvas}{
\includegraphics [width=\paperwidth,height=\paperheight]{images/#1}}
\begin{frame}[plain]
\txtonimg{#2}
\end{frame}
}
}
E ricevo ripetutamente errori.
Lo stesso contenuto quando scritto manualmente funziona bene.
E il comando incluso nel comando sopra è:
\newcommand{\txtonimg}[1]{
\begin{center}
\fcolorbox{red}{black}{
\textcolor{white}
{#1}
}
\end{center}
}
L'errore è:
]
! Too many }'s.
\endframe ->\egroup
\begingroup \def \@currenvir {frame}
l.107 \end{frame}
Tutto mi sembra buono, durante i test ripetuti.
Soluzione
Beamer usa una buona dose di \catcode
-Caccino correlato, ed è probabile che questo sia ciò che sta causando i tuoi problemi. Dato che non riesco a riprodurre il tuo errore senza un esempio minimo, posso solo speculare (in generale in futuro se si desidera l'aiuto più efficiente, fornire un completare Esempio minimo che mostra il problema - nel farlo spesso lo restringerai, ma almeno ti assicuri che gli altri possano riprodurlo fedelmente).
Prova ad aggiungere il fragile
opzione al frame nella tua definizione, come in
\begin{frame}[plain,fragile]
Non sono sicuro di quali siano i compromessi, ma questo causa il frame
ambiente per comportarsi più come un ambiente normale.