\title{Erstellen von Schaltbildern mit \texttt{pst-circ}}
\author{Herbert Voß}
\maketitle
\begin{abstract}
Mit diesem Artikel wird die Beschreibung der Teilpakete, die alle unter dem
Synonym \verb|pstricks| zusammengefasst werden, mit einem Paket zur Darstellung
von Schaltbildern fortgesetzt. Derartige Abbildungen gehören zu den 
Standardthemen in Schule und Universität und können daher für Einige interessant 
sein, insbesondere wenn es gilt, für Veröffentlichungen oder Arbeitsblätter auf einfache Art und Weise 
Ersatzschaltbilder zu erstellen ohne auf Vektorzeichenprogramme zugreifen zu müssen.
\end{abstract}

\section{Das Prinzip}
\verb|pst-circ| baut im Prinzip auf \verb|pst-node| auf, indem es zwischen bei 
vorgegebene Bezugspunkte (Knoten) ein grafisches Objekt setzt (Abbildung 
\ref{fig:Prinzip}), wobei die Ausrichtung des Objekts dabei sekundär ist.
Wenn keine Notwendigkeit besteht explizit ein Koordinatenpaar als Knoten zu definieren,
so kann grundsätzlich auch die normale $(x|y)$-Form verwendet werden.

Die Beschriftung bezieht sich immer auf die horizontale Achse, kann jedoch durch 
eigene Parameter ebenfalls gedreht werden.
Das Programmlisting \ref{lst:Prinzip} zeigt das Prinzip, wobei hier und für alle
folgenden Beispiele das Zeichnen 
des  Koordinatengitters und der Knotenpunkte nicht mit angegeben wird.

\begin{figure}[htb]
\centering
%\includegraphics[page=1]{circ-dtk-pics.pdf}
\PSforPDF{
\psset{unit=0.7}
\begin{pspicture}(-2.1,-1)(2.1,1)
    \psgrid[gridcolor=gray,subgriddiv=0, griddots=5,gridlabels=7pt]
    \pnode(-1.5,0){A}\qdisk(A){3pt}\uput[180](A){A}
    \pnode(1.5,0){B}\qdisk(B){3pt}\uput[0](B){B}
    \resistor(A)(B){$R$}
\end{pspicture}
}\hspace{0.5cm}
%\includegraphics[page=2]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-2.1,-1)(2.1,1)
    \psgrid[gridcolor=gray,subgriddiv=0, griddots=5,gridlabels=7pt]
    \pnode(-1.5,-0.75){A}\qdisk(A){3pt}\uput[180](A){A}
    \pnode(1.5,0.75){B}\qdisk(B){3pt}\uput[0](B){B}
    \resistor(A)(B){$R$}
\end{pspicture}
}
\caption{Prinzip zur Darstellung eines Objekts}\label{fig:Prinzip}
\end{figure}

\begin{lstlisting}[label=lst:Prinzip,caption={Prinzip zur Darstellung eines Objekts}]
\begin{pspicture}(-2,-1)(2,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \resistor(A)(B){$R$}
\end{pspicture}\hspace{0.5cm}
\begin{pspicture}(-2,-1)(2,1)
    \pnode(-1.5,-0.75)
    \pnode(1.5,0.75){B}
    \resistor(A)(B){$R$}
\end{pspicture}
\end{lstlisting}

\section{Die Objekte}

Die folgenden Tabellen \ref{tab:Dipole} bis \ref{tab:Quadrupole} zeigen eine 
Zusammenstellung der möglichen Objekte, wobei sich dies auf die derzeit aktuelle Version 1.1b bezieht. Formal kann folgende Unterscheidung vorgenommen werden:
\begin{description}
\item[Dipol]: benötigt zwei Knotenpunkte  
\item[Multidipol]: benötigt zwei Knotenpunkte, besteht aber aus mehreren Dipolen  
\item[Tripol]: benötigt drei Knotenpunkte  
\item[Quadrupol]: benötigt vier Knotenpunkte  
\end{description}
In den Tabellen wird zur besseren Überscht jedes Objekt ohne mögliche Optionen 
dargestellt, auf die dann im weiteren Verlauf dieses Artikels eingegangen wird. 
Der Aufruf eines Makros geschieht in der Regel durch
\begin{verbatim}
\<Objektname>(<Knoten1>)(<Knoten2>) ... {<Bezeichner>}
\end{verbatim}

Das letzte Argument (Bezeichner oder Label) kann auch leer bleiben. Einige der
Tripole verfügen nicht über dieses Argument, so dass eine Bezeichnung selbst 
vorgenommen werden muss. 

\subsection{Dipole}
Dipole, im technischen Sprachgebrauch auch als Zweipole bezeichnet, stellen den 
größten Anteil an verfügbaren Objekten. Bis auf \CMD{wire} können alle Dipole mit einem Bezeichner (Label) versehen werden.

\bgroup
\def\arraystretch{0.9}
\begin{longtable}{llm{2.25cm}}
\caption{Liste der vordefinierten Schaltsymbole für Dipole}\label{tab:Dipole}\\
Bezeichnung &  Makroname & Grafik\\
\hline\endhead
Batterie &  \CMD{battery} & 
%\includegraphics[page=3]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \battery(A)(B){$U_B$}
\end{pspicture}
}\\
Spannungs\-quelle &  \CMD{Ucc} &
%\includegraphics[page=4]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \Ucc(A)(B){$U$}
\end{pspicture}
}\\
Stromquelle &  \CMD{Icc} &
%\includegraphics[page=5]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \Icc(A)(B){$I$}
\end{pspicture}
}\\
Widerstand &  \CMD{resistor} &
%\includegraphics[page=6]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \resistor(A)(B){$R$}
\end{pspicture}
}\\
Kondensator &  \CMD{capacitor} &
%\includegraphics[page=7]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor(A)(B){$C$}
\end{pspicture}
}\\
Spule & \CMD{coil} &
%\includegraphics[page=8]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \coil(A)(B){$L$}
\end{pspicture}
}\\
Diode & \CMD{diode} &
%\includegraphics[page=9]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \diode(A)(B){$D$}
\end{pspicture}
}\\
Zener-Diode & \CMD{Zener} &
%\includegraphics[page=10]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \Zener(A)(B){$D$}
\end{pspicture}
}\\
LED & \CMD{LED} &
%\includegraphics[page=11]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \LED(A)(B){$D$}
\end{pspicture}
}\\
Lamp & \CMD{lamp} &
%\includegraphics[page=12]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \lamp(A)(B){}
\end{pspicture}
}\\
Schalter & \CMD{switch} &
%\includegraphics[page=13]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \switch(A)(B){$C$}
\end{pspicture}
}\\
Verbindung & \CMD{wire} &
%\includegraphics[page=14]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,0.5)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \wire(A)(B)
\end{pspicture}
}\\
Pfeilline & \CMD{tension} &
%\includegraphics[page=15]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \tension(A)(B){$u$}
\end{pspicture}
}\\
Kreis & \CMD{circledipole} &
%\includegraphics[page=16]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \circledipole(A)(B){}
\end{pspicture}
}\\
\end{longtable}
\egroup

