%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% --------------------------------------------------------------------------- %
% - chemmacros - chemmacros_doc_de.tex                                      - %
% - macros and commands for chemists                                        - %
% --------------------------------------------------------------------------- %
% - Clemens Niederberger                                                    - %
% - 2011/11/03                                                              - %
% --------------------------------------------------------------------------- %
% - 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-version1.cfg,- %
% - chemmacros_doc_de.tex, chemmacros_doc_de.tex, README and the derived    - %
% - files chemmacros_doc_de.pdf and chemmacros_doc_en.pdf                   - %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[nohyper,titlepage,a4paper,nofonts,notoc]{tufte-handout}

\newcommand*\CMname{\textsf{chemmacros}\xspace}
\newcommand*\CMversion{2.0\xspace}
\newcommand*\CMdate{2011/11/03\xspace}

% changing some tufte-handout settings
\titleformat{\section}[hang]{\normalfont\Large\bfseries}{\thesection}{1em}{}[]
\titleformat{\subsection}[hang]{\normalfont\large\bfseries}{\thesubsection}{1em}{}[]
\makeatletter
\def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus -1ex minus -.2ex}{1.5ex plus .2ex}{\normalsize\bf}}
\makeatother
\def\thesubsubsection{\thesection.\thesubsection.\arabic{subsubsection}}
\titleformat{\subsubsection}[hang]{\normalfont\large\bfseries}{\thesubsection}{1em}{}[]
\titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus.2ex}
\setcounter{secnumdepth}{2}

% need these because of the lots of marginnotes
\usepackage{etex,morefloats}
\reserveinserts{150}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenx}
\usepackage[dvipsnames]{xcolor}
  \colorlet{code}{RawSienna}
\usepackage[normalem]{ulem}
\usepackage{url,chemfig,chemstyle,bpchem,array,longtable,multirow,booktabs,framed}
\usepackage[version=3,arrows=pgf]{mhchem}
\usepackage[german]{chemmacros}

