Seite 1 von 1

Oxidationszahlen etc. in CHEMMACROS's reaction(s) Umgebung?

Verfasst: Do 11. Jun 2015, 10:55
von scaer93
Hallo Liebe LaTeX-Experten,

ich habe ein Problem mit Oxidationszahlen und dem CHEMMACROS-Paket. Laut Manual ist es möglich eine Reaction-Umgebung (ähnlich equation bzw. align) mit eigenem Zähler zu verwenden.

Leider funktioniert der Befehl \ox{+2,Na} nicht in dieser Umgebung. Warum nicht? Wie bekomme ich Oxidationszahlen in die reaction-Umgebung?

Eigentlich möchte ich z.B. solche Gleichungen haben:
\ce{\ox{0,Cu}_{(s)}  ->T[{~ Oxidation ~}] \ox{+2,Cu}^{2+}_{(aq)} + 2 e^{-}}
\ce{\ox{0,Cu}_{(s)} <-T[{~ Reduktion ~}] \ox{+2,Cu}^{2+}_{(aq)} + 2 e^{-}}
Minimalbeispiel:
\documentclass[
    a4paper,                                               
    oneside,                                               
    12pt,                                                  
    pagesize=auto,                                     
    headsepline,                                          
    %draft=true                                           
]{scrartcl}


% ##############
% # Pakete einbinden #
% ##############


\usepackage[utf8x]{inputenc}                                                  
\usepackage[T1]{fontenc}                                                      
\usepackage[ngerman,english]{babel}                                           
\usepackage{amsmath}                                                          
\usepackage{units}                                                                                                             

% Chemie-Pakete
\usepackage[version=3,arrows=pgf-filled]{mhchem} 
\usepackage{chemfig}

% chemmacros und chemformula ohne ghsystem
\usepackage[ghsystem=false]{chemmacros}
\usepackage{chemformula}

\chemsetup[option]{circled=formal}
% \leavevmode\mch\ \pch\ \fmch\ \fpch\ \el\ \prt \par
\chemsetup[option]{language=english}

\usepackage{mathtools}


% #########################
% # Beginn des Dokumentes #
% #########################

\begin{document}
\selectlanguage{ngerman}                                   
\onehalfspacing                                            % 1 1/2 facher Zeilenabstand
\addtokomafont{sectioning}{\rmfamily}                      % Schriftsatz
\numberwithin{equation}{section}                           


% #################
% # Den Inhalt der Arbeit #
% #################

Chemiesche Formel:

\renewtagform{reaction}[R ]{[}{]}
\begin{reactions}
	Na -> Na\lqd{} \el \\
	\ce{H2SO4} 
\end{reactions}

Mathematische Formel

\begin{align}
	v \,= \, v_{\text{therm}} \, + \, v_d \label{gl:geschwindigkeit-e}
\end{align}

\end{document}
Grüße
S.

Verfasst: Do 11. Jun 2015, 16:06
von Johannes_B
Ich gebe es zu, das ist nicht ganz intuitiv und auch in der Doku etwas versteckt.

Die Oxidationsteile müssen vor chemmacros geschützt werden.
\documentclass{scrartcl}



\usepackage[utf8]{inputenc}% x entfernt
\usepackage[T1]{fontenc}                                                      
\usepackage[ngerman,english]{babel}                                          
\usepackage{amsmath}                                                          
%\usepackage{units}%veraltet!

%\usepackage[version=3,arrows=pgf-filled]{mhchem}
%\usepackage{chemfig}

\usepackage[ghsystem=false]{chemmacros}
\usepackage{chemformula}

\chemsetup[option]{circled=formal}
\chemsetup[option]{language=english}

\usepackage{mathtools}



\begin{document}
Chemische Formel:

\renewtagform{reaction}[R ]{[}{]}
\begin{reactions}
	Na &-> Na\lqd{} \el \\
	"\ox{0,Cu}" {}_{(s)} &->[{~ Oxidation ~}] "\ox{+2,Cu}" {}^{2+}_{(aq)} + 2 e^{-}\\
	"\ox{0,Cu}" {}_{(s)} &<-[{~ Reduktion ~}] "\ox{+2,Cu}" {}^{2+}_{(aq)} + 2 e^{-}
\end{reactions}

Mathematische Formel

\begin{align}
	v \,= \, v_{\text{therm}} \,
	+ \, v_d
	\label{gl:geschwindigkeit-e}
\end{align}

\end{document}

Verfasst: Do 11. Jun 2015, 18:37
von scaer93
Vielen Dank für die Antwort. Da wäre ich wirklich nie darauf gekommen. Jetzt klappt es wirklich.

Und das steht wirklich in dem Manual? Ich muss es 2 Mal überlesen haben :oops:

Grüße
S.

Verfasst: Sa 13. Jun 2015, 21:41
von cgnieder
scaer93 hat geschrieben:Und das steht wirklich in dem Manual? Ich muss es 2 Mal überlesen haben :oops:
Indirekt schon: Dort steht zumindest, dass Leerzeichen den Input in verschiedene Teile auftrennen, die unterschiedlich behandelt werden. Dort steht auch, dass alle Inputteile, die nicht eindeutig einem Typ (Pfeil, stöchiometrischer Faktor, ...) zugeordnet werden können, als chemische Formel behandelt werden. In denen werden Ziffern als Tiefstellungen behandelt, was genau das ist, was Dich hier beißt.

Das mit den Inputteilen ist hier ganz gut beschrieben: Marking state change alongside reaction in chemmacros

Grüße,
Clemens