PDA

View Full Version : addtocounter innerhalb einer align und subequations-Umgebung



Jagito
17-12-2009, 17:36
Hi,
benutze innerhalb einer subequations-umgebun eine align-umgebung, damit die formeln schön ausgerichtet sind.

Nun möchte ich innerhalb der align-Umgebung den Wert der Formelnummer hochsetzen, also z.B. 1.1 und 1.2, dann aber innerhalb derselben align-umgebung 2.1 und 2.2.

Minimalbeispiel:
\documentclass[a4paper]{scrartcl}
\usepackage{amsmath}

\begin{subequations}
\renewcommand\theequation{\theparentequation.\arab ic{equation}}
\begin{align}
&a+b=c \\ %1.1
&d+e=f \\ %1.2
\addtocounter{equation}{1}
&f+e+g+1+2+3+4+5+6=d \\ %2.1
&a+e=u %2.2
\end{align}
\end{subequations}

Mein gewünschtes Ergebnis der Formelnummerierung habe ich mit % hinter den Latex-Code gesetzt.
Eine Trennung beider Teile in separate align-Umgebungen scheitert daran, dass dann nicht alle vier Gleichungen gleich ausgerichtet sind.

Hat jemand eine Idee? Meine Idee wäre \addtocounter{equation}{1} zu verwenden, welcher aber erst ausserhalb der subequation raufzählt.

Vielleicht ist eine Trennung in zwei align-Umgebungen möglich, wie

\begin{subequations}
\renewcommand\theequation{\theparentequation.\arab ic{equation}}
\begin{align}
&a+b=c \\
&d+e=f
\end{align}
\end{subequations}

\begin{subequations}
\renewcommand\theequation{\theparentequation.\arab ic{equation}}
\begin{align}
&f+e+g+1+2+3+4+5+6=d \\
&a+e=u
\end{align}
\end{subequations}

nur ich schaffe dann die gleichmäßige Ausrichtung der Formeln nicht.

Gruß,
Jan

u_fischer
17-12-2009, 17:44
Minimalbeispiele sind keine Codeschnipsel sondern lauffähige Beispiele.

Jagito
17-12-2009, 17:59
Danke Ulrike für den Hinweis. Hatte \begin{document} und \end{document} vergessen.

Hier das komplette Minimalbeispiel. Hast du jetzt eine konkrete Idee, wie ich die Frage lösen könnte, jetzt wo das Beispiel läuft?

\documentclass[a4paper]{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\renewcommand\theequation{\theparentequation.\arab ic{equation}}
\begin{align}
&a+b=c \\ %1.1
&d+e=f \\ %1.2
\addtocounter{equation}{1}
&f+e+g+1+2+3+4+5+6=d \\ %2.1
&a+e=u %2.2
\end{align}
\end{subequations}
\end{document}

bzw. für den zweiten Fall

\documentclass[a4paper]{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\renewcommand\theequation{\theparentequation.\arab ic{equation}}
\begin{align}
&a+b=c \\
&d+e=f
\end{align}
\end{subequations}

\begin{subequations}
\renewcommand\theequation{\theparentequation.\arab ic{equation}}
\begin{align}
&f+e+g+1+2+3+4+5+6=d \\
&a+e=u
\end{align}
\end{subequations}
\end{document}

u_fischer
17-12-2009, 18:29
Naja, sowas ginge:


\documentclass[a4paper]{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\makeatletter
\renewcommand\theequation{%
\ifnum\the\c@equation<3
\theparentequation.\arabic{equation}%
\else
\the\numexpr\the\c@parentequation+1.\the\numexpr\t he\c@equation-2%
\fi}
\begin{align}
&a+b=c \\ %1.1
&d+e=f \\ %1.2
&f+e+g+1+2+3+4+5+6=d \\ %2.1
&a+e=u %2.2
\end{align}
\end{subequations}
\end{document}

Jagito
17-12-2009, 18:54
Eine kreative Lösung.:) Wie kann ich es schaffen, diese allgemein zu halten, da in meinem Dokument nicht immer nach zwei Formeln die nächst-höhere Nummer kommt.

Mein Versuch nur den Hauptbestandteil der Lösung

\renewcommand\theequation{\the\numexpr\the\c@paren tequation+1.\the\numexpr\the\c@equation-2}

manuell einzufügen, bringt nicht das gewünscht Ergebniss.


\documentclass[a4paper]{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\renewcommand\theequation{\theparentequation.\arab ic{equation}}
\begin{align}
&a+b=c \\ %1.1
&d+e=f \\ %1.2
&f+e+g+1+2+3+4+5+6=d \\ %1.3
&a+e=u \\%1.4
&f+e+g+1+2+3+4+5+6=d \\ %1.5
\renewcommand\theequation{\the\numexpr\the\c@paren tequation+1.\the\numexpr\the\c@equation-2}
&a+e=u \\ %2.1
&f+e+g+1+2+3+4+5+6=d \\ %2.2
&a+e=u %2.3
\end{align}
\end{subequations}
\end{document}

u_fischer
17-12-2009, 20:16
Du musst dann beide Definition in das align stecken. Aber ich weiß nicht, was du dabei gewinnst, die "-2" ist ja immer noch nicht besonders allgemein:


\documentclass[a4paper]{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{subequations}
\makeatletter
\begin{align}
\gdef\theequation{\theparentequation.\arabic{equat ion}}
&a+b=c \\ %1.1
&d+e=f \\ %1.2
\gdef\theequation{\the\numexpr\the\c@parentequatio n+1.\the\numexpr\the\c@equation-2}
&f+e+g+1+2+3+4+5+6=d\\ %2.1
&a+e=u %2.2
\end{align}
\end{subequations}

\end{document}