beamer 包 - tikz 外部化和动画

beamer 包 - tikz 外部化和动画

我有一个稍大的项目,所以我把它分成多个文件,并外部化 tikz 图形以减少编译时间。基本设置如下:

假设我Main在最低级别有一个文件夹,其中包含一个文件夹Sub和一个文件Main.tex,其中包含以下内容:

\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{external, matrix}
\tikzexternalize{Main}

% taken from: http://tex.stackexchange.com/questions/136143/tikz-animated-figure-in-beamer
\tikzset{invisible/.style={opacity=0}, visible on/.style={alt={#1{}{invisible}}}, alt/.code args={<#1>#2#3}{\alt<#1>{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}},}

\begin{document}
    \tikzset{external/export=false}
    \include{Sub/Sub}
\end{document}

在文件夹中Sub,我有另一个文件夹Tikz和一个文件Sub.tex,其中包含以下内容:

\tikzsetexternalprefix{Sub/Tikz/img_}

\begin{frame}{Test}
    \begin{figure}
        \tikzset{external/export=true}
        \tikzsetnextfilename{Test}
        \input{Sub/Tikz/Test.tikz}
    \end{figure}
    \begin{itemize}
        \item A
        \item B
    \end{itemize}
\end{frame}

在文件夹中Tikz我有一个文件Test.tikz,其中包含以下内容:

% taken from: http://tex.stackexchange.com/questions/136143/tikz-animated-figure-in-beamer
\begin{tikzpicture}
\matrix (magic) [matrix of nodes, ampersand replacement=\&, column sep=7mm, row sep=5mm]{
\node (se) [draw,shape=rectangle,visible on=<5->] {Existence Forte}; \&
\node (yw) [draw,shape=circle,visible on=<1->] {Yamada-watanab}; \&
\node (ul) [draw,shape=rectangle,visible on=<9->] {Unicité en Loi}; \\
\node (d1) [draw,shape=circle,visible on=<6->] {Définition}; \& 
\&   
\node (d2) [draw, shape=circle,visible on=<8->] {Définition}; \\
\node (we) [draw, shape=rectangle,visible on=<2->] {Existence Faible}; \&
\node (ec) [draw, shape=circle,visible on=<10->] {Engelbert-Cherny}; \& 
\node (pu) [draw, shape=rectangle,visible on=<3->] {Unicité Trajectorielle}; \\
};
\draw[->, thick,visible on=<6->] (se) -- (d1); \draw[->, thick,visible on=<7->]  -- (we);
\draw[->, thick,visible on=<4->] (we) -- (yw); \draw[->, thick,visible on=<5->] (yw) -- (se);
\draw[->, thick,visible on=<11->] (se) -- (ec); \draw[->, thick,visible on=<11->] (ul) -- (ec);
\draw[->, thick,visible on=<12->] (ec) -- (pu); \draw[->, thick,visible on=<4->] (pu) -- (yw);
\draw[->, thick,visible on=<8->] (pu) -- (d2); \draw[->, thick,visible on=<9->] (d2) -- (ul);
\end{tikzpicture}

我现在想要实现的是,文件img_Test.pdf(通过编译代码生成)的每一页都显示在演示文稿中的自己的框架上,其中包含项目AB下面的内容,因此如果单击幻灯片向下,它看起来就像动画。但我目前得到的只是一个单页 pdf,只显示图表的第一页,没有项目。

如果我只是设置tikzset{external/export=true}false,一切都会正常工作,所以只是外部化导致了这个问题。

我使用来自官方 Ubuntu 存储库的 TeX Live 发行版,使用 TeXstudio 进行编辑,并使用命令使用 PdfLaTeX 进行编译pdflatex -synctex=1 -interaction=nonstopmode --shell-escape %.tex。该--shell-escape命令不是默认的,但我需要它来编译我的 tikz 图片。

相关内容