El siguiente código funciona como se esperaba, donde aparecen dos imágenes en dos diapositivas diferentes en la misma ubicación:
\documentclass[aspectratio=169]{beamer}
\begin{document}
\begin{frame}[t]
\frametitle{Test}
\begin{overprint}
\onslide<1>\includegraphics{pictures/test1.png}
\onslide<2>\includegraphics{pictures/test2.png}
\end{overprint}
\end{frame}
\end{document}
Sin embargo, si agrego llaves después del onslide
comando, ya no funciona:
\documentclass[aspectratio=169]{beamer}
\begin{document}
\begin{frame}[t]
\frametitle{Test}
\begin{overprint}
\onslide<1>{\includegraphics{pictures/test1.png}}
\onslide<2>{\includegraphics{pictures/test2.png}}
\end{overprint}
\end{frame}
\end{document}
¿Por qué es esto? Para el contexto, incluyo llaves porque quiero poder usar \onslide
comandos fuera del overprint
entorno. un MWE de mi objetivo final es:
\documentclass[aspectratio=169]{beamer}
\begin{document}
\begin{frame}[t]
\frametitle{Test}
\begin{itemize}
\onslide<1> {\item Slide 1}
\onslide<2> {\item Slide 2}
\end{itemize}
\begin{overprint}
\onslide<1>{\includegraphics{pictures/test1.png}}
\onslide<2>{\includegraphics{pictures/test2.png}}
\end{overprint}
\end{frame}
\end{document}
Las dos instancias separadas de onslide
no parecen funcionar a menos que incluya llaves, pero al hacerlo hacen que overprint
deje de funcionar.
Respuesta1
El comportamiento de \onslide
es diferente si hay discusión o no. Para citar la guía del usuario del proyector:
El comportamiento de este comando depende de si el argumento opcional ⟨texto⟩ se proporciona o no (tenga en cuenta que el argumento opcional se proporciona entre llaves normales, no entre corchetes). Si está presente, el ⟨modificador⟩ puede ser a+ o a*.
[...]
Si hay un argumento ⟨text⟩ presente, \onslide (sin un ⟨modificador⟩) se asigna a \uncover, \onslide+ se asigna a \visible y \onslide* se asigna a \only.
Esto significa que si quieres usar un argumentoySi desea que el argumento no ocupe espacio, entonces debería utilizar \onslide*
.
(Personalmente, me resulta mucho más fácil usarlo directamente \only{}
, \uncover{}
etc., entonces uno sabe directamente lo que hace por el nombre)
\documentclass[aspectratio=169]{beamer}
\begin{document}
\begin{frame}[t]
\frametitle{Test}
\begin{itemize}[<only@+>]
\item Slide 1
\item Slide 2
\end{itemize}
\begin{overprint}
\onslide*<1>{\includegraphics[page=1]{example-image-duck}}
\onslide*<2>{\includegraphics[page=2]{example-image-duck}}
\end{overprint}
\end{frame}
\end{document}