无法使用带有 \input 的动画?

无法使用带有 \input 的动画?

我有两个不同的动画,分别用 TikZ 和animate包,我想包含在beamer演示文稿。当我将代码放在演示文稿.tex文件中时,一切都运行正常,然后我尝试将动画代码移动到单独的文件中并将它们包含在内\input,结果它停止工作。

特别奇怪的是:如果我只包含其中一个动画并注释掉另一个动画,代码就可以正常工作。当我同时包含两个动画时,我收到一条错误

Missing \endgroup inserted

或者

Something's wrong: perhaps a missing \item?

取决于我是否注释掉第一个或第二个\input。任何建议都将不胜感激。下面是一段代码,只是为了让您了解我正在做什么(包括我的完整前言,以防万一其他软件包导致问题)。

\documentclass[xcolor=dvipsnames]{beamer}
\usepackage{mathrsfs}
\usepackage[absolute,overlay]{textpos}
\mode<presentation>
{
   \usetheme{Singapore}
   \usecolortheme{seahorse}
   \setbeamercovered{transparent}
}
\usepackage{tikz}
\usepackage[english]{babel}
\usepackage[latin1]{inputenc}
\usepackage{times}
\usepackage[T1]{fontenc}
\usepackage{color}
\usepackage{animate}  % Animations
\usepackage{fp}       % Fixed point calculations
\usepackage{ifthen}
\usepgflibrary{arrows}
\usetikzlibrary{decorations.markings, arrows, decorations.pathmorphing,
  backgrounds, positioning, fit, shapes.geometric}

\newcounter{frame}
\setcounter{frame}{0}

\begin{document}
\begin{frame}[fragile]{Animation 1}
  \begin{center}
    \input{animations/anim1.tex}
  \end{center}
\end{frame}

\begin{frame}[fragile]{Animation 2}
  \begin{center}
    \input{animations/anim2.tex}
  \end{center}
\end{frame}
\end{document}

anim1.tex 和 anim2.tex 相同:

\begin{animateinline}[autoplay, loop, controls, poster=first]{15}
  \whiledo{\theframe < 179}{
    \begin{tikzpicture}
      \draw (-3, -3) rectangle (3, 3);
      \filldraw (\theframe : 2cm) circle (0.05cm);
    \end{tikzpicture}

    \stepcounter{frame}
    \ifthenelse{\theframe < 179}{
      \newframe
    }{
    \end{animateinline}
   }
}

我对这个软件包还很陌生animate,所以也许更有知识的人会很容易地认识到哪里出了问题,但现在这非常令人沮丧。

非常感激任何的帮助。

答案1

\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}
\usepackage{filecontents}

\begin{filecontents*}{anim1.tex}
\begin{animateinline}[autoplay, loop, controls, poster=first]{15}
  \multiframe{181}{iAngle=0+1}{%
    \begin{tikzpicture}
      \draw (-3, -3) rectangle (3, 3);
      \filldraw (\iAngle : 2cm) circle (0.05cm);
    \end{tikzpicture}}
\end{animateinline}
\end{filecontents*}

\begin{filecontents*}{anim2.tex}
\begin{animateinline}[autoplay, loop, controls, poster=first]{15}
  \multiframe{181}{iAngle=0+1}{%
    \begin{tikzpicture}
      \draw (-3, -3) rectangle (3, 3);
      \filldraw (\iAngle : 2cm) circle (0.05cm);
    \end{tikzpicture}}
\end{animateinline}
\end{filecontents*}


\begin{document}
\begin{frame}[fragile]{Animation 1}
  \begin{center}
    \input{anim1.tex}
  \end{center}
\end{frame}

\begin{frame}[fragile]{Animation 2}
  \begin{center}
    \input{anim2.tex}
  \end{center}
\end{frame}
\end{document}

相关内容