我已经做了这个表:
但我希望将 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,因此未经测试。