PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem bei bündiger Formatierung mit cases-umgebung



M.Temp
02-09-2007, 22:33
Hallo,

ich habe eine Formel erstellt, bin jedoch mit der Formatierung nicht zufrieden (um ehrlichzusein, das bringt mich noch zur Weißglut, dass das nicht so will wie ich es will :-P).

Ich bin (neu und) mir nicht sicher, wie ich das am besten posten soll.
Habt also Nachsicht, falls es besser ginge)

Hier mein lyx-1.4.4-Code:

00.00.0000 \begin{array}{cccr}
\textrm{Seite}\, S_{i}\textrm{:} & wert\left(S_{i}\right) & = & 2i-1\,\,\,\,\,\,\, i\in[1;2007]\\
\textrm{Ecke}\, E_{i}\textrm{:} & wert\left(E_{i}\right) & = & \left\{ \begin{array}{cccc}
4014+1-i & \ \text{i ungerade} & \wedge & i\in[1;2007]\\
2006+2-i & \text{i gerade} & \wedge & i\in[1;2007]\end{array}\right.\end{array}

Was ich gerne hätte:
die schließenden eckigen Klammern sollen exakt untereinander sein und
"2i-1" soll auf gleicher höhe wie 4014+1-i und 2006+2-i sein.

Was ich schon probiert habe:
- Mit Abständen rumgefummelt (das kann aber nicht die Lösung sein, oder?)
- diverse Arrays im Array aufgemacht. Das ging alles so ungefähr, aber eben nicht exakt.

Kann mir wer helfen?

Michi

rais
03-09-2007, 02:34
Moin moin,


Ich bin (neu und) mir nicht sicher, wie ich das am besten posten soll.
Habt also Nachsicht, falls es besser ginge)

na, dann erstmal Herzlich Willkommen :)


Was ich gerne hätte:
die schließenden eckigen Klammern sollen exakt untereinander sein und
"2i-1" soll auf gleicher höhe wie 4014+1-i und 2006+2-i sein.

Was ich schon probiert habe:
- Mit Abständen rumgefummelt (das kann aber nicht die Lösung sein, oder?)
- diverse Arrays im Array aufgemacht. Das ging alles so ungefähr, aber eben nicht exakt.

Nun ja, Du versuchst, den Inhalt einer Arrayspalte (quasi oben rechts) an den Spalten des inneren Arrays auszurichten... ein Ansatz dafür wäre, diese Arrayspalte ebenfalls auf ein eigenes Miniarray aufzublähen; dazu müsstest Du die Spalten beider Miniarrays aneinander in Ausrichtung und Breite anpassen, \hphantom ist hierbei Dein Freund -- die p-Spalte ein Weiterer:


