挑战:如何重组表格中的水平线

挑战:如何重组表格中的水平线

我已经做了这个表:

在此处输入图片描述

但我希望将 Class 中带有标签 1 的左列全部合并为一个块。同样,我希望将 Class 中带有标签 2 的左列全部合并为一个块。简而言之,我们只需要显示 1 一次,2 一次。

这是我的 Tex 代码:

\begin{table}[!h]
\begin{tabular}{|c||c| c|} 
\hline
Class \; & \;  math  & \; type\\ \hline
 1\; & \;  spin  & \; a \\ \hline
 1\; & \;  statistics & \;   b \\ \hline
 1\; & \; string  & \;  c \\ \hline
2 \; & \;   spin  & \; d \\ \hline
2\;  & \;  statistics & \; e \\ \hline
2\;  & \;  string  & \; f \\ \hline
 \end{tabular}
\caption{  }
\label{}
\end{table}

谢谢各位专家,如有意见请给予答复!

答案1

现在正是展示你的booktabs肌肉:

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}

\begin{document}

\begin{tabular}{c c c}
  \toprule
  \textbf{Class} & \textbf{Math} & \textbf{Type} \\
  \midrule
  1 & spin       & a \\
    & statistics & b \\
    & string     & c \\[.5\normalbaselineskip]
  2 & spin       & d \\
    & statistics & e \\
    & string     & f \\
  \bottomrule
\end{tabular}

\end{document}

还可以考虑查看此信息图表 (来源):

在此处输入图片描述

答案2

使用\cline而不是\hline(我删除了 spces\;以使示例可以快速编译):

\documentclass{article}
\usepackage{array}

\begin{document}

\begin{table}
\centering
\begin{tabular}{|c||c| c|} 
\hline
Class  &   math  &  type\\ 
\hline
 1 &   spin  &  a \\ 
\cline{2-3}
  &   statistics &    b \\ 
\cline{2-3}
  &  string  &   c \\ 
\hline
 2  &    spin  &  d \\ 
\cline{2-3}
   &   statistics &  e \\ 
\cline{2-3}
   &   string  &  f \\ 
\hline
 \end{tabular}
\caption{  }
\label{}
\end{table}

\end{document}

在此处输入图片描述

也不相关,但尽量不要使用如此严格的位置说明符[!h];要么使用限制较少的选项,要么根本不使用(甚至更好)。

答案3

对于您的问题,

尝试这个

\usepackage{multirow}
\begin{table}[!h]
\begin{tabular}{|c||c| c|} 
\hline
Class \; & \;  math  & \; type\\ \hline
multirow{3}{*}{1} \; & \;  spin  & \; a \\ \hline
 \; & \;  statistics & \;   b \\ \hline
 \; & \; string  & \;  c \\ \hline
multirow{3}{*}{2} \; & \;   spin  & \; d \\ \hline
 \;  & \;  statistics & \; e \\ \hline
 \;  & \;  string  & \; f \\ \hline
 \end{tabular}
\caption{  }
\label{}
\end{table}

由于没有完全正常工作的 MWE,因此未经测试。

相关内容