¿Por qué no funciona el iterador en foreach?

¿Por qué no funciona el iterador en foreach?

Dividí un GIF animado en fotogramas y los guardé como una secuencia PNG. Utilizo la beamerclase y quiero cargar las imágenes de la secuencia, reemplazándolas entre sí sin una animación de inicio automático.

\begin{frame}\frametitle{FooBar}
\foreach \x in {0,...,5} {
   \includegraphics<\x+1>[width=0.95\textwidth]{dbgp-setup2-\x.png}
}
\end{frame}

La salida del compilador dice que

Latexmk: Missing input file: 'dbgp-setup2-.png' from line

El nombre del archivo debe ser dbgp-setup2-0.png, dbgp-setup2-1.pngetc. ¿Por qué \xno funciona?

Respuesta1

El analizador no analiza \x+1, por lo que debe hacerlo usted mismo. En este caso \x+1coincide con el conteo, por lo que podemos usar este. (Por supuesto, no tengo sus imágenes, así que cambié el nombre de algunas imágenes estándar).

\documentclass{beamer}
\usepackage{pgffor}
\begin{document}
\begin{frame}\frametitle{FooBar}
\foreach \x [count=\y] in {0,...,3} {
   \includegraphics<\y>[width=0.95\textwidth]{dbgp-setup2-\x}
}
\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

No estoy seguro de por qué hacer las cosas tan complicadas:

\documentclass{beamer}
\usepackage{pgffor}
\begin{document}
\begin{frame}\frametitle{FooBar}
\foreach \x in {0,...,3} {%
   \includegraphics<+>[width=0.95\textwidth]{dbgp-setup2-\x}%
}
\end{frame}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada