制作形状奇特的桌子

制作形状奇特的桌子

我正在尝试制作一个如下所示的表格:

               +--------------+
               |   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}

方案二:作为杰克指出,此解决方案不能与multirowcenter 包一起使用。可以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}

结果 方案二

相关内容