Zusammenfassen der Zähler von Chemie- und Matheumgebungen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Zusammenfassen der Zähler von Chemie- und Matheumgebungen

Re: Zusammenfassen der Zähler von Chemie- und Matheumgebungen

von cgnieder » So 5. Jul 2020, 11:15

Verrückte Idee eins: nimm doch die reactions-Umgebung für ausgerichtete Reaktionen:

\documentclass{scrartcl}
\usepackage{chemmacros}
\chemsetup[nomenclature]{hyphen-post-space=0pt, iupac=auto}
\usepackage{upgreek}
\usechemmodule{redox, reactions}

\begin{document}

\begin{reactions}
  Ca(OH)2 + H2CO3 -> CaCO3 + 2 H2O \\
  Ca^2+ + 2 OH- + 2 H+ + CO3^2- -> CaCO3 + 2 H2O
\end{reactions}

\begin{reaction}
  1/5 K "\ox{7,Mn}" O4 -> (1/10) "\ox{2,Mn}" Cl2
\end{reaction}

\end{document}

Verrückte Idee zwei, die tatsächlich Mathematik und Chemie zusammen zählt: verwende ausschließlich Mathe-Umgebungen:

\documentclass{scrartcl}
\usepackage{chemmacros}
\chemsetup[nomenclature]{hyphen-post-space=0pt, iupac=auto}
\usepackage{upgreek}
\usechemmodule{redox, reactions}

\begin{document}

\begin{align}
  \ch{Ca(OH)2 + H2CO3 -> CaCO3 + 2 H2O} \\
  \ch{Ca^2+ + 2 OH- + 2 H+ + CO3^2- -> CaCO3 + 2 H2O}
\end{align}

\begin{equation}
  a^2 + b^2 = c^2
\end{equation}

\begin{equation}
  \ch{1/5 K "\ox{7,Mn}" O4 -> (1/10) "\ox{2,Mn}" Cl2}
\end{equation}

\end{document}

Noch eine Anmerkung: chemmacros verwendet von sich aus in der Regel chemformula für die chemischen Reaktionen. Wenn du lieber mhchem verwendest, solltest du das chemmacros auch machen lassen, damit du ein konsistentes Dokument erhältst (ich habe oben stattdessen auf mhchem verzichtet und \ch von chemformula verwendet):

\documentclass{scrartcl}
\usepackage{chemmacros}
\usepackage[version=4]{mhchem}
\chemsetup{
  modules={redox, reactions},
  formula = mhchem
}

\begin{document}


\begin{align}
  \ce{Ca(OH)2 + H2CO3 -> CaCO3 + 2 H2O} \\
  \ce{Ca^2+ + 2 OH- + 2 H+ + CO3^2- -> CaCO3 + 2 H2O}
\end{align}

\begin{reactions}
  Ca(OH)2 + H2CO3 -> CaCO3 + 2 H2O \\
  Ca^2+ + 2 OH- + 2 H+ + CO3^2- -> CaCO3 + 2 H2O
\end{reactions}

\end{document}

Re: Zusammenfassen der Zähler von Chemie- und Matheumgebungen

von gast » Sa 4. Jul 2020, 21:10

Das stimmt weder mit dem von dir gezeigten (nicht korrekt als solcher markierten) Code noch mit meinem (korrekt als kopierbarer Code eingefügten) Beispiel überein. Die von Dir verwendete und von mir aufgegriffene Klasse hat auch gar keine Kapitel. Das Problem ist also so nicht nachvollziehbar → Minimalbeispiel.

Und ich empfehle noch einmal: Mach einen Feature-Request. Das ist westlich sinnvoller, als nachträglich an dem Paket herum zu patchen.

Re: Zusammenfassen der Zähler von Chemie- und Matheumgebungen

von mimiling » Sa 4. Jul 2020, 20:21

Vielen Dank schon mal! Allerdings sieht man immer noch deutlich den Unterschied. Meine Gleichungen sind mit dem "Update" folgendermaßen nummeriert:
reaction → 1
reaction → 2
align → 2.1 (die 2 vor dem Punkt bezieht sich auf das Kapitel)
align → 2.2
reaction → 3
usw.

