O código a seguir funciona conforme o esperado, onde duas imagens aparecem em dois slides diferentes no mesmo local:
\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}
No entanto, se eu adicionar colchetes após o onslide
comando, ele não funcionará mais:
\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 que é isso? Para fins de contexto, estou incluindo colchetes porque quero poder usar \onslide
comandos fora do overprint
ambiente. um MWE do meu objetivo final é:
\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}
As duas instâncias separadas de onslide
não parecem funcionar, a menos que eu inclua colchetes, mas isso faz com que overprint
parem de funcionar.
Responder1
O comportamento de \onslide
é diferente se houver uma discussão ou não. Para citar o guia do usuário do beamer:
O comportamento deste comando depende se o argumento opcional ⟨text⟩ é fornecido ou não (observe que o argumento opcional é fornecido entre colchetes normais, não entre colchetes). Se presente, o ⟨modificador⟩ pode ser a+ ou a*.
[...]
Se um argumento ⟨text⟩ estiver presente, \onslide (sem um ⟨modificador⟩) é mapeado para \uncover, \onslide+ é mapeado para \visible e \onslide* é mapeado para \only.
Isso significa que se você quiser usar um argumentoequiser que o argumento não ocupe espaço, então você deve usar \onslide*
.
(pessoalmente, acho muito mais fácil usar diretamente \only{}
, \uncover{}
etc., então sabe-se diretamente o que faz pelo nome)
\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}