%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ------------------------------------------------------------------------------------- %
% - chemmacros - chemmacros_doc_de.tex ------------------------------------------------ %
% - a collection of macros to make typesetting chemistry documents more convenient ---- %
% ------------------------------------------------------------------------------------- %
% - Clemens Niederberger -------------------------------------------------------------- %
% - 2011/05/15 ------------------------------------------------------------------------ %
% ------------------------------------------------------------------------------------- %
% - http://www.mychemistry.eu/ -------------------------------------------------------- %
% - contact@mychemistry.eu ------------------------------------------------------------ %
% ------------------------------------------------------------------------------------- %
% - If you have any ideas, questions, suggestions or bugs to report, please feel free - %
% - to contact me. -------------------------------------------------------------------- %
% ------------------------------------------------------------------------------------- %
% - Copyright 2011 Clemens Niederberger                                               - %
% -                                                                                   - %
% - This work may be distributed and/or modified under the                            - %
% - conditions of the LaTeX Project Public License, either version 1.3                - %
% - of this license or (at your option) any later version.                            - %
% - The latest version of this license is in                                          - %
% -   http://www.latex-project.org/lppl.txt                                           - %
% - and version 1.3 or later is part of all distributions of LaTeX                    - %
% - version 2005/12/01 or later.                                                      - %
% -                                                                                   - %
% - This work has the LPPL maintenance status `maintained'.                           - %
% -                                                                                   - %
% - The Current Maintainer of this work is Clemens Niederberger.                      - %
% -                                                                                   - %
% - This work consists of the files chemmacros.sty, chemmacros_doc_de.tex,            - %
% - chemmacros_doc_de.tex, README                                                     - %
% ------------------------------------------------------------------------------------- %
\documentclass[parskip=full]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenx}
\usepackage[dvipsnames]{xcolor}
  \colorlet{code}{RawSienna}
\usepackage{listings,url,chemfig,chemstyle,bpchem,siunitx,booktabs}
\usepackage[version=3,arrows=pgf]{mhchem}
\usepackage[xspace=true]{chemmacros}
\usetikzlibrary{calc}
\lstset{literate={ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 {ß}{{\ss}}1}
\lstset{
   language=[LaTeX]TeX,
   basicstyle={\ttfamily},                       % Grundstil
   extendedchars=true,
   numbers=left,                                 % Zeilennummern
   numberstyle=\tiny,                            % Größe des Zeilennummern
   numberblanklines=true,                        % Leerzeilen nummerieren
   gobble=1,                                     % das erste Leerzeichen abschneiden
   xleftmargin=20pt,                             % Einrückung links
   breaklines=true,                              % Zeilenumbruch
   moredelim=[is][\color{red!25!purple}]{!!}{!!},% Hervorhebung
   commentstyle={\color[named]{Gray}},
   emph={begin,end},                             % Umgebungen hervorheben
   emphstyle=\color{red},
   keywordstyle=\color{code},
   keywordstyle=[20]\color{blue},
   morekeywords=[20]{reaction,reactions},
   texcsstyle=[30]\color{code},
   moretexcs=[30]{ce,cf,chemabove,chembelow,chemfig,cip,cis,color,delm,delp,Dfi,draw,E,el,ElPot,ensuremath,Enthalpy,Entropy,Gibbs,gram,Helmholtz,HtO,Hpl,Hyd,IUPAC,joule,kelvin,kilo,lewis,Lfi,liter,mch,meta,milli,mole,newman,node,ntr,nu,ortho,ox,OX,para,pch,per,phorb,porb,prt,pxorb,pyorb,pzorb,Rcip,Rconf,redox,renewtagform,setorbheight,Scip,Sconf,scrm,scrp,setatomsep,setnewstate,sisetup,standardstate,State,text,tikz,trans,transitionstatesymbol,usetikzlibrary,xspace,Z},
   }

\usepackage{hyperref}
  \hypersetup{colorlinks=true,
              plainpages=false,
              bookmarksopen=true,
              bookmarksopenlevel=2,
              bookmarksnumbered=true,
              pdfauthor={Clemens Niederberger},
              pdftitle={chemmacros - Manual},
              pdfsubject={Hilfsmakros für den Chemiker},
              pdfkeywords={chemmacros},
              pdfcreator={LaTeX}
  }
 
\newcommand\paket[1]{`#1'\footnote{\url{http://www.ctan.org/pkg/#1}}}
\makeatletter
\let\CMname\CM@name%
\makeatother
\begin{document}

