5

i got a strange behaviour using \rput and \rput* with the package pst-solides3d. it concern more or less the commands \rput and \psdot in the following example

\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. using \rput* (without \psdot), there's a shift of the plot but the text is in the wrong place

  2. using \rput (without \psdot), no shift but no text as well

  3. using \rput or \rput* with \psdot, the output is correct

  4. if i put the \psframe command before the \psSolid command then i got a postscript error

seems rather mysterious to me. did i make something wrong?

2

Use \rput* outside of the pspicture environment. Then you can be sure, that the commulated PostScript code is executed:

[ ... ]
\psPoint(0,0,1){P}
\psdot(P)
\psframe(-2,-1)(2,2)
\end{pspicture}
\rput*(P){$110$}

\end{document}
0

This is because the package is not perfect. A simple solution is to add \composeSolid when there is something wrong. Try this

\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}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.