由于某种我还不能辨别的原因,\begin{pspicture} on input line [...] ended by \end{animateinline
当我尝试编译时,下面附加的代码返回错误消息pdfLaTeX
:
\documentclass{memoir}
\usepackage{xifthen,ifpdf,ifxetex}
\usepackage[pdfcrop = { --hires }]{auto-pst-pdf}
\ifpdf
\else\usepackage{pstricks}
\fi
\usepackage{animate}
\begin{document}
\psset{xunit = 1cm, yunit = 1cm}
\begin{animateinline}[%
begin = {\begin{pspicture}(0,0)(1,1)},
end = {\end{pspicture}}%
]{2}
\psline(0,0)(0.5,0.5)
\newframe*
\psline(0,0)(1,1)
\end{animateinline}
\end{document}
有人重现了这种行为或提示了我的代码中有什么问题吗?我使用的是 Windows XP 和 MikTeX 2.9。在所有那些我使用animate
没有pspicture
环境的软件包的情况下,我都没有遇到任何问题。
答案1
auto-pst-pdf
窒息
begin = {\begin{pspicture}(0,0)(1,1)},
end = {\end{pspicture}}
东西。将pspicture
环境移入animateinline
可避免此问题:
\documentclass{memoir}
\usepackage{xifthen,ifpdf,ifxetex}
\usepackage[pdfcrop = { --hires }]{auto-pst-pdf}
\ifpdf
\else\usepackage{pstricks}
\fi
\usepackage{animate}
\begin{document}
\psset{xunit = 1cm, yunit = 1cm}
\begin{animateinline}[%
% begin = {\begin{pspicture}(0,0)(1,1)},
% end = {\end{pspicture}}%
]{2}
\begin{pspicture}(0,0)(1,1)
\psline(0,0)(0.5,0.5)
\end{pspicture}
\newframe*
\begin{pspicture}(0,0)(1,1)
\psline(0,0)(1,1)
\end{pspicture}
\end{animateinline}
\end{document}
答案2
您还可以使用如下的一体化方法。使用 进行编译pdflatex -shell-escape inputfile.tex
。
% inputfile.tex
\documentclass[preview,border=12pt,12pt]{standalone}% change it back to your own documentclass (memoir)
\usepackage{filecontents}
\begin{filecontents*}{diagrams.tex}
\documentclass[pstricks,border=12pt,12pt]{standalone}
\psset{unit=2cm}
\begin{document}
\foreach \x in {{\psline(0.5,0.5)},{\psline(1,1)}}{%
\begin{pspicture}(1,1)
\x
\end{pspicture}}
\end{document}
\end{filecontents*}
\usepackage{pgffor}
\usepackage{animate}
% compiling the diagrams
\def\OptionA{%
\foreach \compiler/\ext in {latex/tex,dvips/dvi,{ps2pdf -dAutoRotatePages=/None}/ps}
{\immediate\write18{\compiler\space diagrams.\ext}}}
\edef\sharp{\string#}
\def\OptionB{%
\foreach \compiler/\ext in {latex/tex,dvips/dvi,{ps2pdf -dAutoRotatePages\sharp/None}/ps}
{\immediate\write18{\compiler\space diagrams.\ext}}}
% If you cannot use \OptionA (for OS other than Windows XP), use \OptionB (for Windows XP)
%\OptionA
\OptionB
\begin{document}
\animategraphics[autoplay,controls,scale=2,loop]{4}{diagrams}{}{}
\end{document}
放大并运行。
停止了。