\begin{titlepage}
 \centering
 \Huge\makeatletter\CM@name\ v\CM@version\makeatother
 \vskip.5cm
 \large\makeatletter\CM@date\makeatother
 \vskip.5cm
 \Large Clemens \textsc{Niederberger}
 \vskip.25cm
 \normalsize\url{http://www.mychemistry.eu/}\\
 \href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu}
 \vskip2cm
 \begin{abstract}
  `\CMname' ist eine Sammlung von Hilfs-Makros für Chemiker. Sie sind dazu gedacht, das Schreiben von chemischen Dokumenten bequemer zu machen.
  %This is a collection of helper macros for the chemist which are intended to make writing chemical documents more convenient.
 \end{abstract}
\end{titlepage}

\tableofcontents

\section{Lizenz, Voraussetzungen}
\makeatletter\CM@name\ v\CM@version\makeatother\ steht unter der \LaTeX\ Project Public License Version 1.3 oder später.\newline(\url{http://www.latex-project.org/lppl.txt})

\CMname\ ruft intern die Pakete \paket{xkeyval}, \paket{amsmath} und `tikz' (Ti\textbf{\textit{k}}Z = \paket{pgf}) auf. Sind sie nicht vorhanden, wird eine Fehlermeldung ausgegeben.

Manche Befehle haben allerdings unterschiedliche Definitionen, je nachdem ob andere Pakete vom Benutzer \emph{vorher} geladen wurden oder nicht. Manche Befehle werden auch nur definiert, wenn ein bestimmtes Paket geladen ist. Das betrifft die Pakete \paket{mhchem}, \paket{siunitx} und \paket{chemstyle} sowie die Befehle aus Abschnitt \ref{sec:teilchen}, \lstinline=\ox= (Abschnitt \ref{ssec:oxidationszahlen}), die Befehle aus Abschnitt \ref{sec:standardstate} und die Umgebungenen aus Abschnitt \ref{sec:mhchem}.

Für die Paketoption \lstinline=xspace= (Abschnitt \ref{sec:optionen}) wird das Paket \paket{xspace} benötigt.

Wenn der Benutzer das Paket `mhchem' \emph{vor} \CMname\ lädt, so werden außerdem die Pakete \paket{mathtools} und \paket{environ} benötigt.

Für den \lstinline=\redox=-Befehl (Abschnitt \ref{sec:redoxreaktionen}) und den \lstinline=\newman=-Befehl (Abschnitt \ref{sec:newman} muss die Tikzlibrary `calc' eingebunden werden.

Volle Funktionalität steht also mit folgender oder ähnlicher Präambel bereit:
\begin{lstlisting}
 \usepackage{siunitx,chemstyle}
 \usepackage[version=3,arrows=pgf]{mhchem}
 \usepackage[xspace=true]{chemmacros}
 \usetikzlibrary{calc}
\end{lstlisting}

\section{Teilchen, Ionen und ein Symbol}\label{sec:teilchen}
Eine Reihe einfacher Makros, um häufig gebrauchte Teilchen sowie ein Symbol darzustellen:
\begin{itemize}
 \item\lstinline=\Hpl= \Hpl (Proton)
 \item\lstinline=\Hyd= \Hyd (Hydroxid)
 \item\lstinline=\HtO= \HtO (Oxonium)
 \item\lstinline=\el= \el (Elektron)
 \item\lstinline=\prt= \prt (Proton)
 \item\lstinline=\ntr= \ntr (Neutron)
 \item\lstinline=\transitionstatesymbol= \transitionstatesymbol\ Über\-gangs\-zu\-stands\-symbol (verwendet Ti\textbf{\textit{k}}Z)
\end{itemize}
Diese Befehle sind sowohl im Text- wie im Mathematikmodus einsetzbar. Je nachdem, ob `mhchem' geladen wurde oder nicht, werden die ersten drei Teilchen mit dem \lstinline=\cf{}=-Befehl von `mhchem' oder mit \lstinline=\ensuremath{\text{}}= geschrieben.

\section{Stereo-Deskriptoren, Nomenklatur}\label{sec:stereo}
Die folgenden Makros sollen das Schreiben von IUPAC-Namen etwas erleichtern:
\begin{itemize}
 \item Cahn-Ingold-Prelog:
 \begin{itemize}
  \item\lstinline=\Rcip= \Rcip
  \item\lstinline=\Scip= \Scip
  \item\lstinline=\cip{<conf>}= z.\,B.: \lstinline=\cip{R,S}= \cip{R,S}
 \end{itemize}
 \item Fischer:
 \begin{itemize}
  \item\lstinline=\Dfi= \Dfi
  \item\lstinline=\Lfi= \Lfi
 \end{itemize}
 \item cis/trans u. zusammen/entgegen:
 \begin{itemize}
  \item\lstinline=\Z= \Z
  \item\lstinline=\E= \E
  \item\lstinline=\cis= \cis
  \item\lstinline=\trans= \trans
 \end{itemize}
 \item ortho/meta/para:
 \begin{itemize}
  \item\lstinline=\ortho= \ortho
  \item\lstinline=\meta= \meta
  \item\lstinline=\para= \para
 \end{itemize}
