\rput
我在使用和\rput*
使用该包时遇到了奇怪的行为 pst-solides3d
。它或多或少涉及命令\rput
,并\psdot
在以下示例中
\documentclass{minimal}
\usepackage{pstricks,pst-solides3d}
\begin{document}
\defFunction{cont}(u,v){u}{v}{u dup mul v dup mul add}
\begin{pspicture}(-2,-1)(2,2)
\psSolid[object=surfaceparametree,
linecolor=green,
base=-1 1 -1 1,
fillcolor=green!50,incolor=green!20,
function=cont,linewidth=0.5\pslinewidth,
ngrid=.2 .2,
action=draw**]
\psPoint(0,0,1){P}
\psdot(P)
\rput*(P){$110$}
\psframe(-2,-1)(2,2)
\end{pspicture}
\end{document}
使用
\rput*
(没有\psdot
),情节有所转变,但文字放错了位置使用
\rput
(没有\psdot
),没有 shift,也没有文本使用
\rput
或\rput*
与\psdot
,输出是正确的如果我输入
\psframe
命令前\psSolid 命令然后我收到一个 postscript 错误
对我来说这似乎很神秘。我做错什么了吗?
答案1
\rput*
在环境之外使用pspicture
。然后你可以确定,计算出的 PostScript 代码被执行了:
[ ... ]
\psPoint(0,0,1){P}
\psdot(P)
\psframe(-2,-1)(2,2)
\end{pspicture}
\rput*(P){$110$}
\end{document}
答案2
这是因为包不完善。一个简单的解决方案是,\composeSolid
当出现问题时添加。试试这个
\documentclass{minimal}
\usepackage{pstricks,pst-solides3d}
\begin{document}
\defFunction{cont}(u,v){u}{v}{u dup mul v dup mul add}
\begin{pspicture}(-2,-1)(2,2)
\psSolid[object=surfaceparametree,
linecolor=green,
base=-1 1 -1 1,
fillcolor=green!50,incolor=green!20,
function=cont,linewidth=0.5\pslinewidth,
ngrid=.2 .2,
action=draw**]
\psPoint(0,0,1){P}
\composeSolid % LOOK HERE !!!!!!!!!!!
%\psdot(P)
\rput*(P){$110$}
\psframe(-2,-1)(2,2)
\end{pspicture}
\end{document}