alignat-zellen zusammenfassen < LaTeX < Mathe-Software < Mathe < Vorhilfe
|
gudn tach!
kann man zellen von alignat zusammenfassen?
der folgende _falsche_ code soll verdeutlichen, was ich erstellen moechte:
1: | \begin{alignat}{3}
| 2: | a &= b lalalalala_zellen_verbinden_lalalala\\
| 3: | &\mathrel{\hphantom =}b &&= c &&= d\\
| 4: | & && &&= d\\
| 5: | &\mathrel{\hphantom =}b &&= c &&
| 6: | \end{alignat} |
die buchstaben stehen fuer terme, gleiche buchstaben stehen fuer gleichbuendige terme.
bisheriges work-around laeuft ueber array, aber da sind halt die abstaende haesslich.
prost
seth
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:46 Fr 24.08.2007 | Autor: | rainerS |
Hallo seth!
> kann man zellen von alignat zusammenfassen?
>
> der folgende _falsche_ code soll verdeutlichen, was ich
> erstellen moechte:
> 1: | \begin{alignat}{3}
| 2: | a &= b lalalalala_zellen_verbinden_lalalala\\
| 3: | &\mathrel{\hphantom =}b &&= c &&= d\\
| 4: | & && &&= d\\
| 5: | &\mathrel{\hphantom =}b &&= c &&
| 6: | \end{alignat} |
>
> die buchstaben stehen fuer terme, gleiche buchstaben stehen
> fuer gleichbuendige terme.
Zellen verbinden in den AMS-LaTeX Environments ist schwierig. Es geht zwar im Prinzip, aber dann stimmt die Positionierung der Gleichungsnummer nicht mehr (siehe unten). Und wenn man das anspassen will, muss man ziemlich tief in die Programmierung einsteigen.
Wie wäre es hiermit:
1: | \begin{align}
| 2: | a &= b\text{ lalalalala zellen verbinden lalalala}\\
| 3: | &\mathrel{\hphantom =}\!\begin{alignedat}{3}
| 4: | &b&&= c &&= d\\
| 5: | &&& &&= d\\
| 6: | &b&&= c &&
| 7: | \end{alignedat}
| 8: | \end{align}
|
Du könntest die lange verbundene Zelle künstlich kürzer machen, dann verschiebt sich aber die ganze Formel:
1: | \begin{alignat}{3}
| 2: | a &\multispan{5}$\,=b\text{ lalalalala zellen verbinden lalalala}$\\
| 3: | &\mathrel{\hphantom =}b &&= c &&= d\\
| 4: | & && &&= d\\
| 5: | &\mathrel{\hphantom =}b &&= c &&
| 6: | \end{alignat}
|
Wenn du keine Gleichungsnummer brauchst, könntest du Folgendes probieren. Das ist aber ohne Gewähr, weil es ein internes Kommando benutzt:
1: | \begin{alignat}{3}
| 2: | a &\multispan{5}$\,=b\text{ lalalalala zellen verbinden lalalala}$\notag\\
| 3: | &\mathrel{\hphantom =}b &&= c &&= d\\
| 4: | & && &&= d\\
| 5: | &\mathrel{\hphantom =}b &&= c &&
| 6: | \end{alignat}
|
Zuletzt noch ein Tipp, den ich gerade heute in der Newsgroup comp.text.tex las: Vielleicht hilft dir das Paket dlfltxbcodetips aus dem dlfltxb-Bundle.
Viele Grüße
Rainer
|
|
|
|
|
gudn tach Rainer!
vielen dank fuer die exzellente antwort! ich depp hatte nach alignated gesucht und nichts gescheites gefunden. alignedat scheint die aufgabe perfekt zu loesen.
die loesung via \multispan ist zwar auch gut, aber erfordert etwas nachtraegliche frickel-arbeit, z.b. um die zeichen mehr als nur halbwegs genau untereinander zu setzen. mit \; statt \, (vor dem gleichheitszeichen) sah es bei mir ganz gut aus. ausserdem muss displaystyle manuell gesetzt werden.
das dlfltxb-bundle ist ebenfalls ein prima tipp. diese flexiblere abstandsregelung kann man manchmal gut gebrauchen. darueber hinaus kann ich den komplizierten code, mit dem ich bisher \bigtimes generierte, nun wegschmeissen.
ach so, die array-geschichte gefaellt mir trotz der abstands-anpassung nicht soo gut, da die abstaende zwischen den gleicheitszeichen nicht ueberall gleich sind. koennte man bestimmt auch noch hinfrickeln, aber die anderen drei moeglichkeiten sind ohnehin huebscher und flexibler.
also nochmals danke!
prost
seth
|
|
|
|
|
> gudn tach!
>
> kann man zellen von alignat zusammenfassen?
>
> der folgende _falsche_ code soll verdeutlichen, was ich
> erstellen moechte:
> [mm][code]\begin{alignat}{3}
a &= b lalalalala_zellen_verbinden_lalalala\\
&\mathrel{\hphantom =}b &&= c &&= d\\
& && &&= d\\
&\mathrel{\hphantom =}b &&= c &&
\end{alignat}[/code][/mm]
>
> die buchstaben stehen fuer terme, gleiche buchstaben stehen
> fuer gleichbuendige terme.
> bisheriges work-around laeuft ueber array, aber da sind
> halt die abstaende haesslich.
Vielleicht lässt sich dieser "Hässlichkeit" der Abstände bei der array-Umgebung abhelfen? - Zugegeben: ich verstehe nicht wirklich, was genau Du bei Deinem work-around mit array, was die Abstände betrifft (welche?), als hässlich empfindest. Kannst Du ein konkretes Beispiel angeben?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 20:56 Fr 24.08.2007 | Autor: | rainerS |
Hi,
> Vielleicht lässt sich dieser "Hässlichkeit" der Abstände
> bei der array-Umgebung abhelfen? - Zugegeben: ich verstehe
> nicht wirklich, was genau Du bei Deinem work-around mit
> array, was die Abstände betrifft (welche?), als hässlich
> empfindest. Kannst Du ein konkretes Beispiel angeben?
Die Standardabstände bei array sind anders als bei align/alignat. Horizontal sind sie zu groß, vertikal zu klein.
Dem lässt sich abhelfen, zum Beispiel mit
1: | \begin{equation}
| 2: | \setlength{\arraycolsep}{1pt}
| 3: | \renewcommand{\arraystretch}{1.255}
| 4: | \begin{array}{rlrlrl}
| 5: | a &\multicolumn{5}{l}{= b\text{ lalalalala zellen verbinden lalalala}}\\
| 6: | &\mathrel{\hphantom =}b &&= c &&= d\\
| 7: | & && &&= d\\
| 8: | &\mathrel{\hphantom =}b &&= c &&
| 9: | \end{array}
| 10: | \end{equation}
|
Grüße
Rainer
|
|
|
|