\title{\texttt{PST-Labo} - chemical objects\\
\footnotesize{version \PSTfileversion}}
\author{%
Denis Girou\thanks{\url{Denis.Girou@idris.fr}}, 
Christophe Jorssen\thanks{\url{Christophe.Jorssen@wanadoo.fr}},
Manuel Luque\thanks{\url{Mluque5130@aol.com}} and
Herbert Vo\ss\thanks{\url{voss@pstricks.de}}}
\date{\today}
\maketitle

\begin{abstract}
\texttt{pst-labo} stellt Makros für vielfältige Geräte bereit, wie sie im Bereich
der Chemie Anwendung finden.\cite{pst-labo} Da diese sehr oft eine standardisierte Form haben,
erspart die Anwendung von \texttt{pst-labo} das manuelle Erstellen bestimmter
technischer Geräte. Neben dem Paket \texttt{pst-osci} wird hier außerdem gezeigt,
wie sogenannte "`high level"'-Objekte mit \PST erstellt werden können.\cite{PSTricks2} 
Sämtliche Basisobjekte sind in der
Datei \LFile{pst-laboObj.tex} gespeichert und werden beim Start von \texttt{pst-labo}
eingelesen. Diese können ohne weiteres für eigene Erweiterungen verwendet werden.
Eine Zusammenstellung findet man im Abschnitt~\ref{sec:pstlabo:Objects}.
\end{abstract}

\tableofcontents

\newpage
% ---------------------------------------------------------------------------------------
\section{Parameter}\label{sec:pstlabo8:Parameter}
% ---------------------------------------------------------------------------------------
Tabelle~\ref{tab:pst-labo:Parameter} zeigt eine Zusammenstellung der speziellen, für 
\LPack{pst-labo} geltenden Parameter.


\noindent
\LTXtable{\linewidth}{pstlabo8-tab1-DE.tex}%



% ---------------------------------------------------------------------------------------
\subsection{\texttt{glassType}}\label{subsec-pstlabo-glassType}
% ---------------------------------------------------------------------------------------
\Loption{glassType} bezeichnet die Art des Glasgefäßes, wobei das normale Reagenzglas der
Standard ist.

\bgroup
\begin{LTXexample}[preset=\raggedright]
\psset{unit=0.5cm}
\pstTubeEssais
\pstTubeEssais[glassType=ballon]
\pstTubeEssais[glassType=erlen]
\pstTubeEssais[glassType=becher]
\pstTubeEssais[glassType=flacon]
\pstTubeEssais[glassType=fioleJauge]
\end{LTXexample}
\egroup


% ---------------------------------------------------------------------------------------
\subsection{\texttt{bouchon}}\label{subsec-pstlabo-bouchon}
% ---------------------------------------------------------------------------------------
Mit der \Loption{bouchon}-Option kann man die Gefäße mit einem Korken beziehungsweise Stöpsel
versehen.

\bgroup
\begin{LTXexample}[width=0.575\linewidth,preset=\raggedright]
\psset{unit=0.45cm}
\psset{bouchon=true}
\pstTubeEssais[glassType=tube]
\pstTubeEssais[glassType=ballon]
\pstTubeEssais[glassType=erlen]
\pstTubeEssais[glassType=flacon]
\end{LTXexample}
\egroup


% ---------------------------------------------------------------------------------------
\subsection{\texttt{pince}}\label{subsec-pstlabo-pince}
% ---------------------------------------------------------------------------------------
Mit der \Loption{pince}-Option kann man die Gefäße mit einer der üblichen Holzklammern
versehen.

\bgroup
\begin{LTXexample}[width=0.55\linewidth,preset=\raggedright]
\psset{unit=0.5cm}
\psset{bouchon=true,pince=true}
\pstTubeEssais[glassType=tube]\hspace{1cm}
\pstTubeEssais[glassType=erlen]
\end{LTXexample}
\egroup




% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubeDroit}}\label{subsec-pstlabo-tubeDroit}
% ---------------------------------------------------------------------------------------
Mit der \Loption{tubeDroit}-Option kann man die Gefäße mit einem Glasröhrchen versehen,
was nur in der Kombination mit der Option \verb+bouchon=true+ Sinn macht, weshalb diese
auch intern gleich auf diesen Wert gesetzt wird. Zu beachten ist noch, dass für das
Glasröhrchen kein vertikaler Platz berücksichtigt wird, sodass der Anwender selbst
dafür sorgen muss, beispielsweise mit \verb+\rule{0pt}{4cm}+.

\bgroup
\begin{LTXexample}[width=0.55\linewidth,preset=\raggedright]
\psset{unit=0.5cm}
\psset{tubeDroit=true}
\rule{0pt}{4cm}%
\pstTubeEssais
\pstTubeEssais[glassType=ballon]
\pstTubeEssais[glassType=erlen]
\end{LTXexample}
\egroup

% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubeCoude}}\label{subsec-pstlabo-tubeCoude}
% ---------------------------------------------------------------------------------------
Die \Loption{tubeCoude}-Option ist faktisch identisch zur vorhergehenden, nur dass
ein rechtwinklig abknickendes Glasröhrchen eingezeichnet wird.  Dadurch ist auch der
benötigte zusätzliche vertikale Platz weitaus geringer.