\end{itemize}
Anzeigen der absoluten Konfiguration (verwendet Ti\textbf{\textit{k}}Z):
\begin{itemize}
 \item\lstinline=\Rconf[<letter>]= \lstinline=\Rconf=: \Rconf \quad\lstinline=\Rconf[]=: \Rconf[]
 \item\lstinline=\Sconf[<letter>]= \lstinline=\Sconf=: \Sconf \quad\lstinline=\Sconf[]=: \Sconf[]
\end{itemize}

\begin{lstlisting}
 \Dfi-Weinsäure = \cip{2S,3S}-Weinsäure, \Dfi-($-$)-Threose = \cip{2S,3R}-($-$)-2,3,4-Trihydroxybutanal\\
 \cis-2-Buten = \Z-2-Buten, \cip{2E,4Z}-Hexadien\\
 \meta-Xylol = 1,3-Dimethylbenzol
 
 % mit `bpchem'-Befehl \IUPAC:
 \IUPAC{\Dfi-Wein\|säure} = \IUPAC{\cip{2S,3S}-Wein\|säure}, \IUPAC{\Dfi-($-$)-Threose} = \IUPAC{\cip{2S,3R}-($-$)-2,3,4\-Tri\|hydroxy\|butanal}
\end{lstlisting}
\Dfi-Weinsäure = \cip{2S,3S}-Weinsäure, \Dfi-($-$)-Threose = \cip{2S,3R}-($-$)-2,3,4-Trihydroxybutanal\\
\cis-2-Buten = \Z-2-Buten, \cip{2E,4Z}-Hexadien\\
\meta-Xylol = 1,3-Dimethylbenzol

\IUPAC{\Dfi-Wein\|säure} = \IUPAC{\cip{2S,3S}-Wein\|säure}, \IUPAC{\Dfi-($-$)-Threose} = \IUPAC{\cip{2S,3R}-($-$)-2,3,4\-Tri\|hydroxy\|butanal}

Im letzten Beispiel wurde der Befehl \lstinline=\IUPAC= des Pakets \paket{bpchem} eingesetzt.

\section{Oxidationszahlen und (echte) Ladungen}\label{sec:ladungen}
\subsection{Ionenladungen}\label{ssec:ionen}
Einfaches Darstellen von Ladungen:
\begin{itemize}
 \item\lstinline=\pch[<number>]= positive Ladung (\textbf{p}lus + \textbf{ch}arge), \lstinline=\pch, Na\pch, Ca\pch[2]= \pch, Na\pch, Ca\pch[2]
 \item\lstinline=\mch[<number>]= negative Ladung (\textbf{m}inus + \textbf{ch}arge), \lstinline=\mch, F\mch, S\mch[2]= \mch, F\mch, S\mch[2]
\end{itemize}

\subsection{Oxidationszahlen}\label{ssec:oxidationszahlen}
Setzen von Oxidationszahlen:
\begin{itemize}
 \item\lstinline=\ox{<number>,<atom>}= setzt \lstinline=<number>= über \lstinline=<atom>=; \lstinline=\ox{+1,Na}=, \lstinline=\ox{+I,Na}=, \lstinline=\ox{-2,S}=, \lstinline=\ox{-II,S}= \ox{+1,Na}, \ox{+I,Na}, \ox{-2,S}, \ox{-II,S}
\end{itemize}
Wenn das Paket `mhchem' geladen wurde, wird \lstinline=<atom>= innerhalb des \lstinline=\cf=-Befehls gesetzt: \lstinline=\ox{+II,Ca}\ox{-I,F2}= \ox{+II,Ca}\ox{-I,F2}. Ohne `mhchem' funktioniert das so nicht {\makeatletter\def\oxNoMhchem#1#2{\ensuremath{\overset{\text{\tiny\CM@ox@sign#1}}{\text{#2}}}}\makeatother(\oxNoMhchem{+II}{Ca}\oxNoMhchem{-I}{F2}) und die konventionelle Methode muss verwendet werden: \lstinline=\ox{+II,Ca}\ox{-I,F$_2$}= \oxNoMhchem{+II}{Ca}\oxNoMhchem{-I}{F$_2$}}.

\subsection{Partialladungen und ähnliches}\label{ssec:partialladungen}
Vielleicht selten gebraucht, nichtsdestoweniger nützlich:
\begin{itemize}
 \item\lstinline=\delp= \delp (\textbf{del}ta + \textbf{p}lus)
 \item\lstinline=\delm= \delm (\textbf{del}ta + \textbf{m}inus)
\end{itemize}
Diese Makros können zum Beispiel mit dem \lstinline=\ox=-Befehl eingesetzt werden oder zusammen mit dem Paket \paket{chemfig}:
\begin{lstlisting}
 \ox{\delp,H}\ox{\delm,Cl}\par
 \chemfig{\chemabove[3pt]{\lewis{246,Br}}{\delm}-\chemabove[3pt]{H}{\delp}}
\end{lstlisting}
\ox{\delp,H}\ox{\delm,Cl}\par
\chemfig{\chemabove[3pt]{\lewis{246,Br}}{\delm}-\chemabove[3pt]{H}{\delp}}

Auch die beiden folgenden Makros sind v.a. beim Einsatz mit `chemfig' nützlich.
\begin{itemize}
 \item\lstinline=\scrp= \scrp (\textbf{scr}iptstyle + \textbf{p}lus)
 \item\lstinline=\scrm= \scrm (\textbf{scr}iptstyle + \textbf{m}inus)
\end{itemize}
Zum Beispiel:
\begin{lstlisting}
 {\setatomsep{1.8em}\chemfig{CH_3-CH_2-\chemabove{\lewis{026,O}}{\hspace{5mm}\scrm}}}
\end{lstlisting}
{\setatomsep{1.8em}\chemfig{CH_3-CH_2-\chemabove{\lewis{026,O}}{\hspace{5mm}\scrm}}}

\section{Redoxreaktionen}\label{sec:redoxreaktionen}
\CMname\ stellt zwei Befehle zur Verfügung\footnote{Dank an \href{http://www.mathannotated.com/}{Peter Cao}, der das Feature vorschlug.}, mit denen die Elektronenübertragungen bei Redoxreaktionen angezeigt werden können. Beide Befehle verwenden `Ti\textbf{\textit{k}}Z', der zweite benötigt außerdem die Tikzlibrary `calc', \textbf{die daher in der Präambel geladen werden muss}.
\begin{lstlisting}
 \OX{<name>,<atom>}
 \redox(<name1>,<name2>)[<tikz>][<dim>]{<text>}
\end{lstlisting}
Mit \lstinline=\OX= wird ein \lstinline=<atom>= in eine Node geschrieben, die den Namen \lstinline=<name>= bekommt. Hat man zwei \lstinline=\OX= gesetzt, können Sie mit \lstinline=\redox= mit einen Linie verbunden werden. Dazu werden die Namen der zu verbindenen Nodes in die Runden Klammern geschrieben. Da \lstinline=\redox= ein Tikzpicture mit den Optionen \lstinline=remember picture,overlay= zeichnet, muss das Dokument \emph{mindestens zweimal kompiliert} werden.
\begin{lstlisting}
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){oxidation}
\end{lstlisting}
\OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){oxidation}