Das Symbol \verb|circledipole| kann insbesondere für die Darstellung von Strom- und
Spannungsquellen verwendet werden, die abweichend vom Batteriesymbol sind. Mit der
\verb|labeloffset=0| Option erreicht man, dass das Label genau zentriert eingefügt wird, wie 
es beispielsweise für das Anwendungsbeispiel in Abildung \ref{fig:Demo} vorgenommen wurde.

\subsection{Multidipole}
Dies ist prinzipiell nichts weiter als eine lineare Verkettung von Dipolen, was
eine Vereinfachung bei der Erstellung sein kann. So könnte man beispielsweise das
Ersatzschaltbild einer Spule statt der Definition eines neuen Makros einfach
als Multidipol definieren (Abbildung \ref{fig:multidipol}).

\begin{figure}[htbp]
\begin{minipage}{0.6\columnwidth}
\begin{lstlisting}
\begin{pspicture}(-2.75,-0.5)(2.75,1)
    \pnode(-2.75,0){A}
    \pnode(2.75,0){B}
    \multidipole(A)(B)%
        \coil{$L$}%
        \resistor{$R_L$}.%!! the dot finishes the multidipol !!
\end{pspicture}
\end{lstlisting}
\end{minipage}\hfill
\begin{minipage}{0.36\columnwidth}
%\includegraphics[page=17]{circ-dtk-pics.pdf}
\PSforPDF{
\psset{unit=0.7}
\begin{pspicture}(-2.75,-0.5)(2.75,1)
    \pnode(-2.75,0){A}
    \pnode(2.75,0){B}
    \multidipole(A)(B)%
        \coil{$L$}%
        \resistor{$R_L$}.%!! the dot finishes the multidipol !!
\end{pspicture}
}
\end{minipage}
\caption{Definition eines Multidipols}\label{fig:multidipol}
\end{figure}

Zu beachten ist, dass der Punkt die Definition eines Multidipols beendet. Die Anzahl 
der Dipole ist formal nicht begrenzt, jedoch durch die endliche Zeichenbreite 
praktisch limitiert. 

\subsection{Tripole}
In der Tabelle \ref{tab:Tripole} der Tripole sind zum besseren Verständnis jeweils
die Namen der Knotenpunkte mit angegeben, hier als \verb|A|, \verb|B| und 
\verb|C| bezeichnet. Damit wird die Bedeutung der Reihenfolge deutlich, denn alle 
Tripole werden mit \verb|...(A)(B)(C)| aufgerufen. Nur für den Schalter besteht die
Möglichkeit einen Bezeichner (Label) anzugeben. Bei den anderen muss dies über normale \CMD{uput} Befehle erfolgen.

\begin{table}[htb]
\caption{Liste der vordefinierten Schaltsymbole für Tripole}\label{tab:Tripole}
\centering
\begin{tabular}{llm{2.7cm}}
Bezeichnung & Makro & Grafik\tabularnewline
\hline
Operations\-ver\-stärker &  \CMD{OA} & 
%\includegraphics[page=18]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3.25)
    \pnode(0,3){A}\uput[-45](A){A}
    \pnode(0,0){B}\uput[45](B){B}
    \pnode(4,1.5){C}\uput[135](C){C}
    \OA(A)(B)(C)