\bgroup
\begin{LTXexample}[width=0.55\linewidth,preset=\raggedright]
\psset{unit=0.5cm}
\psset{tubeCoude=true}
\rule{0pt}{2.5cm}%
\pstTubeEssais[glassType=erlen]
\end{LTXexample}
\egroup

    
% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubeCoudeU}}\label{subsec-pstlabo-tubeCoudeU}
% ---------------------------------------------------------------------------------------
Die \Loption{tubeCoudeU}-Option ist faktisch identisch zur vorhergehenden, nur dass
ein rechtwinklig abknickendes Glasröhrchen eingezeichnet wird.  Dadurch ist auch der
benötigte zusätzliche vertikale Platz weitaus geringer.

\bgroup
\begin{LTXexample}[width=0.5\linewidth,preset=\raggedright]
\psset{unit=0.5cm}
\psset{tubeCoudeU=true}
\rule{0pt}{2.5cm}%
\pstTubeEssais[glassType=ballon]
\end{LTXexample}
\egroup



% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubeCoudeUB}}\label{subsec-pstlabo-tubeCoudeUB}
% ---------------------------------------------------------------------------------------
Die \Loption{tubeCoudeUB}-Option ist eine Erweiterung der U-Variante und nur dort
anwendbar, wo eine Verlängerung des Glasröhrchens bis zum Boden sinn macht, wie
beispielsweise beim Makro \Lmcs{pstChauffageBallon}.

\bgroup
\begin{LTXexample}[pos=t,preset=\raggedright]
\psset{unit=0.5cm,glassType=ballon}
\pstChauffageBallon[tubeCoudeU] \pstChauffageBallon[tubeCoudeUB]
\end{LTXexample}
\egroup


% ---------------------------------------------------------------------------------------
\subsection{\texttt{etiquette} und \texttt{Numero}}\label{subsec-pstlabo-etiquette}
% ---------------------------------------------------------------------------------------
Die \Loption{etiquette}-Option ist der Schalter, um mit der Option \Loption{Numero}
definierte Label darzustellen.


\bgroup
\begin{LTXexample}[width=0.42\linewidth,preset=\raggedright]
\psset{unit=0.5cm}
\pstTubeEssais[etiquette]
\pstTubeEssais[etiquette,Numero=1]
\pstTubeEssais[glassType=flacon,bouchon,%
  etiquette,Numero={\small Cu$^{2+}$}]
\end{LTXexample}
\egroup

% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubePenche}}\label{subsec-pstlabo-tubePenche}
% ---------------------------------------------------------------------------------------
Die \Loption{tubePenche}-Option ermöglicht die Anordnung der chemischen Geräte in 
nahezu beliebiger Winkellage, wobei der Flüssigkeitsspiegel jeweils in der Horizontalen
bleibt. Die Winkelwerte müssen aus dem Intervall $-65\ldots +65$ sein.

\bgroup
\begin{LTXexample}[width=0.4\linewidth,preset=\raggedright]
\psset{unit=0.5cm}
\pstTubeEssais[tubeDroit=true,tubePenche=40]
\pstTubeEssais[tubePenche=-20,bouchon]
\end{LTXexample}
\egroup  


% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubeSeul}}\label{subsec-pstlabo-tubeSeul}
% ---------------------------------------------------------------------------------------
\Loption{tubeSeul} hat einen Einfluss auf die gewählte Boxgröße. Dies kann vorteilhaft sein,
wenn man wie im folgenden Beispiel durch die Anwendung von \Lmcs{psframebox} zu sehen ist, 
kein weiteres Gefäß anordnen will. Ohne \verb+tubeSeul=true+ hätte die rechte Box dieselbe Größe
wie die standardmäßig vorgegeben linke Box. Die Option
hat nur Auswirkungen beim Makro \Lmcs{pstChauffageTube} und den Glastypen \verb+ballon+ und
\verb+tube+.




\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,glassType=ballon,becBunsen}
\psframebox{\pstChauffageTube[becBunsen,barbotage]}
\psframebox{\pstChauffageTube[tubeSeul=true]}
\end{LTXexample}
\egroup  

% ---------------------------------------------------------------------------------------
\subsection{\texttt{becBunsen}}\label{subsec-pstlabo-becBunsen}
% ---------------------------------------------------------------------------------------
\Loption{becBunsen} ist für das Makro \Lmcs{pstChauffeTube} standardmäßig auf \verb+true+ 
und für das Makro \Lmcs{pstChauffageBallon} standardmäßig auf \verb+false+ gesetzt und
aktiviert beziehungsweise deaktiviert das Zeichnen des \Index{Bunsenbrenner}s.



\bgroup
\begin{LTXexample}[width=0.5\linewidth]
\psset{unit=0.5cm,tubeSeul=true}
\pstChauffageTube 
\pstChauffageTube[becBunsen=false]
\end{LTXexample}
\egroup  


% ---------------------------------------------------------------------------------------
\subsection{\texttt{barbotage}}\label{subsec-pstlabo-barbotage}
% ---------------------------------------------------------------------------------------
Die Option \Loption{barbotage} erstellt ein zusätzliches Reagenzglas, welches durch
ein Glasröhrchen mit dem eigentlichen Gefäß verbunden ist. Um den notwendigen Platz
für die Grafik zur Verfügung zu stellen, sollte die Option \Loption{tubeSeul} nicht
aktiviert sein (vgl. Abschnitt~\vref{subsec-pstlabo-tubeSeul}).

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm}
\pstChauffageTube[tubeSeul=true] 
\pstChauffageTube[barbotage]
\end{LTXexample}
\egroup  