Die Linie kann via \lstinline=<tikz>= mit Ti\textbf{\textit{k}}Z-Keys angepasst werden:
\begin{lstlisting}
 \begin{center}
  \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}\redox(a,b)[<-,blue][-.6em]{red}
 \end{center}
\end{lstlisting}
\begin{center}
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}\redox(a,b)[<-,blue][-.6em]{red}
\end{center}

Mit \lstinline=<dim>= kann die Länge der vertikalen Linie festgelegt werden. Diese ist per Default \lstinline=.6em= lang. Gibt man hier einen negativen Wert an, wird die Linie \emph{unterhalb} des Textes geschrieben.
\begin{lstlisting}
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch
 \redox(a,b)[->]{ox}
 \redox(a,b)[<-][-.6em]{red}
\end{lstlisting}
\OX{a,Na} $\rightarrow$ \OX{b,Na}\pch
\redox(a,b)[->,red]{ox}
\redox(a,b)[<-,blue][-.6em]{red}
\vskip1cm
Die Befehle funktionieren auch mit dem `mhchem'-Befehl \lstinline=\ce= und in Verbindung mit dem \lstinline=\ox=-Befehl (Abschnitt \ref{ssec:oxidationszahlen}).
\begin{lstlisting}
 \ce{ 2 \OX{o1,Na} + \OX{r1,Cl2} -> 2 \OX{o2,Na}\pch + 2 \OX{r2,Cl}\mch }
 \redox(o1,o2){\small OX: $- 2\el$}
 \redox(r1,r2)[][-.6em]{\small RED: $+ 2\el$}

 \vskip2cm
 \ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+I,Na}}\pch + 2 \OX{r2,\ox{-I,Cl}}\mch }
 \redox(o1,o2){\small OX: $- 2\el$}
 \redox(r1,r2)[][-.6em]{\small RED: $+ 2\el$}

 \vskip3cm
 \ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+I,Na}}\pch + 2 \OX{r2,\ox{-I,Cl}}\mch }
 \redox(o1,o2)[draw=red,->][2em]{\small OX: $- 2\el$}
 \redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$}

 \vskip1cm
 \ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+I,Na}}\pch + 2 \OX{r2,\ox{-I,Cl}}\mch }
 \redox(o1,o2)[green,-stealth]{\small OX: $- 2\el$}
 \redox(r1,r2)[purple,-stealth][-.6em]{\small RED: $+ 2\el$}
\end{lstlisting}
\ce{ 2 \OX{o1,Na} + \OX{r1,Cl2} -> 2 \OX{o2,Na}\pch + 2 \OX{r2,Cl}\mch }
\redox(o1,o2){\small OX: $- 2\el$}
\redox(r1,r2)[][-.6em]{\small RED: $+ 2\el$}

\vskip2cm
\ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+I,Na}}\pch + 2 \OX{r2,\ox{-I,Cl}}\mch }
\redox(o1,o2){\small OX: $- 2\el$}
\redox(r1,r2)[][-.6em]{\small RED: $+ 2\el$}

\vskip3cm
\ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+I,Na}}\pch + 2 \OX{r2,\ox{-I,Cl}}\mch }
\redox(o1,o2)[draw=red,->][2em]{\small OX: $- 2\el$}
\redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$}

\vskip1cm
\ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+I,Na}}\pch + 2 \OX{r2,\ox{-I,Cl}}\mch }
\redox(o1,o2)[green,-stealth]{\small OX: $- 2\el$}
\redox(r1,r2)[purple,-stealth][-.6em]{\small RED: $+ 2\el$}

\section{(Standard) Zustand, Thermodynamik}\label{sec:standardstate}
\subsection{Mit `siunitx'}\label{ssec:siunitx}
Wenn das Paket `siunitx' geladen ist, stehen die folgenden Befehle zur Verfügung:
\begin{itemize}
 \item\lstinline=\Enthalpy[<kind>,<exponent>,<unit>]{<value>}=
 \item\lstinline=\Entropy[<kind>,<exponent>,<unit>]{<value>}=
 \item\lstinline=\Gibbs[<kind>,<exponent>,<unit>]{<value>}=
\end{itemize}
Ihr Einsatz ist eigentlich selbsterklärend: mit \lstinline=\Enthalpy{123}= wird \Enthalpy{123} gesetzt. Möchte man genauer spezifizieren, wofür die Enthalpie gelten soll, kann man das über das erste optionale Argument machen:\\
\lstinline=\Enthalpy[r]{123}= \Enthalpy[r]{123}.

Das Standardzustandssymbol kann durch das zweite optionale Argument ersetzt werden\ldots\\
\lstinline=\Enthalpy[,0]{123}= \Enthalpy[,0]{123}\\
\ldots und wird sowieso nur dann als Standardzustand gesetzt, wenn das Paket `chemstyle' geladen wurde, siehe Abschnitt \ref{ssec:state}.