\end{pspicture} 
}\tabularnewline
pnp Transistor &  \CMD{transistor} & 
%\includegraphics[page=19]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3)
    \pnode(0,1.5){A}\uput[-45](A){A}
    \pnode(4,3){B}\uput[-135](B){B}
    \pnode(4,0){C}\uput[135](C){C}
    \transistor(A)(B)(C)
\end{pspicture} 
}\tabularnewline
Schalter &  \CMD{Tswitch} & 
%\includegraphics[page=20]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3)
    \pnode(0,2){A}\uput[-45](A){A}
    \pnode(4,2){B}\uput[-135](B){B}
    \pnode(2,0){C}\uput[45](C){C}
    \Tswitch(A)(B)(C){$S$}
\end{pspicture}
}\tabularnewline
\end{tabular}
\end{table}

\subsection{Quadrupole}
In der Tabelle \ref{tab:Quadrupole} sind wieder zum besseren Verständnis 
die Namen der Knotenpunkte mit angegeben, hier als \verb|A|, \verb|B|, \verb|C|  
und \verb|D| bezeichnet. Damit wird die Bedeutung der Reihenfolge deutlich, denn 
alle Quadrupole werden hier mit \verb|...(A)(B)(C)(D)| aufgerufen.

\begin{table}[htb]
\caption{Liste der vordefinierten Schaltsymbole für Quadrupole}\label{tab:Quadrupole}
\centering
\begin{tabular}{llm{3cm}}
Bezeichnung & Makro & Grafik\\
\hline
Transformator &  \CMD{transformer} & 
%\includegraphics[page=21]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3.25)
    \pnode(0,3){A}\uput[-45](A){A}
    \pnode(0,0){B}\uput[45](B){B}
    \pnode(4,3){C}\uput[-135](C){C}
    \pnode(4,0){D}\uput[135](D){D}
    \transformer(A)(B)(C)(D){$T$}
\end{pspicture}
}\\
Opto Koppler &  \CMD{optoCoupler} & 
%\includegraphics[page=21]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3.25)
    \pnode(0,2.5){A}\uput[-45](A){A}
    \pnode(0,0.5){B}\uput[45](B){B}
    \pnode(4,2.5){C}\uput[-135](C){C}
    \pnode(4,0.5){D}\uput[135](D){D}
    \optoCoupler(A)(B)(C)(D){$T$}
\end{pspicture}
}\\
\end{tabular}
\end{table}

\section{Optionen}

Das Paket \verb|pst-circ| selbst verfügt über keinerlei Paketoptionen. 
Dagegen gibt es eine erhebliche Zahl an verfügbaren Optionen für die Makros. 
Hierbei sind vor allem auch die Optionen für die farbliche Darstellung von 
Interesse, was für PDF Ausgaben von Vorteil ist.

\subsection{Strompfeile}

Jedes Objekt kann in seinen Verbindungsleitungen mit einem Strompfeil versehen 
werden. Das Beispiel in Abbildung \ref{fig:Strom} zeigt bereits eine Anwendung aller 
verfügbaren Optionen für die Kennzeichnung von Strompfeilen, wobei die Standardwerte 
für die Optionen der Dokumentation von \verb|pst-circ| entnommen werden können.

Die Stromrichtung ist jeweils durch die Reihenfolge der Knoten beim Makroaufruf festgelegt.  Der Strompfeil
zeigt demnach von \verb|Knoten1| nach \verb|Knoten2|, was jedoch über die Option \verb|directconvention=false| zusätzlich beeinflusst werden kann.