Eine durchgehende Nummerierung wie align (also [Kapitel].[Formelnummer]) wäre mir tatsächlich am liebsten. Der einzige Grund, warum ich überhaupt Mathe und Chemie wild durcheinander werfe, ist, dass ich unter "reaction" keinen Zeilenumbruch machen kann.

Hast du noch einen Rat für mich?

Re: Zusammenfassen der Zähler von Chemie- und Matheumgebungen

von gast » Sa 4. Jul 2020, 19:58

Das ist eigentlich genau nicht vorgesehen. Man kann aber mit xpatch die Umgebung, aus dem reactions-Modul die Verwendung des Zählers reaction herauspatchen:

\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{chemmacros}\chemsetup[nomenclature]{hyphen-post-space=0pt, iupac=auto}
\usepackage{upgreek}
\usepackage[version=4]{mhchem}
\usepackage{ghsystem}
\usechemmodule{redox, reactions}

\usepackage{xpatch}
\ExplSyntaxOn

\xpatchcmd{ \__chemmacros_begin_reaction: }
  {
    \setcounter {equation} { \value {reaction} }
  } { } { } { \PatchFaiLure }

\xpatchcmd{ \__chemmacros_end_reaction: }
  {
    \setcounter {equation} { \value {chemmacros_save_reaction} }
  } { } { } { \PatchFaiLure }

% Nachfolgender Patch ist nur notwendig, wenn reaction kein eigenes Tag-Format verwenden soll
\xpatchcmd{ \__chemmacros_begin_reaction: }
  {
    \usetagform {reaction}
  } { } { } { \PatchFaiLure }

\ExplSyntaxOff

\begin{document}

\begin{align}
\ce{Ca(OH)2 + H2CO3 -> CaCO3 + 2 H2O} \\
\ce{Ca2+ + 2 OH- + 2 H+ + CO32- -> CaCO3 + 2 H2O}
\end{align}

\begin{reaction}
1/5 K "\ox{7,Mn}" O4 -> (1/10) "\ox{2,Mn}" Cl2
\end{reaction}

\begin{align}
  a &= b
\end{align}

\end{document}

Natürlich gibt es bei solchen Hacks keine Garantie, dass das auch in Zukunft noch funktioniert. Ich würde daher einen Feature-Request an den Autor empfehlen. Vielleicht kann er ja eine Option hinzufügen, um die Verwendung des eigenen Zählers abschaltbar zu machen.

BTW: Das Paket hat auch eine Option, um tocbasic zu verwenden und sich so besser an die verwendete KOMA-Script-Klasse anzulehnen.

Zusammenfassen der Zähler von Chemie- und Matheumgebungen

von mimiling » Sa 4. Jul 2020, 19:08

Liebes Forum,

wie der Titel schon sagt, möchte ich eine fortlaufende Nummerierung aller Gleichungen erhalten und zwar unabhängig davon, ob es sich um eine chemische (z. B. "reaction") oder mathematische (z. B. "align") Gleichung handelt.
Hier ein kleines Minimal-Beispiel:

\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{chemmacros}\chemsetup[nomenclature]{hyphen-post-space=0pt, iupac=auto}
\usepackage{upgreek}
\usepackage[version=4]{mhchem}
\usepackage{ghsystem}
\usechemmodule{redox, reactions}

\begin{document}

\begin{align}
\ce{Ca(OH)2 + H2CO3 -> CaCO3 + 2 H2O} \\
\ce{Ca2+ + 2 OH- + 2 H+ + CO32- -> CaCO3 + 2 H2O}
\end{align}

\begin{reaction}
1/5 K "\ox{7,Mn}" O4 -> (1/10) "\ox{2,Mn}" Cl2
\end{reaction}

\end{document}

Mein Ziel ist, dass die unterste Gleichung in diesem Fall Gleichung Nummer 3 wäre.
(Dass die Chemie im Beispiel nicht stimmt, ist mir selbstverständlich bewusst.)

Ich hoffe, jemand weiß eine Lösung.

Viele Grüße,
mimiling


Nach oben