如何创建带有子组的 Latex 表

如何创建带有子组的 Latex 表

我是 LaTex 的完全初学者。我有 3 个表格来显示关于我的 3 个不同样本的统计数据。我想将它们合并为一个表格。首先,让我分享一下我用来创建 3 个不同表格的代码。代码是相同的。我基本上通过复制粘贴 3 次此代码(当然具有不同的值)来创建 3 个不同的表格。

\begin{table}
\centering
\begin{tabular}{@{}llccc@{}}
\toprule
          &                & \multicolumn{1}{l}{\textbf{Ambiguous}} & \multicolumn{1}{l}{\textbf{Unambiguous}} & \multicolumn{1}{l}{\textbf{Total}} \\ \midrule
          & \textbf{split-1} & 170266                                     & 197630                                       & 367896                                 \\
\textbf{} & \textbf{split-2}   & 21479                                     & 24645                                       & 46124                                 \\
          & \textbf{split-3}  & 21477                                     & 25166                                       & 46643                                
\end{tabular}
\caption{Statistics about first data}
\end{table}

它给出了下图:

在此处输入图片描述

正如我所说,我总共有 3 个不同的表。我想合并它们,最后得到一个类似于下面的表:

在此处输入图片描述

与上面的表格类似,我希望新表格中有 3 列(模糊、明确和总计)。此外,我需要替换(将表格中的死亡(所有原因)行替换为列车行,将表格中的癌症死亡行替换为开发行),并为每个粗体子部分添加一行。我该怎么做?

编辑

我可以画一个草图来粗略地表示我想要的东西(但不幸的是不知道如何为此编写乳胶代码): 在此处输入图片描述

答案1

在下面的 MWE 中,我删除了不必要的第一列,因为您的表格只需要四列以及所有多余的\multicolumn命令。

\documentclass{article}
\usepackage{booktabs}

\begin{document}

\begin{table}
\centering
\begin{tabular}{@{}lccc@{}}
\toprule
     & \textbf{Ambiguous} & \textbf{Unambiguous}  & \textbf{Total} \\ 
\midrule
 \textbf{Dataset 1}\\
    Train  & 170266    & 197630    & 367896    \\
    Dev    & 21479     & 24645     & 46124     \\
    Test   & 21477     & 25166     & 46643     \\
  \midrule
     \textbf{Dataset 2}\\
    Train  &     &     &    \\
    Dev    &     &     &    \\
    Test   &     &     &    \\
  \midrule
   \textbf{Dataset 3}\\
    Train   &     &     &    \\
    Dev     &     &     &    \\
    Test    &     &     &    \\
  \bottomrule                          
\end{tabular}
\caption{Statistics about first data}
\end{table}

\end{document}

在此处输入图片描述

如果您还想稍微缩进条目“train”,“dev”和“test”,您可能还会对以下变体感兴趣:

\documentclass{article}
\usepackage{booktabs}

\begin{document}

\begin{table}
\centering
\begin{tabular}{lccc@{}}
\toprule
          & \textbf{Ambiguous} & \textbf{Unambiguous}  & \textbf{Total} \\ \midrule
 \multicolumn{4}{@{}l}{\textbf{Dataset 1}}\\
    Train & 170266    & 197630    & 367896    \\
    Dev & 21479     & 24645     & 46124     \\
   Test  & 21477     & 25166     & 46643     \\
  \midrule
     \multicolumn{4}{@{}l}{\textbf{Dataset 2}}\\
    Train &     &     &    \\
    Dev &     &     &    \\
    Test &     &     &    \\
  \midrule
   \multicolumn{4}{@{}l}{\textbf{Dataset 3}}\\
    Train &     &     &    \\
    Dev &     &     &    \\
    Test &     &     &    \\
  \bottomrule                          
\end{tabular}
\caption{Statistics about first data}
\end{table}

\end{document}

在此处输入图片描述

答案2

您可以使用siunitx功能来更好地排版表格。我展示了两个版本,其中一个没有粗体。

