
Estou tendo problemas para criar uma tabela usando ambos \multirow \multicolumn
Ambos os conteúdos pareciam se sobrepor e não pareciam bonitos.
Meu 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}
Responder1
A razão superficial para a quase colisão dos elementos do cabeçalho é a instrução
\multicolumn{2}{c}{\thead{\makebox[0pt]{Arrangement Accuracy (\%)}}}
No entanto, énãoa \multicolumn
instrução (como se pode supor pelo título da sua postagem) é a causa do problema. Em vez disso, é o uso de \makebox[0pt]{...}
, que faz com que o LaTeX desça a linha sem levar em conta a largura realmente disponível (que é 2*2cm+2\tabcolsep). Observe que a linha do cabeçalho se projeta em ambos os lados, não apenas no lado esquerdo.
De qualquer forma, acho que você deve simplificar a configuração do cabeçalho para permitir que cada S
coluna do tipo tenha largura suficiente para que elas abranjam conjuntamente a largura de Arrangement Accuracy (\%)
. Ah, e não vejo nenhuma razão (válida) para usarnegritona linha do cabeçalho - a menos que você consideregritando com seus leitoresser uma razão válida. (Eu não...)
\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}