Deseo poner la segunda y tercera columnas de igual longitud y en el centro.
\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}
Resultado:
Deseo poner la segunda y tercera columnas de igual longitud y en el centro.
Había intentado :
\begin{tabular}{ccc}
Respuesta1
Aquí hay una manera con la ayuda deparbox
\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}
Respuesta2
Aquí hay una posible solución, basada en siunitx
tener una buena alineación de números (centrados y alineados a la derecha). Los números que no son números en S
las columnas deben estar rodeados por un par de llaves y se centran automáticamente. Además, se puede elegir el ancho de las columnas S. Esta solución también se basa en makecell
, que permite saltos de línea en celdas estándar y un formato común de los argumentos de los comandos \makecell
y \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}
Respuesta3
Esto crea columnas "Z", centradas exactamente con la mitad del ancho de la línea de encabezado más larga. Sólo tienes que decirle a LateX cuál es el ancho de esa línea de encabezado, antes de cada tabular, ancho \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}