\begin{figure}[htb]
\centering
\begin{minipage}{3.25cm}
\centering
%\includegraphics[page=22]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-2,-1)(2,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \resistor[%
        intensity=true,%
        intensitycolor=red,%
        intensitylabel=i(t),%
        intensitylabelcolor=red,%
        intensitylabeloffset=0.3,%
        intensitywidth=2pt](A)(B){$R$}
\end{pspicture}
}
\end{minipage}\hfill
\begin{minipage}{\textwidth-3.5cm}
\begin{lstlisting}
\begin{pspicture}(-2,-1)(2,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \resistor[%
        intensity=true,%
        intensitycolor=red,%
        intensitylabel=i(t),%
        intensitylabelcolor=red,%
        intensitylabeloffset=0.3,%
        intensitywidth=2pt](A)(B){$R$}
\end{pspicture}
\end{lstlisting}
\end{minipage}
\caption{Möglichkeiten zur Darstellung von Strompfeilen}\label{fig:Strom}
\end{figure}

\subsection{Spannungspfeile}

Analog zu den Strompfeilen kann jedes Objekt parallel dazu mit einem Spannungspfeil 
versehen werden. Das Beispiel in Abbildung \ref{fig:Spannung} zeigt wieder bereits 
eine Anwendung aller verfügbaren Optionen für die Kennzeichnung von Spannungspfeilen, 
deren Standardwerte wieder der Dokumentation von \verb|pst-circ| entnommen werden 
können. Das Listing zeigt allerdings nur die für die Spannung relevanten Optionen, 
die hier zusätzlich zu Abbildung \ref{fig:Strom} aufgenommen wurden.

\begin{figure}[htb]
\centering
\begin{minipage}{3cm}
\centering
%\includegraphics[page=23]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-2,-1)(2,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor[%
        labeloffset=-0.75,%
        intensity=true,%
        intensitycolor=red,%
        intensitylabel=i(t),%
        intensitylabelcolor=red,%
        intensitylabeloffset=0.3,%
        intensitywidth=2\pslinewidth,%
%
        tension=true,%
        tensioncolor=green,%
        tensionoffset=0.75,%
        tensionlabel=u(t),%
        tensionlabelcolor=green,%
        tensionlabeloffset=1,%
        tensionwidth=\pslinewidth](A)(B){$C$}
\end{pspicture}
}
\end{minipage}\hfill
\begin{minipage}{\textwidth-3.25cm}
\begin{lstlisting}
\begin{pspicture}(-2,-1)(2,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor[%
        labeloffset=-0.75,%
        tension=true,%
        tensioncolor=green,%
        tensionoffset=0.75,%
        tensionlabel=u(t),%
        tensionlabelcolor=green,%
        tensionlabeloffset=1,%
        tensionwidth=\pslinewidth](A)(B){$C$}
\end{pspicture}
\end{lstlisting}
\end{minipage}
\caption{Möglichkeiten zur Darstellung von Spannungspfeilen}\label{fig:Spannung}
\end{figure}

Der Abbildung kann ebenfalls entnommen werden, dass das Label für das Objekt welches 
standardmäßig oberhalb erscheint durch Modifikation des Offsets nach unten gesetzt 
wird. Weiterhin entspricht die Pfeilrichtung der Standardvorgabe, sie ist wie beim 
Strom von \verb|B| nach \verb|A| gerichtet, womit das Bauteil formal Energie 
aufnimmt. Dies lässt sich einfach mit der Option

\begin{verbatim}
dipoleconvention=generator|receptor
\end{verbatim}

ändern, wobei \verb|receptor| die Standardvorgabe ist. Beide Pfeile zusammen können 
ebenfalls über eine Option richtungsmäßig umgedreht werden:
\begin{verbatim}
directconvention=false|true
\end{verbatim}

\subsection{Parallelschaltungen}
Dieser Fall tritt sehr häufig auf, beispielsweise beim Ersatzschaltbild für einen 
Kondensator, sodass \verb|pst-circ| hierfür extra einige Optionen aufweist. Abbildung 
\ref{fig:Parallel} zeigt ein einfaches Beispiel mit sämtlichen Optionen, wobei wieder
einige der vorhergehenden Optionen übernommen wurden, ohne dass sie im angegebenen
Programmcode erscheinen.

\begin{figure}[htb]
\centering
\begin{minipage}{3.5cm}
\centering
%\includegraphics[page=24]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-2,-1)(2,3)
    \pnode(-2,0){A}
    \pnode(2,0){B}
    \resistor[%
        labeloffset=0,%
        intensity=true,%
        intensitycolor=red,%
        intensitylabel=$i_1$,%
        intensitylabelcolor=red,%
        intensitylabeloffset=0.3,%
        intensitywidth=2pt,%
%
        tension=true,%
        tensioncolor=green,%
        tensionoffset=0.5,%
        tensionlabel=$u_2$,%
        tensionlabelcolor=green,%
        tensionlabeloffset=0.75,%
        tensionwidth=1pt](A)(B){$R$}
    \capacitor[%
        labeloffset=0,%
        parallel=true,%
        parallelnode=true,%
        parallelsep=0.2,%
        parallelarm=1.5,%
%
        intensity=true,%
        intensitycolor=red,%
        intensitylabel=$i_2$,%
        intensitylabelcolor=red,%
        intensitylabeloffset=0.3,%
        intensitywidth=2\pslinewidth,%
%
        tension=true,%
        tensioncolor=green,%
        tensionoffset=0.75,%
        tensionlabel=$u_2$,%
        tensionlabelcolor=green,%
        tensionlabeloffset=1,%
        tensionwidth=\pslinewidth](A)(B){$C$}
\end{pspicture}
}
\end{minipage}\hfill
\begin{minipage}{\textwidth-3.75cm}
\begin{lstlisting}
\begin{pspicture}(-2,-1)(2,3)
    \pnode(-2,0){A}
    \pnode(2,0){B}
    \resistor[%
        labeloffset=0,%
        [ ... ]
        tensionwidth=1pt](A)(B){$R$}
    \capacitor[%
        labeloffset=0,%
        parallel=true,%
        parallelnode=true,%
        parallelsep=0.2,%
        parallelarm=1.5,%
        [ ... ]
        tensionwidth=\pslinewidth](A)(B){$C$}
\end{pspicture}
\end{lstlisting}
\end{minipage}
\caption{Parralelschaltung}\label{fig:Parallel}
\end{figure}

Das Prinzip ist, dass beide Objekte dieselben Knotenpunkte haben, nur dass einer von 
beiden mit der Option \verb|parallel| darüber oder darunter angeordnet wird. 
Letzteres ist mit einem negativen Wert für \verb|parallelarm| möglich, beispielsweise 
$-2$, dann wird dieses Objekt im Abstand von 2 Längeneinheiten nach unten gezeichnet. 
Damit sind auch Parallelschaltungen mit drei Objekten möglich.