% ---------------------------------------------------------------------------------------
\subsection{\texttt{substance}}\label{subsec-pstlabo-substance}
% ---------------------------------------------------------------------------------------
Mit der Option \Loption{substance} kann die Art der Substanz in den Gefäßen
vorgegeben werden. Die Standardvorgabe ist eine blaue Flüssigkeit (\Lmcs{pstBullesChampagne}). 
Zur Auswahl stehen die in Tabelle~\ref{tab-pstlabo-substance} zusammengestellten Makros. Zu beachten
ist, dass es sich bei \Lmcs{pstFilaments} und \Lmcs{pstBULLES} um einen verpflichtenden
Farb-Parameter handelt. 

\begin{table}[!htb]
\caption{Zusammenstellung der Makros für die Option \Loption{substance}}\label{tab-pstlabo-substance}
\centering
\begin{tabular}{@{}lcl@{}}
\emph{Makroname} & \emph{Vorgabe} & \emph{Anmerkungen}\\\hline
\Lmcs{pstBullesChampagne}\Largs{Wert} & 25 & Standard\\
\Lmcs{pstFilaments}\Largs{Wert}\Largb{Farbe} & 5\\ 
\Lmcs{pstBilles}\Largs{Wert} & 50 & zweidimensional\\
\Lmcs{pstBULLES}\Largs{Wert}\Largb{Farbe} & 20 & dreidimensional
\end{tabular}
\end{table}

Der optionale Wert stellt die Anzahl der Durchläufe für die interne \Lmcs{multido}-Schleife dar und
ist prinzipiell nicht beschränkt, kann aber dennoch bei Werten größer als $80$ zu Problemen mit
dem definierten Speicherplatz von \TeX\ führen. Dieser kann durch Modifikation der \TeX-Konfigurationsdatei
erhöht werden. Das Verzeichnis der Knfigurationsdatei lässt sich mithilfe von \verb+kpsewhich texmf.cnf+ 
ermitteln:
\begin{lstlisting}[language=sh]
voss@shania:~> kpsewhich texmf.cnf
/usr/local/texlive/2005/texmf/web2c/texmf.cnf
\end{lstlisting}


Das erste Beispiel zeigt die standardmäßigen Vorgaben, wobei die beiden Farben willkürlich gewählt 
wurden. Das zweite Beispiel zeigt die Anwendung des optionalen Parameters.  Grundsätzlich können
die möglichen Makros für \Loption{substance} und \Loption{solide} beliebig gemischt und auch untereinander
vertauscht werden.

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,glassType=becher}
\pstTubeEssais 
\pstTubeEssais[substance=\pstBullesChampagne] 
\pstTubeEssais[substance=\pstFilaments{red}]
\pstTubeEssais[substance=\pstBilles]
\pstTubeEssais[substance=\pstBULLES{white}]
\end{LTXexample}
\egroup  


\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,glassType=becher}
\pstTubeEssais[substance={\pstBullesChampagne[80]}] 
\pstTubeEssais[substance={\pstFilaments[20]{black}}]
\pstTubeEssais[substance={\pstBilles[80]}]
\pstTubeEssais[substance={\pstBULLES[20]{white}}]
\end{LTXexample}
\egroup  

Bei Verwendung des optionalen Parameters für die Schleifenzahl ist zu beachten, dass 
dieser selbst Teil eines anderen optionalen Parameters ist und somit in geschweifte
Klammern zu setzen ist, wie in obigen Beispiel deutlich zu sehen ist. 


% ---------------------------------------------------------------------------------------
\subsection{\texttt{solide}}\label{subsec-pstlabo-solide}
% ---------------------------------------------------------------------------------------
Mit der Option \Loption{solide} kann die Art der Substanz in den Gefäßen
vorgegeben werden. Tabelle~\ref{tab-pstlabo-solide} zeigt eine Zusammenstellung
der verfügbaren Werte. Grundsätzlich gilt hier das bereits im Abschnitt~\ref{subsec-pstlabo-substance}
Gesagte, so dass hier auf eine Wiederholung verzichtet werden kann.

\begin{table}[!htb]
\caption{Zusammenstellung der Makros für die Option \Loption{substance}}\label{tab-pstlabo-solide}
\centering
\begin{tabular}{@{}lc@{}}
\emph{Makroname} & \emph{Vorgabe} \\\hline
\Lmcs{pstTournureCuivre}\Largs{Wert} & 30 \\
\Lmcs{pstClouFer}\Largs{Wert} & 60\\ 
\Lmcs{pstGrenailleZinc}\Largs{Wert} & 25 
\end{tabular}
\end{table}

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,glassType=becher}
\pstTubeEssais 
\pstTubeEssais[solide=\pstTournureCuivre] 
\pstTubeEssais[solide=\pstClouFer]
\pstTubeEssais[solide=\pstGrenailleZinc]
\end{LTXexample}
\egroup  

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,glassType=becher}
\pstTubeEssais[solide={\pstTournureCuivre[50]}] 
\pstTubeEssais[solide={\pstGrenailleZinc[80]}]
\pstTubeEssais[glassType=ballon,solide={\pstClouFer[50]}]
\end{LTXexample}
\egroup  

% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubeRecourbe}}\label{subsec-pstlabo-tubeRecourbe}
% ---------------------------------------------------------------------------------------

Die Option \Loption{tubeRecourbe} erstellt eine Anordnung zum Sammeln des aus dem Glasgefäß
entwichenden Gases, wobei es sich hier um die Langversion mit Bunsenbrenner handelt.


\bgroup
\begin{LTXexample}[pos=t,preset=\raggedright]
\psset{unit=0.5cm,glassType=erlen,recuperationGaz,substance=\pstTournureCuivre}
\pstChauffageBallon
\pstChauffageBallon[tubeRecourbe]
\end{LTXexample}
\egroup  

