Überbreite Formeln zentrieren

Formelsatz für Mathematik, Naturwissenschaften und Technik


Stefan Knauf
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Di 11. Okt 2011, 20:35

Beitrag von Stefan Knauf »

Mechanicus hat geschrieben:Hi,

das liegt an dem Paket showframe. Es zeichnet u.a. den Textbereich. Ich habe es eingebunden, um zu verdeutlichen, dass die Formel zentriert ist.

Die Installation von MikTeX 2.9 bedeutet nicht, dass die Paket aktuell sind. Ab und zu muss ein Paket aktualisiert bzw. nachinstalliert werden.

Marco

Hallo Marco!

Ah, das wusste ich nicht. Ich habe nun alle Pakete aktualisiert. Danke für den Hinweis! Was man nicht alles lernt, wenn man mal in einem Forum fragt... Nun funktioniert auch Dein Beispielcode bei mir.

Ich vermute, dass Deine Lösung zum Zentrieren die untere Formel perfekt zentriert. Die obere Formel soll und wird natürlich so darüber gesetzt werden, dass die beiden Stellen, die im Quelltext mit dem & markiert sind, übereinander stehen. Allerdings gibt es da ein Detail, das mich stört. Bei meiner Lösung mit den neun negativen Ein-Sechstel-Leerzeichen sieht es so aus, als ob es perfekt zentriert wäre, weil die obere Formel praktisch so gut wie zentriert ist. Bei Deiner Lösung ist die obere Formel offensichtlich nicht zentriert (ob die untere Formel zentriert ist, sieht man mit bloßem Auge eh nicht so genau).
Gibt es eine Möglichkeit, die obere Formel perfekt zu zentrieren und dass dann die untere Formel so darunter gesetzt wird, dass die beiden mit & markierten Stellen übereinander stehen? Das wäre echt perfekt (denke ich, aber sicher bin ich mir immer frühestens dann, wenn ich es sehe :)).

MfG
Stefan

Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

Hi,

der Trick mit makebox basiert darauf, dass die längste Gleichung bezogen auf den Textbereich zentriert wird. Somit wird die erste also nach der zweiten ausgerichtet.

Eine andere Möglichkeit unter Nutzung des Paketes mathtools (welches sowieso geladen werden sollte), ist der Verwendung von \mathrlap und \mathllap:
\documentclass[a4paper, 11pt]{article} % für das Papierformat

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{showframe}
\usepackage{mathtools}
\begin{document} % Der Beginn des eigentlichen Dokuments

\noindent\makebox[\linewidth][c]{%
\parbox{\linewidth}{%
\begin{align*}
\forall 2k\in n &\forall t\in {}^{n-(2k+1)} 2:\ \varphi_{G_1} \circ g^l(t)=(\varphi_X\circ f^l(s_{2k} {}^\smallfrown 0 {}^\smallfrown t), \varphi_X \circ f^l(s_{2k} {}^\smallfrown 1 {}^\smallfrown t))\\
\forall 2k+1\in n &\forall t\in {}^{n-(2k+2)} 2:\ \varphi_{G_2} \circ g^l(t)=(\varphi_X\circ f^l(s_{2k+1} {}^\smallfrown 0 {}^\smallfrown t), \varphi_X \circ f^l(s_{2k+1} {}^\smallfrown 1 {}^\smallfrown t))
\end{align*}%
}}

\begin{align*}
\forall 2k\in n &\forall t\in {}^{n-(2k+1)} 2:\ \varphi_{G_1} \circ g^l(t)=(\varphi_X\circ f^l(s_{2k} {}^\smallfrown 0 {}^\smallfrown t), \varphi_X \circ f^l(s_{2k} {}^\smallfrown 1 {}^\smallfrown t))\\
\mathllap{\forall 2k+1\in n }&\mathrlap{\forall t\in {}^{n-(2k+2)} 2:\ \varphi_{G_2} \circ g^l(t)=(\varphi_X\circ f^l(s_{2k+1} {}^\smallfrown 0 {}^\smallfrown t), \varphi_X \circ f^l(s_{2k+1} {}^\smallfrown 1 {}^\smallfrown t))}
\end{align*}


\begin{align*}
\forall 2k\in n &\forall t\in {}^{n-(2k+1)} 2:\ \varphi_{G_1} \circ g^l(t)=(\varphi_X\circ f^l(s_{2k} {}^\smallfrown 0 {}^\smallfrown t), \varphi_X \circ f^l(s_{2k} {}^\smallfrown 1 {}^\smallfrown t))\\
\!\!\!\!\!\!\!\!\!\forall 2k+1\in n &\forall t\in {}^{n-(2k+2)} 2:\ \varphi_{G_2} \circ g^l(t)=(\varphi_X\circ f^l(s_{2k+1} {}^\smallfrown 0 {}^\smallfrown t), \varphi_X \circ f^l(s_{2k+1} {}^\smallfrown 1 {}^\smallfrown t))
\end{align*}

\end{document}
Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

Stefan Knauf
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Di 11. Okt 2011, 20:35

Beitrag von Stefan Knauf »

Hallo Marco!

Danke für die ganzen Auskünfte! Bewirkt die Lösung mit \mathrlap und \mathllap, dass die align*-Umgebung an der oberen Formel ausgerichtet wird und alles, das in den Klammern vom \mathllap steht, rechtsbündig links und alles, das in den Klammern vom \mathrlap steht, linksbündig rechts von der mit & markierten Stelle positioniert wird?
Und warum sollte man das Paket mathtools sowieso laden? Ich würde sonst einfach immer genau die Pakete laden, die ich für die verwendeten Kommandos benötige.

MfG
Stefan

Mechanicus
Forum-Guru
Forum-Guru
Beiträge: 322
Registriert: Mi 8. Okt 2008, 18:41
Wohnort: Hamburg

Beitrag von Mechanicus »

Hi,

Du hast mathrlap richtig beschrieben, als Ergänzung: Die Breite der Box ist aber auch 0pt, so dass eben die erste Zeile Zentriert wird.

mathtools bereinigt einige Fehler von amsmath. Erläuterungen findest du in der Anleitung. (und stellt die Anweisung \mathrlap bereit).

Aber du lädst doch das Paket babel, ohne vermutlich nur ein Kommando des Paketes zu verwenden :D

Marco
Personalführung ist die Kunst der Vorgesetzten den Untergebenen so schnell über den Tisch zu ziehen, dass er die Reibungshitze als Nestwärme empfindet.

Stefan Knauf
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Di 11. Okt 2011, 20:35

Beitrag von Stefan Knauf »

Hallo Marco!

Äh, ja, Du hast Recht. Das Paket babel lade ich für die Silbentrennung. Ich meinte eher, dass ich genau die Pakete einbinden möchte, von denen ich weiß, dass es einen Sinn macht, sie einzubinden. Weil Du schriebst, dass ich das Paket babel lade, dachte ich zuerst, ich hätte es beim Erstellen des Minimalbeispiels zu entfernen vergessen, aber Du musst wohl einfach geraten haben, dass ich dieses Paket benutze.

Danke für die Hilfe!

MfG
Stefan

Antworten