Mit dem dritten optionalen Argument schließlich kann die Einheit geändert werden:\\
\lstinline=\Enthalpy[,kcal/mol]{123}= \Enthalpy[,,kcal/mol]{123}\\
Die Einheit wird jeweils entsprechend der Regeln von `siunitx' gesetzt und hängt von den dort gewählten Otionen ab.
\begin{lstlisting}
 \Enthalpy{-1234.56e3}\par
 \sisetup{per-mode=symbol,exponent-product=\cdot,output-decimal-marker={,},group-four-digits=true}
 \Enthalpy{-1234.56e3}
\end{lstlisting}
{\Enthalpy{-1234.56e3}\par
\sisetup{per-mode=symbol,exponent-product=\cdot,output-decimal-marker={,},group-four-digits=true}
\Enthalpy{-1234.56e3}}

Ganz entsprechendes gilt für
\begin{lstlisting}
 \Entropy{12.3}, \Gibbs{-12.3}.
\end{lstlisting}
\Entropy{12.3}, \Gibbs{-12.3}.

Mit dem Befehl \lstinline=\setnewstate[<standard exponent>,<Delta symbol>]{<name>}{<symbol>}{<unit>}= können Sie auch neue entsprechende Befehle festlegen:
\begin{lstlisting}
 \setnewstate{Helmholtz}{A}{\kilo\joule\per\mole}
 \setnewstate{ElPot}{E}{Volt}
 \Helmholtz{123.4} \ElPot{-1.1}
\end{lstlisting}
{\setnewstate{Helmholtz}{A}{\kilo\joule\per\mole}\setnewstate{ElPot}{E}{Volt}\Helmholtz{123.4} \ElPot{-1.1}}

Tatsächlich wurden
\begin{lstlisting}
 \Enthalpy, \Entropy, \Gibbs
\end{lstlisting}
über
\begin{lstlisting}
 \setnewstate{Enthalpy}{H}{\kilo\joule\per\mole}
 \setnewstate[, ]{Entropy}{S}{\joule\per\kelvin\per\mole}
 \setnewstate{Gibbs}{G}{\kilo\joule\per\mole}
\end{lstlisting}
definiert.

Sie können mit \lstinline=\setnewstate= auch die vordefinierten Befehle überschreiben:
\begin{lstlisting}
 \setnewstate{Enthalpy}{X}{\joule\per\mole}
 \Enthalpy[f]{12.5}
\end{lstlisting}
{\setnewstate{Enthalpy}{X}{\joule\per\mole}\Enthalpy[f]{12.5}}

\subsection{State}\label{ssec:state}
Die in Abschnitt \ref{ssec:siunitx} vorgestellten Befehle verwenden alle den auch ohne `siunitx' definierten Befehl
\begin{lstlisting}
 \State[<exponent>,<Delta symbol>]{<symbol>}{<kind>}