\documentclass{scrartcl}
\usepackage{amsmath,array}
\begin{document}
\[
00.00.0000 \begin{array}{c@{\text{: Wert}}ccc}
\textrm{Seite}\, S_{i} & \left(S_{i}\right) & = & \hphantom{\Bigl\{}\begin{array}{@{}>{\raggedleft$}p{5.5em}<{$}ccr@{}}%
2i-1 & \hphantom{\text{i ungerade}} & \hphantom{\wedge} & i\in[1;2007]%
\end{array}\\
\textrm{Ecke}\, E_{i} & \left(E_{i}\right) & = & \left\{ \begin{array}{@{}>{\raggedleft$}p{5.5em}<{$}ccr@{}}
4014+1-i & \text{i ungerade} & \wedge & i\in[1;2007]\\
2006+2-i & \text{i gerade} & \wedge & i\in[1;2007]\end{array}\right.\end{array}
\]
\end{document}

- was das `00.00.0000´ da wohl soll?
MfG,

M.Temp
03-09-2007, 09:10
Hallo,

mist hab ich vergessen was ich schon probiert habe.
Mit \hphantom und einem weiteren array hab ich rumgespielt, das sah aber nicht so gut, bzw anders schlecht

hphanton ist mir dem entsprechend ein Begriff - p-spalte war/ist mir unbekannt.

Mein Problem ist jedoch, dass ich deinen Code nicht einfügen kann, bzw dass er mir nur folgendes anzeigt:

00.00.0000 \documentclass{scrartcl}\usepackage{amsmath,array} \begin{document}\[
00.00.0000\begin{array}{crccc}
\textrm{Seite}\, S_{i} & \left(S_{i}\right) & = & \hphantom{\Bigl\{}\begin{array}{rlccr}
%2i-1
\end{array}\end{array}\]
\end{document}

ich hät's vlt gleich in Latex probieren sollen und net anfangen mit lyx rumzufummeln

was das 00.00.0000 da soll weiß ich auch net - das ist durchs rauskopieren entstanden, beim wiedereinfügen stört es aber

michi

edit:
nachdem ich den Syntax gaub ich verstanden habe, hab ich mal versucht das gnaze manuell einzugeben.
Ergebnis:
\textrm{Seite}\, S_{i}\textrm{:}&wert\left(S_{i}\right)&=&\hphantom{\Bigl\{}\begin{array}{rccr}
%2i-1
& \hphantom{\text{i ungerade}} & \hphantom{\wedge} & i\in[1;2007]\end{array}\\\textrm{Ecke}\, E_{i}\textrm{:}&wert\left(E_{i}\right)&=&\left\{ \begin{array}{cccc}
4014+1-i & \ \text{i ungerade} & \wedge & i\in[1;2007]\\
2006+2-i & \text{i gerade} & \wedge & i\in[1;2007]\end{array}\right.

==> Problem: die drei rechten Klammern fluchten nicht.
irgendwie hab ich das Gefühl LyX mag keine Formatierungsangaben in der Formel?

rais
03-09-2007, 13:14
Moin moin,

Mein Problem ist jedoch, dass ich deinen Code nicht einfügen kann,

Ok, LyX baut zmindest den Vorspann etwas anders bzw. versteckt das Meiste vor dem User... OTOH wollte ich damit nur deutlich machen, daß Du neben amsmath auch das array-Paket laden musst, damit die Spalten in erweiterter Form angegeben werden können


\begin{array}{@{}>{..}p{5.5em}<{..}ccr@{}}%

alles, was hier nicht blau dargestellt ist, sollte auch ohne das array-Paket funktionieren, wenn auch die p-Spalte dann im Textmodus dargestellt wird.


\textrm{Seite}\, S_{i}\textrm{:}&wert\left(S_{i}\right)&=&\hphantom{\Bigl\{}\begin{array}{rccr}
%2i-1
& \hphantom{\text{i ungerade}} & \hphantom{\wedge} & i\in[1;2007]\end{array}\\\textrm{Ecke}\, E_{i}\textrm{:}&wert\left(E_{i}\right)&=&\left\{ \begin{array}{cccc}
4014+1-i & \ \text{i ungerade} & \wedge & i\in[1;2007]\\
2006+2-i & \text{i gerade} & \wedge & i\in[1;2007]\end{array}\right.

==> Problem: die drei rechten Klammern fluchten nicht.

Bedenke: ein Array bildet die Spaltenbreiten c,l,r anhand der jeweiligen Inhalte aus und Du versuchst, zwei Arrays aneinander anzugleichen, da wäre die gleiche Spaltendeklaration für beide Arrays schon mal von Vorteil, also nicht `rccr´ oben und `cccc´ unten.
Dann hast Du "2i-1" auskommentiert, kürzt praktisch die Breite der ersten Spalte des oberen Arrays auf Null -- hier müsstest Du eher mit \hphantom das Konstrukt "2i-1" erweitern, daß es in der Breite mit z. B. "4014+1-i" passt...
Dann solltest Du das "\ " vor "\text{i ungerade}" rausnehmen -- oder in der Matrix darüber entsprechend \hphantom{\ \text{i ungerade}} verwenden.

Als Orientierungshilfe kannst Du die beiden inneren Arrays mal mit


\begin{array}{|r|c|c|r|}

starten und so lange mit den Zelleninhalten rumspielen, bis die Striche untereinander sind -- danach nimmste sie wieder raus.;)
MfG,

M.Temp
03-09-2007, 16:12
Hallo,

danke erstmal für deine Bemühungen.
Ich werd deine Tipps mal probieren, aber ich glaube wir reden einfach aneinander vorbei.
Ich hab gar nixeingetipp ^^
ich wollte eigentlich die klicki-bunti-oberfläche nutzen. ergo hat lyx das alles automatisch gemacht.
Ich hab einfach die Formel im wysiwym-modus kopiert und hier eingefügt.
auch dachte ich das array-paket sei automatisch geladen.
Ich werd mir das ganze mal als Quelltext anschauen.

Ob mit oder ohne blauen Teil ich schaff nur das was im Anhang zu sehen ist.
edit: falscher anhang

Bild1 zeigt einen ähnlichen Fall. im wysiwym-Modus schaut das auch noch gut aus, aber als DVI passt's dann dann das =-Zeichen net - wobie wenigstens das rechte Problem gelöst wär. wie ich's links bündig kriegen soll: kA

Bild2 Zeit das obige Problem

michi

M.Temp
05-09-2007, 11:30
Hallo rais,

du hattest die ganze Zeit recht.
Man muss einfach die Arrayspalte auf ein Miniarray aufblasen und darf sich dabei nicht von der WYSIWYM-Ansicht verunsichern lassen.

Meine nächste Arbeit schreib ich direkt im Texteditor.

Eine Frage bleibt noch: gibt es eine Möglichkeit die Abstände festzulegen?
mit \hphantom kann man ja Leerräume machen, die genauso groß sind wie ein beliebiger Text.
Jetzt hab ich aber das Problem, dass "wert(S_i)+2" (natürlich) eine andere Breite wie "wert(E_i)-2" hat. Wie kann ich das lösen?

Michi