![如何为该多行多列表格创建标题?](https://linux22.com/image/242175/%E5%A6%82%E4%BD%95%E4%B8%BA%E8%AF%A5%E5%A4%9A%E8%A1%8C%E5%A4%9A%E5%88%97%E8%A1%A8%E6%A0%BC%E5%88%9B%E5%BB%BA%E6%A0%87%E9%A2%98%EF%BC%9F.png)
我希望创建一个如下所示的表格:
+-------++--------------------------++--------------------------+
| || Category A || Category B |
| Title ++--------+--------+--------++--------+--------+--------+
| || Item 1 | Item 2 | Item 3 || Item 1 | Item 2 | Item 3 |
+-------++--------+--------+--------++--------+--------+--------+
| X || 1 | 2 | 3 || 1 | 2 | 3 |
+-------++--------+--------+--------++--------+--------+--------+
| Y || 1 | 2 | 3 || 1 | 2 | 3 |
+-------++--------+--------+--------++--------+--------+--------+
但我在将其格式化为这种形式时遇到了很大困难。
哪种乳胶代码可以构造如上所示的标题?
我查看了此处的参考页面:http://en.wikibooks.org/wiki/LaTeX/Tables但尽管我进行了实验,我还是无法获得这种效果。
答案1
以下是您所追寻内容的重复项:
\documentclass{article}
\usepackage{multirow}% http://ctan.org/pkg/multirow
\begin{document}
\begin{tabular}{|c||l|l|l||l|l|l|}
\hline
\multirow{2}{*}{Title}
& \multicolumn{3}{c||}{Category~A}
& \multicolumn{3}{|c|}{Category~B} \\ \cline{2-7}
& Item~1 & Item~2 & Item~3 & Item~1 & Item~2 & Item~3 \\ \hline
$X$ & 1 & 2 & 3 & 1 & 2 & 3 \\ \hline
$Y$ & 1 & 2 & 3 & 1 & 2 & 3 \\ \hline
\end{tabular}
\end{document}
以下是一个考虑因素:
这booktabs
包裹为表格提供了非常漂亮的排版环境,但要获得它们必须遵守一些严格的规则。其中之一就是绝不,曾经使用垂直线。这样做的原因是所有条目的列对齐应该在视觉上提供某种形式的水平分隔,因此无需添加垂直线(或使它们变得有些多余)。您的表格,融入环境,booktabs
可能看起来像这样:
\documentclass{article}
\usepackage{graphicx}% http://ctan.org/pkg/graphicx
\usepackage{multirow}% http://ctan.org/pkg/multirow
\usepackage{booktabs}% http://ctan.org/pkg/booktabs
\begin{document}
\begin{tabular}{c@{\qquad}ccc@{\qquad}ccc}
\toprule
\multirow{2}{*}{\raisebox{-\heavyrulewidth}{Title}} & \multicolumn{3}{c}{Category~A} & \multicolumn{3}{c}{Category~B} \\
\cmidrule{2-7}
& Item~1 & Item~2 & Item~3 & Item~1 & Item~2 & Item~3 \\
\midrule
$X$ & 1 & 2 & 3 & 1 & 2 & 3 \\
$Y$ & 1 & 2 & 3 & 1 & 2 & 3 \\
\bottomrule
\end{tabular}
\end{document}
\toprule
您会注意到,、\midrule
(\cmidrule
)和的使用\bottomrule
是对传统\hline
和\cline
命令的补充。
我已经修改了列,使其全部居中,c
以增加视觉吸引力。此外,我在各个列之间Category
插入了分隔线,以分隔标题。由于还添加了比正常更粗的规则,\qquad
booktabs
graphicx
需要Title
比常规的略低一点multirow
包裹提供\multirow{2}{*}{...}
。此下降是使用获得的\raisebox{-\heavyrulewidth}{...}
。\heavyrulewidth
是来自的宽度(或长度)定义booktabs
。