\subsection{Darstellungsformen}
Insbesondere zwischen europäischen und amerikanischen Symbolen bestehen sehr häufig 
Unterschiede in der Darstellung. Fast alle können per Option berücksichtigt werden 
und sind in Tabelle \ref{tab:Symbole} zusammengefasst.

\bgroup
\def\arraystretch{0.8}
\begin{longtable}{llm{2cm}}
\caption{Alternative Darstellungsformen}\label{tab:Symbole}\\
Makro & Option & \centerline{Grafik}\\
\endhead\hline
\CMD{resistor} & -- & 
%\includegraphics[page=25]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \resistor(A)(B){$R$}
\end{pspicture}
}\\
& \verb|dipolestyle=zigzag| & 
%\includegraphics[page=26]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \resistor[dipolestyle=zigzag](A)(B){$R$}
\end{pspicture}
}\\
\CMD{coil} & -- & 
%\includegraphics[page=27]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \coil(A)(B){$L$}
\end{pspicture}
}\\
& \verb|dipolestyle=rectangle| & 
%\includegraphics[page=28]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \coil[dipolestyle=rectangle](A)(B){$L$}
\end{pspicture}
}\\
 & \verb|dipolestyle=curved| & 
%\includegraphics[page=29]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \coil[dipolestyle=curved](A)(B){$L$}
\end{pspicture}
}\\
& \verb|dipolestyle=elektor| & 
%\includegraphics[page=30]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \coil[dipolestyle=elektor](A)(B){$L$}
\end{pspicture}
}\\
& \verb|dipolestyle=elektorcurved| & 
%\includegraphics[page=31]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \coil[dipolestyle=elektorcurved](A)(B){$L$}
\end{pspicture}
}\\
\CMD{capacitor} & -- & 
%\includegraphics[page=32]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor(A)(B){$C$}
\end{pspicture}
}\\
& \verb|dipolestyle=chemical| & 
%\includegraphics[page=33]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor[dipolestyle=chemical](A)(B){$C$}
\end{pspicture}
}\\
& \verb|dipolestyle=elektor| & 
%\includegraphics[page=34]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor[dipolestyle=elektor](A)(B){$C$}
\end{pspicture}
}\\
& \verb|dipolestyle=elektorchemical| & 
%\includegraphics[page=35]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor[dipolestyle=elektorchemical](A)(B){$C$}
\end{pspicture}
}\\
\CMD{diode} & -- & 
%\includegraphics[page=36]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \diode(A)(B){$D$}
\end{pspicture}
}\\
& \verb|dipolestyle=thyristor| & 
%\includegraphics[page=37]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \diode[dipolestyle=thyristor](A)(B){$T$}
\end{pspicture}
}\\
& \verb|dipolestyle=GTO| & 
%\includegraphics[page=38]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \diode[dipolestyle=GTO](A)(B){$GTO$}
\end{pspicture}
}\\
& \verb|dipolestyle=triac| & 
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \diode[dipolestyle=triac](A)(B){$Triac$}
\end{pspicture}
}\\
\end{longtable}
\egroup

\subsection{Regelbare Widerstände, Spulen und Kondensatoren}
mit der Option \verb|variable=true| lassen sich die Elemente mit einem diagonalen
Pfeil versehen, so dass sie als regelbar gekennzeichnet sind (Abbildung 
\ref{fig:Poti}).

\begin{figure}[htb]
\centering
%\includegraphics[page=39]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \resistor[variable](A)(B){$R$}
\end{pspicture}
}\hspace{0.5cm}
%\includegraphics[page=40]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \coil[variable,dipolestyle=curved](A)(B){$L$}
\end{pspicture}
}\hspace{0.5cm}
%\includegraphics[page=41]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-1.5,-0.5)(1.5,1)
    \pnode(-1.5,0){A}
    \pnode(1.5,0){B}
    \capacitor[variable](A)(B){$C$}
\end{pspicture}
}
\caption{Regelbare Objekte}\label{fig:Poti}
\end{figure} 


\subsection{Transistoren}

Ohne weitere Angaben wird der in Tabelle \ref{tab:Dipole} dargestellte PNP Transistor 
gezeichnet. Die weiteren Optionen zeigt Abbildung \ref{fig:Transistor}. Eine weitere 
Option \verb/transistorinvert=false|true/ vertauscht die Anschlüsse Emitter und 
Collector. Die übergeordnete Option \verb|intensity=true| setzt automatisch alle
drei Strompfeile für Basis/Emitter/Collector auf \verb|true|. Die Farbe für 
Strompfeil und Label kann über die allgemeinen Optionen \verb|intensitycolor=<Farbe>| 
und \verb|intensitylabelcolor=<Farbe>| global gesteuert werden.

\begin{figure}[htb]
\begin{minipage}{3.5cm}
%\includegraphics[page=42]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3)
    \pnode(0,1.5){A}
    \pnode(4,3){B}
    \pnode(4,0){C}
    \transistor[%
        transistorcircle=false,%
        transistortype=NPN,%
        transistoribase=true,%
        transistoricollector=true,%
        transistoriemitter=true,%
        transistoribaselabel=$i_B$,%
        transistoricollectorlabel=$i_C$,%
        transistoriemitterlabel=$i_E$,%
        intensitycolor=red,%
        intensitylabelcolor=red](A)(B)(C)
