pstricks:使用 \rput* 与 pst-solides3d 时出现奇怪的行为

pstricks:使用 \rput* 与 pst-solides3d 时出现奇怪的行为

\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}
  1. 使用\rput*没有 \psdot),情节有所转变,但文字放错了位置

  2. 使用\rput没有 \psdot),没有 shift,也没有文本

  3. 使用 \rput\rput*\psdot,输出是正确的

  4. 如果我输入\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}

相关内容