PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vertikale Ausrichtung in Tabellen funktioniert nicht



Myri
02-12-2009, 11:50
Hier mein Minimalbeispiel:


\documentclass[a4paper,10pt]{article}
\usepackage{array,booktabs}
\begin{document}

\begin{tabular}{m{3cm}b{3cm}p{3cm}}
\toprule
mittig ausgerichtet & unten ausgerichtet & 1. Zeile \newline 2. Zeile \\
\bottomrule
\end{tabular}

\end{document}

Ich möchte, dass der Text in der ersten Spalte mittig und in der zweiten Spalte unten ausgerichtet wird.
Beide genannten Spalten reagieren seltsamerweise aber nur auf das, was für die dritte Spalte festgelegt wird. Ersetze ich dort bspw. das "p" durch ein "m", werden sowohl erste als auch zweite Spalte mittig ausgerichtet...

Vielen Dank für Eure Hilfe!!

u_fischer
02-12-2009, 11:58
Die gesamte Zeile hat eine Grundlinie. m, b und p beschreiben wie sich die Zellen entlang dieser Grundlinie ausrichten. Wenn die m, b und p Zellen nur eine Linie enthalten, dann gibt es nicht viel auszurichten.


\documentclass[a4paper,10pt]{article}
\usepackage{array,booktabs}
\begin{document}

\begin{tabular}{lm{3cm}b{3cm}p{3cm}}
\toprule
Grundlinie& m\newline m \newline m
& u\newline u \newline u
& p \newline p \newline p\\
\bottomrule
\end{tabular}

\end{document}

Myri
02-12-2009, 12:14
Verstehe...

vielleicht seh ich grad den Wald vor lauter Bäumen nicht, aber wie sieht nun die elegante Lösung aus, um den Text in den drei Spalten wie gewünscht darzustellen (mittig, unten, oben)?

Kriege das nur hin, indem ich mit \newline weitere (Leer)Zeilen innerhalb der Tabellenzeile einfüge, und dann kann ich auch gleich auf die Zusätze b/p/m verzichten...

Myri
02-12-2009, 12:39
Zum besseren Verständnis - so soll das Ganze aussehen (hier natürlich nur zusammengebastelt):


\documentclass[a4paper,10pt]{article}
\usepackage{array,booktabs}
\begin{document}

\begin{tabular}{p{3cm}p{3cm}p{3cm}}
\toprule
~ \newline Posten & ~ \newline \newline Preis & Aufzaehlung \newline Aufzaehlung \newline Aufzaehlung \\
\bottomrule
\end{tabular}

\end{document}

In der linken Spalte immer zentriert die Postenbezeichnung, in der mittleren unten der Preis und in der rechten wird der Inhalt des Postens aufgelistet.

u_fischer
02-12-2009, 12:43
Z.B. so:


\documentclass[a4paper,10pt]{article}
\usepackage{array,booktabs}
\begin{document}

\begin{tabular}{ll}
\toprule
mittig ausgerichtet &
\begin{tabular}{@{}lb{3cm}}
unten ausgerichtet & 1. Zeile \newline 2. Zeile
\end{tabular}\\
\bottomrule
\end{tabular}
\end{document}

Myri
02-12-2009, 13:06
Tabelle in einer Tabelle... vielen Dank!!!

Was genau bewirkt @{}? Es scheint auch ohne zu funktionieren...

u_fischer
02-12-2009, 13:54
@{} entfernt den Abstand vor der ersten Spalte.

Myri
02-12-2009, 14:38
Vielen Dank für die schnelle und kompetente Hilfe!!