如何在 Latex 表格中的列之间添加行分隔符?

如何在 Latex 表格中的列之间添加行分隔符?

我正在寻找一种方法来用垂直线分隔特定的列(及其标题)。

到目前为止,我有以下代码和表格输出:

\begin{table}[!htbp] \centering 
  \caption{} 
  \label{} 
\small 
\begin{tabular}{@{\extracolsep{1pt}} ccccccccc} 
\\[-1.8ex]\hline 
\hline \\[-1.8ex] 
 & var-A-1 & var-A-2 & var-B-1 & var-B-2 & var-B-3 & var-C-1 & var-C-2 & var-C-2.1 \\ 
\hline \\[-1.8ex] 
1 & $0.2655$ & $0.8984$ & $0.206$ & $0.4977$ & $0.9347$ & $0.3861$ & $0.4821$ & $0.6685$ \\ 
2 & $0.3721$ & $0.9447$ & $0.1766$ & $0.7176$ & $0.2121$ & $0.0134$ & $0.5996$ & $0.7942$ \\ 
3 & $0.5729$ & $0.6608$ & $0.687$ & $0.9919$ & $0.6517$ & $0.3824$ & $0.4935$ & $0.1079$ \\ 
4 & $0.9082$ & $0.6291$ & $0.3841$ & $0.38$ & $0.1256$ & $0.8697$ & $0.1862$ & $0.7237$ \\ 
5 & $0.2017$ & $0.0618$ & $0.7698$ & $0.7774$ & $0.2672$ & $0.3403$ & $0.8274$ & $0.4113$ \\ 
\hline \\[-1.8ex] 
\end{tabular} 
\end{table} 

在此处输入图片描述

我希望最终得到这样的结果:

在此处输入图片描述

答案1

只需将分隔符放在表格列定义中:

cc|ccc|cccc

答案2

使用垂直线为原本组织不善的表格提供视觉结构绝对是一种不令人满意的做法。不要使用垂直线,而是更清晰地组织标题材料。以下示例显示了一种可能的方法;它不使用垂直线,而是使用包的线条绘制宏booktabs而不是\hline。(顺便说一句,我假设——实际上希望……——您的实际文档的标题单元格比“var-A”、“var-B”等略显简洁。)

另外,请确保数字数据的小数点对齐。我建议您加载包siunitx并使用S列类型来实现此排版目标。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs,siunitx,caption}
\captionsetup{skip=0.5\baselineskip}

\begin{document}

\begin{table}[!htbp] 
\caption{} 
\label{} 
\setlength\tabcolsep{0pt} % make LaTeX figure out width of inter-column spaces
\begin{tabular*}{\textwidth}{l @{\extracolsep{\fill}}
                            *{8}{S[table-format=1.4]}} 
\toprule
& \multicolumn{2}{c}{var-A} & \multicolumn{3}{c}{var-B} & \multicolumn{3}{c}{var-C} \\
\cmidrule{2-3} \cmidrule{4-6} \cmidrule{7-9}
& {1} & {2} & {1} & {2} & {3} & {1} & {2} & {2.1} \\ 
\midrule
1 & 0.2655 & 0.8984 & 0.206 & 0.4977 & 0.9347 & 0.3861 & 0.4821 & 0.6685 \\ 
2 & 0.3721 & 0.9447 & 0.1766 & 0.7176 & 0.2121 & 0.0134 & 0.5996 & 0.7942 \\ 
3 & 0.5729 & 0.6608 & 0.687 & 0.9919 & 0.6517 & 0.3824 & 0.4935 & 0.1079 \\ 
4 & 0.9082 & 0.6291 & 0.3841 & 0.38 & 0.1256 & 0.8697 & 0.1862 & 0.7237 \\ 
5 & 0.2017 & 0.0618 & 0.7698 & 0.7774 & 0.2672 & 0.3403 & 0.8274 & 0.4113 \\ 
\bottomrule
\end{tabular*} 
\end{table} 

\end{document}

相关内容