Umgebung selbst definieren

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


PeterHB

Umgebung selbst definieren

Beitrag 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

Noch so einer

Beitrag 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}

PeterHB

Beitrag 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

Genmutant
Forum-Guru
Forum-Guru
Beiträge: 488
Registriert: Di 8. Jul 2008, 11:00
Wohnort: Augsburg

Beitrag von Genmutant »

Davon unabhängig hast du in deinem ersten Post einfach die beiden end Umgebungen vertauscht, damit geht es natürlich nicht :wink:

PeterHB

Beitrag 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?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Im Minimmalbeispiel passt es, im Schnipsel allerdings nicht. Deswegen sind Minimalbeispiele so wichtig, denn so simple Fehler können ausgemerzt werden.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

PeterHB

Beitrag 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?

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Über dem ersten Thread kannst du das auswählen, oder direkt beim Schreiben einer Antwort über dem Texteingabefeld.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Antworten