[pstricks] Pigs in pgf Space

Herbert Voss Herbert.Voss at FU-Berlin.de
Thu Apr 1 14:13:06 CEST 2010


Am 01.04.2010 12:42, schrieb Marc van Dongen:
> % Enjoy.

... and in pst space :-)

\documentclass{minimal}

\usepackage{pst-coil}
\SpecialCoor

\makeatletter
\define at key[psset]{}{noseColor}{\def\psk at noseColor{#1}}
\define at key[psset]{}{eyeColor}{\def\psk at eyeColor{#1}}
\psset{noseColor=purple!50!gray,eyeColor=black}

\def\pspig{\pst at object{pspig}}
\def\pspig at i(#1){%
  \pst at getcoor{#1}\pst at origin
  \addbefore at par{linewidth=0.1,fillcolor=pink,fillstyle=solid}
  \begin at ClosedObj
     \rput(!\pst at origin\space \tx at UserCoor){%
       \pspolygon(-0.6,0)(-0.4,-1.7)(-0.3,-1.5)(-0.2,-1.7)(-0.1,0)
       \pspolygon(0.6,0)(0.4,-1.7)(0.3,-1.5)(0.2,-1.7)(0.1,0)
       \psellipse(0,0)(1.3,1.2)%
       \pscurve(0.15,0.05)(0.2,0.4)(0.4,0.75)(0.55,0.8)
       \pscurve(0.15,-0.05)(0.3,-0.1)(0.6,0.7)(0.55,0.85)
       \pscurve(-0.15,0.05)(-0.2,0.4)(-0.4,0.75)(-0.55,0.8)
       \pscurve(-0.15,-0.05)(-0.3,-0.1)(-0.6,0.7)(-0.55,0.85)
       \psellipse(0,0)(0.45,0.41)%
       \psellipse(0,-0.65)(0.75,0.55)%
       \psellipse[fillcolor=\psk at noseColor](-0.24,-0.65)(0.2,0.3)%
       \psellipse[fillcolor=\psk at noseColor](0.24,-0.65)(0.2,0.3)%

\psellipse[linewidth=0.4\pslinewidth,fillcolor=white](-0.15,0.05)(0.13,0.18)

\psellipse[linewidth=0.4\pslinewidth,fillcolor=white](0.15,0.05)(0.13,0.18)
       \psellipse*[linecolor=\psk at eyeColor](-0.15,0.05)(0.06,0.085)
       \psellipse*[linecolor=\psk at eyeColor](0.15,0.05)(0.06,0.085)

\psline[fillstyle=none,linejoin=1](0,1.2)(0,1.3)(-0.1,1.32)(0.125,1.4)%
          (-0.1,1.5)(0.175,1.6)(-0.2,1.7)
     }
  \end at ClosedObj%
  \ignorespaces%
}
\makeatother

\begin{document}

\begin{pspicture}(-1,-1)(4,4)
  \pspig(0,0)\pspig[fillcolor=blue!40,noseColor=purple,
    linewidth=4pt,unit=2](4,0)
\end{pspicture}



More information about the PSTricks mailing list