\usepackage{showexpl}
\lstset{literate={ä}{{\"a}}1 {ö}{{\"o}}1 {ü}{{\"u}}1 {Ä}{{\"A}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1 {ß}{{\ss}}1}
\lstset{
   language         = [LaTeX]TeX,
   basicstyle       = {\ttfamily},
   extendedchars    = true,
   numbers          = left,
   numberstyle      = \tiny,
   numberblanklines = true,
   gobble           = 1,
   xleftmargin      = 20pt,
   breaklines       = true,
   commentstyle     = {\color[named]{Gray}},
   }

\usepackage{hyperref}
\hypersetup{
  colorlinks         = true,
  plainpages         = false,
  bookmarksopen      = true,
  bookmarksopenlevel = 1,
  bookmarksnumbered  = true,
  pdfauthor          = {Clemens Niederberger},
  pdftitle           = {chemmacros - Manual},
  pdfsubject         = {Hilfsmakros für den Chemiker},
  pdfkeywords        = {chemmacros},
  pdfcreator         = {LaTeX}
}
 
\ExplSyntaxOn
\NewDocumentCommand \paket { o m }
  {
    \textsf { #2 }
    \cs_if_exist:cF { paket @ #2 }
      {
        \cs_new_nopar:cpn { paket @ #2 } { }
        \IfNoValueTF { #1 }
          { \sidenote { CTAN: ~ \href { http://www.ctan.org/pkg/#2/ } { #2 } } }
          { \sidenote[][ #1 ] { CTAN: \href { http://www.ctan.org/pkg/#2/ } { #2 } } }
      }
  }

\newcommand*\code[1]{{\normalfont\upshape\ttfamily#1}}
\newcommand*\ma[1]{%
  {\normalcolor\ttfamily\char`\{#1\char`\}}}
\newcommand*\oa[1]{%
  {\normalcolor\ttfamily\char`[#1\char`]}}
\newcommand*\da[1]{%
  {\normalcolor\ttfamily\char`(#1\char`)}}

\NewDocumentCommand \cmd { m }
  {
    \group_begin:
      \code { \char`\\ \color{code} #1 }
    \group_end:
  }

\NewDocumentCommand \Key { o o d() m m }
  {
    \IfNoValueTF { #3 }
      {
        \IfNoValueTF { #2 }
          { \label{key:#4} }
          { \label{key:#2_#4} }
      }
      { \label{key:#3_#4} }
    \marginnote
      {
        \framed
          \code { \textcolor { blue } { #4 } ~ = ~ #5 }
          \IfNoValueF { #1 } { \tl_if_blank:nF { #1 } { \newline Default: ~ \code { #1 } } }
          \IfNoValueTF { #2 }
            { \newline \textcolor { red } { kein ~ Modul } }
            { \newline Modul: ~ \code { #2 } }
        \endframed
      }
  }

\NewDocumentCommand \changed { m }
  {
    \group_begin:
    \colorlet { shadecolor } { red!20 }
    \marginnote
      {
        \shaded
          Der ~ Befehl ~ \cmd { #1 } ~ hat ~ seit ~ v2.0 ~ eine ~
          andere ~ Syntax. ~ Die ~ Paketoption ~ \code { version=1 } \tl_use:N \c_space_tl
          stellt ~ die ~ ursprüngliche ~ Syntax ~ wieder ~ her.
        \endshaded
      }
    \group_end:
  }

\NewDocumentCommand \formercmd { m }
  {
    \marginnote
      {
        \cmd { #1 } ~ wird ~ nicht ~ mehr ~ bereitgestellt. ~ Verwenden ~ Sie ~ die ~ Paketoption ~
        \code { version = 1 } , ~ um ~ ihn ~ wieder ~ zu ~ reaktivieren.
      }
  }
\ExplSyntaxOff

\newcommand*\zB{\mbox{z.\,B.}\xspace}
\newcommand*\bzw{\mbox{bzw.}\xspace}
\renewcommand*\dh{\mbox{dh.}\xspace}
\newcommand*\usw{\mbox{usw.}\xspace}
\newcommand*\va{\mbox{v.\,a.}\xspace}
\newcommand*\vgl{\mbox{vgl.}\xspace}
\newcommand*\TikZ{\mbox{Ti\textbf{\textit{k}}Z}\xspace}

\begin{document}

\begin{titlepage}
 \begin{fullwidth}
 \centering
 \Huge chemmacros v\CMversion{}a
 \vskip.5cm
 \Large\CMdate
 \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 und Befehlen für Chemiker. Sie sind dazu gedacht, das Schreiben von Chemie-Dokumenten mit \LaTeXe\ schneller und bequemer zu machen. Das betrifft unter anderem Nomenklatur, Oxidationszahlen, thermodynamische Daten, Newman-Projektionen, \usw
 \end{abstract}
 \end{fullwidth}
\end{titlepage}

\tableofcontents

\section{Was ist neu?}
Mit dem Update auf v\CMversion hat sich im Hintergrund einiges geändert. Die Anpassung der Befehle wird nun komplett über ein Schlüssel/Wert-System vorgenommen. Dadurch gibt es jetzt deutlich mehr Mög\-lich\-kei\-ten der Personalisierung von Befehlen. Das bedeutet auch, dass sich bei einigen Befehlen die Syntax\changed{Befehl} verändert hat.

Um dennoch zu gewährleisten, dass Dokumente, die mit v1.* gesetzt wurden, weiterhin kompilieren, gibt es die Paket-Option \code{version=1}, die die alten Definitionen wiederherstellt. Bei Befehlen, die das betrifft wird wie rechts im Rand beispielhaft gezeigt auf die Änderung hingewiesen. Manche Befehle gibt es nun nicht mehr\formercmd{Befehl}, doch auch sie werden durch die Paketoption \code{version=1} wiederhergestellt. Auf sie wird ebenfalls am Rand und im Text hingewiesen.

\section{Lizenz, Voraussetzungen}
\CMname v\CMversion steht unter der \LaTeX\ Project Public License Version 1.3 oder später. (\url{http://www.latex-project.org/lppl.txt})

\CMname ruft intern die Pakete \textsf{expl3}, \paket{xparse}, \paket{l3keys2e} und \paket{xfrac} auf, die durch die Bundles \paket{l3kernel} und \paket{l3packages} bereitgestellt werden. \paket{expl3} ist Teil des \paket{l3kernel}-Bundles und \paket{xparse}, \paket{l3keys2e} und \paket{xfrac} sind Teil des \paket{l3packages}-Bundles.

Weiterhin lädt \CMname die Pakete \paket{siunitx}, \paket{mhchem}, \paket{mathtools} und \paket{environ} sowie \TikZ (\paket{pgf}) und die TikZlibraries \code{calc} und \code{arrows}.

Für die Paketoption \code{bpchem} (Abschnitt \ref{sec:optionen}) wird zusätzlich \paket{bpchem} benötigt und für die Option \code{xspace} das Paket \paket{xspace}.

\section{Paket-Optionen}\label{sec:optionen}
\CMname hat mehrere Paketoptionen.\marginnote{Dieses Dokument verwendet \CMname mit folgenden Optionen: \cmd{usepackage\oa{xspace,german} \ma{chemmacros}}}\marginnote[\baselineskip]{\code{bpchem = false} \NMR;\\\code{bpchem = true} {\chemsetup[option]{bpchem}\NMR};}\marginnote[\baselineskip]{\code{circled = none} {\chemsetup[option]{circled=none}\mch\ \pch\ \fmch\ \fpch}\\\code{circled = formal, circletype = chem} {\chemsetup[option]{circled}\mch\ \pch\ \fmch\ \fpch}\\\code{circled = all, circletype = chem} {\chemsetup[option]{circled=all,circletype=chem}\mch\ \pch\ \fmch\ \fpch}\\\code{circled = formal, circletype = math} {\chemsetup[option]{circled,circletype=math}\mch\ \pch\ \fmch\ \fpch}\\\code{circled = all, circletype = math} {\chemsetup[option]{circled=all,circletype=math}\mch\ \pch\ \fmch\ \fpch}} Sie alle können nach dem Schlüssel/Wert-Prinzip auf die Art \cmd{usepackage\oa{option1 = <value1>, option2 = <value2>}\ma{chemmacros}} angegeben werden. Manche können auch ohne Wert aufgerufen werden (\cmd{usepackage\oa{option1, option2}\ma{chemmacros}}). Sie entsprechen dann dem \uline{unterstrichenen} Wert.
\begin{description}
 \item[\code{bpchem = \uline{true}/false>}] Durch diese Option wird zum einen das Paket \paket{bpchem} geladen und zum anderen das Aussehen des \cmd{NMR}-Befehls dem der \paket{bpchem}-Befehle \cmd{HNMR} und \cmd{CNMR} angepasst. (Default: \code{false})\label{key:option_bpchem}
 %
 \item[\code{circled = \uline{formal}/all/none}] \CMname verwendet zwei verschiedene Formen von Ladungen\footnote{Dank an Christoph Schäfer, der mich auf die unpräzise Behandlung der Ladungen in v1.1 hinwies!}, die den Gebrauch von realen ($+/-$ ) und formalen (\fplus/\fminus) Ladungen wiederspiegeln sollen. Mit der Option \code{formal} unterscheidet \CMname zwischen ihnen, mit der Option \code{none} werden sie alle ohne Umkreisung dargestellt, mit \code{all}, werden alle umkreist. (Default: \code{formal})\label{key:option_circled}
 %
 \item[\code{circletype = \uline{chem}/math}] Diese Option schaltet zwischen zwei Darstellungsformen der umkreisten Ladungen hin und her: \cmd{fplus} \fplus\ und \code{\$\cmd{oplus}\$} $\oplus$. (Default: \code{chem})\label{key:option_circletype}
 %
 \item[\code{EZ = \uline{chemmacros}/cool}] Der Befehl \cmd{E} wird sowohl durch das Paket \paket{cool} als auch \CMname definiert. Mit der Option \code{EZ = cool} wird er durch \CMname nicht definiert und stattdessen ein anderer Name verwendet, siehe Seite \pageref{EZ}. (Default: \code{chemmacros})\label{key:option_EZ}
 %
 \item[\code{german = \uline{true}/false}]\marginnote{\code{german = false} {\chemsetup[option]{german=false}\pKa, \sld, \lqd}\\\code{german = true} \pKa, \sld, \lqd} Die Option ändert die Befehle \cmd{pKa}, \cmd{sld} und \cmd{lqd} (Default: \code{false})\label{key:option_german}
 %
 \item[\code{version = 1/2}] Die Option lädt die alte Definition einiger Befehle, damit Dokumente, die mit v1.* gesetzt wurden, nicht überarbeitet werden müssen. Im Rand wird bei den entsprechenden Befehlen mit neuer Syntax darauf hingewiesen. (Default: \code{2})\label{key:option_version}
 %
 \item[\code{xspace = \uline{true}/false}] Mit der Option bekommen die meisten Befehle ein \cmd{xspace} angehängt. (Default: \code{true})\label{key:option_xspace}
\end{description}

\section{Setup}
Eine ganze Reihe von Befehlen haben Schlüssel/Wert-Paare erhalten, mit denen sie angepasst werden können. In der Regel können diese als Argument der Befehle direkt verwendet werden. Genauso können sie aber in der Regel durch den Befehl \cmd{chemsetup} gesetzt werden.
\begin{framed}
 \cmd{chemsetup\oa{<module>}\ma{<key> = <value>}} oder \\
 \cmd{chemsetup\ma{<module>/<key> = <value>}}
\end{framed}
Die Schlüssel\Key[<default>][<module>]{<key>}{<value>} gehören jeweils einem Modul an, das bestimmt, für welche Befehle sie gelten. Wenn ein Schlüssel vorgestellt wird, können Sie im Rand die Eigenschaften sehen. Sie haben zwei Mög\-lich\-kei\-ten, die Schlüssel mit dem \cmd{chemsetup}-Befehl aufzurufen, wie im Kasten zu sehen.

Die Paketoptionen sind ebenso als Schlüssel mit \cmd{chemsetup} setzbar. Sie gehören dem Modul \code{option} an.
\begin{LTXexample}[pos=b]
 \chemsetup[option]{circled=none}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\
 \chemsetup[option]{circled=formal}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\
 \chemsetup[option]{circletype=math}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\
 \chemsetup{option/circletype=chem,option/circled=all}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \\
 \chemsetup{option/circletype=math}\mch\ \pch\ \fmch\ \fpch\ \el\ \prt
\end{LTXexample}
Schlüssel, die \emph{keinem} Modul angehören, können \emph{nicht} mit \cmd{chemsetup} gesetzt werden.

\section{Teilchen, Ionen und Symbole}\label{sec:teilchen}
Eine Reihe einfacher Makros, um häufig gebrauchte Teilchen sowie ein Symbol darzustellen. Beachten Sie, dass die Darstellung von den verwendeten Paketoptionen abhängt, siehe Abschnitt \ref{sec:optionen}.\marginnote{Diese Befehle sind sowohl im Text- wie im Mathematikmodus einsetzbar.}
\begin{itemize}
 \item\cmd{Hpl} \Hpl (Proton)
 \item\cmd{Hyd} \Hyd (Hydroxid)
 \item\cmd{HtO} \HtO (Oxonium) (\textbf{H} \textbf{t}hree \textbf{O})
 \item\cmd{water} \water
 \item\cmd{el} \el (Elektron)
 \item\cmd{prt} \prt (Proton)
 \item\cmd{ntr} \ntr (Neutron)
 \item\cmd{Nu} \Nu (Nucleophil)
 \item\cmd{El} \El (Elektrophil)
 \item\cmd{ba} \ba (Base)
 \item\cmd{fplus} \fplus
 \item\cmd{fminus} \fminus
 \item\cmd{transitionstatesymbol} \transitionstatesymbol\ Über\-gangs\-zu\-stands\-symbol (verwendet \TikZ)
 \item\cmd{standardstate} \standardstate. Dieses Symbol wird durch \CMname bereitgestellt, falls das Paket \paket{chemstyle} nicht geladen wird, bei dem die Idee ausgeliehen wurde\footnote{Dank an den Paketautoren \href{http://www.texdev.net/}{Joseph Wright}.}.
\end{itemize}
Daneben gibt es noch einen weiteren Befehl, mit dem Radikale mit Ladungen und Index geschrieben werden können.
\begin{framed}
 \cmd{R\oa{<sign>}\ma{<subscript>}}
\end{framed}
\begin{LTXexample}
 \R[+]{tert} \R[-]{sek} \R{prim}
\end{LTXexample}
Die beiden Teilchen \cmd{Nu} und \cmd{ba} können modifiziert werden. Dafür gibt es den Schlüssel \code{elpair}\Key[false][particle]{elpair}{false/\uline{dots}/dash}. Dieser Schlüssel hat nur Auswirkungen, wenn das Paket \paket{chemfig} geladen wurde, da er dessen Befehl \cmd{Lewis} verwendet.
\begin{LTXexample}
 \documentclass{article}
 \usepackage{chemmacros,chemfig}
 \begin{document}
  \ba[elpair] \Nu[elpair=dash]
 \end{document}
\end{LTXexample}
\begin{LTXexample}
 \documentclass{article}
 \usepackage{chemmacros,chemfig}
 \begin{document}
  \chemsetup[particle]{elpair}
  \ba \Nu
 \end{document}
\end{LTXexample}

\section{Stereo-Deskriptoren, Nomenklatur, lateinische Aus\-drücke}\label{sec:stereo}
\subsection{Stereo-Deskriptoren und Nomenklatur}
Die folgenden Makros sollen das Schreiben von IUPAC-Namen etwas erleichtern:
\begin{itemize}
 \item Cahn-Ingold-Prelog:
 \begin{framed}
  \cmd{Rcip} \Rcip \\
  \cmd{Scip} \Scip \\
  \cmd{cip\ma{<conf>}} \zB: \cmd{cip\ma{R,S}} \cip{R,S}
 \end{framed}
 \item Fischer:
 \begin{framed}
  \cmd{Dfi} \Dfi \\
  \cmd{Lfi} \Lfi
 \end{framed}
 \item cis/trans und zusammen/entgegen:\marginnote{Bitte beachten Sie, dass die beiden Befehle \cmd{cis} und \cmd{trans} auch durch das \paket{bpchem}-Paket definiert werden. Falls Sie das Paket laden, werden sie durch \CMname umdefiniert. Bei \paket{bpchem} haben sie \textit{immer} ein angehängtes \cmd{xspace}, mit \CMname nur mit Option \code{xspace}. Abgesehen davon sind sie identisch.}
 \begin{framed}
  \cmd{Z} \Z\label{EZ} \\
  \cmd{E} \E\ (\cmd{E} wird \zB auch durch das Paket \paket{cool} definiert. Mit der Paketoption \code{EZ = cool} werden statt \cmd{E} und \cmd{Z} die Befehle \cmd{Ent} und \cmd{Zus} definiert.) \\
  \cmd{cis} \cis \\
  \cmd{trans} \trans
 \end{framed}
 \item ortho/meta/para:
 \begin{framed}
  \cmd{ortho} \ortho \\
  \cmd{meta} \meta \\
  \cmd{para} \para
 \end{framed}
\end{itemize}
Anzeigen der absoluten Konfiguration (verwendet \TikZ):
\begin{framed}
 \cmd{Rconf\oa{<letter>}} \cmd{Rconf}: \Rconf \quad\cmd{Rconf\oa{}}: \Rconf[] \\
 \cmd{Sconf\oa{<letter>}} \cmd{Sconf}: \Sconf \quad\cmd{Sconf\oa{}}: \Sconf[]
\end{framed}

Beispiele:\marginnote{Das Aussehen hängt natürlich von gewählten Font ab:\par\cip{2S,3R} \E \Z \Dfi \Lfi\par\fontfamily{ptm}\selectfont\cip{2S,3R} \E \Z \Dfi \Lfi\par\fontfamily{ppl}\selectfont\cip{2S,3R} \E \Z \Dfi \Lfi}
\begin{LTXexample}[pos=b]
 \Dfi-Weins\"aure = \cip{2S,3S}-Weins\"aure  \\
 \Dfi-($-$)-Threose = \cip{2S,3R}-($-$)-2,3,4-Trihydroxybutanal \\
 \cis-2-Buten = \Z-2-Butene, \cip{2E,4Z}-Hexadiene \\
 \meta-Xylol = 1,3-Dimethylbenzene \\
 % mit `bpchem's Befehl \IUPAC:
 \IUPAC{\Dfi\-Wein\|s\"aure} = \IUPAC{\cip{2S,3S}\-Wein\|s\"aure}, \IUPAC{\Dfi\-($-$)\-Threose} = \IUPAC{\cip{2S,3R}\-($-$)\-2,3,4\-Tri\|hydroxy\|butanal}
\end{LTXexample}

\subsection{Lateinische Ausdrücke}
Zuletzt gibt es noch zwei Befehle für gebräuchliche lateinische Ausdrücke.
\begin{framed}
 \cmd{insitu} \insitu \\
 \cmd{abinitio} \abinitio
\end{framed}
Falls ebenfalls das Paket \paket{chemstyle} geladen wurde\footnote{\paket{chemstyle} definiert weitere ähnliche Befehle wie \etal, \invacuo.}, wird für die Definition der \paket{chemstyle}-Befehl \cmd{latin} verwendet. Das bedeutet, dass das Schriftbild dann durch die \paket{chemstyle}-Einstellung \code{abbremph} beeinflusst wird:
\begin{LTXexample}
 \insitu, \abinitio\\
 \cstsetup{abbremph=false}
 \insitu, \abinitio
\end{LTXexample}
Falls \paket{chemstyle} nicht geladen wurde, werden sie \textit{kursiv} gesetzt.

\section{Einheiten für \textsf{siunitx}}\label{sec:einheiten}
Manche nicht-SI-Einheiten sind in der Chemie sehr gebräuchlich. \paket{siunitx} bietet den Befehl \cmd{DeclareSIUnit\ma{<command>}\ma{<unit>}}, mit dem man beliebige Einheiten definieren kann. \CMname stellt einige damit definierte Einheiten zur Verfügung. Wie alle \paket{siunitx}-Einheiten sind sie nur innerhalb von \cmd{SI\ma{<num>}\ma{<unit>}} und \cmd{si\ma{<unit>}} definiert.
\begin{itemize}
 \item\cmd{atmosphere} \si{\atmosphere}
 \item\cmd{atm} \si{\atm}
 \item\cmd{calory} \si{\calory}
 \item\cmd{cal} \si{\cal}
 \item\cmd{cmc} \si{\cmc}\marginnote{Die Einheiten \cmd{cmc}, \cmd{molar} und \cmd{Molar} werden auch durch \paket{chemstyle} definiert. Sie werden durch \CMname nur definiert, wenn \paket{chemstyle} nicht geladen wird.}
 \item\cmd{molar} \si{\molar}
 \item\cmd{moLar} \si{\moLar}
 \item\cmd{Molar} \si{\Molar}
 \item\cmd{MolMass} \si{\MolMass}
 \item\cmd{normal} \si{\normal}
 \item\cmd{torr} \si{\torr}
\end{itemize}
\marginnote[-3\baselineskip]{Übrigens: \cmd{mmHg} \si{\mmHg} ist durch \paket{siunitx} und \paket{chemstyle} bereits definiert.}

\section{Säure/Base}\label{sec:saeure_base}
Einfache Darstellung von \pH, \pKa \ldots\marginnote{Diese Befehle sind sowohl im Text- wie im Mathematikmodus und im \cmd{ce}-Befehl von \paket{mhchem} einsetzbar. Der Befehl \cmd{pKa} hängt von der Paketoption \code{german} ab, siehe Abschnitt \ref{sec:optionen}.}
\begin{framed}
 \cmd{pH} \pH \\
 \cmd{pOH} \pOH \\
 \cmd{pKa\oa{<num>}} \cmd{pKa} \pKa, \cmd{pKa\oa{1}} \pKa[1] \\
 \cmd{pKb\oa{<num>}} \cmd{pKb} \pKb, \cmd{pKb\oa{1}} \pKb[1] \\
 \cmd{p\ma{<anything>}} \zB \cmd{p\ma{K\_w}} \p{K_w}
\end{framed}
\begin{LTXexample}
 \pKa \pKa[1] \pKb \pKb[1]\\
 \chemsetup[option]{german=false}
 \pKa \pKa[1] \pKb \pKb[1]
\end{LTXexample}

\section{Oxidationszahlen, formale und echte Ladungen}\label{sec:ladungen}
\CMname unterscheidet zwischen realen ($+$/$-$) und formalen (\fplus/\fminus) Ladungssymbolen, siehe auch Abschnitt \ref{sec:optionen}. Alle Befehle für formale Symbole beginnen mit einem \code{f}.
\subsection{Ladungen}\label{ssec:ionen}
Einfaches Darstellen von (echten) Ladungen:
\begin{framed}
 \cmd{pch\oa{<number>}} positive Ladung (\textbf{p}lus + \textbf{ch}arge) \\
 \cmd{mch\oa{<number>}} negative Ladung (\textbf{m}inus + \textbf{ch}arge)
\end{framed}
\begin{LTXexample}
 \pch, Na\pch, Ca\pch[2]\\
 \mch, F\mch, S\mch[2]
\end{LTXexample}

Entsprechendes Darstellen von formalen Ladungen:
\begin{framed}
 \cmd{fpch\oa{<number>}} positive Ladung\\
 \cmd{fmch\oa{<number>}} negative Ladung
\end{framed}
\begin{LTXexample}
 \fpch\ \fmch\ \fpch[3] \fmch[3]
\end{LTXexample}

Es gibt einen Schlüssel, der das Verhalten der Ladungen beeinflusst\Key[false][charges]{append}{\uline{true}/false}.
\begin{itemize}
 \item\code{append = \uline{true}/false} hängt bei \code{true} die Ladung mit einer leeren Gruppe an. 
\end{itemize}
Der Schlüssel hat folgende Auswirkung:
\begin{LTXexample}
 \chemsetup[charges]{append=false}
 \ce{H\pch\aq} \ce{H\aq\pch}

 \chemsetup[charges]{append=true}
 \ce{H\pch\aq} \ce{H\aq\pch}
\end{LTXexample}
Auch wenn das Verhalten meistens unerwünscht sein mag, gibt es Fälle, in denen es sinnvoll sein kann, etwa in Kombination mit dem im nächsten Abschnitt besprochenen \cmd{ox}-Befehl:
\begin{LTXexample}
 \chemsetup[charges]{append=false}
 \ce{\ox{1,H}\pch\aq}

 \chemsetup[charges]{append=true}
 \ce{\ox{1,H}\pch\aq}
\end{LTXexample}

\subsection{Oxidationszahlen}\label{ssec:oxidationszahlen}
Setzen von Oxidationszahlen:\changed{ox}
\begin{framed}
 \cmd{ox\oa{<keyval>}\ma{<number>,<atom>}} setzt \code{<number>} über \code{<atom>}\\
 {\small\code{<number>} muss eine (rationale) Zahl sein!}
\end{framed}
\begin{LTXexample}
 \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ox{-1,F}
\end{LTXexample}

Es gibt eine Reihe von Schlüssel/Wert-Paaren, die eingesetzt werden können, um den \cmd{ox}-Befehl zu modifizieren.\Key[true][ox]{parse}{\uline{true}/false}\Key[true][ox]{roman}{\uline{true}/false}\Key[top][ox]{pos}{top/super/side}\Key[false][ox]{explicit-sign}{\uline{true}/false}\Key[point][ox]{decimal-marker}{comma/point}
\begin{itemize}
 \item\code{parse = \uline{true}/false} ermöglicht bei \code{false} eine beliebige Eingabe für \code{<number>}.
 \item\code{roman = \uline{true}/false} wechselt die Darstellung von römischen zu arabischen Ziffern.
 \item\code{pos = top/super/side} schreibt bei \code{top} \code{<number>} über \code{<atom>}, bei \code{super} rechts oben an \code{<atom>} und bei \code{side} rechts neben \code{<atom>} in Klammern.
 \item\code{explicit-sign = \uline{true}/false} gibt auch bei Eingabe ohne Vorzeichen ein $+$ aus.
 \item\code{decimal-marker = comma/point} Auswahl des Dezimalzeichens für formale Oxidationszahlen wie \ox{1.2,X}.
\end{itemize}
\begin{LTXexample}
 \ox[roman=false]{2,Ca} \ox{2,Ca} \\
 \ox[pos=super]{3,Fe}-Oxid \\
 \ox[pos=side]{3,Fe}-Oxid \\
 \ox[parse=false]{\textcolor{red}{?},Mn}
\end{LTXexample}
Für die \code{pos=super}-Variante existiert noch der Shortcut \cmd{ox*}:
\begin{LTXexample}
 \ox{3,Fe} \ox*{3,Fe}
\end{LTXexample}
Durch die Verwendung des \code{explicit-sign}-Schlüssels wird das Vorzeichen der Oxidationszahl immer angezeigt:
\begin{LTXexample}
 \chemsetup[ox]{explicit-sign = true}
 \ox{+1,Na}, \ox{2,Ca}, \ox{-2,S}, \ox{0,F2}
\end{LTXexample}
Im letzten Beispiel haben Sie gesehen, dass \code{<atom>} intern \paket{mhchem}s \cmd{ce}-Befehl gesetzt wird. Allerdings liefert es nicht immer die besten Ergebnisse, diese Tatsache auszunutzen.
\begin{LTXexample}[pos=b]
 Vergleichen Sie \ox{-1,O2^{2-}} mit \ce{\ox{-1,O}{}_2 \mch[2]} oder \ce{\ox{-1,O}{}_2^{2-}}.
\end{LTXexample}
Manchmal benötigt man vielleicht formal gebrochene Oxidationszahlen wie \num{.5} oder $\frac{1}{3}$. Das ist möglich:
\begin{LTXexample}[pos=b]
 \ox{.5,Br2+} \ox{1/3,I3+} \ce{\ox{.5,Br}{}_2^+} \ce{\ox{1/3,I}{}_3^+}
\end{LTXexample}

\subsection{Partialladungen und Ähnliches}\label{ssec:partialladungen}
Vielleicht selten gebraucht, nichtsdestoweniger nützlich:
\begin{framed}
 \cmd{delp} \delp\ (\textbf{del}ta + \textbf{p}lus) \\
 \cmd{delm} \delm\ (\textbf{del}ta + \textbf{m}inus) \\
 \cmd{fdelp} \fdelp \\
 \cmd{fdelm} \fdelm
\end{framed}
Diese Makros können zum Beispiel mit dem \cmd{ox}-Befehl eingesetzt werden oder zusammen mit dem Paket \paket{chemfig}:
\begin{LTXexample}[pos=b]
 \chemsetup{
   option/circled = all,
   ox/parse       = false
 }
 \ox{\delp,H}\ox{\delm,Cl} \hspace*{1cm}
 \chemfig{\chemabove[3pt]{\lewis{246,Br}}{\delm}-\chemabove[3pt]{H}{\delp}}
\end{LTXexample}

Auch die folgenden Makros sind \va beim Einsatz mit \paket{chemfig} nützlich.
\begin{framed}
 \cmd{scrp} \scrp (\textbf{scr}iptstyle + \textbf{p}lus) \\
 \cmd{scrm} \scrm (\textbf{scr}iptstyle + \textbf{m}inus) \\
 \cmd{fscrp} \fscrp \\
 \cmd{fscrm} \fscrm \\
 \cmd{fsscrp} \fsscrp (im \cmd{scriptscriptstyle})\\
 \cmd{fsscrm} \fsscrm
\end{framed}
\begin{LTXexample}[pos=b,rframe=]
 \setatomsep{1.8em}\chemfig{CH_3-\chemabove{C}{\scrp}(-[6]C|H_3)-\vphantom{H_3}CH_3}
 
 \chemfig{\fmch{}|O-\chemabove{N}{\fscrp}(-[1]O|\fmch)-[7]O|\fmch}
\end{LTXexample}

\section{Reaktionsmechanismen}\label{sec:mechanismen}
Der Befehl\marginnote{Dieser Befehl ist auch in Mathematikumgebungen und im \cmd{ce}-Befehl von \paket{mhchem} einsetzbar.}
\begin{framed}
 \cmd{mech\oa{<type>}}
\end{framed}
erlaubt die Angabe der verbreitetsten Reaktionsmechanismen. \code{<type>} kann verschiedene Werte annehmen:
\begin{itemize}
 \item\cmd{mech} (leer, kein opt. Argument) nukleophile Substitution \mech
 \item\cmd{mech\oa{1}} unimolekulare nukleophile Substitution \mech[1]
 \item\cmd{mech\oa{2}} bimolekulare nukleophile Substitution \mech[2]
 \item\cmd{mech\oa{se}} elektrophile Substitution \mech[se]
 \item\cmd{mech\oa{1e}} unimolekulare elektrophile Substitution \mech[1e]
 \item\cmd{mech\oa{2e}} bimolekulare elektrophile Substitution \mech[2e]
 \item\cmd{mech\oa{ar}} elektrophile Substitution am Aromaten \mech[ar]
 \item\cmd{mech\oa{e}} Eliminierung \mech[e]
 \item\cmd{mech\oa{e1}} unimolekulare Eliminierung \mech[e1]
 \item\cmd{mech\oa{e2}} bimolekulare Eliminierung \mech[e2]
 \item\cmd{mech\oa{cb}} unimolekulare Eliminierung "`conjugated base"', also über Carbanion als Zwischenstufe \mech[cb]
\end{itemize}

\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 Elek\-tro\-nen\-ü\-ber\-tra\-gungen bei Redoxreaktionen angezeigt werden können. Die Befehle verwenden \TikZ.
\begin{framed}
 \cmd{OX\ma{<name>,<atom>}}\\
 \cmd{redox\da{<name1>,<name2>}\oa{<tikz>}\oa{<num>}\ma{<text>}}
\end{framed}
Mit \cmd{OX} wird ein \code{<atom>} in eine Node geschrieben, die den Namen \code{<name>} bekommt. Hat man zwei \cmd{OX} gesetzt, können Sie durch \cmd{redox} mit einer Linie verbunden werden. Dazu werden die Namen der zu verbindenen Nodes in die Runden Klammern geschrieben. Da \cmd{redox} ein \TikZ{}picture mit den Optionen \code{remember picture,overlay} zeichnet, muss das Dokument \emph{mindestens zweimal kompiliert} werden.
\begin{LTXexample}[rframe=]
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b){oxidation}
\end{LTXexample}
Die Linie kann mit dem Argument \oa{<tikz>} mit \TikZ-Keys angepasst werden:
\begin{LTXexample}[rframe=]
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
\end{LTXexample}
Mit dem Argument \oa{<num>} kann die Länge der vertikalen Linie festgelegt werden. Diese ist per Default \code{.6em} lang. Diese Default-Länge wird mit \code{<num>} multipliziert. Gibt man hier einen negativen Wert an, wird die Linie \emph{unterhalb} des Textes geschrieben.
\begin{LTXexample}[rframe=]
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch
 \redox(a,b)[->,red]{ox}
 \redox(a,b)[<-,blue][-1]{red}
\end{LTXexample}
Die Default-Länge kann mit der Schlüssel\Key[.6em][redox]{dist}{<dim>} \code{dist} geändert werden.
\begin{LTXexample}[rframe=]
 \chemsetup{redox/dist=1em}
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
\end{LTXexample}
Zusätzlich kann mit dem Key\Key[.2em][redox]{sep}{<dim>} \code{sep} der Abstand zwischen Linienbeginn und Atom geändert werden.
\begin{LTXexample}[rframe=]
 \chemsetup{redox/sep=.5em}
 \OX{a,Na} $\rightarrow$ \OX{b,Na}\pch\redox(a,b)[->,red]{ox}
\end{LTXexample}

Beispiele:
\begin{LTXexample}[rframe=]
 \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)[][-1]{\small RED: $+ 2\el$}
\end{LTXexample}
\begin{LTXexample}[rframe=]
 \chemsetup[charges]{append}
 \ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+1,Na}}\pch + 2 \OX{r2,\ox{-1,Cl}}\mch }
 \redox(o1,o2){\small OX: $- 2\el$}
 \redox(r1,r2)[][-1]{\small RED: $+ 2\el$}
\end{LTXexample}
\begin{LTXexample}[rframe=]
 \chemsetup[charges]{append}
 \ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+1,Na}}\pch + 2 \OX{r2,\ox{-1,Cl}}\mch }
 \redox(o1,o2)[draw=red,->][3.33]{\small OX: $- 2\el$}
 \redox(r1,r2)[draw=blue,->]{\small RED: $+ 2\el$}
 \end{LTXexample}
\begin{LTXexample}[rframe=]
 \chemsetup[charges]{append}
 \ce{ 2 \OX{o1,\ox{0,Na}} + \OX{r1,\ox{0,Cl2}} -> 2 \OX{o2,\ox{+1,Na}}\pch + 2 \OX{r2,\ox{-1,Cl}}\mch }
 \redox(o1,o2)[green,-stealth]{\small OX: $- 2\el$}
 \redox(r1,r2)[purple,-stealth][-1]{\small RED: $+ 2\el$}
\end{LTXexample}

In v1.1 gab es noch den Befehl \cmd{setredoxdist\ma{<dim>}}\formercmd{setredoxdist\ma{<dim>}}. Mit Laden der Paketoption \code{version=1} wird er bereitgestellt.

\newpage
\section{(Standard) Zustand, Thermodynamik}\label{sec:standardstate}
\subsection{Thermodynamische Größen}\label{ssec:siunitx}
Die folgenden Befehle verwenden \paket{siunitx}:\changed{Enthalpy}\changed{Entropy}\changed{Gibbs}
\begin{framed}
 \cmd{Enthalpy\oa{<keyval>}\da{<subscript>}\ma{<value>}} \\
 \cmd{Entropy\oa{<keyval>}\da{<subscript>}\ma{<value>}} \\
 \cmd{Gibbs\oa{<keyval>}\da{<subscript>}\ma{<value>}}
\end{framed}
Ihr Einsatz ist eigentlich selbsterklärend:
\begin{LTXexample}
  \Enthalpy{123} \\
  \Entropy{123} \\
  \Gibbs{123}
\end{LTXexample}
Das Argument \da{<subscript>} fügt ein Subskript zur Spezifikation hinzu: \cmd{Enthalpy\da{r}\ma{123}} \Enthalpy(r){123}.

Mit mehreren Schlüsseln kann das Erscheinungsbild angepasst werden.\Key[\cmd{standardstate}](thermo){exponent}{<anything>}\Key(thermo){delta}{<anything>/false}\Key(thermo){subscript}{left/right}\Key(thermo){unit}{<unit>}
\begin{itemize}
 \item\code{exponent = <anything>}
 \item\code{delta = <anything>/false}
 \item\code{subscript = left/right}
 \item\code{unit = <unit>}
\end{itemize}
Die Default-Einstellungen sind je nach Befehl unterschiedlich.
\begin{LTXexample}
 \Enthalpy[unit=\kilo\joule]{-285} \\
 \Gibbs[delta=false]{0} \\
 \Entropy[delta=\Delta,exponent=]{56.7}
\end{LTXexample}
Die Einheit wird jeweils entsprechend der Regeln von \paket{siunitx} gesetzt und hängt von den dort gewählten Optionen ab.
\begin{LTXexample}[pos=b]
 \Enthalpy{-1234.56e3} \\
 \sisetup{per-mode=symbol,exponent-product=\cdot,output-decimal-marker={,},group-four-digits=true}
 \Enthalpy{-1234.56e3}
\end{LTXexample}

\newpage
\subsubsection{Neue Größen definieren}
Mit dem Befehl\changed{setnewstate}
\begin{framed}
 \cmd{setnewstate\oa{<keyval>}\ma{<name>}\ma{<symbol>}\ma{<unit>}}
\end{framed}
können Sie auch neue entsprechende Befehle festlegen:\Key[\cmd{standardstate}](newstate){exponent}{<anything>}\Key[\cmd{Delta}](newstate){delta}{<anything>/false}\Key[true](newstate){subscript-left}{true/false}\Key(newstate){subscript}{<anything>}
\begin{LTXexample}
 \setnewstate{Helmholtz}{A}{\kilo\joule\per\mole}
 \setnewstate[subscript-left=false,exponent=]{ElPot}{E}{\volt}
 \Helmholtz{123.4} \\
 \ElPot{-1.1} \\
 \ElPot[exponent=0]($\ce{Sn}|\ce{Sn \pch[2]}||\ce{Pb \pch[2]}|\ce{Pb}$){0.01}
\end{LTXexample}

Der Befehl hat einige Schlüssel, mit denen die Default-Einstellungen des neuen Befehls festgelegt werden können.
\begin{itemize}
 \item\code{exponent = <anything>}
 \item\code{delta = <anything>/false}
 \item\code{subscript-left = true/false}
 \item\code{subscript = <anything>}
\end{itemize}

\subsubsection{Größen umdefinieren}
Mit\changed{renewstate}
\begin{framed}
 \cmd{renewstate\oa{<keyval>}\ma{<name>}\ma{<symbol>}\ma{<unit>}}
\end{framed}
können Sie die vordefinierten Befehle überschreiben:
\begin{LTXexample}
 \renewstate{Enthalpy}{h}{\joule}
 \Enthalpy(f){12.5}
\end{LTXexample}
Der Befehl verhält sich absolut analog zu \cmd{setnewstate}, \dh er hat die gleichen Schlüssel.

Um thermodynamischen Konventionen zu folgen, könnte man nun eine molare und eine absolute Größe definieren:
\begin{LTXexample}
 \setnewstate[exponent=]{enthalpy}{h}{\kilo\joule\per\mole}% molar
 \renewstate[exponent=]{Enthalpy}{H}{\kilo\joule}% absolut
 \enthalpy{-12.3} \Enthalpy{-12.3}
\end{LTXexample}

\subsection{State}\label{ssec:state}
Die in Abschnitt \ref{ssec:siunitx} vorgestellten Befehle verwenden intern alle den Befehl\marginnote{Beachten Sie, dass \ma{<subscript>} ein \emph{optionales} Argument ist.}\changed{State}
\begin{framed}
 \cmd{State\oa{<keyval>}\ma{<symbol>}\ma{<subscript>}}
\end{framed}
Mit diesem Befehl können die thermodynamischen Größen auch ohne Zahl und Einheit angegeben werden.

Beispiele:\Key[\cmd{standardstate}][state](state){exponent}{<anything>}\Key[true][state](state){subscript-left}{true/false}\Key[\cmd{Delta}][state](state){delta}{<anything>/false}
\begin{LTXexample}
 \State{A}, \State{G}{f}, \State[subscript-left=false]{E}{\ce{Na}}, \State[exponent=\SI{1000}{\celsius}]{H}
\end{LTXexample}

Wieder gibt es eine Reihe Schlüssel, mit denen das Erscheinungsbild angepasst werden kann:
\begin{itemize}
 \item\code{exponent = <anything>}
 \item\code{subscript-left = true/false}
 \item\code{delta = <anything>/false}
\end{itemize}

In v1.1 gab es noch den Befehl \cmd{setstatesubscript\ma{<subscript pos>}}\formercmd{setstatesubscript\ma{<subscript pos>}}. Mit Laden der Paketoption \code{version=1} wird er bereitgestellt.

\newpage
\section{Spektroskopie}\label{sec:spektroskopie}
Wenn Substanzen darauf untersucht werden, ob sie sind, was sie sein wollen, kommt man in der Regel um die NMR-Spektroskopie nicht herum. Dabei werden die Messergebnisse oft in der Form \NMR(400)[CDCl3] = \num{1.59} (q, 1\ce{H}, \textit{J} = \SI{11.6}{\hertz}, \ce{H}-4)\ldots\ angegeben. \CMname stellt einen Befehl zur Verfügung, der diese Angaben vereinfachen soll (verwendet \paket{siunitx}).
\begin{framed}
 \cmd{NMR\ma{<num>,<elem>}\da{<num>,<unit>}\oa{<solvent>}} \\
 \cmd{NMR*\ma{<num>,<elem>}\da{<num>,<unit>}\oa{<solvent>}}
\end{framed}
\emph{Alle} Argumente dieses Befehls sind optional.\marginnote[\baselineskip]{Wenn Sie wollen, dass das Erscheinungsbild mit dem von \paket{bpchem} übereinstimmt (\vgl \paket{bpchem}-Befehl \cmd{HNMR} \HNMR und \CMname-Befehl \cmd{NMR} \NMR), dann verwenden Sie die Paketoption \code{bpchem} (siehe Abschnitt \ref{sec:optionen}).}\marginnote[\baselineskip]{Alle Argumente können beliebig kombiniert werden, der Befehl kann außerdem auch im Mathematikmodus verwendet werden.}
\begin{LTXexample}
 \NMR \\
 \NMR*
\end{LTXexample}
Mit dem ersten Argument lässt die die Art der NMR ändern:
\begin{LTXexample}
 \NMR{13,C}
\end{LTXexample}
Mit dem zweiten Argument kann die bei der Messung verwendete Frequenz (in \si{\mega\hertz}) angegeben werden:
\begin{LTXexample}
 \NMR(400)
\end{LTXexample}
Die verwendete Einheit kann durch explizite Angabe geändert werden:
\begin{LTXexample}
 \NMR(4e8,\hertz)
\end{LTXexample}
Das Setup von \paket{siunitx} wirkt sich ebenfalls auf diesen Befehl aus:
\begin{LTXexample}
 \sisetup{exponent-product=\cdot}\NMR(4e8,\hertz)
\end{LTXexample}
Mit dem dritten Argument schließlich kann der verwendete Standard spezifiziert werden:
\begin{LTXexample}
 \NMR[CDCl3]
\end{LTXexample}

Mit den Schlüsseln \code{unit}\Key[\cmd{mega}\cmd{hertz}][nmr]{unit}{<unit>} und \code{nucleus}\Key[\ma{1,H}][nmr]{nucleus}{\ma{<num>,<elem>}} können Default-Einheit und Default-Kern geändert werden.

Beispiele:
\begin{LTXexample}
 {\chemsetup[nmr]{nucleus={13,C}}\NMR(100) \NMR*(100) } \\
 \NMR*{19,F}[CFCl3] \NMR*{19,F}(285)[CFCl3] \\
 \NMR(400)[CDCl3] = \num{1.59} (q, 1H, \textit{J} = \SI{11.6}{\hertz}, H-4)
\end{LTXexample}

\section{Befehle für \textsf{mhchem}}\label{sec:mhchem}
Ab v2.0 lädt \CMname \paket{mhchem} automatisch.

Bevor nun die Befehle beschrieben werden einige Worte zur Verwendung von Befehlen innerhalb der \cmd{ce}- und \cmd{cee}-Befehle. Wohl aufgrund der Art und Weise, wie die Befehle ausgelesen werden, kann es immer wieder zu Schwierigkeiten kommen, vor allem, wenn Befehle mit Argumenten dort eingesetzt werden.

Häufig müssen zum Beispiel Leerstellen gelassen werden:
\begin{LTXexample}
 \ce{Na\pch}\\     % kein Problem
 \ce{Ca\pch[2]}\\  % falsche Darstellung
 \ce{Ca \pch[2]}\\ % richtige Darstellung
 \ce{Ca$\pch[2]$}  % richtige Darstellung
\end{LTXexample}

In der Regel ist es auch nötig, Argumente mit geschweiften Klammern enden zu lassen:
\begin{LTXexample}
 \ce{\mch OMe}\\   % falsche Darstellung
 \ce{\mch{} OMe}\\ % richtige Darstellung
 \ce{$\mch$OMe}    % richtige Darstellung
\end{LTXexample}

Das betrifft \emph{nicht} nur \CMname-Befehle!
\begin{LTXexample}[pos=b]
 \ce{A \quad B} \ce{Na2\textbf{O}}\\    % falsche Darstellung
 \ce{A \quad{} B} \ce{Na2 \textbf{O}}\\ % richtige Darstellung
 \ce{A $\quad$ B} \ce{Na2 \textbf{O}}   % richtige Darstellung
\end{LTXexample}

Wie Sie sehen können, können Sie in den meisten Fällen anstelle der Leerstellen oder geschweiften Klammern die entsprechenden Befehle zwischen \code{\$ \$} schreiben.

\newpage
\subsection{Reaktionsumgebungen}\label{ssec:mhchem_reaktionen}
\subsubsection{Durch \CMname definiert}
Es stehen die Umgebungen\ldots
\begin{framed}
\cmd{begin\ma{reaction}}\\
   \code{<mhchem code>}\\
\cmd{end\ma{reaction}}\\
\cmd{begin\ma{reactions}}\\
   \code{<mhchem code>}\\
\cmd{end\ma{reactions}}
\end{framed}
\ldots sowie die Varianten\ldots
\begin{framed}
\cmd{begin\ma{reaction*}}\\
   \code{<mhchem code>}\\
\cmd{end\ma{reaction*}}\\
\cmd{begin\ma{reactions*}}\\
   \code{<mhchem code>}\\
\cmd{end\ma{reactions*}}
\end{framed}
\ldots zur Verfügung. Mit ihnen lassen sich (un)nummerierte Reaktionsgleichungen ähnlich mathematischer Formeln erstellen.

Die Umgebung \code{reaction}/\code{reaction*} verwendet die Mathematik-Um\-ge\-bung \code{equation}/\code{equation*} und die Umgebung \code{reactions}/ \code{reactions*} die Mathematik-Umgebung \code{align}/\code{align*}, um die Reaktionen zu setzen.

\begin{LTXexample}[pos=b]
 Reaktion mit Z\"ahler:
 \begin{reaction}
  A -> B
 \end{reaction}
\end{LTXexample}

\begin{LTXexample}[pos=b]
 Reaktion ohne Z\"ahler:
 \begin{reaction*}
  C -> D
 \end{reaction*}
\end{LTXexample}

\begin{LTXexample}[pos=b]
 mehrere ausgerichtete Reaktionen mit Z\"ahler:
 \begin{reactions}
  A     &-> B + C \\
  D + E &-> F
 \end{reactions}
\end{LTXexample}

\begin{LTXexample}[pos=b]
 mehrere ausgerichtete Reaktionen ohne Z\"ahler:
 \begin{reactions*}
  G     &-> H + I \\
  J + K &-> L
 \end{reactions*}
\end{LTXexample}

Wenn Sie das Aussehen des Zählers ändern wollen, so können Sie \cmd{renewtagform\ma{<tagname>}\oa{<format>}\ma{<right delim>}\ma{<left delim>}}\footnote{Durch das Paket \paket{mathtools} zur Verfügung gestellt} verwenden.
\begin{LTXexample}[pos=b]
 \renewtagform{reaction}[R \textbf]{[}{]}
 \begin{reaction}
  H2O + CO2 <<=> H2CO3
 \end{reaction}
\end{LTXexample}
Beachten Sie, dass sich der Name der tagform mit v2.0 geändert hat. In v1.* hieß er \code{CMreaction}. Die Option \code{version=1} stellt den alten Namen wieder her.

\subsubsection{Eigene Reaktionen}
Sie können auch neue Umgebungen selbst festlegen:\changed{newreaction}
\begin{framed}
 \cmd{newreaction\oa{<keyval>}\ma{<name>}\ma{<math name>}}
\end{framed}
Mit \code{<name>} legen Sie den Namen der neuen Umgebung fest. Bei \code{<math name>} wählen Sie die zu verwendende Mathematik-Umgebung aus.

Der Befehl hat zwei Schlüssel. Zum einen \code{star}\Key[false]{star}{true/false}. Damit wird zusätzlich die entsprechende Sternvariante definiert, vorausgesetzt, die gesternte Mathematik-Umgebung existiert. Wenn nicht, wird es einen Fehler geben.

Zum anderen \code{arg}\Key[false]{arg}{true/false}. Damit wird eine Umgebung mit obligatorischem Argument erstellt. Auch hier gilt: die entsprechende Mathematikumgebung muss ein Argument haben.

Die bestehenden Umgebungen sind über\\
\cmd{newreaction\oa{star}\ma{reaction}\ma{equation}} und\\
\cmd{reaction\oa{star}\ma{reactions}{align}}\\
\ldots definiert.

Nehmen wir einmal an, Sie möchten die Ausrichtungsmöglichkeiten der \code{alignat}-Um\-ge\-bung auch für \paket{mhchem}-Reaktionen nutzen. Sie könnten folgendes tun:\\
\cmd{newreaction\oa{star,arg}\ma{reactionsat}\ma{alignat}}

Damit steht nun die Umgebung \code{reactionsat} zur Verfügung.
\begin{LTXexample}[pos=b]
 \newreaction[star,arg]{reactionsat}{alignat}
 \begin{reactionsat}{3}
  A     &-> B     &&-> C     &&-> D \\
  aaaaa &-> bbbbb &&-> ccccc &&-> ddddd
 \end{reactionsat}
 \begin{reactionsat*}{2}
  A     &-> B     & C            &-> D  \\
  aaaaa &-> bbbbb &\quad{} ccccc &-> ddddd
 \end{reactionsat*}
\end{LTXexample}

\subsection{Phasen}\label{ssec:mhchem_phasen}
Folgende Befehle sind für Phasenangaben gedacht. Auch wenn diese Befehle für den Einsatz mit \paket{mhchem} gedacht waren, können sie genauso gut ohne verwendet werden.
\begin{itemize}
 \item\cmd{sld\oa{<anything>}} \sld
 \item\cmd{lqd\oa{<anything>}} \lqd
 \item\cmd{gas} \gas
 \item\cmd{aq} \aq
\end{itemize}
Bitte beachten Sie, dass die Befehle \cmd{solid}\formercmd{solid} und \cmd{liquid}\formercmd{liquid} jetzt \cmd{sld} \bzw \cmd{lqd} heißen.

\begin{LTXexample}[pos=b]
 \ce{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas}\\
 Der Vollst\"andigkeit halber: NaCl\aq.
\end{LTXexample}

Wenn Sie lieber die englischen Bezeichnungen wollen, müssen Sie entweder auf die Paketoption \code{german} (siehe Abschnitt \ref{sec:optionen}) verzichten, die Sprache (temporär) mit \cmd{chemsetup\oa{option}\ma{german=false}} umstellen oder die Buchstaben als Argumente angeben:
\begin{LTXexample}[pos=b]
 {\chemsetup[option]{german=false}
 \ce{C\sld{} + 2 H2O\lqd{} -> CO2\gas{} + 2 H2\gas} }\\
 \ce{C \sld[s] + 2 H2O \lqd[l] -> CO2\gas{} + 2 H2\gas}
\end{LTXexample}

Natürlich ist es egal, welchen Befehl mit Argument Sie verwenden, da beide lediglich ein Subskript mit Klammern erzeugen. \cmd{sld\oa{s}} ist identisch mit \cmd{lqd\oa{s}}.

Auch andere Einsätze sind denkbar:
\begin{LTXexample}
 C\sld[Graphit]
\end{LTXexample}

\subsection{Beschriftungen}\label{ssec:mhchem_beschriftung}
\CMname stellt außerdem einen Befehl zur Verfügung, mit dem Moleküle beschriftet werden können.\changed{mhName}
\begin{framed}
 \cmd{mhName\oa{<keyval>}\ma{<formula>}\ma{<text>}}
\end{framed}
Zum Beispiel:
\begin{LTXexample}[pos=b]
 \ce{4 C2H5Cl + Pb / Na -> \mhName{Pb(C2H5)4}{fr\"uheres Antiklopfmittel} + NaCl}
\end{LTXexample}

Mit einigen Schlüsseln kann \cmd{mhName} angepasst werden.\Key[\cmd{centering}][mhName]{align}{<alignment>}\Key[][mhName]{fontattr}{<commands>}\Key[\cmd{tiny}][mhName]{fontsize}{<fontsize>}\Key[][mhName]{width}{<dim>}
\begin{itemize}
 \item\code{align}
 \item\code{fontattr}
 \item\code{fontsize}
 \item\code{width}
\end{itemize}
\begin{LTXexample}[pos=b]
 \ce{4 C2H5Cl + Pb / Na -> \mhName[fontsize=\footnotesize]{Pb(C2H5)4}{fr\"uheres Antiklopfmittel} + NaCl}\\
 \chemsetup[mhName]{align=\raggedright,fontsize=\small,fontattr=\bfseries\color{red},width=3cm}
 \ce{4 C2H5Cl + Pb / Na -> \mhName{Pb(C2H5)4}{fr\"uheres Antiklopfmittel} + NaCl}
\end{LTXexample}

In v1.1 gab es noch den Befehl \cmd{setmhName\ma{<textattr>}}\formercmd{setmhName\ma{<textattr>}}. Mit Laden der Paketoption \code{version=1} wird er bereitgestellt.

\section{Newman-Projektionen}\label{sec:newman}
\CMname stellt das Makro\changed{newman}
\begin{framed}
 \cmd{newman\oa{<keyval>}\da{<angle>}\ma{<1>,<2>,<3>,<4>,<5>,<6>}}
\end{framed}
zur Verfügung, mit dem sich Newman-Projektionen erstellen lassen (verwendet `\TikZ'). Mit \code{<angle>} lassen sich die hinteren Atome gegen die vorderen (gegen den Uhrzeigersinn) drehen.
\begin{LTXexample}[pos=b]
 \newman{} \newman(170){}
 \newman{1,2,3,4,5,6} \newman{1,2,3} \newman{,,,4,5,6}
\end{LTXexample}

\newpage
Mehrere Schlüssel erlauben das Anpassen des Layouts:\Key[0][newman]{angle}{<angle>}\Key[1][newman]{scale}{<factor>}\Key[][newman]{ring}{<tikz>}\Key[][newman]{atoms}{<tikz>}\Key[][newman]{back-atoms}{<tikz>}
\begin{itemize}
 \item\code{angle = <angle>} Einstellen des Default-Drehwinkels
 \item\code{scale = <factor>} Skalieren der Projektion
 \item\code{ring = <tikz>} Anpassen des Rings mit \TikZ-Keys
 \item\code{atoms = <tikz>} Anpassen der Nodes, in die die Atome gesetzt werden
 \item\code{back-atoms = <tikz>} Eigene Anpassungen für die hinteren Atome
\end{itemize}
\begin{LTXexample}[pos=b]
 \chemsetup[newman]{angle=45} \newman{}
 \newman[scale=.75,ring={draw=blue,fill=blue!20}]{}
\end{LTXexample}
\begin{LTXexample}
 \chemsetup[newman]{atoms={draw=red,fill=red!20,inner sep=2pt,rounded corners}}
 \newman{1,2,3,4,5,6}
\end{LTXexample}
\begin{LTXexample}[pos=b]
 \chemsetup[newman]{
   atoms = {draw=red,fill=red!20,inner sep=2pt,rounded corners},
   back-atoms = {draw=blue,fill=blue!20,inner sep=2pt,rounded corners}
 }
 \newman{1,2,3,4,5,6} \newman(170){1,2,3,4,5,6}
\end{LTXexample}

\newpage
\section{s-, p- und Hybrid-Orbitale}\label{sec:orbitale}
In v1.1 gab es noch die Befehle \cmd{porb\oa{<options>}}\formercmd{porb\oa{<options>}}, \cmd{phorb\oa{<options>}}\formercmd{phorb\oa{<options>}}, \cmd{pxorb}\formercmd{pxorb}, \cmd{pyorb}\formercmd{pyorb} und \cmd{pzorb}\formercmd{pzorb}. Mit Laden der Paketoption \code{version=1} werden sie bereitgestellt.

\CMname stellt folgenden Befehl bereit, mit dem Orbitale dargestellt werden können:
\begin{framed}
 \cmd{orbital\oa{<keyval>}\ma{<type}}
\end{framed}
Als \code{<type>} haben Sie folgende Auswahlmöglichkeiten:
\begin{itemize}
 \item\code{s}
 \item\code{p}
 \item\code{sp}
 \item\code{sp2}
 \item\code{sp3}
\end{itemize}
\begin{LTXexample}[pos=b]
 \orbital{s} \orbital{p} \orbital{sp} \orbital{sp2} \orbital{sp3}
\end{LTXexample}

\newpage
Je nach Typ gibt es verschiedene Keys zur Modifikation:\Key[+][orbital/<type>](orbital){phase}{\uline{+}/-}\Key[1][orbital/<type>](orbital){scale}{<factor>}\Key[black][orbital/<type>](orbital){color}{<color>}\Key[90][orbital/<type>](orbital){angle}{<angle>}\Key[false][orbital/<type>](orbital){half}{\uline{true}/false}
\begin{itemize}
 \item\code{phase = \uline{+}/-} ändert die Phase des Orbitals (alle Typen)
 \item\code{scale = <factor>} ändert die Größe des Orbitals (alle Typen)
 \item\code{color = <color>} ändert die Farbe des Orbitals (alle Typen)
 \item\code{angle = <angle>} dreht die Orbitale mit p-Anteil gegen den Uhrzeigersinn (alle Typen außer \code{s})
 \item\code{half = \uline{true}/false} stellt lediglich ein halbes Orbital dar (nur \code{p})
\end{itemize}
\begin{LTXexample}[pos=b]
 \orbital{s} \orbital[phase=-]{s} 
 \orbital{p} \orbital[phase=-]{p}
 \orbital{sp3} \orbital[phase=-]{sp3}
 
 \orbital[angle=0]{p} \orbital[color=red!50]{p} \orbital[angle=135,scale=1.5]{p} \orbital[half]{p}
\end{LTXexample}

Zusätzlich gibt es zwei Keys, mit denen sich das \TikZ-Verhalten beeinflussen lässt.\Key[false][orbital]{overlay}{\uline{true}/false}\Key[1][orbital]{opacity}{<num>}
\begin{itemize}
 \item\code{overlay = \uline{true}/false} das Orbital "`nimmt keinen Raum ein"'; es wird mit der \TikZ-Option \code{overlay} dargestellt.
 \item\code{opacity = <num>} das Orbital wird durchscheinend; \code{<value>} kann Werte von \code{1} (deckend) bis \code{0} (unsichtbar) haben.
\end{itemize}
\begin{LTXexample}[pos=b]
 \vspace{1cm}\hspace{1cm}
 \chemsetup[orbital]{
   overlay,
   p/color = black!70
 }
 \setbondoffset{0pt}
 \chemfig{?\orbital{p}-[,1.3]{\orbital[phase=-]{p}}-[:30,1.1]\orbital{p}-[:150,.9]{\orbital[phase=-]{p}}-[4,1.3]\orbital{p}-[:-150,1.1]{\orbital[phase=-]{p}}?}
 \vspace{1cm}
\end{LTXexample}
\begin{LTXexample}[pos=b]
 \vspace{2cm}\hspace{2cm}
 \setbondoffset{0pt}
 \chemsetup[orbital]{
   overlay ,
   opacity = .75 ,
   p/scale = 1.6 ,
   s/color = blue!50 ,
   s/scale = 1.6
 }
 \chemfig{\orbital{s}-[:-20]{\orbital[scale=2]{p}}{\orbital[half,angle=0]{p}}{\orbital[angle=170,half]{p}}{\orbital[angle=-150,half]{p}}(-[:-150]\orbital{s})-\orbital{s}}
 \vspace{2cm}
\end{LTXexample}

\section{Schlüssel-Übersicht}
In der folgenden Tabelle sind alle in \CMname vorkommenden Schlüssel aufgelistet. Alle Schlüssel, die einem Modul angehören, können auch mit \cmd{chemsetup\oa{<modul>}\ma{<keyval>}} \bzw\linebreak\cmd{chemsetup\ma{<modul>/<keyval>}} gesetzt werden.

Manche Schlüssel können auch ohne Wert eingesetzt werden. Sie entsprechen dann dem \uline{unterstrichenen} Wert.
\begin{fullwidth}
\begin{longtable}{>{\ttfamily\hspace{5mm}}l>{\ttfamily}l>{\ttfamily}l>{\ttfamily}ll}
 \toprule
 \normalfont\bfseries Schlüssel & \normalfont\bfseries Modul & \normalfont\bfseries Werte & \normalfont\bfseries Default & \\
 \midrule
 \endhead
 \bottomrule
 \endfoot
 \multicolumn{5}{l}{Paket-Optionen:} \\
 bpchem              & option   & \uline{true}/false      & false                 & Seite \pageref{key:option_bpchem} \\
 circled             & option   & \uline{formal}/all/none & formal                & Seite \pageref{key:option_circled} \\
 circletype          & option   & \uline{chem}/math       & chem                  & Seite \pageref{key:option_circletype} \\
 EZ                  & option   & \uline{chemmacros}/cool & chemmacros            & Seite \pageref{key:option_EZ} \\
 german              & option   & \uline{true}/false      & false                 & Seite \pageref{key:option_german} \\
 version             & option   & 1/2                     & 2                     & Seite \pageref{key:option_version} \\
 xspace              & option   & \uline{true}/false      & true                  & Seite \pageref{key:option_xspace} \\
 \multicolumn{5}{l}{\cmd{ba}, \cmd{Nu}:} \\
 elpair              & base     & \uline{dots}/dash/false & false                 & Seite \pageref{key:particle_elpair} \\
 \multicolumn{5}{l}{\cmd{pch}, \cmd{mch}, \cmd{fpch}, \cmd{fmch}:} \\
 append              & charges  & \uline{true}/false      & false                 & Seite \pageref{key:charges_append} \\
 \multicolumn{5}{l}{\cmd{ox}:} \\
 parse               & ox       & \uline{true}/false      & true                  & Seite \pageref{key:ox_parse} \\
 roman               & ox       & \uline{true}/false      & true                  & Seite \pageref{key:ox_roman} \\
 pos                 & ox       & top/super/side          & top                   & Seite \pageref{key:ox_pos} \\
 explicit-sign       & ox       & \uline{true}/false      & false                 & Seite \pageref{key:ox_explicit-sign} \\
 decimal-marker      & ox       & comma/point             & point                 & Seite \pageref{key:ox_decimal-marker} \\
 \multicolumn{5}{l}{\cmd{OX}, \cmd{redox}:} \\
 dist                & redox    & <dim>                   & .6em                  & Seite \pageref{key:redox_dist} \\
 sep                 & redox    & <dim>                   & .2em                  & Seite \pageref{key:redox_sep} \\
 \multicolumn{5}{l}{\cmd{Enthalpy}, \cmd{Entropy}, \cmd{Gibbs}:} \\
 exponent            &          & <anything>              & \cmd{standardstate}   & Seite \pageref{key:thermo_exponent} \\
 delta               &          & <anything>/false        &                       & Seite \pageref{key:thermo_delta} \\
 subscript           &          & left/right              &                       & Seite \pageref{key:thermo_subscript} \\
 unit                &          & <unit>                  &                       & Seite \pageref{key:thermo_unit} \\
 \multicolumn{5}{l}{\cmd{setnewstate}, \cmd{renewstate}:} \\
 exponent            &          & <anything>              & \cmd{standardstate}   & Seite \pageref{key:newstate_exponent} \\
 delta               &          & <anything>/false        &                       & Seite \pageref{key:newstate_delta} \\
 subscript           &          & <anything>              &                       & Seite \pageref{key:newstate_subscript} \\
 subscript-left      &          & true/false              &                       & Seite \pageref{key:newstate_subscript-left} \\
 \multicolumn{5}{l}{\cmd{State}:} \\
 exponent            &          & <anything>              & \cmd{standardstate}   & Seite \pageref{key:state_exponent} \\
 delta               &          & <anything>/false        &                       & Seite \pageref{key:state_delta} \\
 subscript-left      &          & true/false              &                       & Seite \pageref{key:state_subscript-left} \\
 \multicolumn{5}{l}{\cmd{NMR}:} \\
 unit                & nmr      & <unit>                  & \cmd{mega}\cmd{hertz} & Seite \pageref{key:nmr_unit} \\
 nucleus             & nmr      & \{<num>,<atom symbol>\} & \{1,H\}               & Seite \pageref{key:nmr_nucleus}  \\
 \multicolumn{5}{l}{\cmd{newreaction}:} \\
 star                &          & \uline{true}/false      & false                 & Seite \pageref{key:star} \\
 arg                 &          & \uline{true}/false      & false                 & Seite \pageref{key:arg} \\
 \multicolumn{5}{l}{\cmd{mhName}:} \\
 align               & mhName   & <alignment>             & \cmd{centering}       & Seite \pageref{key:mhName_align} \\
 fontattr            & mhName   & <commands>              &                       & Seite \pageref{key:mhName_fontattr} \\
 fontsize            & mhName   & <fontsize>              & \cmd{tiny}            & Seite \pageref{key:mhName_fontsize} \\
 width               & mhName   & <dim>                   &                       & Seite \pageref{key:mhName_width} \\
 \multicolumn{5}{l}{\cmd{newman}:} \\
 angle               & newman   & <angle>                 & 0                     & Seite \pageref{key:newman_angle} \\
 scale               & newman   & <factor>                & 1                     & Seite \pageref{key:newman_scale} \\
 ring                & newman   & <tikz>                  &                       & Seite \pageref{key:newman_ring} \\
 atoms               & newman   & <tikz>                  &                       & Seite \pageref{key:newman_atoms} \\
 back-atoms          & newman   & <tikz>                  &                       & Seite \pageref{key:newman_back-atoms} \\
 \multicolumn{5}{l}{\cmd{orbital} \ttfamily <type> = s/p/sp/sp2/sp3:} \\
 phase               & orbital/<type>  & \uline{+}/-      & +                     & Seite \pageref{key:orbital_phase} \\
 scale               & orbital/<type>  & <factor>         & 1                     & Seite \pageref{key:orbital_scale} \\
 color               & orbital/<type>  & <color>          & black                 & Seite \pageref{key:orbital_color} \\
 angle               & orbital/<type>  & <angle>          & 90                    & Seite \pageref{key:orbital_angle} \\
 half                & orbital/p       & \uline{true}/false & false               & Seite \pageref{key:orbital_half} \\
 overlay             & orbital  & \uline{true}/false      & false                 & Seite \pageref{key:orbital_overlay} \\
 opacity             & ornital  & <num>                   & 1                     & Seite \pageref{key:orbital_opacity}
\end{longtable}
\end{fullwidth}

\section{Vorschläge und Bugreports}
Feedback über \CMname ist jederzeit hochwillkommen! Wenn Sie Vorschläge für Makros, fehlende Funktionen \usw haben, zögern Sie nicht, Sich mit mir in Verbindung zu setzen. Wenn Ihnen Fehler auf\/fallen, sei es fachlicher Natur, falsche Dokumentation oder dergleichen, wäre ich über eine kurze E-Mail an \href{mailto:contact@mychemistry.eu}{contact@mychemistry.eu} sehr dankbar. Sollten Ihnen Bugs auf\/fallen, senden Sie mir am besten ein Minimales Beispiel, mit dem sich der Fehler nachvollziehen lässt.

Vielen Dank an alle, die mir bereits Feedback zukommen ließen!
\end{document}