foreach の反復子が機能しないのはなぜですか?

foreach の反復子が機能しないのはなぜですか?

アニメーション GIF をフレームに分割し、PNG シーケンスとして保存しました。beamerクラスを使用して、シーケンスから画像を読み込み、自動開始アニメーションなしで相互に置き換えたいと考えています。

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

コンパイラの出力は次のように言う。

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

ファイル名はdbgp-setup2-0.pngdbgp-setup2-1.pngなどである必要があります。なぜ\x機能しないのですか?

答え1

パーサーは を解析しない\x+1ので、自分で解析する必要があります。この場合、 は\x+1count と一致するので、これを使用できます。(もちろん、私はあなたのイメージを持っていないので、いくつかの標準イメージの名前を変更しました。)

\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}

ここに画像の説明を入力してください

答え2

なぜこんなに複雑なことをするのか分かりません。

\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}

ここに画像の説明を入力してください

関連情報