Seite 1 von 1

Umgebung selbst definieren

Verfasst: Mo 20. Okt 2014, 11:08
von PeterHB
Guten Tag!

bei der Anfertigung meiner Masterarbeit arbeite ich häufig mit folgender Struktur:
\begin{subequations}
\begin{align}
1=x\\
2=y
\end{align}
\end{subequations}
Das dient dazu, die Gleichungen auszurichten und gleichzeitig mit Buchstaben zu nummerieren. Ich weiß, da gibt es noch andere Wege, das hier ist jedoch die, mit der ich arbeiten möchte.
Nun möchte ich das gern durch folgendes vereinfachen:
\newenvironment{subalign}
{\begin{subequations}
\begin{align}}
{\end{subequations}\end{align}
}
Wenn ich nun aber versuche folgendes Minimalbeispiel zu kompilieren
\documentclass{scrbook}
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage{lmodern} 
\usepackage{amsmath}

\newenvironment{subalign}
{\begin{subequations}
\begin{align}}
{\end{align}\end{subequations}
}

\begin{document}

\begin{subequations}
\begin{align}
1=x\\
2=y
\end{align}
\end{subequations}

\begin{subalign}
1=x\\
2=y
\end{subalign}

\end{document}
bekomme ich folgende Fehlermeldungen:
\begin{align} in input line 22 ended by \end{subalign}
\begin{subequations} in input line 22 ended by \end{document}
Das ist das erste Mal, dass ich mir eine eigene Umgebung definieren möchte und die Erfahrenen hier sehen wahrscheinlich sofort wo der Fehler ist.
Vielen Dank für Eure Hilfe,
Peter

Verfasst: Mo 20. Okt 2014, 11:20
von Noch so einer
Die Umgebungen von amsmath sind etwas speziell. Man kann sie nicht so ohne weiteres in der Definition neuer Umgebungen verwenden. Teilweise funktioniert es so:
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{amsmath}

\newenvironment{subalign}
{\subequations\align}
{\endalign\endsubequations}

\begin{document}

\begin{subequations}
\begin{align}
1=x\\
2=y
\end{align}
\end{subequations}

\begin{subalign}
1=x\\
2=y
\end{subalign}

\end{document}

Verfasst: Mo 20. Okt 2014, 11:38
von PeterHB
Wow, das ist mal eine schnelle Antwort!
Und die funktioniert auch noch!
Was genau meinst Du mit "teilweise"? Kennst Du Einschränkungen, die sich dadurch ergeben?

Gruß,
Peter

Verfasst: Mo 20. Okt 2014, 14:49
von Genmutant
Davon unabhängig hast du in deinem ersten Post einfach die beiden end Umgebungen vertauscht, damit geht es natürlich nicht :wink:

Verfasst: Mo 20. Okt 2014, 15:53
von PeterHB
Hi Genmutant,

was genau ist da vertauscht?
Ich fange mit subequations an und beeende sie als letztes.
Ich beginne mit align als zweites und beende es zuerst.

oder stehe ich hier auf dem Schlauch?

Verfasst: Mo 20. Okt 2014, 16:02
von Johannes_B
Im Minimmalbeispiel passt es, im Schnipsel allerdings nicht. Deswegen sind Minimalbeispiele so wichtig, denn so simple Fehler können ausgemerzt werden.

Verfasst: Di 21. Okt 2014, 08:16
von PeterHB
Da hast Du natürlich recht! Das war eine Variante, die ich getestet hatte, für den Fall, dass ich irgend etwas komplett falsch verstanden habe.
Leider weiß ich nicht, wie ich dies Frage als beantwortet markieren kann. Könnte das bitte einer der registrierten Nutzer bzw. Mods machen, falls sich die Zeit dafür findet?

Verfasst: Di 21. Okt 2014, 08:27
von Johannes_B
Über dem ersten Thread kannst du das auswählen, oder direkt beim Schreiben einer Antwort über dem Texteingabefeld.