表格中列的粗体部分

表格中列的粗体部分

我想制作表格,在其中显示测试的最佳结果。为此,我必须正确加粗行和列。使用

\Xcline{2-5}{2pt}

我可以对行进行加粗,但如何对列进行同样操作呢?在此处输入图片描述

我用来绘制表格的代码:

\begin{table}[ht!]
\begin{center}
\begin{tabular}{|c|c|c|c|c|}
\hline
\diagbox{board}{tag} & tag1 & tag2 & tag3 &  tag4 \\ \hline
 \multirow{3}{*}{board1} & qr & dm & ar & ap \\ \cline{2-5} &
 qr  & dm & ar & ap \\ \cline{2-5} &
 qr  & dm & ar & ap \\ \cline{2-5} \hline
 \multirow{3}{*}{board2} & qr  & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} \hline\Xcline{2-5}{1.5pt}
  \multirow{3}{*}{board3} & qr & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} \hline \Xcline{2-5}{1.5pt}
\end{tabular}
\caption{Table_caption}
\end{center}
\end{table}

答案1

我提出了这个解决方案,它依赖于boldline包 ( shipunovbundle),它为表格定义了可变粗细的线条,包括水平和垂直线条。它使用一个数字作为参数,该数字表示默认线条粗细的倍数。在下面的代码中,我使用了 5,这意味着粗细为2pt

\documentclass[12pt,fleqn]{article}
\usepackage{pict2e}
\usepackage{keyval}
\usepackage{calc}
\usepackage{fp}
\usepackage{diagbox}
\usepackage{booktabs}
\usepackage{tabularx,colortbl, makecell, caption, multirow}
\usepackage{boldline} 

\begin{document}

\begin{table}[htb!]
\centering
\begin{tabular}{|c|c|c|c|c|}
\hline
\diagbox{board}{tag} & tag1 & tag2 & tag3 & tag4 \\ \hline
 \multirow{3}{*}{board1} & qr & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} \hline
 \multirow{3}{*}{board2} & qr & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} &
 qr & dm & ar & ap \\ \cline{2-5} \hline\clineB{2-5}{5}
\multirow{3}{*}{board3}& \multicolumn{1}{V{5}c|}{qr} & dm & ar & \multicolumn{1}{|cV{5}}{ap} \\ \cline{2-5}
 &\multicolumn{1}{V{5}c|}{qr} & dm & ar & \multicolumn{1}{|cV{5}}{ap} \\ \cline{2-5}
 &\multicolumn{1}{V{5}c|}{qr} & dm & ar & \multicolumn{1}{|cV{5}}{ap} \\[2pt] %
\hline
\noalign{\vskip-2.4pt}\clineB{2-5}{5}
\end{tabular}
\caption{Table caption}
\end{table}

\end{document} 

在此处输入图片描述

答案2

这是使用 来制作该表的一种{NiceTabular}方法nicematrix

  • 在 中{NiceTabular},您可以使用 命令 垂直和水平合并单元格\Block。您可以使用 键在块周围“绘制” draw

  • 该密钥hvlines绘制除区块之外的所有规则(但如果密钥transparent用于区块,则绘制规则)。

  • {NiceTabular}有一个内置命令\diagbox(但是,该命令没有设置单元格的大小,这就是我放置 的原因\rule)。

然而,您需要多次编译。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{table}[ht!]
\centering
\begin{NiceTabular}{wc{1.3cm}cccc}[hvlines]
\rule[-8pt]{0pt}{20pt}
\diagbox{board}{tag} & tag1 & tag2 & tag3 &  tag4 \\ 
\Block{3-1}{board1} & qr & dm & ar & ap \\  
&  qr  & dm & ar & ap \\  
&  qr  & dm & ar & ap \\ 
\Block{3-1}{board2} & qr  & dm & ar & ap \\ 
& qr & dm & ar & ap \\ 
& qr & dm & ar & ap \\ 
\Block{3-1}{board3} & 
\Block[transparent,draw,line-width=2pt]{3-4}{} qr & dm & ar & ap \\ 
& qr & dm & ar & ap \\ 
& qr & dm & ar & ap 
\end{NiceTabular}
\caption{Table caption}
\end{table}

\end{document}

第一个代码的输出

如果您想要块内的粗线,这也是可能的,但它有点复杂(并且您必须加载 Tikz)。

\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}

\begin{table}[ht!]
\centering
\begin{NiceTabular}{wc{1.3cm}cccc}[hvlines]
\rule[-8pt]{0pt}{20pt}
\diagbox{board}{tag} & tag1 & tag2 & tag3 &  tag4 \\ 
\Block{3-1}{board1} & qr & dm & ar & ap \\  
&  qr  & dm & ar & ap \\  
&  qr  & dm & ar & ap \\ 
\Block{3-1}{board2} & qr  & dm & ar & ap \\ 
& qr & dm & ar & ap \\ 
& qr & dm & ar & ap \\ 
\Block{3-1}{board3} & 
\Block[transparent,tikz={clip},tikz={draw,line width=2pt}]{3-4}{} qr & dm & ar & ap \\ 
& qr & dm & ar & ap \\ 
& qr & dm & ar & ap 
\end{NiceTabular}
\caption{Table caption}
\end{table}

\end{document}

第二段代码的输出

相关内容