pgfplots + standalone + animate:!缺少插入 \endgroup。\endgroup\end{tikzpicture} }

pgfplots + standalone + animate:!缺少插入 \endgroup。\endgroup\end{tikzpicture} }
% Doesn't Work
\documentclass[tikz,border=2mm]{standalone} 

% Works
%\documentclass[border=2mm]{standalone} 

\usepackage{tikz} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 
\usepackage{animate} 

\begin{document} 

\begin{animateinline}[palindrome,controls]{12} 
\multiframe{10}{i=0+1}{% 
abc 
\begin{tikzpicture} % --> Removing the `tikzpicture` environment "removes" the error message.
\end{tikzpicture} 
} 
\end{animateinline} 

\end{document} 

  • 我想要制作独立图表、pgfplots包+standalone文档类。
  • 我还希望图表能够动画化,并且animate封装起来。
  • 我收到错误! Missing \endgroup inserted.<inserted text>\endgroup\end{tikzpicture}}
  • 如果我tikz从文档类中删除该选项,那么就不会出现错误 - 但如果我有多个图表,那么它们就不会在单独的页面上。
  • article我暂时转到文档类。

更新

受到 AlexG 的评论的启发,我尝试这样做:

  • tikz从文档类中删除选项。
  • 插入环境\newpage之外animateline
  • 但是,同样的错误。

我们可以关闭这个问题了——我只是想确保这不是我犯的一个愚蠢的错误:)。

\documentclass[border=2mm]{standalone} 

%\usepackage{tikz} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 
\usepackage{animate} 

\begin{document} 

\newpage
\begin{animateinline}[palindrome,controls]{12} 
\multiframe{10}{i=0+1}{% 
abc 
\begin{tikzpicture} 
\end{tikzpicture} 
} 
\end{animateinline} 

\newpage
\begin{animateinline}[palindrome,controls]{12} 
\multiframe{10}{i=0+1}{% 
abc 
\begin{tikzpicture} 
\end{tikzpicture} 
} 
\end{animateinline} 

\end{document} 

答案1

该错误是由于放置\newpagestandalone类文档中而导致的,正如这个简单的非编译示例所示(从OP代码中删除了除“abc”和之外的所有内容\newpage):

\documentclass[border=2mm]{standalone}

\begin{document}

\newpage
abc

\newpage
abc

\end{document}

相反,应该使用\standaloneenv{...}\begin{standalone}...\end{standalone}来告诉哪些内容应该排版到单独的页面上:

\documentclass[border=2mm]{standalone} 

%\usepackage{tikz} 
\usepackage{pgfplots} 
\pgfplotsset{compat=newest} 
\usepackage{animate} 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\standaloneenv{animateinline}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document} 

\begin{animateinline}[palindrome,controls]{12} 
  \multiframe{10}{i=0+1}{% 
    \Huge\fbox{abc: \i}
    \begin{tikzpicture} 
    \end{tikzpicture} 
  } 
\end{animateinline} 

\begin{animateinline}[palindrome,controls]{12} 
  \multiframe{10}{i=0+1}{% 
    \Huge\fbox{ijk: \i}
    \begin{tikzpicture} 
    \end{tikzpicture} 
  } 
\end{animateinline} 

\end{document}

相关内容