\end{lstlisting}
Mit diesem Befehl können die thermodynamischen Größen auch ohne Zahl und Einheit angegeben werden.
\begin{lstlisting}
 \State{G}{f}, \State[ ]{E}{}, \State[\SI{1000}{\celsius}]{H}{f}
\end{lstlisting}
\State{G}{f}, \State[ ]{E}{}, \State[\SI{1000}{\celsius}]{H}{f}

Das Standardzustandssymbol wird nur angezeigt, wenn das Paket `chemstyle' geladen wurde und mit dem Befehl \lstinline=\standardstate= zur Verfügung steht. \lstinline=\State{A}{b}=: Wenn `chemstyle' geladen wurde \State{A}{b}, sonst \State[ ]{A}{b}.

\section{Umgebungen für `mhchem'}\label{sec:mhchem}
Falls das Paket `mhchem' geladen wurde, stehen die Umgebungen
\begin{lstlisting}
 \begin{reaction}
   <mhchem code>
 \end{reaction}
 \begin{reactions}
   <mhchem code>
 \end{reactions}
\end{lstlisting}
sowie die Varianten
\begin{lstlisting}
 \begin{reaction*}
   <mhchem code>
 \end{reaction*}
 \begin{reactions*}
   <mhchem code>
 \end{reactions*}
\end{lstlisting}
zur Verfügung. Die Umgebung \lstinline=reaction=/\lstinline=reaction*= verwendet die Mathematik-Um\-ge\-bung \lstinline=equation=/\lstinline=equation*=, die Umgebung \lstinline=reactions=/\lstinline=reactions*= die Mathematik-Umgebung \lstinline=align=/\lstinline=align*=, um die Reaktionen zu setzen.
\begin{lstlisting}
 Reaktion mit Zähler:
 \begin{reaction}
  H2 + 1/2 O2 -> H2O
 \end{reaction}
 Reaktion ohne Zähler:
 \begin{reaction*}
  C + O2 -> CO2
 \end{reaction*}
 mehrere Reaktionen mit Zähler:
 \begin{reactions}
  Cl2            &-> 2 Cl. \\
  Cl.{} + CH4    &-> HCl + {}.CH3\\
  {}{}.CH3 + Cl2 &-> CH3Cl + Cl.
 \end{reactions}
 mehrere Reaktionen ohne Zähler:
 \begin{reactions*}
  \Hpl + \Hyd              &<=>> H2O\\
  SO4 \mch[2] + Ba \pch[2] &-> BaSO4 v
 \end{reactions*}
\end{lstlisting}
Reaktion mit Zähler:
\begin{reaction}
 H2 + 1/2 O2 -> H2O
\end{reaction}
Reaktion ohne Zähler:
\begin{reaction*}
 C + O2 -> CO2
\end{reaction*}
mehrere Reaktionen mit Zähler:
\begin{reactions}
 Cl2            &-> 2 Cl. \\
 Cl.{} + CH4    &-> HCl + {}.CH3\\
 {}{}.CH3 + Cl2 &-> CH3Cl + Cl.
\end{reactions}
mehrere Reaktionen ohne Zähler:
\begin{reactions*}
 \Hpl + \Hyd             &<=>> H2O\\
  SO4 \mch[2] + Ba \pch[2] &-> BaSO4 v
\end{reactions*}
Wenn Sie das Aussehen des Zählers ändern wollen, so können Sie \lstinline=\renewtagform{<tagname>}[<format>]{<right delim>}{<left delim>}=\footnote{Durch das Paket `mathtools' zur Verfügung gestellt} verwenden.
\begin{lstlisting}
 \renewtagform{CMreaction}[R \textbf]{[}{]}
 \begin{reaction}
  H2O + CO2 <<=> H2CO3
 \end{reaction}
\end{lstlisting}
{\renewtagform{CMreaction}[R \textbf]{[}{]}
\begin{reaction}
 H2O + CO2 <<=> H2CO3
\end{reaction}
}

\section{Newman-Projektionen}\label{sec:newman}
Mit dem Befehl
\begin{lstlisting}
 \newman[<angle>,<scale>,<tikz>]{<1>,<2>,<3>,<4>,<5>,<6>}
\end{lstlisting}
lassen sich Newman-Projektionen erstellen (verwendet Ti\textbf{\textit{k}}Z). \textbf{Dazu müssen sie in der Präambel die Tikzlibrary `calc' einbinden}:
\begin{lstlisting}
 \usetikzlibrary{calc}
\end{lstlisting}
Beispiele:
\begin{lstlisting}
 \newman{}\par% Standard: gestaffelt
 \newman[165]{}\par% gedreht => ekliptisch
 \newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6}\par% mit Atomen
 \newman[,.75,draw=blue,fill=blue!20]{}% verkleinert und mit TikZ angepasst
\end{lstlisting}
\newman{}\par
\newman[165]{}\par
\newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6}\par
\newman[,.75,draw=blue,fill=blue!20]{}

