Formel an mehreren Punkten ausrichten

Formelsatz für Mathematik, Naturwissenschaften und Technik


Murray
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: So 19. Jul 2009, 18:55

Formel an mehreren Punkten ausrichten

Beitrag von Murray »

Hallo. Ich habe eine etwas lange Formel, die ich mit der split-Umgebung über mehrere Zeilen fortsetze. Nun möchte ich die Formel an zwei Punkten ausrichten lassen.

Hier ein kurzes Minimalbeispiel:
\documentclass[11pt,a4paper,fleqn]{report}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}

\begin{equation}
\begin{split}
f1 =	J \sum s_1 s_2
	&+ J_{\text{test}} \sum (s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\
	&+ J_{\text{test2}} \sum (s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\
	&+ J_{\text{test}}\sum (\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	&\qquad + \left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	&\qquad+ \left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	&+ J_{\text{test}} \sum (\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	&\qquad+ \left( s_1 s_2\right) \left(s_3 s_4\right))
\end{split}
\end{equation}

\begin{equation}
\begin{split}
f2 =	J \sum s_1 s_2
	+ J_{\text{test}} \sum &(s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\
	+ J_{\text{test2}} \sum &(s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\
	+ J_{\text{test}}\sum &(\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	+ &\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	+ &\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	+ J_{\text{test}} \sum &(\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
	+ &\left( s_1 s_2\right) \left(s_3 s_4\right))
\end{split}
\end{equation}

\end{document}
Ich würde nun ganz gerne beide Ausrichtungen, also einmal an den J's und einmal an den Klammern bzw. Summenzeichnen.

Wie kriege ich das hin?

Danke für eure Hilfe.

Lg Murray

phi
Moderator
Moderator
Beiträge: 420
Registriert: Fr 6. Feb 2009, 21:28

Beitrag von phi »

Hallo,

die alignedat-Umgebung kann als Verallgemeinerung der split-Umgebung benutzt werden:
\begin{equation} 
\begin{alignedat}{2} 
f2 =   J \sum s_1 s_2 
   &{}+{}& J_{\text{test}} \sum &(s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\ 
   &{}+{}& J_{\text{test2}} \sum &(s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\ 
   &{}+{}& J_{\text{test}}\sum &(\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\ 
   &{}+{}& &\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\ 
   &{}+{}& &\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\ 
   &{}+{}& J_{\text{test}} \sum &(\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\ 
   &{}+{}& &\left( s_1 s_2\right) \left(s_3 s_4\right)) 
\end{alignedat} 
\end{equation} 
Die leeren Gruppen {} um die Pluszeichen sind hier nötig, damit die Pluszeichen korrekt als binäre Operatoren formatiert werden.

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Formeln mit Ausrichtung

Beitrag von Stefan Kottwitz »

Hallo Murray,

für mehrzeilige Formeln mit Ausrichtung an mehreren Stellen eignen sich alignat und alignedat, beispielsweise:
\documentclass[11pt,a4paper,fleqn]{report}
\usepackage{amssymb}
\usepackage{amsmath}
\begin{document}
\begin{equation}
\begin{alignedat}{2}
f1 =   J \sum s_1 s_2
   &+ J_{\text{test}} &&\sum (s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\
   &+ J_{\text{test2}} &&\sum (s_1 s_2+s_1 s_2 + s_1 s_2 + s_1 s_2) \\
   &+ J_{\text{test}}&&\sum (\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
   &\qquad &&+ \left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
   &\qquad&&+ \left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
  &+ J_{\text{test}} &&\sum (\left( s_1 s_2\right) \left(s_3 s_4\right)+ \left(s_3 s_4\right) \left(s_3 s_4\right) \\
   &\qquad&&+ \left( s_1 s_2\right) \left(s_3 s_4\right))
\end{alignedat}
\end{equation}
\end{document}
Viele Grüße,

Stefan

Murray
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: So 19. Jul 2009, 18:55

Beitrag von Murray »

Danke für die Antworten :) Hat mir sehr geholfen.

Lg Murray

pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

Hi,
ich versuche eine Umformung auszurichten, bekomme es aber mit alignat nicht hin. D.h. es kompiliert erfolgreich, aber die rechte Seite ist nicht ausgerichtet.
Was ist falsch?
\begin{alignat}{3}
 &\quad a - \tilde x 			& = q \\
\Leftrightarrow{}  &\quad a - x_{\max} + 200000 	& = q_{blubb} \\
\Leftrightarrow{}  &\quad a 	& = x_{\max}
\end{alignat}
Auch mit dem Argument {2} klappt es nicht.

Danke und gruß

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 826
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Ausrichtung

Beitrag von localghost »

\begin{alignat}{2}
                          && a-\tilde x        &= q \\
  \Leftrightarrow{}\quad  && a-x_{\max}+200000 &= q_{blubb} \\
  \Leftrightarrow{}\quad  && a                 &= x_{\max}
\end{alignat}
Erklärungen siehe Anleitung von amsmath oder »Math mode«.

Bitte den Status des Themas aktuell halten.


Thorsten
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

Danke, Thorsten!

Beide von dir vorgeschlagenen Dokumente sind bereits offen :-)
Eine Rückfrage: Da ich in meinem PDF-Viewer anscheinend nicht nach dem '&'-Symbol suchen kann: Was bedeutet das doppelte "&&" ?

Danke

EDIT:
Ach nee! Jetzt ist ja die 1.Spalte rechts ausgerichtet an das Gleichzeichen? Kann es nicht links ausgerichtet bleiben und den Platz nach rechtshin mit Leeraum auffüllen, sodass die Gleichzeichen weiterhin untereinander stehen?

EDIT 2:
Wie witizg: Mein Edit_1 beanwortet schon meine Frage durch stupides Try&Error: Das doppelte &-Zeichen eine Spalte nach rechts verschieben.
Naja, aber die richtige theoretische Antwort kenn ich leider noch nicht :-)

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 826
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Anleitungen lesen

Beitrag von localghost »

pooz hat geschrieben:[…] Beide von dir vorgeschlagenen Dokumente sind bereits offen […]
Schön und gut. Aber liest Du auch drin? Zumindest »Math mode« beschreibt in Abschnitt 25.2 (ziemlich am Schluss) die Struktur von alignat ansatzweise. Vielleicht nochmal eine andere Beschreibung.

Denke dir diese Umgebung als ein array mit einer Ausrichtung der Spalten wie im Code unten angeben.
\begin{array}{rlrl}
             & a-\tilde x        &&= q \\
  \iff\quad  & a-x_{\max}+200000 &&= q_{blubb} \\
  \iff\quad  & a                 &&= x_{\max}
\end{array}
Dies entspricht der Anzahl an Spalten, wie Du sie im zwingenden Argument von alignat angibst (also 2). Für die richtige Ausrichtung brauchst Du aber 3=2+1 mal »&«. Verallgemeinert man das jetzt, so braucht es für n Spalten im Argument von alignat demnach n+1 Spaltentrenner. Diese Faustregel solltest Du dir im Umgang mit alignat merken. In ähnlicher Weise beschreibt dies auch die Anleitung von »amsmath«.
pooz hat geschrieben:[…] Naja, aber die richtige theoretische Antwort kenn ich leider noch nicht […]
Die solltest Du nach den Ausführungen von oben jetzt erhalten haben.
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

pooz
Forum-Anfänger
Forum-Anfänger
Beiträge: 48
Registriert: Fr 19. Feb 2010, 10:56

Beitrag von pooz »

Danke für deine Hilfe,

aber ich verstehe es nicht.

Zum einen, habe ich gelesen, dass das optionale Argument mit (k+1) / 2 ermittelt wird, wobei k die Anzahl an '&'-Symbolen darstellt, zum anderen verstehe ich nicht, warum ich für n spalten n+1 Trenner benötige, anstatt n-1 ?
Ein Trenner trennt 2 Spalten.

Weiter ist mir leider gerad nicht klar, warum die Ausrichtung jetzt funktioniert, nur weil ich das doppelte & an der einen Spalte entfernt habe, und einen weiter Rechts angefügt habe.

Und weiter ist mir nicht deutlich geworden, unabhängig von der Anzahl an &-Symbolen, was es zu bedeuten hat, wenn sie doppelt auftauchen, also zwischen Ihnen nichts enthalten ist.

Klar lese ich dir Dokumente. Ich habe das Beispiel ja aus Herrn Voß' Text heraus kopiert (Seite 46, erster Code (II-54 - II-55), aus v2.44). Aber es hat nicht das gewünschte Ergebnis geliefert.

Das hier tuts, aber ich verstehe es nicht ganz.

\begin{alignat}{2}
                          & a-\tilde x        &&= q \\
  \Leftrightarrow{}\quad  & a-x_{\max}+200000 &&= q_{blubb} \\
  \Leftrightarrow{}\quad  & a                 &&= x_{\max}
\end{alignat}

Benutzeravatar
localghost
Forum-Meister
Forum-Meister
Beiträge: 826
Registriert: Di 8. Jul 2008, 15:40
Wohnort: Braunschweig

Nächster Versuch

Beitrag von localghost »

In meinem letzten Beitrag habe ich zugegebenermaßen ziemlichen Blödsinn erzählt. Das, was Du gelesen hast, ist schon richtig. Steht glaube ich so in der Anleitung zu »amsmath«. Besser merken kann ich mir, dass wenn ich n Gleichungen in Spalten ausrichten will, ich 2n-1 Spaltentrenner brauche.

Das Verständnis von Spalten ist also nicht so wie im array. Man muss unterscheiden zwischen Spalten, in denen die kompletten Gleichungen stehen (das ist auch die Zahl, die im Argument der Umgebung angegeben wird), und den Spalten, in denen jeweils die beiden Seiten einer Gleichung stehen. In der Umgebung alignat trennen alle »&« an ungeraden Stellen zwei Seiten einer Gleichung und alle »&« an geraden Stellen trennen diese Gleichungen voneinander.

Die Ausrichtung funktioniert jetzt, weil alle Teile deiner Gleichungen in der richtigen Spalte stehen. Folgen zwei »&« aufeinander, so bedeutet das, dass auf einer Seite einer Gleichung einfach nichts steht. Das trifft in deinem Beispiel auf den Teil am Gleichheitszeichen zu. Unmittelbar davor steht nichts. Die Äquivalenzzeichen am Anfang sind rechtsbündig. Man merkt es nur nicht, weil sie beide gleich breit sind. Der nächste Teil nachdem ersten »&« wird linksbündig gesetzt. Würde jetzt nur ein weiteres »&« kommen, erfolgt eine Trennung zwischen zwei Gleichungen, bei der kein zusätzlicher Zwischenraum eingefügt wird. Stünde danach Text, wird dieser wieder rechtsbündig gesetzt. In deinem Beispiel steht dort aber ein rechtsbündig gesetztes Nichts. Deshalb funktioniert auch ein zweites »&« gleich danach, das den nächsten Teil wieder linksbündig setzt.

In Form von Code sieht das dann wie folgt aus.
\begin{alignat}{2}
  a+b &= c+d &\qquad a+b &= c+d \\
    x &= y   &   x &= y
\end{alignat}
Die Abfolge der »&« ist also im wesentlichen für die Ausrichtung des Inhalts zuständig. Wenn Du in obigem Beispiel in beiden Zeilen alles vor dem dritten »&« löschst, bist Du wieder genau bei deinem Beispiel angekommen. Mit diesen Beschreibungen habe ich es hoffentlich jetzt auf den Punkt gebracht.
TeX und LaTeX, Fragen und Antworten – TeXwelt

¹ Es tut mir Leid. Meine Antworten sind begrenzt. Sie müssen die richtigen Fragen stellen.
² System: TeX Live 2024, TeXworks

Antworten