Ich möchte die zweite und dritte Spalte gleich lang und mittig platzieren.
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[!ht]
%\begin{tabularx}{\textwidth}{@{}Y*{3}{W}@{}}
\centering
\begin{tabular}{ccc}
\toprule
& \multicolumn{2}{c}{\textbf{Testing Testing Testin}} \\
& \multicolumn{2}{c}{\textbf{Making into Secondline (\%)}} \\
\cmidrule{2-3}
& \small {\textbf{AA}}
& \small {\textbf{BB}} \\
\midrule
Test 1 & 33 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Ergebnis:
Ich möchte die zweite und dritte Spalte gleich lang und mittig platzieren.
Ich hatte versucht:
\begin{tabular}{ccc}
Antwort1
Hier ist ein Weg mit Hilfe vonparbox
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{table}[!ht]
%\begin{tabularx}{\textwidth}{@{}Y*{3}{W}@{}}
\centering
\begin{tabular}{ccc}
\toprule
& \multicolumn{2}{c}{\textbf{Testing Testing Testin}} \\
& \multicolumn{2}{c}{\textbf{Making into Secondline (\%)}} \\
\cmidrule{2-3}
& {\parbox{3cm}{\small\hfil\textbf{AA}\hfill}}
& {\parbox{3cm}{\small\hfil\textbf{BB}\hfill}} \\
\midrule
Test 1 & 33 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Antwort2
Hier ist eine mögliche Lösung, die auf basiert, siunitx
um eine schöne Ausrichtung der Zahlen (zentriert und rechtsbündig) zu erreichen. Nicht-Zahlen in S
Spalten müssen von Klammern umgeben sein und werden automatisch zentriert. Darüber hinaus kann die Breite der S-Spalten gewählt werden. Diese Lösung basiert auch auf makecell
, was Zeilenumbrüche in Standardzellen ermöglicht, und einer gemeinsamen Formatierung der Argumente der Befehle \makecell
und \thead
.
\documentclass{article}
\usepackage{array}
\usepackage{booktabs, makecell}
\renewcommand{\theadfont}{\small\bfseries}
\usepackage{siunitx}
\begin{document}
\begin{table}[!ht]
\centering
\sisetup{table-format=3.0, table-number-alignment=center, table-column-width=1.5cm}
\begin{tabular}{cSS}
\toprule
& \multicolumn{2}{c}{\small\bfseries Testing Testing Testin} \\
& \multicolumn{2}{c}{\thead{\makebox[0pt]{Making into Secondline}\\ (\%)}} \\
\cmidrule{2-3}
&{\small \textbf{AA}}
& {\small\textbf{BB}} \\
\midrule
Test 1 & 33 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Antwort3
Dadurch werden Spalten „Z“ zentriert und genau in der halben Breite der längsten Kopfzeile angezeigt. Sie müssen LateX nur mitteilen, wie breit diese Kopfzeile vor jeder tabellarischen Breite ist \settowidth
:
\documentclass{article}
\usepackage{booktabs,array}
\newlength{\xxx} % suggestion: change "xxx" for something meaningful
\newcolumntype{Z}{>{\hfil}p{.5\xxx}}
\begin{document}
\settowidth{\xxx}{\textbf{Making into Secondline (\%)}}
\begin{tabular}{cZZ} \toprule
& \multicolumn{2}{c}{\textbf{Testing Testing Testin}} \\
& \multicolumn{2}{c}{\textbf{Making into Secondline (\%)}} \\\cmidrule{2-3}
& \small {\textbf{AA}} & \small {\textbf{BB}} \\\midrule
Test 1 & 33 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\
Test 2 & 57 & 73 \\\bottomrule
\end{tabular}
\end{document}