% ---------------------------------------------------------------------------------------
\subsection{\texttt{tubeRecourbeCourt}}\label{subsec-pstlabo-tubeRecourbeCourt}
% ---------------------------------------------------------------------------------------

Die Option \Loption{tubeRecourbeCourt} entspricht prinzipiell der vorhergehenden, nur das
hier sie "`Kurzversion"' ohne Bunsenbrenner dargestellt wird.


\bgroup
\begin{LTXexample}[pos=t,preset=\raggedright]
\psset{unit=0.5cm,glassType=flacon,recuperationGaz,substance=\pstFilaments{red}}
\pstChauffageBallon[tubeRecourbe]
\pstChauffageBallon[tubeRecourbeCourt]
\end{LTXexample}
\egroup  


% ---------------------------------------------------------------------------------------
\subsection{\texttt{doubletube}}\label{subsec-pstlabo-doubletube}
% ---------------------------------------------------------------------------------------
\Loption{doubletube} ermöglicht die Anordnung zweier Glasröhrchen, wobei das eine mit
einem Regler versehen ist.

\bgroup
\begin{LTXexample}[width=0.6\linewidth]
\rule{0pt}{4cm}
\psset{unit=0.5cm,glassType=ballon,%
  substance=\pstClouFer}
\pstBallon
\pstBallon[doubletube]
\end{LTXexample}
\egroup  


% ---------------------------------------------------------------------------------------
\subsection{\texttt{refrigerantBoulle}}\label{subsec-pstlabo-refrigerantBoulle}
% ---------------------------------------------------------------------------------------
\Loption{refrigerantBoulle} ist eine der Optionen, die die Ausgabe einer komplexen Apparatur 
ermöglichen. Zu beachten ist hierbei, dass der geometrische Mittelpunkt in der Mitte der Anordnung
liegt. Was allerdings nur von Bedeutung ist, wenn weitere Dinge angeordnet werden sollen.

\bgroup
\begin{LTXexample}[width=0.3\linewidth]
\psset{unit=0.5cm}
\pstBallon[refrigerantBoulles,glassType=ballon,%
  substance=\pstClouFer]
\end{LTXexample}
\egroup  


% ---------------------------------------------------------------------------------------
\subsection{\texttt{recuperationGaz}}\label{subsec-pstlabo-recuperationGaz}
% ---------------------------------------------------------------------------------------
\Loption{recuperationGaz} bezeichnet die bereits mehrfach angegebene Anordnung zum
Auffangen sich ausdehnender Gase.

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,glassType=flacon,tubeRecourbe,substance={\pstFilaments[10]{red}}}
\pstChauffageBallon
\pstChauffageBallon[recuperationGaz]
\end{LTXexample}
\egroup  


% ---------------------------------------------------------------------------------------
\subsection{\texttt{burette}}\label{subsec-pstlabo-burette}
% ---------------------------------------------------------------------------------------
Standardmäßig ist für das Makro \Lmcs{pstDosage} die Darstellung einer Bürette vorgesehen.
Mit der Option \Loption{burette} kann dies unterbunden werden.

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.4cm}
\pstDosage[glassType=erlen]
\pstDosage[glassType=erlen,burette=false]
\end{LTXexample}
\egroup  

% ---------------------------------------------------------------------------------------
\subsection{\texttt{niveauReactifBurette} und \texttt{couleurReactifBurette}}\label{subsec-pstlabo-niveauReactifBurette}
% ---------------------------------------------------------------------------------------
\Loption{niveauReactifBurette} und \Loption{couleurReactifBurette} kennzeichnen Flüssigkeitsstand 
in Prozent und die Farbe der chemischen Reaktion in einer Bürette.

\begin{center}
\bgroup
\psset{unit=0.4cm,glassType=erlen,niveauLiquide1=60}
\pstDosage[niveauReactifBurette=25,couleurReactifBurette=cyan]
\pstDosage[niveauReactifBurette=10]
\egroup  
\end{center}
\begin{lstlisting}
\psset{unit=0.4cm,glassType=erlen,niveauLiquide1=60}
\pstDosage[niveauReactifBurette=25,couleurReactifBurette=cyan]
\pstDosage[niveauReactifBurette=10]
\end{lstlisting}


% ---------------------------------------------------------------------------------------
\subsection{\texttt{AspectMelange} und \texttt{CouleurDistillat}}\label{subsec-pstlabo-AspectMelange}
% ---------------------------------------------------------------------------------------
\Loption{AspectMelange} bezeichnet die Farbe der chemischen Substanz und muss einem 
definierten Stil entsprechen, so dass auch Farbgradienten möglich sind. Dagegen
ist \Loption{CouleurDistillat} als reine Farbe für das Destillat definiert.

\begin{center}
\bgroup
\psset{unit=0.4cm}
\pstDistillation(-3,-10)(7,6)\quad
\pstDistillation[AspectMelange=Diffusion,CouleurDistillat=red](-3,-10)(7,6)
\egroup  
\end{center}

\begin{lstlisting}
\psset{unit=0.4cm}
\pstDistillation(-3,-10)(7,6)\quad
\pstDistillation[AspectMelange=Diffusion,CouleurDistillat=red](-3,-10)(7,6)
\end{lstlisting}


% ---------------------------------------------------------------------------------------
\subsection{\texttt{phmetre}}\label{subsec-pstlabo-phmetre}
% ---------------------------------------------------------------------------------------
\Loption{phmetre} aktiviert die Darstellung eines ph-Wert Messgerätes, welches allerdings 
nur für das Makro \Lmcs{pstDosage} zur Verfügung steht.

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,glassType=becher,burette=false}
\pstDosage
\pstDosage[phmetre]
\end{LTXexample}
\egroup  

