PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verschobene Spalte in Tabelle



jschaefa
25-04-2010, 20:20
Hallo zusammen,

ich habe eine Tabelle mit 7 Spalten erstellt. Leider ist die vierte Spalte verrutscht und die Überschrift passt auch nicht mehr zu den Werten darunter.
Hat jemand eine Idee was ich falsch gemacht habe?

Hier ein Minimalbsp.:
\documentclass{scrartcl}
\usepackage{array}
\usepackage{booktabs}
\heavyrulewidth=.04em

\begin{document}
\newcolumntype{C}[1]{>{\centering}p{#1}}

\begin{table}[tbp]
\centering
\begin{tabular}{l*{6}{c}} \toprule \morecmidrules \toprule
\multicolumn{1}{C{2cm}}{} &\multicolumn{1}{C{1.5cm}}{Fall Kindergarten} & \multicolumn{1}{C{1.5cm}}{Spring Kindergarten} & \multicolumn{1}{C{1.5cm}}{1st grade} & \multicolumn{1}{C{1.5cm}}{3rd grade} & \multicolumn{1}{C{1.5cm}}{5th grade} & \multicolumn{1}{C{1.5cm}}{8th grade} \\ \cmidrule(r){1-7}
Reading & 35.473 & 46.523 & 77.071 & 125.695 & 148.672 & 167.237 \\
& (9.867) & (13.882)& (23.701) & (28.573)& (26.852) & (28.040) \\
Math & 26.125 & 36.172 & 61.501 & 98.770 & 122.941 & 139.280 \\
& (9.090) & (11.998) & (17.661) & (24.970) & (25.189) & (23.102) \\
\bottomrule \morecmidrules \bottomrule
\multicolumn{4}{l}{\footnotesize Standard errors in parentheses, weighted using ECLS-K sampling}\\
\end{tabular}
\caption{Descriptive Statistics for the Reading and Math IRT--scores}
\end{table}

\end{document}

Danke im Vorraus,
Julia

LuPi
25-04-2010, 21:15
Ohne jetzt die exakte Ursache benennen zu können, gehe ich davon aus, dass die Zeile


\multicolumn{4}{l}{\footnotesize Standard errors in parentheses, weighted using ECLS-K sampling}

verantwortlich ist. Denn die fehlende Zentrierung in der vierten Spalte ist ja nur ein Teil des Problems, mindestens genau so sehr würde mich die unterschiedliche Breite stören.

jschaefa
25-04-2010, 21:47
Vielen Dank für deinen Hinweis, das hat erstmal das Problem der verschobenen Spalte gelöst.
Du hast recht, das die Tabelle noch nicht ganz optimal aussieht.
Ich möchte im Prinzip, dass die Tabelle (und auch alle weiteren) so breit wird wie der Text (15.5cm) und jede Spalte gleich breit ist. Wobei sich die Spaltenzahl von Tabelle zu Tabell unterscheidet. Dafür habe ich aber noch keine Lösung gefunden.
Hast du da einen Tipp wie ich das hinbekomme?

Viele Grüße

Xenara
25-04-2010, 21:52
Ich gehe mit LuPi d'accord, die letzte Zeile mit multicolumn ist falsch, denn du gibst der multicolumn nur 4 Spaltenbreiten Platz (und unterschlägst die Definition der restlichen 3 Spalten), und 4 Spaltenbreiten sind für den Text darin zu wenig. Wenn du die multicolumn statt über 4 Spalten über alle 7 spannst, klappts.
Übrigens kannst du dir die vielen multicolumns in der ersten Zeile sparen, das geht eleganter (gab bei dir vermutlich Fehler, da in der Spaltendefinition für die C-Spalte das \arraybackslash fehlte).


\documentclass{scrartcl}
\usepackage{array}
\usepackage{booktabs}
\heavyrulewidth=.04em

\begin{document}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{table}[tbp]
\centering
\begin{tabular}{p{2cm}*{6}{C{1.5cm}}} \toprule \morecmidrules \toprule
& Fall Kindergarten & Spring Kindergarten & 1st grade & 3rd grade & 5th grade & \multicolumn{1}{C{1.5cm}}{8th grade} \\ \cmidrule(r){1-7}
Reading & 35.473 & 46.523 & 77.071 & 125.695 & 148.672 & 167.237 \\
& (9.867) & (13.882)& (23.701) & (28.573)& (26.852) & (28.040) \\
Math & 26.125 & 36.172 & 61.501 & 98.770 & 122.941 & 139.280 \\
& (9.090) & (11.998) & (17.661) & (24.970) & (25.189) & (23.102) \\
\bottomrule \morecmidrules \bottomrule
\multicolumn{7}{l}{\footnotesize Standard errors in parentheses, weighted using ECLS-K sampling}\\
\end{tabular}
\caption{Descriptive Statistics for the Reading and Math IRT--scores}
\end{table}




\begin{table}[tbp]
\centering
\begin{tabular}{l*{6}{c}} \toprule \morecmidrules \toprule
\multicolumn{1}{C{2cm}}{} &\multicolumn{1}{C{1.5cm}}{Fall Kindergarten} & \multicolumn{1}{C{1.5cm}}{Spring Kindergarten} & \multicolumn{1}{C{1.5cm}}{1st grade} & \multicolumn{1}{C{1.5cm}}{3rd grade} & \multicolumn{1}{C{1.5cm}}{5th grade} & \multicolumn{1}{C{1.5cm}}{8th grade} \\ \cmidrule(r){1-7}
Reading & 35.473 & 46.523 & 77.071 & 125.695 & 148.672 & 167.237 \\
& (9.867) & (13.882)& (23.701) & (28.573)& (26.852) & (28.040) \\
Math & 26.125 & 36.172 & 61.501 & 98.770 & 122.941 & 139.280 \\
& (9.090) & (11.998) & (17.661) & (24.970) & (25.189) & (23.102) \\
\bottomrule \morecmidrules \bottomrule
\multicolumn{7}{l}{\footnotesize Standard errors in parentheses, weighted using ECLS-K sampling}\\
\end{tabular}
\caption{Descriptive Statistics for the Reading and Math IRT--scores}
\end{table}

\end{document}

bobmalaria
25-04-2010, 21:53
hi,

für tabellen auf seitenbreite gibt es das tabularx paket

\usepackage{tabularx}

und dann \begin{tabularx}{1\textwidth}{lX}

was die X spalte genau ist solltest du dir in der anleitung durchlesen. du brauchst auf jeden fall eine davon in deiner tabelle um die seitenbreite zu füllen.

gruss

jschaefa
25-04-2010, 22:16
@Xenara: vielen Dank für den Hinweis mit den multicolums, das fand ich ach ein wenig nervig, das ist jetzt wirlich einfacher! Mit multicolumn und ohne \arraybackslash gab es zwar keine Fehlermeldungen, aber jetzt ist es viel besser! :)

@bobmalaria: ich habe schon gesehen, das es das package tabularx gibt, mir aber noch nicht weiter angeschaut. Aber da muss ich dann wohl auch noch durch. Vielleicht versuche ich aber vorher einfach über p{} die Spaltenbreite so einzustellen, dass sie zum Text passt. Aber vermutlich ist das wieder eine sehr unelegante Methode...:o

Vielen Dank für eure schnellen Rückmeldungen!

Xenara
26-04-2010, 08:00
In diesem MB sind alle Varianten inklusive TabularX mit drin. Du solltest dir TabularX wirklich merken, das Paket ist super.

Den Zeilenumbruch ist in diesem Fall meinem Kenntnisstand nach mit \par am einfachsten, da dann auch wirklich der Text der ganzen Zelle zentriert bleibt.

Btw, wird das 1"st", 3"rd", 4"th" etc. nicht normalerweise hochgestellt?



\documentclass{scrartcl}
\usepackage{array}
\usepackage{booktabs}
\usepackage{tabularx}
\heavyrulewidth=.04em

\begin{document}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}
\newcolumntype{Y}{>{\centering\arraybackslash}X}

