有没有简单的方法可以选择性地删除两个特定单元格之间的线条。例如,单元格 4 和单元格 5 之间的垂直线以及单元格 6 和单元格 9 之间的水平线?
\documentclass{article}
\begin{document}
\begin{table}[h!]
\begin{center}
\label{tab:table1}
\begin{tabular}{|l|l|l|} % <-- Alignments: 1st column left, 2nd middle and 3rd right, with vertical lines in between
\hline
cell1 & cell2 & cell3 \\
\hline
cell4 & cell5 & cell6 \\
\hline
cell7 & cell8 & cell9 \\
\hline
\end{tabular}
\end{center}
\end{table}
\end{document}
答案1
展示比解释更容易。
\documentclass{article}
\begin{document}
\begin{table}[h!]
\begin{center}
\label{tab:table1}
\begin{tabular}{|l|l|l|} % <-- Alignments: 1st column left, 2nd middle and 3rd right, with vertical lines in between
\hline
cell1 & cell2 & cell3 \\
\hline
\multicolumn{1}{|l}{cell4} & cell5 & cell6 \\
\cline{1-2}
cell7 & cell8 & cell9 \\
\hline
\end{tabular}
\end{center}
\end{table}
\end{document}
答案2
有了{NiceTabular}
,nicematrix
您就可以一键hvlines
绘制所有垂直和水平规则。
但是,这些块中有一个命令\Block
,并且没有绘制规则。在您的示例中,我使用了两个命令\Block
。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{table}[h!]
\centering
\begin{NiceTabular}{lll}[hvlines]
cell1 & cell2 & cell3 \\
\Block{1-2}{} cell4 & cell5 & \Block{2-1}{} cell6 \\
cell7 & cell8 & cell9 \\
\end{NiceTabular}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。