PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tabelle in Zelle



Bob
11-02-2005, 01:32
Hallo!

Ich habe ein Problem mit einer Tabelle, in der mathematische Variablen erklärt werden sollen. Mein Code sieht so aus:
\begin{longtable}{p{0.5cm}@{\extracolsep{\fill}}l p{0.9\textwidth}}
mit\\
& $y_{dl}$ & $=\left\{\begin{tabular}{@{\extracolsep{\fill}}l p{\linewidth}} 1 \, blablabalblbaalbalbalbblabl sdfsfdsdf sdfsfd ssdfsdf sdfsdf sdf sdf sdfsfsf sdfsdf sdfsdf ,\\
0 \, sonst blbablba,\end{tabular}\right.$\\
\end{longtable}
Ich benutze also eine Tabelle in einer Zelle eines longtables, um zwei Zeilen hinter einer geschweiften Klammer darzustellen. Das Problem ist, dass ich jetzt die breite der letzten Spalte dieser Tabelle in der Zelle nicht genau genug bestimmen kann und ich einfach kein bündiges Ende am rechten Rand erreiche.

Hat jemand Erfahrung damit, weiss jemand, wie ich das sauber lösen kann?

Vielen Dank!
Bob

edico
11-02-2005, 14:04
... kompliziert und diffizil! Da finde ich momentan - wenn überhaupt - auch nicht den Hebel.
Ich empfehle dir, schau dir mal Herbert Voss, Math mode v.1.67, Kap.4.1. case structure, p.19, an. Da wird mit dem array-package / amsmath eine ordentliche Lösung aufgezeigt.
...
dein Beispiel sieht dann so (sehr «anständig») aus:
...
mit\\
\(y_{dl}=\left\{\begin{array}{ll}1
& \mbox{blablabalblbaalbalbalbblabl sdfsfdsdf sdfsfd ssdfsdf sdfsfdsdf sdfsfd ssdfsdf ,}\\ 0
& \mbox{sonst blbablba,}\\
\end{array}\right.\)
...
edico
P.S. Ich hab ja von Mathe keine Ahnung :-( Die überlangen Zeilen kann ich momentan nur händig so ändern:
mit\\
\(y_{dl}=\left\{\begin{array}{ll}1
& \mbox{blablabalblbaalbalbalbblabl sdfsfdsdf sdfsfd ssdfsdf sdfsdf }\\
& \mbox{sdf sdf sdfsfsf sdfsdf sdfsdf ,}\\0
& \mbox{sonst blbablba,}\\
\end{array}\right.\)

Bob
11-02-2005, 14:54
Hi edico, vielen Dank für Deinen Tip!

Das ist ein wirklich hilfreiches Buch, was Du da empfohlen hast.
Ich habe Deinen Vorschlag mal ausprobiert, aber bei mir bricht er die Zeile innerhalb des 1 blabnal.... immernoch zu spät um. Er bricht um, aber 0.5cm zu spät. Das könnte ich natuerlich per Hand hinfriemeln...
Irgendwie bekomme ich an der Stelle für \linewidth bzw. \columnwidth einen Wert, der etwas zu Groß ist., so daß der Umbruch dann zu spät erfolgt.

Gruß,
Bob

edico
11-02-2005, 18:23
... ich weiss jetzt nicht, ob ich dasselbe meine, aber das liegt an der verschachtelten Tabelle. Du musst mal die horizontalen und vertikalen Linien ziehen, dann siehst du, dass eigentlich eine Spalte zuviel aufgenommen wird. Aber das ist nicht das Problem an sich. Es läuft so auch nicht mit «schlichter» tabular oder tabular* ... das ist mir viel zu kompiliziert. array ist sinnhafter, und die zu langen Zeilen brichst du erstmal - solange keine besserer Lösung - händig um gem. letztem Beispiel inmeinem letzten posting.
Aber vielleicht findest du noch andere geniale Lösung. Ich kenn da momentan nichts ...
edico

Bob
11-02-2005, 18:29
Ja, alles klar! Geht wohl nicht anders.

Danke nochmals,
Bob

edico
11-02-2005, 20:40
Es scheint AFAIK so, dass displaymath sich quasi wie verbatim verhält. Und das hiese, dass kein automatischer Zeilenumbruch möglich!
edico