如何同时使用预览和动画包?

如何同时使用预览和动画包?

我习惯使用previewstandalone包来准备 tikz 图形以进行裁剪。现在我开始尝试动画,并想做同样的事情。我的第一个测试是使用Alexander Grahn 的回答动画协议,但只要我包括

\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}

pdflatex 在序言中抱怨

! Package animate Error: Contents of first frame must not have zero width.

我发现了一些用...准备的示例preview,但是它们都使用\animategraphics 命令而不是animateinline带有命令的环境\multiframe

所以我的第一个问题是,做我想做的事有意义吗?它正在生成一个动画剪辑图形以包含在另一个文件中。“没有,它没有”可能是一个很好的答案,但如果有,我做错了什么?

这里有测试代码。我也测试过添加,\usebaoundingbox但没有成功。

\documentclass{beamer}
\usepackage{tikz}
\usepackage{animate}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\begin{document}
\begin{frame}
\begin{animateinline}[loop]{10}
  \multiframe{10}{rPos=0.1+0.1}{
    \begin{tikzpicture}[every node/.style={draw}]
     %\useasboundingbox (-2,-2) rectangle (7,2);
     \node (s) {sender};
     \node (r) at (5,0) {receiver};
     \path (s) -- (r) node[pos=\rPos,coordinate] (p) {};
     \draw[->] (s) -- (p);
    \end{tikzpicture}
  }
\end{animateinline}
\end{frame}

\end{document}

答案1

这里有一个使用standalone类的解决方案。如前所述,如果您将该 PDF 作为图像包含在其他文档中,动画将会丢失。但是,您可以\input在加载以下文件后standalone 包裹在主文档中。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{animate}
\begin{document}
\begin{animateinline}[loop]{10}
  \multiframe{10}{rPos=0.1+0.1}{
    \begin{tikzpicture}[every node/.style={draw}]
     %\useasboundingbox (-2,-2) rectangle (7,2);
     \node (s) {sender};
     \node (r) at (5,0) {receiver};
     \path (s) -- (r) node[pos=\rPos,coordinate] (p) {};
     \draw[->] (s) -- (p);
    \end{tikzpicture}
  }
\end{animateinline}
\end{document}

答案2

将选项更改\PreviewEnvironmentanimateinline

相关内容