% ---------------------------------------------------------------------------------------
\subsection{\texttt{agitateurMagnetique}}\label{subsec-pstlabo-agitateurMagnetique}
% ---------------------------------------------------------------------------------------
\Loption{agitateurMagnetique} ist standardmäßig aktiviert und bezeichnet die Heizplatte.
Bei Deaktivierung entfällt lediglich das EInzeichnen der Symbole, das Rechteck bleibt erhalten.

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm,burette=false,glassType=becher}
\pstDosage
\pstDosage[agitateurMagnetique=false]
\end{LTXexample}
\egroup


% ---------------------------------------------------------------------------------------
\subsection{\texttt{niveauLiquide1}, \texttt{niveauLiquide2}, \texttt{niveauLiquide3}
    und  \texttt{aspectLiquide1}, \texttt{aspectLiquide2}, \texttt{aspectLiquide3}}\label{subsec-pstlabo-niveauLiquide1}
% ---------------------------------------------------------------------------------------
  Diese sechs Optionen kennzeichen Höhe und Stil der jeweiligen
  Flüssigkeiten 1, 2 und 3, wobei der Stil einer der vorgegebenen oder
  ein neu definierter sein kann (siehe
  Abschnitt~\ref{subsec-pstlabo-substance}.  Je nach verwendetem Makro
  müssen dabei nicht immer alle Optionen möglich sein.

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.4cm,glassType=becher}
\rule{0pt}{6cm}
\pstDosage[niveauReactifBurette=18,niveauLiquide1=30,aspectLiquide1=Champagne,%
  glassType=becher,phmetre=true]
\pstDosage[niveauReactifBurette=20,niveauLiquide1=40,aspectLiquide1=Champagne,%
  glassType=becher,phmetre=false,agitateurMagnetique=false]
\end{LTXexample}
\egroup  

\bgroup
\makebox[\textwidth]{%
\begin{pspicture}(0,0)(5,6)
  \rput(4,3){\pstChauffageBallon[becBunsen=true,unit=0.5]}
  \rput(2.5,4){\pstBallon[glassType=becher,xunit=1,yunit=0.5,aspectLiquide1=Champagne,runit=0.7]}
  \psset{glassType=tube}
  \rput(2.5,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=70,aspectLiquide1=Diffusion]}
  \rput(3,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=75,aspectLiquide1=Sang]}
  \rput(2,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=80]}
\end{pspicture}
\begin{pspicture}(0,0)(5,6)
  \rput(4,3){\pstChauffageBallon[becBunsen=true,unit=0.5]}
  \rput(2.5,4){\pstBallon[glassType=becher,xunit=1,yunit=0.5,aspectLiquide1=Champagne,runit=0.7]}
  \rput(2.4,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=70,aspectLiquide1=Diffusion]}
  \rput(2.8,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=65,aspectLiquide1=Sang]}
  \rput(1.7,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=80,tubePenche=10]}
  \rput(3.5,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=80,tubePenche=-10]}
\end{pspicture}
\begin{pspicture}(1,3)(5,6)
  \rput(2.5,4){\pstBallon[glassType=ballon,unit=0.5,niveauLiquide1=15]}
  \rput(1.3,5.4){\pstTubeEssais[unit=0.5,niveauLiquide1=95,
  niveauLiquide2=60,niveauLiquide3=30,tubePenche=-60]}
\end{pspicture}
}
\egroup  

\begin{lstlisting}
\begin{pspicture}(0,0)(5,6)
  \rput(4,3){\pstChauffageBallon[becBunsen=true,unit=0.5]}
  \rput(2.5,4){\pstBallon[glassType=becher,xunit=1,yunit=0.5,aspectLiquide1=Champagne,runit=0.7]}
  \psset{glassType=tube}
  \rput(2.5,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=70,aspectLiquide1=Diffusion]}
  \rput(3,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=75,aspectLiquide1=Sang]}
  \rput(2,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=80]}
\end{pspicture}
\begin{pspicture}(0,0)(5,6)
  \rput(4,3){\pstChauffageBallon[becBunsen=true,unit=0.5]}
  \rput(2.5,4){\pstBallon[glassType=becher,xunit=1,yunit=0.5,aspectLiquide1=Champagne,runit=0.7]}
  \rput(2.4,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=70,aspectLiquide1=Diffusion]}
  \rput(2.8,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=65,aspectLiquide1=Sang]}
  \rput(1.7,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=80,tubePenche=10]}
  \rput(3.5,3.7){\pstTubeEssais[tubeDroit=true,unit=0.35,niveauLiquide1=80,tubePenche=-10]}
\end{pspicture}
\begin{pspicture}(1,3)(5,6)
  \rput(2.5,4){\pstBallon[glassType=ballon,unit=0.5,niveauLiquide1=15]}
  \rput(1.3,5.4){\pstTubeEssais[unit=0.5,niveauLiquide1=95,
  niveauLiquide2=60,niveauLiquide3=30,tubePenche=-60]}
\end{pspicture}
\end{lstlisting}



% ---------------------------------------------------------------------------------------
\section{Vordefinierte Farben und Stile}\label{sec:pstlabo8:Stile}
% ---------------------------------------------------------------------------------------
Die folgende Zusammenstellung zeigt die bereits mit dem Paket \LPack{pst-labo} vordefinierten
Farben und Stile, die vom Anwender nach Belieben überschrieben werden können.