\begin{table}[tbp]
Tabelle mit TabularX
\centering
\begin{tabularx}{\textwidth}{p{2cm}*{6}{Y}} \toprule \morecmidrules \toprule
& Fall Kindergarten & Spring Kindergarten & 1st\par grade & 3rd\par grade & 5th\par grade & 8th\par grade \\ \cmidrule(r){1-7}
Reading & 35.473 & 46.523 & 77.071 & 125.695 & 148.672 & 167.237 \\
& (9.867) & (13.882)& (23.701) & (28.573)& (26.852) & (28.040) \\
Math & 26.125 & 36.172 & 61.501 & 98.770 & 122.941 & 139.280 \\
& (9.090) & (11.998) & (17.661) & (24.970) & (25.189) & (23.102) \\
\bottomrule \morecmidrules \bottomrule
\multicolumn{7}{l}{\footnotesize Standard errors in parentheses, weighted using ECLS-K sampling}\\
\end{tabularx}
\caption{Descriptive Statistics for the Reading and Math IRT--scores}
\end{table}






\begin{table}[tbp]
Verbesserte Version
\centering
\begin{tabular}{p{2cm}*{6}{C{1.5cm}}} \toprule \morecmidrules \toprule
& Fall Kindergarten & Spring Kindergarten & 1st grade & 3rd grade & 5th grade & 8th grade \\ \cmidrule(r){1-7}
Reading & 35.473 & 46.523 & 77.071 & 125.695 & 148.672 & 167.237 \\
& (9.867) & (13.882)& (23.701) & (28.573)& (26.852) & (28.040) \\
Math & 26.125 & 36.172 & 61.501 & 98.770 & 122.941 & 139.280 \\
& (9.090) & (11.998) & (17.661) & (24.970) & (25.189) & (23.102) \\
\bottomrule \morecmidrules \bottomrule
\multicolumn{7}{l}{\footnotesize Standard errors in parentheses, weighted using ECLS-K sampling}\\
\end{tabular}
\caption{Descriptive Statistics for the Reading and Math IRT--scores}
\end{table}




