以下面的代码作为表格的示例:
\documentclass{article}
\usepackage{multirow, booktabs}
\begin{document}
\begin{table}[ht]
\caption{Dummy Table}
\centering
\begin{tabular} {c||c|c|c||c|c|c} \toprule[2.0pt]
\textbf{Category of } & \multicolumn{3}{c||}
{\textbf{Average Prices}} & \multicolumn{3}{c}
{\textbf{Production Time}} \\ \cline{2-4} \cline{5-7}
\textbf{Products } & A & B & C & A & B & C \\ \toprule[2.0pt]
Fruits & 1\% & 2\% & 3\% & A & D & G \\
Meat & 4\% & 5\% & 6\% & B & E & H \\
Vegetables & 7\% & 8\% & 9\% & C & F & I \\ \toprule[2.0pt]
\end{tabular}
\end{table}
\end{document}
举个例子,我有两个问题自己没能解决
A
关于与水平线相交的两条垂直线。可以以某种方式避免这种情况吗?在上面的例子中,我尝试使用\cline
从单元格 2 到单元格 4,然后从单元格 5 到单元格 7,但如您所见,这显然没有解决问题。垂直线是否可以在分割表格的两条水平线(||)之前和之后停止?
乙
关于我放置在那里的下方的间距\toprule[2.0pt]
。这个空间可以缩小并接触我放置在其上方的规则吗?
先感谢您!
答案1
中的线条booktabs
在设计上不适合与 verticla 线条一起使用,因为它们有一些垂直填充。我建议用makecell
包中的可变粗细线条替换这些线条,并将\cline
s 替换为单个hhlines
,这样您就可以控制水平和垂直线条的相交方式。
\documentclass{article}
\usepackage{multirow, booktabs}
\usepackage{makecell, hhline}
\renewcommand{\theadfont}{\small\bfseries}
\setlength{\extrarowheight}{2pt}
\begin{document}
\begin{table}[ht]
\caption{Dummy Table}
\centering
\begin{tabular} {c||c|c|c||c|c|c} \Xhline{2.0pt}
\multirowthead{2.75}{Category of\\ Products} & \multicolumn{3}{c||}
{\thead{Average\\ Prices}} & \multicolumn{3}{c}
{\thead{Production\\ Time}} \\ \hhline{~||---||---}
& A & B & C & A & B & C \\ \Xhline{2.0pt}
Fruits & 1\% & 2\% & 3\% & A & D & G \\
Meat & 4\% & 5\% & 6\% & B & E & H \\
Vegetables & 7\% & 8\% & 9\% & C & F & I \\ \Xhline{2.0pt}
\end{tabular}
\end{table}
\end{document}