\begin{lstlisting}[xrightmargin=-\marginparwidth]
\definecolor{Beige}         {rgb}{0.96,0.96,0.86}
\definecolor{GrisClair}     {rgb}{0.8,0.8,0.8}
\definecolor{GrisTresClair} {rgb}{0.9,0.9,0.9}
\definecolor{OrangeTresPale}{cmyk}{0,0.1,0.3,0}
\definecolor{OrangePale}    {cmyk}{0,0.2,0.4,0}
\definecolor{BleuClair}     {cmyk}{0.2,0,0,0}
\definecolor{LightBlue}     {rgb}{.68,.85,.9}
\definecolor{Copper}        {cmyk}{0,0.9,0.9,0.2}
\definecolor{Marron}        {cmyk}{0,0.3,0.5,.3}
%
\newpsstyle{aspectLiquide1}   {linestyle=none,fillstyle=solid,fillcolor=cyan}
\newpsstyle{aspectLiquide2}   {linestyle=none,fillstyle=solid,fillcolor=yellow}
\newpsstyle{aspectLiquide3}   {linestyle=none,fillstyle=solid,fillcolor=magenta}
\newpsstyle{Champagne}        {linestyle=none,fillstyle=solid,fillcolor=Beige}
\newpsstyle{BilleThreeD}      {linestyle=none,fillstyle=gradient,gradmidpoint=0,gradend=white,GradientCircle=true}
\newpsstyle{Sang}             {linestyle=none,fillstyle=solid,fillcolor=red}
\newpsstyle{Cobalt}           {linewidth=0.2,fillstyle=solid,fillcolor=blue}
\newpsstyle{Huile}            {linestyle=none,fillstyle=solid,fillcolor=yellow}
\newpsstyle{Vinaigre}         {linestyle=none,fillstyle=solid,fillcolor=magenta}
\newpsstyle{Diffusion}        {linestyle=none,fillstyle=gradient,gradmidpoint=0}
\newpsstyle{DiffusionMelange2}{fillstyle=gradient,gradbegin=white,gradend=red,gradmidpoint=0,linecolor=red}
\newpsstyle{flammeEtGrille}   {linestyle=none,fillstyle=gradient,gradmidpoint=0,gradbegin=OrangePale,gradend=yellow}
\newpsstyle{rayuresJaunes}    {fillstyle=hlines,linecolor=yellow,hatchcolor=yellow}
\newpsstyle{DiffusionBleue}   {fillstyle=gradient,gradmidpoint=0,linestyle=none,gradbegin=green,gradend=cyan}
\end{lstlisting}


% ---------------------------------------------------------------------------------------
\section{Makros}\label{sec:pstlabo8:Makros}
% ---------------------------------------------------------------------------------------

% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstTubeEssais}}\label{sec:pstlabo8:pstTubeEssais}
% ---------------------------------------------------------------------------------------
Dieses Makro ist die einfachste Variante der chemischen Gefäße und ist auch schon 
mehrfach in den vorgehenden Beispielen gezeigt worden. Die Standardvorgabe 
ohne Parameter ist das normale Reagenzglas (\verb+glassType=tube+).


\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5}
\pstTubeEssais
\pstTubeEssais[glassType=becher]
\pstTubeEssais[glassType=erlen,niveauLiquide1=80]
\pstTubeEssais[glassType=flacon]
\pstTubeEssais[glassType=ballon,niveauLiquide1=20,aspectLiquide1=DiffusionBleue]
\pstTubeEssais[glassType=fioleJauge]
\end{LTXexample}
\egroup

% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstChauffageTube}}\label{sec:pstlabo8:pstChauffageTube}
% ---------------------------------------------------------------------------------------
\Lmcs{pstChauffageTube} stellt eine Erweiterung des vorstehenden Makros dar, indem
zusätzlich eine Heizplatte, einen Bunsenbrenner oder auch eine zweite Röhre
erstellt werden.


\begin{center}
\bgroup
\psset{unit=0.5}
\pstChauffageTube[tubeSeul]
\pstChauffageTube[glassType=ballon,becBunsen=false,tubeSeul]
\pstChauffageTube[glassType=erlen,becBunsen,pince,tubeSeul]
\pstChauffageTube[becBunsen,barbotage,glassType=flacon]
\pstChauffageTube[becBunsen,tubeCoude,glassType=ballon,niveauLiquide1=20,%
   aspectLiquide1=DiffusionBleue,tubeSeul,pince]
\egroup
\end{center}

\begin{lstlisting}[xrightmargin=-\marginparwidth]
\psset{unit=0.5}
\pstChauffageTube[tubeSeul]
\pstChauffageTube[glassType=ballon,becBunsen=false,tubeSeul]
\pstChauffageTube[glassType=erlen,becBunsen,pince,tubeSeul]
\pstChauffageTube[becBunsen,barbotage,glassType=flacon]
\pstChauffageTube[becBunsen,tubeCoude,glassType=ballon,niveauLiquide1=20,%
   aspectLiquide1=DiffusionBleue,tubeSeul,pince]
\end{lstlisting}


% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstBallon}}\label{sec:pstlabo8:pstBallon}
% ---------------------------------------------------------------------------------------
\Lmcs{pstBallon} ist faktisch identisch zur Anwendung  \Lmcs{pstTubeEssais}, erlaubt jedoch
weitere Optionen.

