summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/chemexec/chemexec.sty
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/chemexec/chemexec.sty')
-rw-r--r--macros/latex/contrib/chemexec/chemexec.sty1033
1 files changed, 1033 insertions, 0 deletions
diff --git a/macros/latex/contrib/chemexec/chemexec.sty b/macros/latex/contrib/chemexec/chemexec.sty
new file mode 100644
index 0000000000..9780a97847
--- /dev/null
+++ b/macros/latex/contrib/chemexec/chemexec.sty
@@ -0,0 +1,1033 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% ------------------------------------------------------------------------------------- %
+% - chemexec - chemexec.sty ----------------------------------------------------------- %
+% - creating (chemical) exercise sheets, chemical macros ------------------------------ %
+% ------------------------------------------------------------------------------------- %
+% - Clemens Niederberger -------------------------------------------------------------- %
+% - 2011/03/06 ------------------------------------------------------------------------ %
+% ------------------------------------------------------------------------------------- %
+% - http://www.niederberger-berlin.net/2010/08/latex-chemische-formeln-erstellen-iiv/ - %
+% - kontakt@niederberger-berlin.net --------------------------------------------------- %
+% ------------------------------------------------------------------------------------- %
+% - 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 chemexec.sty, chemexec_de.tex %
+% and chemexec_en.tex %
+% ------------------------------------------------------------------------------------- %
+% 27. April 2009 Version 0.1
+% `chemexec' ist zun"achst als eine lose Makrosammlung entstanden
+% und stellt einige kleinere Umgebungen und Befehle zur Verf"ugung,
+% die das Arbeiten mit Chemischen und mathematischen Formeln
+% erleichtern sollen.
+% Zentrales anliegen war ein komfortabler Umgang mit Aufgaben
+% und L"osungen vor allem f"ur das Erstellen von "Ubungsbl"attern
+% und den Einsatz in Lehrb"uchern u."a.
+%
+% 29. Oktober 2009 Version 0.2
+% `chemexec' hat viele neue Optionen erhalten, einige Makros sind
+% hinzugekommen. Ausserdem wurden einige Fehler berichtigt und der
+% Code vereinheitlicht.
+%
+% "Anderungen:
+% 19. Oktober 2009 Version 0.3
+% - Inkonsistenzen bei Aufgaben/L"osungen/Schemas bereinigt.
+% - definition-Umgebung neu definiert, dass das Leerzeichen hinter der Umgebung
+% verschwindet und sie flexibel gestalte werden kann (s.u.).
+% Neue Features:
+% - Option `chapter':
+% Aufgaben, L"osungen und Schema-Umgebung werden damit chapter-weise
+% statt section-weise durchnummeriert.
+% - Option `shade':
+% definition-Umgebung wird damit nicht umrahmt, sondern hellrosa
+% unterlegt.
+% -> neue Umgebung `defformula'
+% - Option `here':
+% Schema-Umgebung wird mit `H' positioniert.
+% - chem. Kleinigkeiten:
+% Stereo-Deskriptoren
+% - Extras f"ur `ochem':
+% verschiedene Makros durch package("chemexec") f"ur `ochem' (bzw. `ochemcol')
+% verf"ugbar machen
+% 24. Oktober 2009 Version 0.4
+% - Paketoptionen "uberarbeit, Optionen mit xkeyval setzen, eine Reihe
+% weiterer Optionen:
+% flexible Gestaltung der Definition- und Beispiel-Umgebung, der Aufgaben/
+% L"osungen
+% 25. Oktober 2009 Version 0.4b
+% - Bugfix: Option shade hat framed-Umgebung umdefiniert -- gel"ost
+% - Bugfix: wenn die Klasse report o. book gew"ahlt war, konnte \makeloesung
+% nur zusammen mit der Option `chapter' verwendet werden -- gel"ost
+% - Kleinere "Anderungen an \makeloesung
+% - NEU: \lewisbar{}{} und die Exkurs-Umgebung
+% 27. Oktober 2009 Version 0.4c
+% - Bugfix: fehlerhafter Hyperlink bei Exkurs-Umgebung wenn hyperref-
+% Paket verwendet wird -- gel"ost.
+% - L"ange der Exkurs-Linien an \textwidth anpassen
+% - Benennung interner Makros und Zaehler vereinheitlicht, durch @-Character
+% interne Verwendung sichergestellt
+% 28. Oktober 2009 Version 0.4d
+% - Kompatibilit"at der lewis, lewisbar und ox-Befehle mit Martin Hensels `mhchem'
+% Paket. Befehle sind nun innerhalb \ce{} einsetzbar.
+% - Befehle \om und \op hinzugef"ugt.
+% - Befehle \ronf und \sconf f"ur Einatz im Fließtext verbessert. Um optionales
+% Argument erweitert.
+% - Erscheinungsbild der lewis-Befehle verbessert.
+% - Kleinigkeiten am Erscheinungsbild der Beispiele ge"andert.
+% 29. Oktober 2009 Version 0.4e
+% - S"aurereste `mhchem'-tauglich gemacht
+% - atomconnect modifiziert
+% 24. Januar 2010 Version 0.5
+% - Listenumgebung `alphlist' hinzugef"ugt
+% 11. Februar 2010 Version 0.5a
+% - Die Befehle lewis u. lewisbar flexibilisiert.
+% 18. Februar 2010 Version 0.5b
+% - \reaction und \reactions hinzugef"ugt
+% 09. September 2010 Version 0.5c
+% - Befehle \lewis und \lewisbar in \lw und \lwbar umbenannt, um Kompatibilit"at mit
+% `chemfig' zu gewährleisten
+% 01. M"arz 2011 Version 0.6
+% - Bugfix in der Beispiel-Umgebung
+% 06. M"arz 2011 Version 1.0
+% - atomconnect entfernt
+% - exkurs-Umgebung auf tikz umgestellt
+% - \rconf u. \sconf auf tikz umgestellt
+% - \auge auf tikz umgestellt
+% - lw/lwbar entfernt (Lewisformeln k"onnen mit ChemFig realisiert werden.)
+% - Schema-Umgebung entfernt
+% - Option `here' entfernt
+% ------------------------------------------------------------------------------------- %
+% TODO:
+% - bug bei \reaction: whitespace nach nummerierter Reaktion
+% - doloesung Option für section-weises bzw. chapter-weises sammeln geben
+% - doloesung und makeloesung nochmal auf Herz und Nieren pr"ufen
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\NeedsTeXFormat{LaTeX2e}
+\def\ce@version{v1.0}
+\def\ce@date@de{06. M\"arz 2011}
+\def\ce@date@en{March 06. 2011}
+\providecommand{\CEversion}{\ce@version}
+\providecommand{\CEdate}[1]{
+ \ifthenelse{\equal{#1}{de}}{\ce@date@de}{}
+ \ifthenelse{\equal{#1}{en}}{\ce@date@en}{}
+}
+\ProvidesPackage{chemexec}[2011/03/01]
+\typeout{CHEMEXEC \ce@version}
+\typeout{2011/03/01 Clemens Niederberger}
+\typeout{Customizing your (chemical) exercise sheets.}
+\typeout{}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Optionen -------------------------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Pakete ---------------------------------------------------------------------------- %
+\RequirePackage{calc}
+\RequirePackage{amsmath}
+\RequirePackage{ifthen}
+\RequirePackage{accents}
+\RequirePackage{framed}
+\RequirePackage{xcolor}
+\RequirePackage{xkeyval}
+\RequirePackage{tikz}
+ \usetikzlibrary{calc}
+% - interne Befehle --------------------------------------------------------- %
+\newcommand{\@aufgabe@name}{Aufgabe}
+\newcommand{\@aufgabe@groesse}{normalsize}
+\newcommand{\@loesung@titel}{L\"osung}
+\newcommand{\@beispiel@name}{Beispiel}
+\newcommand{\@exkurs@name}{EXKURS}
+\newcommand{\@exkurs@toc}{section}
+\newcommand{\@exkurs@currenttoc}{\@exkurs@toc}
+\newcommand{\@exkurs@color}{dunkelblau}
+\newcommand{\@exkurs@currentcolor}{\@exkurs@color}
+\xdefinecolor{dunkelblau}{rgb}{0,0.33,0.62}
+\xdefinecolor{dunkelrot}{rgb}{0.4392,0.0627,0.0627}
+\newcommand{\@definition@shadecolor}{pink!50}
+\newcommand{\@definition@color}{dunkelblau}
+\newcommand{\@definition@currentshadecolor}{\@definition@shadecolor}%
+\newcommand{\@definition@currentcolor}{}%
+\newcommand{\@bsprule@linecolor}{dunkelblau}
+\newcommand{\@numbers@numcolor}{dunkelblau}
+% - Bedingungen ------------------------------------------------------------ %
+\newif\if@useaufg\@useaufgfalse
+\newif\if@usechapter\@usechapterfalse
+%\newif\if@usehere\@useherefalse
+\newif\if@shaded
+% - Optionen --------------------------------------------------------------- %
+\DeclareOptionX[CE]{exercise}{\@useaufgtrue}
+\DeclareOptionX[CE]{chapter}{\@usechaptertrue}
+%\DeclareOptionX[CE]{here}{\@useheretrue}
+\DeclareOptionX[CE]{english}{
+ \renewcommand\@aufgabe@name{Exercise}
+ \renewcommand\@loesung@titel{Solution}
+ \renewcommand{\@beispiel@name}{Example}
+ \renewcommand{\@exkurs@name}{EXCURSUS}
+}
+\define@key[CE]{chemexec.sty}%
+ {color}{
+ \renewcommand{\@bsprule@linecolor}{#1}
+ \renewcommand{\@definition@color}{#1}
+ \renewcommand{\@numbers@numcolor}{#1}
+ \renewcommand{\@exkurs@color}{#1}
+ }
+\define@key[CE]{chemexec.sty}%
+ {exersize}{
+ \renewcommand{\@aufgabe@groesse}{#1}
+ }
+\define@key[CE]{chemexec.sty}%
+ {numcolor}{
+ \renewcommand{\@numbers@numcolor}{#1}
+ }
+\define@key[CE]{chemexec.sty}%
+ {shadecolor}{
+ \renewcommand{\@definition@shadecolor}{#1}
+ }
+\define@key[CE]{chemexec.sty}%
+ {linecolor}{
+ \renewcommand{\@bsprule@linecolor}{#1}
+ }
+\define@boolkey+[CE]{chemexec.sty}[CE@]{shade}{%
+ \ifCE@shade
+ \@shadedtrue
+ \else
+ \@shadedfalse
+ \fi
+}{
+ \PackageWarning{chemexec}{Option `shade' is not boolean!}%
+}
+
+\ProcessOptionsX[CE]
+
+\IfFileExists{ulem.sty}{%
+ \RequirePackage[normalem]{ulem}
+ \providecommand*{\unterstr}[1]{\uline{##1}}%
+}{%
+ \providecommand*{\unterstr}[1]{##1}%
+}
+\IfFileExists{mhchem.sty}{%
+ \RequirePackage[version=3]{mhchem}
+}{%
+ \typeout{`mhchem' ist nicht installiert. Manche Befehle werden nicht definiert.}
+}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Vektoren & math. Kleinigkeiten ---------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Vektoren
+\providecommand{\vek}[1]{ \ensuremath{ \accentset{\rightarrow}{#1} } } % Pfeildarstellung
+\providecommand{\vekzw}[2]{ \ensuremath{ \begin{pmatrix}#1\\#2\end{pmatrix} } } % 2er Spaltenvektor
+\providecommand{\vekdr}[3]{ \ensuremath{ \begin{pmatrix}#1\\#2\\#3\end{pmatrix} } } % 3er Spaltenvektor
+\providecommand\abs[1]{\ensuremath{\left\lvert#1\right\rvert}} % Betrag
+% Operatoren
+\DeclareMathOperator\arccot{arccot} % Arcuscotangens
+\DeclareMathOperator\arsinh{arsinh} % area sinus hyperbolicus
+\DeclareMathOperator\arcosh{arcosh} % area cosinus hyperbolicus
+\DeclareMathOperator\artanh{artanh} % area tangengs hyperbolicus
+\DeclareMathOperator\arcoth{arcoth} % area cotangens hyperbolicus
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - chem. Kleinigkeiten --------------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\el{\ensuremath{e^\ominus}} % Elektronen
+\providecommand\prt{\ensuremath{p^\oplus}} % Protonen
+\providecommand\ntr{\ensuremath{n^0}} % Neutronen
+\providecommand{\om}[1][]{\ensuremath{{}^{#1\ominus}}} % negative Ladung
+\providecommand{\op}[1][]{\ensuremath{{}^{#1\oplus}}} % positive Ladung
+\providecommand\Rcip{\textit{(R)}} % stereo-Deskriptor
+\providecommand\Scip{\textit{(S)}} % "
+\providecommand\E{\textit{(E)}} % "
+\providecommand\Z{\textit{(Z)}} % "
+\providecommand\Dfi{\textsc{d}} % "
+\providecommand\Lfi{\textsc{l}} % "
+
+\providecommand\sconf[1][S]{% % S-Konfiguration
+ \tikz[baseline=(a.base),text height=1.5ex,text depth=.25ex]{\draw node(a) at (0,0) {#1};\draw[->,thick,rotate=90] (20:.3cm) arc (20:340:.3cm);}
+}
+\providecommand\rconf[1][R]{% % R-Konfiguration
+ \tikz[baseline=(a.base),text height=1.5ex,text depth=.25ex]{\draw node(a) at (0,0) {#1};\draw[<-,thick,rotate=90] (20:.3cm) arc (20:340:.3cm);}
+}
+
+\IfFileExists{mhchem.sty}{%
+\newcounter{save}%
+\if@usechapter%
+\newcounter{reaction}[chapter]%
+\renewcommand\thereaction{R\,\thechapter.\arabic{equation}}%
+\else%
+\newcounter{reaction}%
+\renewcommand\thereaction{R\,\arabic{equation}}%
+\fi
+
+\long\def\react@##1{%
+\setcounter{save}{\value{equation}}\setcounter{equation}{\value{reaction}}\def\theequation{\thereaction}%
+\begin{equation}\ce{##1}\end{equation}%
+\setcounter{reaction}{\value{equation}}\setcounter{equation}{\value{save}}\def\theequation{\arabic{equation}}%
+}
+
+\long\def\react@nonumber##1{\begin{equation*}\ce{##1}\end{equation*}}
+
+\providecommand\reaction{\@ifstar{\react@nonumber}{\react@}}
+
+\long\def\rctns@##1{%
+\setcounter{save}{\value{equation}}\setcounter{equation}{\value{reaction}}\def\theequation{\thereaction}%
+\begin{align}\cee{##1}\end{align}%
+\setcounter{reaction}{\value{equation}}\setcounter{equation}{\value{save}}\def\theequation{\arabic{equation}}%
+}
+\long\def\rctns@nonumber##1{%
+\begin{align*}\cee{##1}\end{align*}%
+}
+\providecommand\reactions{\@ifstar{\rctns@nonumber}{\rctns@}}
+}{}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - extras f"ur `ochem' --------------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\providecommand\stec{\textasteriskcentered} % opt. aktives Zentrum (f"ur ochem)
+\providecommand{\auge}{% % Bild eines Auges (f"ur ochem)
+\tikz{\draw (0,0)--(20:7mm);\draw (0,0)--(-20:7mm);\fill (0,0) -- (-20:2.5mm) arc (-20:20:2.5mm);\draw (-20:6.5mm) arc (-20:20:6.5mm);}
+}
+
+%% FOLGENDER CODE WURDE AUS ECHEM.STY VON INGO KL"OCKL "UBERNOMMEN UND TEILWEISE
+%% ANGEPASST
+% Symbol fuer einzelnes Elektron
+\newcommand{\@el}
+{{\unitlength=.12\baselineskip%
+ \begin{picture}(0,0)
+ \put(0,0){\circle*{1.2}}
+ \end{picture}}}
+% liegender Balken fuer Elektronenpaar
+\newcommand{\@elpairh}
+{{\unitlength=.07\baselineskip%
+ \linethickness{0.5\unitlength}%
+ \begin{picture}(0,0)
+ \put(-3,0){\line(1,0){6}}
+ \end{picture}}}
+% aufrechter Balken fuer Elektronenpaar
+\newcommand{\@elpairv}
+{{\unitlength=.07\baselineskip%
+ \linethickness{0.5\unitlength}%
+ \begin{picture}(2,0)(-1,0)
+ \put(0,-3){\line(0,1){6}}
+ \end{picture}}}
+
+\providecommand{\echhbar}{\@elpairh}
+\providecommand{\echvbar}{\@elpairv}
+
+% die horizontalen Symbole (upper und lower)
+\newsavebox{\cbox}
+
+\providecommand{\hdu}[2][\@el]
+{\sbox{\cbox}{#2}%
+ \makebox[0pt][l]{\raisebox{1.35\ht\cbox}
+ {\makebox[\wd\cbox]{#1}}}%
+}
+\providecommand{\hddu}[1]
+{\sbox{\cbox}{#1}%
+ \makebox[0pt][l]{\raisebox{1.3\ht\cbox}
+ {\makebox[\wd\cbox]
+ {\@el\hspace*{0.6\ht\cbox}\@el}}}%
+}
+\providecommand{\hdl}[2][\@el]
+{\sbox{\cbox}{#2}%
+ \makebox[0pt][l]{\raisebox{-\dp\cbox-0.3\ht\cbox}
+ {\makebox[\wd\cbox]{#1}}}%
+}
+\providecommand{\hddl}[1]
+{\sbox{\cbox}{#1}%
+ \makebox[0pt][l]{\raisebox{-\dp\cbox-0.3\ht\cbox}
+ {\makebox[\wd\cbox]
+ {\@el\hspace*{0.6\ht\cbox}\@el}}}%
+}
+
+% die vertikalen Symbole
+\providecommand{\vd}[2][\@el]
+{\sbox{\cbox}{#2}\hspace*{0.1\ht\cbox}%
+ \raisebox{0.5\ht\cbox}{#1}%
+ \hspace*{0.1\ht\cbox}%
+}
+\providecommand{\vdd}[1]
+{\sbox{\cbox}{#1}\hspace*{0.2\ht\cbox}%
+ \makebox[0pt][l]{\raisebox{0.2\ht\cbox}{\@el}}%
+ \raisebox{0.8\ht\cbox}{\@el}%
+ \hspace*{0.23\ht\cbox}%
+}
+%% OBIGER CODE WURDE AUS ECHEM.STY VON INGO KL"OCKL "UBERNOMMEN UND TEILWEISE
+%% ANGEPASST.
+
+\IfFileExists{mhchem.sty}{
+\DeclareRobustCommand\Hpl{\cf{H$^\oplus$}} % Protonen
+\DeclareRobustCommand\Hyd{\cf{OH$^\ominus$}} % Hydroxid
+\DeclareRobustCommand\ox[2]{\ensuremath{\accentset{##1}{\cf{##2}}}}
+%\DeclareRobustCommand\lw[3][0]{
+%\ensuremath{
+%\ifcase ##3
+%\or%1
+% \ifcase ##1
+% \vd{##2}\cf{##2}
+% \or
+% \hdu{##2}\cf{##2}
+% \or
+% \cf{##2}\vd{##2}
+% \or
+% \hdl{##2}\cf{##2}
+% \else
+% \fi
+%\or%2
+% \ifcase ##1
+% \vd{##2}\hdu{##2}\cf{##2}
+% \or
+% \hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdl{##2}\cf{##2}
+% \or
+% \vd{##2}\cf{##2}\vd{##2}
+% \or
+% \hdu{##2}\hdl{##2}\cf{##2}
+% \else
+% \fi
+%\or%3
+% \ifcase ##1
+% \vd{##2}\hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \hdu{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdu{##2}\hdl{##2}\cf{##2}
+% \else
+% \fi
+%\or%4
+% \vd{##2}\hdu{##2}\hdl{##2}\cf{##2}\vd{##2}
+%\or%5
+% \ifcase ##1
+% \vd{##2}\hddu{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdu{##2}\hdl{##2}\cf{##2}\vdd{##2}
+% \or
+% \vd{##2}\hddl{##2}\hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \vdd{##2}\hdu{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \else
+% \fi
+%\or%6
+% \ifcase ##1
+% \vdd{##2}\hddu{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hddu{##2}\hdl{##2}\cf{##2}\vdd{##2}
+% \or
+% \vd{##2}\hddl{##2}\hdu{##2}\cf{##2}\vdd{##2}
+% \or
+% \vdd{##2}\hddl{##2}\hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hddu{##2}\hddl{##2}\cf{##2}\vd{##2}
+% \or
+% \vdd{##2}\hdu{##2}\hdl{##2}\cf{##2}\vdd{##2}
+% \else
+% \fi
+%\or%7
+% \ifcase ##1
+% \vdd{##2}\hddu{##2}\hddl{##2}\cf{##2}\vd{##2}
+% \or
+% \vdd{##2}\hddu{##2}\hdl{##2}\cf{##2}\vdd{##2}
+% \or
+% \vd{##2}\hddl{##2}\hddu{##2}\cf{##2}\vdd{##2}
+% \or
+% \vdd{##2}\hdu{##2}\hddl{##2}\cf{##2}\vdd{##2}
+% \else
+% \fi
+%\or%8
+% \vdd{##2}\hddu{##2}\hddl{##2}\cf{##2}\vdd{##2}
+%\else
+% \PackageError{chemexec}{Wrong argument in lw}
+%\fi
+%}}
+
+%\DeclareRobustCommand\lwbar[3][0]{
+%\ensuremath{
+%\ifcase ##3
+%\or%1
+% \ifcase ##1
+% \vd{##2}\cf{##2}
+% \or
+% \hdu{##2}\cf{##2}
+% \or
+% \cf{##2}\vd{##2}
+% \or
+% \hdl{##2}\cf{##2}
+% \else
+% \fi
+%\or%2
+% \ifcase ##1
+% \vd{##2}\hdu{##2}\cf{##2}
+% \or
+% \hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdl{##2}\cf{##2}
+% \or
+% \vd{##2}\cf{##2}\vd{##2}
+% \or
+% \hdu{##2}\hdl{##2}\cf{##2}
+% \else
+% \fi
+%\or%3
+% \ifcase ##1
+% \vd{##2}\hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \hdu{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdu{##2}\hdl{##2}\cf{##2}
+% \else
+% \fi
+%\or%4
+% \vd{##2}\hdu{##2}\hdl{##2}\cf{##2}\vd{##2}
+%\or%5
+% \ifcase ##1
+% \vd{##2}\hdu[\@elpairh]{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdu{##2}\hdl{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \or
+% \vd{##2}\hdl[\@elpairh]{##2}\hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \vd[\@elpairv]{##2}\hdu{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \else
+% \fi
+%\or%6
+% \ifcase ##1
+% \vd[\@elpairv]{##2}\hdu[\@elpairh]{##2}\hdl{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdu[\@elpairh]{##2}\hdl{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \or
+% \vd{##2}\hdl[\@elpairh]{##2}\hdu{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \or
+% \vd[\@elpairv]{##2}\hdl[\@elpairh]{##2}\hdu{##2}\cf{##2}\vd{##2}
+% \or
+% \vd{##2}\hdu[\@elpairh]{##2}\hdl[\@elpairh]{##2}\cf{##2}\vd{##2}
+% \or
+% \vd[\@elpairv]{##2}\hdu{##2}\hdl{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \else
+% \fi
+%\or%7
+% \ifcase ##1
+% \vd[\@elpairv]{##2}\hdu[\@elpairh]{##2}\hdl[\@elpairh]{##2}\cf{##2}\vd{##2}
+% \or
+% \vd[\@elpairv]{##2}\hdu[\@elpairh]{##2}\hdl{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \or
+% \vd{##2}\hdl[\@elpairh]{##2}\hdu[\@elpairh]{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \or
+% \vd[\@elpairv]{##2}\hdu{##2}\hdl[\@elpairh]{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \else
+% \fi
+%\or%8
+% \vd[\@elpairv]{##2}\hdu[\@elpairh]{##2}\hdl[\@elpairh]{##2}\cf{##2}\vd[\@elpairv]{##2}
+%\else
+% \PackageError{chemexec}{Wrong argument in lwbar}
+%\fi
+%}}
+
+%\DeclareRobustCommand\elecpair[3][0]{
+%\ensuremath{
+%\ifcase ##3
+%\or%1
+% \ifcase ##1
+% \vd[\@elpairv]{##2}\cf{##2}
+% \or
+% \cf{##2}\vd[\@elpairv]{##2}
+% \else\fi
+%\or%2
+% \hdl[\@elpairh]{##2}\hdu[\@elpairh]{##2}\cf{##2}
+%\or%3
+% \ifcase ##1
+% \vd[\@elpairv]{##2}\hdl[\@elpairh]{##2}\hdu[\@elpairh]{##2}\cf{##2}
+% \or
+% \hdl[\@elpairh]{##2}\hdu[\@elpairh]{##2}\cf{##2}\vd[\@elpairv]{##2}
+% \else\fi
+%\else
+%\fi
+%}}
+
+
+
+}{
+\providecommand\ox[2]{ \ensuremath{\accentset{\text{#1}}{\text{#2}}} }
+\providecommand\Hpl{\ensuremath{\text{H}\op}} % Protonen
+\providecommand\Hyd{\ensuremath{\text{OH}\om}} % Hydroxid
+
+%\providecommand\lw[3][0]{
+%\ensuremath{
+%\ifcase #3
+%\or%1
+% \ifcase #1
+% \vd{#2}\text{#2}
+% \or
+% \hdu{#2}\text{#2}
+% \or
+% \text{#2}\vd{#2}
+% \or
+% \hdl{#2}\text{#2}
+% \else
+% \fi
+%\or%2
+% \ifcase #1
+% \vd{#2}\hdu{#2}\text{#2}
+% \or
+% \hdu{#2}\text{#2}\vd{#2}
+% \or
+% \hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdl{#2}\text{#2}
+% \or
+% \vd{#2}\text{#2}\vd{#2}
+% \or
+% \hdu{#2}\hdl{#2}\text{#2}
+% \else
+% \fi
+%\or%3
+% \ifcase #1
+% \vd{#2}\hdu{#2}\text{#2}\vd{#2}
+% \or
+% \hdu{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdu{#2}\hdl{#2}\text{#2}
+% \else
+% \fi
+%\or%4
+% \vd{#2}\hdu{#2}\hdl{#2}\text{#2}\vd{#2}
+%\or%5
+% \ifcase #1
+% \vd{#2}\hddu{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdu{#2}\hdl{#2}\text{#2}\vdd{#2}
+% \or
+% \vd{#2}\hddl{#2}\hdu{#2}\text{#2}\vd{#2}
+% \or
+% \vdd{#2}\hdu{#2}\hdl{#2}\text{#2}\vd{#2}
+% \else
+% \fi
+%\or%6
+% \ifcase #1
+% \vdd{#2}\hddu{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hddu{#2}\hdl{#2}\text{#2}\vdd{#2}
+% \or
+% \vd{#2}\hddl{#2}\hdu{#2}\text{#2}\vdd{#2}
+% \or
+% \vdd{#2}\hddl{#2}\hdu{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hddu{#2}\hddl{#2}\text{#2}\vd{#2}
+% \or
+% \vdd{#2}\hdu{#2}\hdl{#2}\text{#2}\vdd{#2}
+% \else
+% \fi
+%\or%7
+% \ifcase #1
+% \vdd{#2}\hddu{#2}\hddl{#2}\text{#2}\vd{#2}
+% \or
+% \vdd{#2}\hddu{#2}\hdl{#2}\text{#2}\vdd{#2}
+% \or
+% \vd{#2}\hddl{#2}\hddu{#2}\text{#2}\vdd{#2}
+% \or
+% \vdd{#2}\hdu{#2}\hddl{#2}\text{#2}\vdd{#2}
+% \else
+% \fi
+%\or%8
+% \vdd{#2}\hddu{#2}\hddl{#2}\text{#2}\vdd{#2}
+%\else
+% \PackageError{chemexec}{Wrong argument in lw}
+%\fi
+%}}
+
+%\providecommand\lwbar[3][0]{
+%\ensuremath{
+%\or%1
+% \ifcase #1
+% \vd{#2}\text{#2}
+% \or
+% \hdu{#2}\text{#2}
+% \text{#2}\vd{#2}
+% \or
+% \hdl{#2}\text{#2}
+% \else
+% \fi
+%\or%2
+% \ifcase #1
+% \vd{#2}\hdu{#2}\text{#2}
+% \or
+% \hdu{#2}\text{#2}\vd{#2}
+% \or
+% \hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdl{#2}\text{#2}
+% \or
+% \vd{#2}\text{#2}\vd{#2}
+% \or
+% \hdu{#2}\hdl{#2}\text{#2}
+% \else
+% \fi
+%\or%3
+% \ifcase #1
+% \vd{#2}\hdu{#2}\text{#2}\vd{#2}
+% \or
+% \hdu{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdu{#2}\hdl{#2}\text{#2}
+% \else
+% \fi
+%\or%4
+% \vd{#2}\hdu{#2}\hdl{#2}\text{#2}\vd{#2}
+%\or%5
+% \ifcase #1
+% \vd{#2}\hdu[\@elpairh]{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdu{#2}\hdl{#2}\text{#2}\vd[\@elpairv]{#2}
+% \or
+% \vd{#2}\hdl[\@elpairh]{#2}\hdu{#2}\text{#2}\vd{#2}
+% \or
+% \vd[\@elpairv]{#2}\hdu{#2}\hdl{#2}\text{#2}\vd{#2}
+% \else
+% \fi
+%\or%6
+% \ifcase #1
+% \vd[\@elpairv]{#2}\hdu[\@elpairh]{#2}\hdl{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdu[\@elpairh]{#2}\hdl{#2}\text{#2}\vd[\@elpairv]{#2}
+% \or
+% \vd{#2}\hdl[\@elpairh]{#2}\hdu{#2}\text{#2}\vd[\@elpairv]{#2}
+% \or
+% \vd[\@elpairv]{#2}\hdl[\@elpairh]{#2}\hdu{#2}\text{#2}\vd{#2}
+% \or
+% \vd{#2}\hdu[\@elpairh]{#2}\hdl[\@elpairh]{#2}\text{#2}\vd{#2}
+% \or
+% \vd[\@elpairv]{#2}\hdu{#2}\hdl{#2}\text{#2}\vd[\@elpairv]{#2}
+% \else
+% \fi
+%\or%7
+% \ifcase #1
+% \vd[\@elpairv]{#2}\hdu[\@elpairh]{#2}\hdl[\@elpairh]{#2}\text{#2}\vd{#2}
+% \or
+% \vd[\@elpairv]{#2}\hdu[\@elpairh]{#2}\hdl{#2}\text{#2}\vd[\@elpairv]{#2}
+% \or
+% \vd{#2}\hdl[\@elpairh]{#2}\hdu[\@elpairh]{#2}\text{#2}\vd[\@elpairv]{#2}
+% \vd[\@elpairv]{#2}\hdu{#2}\hdl[\@elpairh]{#2}\text{#2}\vd[\@elpairv]{#2}
+% \else
+% \fi
+%\or%8
+% \vd[\@elpairv]{#2}\hdu[\@elpairh]{#2}\hdl[\@elpairh]{#2}\text{#2}\vd[\@elpairv]{#2}
+%\else
+% \PackageError{chemexec}{Wrong argument in lwbar}
+%\fi
+%}}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Anionen --------------------------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\IfFileExists{mhchem.sty}{
+ \providecommand\nitrat{\ensuremath{\cf{NO3}}}
+ \providecommand\nitrit{\ensuremath{\cf{NO2}}}
+ \providecommand\sulfat{\ensuremath{\cf{SO4}}}
+ \providecommand\sulfit{\ensuremath{\cf{SO3}}}
+ \providecommand\phosphat{\ensuremath{\cf{PO4}}}
+ \providecommand\phosphit{\ensuremath{\cf{PO3}}}
+ \providecommand\carbonat{\ensuremath{\cf{CO3}}}
+}{
+ \providecommand\nitrat{\ensuremath{\text{NO}_3}}
+ \providecommand\nitrit{\ensuremath{\text{NO}_2}}
+ \providecommand\sulfat{\ensuremath{\text{SO}_4}}
+ \providecommand\sulfit{\ensuremath{\text{SO}_3}}
+ \providecommand\phosphat{\ensuremath{\text{PO}_4}}
+ \providecommand\phosphit{\ensuremath{\text{PO}_3}}
+ \providecommand\carbonat{\ensuremath{\text{CO}_3}}
+}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Exkurs-Umgebung definieren -------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\define@key{exkurs}{toc}[\@exkurs@toc]{%
+ \renewcommand{\@exkurs@currenttoc}{#1}}%
+\define@key{exkurs}{color}[\@exkurs@color]{%
+ \renewcommand{\@exkurs@currentcolor}{#1}}%
+\presetkeys%
+ {exkurs}
+ {toc=\@exkurs@toc,color=\@exkurs@color}
+ {}
+\def\@kopfrule{%
+\tikz{\shade[top color=\@exkurs@currentcolor] (0,0) rectangle ($(\textwidth,-3mm)$);}
+}
+\def\@fussrule{%
+\tikz{\shade[top color=white,bottom color=\@exkurs@currentcolor] (0,0) rectangle ($(\textwidth,-3mm)$);}
+}
+
+\newenvironment{exkurs}[2][]%
+{\setkeys{exkurs}{#1}%
+\vspace{1.2\baselineskip}\par\noindent\@kopfrule\par\noindent\vspace{.8\baselineskip}%
+ \parbox[c]{\textwidth}{\centering\bfseries\Large{\color{\@exkurs@currentcolor}\@exkurs@name:~}#2}%
+ {\addcontentsline{toc}{\@exkurs@currenttoc}{{\textcolor{\@exkurs@currentcolor}{\@exkurs@name}:~}#2}}\\%
+}%
+{%
+\vspace{.8\baselineskip}\par\noindent\@fussrule\vspace{1.2\baselineskip}%
+ \normalsize\par%
+}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Beispiel-Umgebung ----------------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\@bsprule@currentlinecolor}{}%
+\define@key{bsprule}{linecolor}[\@bsprule@linecolor]{%
+ \renewcommand{\@bsprule@currentlinecolor}{#1}}%
+\presetkeys%
+ {bsprule}
+ {linecolor=\@bsprule@currentlinecolor}
+ {}
+
+% Zähler für die Beispiele
+\if@usechapter
+ \newcounter{beispiel}[chapter]
+ \renewcommand\thebeispiel{\thechapter.\arabic{beispiel}:}
+\else
+ \newcounter{beispiel}
+ \renewcommand\thebeispiel{\arabic{beispiel}:}
+\fi
+% Umgebung
+\newenvironment{beispiel}[1][linecolor=\@bsprule@linecolor]%
+ {\setkeys{bsprule}{#1}%
+ \refstepcounter{beispiel}%
+ \vspace{1.5\baselineskip}{\color{\@bsprule@currentlinecolor}\hrule}\par\nobreak%
+ \vspace{3pt}\noindent\small\textbf{\@beispiel@name~\thebeispiel}%
+ \par\nobreak\@afterheading%
+ }%
+ {\par\nobreak\vspace{2pt}{\color{\@bsprule@currentlinecolor}\hrule}\vspace{1.5\baselineskip}\normalsize\ignorespacesafterend\par%
+ }%
+
+% zweites, drittes, ... Beispiel
+\providecommand\bsp{\refstepcounter{beispiel}\par\noindent\textbf{\@beispiel@name~\thebeispiel}\newline}%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Definitions-Umgebung -------------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\define@key{definition}{shadecolor}[\@definition@shadecolor]{%
+ \renewcommand{\@definition@currentshadecolor}{#1}}%
+\define@key{definition}{color}[\@definition@color]{%
+ \renewcommand{\@definition@currentcolor}{#1}}%
+\define@boolkey{definition}{shade}[true]{%
+ \ifKV@definition@shade
+ \@shadedtrue
+ \else
+ \@shadedfalse
+ \fi
+}
+
+\presetkeys%
+ {definition}
+ {shadecolor=\@definition@shadecolor,color=\@definition@color}
+ {}
+
+\newenvironment{definition}[1][]
+ { \setkeys{definition}{#1}%
+ \if@shaded
+ \def\FrameCommand{\fboxsep=\FrameSep \colorbox{\@definition@currentshadecolor}}%
+ \fi
+ \MakeFramed{\advance\hsize-\width \FrameRestore}%
+ \noindent{\large\scshape\color{\@definition@currentcolor}\unterstr{Definition}~}%
+ }
+ { \endMakeFramed%
+ }
+
+\newenvironment{defformel}[1][\hsize]{%
+ \def\FrameCommand{\colorbox{white}}%
+ \MakeFramed {\hsize#1\advance\hsize-\width\FrameRestore}\centering}%
+ {\endMakeFramed}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Aufgaben, sectionweise gezählt ---------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\if@useaufg
+ \gdef\@aufgabe@actualgroesse{\csname\@aufgabe@groesse\endcsname}
+ %\RequirePackage{etex}
+ %\reserveinserts{32000}
+ \IfFileExists{ifthen.sty}{%
+ \RequirePackage{ifthen}
+ \IfFileExists{calc.sty}{%
+ \RequirePackage{calc}
+ \if@usechapter
+ \newcounter{@aufgabe}[chapter]
+ \renewcommand{\the@aufgabe}{\thechapter.\arabic{@aufgabe}}
+ \else
+ \newcounter{@aufgabe}[section]
+ \renewcommand{\the@aufgabe}{\arabic{@aufgabe}.}
+ \fi
+ \newcounter{@Aufgabe}
+ \if@usechapter
+ \newcounter{@zaehler}[chapter]
+ \else
+ \newcounter{@zaehler}
+ \fi
+ \newcounter{@nummer}
+ %%% der eigentliche Befehl
+ \DeclareRobustCommand\aufgabe[1]{%
+ \refstepcounter{@aufgabe}%
+ \stepcounter{@Aufgabe}%
+ \stepcounter{@zaehler}%
+ \stepcounter{@nummer}%
+ \bigskip%
+ \par\noindent{\@aufgabe@actualgroesse\bfseries{\color{\@numbers@numcolor}\the@aufgabe}~%
+ \ifthenelse{\equal{####1}{}}%
+ {\@aufgabe@name}{####1}}%
+ \par\nobreak\@afterheading\normalfont\medskip%\newline%
+ }%
+ }{%
+ \PackageError{chemexec}{%
+ The `calc' package is apparently unavailable.\MessageBreak
+ Turn off the `aufgabe' option and come back again.}{%
+ If you want to use the possibilties of the `aufgabe' option,\MessageBreak
+ you have to install the `calc' package from CTAN or wherever\MessageBreak
+ you get your LaTeX packages.}%
+ }%
+ }{%
+ \PackageError{chemexec}{%
+ The `ifthen' package is apparently unavailable.\MessageBreak
+ Turn off the `aufgabe' option and come back again.}{%
+ If you want to use the possibilties of the `aufgabe' option,\MessageBreak
+ you have to install the `ifthen' package from CTAN or wherever\MessageBreak
+ you get your LaTeX packages.}%
+ }
+
+\makeatletter
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Lösungen eingeben ----------------------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcounter{@loesung}
+\newcounter{@Loesung}
+%\newcommand{\@loesung@text}{}
+\edef\empty#1{#1}
+\DeclareRobustCommand\loesung[2][\@loesung@titel]{
+ %\renewcommand{\@loesung@text}{#2}
+ \setcounter{@loesung}{\value{@zaehler}}
+ \stepcounter{@Loesung}
+ {%
+ \csname protected@xdef\expandafter\endcsname\csname @tempa\endcsname{%
+ \expandafter\gdef\csname @loesung@nr\arabic{@Loesung}\endcsname{\the@loesung}}%
+ \expandafter\expandafter\expandafter
+ }\csname @tempa\endcsname
+ {%
+ \csname protected@xdef\expandafter\endcsname\csname @tempa\endcsname{%
+ \if@usechapter
+ \expandafter\gdef\csname @loesung@kap\arabic{@Loesung}\endcsname{\thechapter}
+ \else
+ \expandafter\gdef\csname @loesung@kap\arabic{@Loesung}\endcsname{\arabic{section}}
+ \fi}%
+ \expandafter\expandafter\expandafter
+ }\csname @tempa\endcsname
+ \expandafter\gdef\csname @loesung@loes\arabic{@Loesung}\endcsname{ #2}
+ %\savebox{\csname loes\arabic{Loesung}\endcsname}{#2}
+ \expandafter\gdef\csname @loesung@name\arabic{@Loesung}\endcsname{\noexpand #1}
+}
+
+\newcounter{@mylist}
+\renewcommand\the@mylist{\alph{@mylist})}
+\newcommand*{\alphlabel}[1][\stepcounter{@mylist}\the@mylist]{\normalfont #1\hfil}
+\newenvironment{alphlist}{
+\begin{list}{}%
+ {\let\makelabel\alphlabel
+ \setlength\labelwidth{15pt}%
+ \setlength\leftmargin{\labelwidth+\labelsep+.5em}%
+ }%
+}{
+\setcounter{@mylist}{0}
+\end{list}
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Alle Lösungen ausgeben ------------------------------------------------------------ %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcounter{@zahl}
+\newcounter{@a}
+\def\@loesung@altKap{0}
+\DeclareRobustCommand\makeloesung{%
+ \@ifundefined{@ausgabe}{\@ifundefined{dolo}{%
+ \setcounter{@zahl}{\value{@Loesung}+1}%
+ \setcounter{@a}{1}%
+ \whiledo { \value{@a} < \value{@zahl} }{%
+ \def\@loesung@ausg{\csname @loesung@loes\arabic{@a}\endcsname}%
+ \edef\@loesung@Name{\csname @loesung@name\arabic{@a}\endcsname}%
+ \edef\@loesung@Kap{\csname @loesung@kap\arabic{@a}\endcsname}%
+ \edef\@loesung@Nr{\csname @loesung@nr\arabic{@a}\endcsname}%
+ \@ifundefined{@loesung@loes\arabic{@a}}%
+ {}%
+ {\ifnum \@loesung@Kap=\@loesung@altKap%
+ \bigskip%
+ \par\nobreak\@afterheading\noindent%
+ \else%
+ \if@usechapter%
+ {\smallskip%
+ \par\noindent\hspace*{.1\textwidth}\color{\@numbers@numcolor}{\LARGE\@loesung@Kap. \chaptername{}}}\\%
+ \par\nobreak\@afterheading\vspace{2pt}{\color{\@numbers@numcolor}\hrule\vspace{4pt}\noindent}%
+ \else%
+ \bigskip%
+ \par\noindent%
+ \fi%
+ \fi%
+ %\medskip%
+ {\@aufgabe@actualgroesse\bfseries{\color{\@numbers@numcolor}\if@usechapter\@loesung@Kap.\fi\@loesung@Nr\if@usechapter\else.\fi~}\@loesung@Name}\medskip\newline%
+ \@loesung@ausg%
+ }%
+ \let\@loesung@altKap=\@loesung@Kap%
+ \stepcounter{@a}%
+ }%
+ \bigskip\par%
+ \def\@loesung@ausgabe{voll}%
+ }{\errmessage{Sie haben schon doloesung verwendet!}}}{\errmessage{Sie haben makeloesung schon vorher verwendet!}}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% - Lösungen section-weise ausgeben --------------------------------------------------- %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\DeclareRobustCommand\doloesung{%
+ \@ifundefined{ausgabe}{%
+ \setcounter{@a}{\value{@nummer}-\value{@zaehler}+1}%
+ \setcounter{@zahl}{\value{@nummer}+1}%
+ \whiledo { \value{@a} < \value{@zahl} }{%
+ \edef\@loesung@Name{\csname @loesung@name\arabic{@a}\endcsname}%
+ \edef\@loesung@Kap{\csname @loesung@kap\arabic{@a}\endcsname}%
+ \edef\@loesung@Nr{\csname @loesung@nr\arabic{@a}\endcsname}%
+ \def\@loesung@ausg{\csname @loesung@loes\arabic{@a}\endcsname}%
+ \@ifundefined{@loesung@loes\arabic{@a}}%
+ {}%
+ {\bigskip
+ \par\noindent%%
+ {\@aufgabe@actualgroesse\bfseries{\color{\@numbers@numcolor}\if@usechapter\@loesung@Kap.\fi\@loesung@Nr\if@usechapter\else.\fi~}\@loesung@Name}\par\nobreak\@afterheading\medskip%\newline%
+ \@loesung@ausg%
+ }%
+ \let\@loesung@altKap=\@loesung@Kap%
+ \stepcounter{@a}%
+ }%
+ \bigskip\par%
+ \setcounter{@zaehler}{0}%
+ \setcounter{@nummer}{\value{@Loesung}}%
+ \def\dolo{voll}%
+ }{\errmessage{Sie haben schon makeloesung verwendet!}}%
+}
+
+\makeatother
+\else
+\fi \ No newline at end of file