4

I draw a figure in pstricks, the code is here:

\documentclass{minimal}

\usepackage[dvipsnames]{pstricks}
\definecolor{bg}{cmyk}{0,0,0.1,0}

\begin{document}

\begin{pspicture}[linewidth=1.5pt](-2,-1.5)(10,4)

\psclip{\psellipse(2.2,1)(2,1.5)}
  \psellipse[fillcolor=blue!20,fillstyle=solid](4.3,1)(2,1.5)
\endpsclip
\psellipse[linecolor=Green](4.3,1)(2,1.5)
\psellipse[linecolor=yellow](2.2,1)(2,1.5)

\psframe[linecolor=blue](-1.5,-1.5)(8,4)
\psframe[linecolor=Maroon,fillstyle=solid](2.8,0.3)(3.8,1.2)


\end{pspicture}

\end{document}

But the yellow ellipse is with not pure yellow, but with some black inside. I tried to change to other color, but it is always there. Why is it like this?

enter image description here

3

That's because your clipping polygon/curve has some line width. Remove the line width (linewidth=none) and you'll be fine:

enter image description here

\documentclass{article}

\usepackage[dvipsnames]{pstricks}% http://tug.org/PSTricks/main.cgi/

\begin{document}

\noindent
\begin{pspicture}[linewidth=1.5pt](-2,-1.5)(10,4)
  \psclip{\psellipse(2.2,1)(2,1.5)}
    \psellipse[fillcolor=blue!20,fillstyle=solid](4.3,1)(2,1.5)
  \endpsclip
  \psellipse[linecolor=Green](4.3,1)(2,1.5)
  \psellipse[linecolor=yellow](2.2,1)(2,1.5)
  \rput{0}(0,-2){
    \psclip{\psellipse[linestyle=none](2.2,1)(2,1.5)}
      \psellipse[fillcolor=blue!20,fillstyle=solid](4.3,1)(2,1.5)
    \endpsclip
    \psellipse[linecolor=Green](4.3,1)(2,1.5)
    \psellipse[linecolor=yellow](2.2,1)(2,1.5)
  }
\end{pspicture}

\end{document}

This is technically a non-issue, since both polygons/curves are drawn on top of one another with the same line width. The visual may show some border at certain zoom levels... however, this is barely at higher zoom levels (the NW-SE line has some visible remnants on the NE side):

enter image description here

| improve this answer | |
  • @Ginger: It actually becomes more evident that the clipping path is redrawn an entirely visible if it doesn't match the path to be clipped. That is, use something like \psframe(1,0)(5,3) for the clipping path and you'll see the entire frame still visible. However, setting linestyle=none still clips, but without the path showing. Some people prefer linewidth=0pt, but you may find some residual line showing. – Werner Sep 12 '13 at 17:20
  • this way the problem still exists for the left part of the green ellipse. – Ginger Sep 12 '13 at 17:58

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.