\begin{center}
\bgroup
\psset{unit=0.5cm}
\pstBallon\hspace{-0.5cm}
\pstBallon[glassType=erlen]\hspace{-0.5cm}
\pstBallon[glassType=becher,xunit=0.75cm,yunit=0.3cm,aspectLiquide1=Champagne,runit=0.4cm]\hspace{-0.5cm}
\raisebox{0.5cm}{\pstBallon[refrigerantBoulles=true]}
\egroup  
\end{center}

\begin{lstlisting}[xrightmargin=-\marginparwidth]
\psset{unit=0.5cm}
\pstBallon\hspace{-0.5cm}
\pstBallon[glassType=erlen]\hspace{-0.5cm}
\pstBallon[glassType=becher,xunit=0.75cm,yunit=0.25cm,aspectLiquide1=Champagne,runit=0.4cm]\hspace{-0.5cm}
\raisebox{1cm}{\pstBallon[refrigerantBoulles=true]}
\end{lstlisting}

% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstChauffageBallon}}\label{sec:pstlabo8:pstChauffageBallon}
% ---------------------------------------------------------------------------------------
\Lmcs{pstChauffageBallon} ist eine Erweiterung des vorhergehenden Makros und hat
standardmäßig den Bunsenbrenner vorgesehen.

\begin{center}
\bgroup
\psset{unit=0.5cm}
\pstChauffageBallon
\pstChauffageBallon[barbotage,tubeCoudeUB,becBunsen,substance=\pstBilles]\\
\pstChauffageBallon[glassType=flacon,recuperationGaz,tubeRecourbeCourt,substance={\pstFilaments[10]{red}}]
\pstChauffageBallon[doubletube,recuperationGaz,substance=\pstClouFer]
\egroup
\end{center}

\begin{lstlisting}[xrightmargin=-\marginparwidth]
\psset{unit=0.5cm}
\pstChauffageBallon
\pstChauffageBallon[barbotage,tubeCoudeUB,becBunsen,substance=\pstBilles]\\
\pstChauffageBallon[glassType=flacon,recuperationGaz,tubeRecourbeCourt,substance={\pstFilaments[10]{red}}]
\pstChauffageBallon[doubletube,recuperationGaz,substance=\pstClouFer]
\end{lstlisting}



\begin{center}
\bgroup
\psset{unit=0.5cm}
\pstChauffageBallon[glassType=erlen,tubeRecourbe,recuperationGaz,substance=\pstTournureCuivre]\hspace{3cm}
\pstChauffageBallon[glassType=becher,aspectLiquide1=Champagne,substance=\pstBullesChampagne]\hspace{.25cm}
\pstChauffageBallon[glassType=erlen,substance=\pstBullesChampagne,tubeDroit]
\egroup  
\end{center}

\begin{lstlisting}[xrightmargin=-\marginparwidth]
\psset{unit=0.5cm}
\pstChauffageBallon[glassType=erlen,tubeRecourbe,recuperationGaz,substance=\pstTournureCuivre]
\pstChauffageBallon[glassType=becher,aspectLiquide1=Champagne,substance=\pstBullesChampagne]
\pstChauffageBallon[glassType=erlen,substance=\pstBullesChampagne,tubeDroit]
\end{lstlisting}




% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstEntonnoir}}\label{sec:pstlabo8:pstTubeEssais}
% ---------------------------------------------------------------------------------------
\Lmcs{pstEntonnoir} als Trichter wird ohne Parameter automatisch im Zusammenhang mit
dem Reagenzglas benutzt. Daneben sind alle anderen Kombinationen möglich und denkbar.

\bgroup
\begin{LTXexample}[pos=t]
\psset{unit=0.5cm}
\pstEntonnoir
\pstEntonnoir[glassType=becher,tubePenche=-20]
\pstEntonnoir[glassType=flacon,etiquette=true,Numero={\green 37},%
  aspectLiquide1=DiffusionBleue,niveauLiquide1=80]
\end{LTXexample}
\egroup  

% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstEprouvette}}\label{sec:pstlabo8:pstEprouvette}
% ---------------------------------------------------------------------------------------
\Lmcs{pstEprouvette} stellt den allgemein bekannten Messbecher dar, dessen
Größe über die \PST-Maßstabsfaktoren verändert werden kann.


\bgroup
\begin{LTXexample}
\pstEprouvette[yunit=0.5cm]
\pstEprouvette[unit=0.6cm,niveauLiquide1=100,niveauLiquide2=60,niveauLiquide3=30]
\end{LTXexample}
\egroup  



% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstpipette}}\label{sec:pstlabo8:pstpipette}
% ---------------------------------------------------------------------------------------
\Lmcs{pstpipette} stellt eine normale mit Maßstrichen versehene Pipette dar und
kann ebenfalls über die \PST-Maßstabsfaktoren verändert werden.

\bgroup
\begin{LTXexample}
\pstpipette[unit=0.5cm,tubePenche=40]
\pstpipette[yunit=0.5cm]
\end{LTXexample}
\egroup  


% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstDosage}}\label{sec:pstlabo8:pstDosage}
% ---------------------------------------------------------------------------------------
\Lmcs{pstDosage} wird in der Regel im Zusammnhang mit anderen Geräten angewendet werden.
Die Bürette hat eine maximale Kapazität von 25 mL, wobei die aktuelle Höhe und die
Art des chemischen Stoffes über Optionen veränderbar sind. Weiterhin sind optional
ein PH-Messgerät oder eine Heizplatte wählbar, wobei ersteres nur mit dem Glastyp \verb+becher+
zur Verfügung steht.


