Seite 1 von 2
Nummerierung von Gleichungen in Array-Umgebung
Verfasst: Di 21. Mär 2017, 16:50
von Andre2786
Hallo;
ich erbitte Hilfe!!
Bei der Entwicklung einer chem. Reaktionsgleichung möchte ich alles zentriert untereinander und die zweite und dritte Zeile soll eine Nummerierung bekommen. Leider habe ich mittels der Einbindung einer eqnarray-Umgebung nur eine mittige Nummerierung hinbekommen (ist im MB nicht aufgeführt).
Ich danke bereits im Vorab für eure Hilfe!!
VG Andre
\documentclass[%
]
{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{chemfig}
\usepackage[version=3]{mhchem}
\begin{document}
\[
\begin{array}{ccccccc}
\ce{CH_4}& +& \ce{2O_2}& \ce{->}& \ce{CO_2}& +& \ce{2 H_2O} \vspace{5mm}\\
\ce{1 mol \cdot 16 \frac{g}{mol}}& +& \ce{4 mol \cdot 16 \frac{g}{mol}}&\ce{->}& \ce{1 mol \cdot 44 \frac{g}{mol}}& +& \ce{2 mol \cdot 18 \frac{g}{mol}} \vspace{5mm} \\ % Hier soll eine Nummerierung erscheinen
16g& +& 64g& \ce{->}& 44g& +& 36g \vspace{5mm}\\ % Und hier sollauch eine Nummerierung hin
& 80g & & \ce{->}& & 80g
\end{array}
\]
\end{document}
[/d]
Verfasst: Di 21. Mär 2017, 20:28
von Rolli
Hallo Andre2786,
Versuche mal die Logik anders herum: Die \align- bzw. \flalign- Umgebung macht Zeilennummern, und wenn Du keine willst: \nonumber
So wie ich das sehe, wird \array innerhalb einer Mathematikumgebung wie eine Zeile behandelt, also weg damit.
Hilft Dir so etwas in der Art weiter:
\documentclass[%
]
{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{chemfig}
\usepackage[version=3]{mhchem}
\begin{document}
\begin{flalign}
\ce{CH_4}& +& \ce{2O_2}& \ce{->}& \ce{CO_2}& +& \ce{2 H_2O} \vspace{5mm} \nonumber \\
\ce{1 mol \cdot 16 \frac{g}{mol}}& +& \ce{4 mol \cdot 16 \frac{g}{mol}}&\ce{->}& \ce{1 mol \cdot 44 \frac{g}{mol}}& +& \ce{2 mol \cdot 18 \frac{g}{mol}} \vspace{5mm} \\ % Hier soll eine Nummerierung erscheinen
16g& +& 64g& \ce{->}& 44g& +& 36g \vspace{5mm}\\ % Und hier sollauch eine Nummerierung hin
& 80g & & \ce{->}& & 80g \nonumber
\end{flalign}
\end{document}
Gruß Rolli
Verfasst: Di 21. Mär 2017, 21:12
von Andre2786
Hallo Rolli,
Danke für deine Antwort. Leider ist das nicht was ich suche. Alle Umgebungen (\align; \flalign) setzen nicht zentriert. Einmal wird links und dann rechtsbündig gesetzt. Bei der Array-Umgebung kann ich die Ausrichtung vorgeben; genau was ich suche, leider bekomme ich aber die Formel-Nummerierung nicht dahinter.
Gruß Andre
Verfasst: Di 21. Mär 2017, 21:33
von Rolli
Hallo Andre,
na dann schreibe doch den aktuellen Wert des Formelzählers direkt an die Stelle hin, wo Du ihn haben willst:
\documentclass{scrartcl}
\begin{document}
\refstepcounter{equation}%erhöht den Formelzähler um 1
\[ a+b=c \quad \theequation \]%\theequation gibt den aktuellen Wert des Formelzählers aus
\refstepcounter{equation}
\[ x+y=42 \quad \theequation \]
\end{document}
Gruß Rolli[/quote]
Verfasst: Di 21. Mär 2017, 22:18
von Andre2786
Hallo Rolli,
der Weg ist genau richtig! Jetzt fehlt noch die gleichmäßige Darstellung. Habe mein MB erweitert. Einmal wird die Nummerierung in Klammern gesetzt und einmal nicht; auch die Abstände zum Blattrand sind unterschiedlich.
Vielen Dank schon mal im Vorab!!
\documentclass[%
]
{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{chemfig}
\usepackage[version=3]{mhchem}
\usepackage{amstext}
\begin{document}
\begin{equation}
\text{eine Formel mit einer Nummer}
\end{equation}
\\
\[
\begin{array}{ccccccc}
\ce{CH_4}& +& \ce{2O_2}& \ce{->}& \ce{CO_2}& +& \ce{2 H_2O} \vspace{5mm}\\
\refstepcounter{equation}
\ce{1 mol \cdot 16 \frac{g}{mol}}& +& \ce{4 mol \cdot 16 \frac{g}{mol}}&\ce{->}& \ce{1 mol \cdot 44 \frac{g}{mol}}& +& \ce{2 mol \cdot 18 \frac{g}{mol}} \quad \theequation \vspace{5mm} \\
16g& +& 64g& \ce{->}& 44g& +& 36g \vspace{5mm}\\
& 80g & & \ce{->}& & 80g
\end{array}
\]
\end{document}
Verfasst: Di 21. Mär 2017, 22:32
von Andre2786
Da bin ich gleich nochmal.
Eine Referenzierung auf die neuen Gleichungsnummern mit \label{} und Bezug mittels \ref{} funktioniert auch noch nicht.
Verfasst: Di 21. Mär 2017, 22:51
von Rolli
Das mit den Klammern ist simpel: Einfach drum machen (\theequation) statt \theequation
Das mit den rechtsbündigen Formelnummern ist auch simpel: Eine neue rechtsbündige array-Spalte rechts dran hängen und da die Formelnummern rein schreiben. Wo keine Formelnummer sein soll: Einfach kein & bzw leer lassen.
Dass diese neue Spalte auch automatisch am rechten Zeilenrand hängt, ist für mich zu schwierig - bin auch nur ein Anfänger, sorry. Wenn Du das in Deinem Dokument nur 1 oder 2-mal brauchst: Mein Workaround siehe im Beispiel. Links noch eine neue Spalte davor, darein in einer beliebigen Zeile so viele Leerräume, bis Dir der linke Rand passt. Dann in einer der rechten Spalten mit Formelnummer vor der Nummer so viele Leerräume, bis die Formelnummer am rechten Seitenrand anstößt. Das Ganze möglicherweise 2 ... 3 mal iterieren, bis es passt.
Leerräume kriegst Du mit \ \, \; \quad \qquad und ein paar mehr dergleichen.
Ich weiß - es ist fürchterliches Gebastele, aber der Zweck heiligt die Mittel. Wenn Du es nur 1 oder 2-mal brauchst.
Und was die Labels angeht: Auch da bin ich überfragt. Die Referenz funktioniert zwar als reine Nummer, aber leider innerhalb der Mathematikumgebung offenbar nicht als Hyperref.
Warum nicht? Ich hoffe, es meldet sich ein Profi, erklärt uns das, und hilft weiter.
Gruß Rolli
\documentclass[%
]
{scrartcl}
\usepackage[ngerman]{babel}
\usepackage{chemfig}
\usepackage[version=3]{mhchem}
\usepackage{amstext}
\usepackage{hyperref}
\begin{document}
\begin{equation}
\text{eine Formel mit einer Nummer} \label{eqn:Formel-1}
\end{equation}
\\
\[
\begin{array}{lcccccccr}
\; & \ce{CH_4}& +& \ce{2O_2}& \ce{->}& \ce{CO_2}& +& \ce{2 H_2O} & \qquad\qquad \vspace{5mm}\\
\refstepcounter{equation}
& \ce{1 mol \cdot 16 \frac{g}{mol}}& +& \ce{4 mol \cdot 16 \frac{g}{mol}}&\ce{->}& \ce{1 mol \cdot 44 \frac{g}{mol}}& +& \ce{2 mol \cdot 18 \frac{g}{mol}} & (\theequation) \label{eqn:Formel-2} \vspace{5mm} \\
\refstepcounter{equation}
& 16g& +& 64g& \ce{->}& 44g& +& 36g & (\theequation) \vspace{5mm}\\
&& 80g & & \ce{->}& & 80g
\end{array}
\]
\noindent
Gleichung 1: Siehe \ref{eqn:Formel-1} \\
Gleichung 2: Siehe \ref{eqn:Formel-2} \\
\end{document}
Verfasst: Di 21. Mär 2017, 23:01
von Rolli
... noch ein Nachtrag:
Nach diversen Normen (u.a. ISO 80000, DIN 1313 und DIN 1338) gehört zwischen Zahlenwert und Einheit ein geschütztes Leerzeichen.
Falsch ist, was Du schreibst: 1 mol, weil die Mathematikumgebung in LaTeX die "Leertaste" ignoriert.
Richtig nach Norm ist 1~mol: Die Tilde ~ macht das geschützte Leerzeichen.
Warum manche gelernte Typographen normwidrig ein halbes geschütztes Leerzeichen \, propagieren, ist mir allerdings schleierhaft.
LG Rolli
Verfasst: Di 21. Mär 2017, 23:03
von Andre2786
Hallo Rolli,
vielen Dank für heute!!
Wenn du ein Anfänger bist, weiß ich nicht, wie ich mich nennen soll
Die Richtung ist schon mal klar.
Schaun wir mal, was der morgige Tag bringt.
Gruß Andre
Verfasst: Mi 22. Mär 2017, 11:44
von markusv
Rolli hat geschrieben:Und was die Labels angeht: Auch da bin ich überfragt. Die Referenz funktioniert zwar als reine Nummer, aber leider innerhalb der Mathematikumgebung offenbar nicht als Hyperref.
Warum nicht? Ich hoffe, es meldet sich ein Profi, erklärt uns das, und hilft weiter.
Ich bin zwar kein Profi, aber die fehlende (hyper)ref-Verlinkung rührt wahrscheinlich daher, dass \[...\] lediglich eine Umgebung für abgesetzte Formeln ist, nicht für nummerierte abgesetzte Formeln, wie equation.
Ansonsten ist die Lösung an quick and dirty kaum zu übertreffen. Ich hoffe, man kann hier noch eine alternative Lösung anbieten, ich kann es leider nicht.