\begin{table}[tbp]
Original
\centering
\begin{tabular}{l*{6}{c}} \toprule \morecmidrules \toprule
\multicolumn{1}{C{2cm}}{} &\multicolumn{1}{C{1.5cm}}{Fall Kindergarten} & \multicolumn{1}{C{1.5cm}}{Spring Kindergarten} & \multicolumn{1}{C{1.5cm}}{1st grade} & \multicolumn{1}{C{1.5cm}}{3rd grade} & \multicolumn{1}{C{1.5cm}}{5th grade} & \multicolumn{1}{C{1.5cm}}{8th grade} \\ \cmidrule(r){1-7}
Reading & 35.473 & 46.523 & 77.071 & 125.695 & 148.672 & 167.237 \\
& (9.867) & (13.882)& (23.701) & (28.573)& (26.852) & (28.040) \\
Math & 26.125 & 36.172 & 61.501 & 98.770 & 122.941 & 139.280 \\
& (9.090) & (11.998) & (17.661) & (24.970) & (25.189) & (23.102) \\
\bottomrule \morecmidrules \bottomrule
\multicolumn{7}{l}{\footnotesize Standard errors in parentheses, weighted using ECLS-K sampling}\\
\end{tabular}
\caption{Descriptive Statistics for the Reading and Math IRT--scores}
\end{table}

\end{document}

Legion
26-04-2010, 08:57
Man könnte noch das Paket siunitx erwähnen, wegen der Zentrierung aller Zahlen an ihrem Dezimalpunkt. Wollte damit ein Beispiel erstellen, aber leider verträgt sich das Paket nicht mit Klammern. Nutzt das Paket sonst noch wer und wüsste da Rat?