La sobreimpresión no funciona con imágenes cuando se usan llaves

La sobreimpresión no funciona con imágenes cuando se usan llaves

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 onslidecomando, 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 \onslidecomandos fuera del overprintentorno. 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 onslideno parecen funcionar a menos que incluya llaves, pero al hacerlo hacen que overprintdeje de funcionar.

Respuesta1

El comportamiento de \onslidees 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}

ingrese la descripción de la imagen aquí

información relacionada