Mit einer weiteren Option können die Nodes der Atome gestaltet werden:
\begin{lstlisting}
 \newman[][<tikz nodes>]{<1>,<2>,<3>,<4>,<5>,<6>}
 % Beispiel:
 \newman[][draw=red,fill=red!20,inner sep=2pt,rounded corners]{1,2,3,4,5,6}
\end{lstlisting}
\newman[][draw=red,fill=red!20,inner sep=2pt,rounded corners]{1,2,3,4,5,6}

Wenn Sie die "`vorderen"' und "`hinteren"' Nodes verschieden gestalten wollen, können Sie noch eine dritte Option verwenden:
\begin{lstlisting}
 \newman[][<tikz front nodes>][[<tikz back nodes>]]{<1>,<2>,<3>,<4>,<5>,<6>}
 % Beispiel:
 \newman[][draw=red,fill=red!20,inner sep=2pt,rounded corners][draw=blue,fill=blue!20,inner sep=2pt,rounded corners]{1,2,3,4,5,6} \newman[170][draw=red,fill=red!20,inner sep=2pt,rounded corners][draw=blue,fill=blue!20,inner sep=2pt,rounded corners]{1,2,3,4,5,6}
\end{lstlisting}
\newman[][draw=red,fill=red!20,inner sep=2pt,rounded corners][draw=blue,fill=blue!20,inner sep=2pt,rounded corners]{1,2,3,4,5,6} \newman[170][draw=red,fill=red!20,inner sep=2pt,rounded corners][draw=blue,fill=blue!20,inner sep=2pt,rounded corners]{1,2,3,4,5,6}

\section{p-Orbitale}\label{sec:orbitale}
\CMname\ stellt auch Befehle zur Verfügung, mit denen p-Orbitale visualisiert werden können.
\begin{lstlisting}
 \porb[<size factor>,<color>,<angle>]
 \phorb[<size factor>,<color>,<angle>]
 \setorbheight{<length>}
\end{lstlisting}
Damit wird ein liegendes oder um \lstinline=<angle>= gedrehtes p-Orbital dargestellt: \lstinline=\porb \qquad \porb[,,30]= \quad\porb \qquad\porb[,,30] 

\lstinline=\phorb= stellt nur ein halbes Orbital dar: \lstinline=\phorb[,red,90]= \phorb[,red,90]

Mit den folgenden drei Befehlen stehen die in $x$-, $y$- und $z$-Richtung gedrehten Orbitale zusätzlich als Makro zur Verfügung:
\begin{lstlisting}
 \pzorb \qquad \pyorb \qquad \pxorb
\end{lstlisting}
\pzorb \qquad \pyorb \qquad \pxorb

Durch geeignetes Verschieben lassen sie sich alle an einer Stelle darstellen:
\begin{lstlisting}
 \hspace{2cm}\pxorb\hspace{-.3em}\pyorb\hspace{-.3em}\pzorb
 \tikz[overlay]{
   \draw[->](0,0)--(1,0)node[right]{$y$};
   \draw[dashed](0,0)--(-1,0);
   \draw[->](0,0)--(0,1)node[above]{$z$};
   \draw[dashed](0,0)--(0,-1);
   \draw[->](0,0)--(-.707,-.707)node[below left]{$x$};
   \draw[dashed](0,0)--(.707,.707);
 }
\end{lstlisting}
\hspace{2cm}\pxorb\hspace{-.3em}\pyorb\hspace{-.3em}\pzorb\tikz[overlay]{\draw[->](0,0)--(1,0)node[right]{$y$};\draw[->](0,0)--(0,1)node[above]{$z$};\draw[->](0,0)--(-.707,-.707)node[below left]{$x$};\draw[dashed](0,0)--(-1,0);\draw[dashed](0,0)--(0,-1);\draw[dashed](0,0)--(.707,.707);}
\vspace{2cm}

