Nummerierung von Gleichungen in Array-Umgebung

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: Nummerierung von Gleichungen in Array-Umgebung

von Andre2786 » Do 23. Mär 2017, 21:08

Wow!!
Vielen Dank,sieht genau so aus, wie ich es wollte!!
Leider bekomme ich beim Kopieren nach TeXnicCenter 101 Fehler gemeldet?!
Das muss ich mir nochmal anschauen, aber nicht mehr heute;-)
Viele Grüße

von markusv » Do 23. Mär 2017, 13:25

Hallo,

da das Thema mir keine Ruhe gelassen hat, habe ich mich damit noch einmal beschäftigt.

Das Problem habe ich folgendermaßen gelöst.
Die längste Formel wurde in eine \hphantom{}-Umgebung gepackt und zu einem neuen Befehl (der Übersicht halber) definiert.

Der Einsatz des neuen Befehls ermöglicht es, mehrere Mathematik-Umgebungen mit demselben Aussehen der array-Umgebung zu erstellen.

Die so ermöglichten einzelnen Umgebungen können nun wahlweise mit oder ohne Nummerierung erfolgen. Zur Korrektur der Höhe der "Ausrichtungsformel" ist hinter dem Zeilenende ein [-2ex] eingefügt.

Der Code:
\documentclass[% 
] 
{scrartcl} 
\usepackage[ngerman]{babel} 
\usepackage{chemfig} 
\usepackage[version=3]{mhchem} 
\usepackage{amstext} 
\usepackage[locale=DE,per-mode=fraction]{siunitx}
\usepackage{hyperref} 
\usepackage{blindtext}
\newcommand{\hphantomG}{\ensuremath{\hphantom{\SI{1}{\mol} \cdot \SI{16}{\gram\per\mol}}&\hphantom{ +}&\hphantom{\SI{4}{\mol} \cdot \SI{16}{\gram\per\mol}}&\hphantom{\ce{->}}&\hphantom{\SI{1}{\mol} \cdot \SI{44}{\gram\per\mol}}&\hphantom{ +}&\hphantom{\SI{2}{\mol} \cdot \SI{18}{\gram\per\mol}}\\[-2ex]}}
\begin{document} 
\begin{equation} 
\text{eine Formel mit einer Nummer} \label{eqn:Formel-1} 
\end{equation} 
\begin{equation*}
\begin{array}{ccccccc}
    \hphantomG
    \ce{CH_4}& +& \ce{2O_2}& \ce{->}& \ce{CO_2}& +& \ce{2 H_2O}
\end{array}    
\end{equation*}
\begin{equation}
\begin{array}{ccccccc}
    \SI{1}{\mol} \cdot \SI{16}{\gram\per\mol}& +& \SI{4}{\mol} \cdot \SI{16}{\gram\per\mol}&\ce{->}& \SI{1}{\mol} \cdot \SI{44}{\gram\per\mol}& +& \SI{2}{\mol} \cdot \SI{18}{\gram\per\mol} \label{eqn:Formel-2}\\
\end{array}    
\end{equation}
\begin{equation}
\begin{array}{ccccccc}
    \hphantomG
    \SI{16}{\gram}& +& \SI{64}{\gram}& \ce{->}& \SI{44}{\gram}& +& \SI{36}{\gram} \label{eqn:Formel-3}\\
\end{array}    
\end{equation}
\begin{equation*}
\begin{array}{ccccccc}
    \hphantomG
    & \SI{80}{\gram} & & \ce{->}& & \SI{80}{\gram}
\end{array}    
\end{equation*}
\noindent 
 Gleichung 1: Siehe \ref{eqn:Formel-1} \\ 
 Gleichung 2: Siehe \ref{eqn:Formel-2} \\
 Gleichung 3: Siehe \ref{eqn:Formel-3} 
\end{document}
EDIT: Ich habe mir noch erlaubt, die Einheiten und Größen anzupassen.
Mittels siunitx werden die Einheiten aufrecht und mit korrektem (offensichtlich nicht nach DIN/EN/ISO was auch immer) Abstand zur Größe dargestellt.

von markusv » Mi 22. Mär 2017, 11:44

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.

von Andre2786 » Di 21. Mär 2017, 23:03

Hallo Rolli,

vielen Dank für heute!!
Wenn du ein Anfänger bist, weiß ich nicht, wie ich mich nennen soll :lol:
Die Richtung ist schon mal klar.
Schaun wir mal, was der morgige Tag bringt.

Gruß Andre

von Rolli » Di 21. Mär 2017, 23:01

... 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

von Rolli » Di 21. Mär 2017, 22:51

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}

von Andre2786 » Di 21. Mär 2017, 22:32

Da bin ich gleich nochmal.
Eine Referenzierung auf die neuen Gleichungsnummern mit \label{} und Bezug mittels \ref{} funktioniert auch noch nicht.

von Andre2786 » Di 21. Mär 2017, 22:18

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}

von Rolli » Di 21. Mär 2017, 21:33

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]

von Andre2786 » Di 21. Mär 2017, 21:12

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

Nach oben