如何将表格的表头从 2 行改为 4 行?

如何将表格的表头从 2 行改为 4 行?

我曾尝试将数量增加到2需要44 行

\multirow{4}{*}{\thead{Pair number \\ (Class 11 sample sample \& \\ Class 22 sample sample \\ Reference X sample sample)}} & 

在此处输入图片描述

\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}{lrr}
    \toprule
     \multirow{4}{*}{\thead{Pair number \\ (Class 11 sample sample \& \\ Class 22 sample sample \\ Reference X sample sample)}} &  \multicolumn{2}{c}{\thead{\makebox[0pt]{Accuracy Accu Accuracy (\%)}}}\\ \cmidrule{2-3}
    &{\textbf{Accuracy}}
     & {\textbf{Inaccuracy}} \\
     \midrule
    Pair 11 (A8 \& B35) & 0  &   0 \\
    Pair 12 (A10 \& B42) & 0   &  0 \\
    Pair 13 (A8 \& B32) & 0   &  0 \\
        \bottomrule
    \end{tabular}
\end{table}


\end{document}

答案1

评论太长:

单元格中的文本行数\multirow必须小于或等于跨表行中的文本行数。您的表格并非如此:\multirow包含四行文本,跨表行只有两行。要解决此差异,您有更多可能性:

  • 添加假(空)文本行,以便跨越单元格将有(至少)四行
  • 通过在单元格文本末尾添加适当的支撑高度来使表格行更高
  • 重新措辞单元格中的文本\multirow,使其只有两行文本

我会选择最后一种可能性。由于表格的上下文未知,我只能给你一般性建议:将表格意图的描述或某一列中收集的数据内容的广泛描述移出表格主体。例如移到表格标题或表格图例中,或者在文档文本中描述它(我们不能代替你这样做)。

离题评论:

  • 这个问题至少是你提出的第三个类似主题的问题。到目前为止,我没有注意到,你会在后续问题中考虑收到的答案和评论中提出的解决方案。为什么?

  • 在序言中,您两次加载某些包。这通常不会损害文档,但可能会导致包之间发生冲突,并且(当然)会覆盖已加载包的最终设置/选项。为了您自己的利益,请删除所有重复加载。对于 MWE,也只加载与您的问题相关的包。

附录:表格的示例,考虑如何解决您的问题的第一个选项:

\documentclass[12pt,oneside]{book}

\usepackage[showframe]{geometry}
\usepackage{amsmath}
\usepackage{ragged2e}
\usepackage{booktabs, makecell, multirow, tabularx,
            threeparttable, tabulary}
\renewcommand\theadfont{\small\bfseries} % for bold in table using \small
\renewcommand\theadgape{}
\usepackage[svgnames, table]{xcolor}
\usepackage{siunitx} %for table spacing to second row
\usepackage{graphicx}

\usepackage[font=small,
            labelfont={bf,sf}, textfont={sf}, 
            justification=centering]{caption}

\begin{document}
    \begin{table}[ht]
\centering
 \begin{tabular}{lrr}
    \toprule
    &       &           \\  % fake line
    \addlinespace
    &   \multicolumn{2}{c}{\thead{Accuracy Accu Accuracy (\%)}}\\ 
    \cmidrule{2-3}
 \multirow{-4}{*}{\thead{Pair number \\
                        (Class 11 sample sample \& \\
                        Class 22 sample sample \\
                        Reference X sample sample)}}
    & \textbf{Accuracy} & \textbf{Inaccuracy}                   \\
     \midrule
Pair 11 (A8  \& B35) & 0    &   0 \\
Pair 12 (A10 \& B42) & 0    &   0 \\
Pair 13 (A8  \& B32) & 0    &   0 \\
        \bottomrule
    \end{tabular}
\end{table}
\end{document}

这使:

在此处输入图片描述

相关内容