\documentclass{article}
\usepackage{siunitx,booktabs}

\begin{document}

\begin{table}[htp]
\centering

\begin{tabular}{
  l
  S[table-format=6.0]
  S[table-format=6.0]
  S[table-format=6.0]
  @{}
}
\toprule
 & {\textbf{Ambiguous}} & {\textbf{Unambiguous}} & {\textbf{Total}} \\
\midrule
\multicolumn{4}{@{}l}{\textbf{Dataset-1}} \\
\textbf{split-1} & 170266 & 197630 & 367896 \\
\textbf{split-2} &  21479 &  24645 &  46124 \\
\textbf{split-3} &  21477 &  25166 &  46643 \\
\midrule
\multicolumn{4}{@{}l}{\textbf{Dataset-2}} \\
\textbf{split-1} & 170266 & 197630 & 367896 \\
\textbf{split-2} &  21479 &  24645 &  46124 \\
\textbf{split-3} &  21477 &  25166 &  46643 \\
\midrule
\multicolumn{4}{@{}l}{\textbf{Dataset-3}} \\
\textbf{split-1} & 170266 & 197630 & 367896 \\
\textbf{split-2} &  21479 &  24645 &  46124 \\
\textbf{split-3} &  21477 &  25166 &  46643 \\
\bottomrule
\end{tabular}

\caption{Statistics about first data}

\end{table}

\begin{table}[htp]
\centering

\begin{tabular}{
  l
  S[table-format=6.0]
  S[table-format=6.0]
  S[table-format=6.0]
  @{}
}
\toprule
 & {Ambiguous} & {Unambiguous} & {Total} \\
\midrule
\multicolumn{4}{@{}l}{\textit{Dataset-1}} \\
split-1 & 170266 & 197630 & 367896 \\
split-2 &  21479 &  24645 &  46124 \\
split-3 &  21477 &  25166 &  46643 \\
\midrule
\multicolumn{4}{@{}l}{\textit{Dataset-2}} \\
split-1 & 170266 & 197630 & 367896 \\
split-2 &  21479 &  24645 &  46124 \\
split-3 &  21477 &  25166 &  46643 \\
\midrule
\multicolumn{4}{@{}l}{\textit{Dataset-3}} \\
split-1 & 170266 & 197630 & 367896 \\
split-2 &  21479 &  24645 &  46124 \\
split-3 &  21477 &  25166 &  46643 \\
\bottomrule
\end{tabular}

\caption{Statistics about first data}

\end{table}

\end{document}

在此处输入图片描述

答案3

像这样?

在此处输入图片描述

如果您需要更多组(三个),只需添加如图所示并在 mwe 中提供的内容:

\documentclass{article}
\usepackage[skip=1ex]{caption}  % new
\usepackage{siunitx}            % new
\usepackage{booktabs, 
            makecell}           % new
\renewcommand\theadfont{\small\bfseries}
\renewcommand\theadgape{}
\newcommand\mcbf[1]{\multicolumn{2}{@{} l}{\textbf{#1}}}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%


\begin{document}
    \begin{table}
\caption{Statistics about first data}
\label{tab:stat-sumary}
\centering
\begin{tabular}{@{} l
                    l
               *{3}{S[group-four-digits,
                      table-format=6]}
                @{}}
    \toprule
    &       &   {\thead{Ambiguous}} &   {\thead{Unambiguous}}   &   {\thead{Total}}  \\
    \midrule
\mcbf{Dataset 1}                                                &   &   &           \\
    & Train &   170266              &   197630                  &   367896          \\
    & Dev   &    12312              &       44                  &    12345          \\
    & Test  &   123123              &      888                  &    98765          \\
    \midrule
\mcbf{Dataset 2}                                                &   &   &           \\
    & Train &   170266              &   197630                  &   367896          \\
    & Dev   &    12312              &       44                  &    12345          \\
    & Test  &   123123              &      888                  &    98765          \\
    \bottomrule
\end{tabular}
\end{table}
    \end{document}

相关内容