% Eingabe der Definitionen fuer die latexdraw-Bilder
% Basis der Makros ist pstricks
% Stand 21.1.98/14.9.96 ab latexdraw V5.5
% to be used with dvips
% Siegert, TUM
\expandafter\ifx\csname LTDsty\endcsname\relax %skip all if latexdraw.sty is already defined
\typeout{pst-latexdraw.sty fuer dvips, Stand: 21.1.1998}
\def\LTDsty{}
%----------------------------------------------------------------------
% Definition der Farben fuer pstricks sollen wie frueher
% in PSlatexdraw.sty bleiben, daher erfolgt setzen einer Farbe
% statt mit setfarbe jetzt mit SetColor!
% Definition fuer \sg@ und \sc@ sind leer
% Farbe oder Grauwert wird fuer pstricks in Farbe SCOLOR definiert
%----------------------------------------------------------------------
\def\colorwert#1{#1}
%Anmerkung: Durch setfarbe Makro farbe definiert
\def\SetColor#1{\setfarbe{#1}\ifnum#1<11\newgray{SCOLOR}{\colorwert{\farbe}}
\else\newrgbcolor{SCOLOR}{\colorwert{\farbe}}\fi
\psset{fillcolor=SCOLOR,linecolor=SCOLOR}\SCOLOR}
%----------------------------------------------------------------------
% Neuer Name fuer Definition von rput in pstricks
%----------------------------------------------------------------------
\let\pst@rput=\rput
%
%----------------------------------------------------------------------
% Definition des Macros `rput' \rput[winkel](x_pos,y_pos){Bildobjekt}
% Dieses gibt an der Stelle (x_pos,y_pos) das um den Winkel `winkel'
% gedrehte Bildobjekt aus. Winkel in Radian.
% Der Drehwinkel ist dabei im mathematische positivem Drehsinn in Bogenmass
% anzugeben.
%----------------------------------------------------------------------
\def\rput[#1](#2,#3)#4{\put(#2,#3){\degrees[-6.28319]\pst@rput[lB]{#1}(0,0){\mbox{#4}}}}
%
%----------------------------------------------
% Definition der Macros `rputc'
% \rputc[winkel](x_pos,y_pos){Farbe}{Bildobjekt}
% und 'putc'
% \putc(x_pos,y_pos){Farbe}{Bildobjekt}
%----------------------------------------------
%---------------------------------------------------
% Makros fuer die Pfeile:
%\eepicvarpfeile{xa,xe}{drehwinkel radian}{linewidth}
% werden nicht mehr direkt von LaTeX aus aufgerufen
% Aufruf nur noch ueber aLdPfeil oder eLdPfeil
% xa, ya: Position der Pfeilspitze
% Drehwinkel in Radian
% linewidth (ganze Zahl) in \unitlength
%
% \aLdPfeil{xa,xe}{drehwinkel radian}{linewidth}
% wobei der Pfeil am Anfang des Elementes ist
% \eLdPfeil{xa,xe}{drehwinkel radian}{linewidth}
% wobei der Pfeil am Ende des Elementes ist
%---------------------------------------------------
\def\eepicpfeile#1#2#3#4{\ifdim\@wholewidth<0.5pt\eepicvarpfeile{#1}{#2}{1}
\else\eepicvarpfeile{#1}{#2}{3}\fi}
%----------------------------------------------------------------------
% Kreise und Kreisboegen (werden auf Ellipsen abgebildet):
% \circle[linientyp]{2*r}
% \circle{2*r}
% \circle*{2*r}
% \arc{2*r}{wa}{we}
% \arc[linientyp]{2*r}{wa}{we}
% \LdpArc{lineende}{owa}{owe}[linientyp]{2*r}{wa}{we}
% r ist der Radius
% wa, we sind Anfangs- und Endwinkel nach TeX
% owa,owe sind unverkuerze (Original) Anfangs- und Endwinkel nach TeX
%----------------------------------------------------------------------
\def\circle{\@ifstar{\@fillcircle}{\@Circle}}
\def\@fillcircle#1{\@fillellipse{#1}{#1}}
\def\@Circle{\@ifnextchar [{\@ldcircle}{\@circle}}
\def\@circle#1{\ellipse{#1}{#1}}
\def\@ldcircle[#1]#2{\ellipse[#1]{#2}{#2}}
\def\arc{\@ifnextchar [{\@ldarc}{\@arc}}
\def\@ldarc[#1]#2#3#4{\ellarc[#1]{#2}{#2}{#3}{#4}}
\def\@arc#1#2#3{\ellarc{#1}{#1}{#2}{#3}}
\def\LdpArc#1#2#3{\arc}
%----------------------------------------------------------------------
% Ellipsen und Ellipsenboegen:
% \ellipse[linientyp]{2*a}{2*b}
% \ellipse{2*a}{2*b}
% \ellipse*{2*a}{2*b}
% \ellarc{2*a}{2*b}{wa}{we}
% \ellarc[linientyp]{2*a}{2*b}{wa}{we}
% \LdpEllarc{lineende}{otexwa}{otexwe}[linientyp]{2*a}{2*b}{wa}{we}
% a ist grosse Achse, b kleine Achse
% wa, we sind Anfangs- und Endwinkel nach TeX
% owa,owe sind unverkuerze (Original) Anfangs- und Endwinkel nach TeX
%----------------------------------------------------------------------
%----------------------------------------------
%% gefuellte Tortenscheiben
%Parameter: grosse Achse (Durchmesser beim Kreis),
%kleine Achse (Durchmesser beim Kreis), Anfangs- und Endwinkel in Grad
%----------------------------------------------
\newcommand{\pieslice}[4]{\pscustom{\code{newpath 0 0 moveto}%
\dim{#1}\dim{#2}\code{scale 0 0 .5 #3 #4 arc 1}%
\dim{#1}\code{div 1}\dim{#2}\code{div scale fill}}}
%----------------------------------------------------------------------
% \ldline[linientyp](x1,y1)(x2,y2)
% verwendet fuer Linien ohne Pfeile oder cap_projecting
%----------------------------------------------------------------------
\def\ldline{\@ifnextchar [{\@ldlinelt}{\@ldlinelt[1]}}
\def\@ldlinelt[#1]{\@@ldlinelt{\getpslinetype{#1}}}
\def\@@ldlinelt#1(#2,#3)(#4,#5){\pscustom{\newpath\code{#1}\moveto(#2,#3)\lineto(#4,#5)\code{stroke}}}
%----------------------------------------------------------------------
% \ldcpline[linientyp](x1,y1)(x2,y2)
% Fuer Linien, die ein CapProjecting--Ende (in Postscript Typ 2) haben
% nur bei solid lines!!!
%----------------------------------------------------------------------
\def\ldcpline{\@ifnextchar [{\@ldcplinelt}{\@ldcplinelt[1]}}
%----------------------------------------------------------------------
% \LdpLine{lineende}{(x2,y2)}[linientyp](x1r,y1r)(x2r,y2r)
% wird verwendet bei Linien mit Pfeilen,
% (x1r,y1r)(x2r,y2r) sind die verkuerzten Koordinaten,
% (0,0)(x2,y2) sind unverkuerzte Koordinaten der Linie
%----------------------------------------------------------------------
\def\LdpLine#1#2{\@ldlinelt}
%----------------------------------------------------------------------
% \ldlinewidt{linewidth}{linewidth in pt}
% linewidth ist ganze Zahl 1, 2, ....
% linewidth in pt ist GP-Zahl, von latexdraw berechnet, wird
% nachfolgend immer nur verwendet!
% Makro \LdLineWidth enthaelt Postscriptformel zur Berechnung der
% Linienstaerke fuer die Postscript-Ausgabe (in pt).
%
% Normalerweise ist die Formel in \LdLineWidth einfach der zweite
% Parameter aus \ldlinewidt
% F"ur Folien wird jedoch die Linienstaerke automatisch erhoeht, damit
% die Zeichnung f"ur normale Dokumente und f"ur Folien nicht
% ver"andert, allenfalls skaliert, werden muss.
% Die Striche werden nicht linear verbreitert. Formel dafuer in
% \@widthmodb
% Blanks am Ende von Makros wegen Postscript notwendig!!!
%----------------------------------------------------------------------
\newcommand{\@widthmoda}{ }
\newcommand{\@widthmodb}{dup 1 exch div 1.4 add mul }
\newcommand{\@widthmod}{\@widthmoda}
\newcommand{\LdLineWidth}{ }
\newcommand{\ldlinewidth}[2]{\renewcommand{\LdLineWidth}{#2 \@widthmod}}
%--------------------------------------------------------
% Fuer Zeichnungen auf Folien sollen die Striche automatisch dicker
% gezeichnet werden, ohne dass die urspr"ungliche Zeichnung ver"andert
% werden muss. Dazu kann \ThickLines im LaTeX-Dokument
% aufgerufen werden. Durch den Aufruf \NormalLines wird wieder die
% urspr"ungliche Strichstaerke verwendet
%--------------------------------------------------------
\newcommand{\ThickLines}{\renewcommand{\@widthmod}{\@widthmodb}}
\newcommand{\NormalLines}{\renewcommand{\@widthmod}{\@widthmoda}}
%----------------------------------------------------------------------
% nachfolgende Definitionen
% nur noch wegen Kompatibilitaet zu alten Versionen von latexdraw
%----------------------------------------------------------------------
\newsavebox{\Pthinpunkt}
\savebox{\Pthinpunkt}(0,0){$\cdot$}
%--------------------------------------------------------
% end latexdraw.sty fuer pstricks und dvips
%--------------------------------------------------------