
\documentclass{memoir}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{amsmath}
\begin{document}
\begin{table*}[h!]
\centerfloat
\ra{1.3}
\scalebox{0.7}{
\begin{tabular}{@{}ccccccccccccccccccc@{}}\toprule
\multicolumn{3}{c}{$w = 8$} & \phantom{abc}& \multicolumn{3}{c}{$w = 16$} &
\phantom{abc} & \multicolumn{3}{c}{$w = 32$}&
\phantom{abc} & \multicolumn{3}{c}{$w = 32$}&
\phantom{abc} & \multicolumn{3}{c}{$w = 32$}\\
\cmidrule{1-3} \cmidrule{5-7} \cmidrule{9-11} \cmidrule{13-15}\cmidrule{17-19}
\text{$\mathrm{ABCD}^\dag$} & \text{$X^2 \ (\%)$} & FGH && \text{$\mathrm{ABCD}^\dag$} & \text{$X^2 \ (\%)$} & FGH && \text{$\mathrm{ABCD}^\dag$} & \text{$X^2 \ (\%)$} & FGH && \text{$\mathrm{ABCD}^\dag$} & \text{$X^2 \ (\%)$} & FGH && \text{$\mathrm{ABCD}^\dag$} & \text{$X^2 \ (\%)$} & FGH\\ \midrule
0 & 0 & 0 && 0 & 0 & 0 && 0 & 0 & 0 && 0 & 0 & 0 && 0 & 0 & 0\\
\bottomrule
\end{tabular}}
\caption{Caption}
\end{table*}
\end{document}
Tengo una mesa que es muy ancha y que tiene una sola fila. Personalmente creo que la mesa queda muy 'delgada' (en términos de espacio vertical que ocupa) así, y además es demasiado ancha. ¿Alguien tiene algún consejo para mejorar esto? ¡También se agradece cualquier otra sugerencia de mejora en general que pueda mejorar la tabla!
Respuesta1
Un par de posibilidades:
\documentclass{memoir}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{amsmath}
\begin{document}
\begin{table*}[htp]% never this: [h!]
\centerfloat
\ra{1.3}
% avoid scaling tables and if you do
% you need a % after the {
% \scalebox{0.7}{
\tiny
\setlength\tabcolsep{1pt}
\begin{tabular}{@{}ccccccccccccccccccc@{}}\toprule
\multicolumn{3}{c}{$w = 8$} & \phantom{abc}& \multicolumn{3}{c}{$w = 16$} &
\phantom{abc} & \multicolumn{3}{c}{$w = 32$}&
\phantom{abc} & \multicolumn{3}{c}{$w = 32$}&
\phantom{abc} & \multicolumn{3}{c}{$w = 32$}\\
\cmidrule{1-3} \cmidrule{5-7} \cmidrule{9-11} \cmidrule{13-15}\cmidrule{17-19}
% \text doing nothing
$\mathrm{ABCD}^\dag$&
$X^2 \ (\%)$ & FGH &&
$\mathrm{ABCD}^\dag$ &
$X^2 \ (\%)$ & FGH &&
$\mathrm{ABCD}^\dag$ &
$X^2 \ (\%)$ & FGH &&
$\mathrm{ABCD}^\dag$ &
$X^2 \ (\%)$ & FGH &&
$\mathrm{ABCD}^\dag$ &
$X^2 \ (\%)$ & FGH\\ \midrule
0 & 0 & 0 && 0 & 0 & 0 && 0 & 0 & 0 && 0 & 0 & 0 && 0 & 0 & 0\\
\bottomrule
\end{tabular}
\caption{Caption}
\end{table*}
\begin{table*}[htp]% never this: [h!]
\centerfloat
\ra{1.3}
\begin{tabular}{@{}cccc@{}}\toprule
&$\mathrm{ABCD}^\dag$ &
$X^2 \ (\%)$ & FGH \\
\midrule
$w=8$&0&0&0\\
$w=16$&0&0&0\\
$w=32$&0&0&0\\
$w=64$&0&0&0\\
$w=128$&0&0&0\\
\bottomrule
\end{tabular}
\caption{Caption}
\end{table*}
\end{document}
Respuesta2
Como alternativa, puedes hacer que cada porción tenga su propia tabla como en:
\documentclass{memoir}
\newcommand{\ra}[1]{\renewcommand{\arraystretch}{#1}}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage[margin=1in]{geometry}
\usepackage{pgfkeys}
\makeatletter
\def\ae@small@table@w{}
\def\ae@small@table@abcd{0}
\def\ae@small@table@xx{0}
\def\ae@small@table@fgh{0}
\pgfkeys{/ae/small/table/.cd,
w/.store in=\ae@small@table@w,
abcd/.store in=\ae@small@table@abcd,
xx/.store in=\ae@small@table@xx,
fgh/.store in=\ae@small@table@fgh,
}
\newcommand\mysmalltable[1][]{%%
\bgroup
\pgfkeys{/ae/small/table/.cd,#1}%%
\begin{tabular}{ccc}\toprule
\multicolumn{3}{c}{$w=\ae@small@table@w$} \\\midrule
$\mathrm{ABCD}^\dag$ & $X^{2}\ (\%)$
& FGH \\\midrule
$\ae@small@table@abcd$ & $\ae@small@table@xx$
& $\ae@small@table@fgh$ \\\bottomrule
\end{tabular}%%
\egroup}
\makeatother
\begin{document}
\begin{table*}[h!]
\begin{minipage}[t]{\columnwidth}
\hspace*{\fill}%%
\mysmalltable[w=8,abcd=0.945]\hspace*{\fill}%%
\mysmalltable[w=16,]\hspace*{\fill}%%
\mysmalltable[w=32,xx=0.004]\par\vspace{0.5cm}%%
\hspace*{\fill}%%
\mysmalltable[w=32,]\hspace*{\fill}%%
\mysmalltable[w=32,]\hspace*{\fill}%%
\end{minipage}
\caption{Caption}
\end{table*}
\end{document}
Agregar las claves hace que sea un poco más fácil completar los valores y saber que se colocarán correctamente.