
Hier ist ein MWE von dem, was ich versuche zu tun.
\documentclass[a4paper]{article}
\usepackage{tabularx,booktabs}
\usepackage{color,colortbl}
\begin{document}
\begin{table}[htb]
\centering
\begin{tabularx}{\textwidth}{l r r r r r r r r r r r}
\toprule
A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 & A9 & A10 & A11 & A12 \\
\midrule
\rowcolor{blue} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\[0pt]
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\
\bottomrule
\end{tabularx}
\begin{tabularx}{\textwidth}{l r r r r r r r r r r r r r r}
\toprule
A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 & A9 & A10 & A11 & A12 & A13 & A14 & A15 \\
\midrule
\rowcolor{blue} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 \\[0pt]
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Die erste Tabelle ist zu lang \toprule
und \bottomrule
sieht komisch aus. Ich habe ein paar Fragen dazu.
Wie kann ich die Größe tabularx
auf die Inhaltsbreite einstellen?
Wie kann ich die letzte Spalte rechtsbündig ausrichten (sodass sich alle Spalten über die Tabelle erstrecken)?
Wie kann ich es so einstellen, \rowcolor
dass es sich über die gesamte Tabelle erstreckt?
Die zweite Tabelle im Beispiel ist zu breit. Kennst du Tricks, um das optisch ansprechender zu gestalten?
Antwort1
Die erste Tabelle hat lange Regeln, weil tabularx
versucht wird, eine Tabelle textwidth
mit -Breite zu erstellen, aber es gibt keine Spalte mit anpassbarer Breite. Dasselbe gilt für die zweite Tabelle, aber in diesem Fall überschreitet der Tabelleninhalt die textwidth
. Sie müssen X
den -Spaltenspezifizierer verwenden, um eine automatische Breitenanpassung zu ermöglichen. Versuchen Sie, zu ersetzen
\begin{tabularx}{\textwidth}{l r r r r r r r r r r r}
mit
\begin{tabularx}{\textwidth}{l *{11}X}
Beachten Sie, dass X
-Spalten linksbündig und gleich breit sind. Um die letzte Spalte rechtsbündig auszurichten, können Sie r
-column verwenden oder einen neuen Spaltentyp definieren R
alsfolgt,
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
Verwenden Sie dann \begin{tabularx}{\textwidth}{l *{10}X r}
oder \begin{tabularx}{\textwidth}{l *{10}X R}
, um die letzte Spalte rechtsbündig auszurichten.
Um alle Zeilen in derselben Farbe zuzulassen, können Sie den rowcolors
Befehl aus xcolor
dem Paket verwenden. Der rowcolors
Befehl ermöglicht abwechselnde Farben für gerade und ungerade Zeilen, wobei der erste Farbspezifizierer für ungerade Zeilen ist. Sie können weiterhin rowcolor
die Farbe bestimmter Zeilen ändern.
Ein Beispiel mit geänderten Spaltentypen und Farbgebungen.
\documentclass[a4paper]{article}
\usepackage{tabularx,booktabs}
\usepackage[table]{xcolor}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\newcolumntype{R}{>{\raggedleft\arraybackslash}X}
\newcolumntype{C}{>{\centering\arraybackslash}X}
\begin{document}
\begin{table}[htb]
\centering
\rowcolors{1}{gray}{gray}
\begin{tabularx}{\textwidth}{L *{10}C R}
\toprule
A1 & A2 & A3 & A4 & A5 & A6 & A7 & A8 & A9 & A10 & A11 & A12 \\
\midrule
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\[0pt]
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
Beachten Sie, dass alle X
-Spalten die gleiche Breite haben. Die Breitenanpassung kann in schwierig sein tabularx
. Versuchen Sie stattdessen,tabulary
odertabu
Paket.