% 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
该错误是由于放置\newpage
在standalone
类文档中而导致的,正如这个简单的非编译示例所示(从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}