在 Beamer 类中的动画内联中使用 \foreach 会引发错误

在 Beamer 类中的动画内联中使用 \foreach 会引发错误

我遇到了以下代码的问题,必须承认我现在能够在论坛上找到技巧。

\begin{frame}{Title}

\begin{figure}[htbp]
\begin{center}
\begin{animateinline}[loop,poster = first, controls]{1}
   \foreach \x in {a,b}{
     \includegraphics[scale=1]{../figures/fig-\x}%
       \newframe
    }
\end{animateinline}

\end{center}
\end{figure}
\end{frame}

当我展开列表时,没有任何问题。但是,\foreach 循环会抛出错误 ( Undefined control sequence)。

我找不到任何解决方法。

感谢您的帮助

答案1

Pkganimate有自己的循环设备,\multiframe。它应该用来代替外部循环命令,例如\foreach\newframe在循环体中使用 。

\includegraphics要使用非数字值(“a”,“b”,“c”)对文件名参数进行参数化,请将 pkgpgf的数组表达式与 结合使用\multiframe

\documentclass{article}

\usepackage{pgf}
\usepackage{graphicx}
\usepackage{animate}

\def\imgID{{"a", "b", "c"}}

\begin{document}

\begin{animateinline}[loop, controls]{1}
  \multiframe{3}{i=0+1}{  % i = <init. val.> + <incr.>
    \pgfmathparse{\imgID[\i]}%
    \includegraphics[scale=0.5]{example-image-\pgfmathresult}%
  }
\end{animateinline}

\end{document}

相关内容