Seite 1 von 1

alignat rechtsbündig, Gleichheitszeichen untereinander

Verfasst: Sa 8. Nov 2014, 20:03
von oaahy
Ich möchte folgende Gleichungen ausrichten, so dass die Gleichheitszeichen und der 'mod' untereinanderstehen, aber innerhalb sollen die Zahlen rechtsbündig sein.
Ich habe Folgendes versucht, ich hoffe meine Intention ist verständlich
\begin{alignat*}{6}
S_1&=4\\
S_2&=S_1^2-2 =& 16-2 = & 14 && \equiv & 14 && \mod{31}\\
S_3&=S_2^2-2 =& 196-2 = & 194 && \equiv & 8 && \mod{31}\\
S_4&=S_3^2-2 =& 64-2 = & 62 && \equiv & 0 && \mod{31}
\end{alignat*}
Alles was hinter einem einfachen & soll rechtsbündig sein, bis das Gleichheitszeichen kommt.
Meine Problem ist, dass zwar beim ersten Teil '16-2' '196-2' und '64-2' die Rechtsbündigkeit stimmt, aber bei '196-2' kein Abstand zwischen Gleichheitszeichen und '196-2' herrscht.
Ebenso wird der nächste Teil mit '14' '194' und '62' nicht rechtsbündig angeordnet.
Der letze Teil mit '14' '8' und '0' wird zwar wieder rechtbündig angeordnet, aber es gibt wieder keinen Abstand zwischen dem Gleichheitszeichen und der Zahl '14'.

Ich bin mir nicht bewusst, wo mein Fehler liegt. Denke aber es ist ein grundsätzlicher Fehler, da mir die Syntax in der align-Umgebung durch die & nicht ganz klar ist.

Vielen Dank

Verfasst: Sa 8. Nov 2014, 22:31
von esdd
Die alignat Umgebung besteht wie die align Umgebung aus rl Spaltenpaaren, d.h. die erste ist rechtsbündig, die zweite linksbündig, die dritte wieder rechtsbündig etc. Das Argument von alignat gibt dabei die Anzahl der r Spalten an.

Damit der Abstand nach den Gleichheitszeichen stimmt, füge zwischen diesem bzw. dem \equiv und dem dahinter stehenden & ein Paar geschweifte Klammern {} ein.

\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
\begin{alignat*}{4} 
   S_1&=4\\ 
   S_2&=S_1^2-2 ={}& 16-2 &={} & 14 & \equiv {}& 14 & \mod{31}\\ 
   S_3&=S_2^2-2 ={}& 196-2 &={} & 194 & \equiv {}& 8 & \mod{31}\\ 
   S_4&=S_3^2-2 ={}& 64-2 &={}& 62 & \equiv {}& 0 & \mod{31} 
\end{alignat*}
\end{document}
Gruß
Elke

Verfasst: So 9. Nov 2014, 01:29
von oaahy
Schonmal vielen Dank dafür, funktioniert perfekt.
Jetzt tritt aber ein weiteres Problem auf wenn die Indizes des S auch zwei Ziffern haben. Ich bräuchte somit die erste Spalte linksbündig, dann die Gleichheitszeichen auch linksbündig, dann rechtsbündig und so weiter.
\begin{alignat*}
S_8&=S_7^2-2 ={}& 1\,877^2-2 &={} & 3\,523\,127 & \equiv{} & 240 & \mod{2047}\\
S_9&=S_8^2-2 ={}& 240^2-2 &={} & 57\,598 & \equiv{} & 282 & \mod{2047}\\
S_{10}&=S_9^2-2 ={}& 282^2-2 &={} & 79\,522 & \equiv{} & 1\,736 & \mod{2047}
\end{alignat*}
Also ich brauche den Code wie hier, nur dass die S_i linksbündig sind.

Ich habe schon versucht eine "leer"Spalte einzufügen, das hat aber leider nicht so funktioniert.
Gibt es eine andere Umgebung, in der ich selbst bestimmen kann, was rechtsbündige Spalten und wann linksbündige Spalten sind?
Ich meine mich zu erinnern, dass dies bei Table ging.

Verfasst: So 9. Nov 2014, 08:29
von esdd
Du musst Dir doch nur überlegen, was rechts und was links ausgerichtet werden soll. Wenn Du am Anfang zwei linksbündige Spalten brauchst, dann füge je eine leere rechte vor der ersten und zwischen den beiden ein:

\documentclass{scrartcl} 
\usepackage{amsmath} 
\begin{document} 
\begin{alignat*}{5} 
 &S_8&&=S_7^2-2 ={}& 1\,877^2-2 &={} & 3\,523\,127 & \equiv{} & 240 & \mod{2047}\\ 
&S_9&&=S_8^2-2 ={}& 240^2-2 &={} & 57\,598 & \equiv{} & 282 & \mod{2047}\\ 
& S_{10}&&=S_9^2-2 ={}& 282^2-2 &={} & 79\,522 & \equiv{} & 1\,736 & \mod{2047} 
\end{alignat*}
\end{document}
Alternativ kannst Du auch array verwenden und die Spalten und deren Abstände selbst definieren.

Bitte erstelle immer vollständige Bespiele, die lauffähig sind und teste diese. In deinem letzten fehlte u.a. das Argument von alignat*.

Gruß
Elke

Verfasst: So 9. Nov 2014, 18:34
von oaahy
Vielen Dank, verstehe jetzt auch wie die Syntax funktioniert.