Ich habe dieses Beispiel als Tabu-Tabelle wie folgt umgesetzt: Open in writeLaTeX
\documentclass[12pt,a4paper,oneside,parskip]{scrartcl} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage{tabu} \begin{document} \tabulinesep = 2mm \begin{tabu} to \linewidth {X[p]|X[m]|X[b]} \hline text which is considerably longer than the width of the column & text which is considerably longer than the width of the column & text which is considerably longer than the width of the column\\ \hline \end{tabu} \end{document} Das Ergebnis sieht ähnlich wie in obigem Link aus. Hier die erste Frage: die in dem Link rot markierten Zeilen sind nicht 100% auf einer Höhe. Warum ist das so? Nun möchte ich, dass statt dem Text nur "XXX" in der jeweiligen Spalte steht, in der ersten Spalte unten, dann mittig, dann oben. Außerdem soll die Zeilenhöhe genau 5cm hoch sein. Ich hab das so versucht: Open in writeLaTeX
\documentclass[12pt,a4paper,oneside,parskip]{scrartcl} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage{tabu} \begin{document} \tabulinesep = 2mm \begin{tabu} to \linewidth {X[c,p]|X[c,m]|X[c,b]} \hline \rule{0pt}{5cm}XXX & XXX & XXX\\ \hline \end{tabu} \end{document} Die Zeilenhöhe passt, der Rest leider nicht. Woran liegt das? (Ich muss dazu sagen, dass ich, trotz lesen diverser Artikel, die m,p,b-Ausrichtung in Tabellen nicht richtig verstehe.) gefragt 10 Jan '15, 12:15 tom75 |
Das sind eigentlich zwei verschiedene Fragen, wobei die erste eher ein Duplikat zu anderen Fragen ist. Antwort zu Teilfrage 1Die Wirkungsweise der In Deinem ersten Beispiel haben die erste und die letzte Zeile des Inhaltes der Open in writeLaTeX
\documentclass[12pt,a4paper,oneside,parskip]{scrartcl} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage{tabu} \begin{document} \tabulinesep = 2mm \begin{tabu} to \linewidth {X[p]|X[m]|X[b]} \hline text which is considerably longer than the width of the column & \strut text which is considerably longer than the width of the column\strut & text which is considerably longer than the width of the column\\ \hline \end{tabu} \end{document} Antwort zu Teilfrage 2In Deinem zweiten Beispiel befinden sich die erste Zeile der Da Du die Zeilenhöhe mit 5cm vorgeben möchtest, kannst Du das gewünschte aber durch eine Open in writeLaTeX
\documentclass[12pt,parskip]{scrartcl} \usepackage[utf8]{inputenc} \usepackage{fontenc} \usepackage{tabu} \newcommand\mycell[3]{% \parbox[c][#1][#2]{\linewidth}{\centering#3}} \begin{document} \tabulinesep = 2mm \begin{tabu} to \linewidth {X|X|X} \hline \mycell{5cm}{b}{XXX} & \mycell{5cm}{c}{XXX} & \mycell{5cm}{t}{XXX}\\ \hline \end{tabu} \end{document} beantwortet 10 Jan '15, 14:59 esdd 3
Dass bei
(10 Jan '15, 15:17)
cgnieder
1
Und hier hatten wir das Thema auch schon: Tabelle mit tabu: Warum verrutschen die Zelleninhalte?
(10 Jan '15, 15:29)
esdd
@saputello Den zweiten Teil der Doppelfrage hatten wir noch nicht, oder? Die bisher angegebenen Links beziehen sich alle auf den ersten Teil. Ach und Danke für das Korrigieren der Formatierung oben - ich habe das auch gesehen, aber nicht hinbekommen.
(10 Jan '15, 15:51)
esdd
@esdd Ach, da gibt es noch eine versteckte weitere Frage: Wie kann man einer Tabellenzeile eine bestimmte Höhe geben? Das hatte ich übersehen. OK. Dann hat die Frage ihre Berechtigung, sollte aber vielleicht auch irgendwie real zu finden sein. Ich dachte, es ginge nur um das Verrutschen und den Unterschied zwischen
(10 Jan '15, 15:57)
saputello
@esdd Zunächst mal vielen Dank für die Antwort! Ich hab mich bisher mit Antwort 1 beschäftigt und dazu Rückfragen: Woher weiß man im Voraus, dass die erste und letzte Zeile nicht gleich hoch sind? (Mir ist das übrigens nur zufällig aufgefallen, nicht beim ersten Hinsehen.) Oder muss man das Was passiert, wenn man z.B. mehrere Zeilen unterschiedlicher Höhe hat, z.B. 5?
(10 Jan '15, 19:44)
tom75
1
@tom75 In Deinem 1.Beispiel hat die letzte Zeile in der
(11 Jan '15, 01:27)
esdd
1
@tom75 Bei normalem Text brauchst Du Dir um die Höhe der Zeilen zwischen der ersten und der letzten Zeile keine Gedanken zu machen. Der Abstand zwischen den Grundlinien der einzelnen Zeilen ist dann gleich und damit auch die Höhe und Tiefe dieser Zeilen.
(11 Jan '15, 01:29)
esdd
@Clemens Danke für den Link. Dann müsste man analog dazu in meinem Fall
schreiben, oder?
(11 Jan '15, 10:26)
tom75
@esdd Warum verwendest du am Anfang der Zeile Antwort 2: Vielen Dank, das ist perfekt!
(11 Jan '15, 10:27)
tom75
1
@tom75 Die Klammern sind an der Stelle nicht nötig. Ich werde sie in dem Beispiel durch ein Leerzeichen ersetzen. Es gibt aber Situationen, in denen sie notwendig sind. Schau Dir mal das Ergebnis an, wenn Du in einem Dokument
(11 Jan '15, 12:28)
esdd
@esdd Alles klar und danke für den Hinweis auf die Sache mit dem Leerraum. Dein Link ist glaube ich kaputt, aber ich hab den Artikel trotzdem gefunden: http://texwelt.de/wissen/fragen/17/warum-verschwindet-der-leerraum-nach-selbst-definierten-befehlen
(11 Jan '15, 20:39)
tom75
Ergebnis 5 von 11
show 6 more comments
|
Bezüglich
p
-,m
- undb
-Spalten: hilft Dir http://texwelt.de/wissen/fragen/840#842 ?Ich hatte diesen Beitrag gestern zig Mal gelesen aber vieles davon leider nicht verstanden.
Jede Tabellenzeile hat nur eine Tabellenzeilen-Grundlinie. Auf dieser Tabellenzeilen-Grundlinie wird die erste Grundlinie des Inhalts der
p
-Spalte gesetzt. Das gleiche gilt für die letzte Grundlinie des Inhalts derb
-Spalte. Deshalb sind die beiden wirklich immer auf einer Höhe.Der Inhalt der
m
-Spalte wird dagegen vertikal mittig an der Tabellengrundzeile ausgerichtet. Haben die erste und die letzte Zeile dort eine unterschiedliche Höhe, dann ist die mittlere Zeile nicht genau in der vertikalen Mitte des Inhalts und steht deshalb nicht direkt auf der Tabellenzeilen-Grundlinie.@esdd Ich hab deine Antwort zu Teilfrage 1 verstanden, dazu aber noch einer Rückfrage (siehe dort). Danke nochmal für die Erklärung hier, so wird mir das nun langsam klar.
Ich hatte/hab nur Verständnisprobleme mit dem verlinkten Beitrag, dort wird erst von p, b, c-Spalten gesprochen, dann von t und m und unten von t, r und c Spalten. Ich bin da noch zu wenig drin in der Sache als dass ich das nachvollziehen kann.
@tom75 Es wird dort die Äquivalenz von
m-
,b-
undp-
Spalten zuc
,b
undt
ausgerichteten\parbox
-Anweisungen aufgegriffen und auch erklärt, die auch explizit in derarray
-Anleitung für die Erklärung der Spalten aufgeführt ist. Das wird gemacht, weil ebenm-
,b-
undp-
Spalten letztlich nicht anderes als\parbox
en mit entsprechenden Ausrichtungsoptionen sind. Man muss also nicht Tabellen für sich und Boxen für sich verstehen, man muss nur einmal Boxen verstehen und kann das dann genauso für Tabellen, Grafiken, einzelne Zeilen etc. anwenden.