Folgendes Problem lässt mich etwas ratlos dastehen:
Definiert man einen Befehl (mit \def oder \newcommand) und setzt in dann im mhchem-Befehl \ce{} ein, dann funktioniert er, wenn man ihm
ein Argument gibt.
Hat er zwei Argumente, dann funktioniert er auf wundersame Weise nicht.
\documentclass{scrartcl}
\usepackage[version=3]{mhchem}
\begin{document}
\def\testA#1{#1}
\def\testB#1#2{#1}
\newcommand*{\testC}[1]{#1}
\newcommand*{\testD}[2]{#1}
Geht:
\ce{ \testA{Na} + \testC{Cl} }
Geht nicht:
\ce{ \testB{Na}{} + \testD{Cl}{} }
\end{document}
Verwendet man das zweite Argument tatsächlich, dann gibt es verschiedene Varianten:
\documentclass{scrartcl}
\usepackage{tikz}
\usepackage[version=3]{mhchem}
\begin{document}
\def\testA#1#2{#1 + #2}
\def\testB#1#2{#2#1}
\def\testC#1#2{\tikz\node(#1){#2};}
% Geht:
\ce{ \testA{Na}{Cl} }
% Verdreifacht Argumente:
\ce{ \testB{Na}{Cl} }
% Liefert Fehlermeldung "extra }, or forgotten $":
\ce{ \testC{Na}{Cl} }
\end{document}
Weiß jemand Rat?