
Tengo problemas para crear una tabla usando \multirow \multicolumn
Ambos contenidos parecían superponerse y no se veían bien.
Mi MWE completo:
\documentclass[12pt,oneside]{book}
\usepackage[showframe]{geometry}
\usepackage{amsmath}
\usepackage{ragged2e}
\usepackage{makecell, multirow, tabularx}
\renewcommand\theadfont{\small\bfseries} % for bold in table using \small
\renewcommand\theadgape{}
\usepackage[svgnames, table]{xcolor}
\usepackage{hhline, boldline}
\usepackage{seqsplit, caption} %for table spacing to second row
\usepackage{booktabs, ragged2e} % Use booktabs rules and get rid of vertical rules, ragged2e to ragged text
\usepackage{siunitx} %for table spacing to second row
\usepackage{threeparttable} %to add footnote below table
\usepackage{tabulary}
\usepackage{graphicx}
\usepackage[font=small,labelfont={bf,sf}, textfont={sf}, justification=centering]{caption}
\begin{document}
\begin{table}[h!]
\centering
\sisetup{table-format=3.0, table-number-alignment=center, table-column-width=2.0cm}
\begin{tabular}{lSS}
\toprule
\multirow{2}{*}{\textbf{Test Cases (Class A \& Class B)}} & \multicolumn{2}{c}{\thead{\makebox[0pt]{Arrangement Accuracy (\%)}}}\\
\cmidrule{2-3}
&{\textbf{AM}}
& {\textbf{FM}} \\
\midrule
Pairs of Samples 1 (A5 \& B42) & 333.33 & 1300.00 \\
Pairs of Samples 2 (A20 \& B44) & 47.44 & 77.35 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Respuesta1
La razón superficial de la casi colisión de los elementos del encabezado es la instrucción
\multicolumn{2}{c}{\thead{\makebox[0pt]{Arrangement Accuracy (\%)}}}
Sin embargo lo ésnola \multicolumn
instrucción (como se podría suponer por el título de su publicación) es la causa del problema. En cambio, es el uso de \makebox[0pt]{...}
, lo que hace que LaTeX avance por la línea sin tener en cuenta el ancho realmente disponible (que es 2*2cm+2\tabcolsep). Observe que la línea del encabezado sobresale por ambos lados, no solo por el lado izquierdo.
De todos modos, creo que debería simplificar la configuración del encabezado para permitir que cada S
columna de tipo tenga el ancho suficiente para que abarquen conjuntamente el ancho de Arrangement Accuracy (\%)
. Ah, y no veo ninguna razón (válida) para usarnegritaen la fila del encabezado, a menos que consideresgritando a tus lectoresser una razón válida. (No...)
\documentclass[12pt,oneside]{book}
%% Condensed preamble to the bare minimum:
\usepackage{geometry,{booktabs, ragged2e,siunitx}
\begin{document}
\begin{table}[h!]
\centering
\sisetup{table-format=6.4}
\begin{tabular}{@{} lSS @{}}
\toprule
Test Cases (Class A \& Class B) & \multicolumn{2}{c@{}}{Arrangement Accuracy (\%)}\\
\cmidrule(l){2-3}
& AM & FM \\
\midrule
Pairs of Samples 1 (A5 \& B42) & 333.33 & 1300.00 \\
Pairs of Samples 2 (A20 \& B44) & 47.44 & 77.35 \\
\bottomrule
\end{tabular}
\end{table}
\end{document}