我正在尝试制作一个如下所示的表格:
+--------------+
| Class 1 |
+--------------+
| A | B |
+---------+----+------+-------+
| | C | a | b |
| Class 2 +----+------+-------+
| | D | c | d |
+---------+----+------+-------+
我的代码有很多问题。首先,单词 span 出现在条目前面的方式\multicolumn{2}{|c|}{{\textbf{Class 1}}}
(它没有跨越行)。其次,C 和 D 之间的行一直穿过第 2 类。我不知道如何去掉右上角的行。这真是一团糟,我做错了什么?抱歉,问题不太具体。
\begin{tabular}{|r|c||c|c|}
\hline
\multicolumn{2}{c}{} & \multicolumn{2}{|c|}{{\textbf{Class 1}}} \\
\multicolumn{2}{c}{} & A & B \\
\multirow{2}{*}{{\textbf{Class 2}}}
& C & a & b \\
\hline
& D & c & d \\
\hline
\end{tabular}
答案1
我偷了大部分答案这里,但我认为这就是你想要的
\begin{tabular}{rc|c|c|}
\cline{3-4}
& & \multicolumn{2}{|c|}{{\textbf{Class 1}}} \\
\cline{3-4}
& & A & B \\
\hline
\multicolumn{1}{|c|}{\multirow{2}{*}{{\textbf{Class 2}}}}& C & a & b \\
\cline{2-4}
\multicolumn{1}{|c|}{}& D & c & d \\
\hline
\end{tabular}
答案2
如果你正在排版凯莱表,那么我认为方法如下里克·德·格鲁特很好。如果它更像是一个文本表,您可以使用该包来booktabs
稍微增强表格的外观,省略垂直线并添加一些垂直空间:
\documentclass{article}
\usepackage{booktabs}
\begin{document}
\begin{tabular}{rccc}
\toprule
& & \multicolumn{2}{c}{{\textbf{Class 1}}}
\\\cmidrule{3-4}
& & A & B
\\\midrule[\heavyrulewidth]
\textbf{Class 2}
& C & a & b
\\\cmidrule{2-4}
& D & c & d
\\\bottomrule
\end{tabular}
\end{document}
方案二:作为杰克指出,此解决方案不能与multirow
center 包一起使用。可以Class 2
使用包进行更多调整:calc
\documentclass{article}
\usepackage{booktabs}
\usepackage{calc}
\begin{document}
\begin{tabular}{rccc}
\toprule
& & \multicolumn{2}{c}{{\textbf{Class 1}}}
\\\cmidrule{3-4}
& & A & B
\\\midrule[\heavyrulewidth]
\begingroup\makeatletter
\setlength{\@tempdima}{\totalheightof{\strut}}
\smash{\raisebox{-0.5\@tempdima-0.5\aboverulesep-0.5\belowrulesep-0.5\lightrulewidth}{%
\textbf{Class 2}%
}}
\endgroup
& C & a & b
\\\cmidrule{2-4}
& D & c & d
\\\bottomrule
\end{tabular}
\end{document}