\bgroup\noindent
\makebox[\linewidth]{%
\psset{unit=0.5cm}
\pstDosage
\pstDosage[glassType=becher,phmetre=true]
\pstDosage[niveauReactifBurette=10,niveauLiquide1=60,aspectLiquide1=Champagne,%
  glassType=flacon,agitateurMagnetique=false]
\pstDosage[glassType=erlen,burette=false]}
\egroup  

\begin{lstlisting}[xrightmargin=-\marginparwidth]
\psset{unit=0.5cm}
\pstDosage
\pstDosage[glassType=becher,phmetre=true]
\pstDosage[niveauReactifBurette=10,niveauLiquide1=60,aspectLiquide1=Champagne,%
  glassType=flacon,agitateurMagnetique=false]
\pstDosage[glassType=erlen,burette=false]}
\end{lstlisting}


% ---------------------------------------------------------------------------------------
\subsection{\CMD{pstDistillation}}\label{sec:pstlabo8:pstDistillation}
% ---------------------------------------------------------------------------------------
\Lmcs{pstDistillation} erwartet als einziges Makro die Maße für die \Lmenv{pspicture}
Umgebung.

\medskip
\noindent
\Lmcs{pstDistillation}\\
\Lmcs{pstDistillation}\Largr{$x_{ll},y_{ll}$}\Largr{$x_{ur},y_{ur}$} % $

\medskip
Bei fehlender Angabe der Koordinaten wird ein Rechteck der Größe $(-4,-10)(8,7)$
angenommen, was davon ausgeht, dass noch weitere Objecte mithilfe der \Lmcs{rput}-Anweisung
eingefügt werden sollen.

\bgroup
\begin{LTXexample}
\psset{unit=0.5cm}
\pstDistillation(-3,-10)(7,6)
\end{LTXexample}
\egroup  





% ---------------------------------------------------------------------------------------
\section{Basisobjekte}\label{sec:pstlabo:Objects}
% ---------------------------------------------------------------------------------------
Die Liste der möglichen Basisobjekte kann man der Datei \LFile{pst-laboObj.tex} entnehmen.
Aus Platzgründen wird hier darauf verzichtet sie alle explizit anzugeben.



% ---------------------------------------------------------------------------------------
\section{Beispiele}\label{sec:pstlabo:Beispiele}
% ---------------------------------------------------------------------------------------
Das Erzeugen komplexer Beispiele wird erheblich vereinfacht, wenn man sich an einem
mit \Lmcs{psgrid} erzeugten Koordinatengitter orientiert, wie dies bereits in 
Abschnitt~\vref{sec:overlay:Ueberschreiben} im Zusammenhang mit Overlays gezeigt wurde.

\begin{center}
\bgroup
\sffamily
\begin{pspicture}(0,-4)(7,4)
  \rput(3,0){\pstDosage[niveauReactifBurette=25,niveauLiquide1=30,%
    aspectLiquide1=Champagne,glassType=becher,phmetre,unit=0.5]}
  \rput(2,3){B\"urette}   
  \rput(4.7,3.6){25 mL}
  \rput(5.2,-2.2){H$_3$O$^+$+Cl$^-$}
  \rput(.8,-3){PH-Messer} 
  \rput(5,-2.8){20 mL}
  \rput(5,1){Na$^+$+OH$^-$} \rput(6.4,-3.6){Heizplatte}
  \psline{->}(2.7,2.9)(3.4,2.9)
\end{pspicture}
\begin{pspicture}(-3,-2)(2,3)
  \psset{unit=0.5cm}
  \rput(-4.5,4.0){\pstEprouvette[tubePenche=-60,niveauLiquide1=90,niveauLiquide2=50]}
  \rput(.5,0){\pstEntonnoir[glassType=flacon,niveauLiquide1=30]}
  \rput(.5,7.5){
    \framebox{\begin{minipage}{3.2cm}Nach der Dekan\-ta\-tion
    sind die einzelnen Phasen getrennt, das Leichteste sammelt man durch Filtrieren.
    \end{minipage}}}
\end{pspicture}
\egroup
\figcaption{Anwendung für \Lmcs{pstDosage}}


\bigskip
\bgroup
\psset{unit=0.5cm,etiquette}
\newpsstyle{Nickel}{fillstyle=solid,fillcolor=green}
\pstTubeEssais[niveauLiquide1=20,aspectLiquide1=Champagne,Numero=1]\kern-20pt
\pstTubeEssais[niveauLiquide1=30,aspectLiquide1=Cobalt,Numero=2]\kern-20pt
\pstTubeEssais[niveauLiquide1=40,aspectLiquide1=Sang,Numero=3]\kern-20pt
\pstTubeEssais[Numero=4]\kern-20pt
\psset{bouchon,glassType=flacon}
\pstTubeEssais[aspectLiquide1=Vinaigre,Numero={\footnotesize MnO$_4^-$}]
\pstTubeEssais[aspectLiquide1=Huile,unit=0.75,Numero={\footnotesize Ce$^{4+}$}]
\pstTubeEssais[aspectLiquide1=Nickel,Numero={\footnotesize Ni$^{2+}$}]
\pstTubeEssais[Numero={\footnotesize Cu$^{2+}$}]
\pstTubeEssais[niveauLiquide1=30,aspectLiquide1=Champagne,Numero={\footnotesize NaOH},unit=0.75]
\egroup  
\figcaption{Anwendung für \Lmcs{pstTubeEssais}}
\end{center}

\section*{Credits}
Patrick Drechsler | Arnaud Schmittbuhl


\nocite{*}
\bibliographystyle{plain}
\bibliography{pst-labo-doc}


\endinput