standalone
我想使用、beamer
和提供的功能创建动画pstricks
。我的尝试如下,但生成了一个空白页。如何修复此错误?
\documentclass[beamer,preview,border=12pt,multi={pspicture}]{standalone}
\usepackage{pstricks}
\def\A{\pspolygon(0,0)(5,0)(5,2)}
\def\B{\pspolygon(0,0)(8,0)(8,3)}
\begin{document}
\begin{standaloneframe}
\begin{pspicture}(13,5)
\rput(0,0){\A}\pause
\rput(5,2){\B}\pause
\pspolygon(0,0)(13,0)(13,5)
\end{pspicture}
\end{standaloneframe}
\end{document}
错误消息:
Error: /typecheck in --div--
Operand stack:
1 0 0.0 -0.0179533 a 65781.8
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 2022 1 3 %oparray_pop 2021 1 3 %oparray_pop 2009 1 3 %oparray_pop 1865 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- --nostringval-- 4 --nostringval-- %repeat_continue --nostringval--
Dictionary stack:
--dict:789/1123(ro)(G)-- --dict:0/20(G)-- --dict:159/200(L)-- --dict:96/300(L)--
Current allocation mode is local
Current file position is 121936
尝试 1
我做了以下操作,但也没有帮助。
为 Windows(64 位)安装最新的 Ghostscript 9.55.0。
更新 TeXLive 2021。
调用
latex -shell-escape filename.tex
多次。调用
dvips -t unknown filename.dvi
一次。调用
gswin64c -dALLOWPSTRANSPARENCY -dCompatibilityLevel=1.5 -dAutoRotatePages=/None -sDEVICE=pdfwrite -o filename.pdf filename.ps
一次。删除
standalone
并直接使用preview
。
\documentclass{beamer}
\usepackage{pstricks}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{pspicture}
\PreviewBorder=12pt\relax
\def\A{\pspolygon(0,0)(5,0)(5,2)}
\def\B{\pspolygon(0,0)(8,0)(8,3)}
\begin{document}
\begin{frame}{}
\begin{pspicture}(13,5)
\rput(0,0){\A}\pause
\rput(8,3){\B}\pause
\pspolygon(0,0)(13,0)(13,5)
\end{pspicture}
\end{frame}
\end{document}
第二次尝试
切换到最新的 MikTeX 也无济于事。
最终的
LuaLaTeX 有效!
答案1
运行以下命令lualatex
:
\documentclass{beamer}
\usepackage{pstricks}
\def\A{\pspolygon(0,0)(5,0)(5,2)}
\def\B{\pspolygon(0,0)(8,0)(8,3)}
\begin{document}
\begin{frame}{My frame}
\psset{unit=0.5}
\begin{pspicture}[showgrid](16,6)
\rput(0,0){\A}\pause
\rput(8,3){\B}\pause
\pspolygon(0,0)(13,0)(13,5)
\end{pspicture}
\end{frame}
\end{document}