\end{pspicture}
}
\end{minipage}\hfill
\begin{minipage}{\textwidth-3.25cm}
\begin{lstlisting}
\begin{pspicture}(4,3)
    \pnode(0,1.5){A}\uput[-45](A){A}
    \pnode(4,3){B}\uput[-135](B){B}
    \pnode(4,0){C}\uput[135](C){C}
    \transistor[%
        transistorcircle=false,%
        transistortype=NPN,%
        transistoribase=true,%
        transistoricollector=true,%
        transistoriemitter=true,%
        transistoribaselabel={\red $i_B$},%
        transistoricollectorlabel=$i_C$,%
        transistoriemitterlabel=$i_E$,%
        intensitycolor=red,%
        intensitylabelcolor=red](A)(B)(C)
\end{pspicture}
\end{lstlisting}
\end{minipage}
\caption{Transistor Optionen}\label{fig:Transistor}
\end{figure} 

\subsection{Operationsverstärker}
Tabelle \ref{tab:Dipole} zeigt die Standarddarstellung für den idealen 
Operationsverstärker mit unendlich großer Verstärkung. Die Abbildung \ref{fig:OP1} 
zeigt eine Darstellung mit allen möglichen Optionen. Auch hier kann wieder zur 
Vereinfachung die übergeordnete Option \verb|intesity| benutzt werden, wenn alle drei 
Strompfeile gezeichnet werden sollen.

\begin{figure}[htb]
\begin{minipage}{3cm}
%\includegraphics[page=43]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3.5)
    \pnode(0,3){A}
    \pnode(0,0){B}
    \pnode(4,1.5){C}
    \OA[%
        OAperfect=false,%
        OAiplus=true,%
        OAiminus=true,%
        OAiout=true,%
        OAipluslabel=$i_P$,%
        OAiminuslabel=$i_M$,%
        OAioutlabel=$i_A$,%
        intensitycolor=red,%
        intensitylabelcolor=red](A)(B)(C)
\end{pspicture} 
}
\end{minipage}\hfill
\begin{minipage}{\textwidth-3.25cm}
\begin{lstlisting}
\begin{pspicture}(4,3.5)
    \pnode(0,3){A}
    \pnode(0,0){B}
    \pnode(4,1.5){C}
    \OA[%
        OAperfect=false,%
        OAiplus=true,%
        OAiminus=true,%
        OAiout=true,%
        OAipluslabel=$i_P$,%
        OAiminuslabel=$i_M$,%
        OAioutlabel=$i_A$,%
        intensitycolor=red,%
        intensitylabelcolor=red](A)(B)(C)
\end{pspicture} 
\end{lstlisting}
\end{minipage}
\caption{Operationsverstärker Optionen}\label{fig:OP1}
\end{figure} 

Sehr häufig findet sich mittlerweile eine andere Darstellung für OP's, die in 
Abbildung \ref{fig:OP2} dargestellt ist und über die Option 
\verb|tripolestyle=french| erreicht wird.

Die letzte Option \verb|OAinvert| ermöglicht ähnlich wie beim Transistor die 
Vertauschung der beiden Eingänge.

\begin{figure}[htb]
\begin{minipage}{3.5cm}
%\includegraphics[page=44]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(4,3.5)
    \pnode(0,3){A}
    \pnode(0,0){B}
    \pnode(4,1.5){C}
    \OA[tripolestyle=french](A)(B)(C)
\end{pspicture} 
}
\end{minipage}\hfill
\begin{minipage}{\textwidth-3.75cm}
\begin{lstlisting}
\begin{pspicture}(4,3.5)
    \pnode(0,3){A}
    \pnode(0,0){B}
    \pnode(4,1.5){C}
    \OA[tripolestyle=french](A)(B)(C)
\end{pspicture} 
\end{lstlisting}
\end{minipage}
\caption{Operationsverstärker in anderer Darstellung}\label{fig:OP2}
\end{figure} 

\subsection{Transformator}
Als letztes Objekt soll der Transformator mit seinen Optionen behandelt werden, deren
Auswirkung mit Abbildung \ref{fig:Transformator} zu erkennen ist. Die Markierung der Strompfeile 
kann wieder über die übergeordnete Option \verb|intensity| gesetzt werden, wenn beide
Pfeile gezeichnet werden sollen. Weiterhin kann das in Deutschland übliche Symbol
mit rechteckigen Spulen benutzt werden. Dazu wird die Option \verb|dipolestyle=rectangle|
verwendet, auch wenn es sich hier um einen Quadrupol handelt.


