我想放
\pstVerb
{
true setglobal
globaldict begin
/side 4 def
/potocar {2 copy cos mul 3 1 roll sin mul} bind def
end
false setglobal
}
在序言中而不是在中,pspicture
以使其成为全局的。
\documentclass[12pt]{beamer}
\usepackage{pst-eucl}
\usepackage[active,tightpage]{preview}
\PreviewBorder=12pt
\PreviewEnvironment{pspicture}
\pstVerb
{
true setglobal
globaldict begin
/side 4 def
/potocar {2 copy cos mul 3 1 roll sin mul} bind def
end
false setglobal
}
\begin{document}
\begin{frame}
\begin{pspicture}(-0.2,-0.2)(8,5)
\pstGeonode[PosAngle={180,225,-45,0},CurveType=polygon]
(!0 side){A}
(!0 0){B}
(!80 sin 2 exp side mul 40 sin div 70 sin div 0){C}
(!80 sin side mul 30 sin div 20 potocar){D}\pause
\psset{linecolor=red}
\pstLineAB{A}{D}\pause
\pstLineAB{B}{D}\pause
\psset
{
linecolor=magenta,
linewidth=0.5\pslinewidth,
arcsep=\pslinewidth,
arrows=<->,
MarkAngleRadius=1.0,
LabelSep=0.75,
}
\tiny
% A
\pstMarkAngle{B}{A}{D}{$\theta$}\pause
% B
\pstMarkAngle{C}{B}{D}{$20^\circ$}\pause
% D
\pstMarkAngle{B}{D}{C}{$50^\circ$}\pause
\pstMarkAngle{A}{D}{B}{$30^\circ$}
\end{pspicture}
\end{frame}
\end{document}
我问亚历克斯关于它一条评论, 他回应了但似乎不起作用。我在dvips
阶段或ps2pdf
阶段中收到编译错误,提示“/undefined in side”。我没有检查哪个阶段产生了错误,但latex
成功编译了它。
答案1
包preview
是罪魁祸首。它似乎丢弃了任何外部的东西\PreviewEnvironment
(pspicture
在本例中),不让它们进入 Postscript 输出。我检查了 PS 输出。side
和的定义potocar
没有进入其中。如果你删除preview
相关的行,一切都会好起来。