我想制作表格,在其中显示测试的最佳结果。为此,我必须正确加粗行和列。使用
\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
包 ( shipunov
bundle),它为表格定义了可变粗细的线条,包括水平和垂直线条。它使用一个数字作为参数,该数字表示默认线条粗细的倍数。在下面的代码中,我使用了 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}