动画包和 PSTricks 的问题

动画包和 PSTricks 的问题

由于某种我还不能辨别的原因,\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}

放大并运行。

在此处输入图片描述

停止了。

在此处输入图片描述

相关内容