Die Orbitale lassen sich z.\,B. auch zusammen mit `chemfig' einsetzen:
\begin{lstlisting}
 \setorbheight{2em}\setbondoffset{0pt}
 \chemfig{?\pzorb-[,1.3]\pzorb-[:30,1.1]\pzorb-[:150,.9]\pzorb-[4,1.3]\pzorb-[:-150,1.1]\pzorb?}\qquad
 \chemfig{?\pzorb-[,1.3]{\porb[,,-90]}-[:30,1.1]\pzorb-[:150,.9]{\porb[,,-90]}-[4,1.3]\pzorb-[:-150,1.1]{\porb[,,-90]}?}
\end{lstlisting}
\vspace{1cm}
{\setorbheight{2em}\setbondoffset{0pt}
\chemfig{?\pzorb-[,1.3]\pzorb-[:30,1.1]\pzorb-[:150,.9]\pzorb-[4,1.3]\pzorb-[:-150,1.1]\pzorb?}\qquad
\chemfig{?\pzorb-[,1.3]{\porb[,,-90]}-[:30,1.1]\pzorb-[:150,.9]{\porb[,,-90]}-[4,1.3]\pzorb-[:-150,1.1]{\porb[,,-90]}?}}

\section{Paket-Optionen}\label{sec:optionen}
\CMname\ hat zwei Paketoptionen:
\begin{itemize}
 \item\lstinline+xspace=<boolean>+ Mit der Option \lstinline+xspace=true+ bekommen folgende Befehle ein \lstinline=\xspace= angehängt:\\
      \lstinline=\Hyd \HtO Text \Hyd, \HtO, Text= \Hyd \HtO Text \Hyd, \HtO, Text\\
      Default: \lstinline+xspace=false+
 \item\lstinline+circled=<boolean>+ Nicht alle mögen Kreise um die Ladungssymbole ($\oplus$ und $\ominus$) sondern bevorzugen sie ohne Kreise ($+$ und $-$). Dieses Verhalten kann mit dieser Option gesteuert werden. Mit \lstinline+circled=false+ verwenden alle Befehle von \CMname\ die Symbole ohne Kreis.\\
      Default: \lstinline+circled=true+
\end{itemize}

\section{Liste der Befehle}\label{sec:befehlsreferenz}
\begin{tabular}{>{\raggedright}p{.35\textwidth}|>{\raggedright}p{.55\textwidth}}\toprule
  \lstinline=\el=, \lstinline=\prt=, \lstinline=\ntr=             & Abschnitt \ref{sec:teilchen}: Teilchen, Ionen und ein Symbol\tabularnewline
  \lstinline=\HtO=, \lstinline=\Hpl=, \lstinline=\Hyd=            & \tabularnewline
  \lstinline=\transitionstatesymbol=                              & \tabularnewline\midrule
  \lstinline=\cip=, \lstinline=\Rcip=, \lstinline=\Scip=          & Abschnitt \ref{sec:stereo}: Stereo-Deskriptoren, Nomenklatur\tabularnewline
  \lstinline=\Dfi=, \lstinline=\Lfi=                              & \tabularnewline
  \lstinline=\E=, \lstinline=\Z=, \lstinline=\cis=, \lstinline=\trans= & \tabularnewline
  \lstinline=\Rconf=, \lstinline=\Sconf=                          & \tabularnewline
  \lstinline=\ortho=, \lstinline=\meta=, \lstinline=\para=        & \tabularnewline\midrule
  \lstinline=\delm=, \lstinline=\delp=                            & Abschnitt \ref{sec:ladungen}: Oxidationszahlen und (echte) Ladungen\tabularnewline
  \lstinline=\mch=, \lstinline=\pch=                              & \tabularnewline
  \lstinline=\ox=                                                 & \tabularnewline
  \lstinline=\scrm=, \lstinline=\scrp=                            & \tabularnewline\midrule
  \lstinline=\Enthalpy=, \lstinline=\Entropy=, \lstinline=\Gibbs= & Abschnitt \ref{sec:standardstate}: (Standard) Zustand, Thermodynamik\tabularnewline
  \lstinline=\setnewstate=                                        & \tabularnewline
  \lstinline=\State=                                              & \tabularnewline\midrule
  \lstinline=\newman=                                             & Abschnitt \ref{sec:newman}: Newman-Projektionen \tabularnewline\midrule
  \lstinline=\redox=, \lstinline=\OX=                             & Abschnitt \ref{sec:redoxreaktionen}: Redoxreaktionen \tabularnewline\midrule
  \lstinline=\begin{reaction}=, \lstinline=\begin{reaction*}=, \lstinline=\begin{reactions}=, \lstinline=\begin{reactions*}= & Abschnitt \ref{sec:mhchem}: Umgebungen für `mhchem'\tabularnewline\midrule
  \lstinline=\phorb=, \lstinline=\porb=, \lstinline=\pxorb=, \lstinline=\pyorb=, \lstinline=\pzorb= & Abschnitt \ref{sec:orbitale}: p-Orbitale\tabularnewline
  \lstinline=\setorbheight=                                       & \tabularnewline\bottomrule
\end{tabular}

\end{document}