修复表格垂直和水平行距

修复表格垂直和水平行距

以下面的代码作为表格的示例:

\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包中的可变粗细线条替换这些线条,并将\clines 替换为单个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}

在此处输入图片描述

相关内容