\begin{figure}[htb]
\begin{minipage}{3.4cm}
%\includegraphics[page=45]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\begin{pspicture}(-0.25,0)(4.75,4)
    \pnode(0,3){A}
    \pnode(0,0){B}
    \pnode(4,3){C}
    \pnode(4,0){D}
    \transformer[%
        dipolestyle=rectangle,%
        primarylabel={Prim"ar},%
        secondarylabel={Sekund"ar},%
        transformeriprimary=true,%
        transformerisecondary=true,%
        transformeriprimarylabel=$i_{Ein}$,%
        transformerisecondarylabel=$i_{Aus}$,%
        intensitycolor=red,%
        intensitylabelcolor=red](A)(B)(C)(D){$T$}
\end{pspicture}
}
\end{minipage}\hfill
\begin{minipage}{\textwidth-3.5cm}
\begin{lstlisting}
\begin{pspicture}(4,4)
   \pnode(0,3){A}   \pnode(0,0){B}
   \pnode(4,3){C}   \pnode(4,0){D}
   \transformer[%
      dipolestyle=rectangle,%
      primarylabel={Prim"ar},%
      secondarylabel={Sekund"ar},%
      transformeriprimary=true,%
      transformerisecondary=true,%
      transformeriprimarylabel=$i_{Ein}$,%
      transformerisecondarylabel=$i_{Aus}$,%
      intensitycolor=red,%
      intensitylabelcolor=red](A)(B)(C)(D){$T$}
\end{pspicture}
\end{lstlisting}
\end{minipage}
\caption{Transformator Optionen}\label{fig:Transformator}
\end{figure} 

\section{Anwendungsbeispiel}
Mit Sicherheit wird man mit \verb|pst-circ| nicht umfangreiche Schaltungen 
entwerfen. Dennoch lassen sich insbesondere kleinere Schaltbilder oder 
Ersatzschaltbilder leicht erstellen, wenn man während der Erstellung mit 
einem Koordinatengitter arbeitet, welches mit \verb|psgrid| einfach erstellt 
werden kann. Das in Abbildung \ref{fig:Demo} dargestellte Ersatzschaltbild
eines Gleichstromstellers wurde mit der in Listing \ref{lst:Demo} angegeben
Befehlsfolge erstellt.

\begin{figure}[htb]
%\resizebox{\textwidth}{!}{%
\centering
%\includegraphics[page=46]{circ-dtk-pics.pdf}
\PSforPDF{%
\psset{unit=0.7}
\psset{intensitycolor=red,intensitylabelcolor=red,%
    tensioncolor=green,tensionlabelcolor=green,%
    intensitywidth=3pt}
\begin{pspicture}(-1,0)(13,8)
%    \psgrid[griddots=5,gridlabels=7pt,subgriddiv=0]
    \circledipole[
         tension,%
         tensionlabel=$U_0$,%
         tensionoffset=-0.75,%
         tensionlabeloffset=-1,%
         labeloffset=0](0,6)(0,0){\LARGE\textbf{=}}
    \wire[intensity,intensitylabel=$i_0$](0,6)(2.5,6)
    \diode[dipolestyle=thyristor](2.5,6)(4.5,6){$T_1$}
    \wire[intensity,intensitylabel=$i_1$](4.5,6)(6.5,6)
    \multidipole(6.5,7.5)(2.5,7.5)%
        \coil[dipolestyle=rectangle,labeloffset=-0.75]{$L_5$}%
        \diode[labeloffset=-0.75]{$D_5$}.
    \wire[intensity,intensitylabel=$i_5$](6.5,6)(6.5,7.5)
    \wire(2.5,7.5)(2.5,3)
    \wire[intensity,intensitylabel=$i_c$](2.5,4.5)(2.5,6)
    \qdisk(2.5,6){2pt}\qdisk(6.5,6){2pt}
    \diode[dipolestyle=thyristor](2.5,4.5)(4.5,4.5){$T_2$}
    \wire[intensity,intensitylabel=$i_2$](4.5,4.5)(6.5,4.5)
    \capacitor[tension,tensionlabel=$u_c$,%
        tensionoffset=-0.75,tensionlabeloffset=-1](6.5,4.5)(6.5,6){$C_k$}
    \qdisk(2.5,4.5){2pt}\qdisk(6.5,4.5){2pt}
    \wire[intensity,intensitylabel=$i_3$](6.5,4.5)(6.5,3)
    \multidipole(6.5,3)(2.5,3)%
        \coil[dipolestyle=rectangle,labeloffset=-0.75]{$L_3$}%
        \diode[labeloffset=-0.75]{$D_3$}.
    \wire(6.5,6)(9,6)\qdisk(9,6){2pt}
    \diode(9,0)(9,6){$D_4$}
    \wire[intensity,intensitylabel=$i_4$](9,3.25)(9,6)
    \wire[intensity,intensitylabel=$i_a$](9,6)(11,6)
    \multidipole(11,6)(11,0)%
        \resistor{$R_L$}
        \coil[dipolestyle=rectangle]{$L_L$}%
        \circledipole[labeloffset=0,%
            tension,tensionoffset=0.7,%
            tensionlabel=$U_B$]{\LARGE\textbf{=}}.
    \wire(0,0)(11,0)\qdisk(9,0){2pt}
    \tension(12.5,5.5)(12.5,0.5){$u_a$}
\end{pspicture}%
}
%} %end resizebox
\caption{Anwendungsbeispiel für \texttt{{\small pst-circ}}}\label{fig:Demo}
\end{figure}

\begin{lstlisting}[label=lst:Demo,caption={Befehlsfolge für Abbildung \ref{fig:Demo}}]
\psset{intensitycolor=red,intensitylabelcolor=red,%
    tensioncolor=green,tensionlabelcolor=green,%
    intensitywidth=3pt}
\begin{pspicture}(-1,0)(13,8)
    \psgrid[griddots=5,gridlabels=7pt,subgriddiv=0]
    \circledipole[
         tension,%
         tensionlabel=$U_0$,%
         tensionoffset=0.75,%
         labeloffset=0](0,0)(0,6){\LARGE\textbf{=}}
    \wire[intensity,intensitylabel=$i_0$](0,6)(2.5,6)
    \diode[dipolestyle=thyristor](2.5,6)(4.5,6){$T_1$}
    \wire[intensity,intensitylabel=$i_1$](4.5,6)(6.5,6)
    \multidipole(6.5,7.5)(2.5,7.5)%
        \coil[dipolestyle=rectangle,labeloffset=-0.75]{$L_5$}%
        \diode[labeloffset=-0.75]{$D_5$}.
    \wire[intensity,intensitylabel=$i_5$](6.5,6)(6.5,7.5)
    \wire(2.5,7.5)(2.5,3)
    \wire[intensity,intensitylabel=$i_c$](2.5,4.5)(2.5,6)
    \qdisk(2.5,6){2pt}\qdisk(6.5,6){2pt}
    \diode[dipolestyle=thyristor](2.5,4.5)(4.5,4.5){$T_2$}
    \wire[intensity,intensitylabel=$i_2$](4.5,4.5)(6.5,4.5)
    \capacitor[tension,tensionlabel=$u_c$,%
        tensionoffset=-0.75,tensionlabeloffset=-1](6.5,4.5)(6.5,6){$C_k$}
    \qdisk(2.5,4.5){2pt}\qdisk(6.5,4.5){2pt}
    \wire[intensity,intensitylabel=$i_3$](6.5,4.5)(6.5,3)
    \multidipole(6.5,3)(2.5,3)%
        \coil[dipolestyle=rectangle,labeloffset=-0.75]{$L_3$}%
        \diode[labeloffset=-0.75]{$D_3$}.
    \wire(6.5,6)(9,6)\qdisk(9,6){2pt}
    \diode(9,0)(9,6){$D_4$}
    \wire[intensity,intensitylabel=$i_4$](9,3.25)(9,6)
    \wire[intensity,intensitylabel=$i_a$](9,6)(11,6)
    \multidipole(11,6)(11,0)%
        \resistor{$R_L$}
        \coil[dipolestyle=rectangle]{$L_L$}%
        \circledipole[labeloffset=0,%
            tension,tensionoffset=0.7,%
            tensionlabel=$U_B$]{\LARGE\textbf{=}}.
    \wire(0,0)(11,0)\qdisk(9,0){2pt}
    \tension(12.5,5.5)(12.5,0.5){$u_a$}
\end{pspicture}
\end{lstlisting}

\section{PDF Ausgabe}
\verb|pst-circ|\cite{pst-circ:2003} baut wie bei allen \verb|pstricks|\cite{pstricks} Paketen üblich, 
vollständig auf PostScript\cite{PostScript} auf, kann somit auch nicht direkt mit 
pdf\TeX{} benutzt werden. Für eine PDF-Ausgabe gibt es allerdings 
verschiedene Möglichkeiten:
\begin{itemize}
\item Verwendung von \verb|pdf-tricks|\cite{pdftricks}, was aber sehr häufig 
wegen der Verwendung von dvips zu Problemen mit der Bounding Box führen kann.
\item Verwendung von \verb|ps4pdf|\cite{ps4pdf:2003}, was allerdings eine 
	Installation des 
\LaTeX{} Pakets \verb|preview|\cite{preview:2003} voraussetzt.
\item Verwendung des für Linux und OS/2 freien Programms V\TeX\cite{vtex}.
\item Verwendung von \verb|ps2pdf| mit der Konvertierungskette 
\verb|dvi|$\rightarrow$\verb|ps|$\rightarrow$\verb|pdf|.
\end{itemize} 

Die Methode mit \verb|ps4pdf| bietet zudem die Möglichkeit, sämtliche mit 
\verb|pstricks| generierten Abbildungen auch als einzelne PDF oder EPS Dateien 
abzuspeichern.



\section{Zusammenfassung}
Dieser Artikel sollte die Anwendung des Pakets \verb|pst-circ| zeigen.
Einiges blieb unerwähnt, kann jedoch in der Dokumentation zum Paket
nachgelesen werden. Dies betrifft beispielsweise das Kreuzen von 
Verbindungen und Anwendungen von Schaltern. \verb|pst-circ| ist eine
echte Hilfe, wenn es um Schaltbilder geht, die eine gewisse Komplexität
nicht überschreiten, wie es fast immer für Ersatzschaltbilder gegeben ist.

\begingroup
  \renewcommand\refname{Literatur und Software}
  \renewcommand\bibname{\refname}
  \bibliography{\jobname}
\endgroup

\address{Herbert}{Voß}{Wasgenstr. 21\\14129 Berlin\\voss@perce.de}
