答案1
只需使用包tblr
中的环境即可tabularray
。
\documentclass{article}
\usepackage{tabularray}
\begin{document}
\begin{tblr}{r||c|c||l}
Hello & test & run & done\\
\cline{2-3}
\end{tblr}
\end{document}
编辑:具有多行和彩色单元格(尽管对我来说看起来不太好)。
\documentclass{article}
\usepackage{tabularray}
\usepackage{ninecolors}
\begin{document}
\begin{tblr}{
colspec = {r||c|c||l},
row{odd} = {gray9}
}
Hello & test & run & done\\
\cline{2-3}
Hello & test & run & done\\
\cline{2-3}
\SetCell[r=2]{c} Hello & test & run & done\\
\cline{2-3}
& test & run & done\\
\cline{2-3}
Hello & test & run & done\\
\cline{2-3}
\end{tblr}
\end{document}
答案2
这是一个{NiceTabular}
使用 的解决方案nicematrix
。
该环境与经典环境类似{tabular}
,nicematrix
但也在单元格、行和列下创建 PGF/Tikz 节点。
然后,您可以使用这些节点和 Tikz 来绘制您想要的任何规则。
\documentclass{article}
\usepackage{nicematrix, tikz}
\begin{document}
\begin{NiceTabular}{r||c|c||l}
Hello & test & run & done \\
\CodeAfter \tikz \draw [shorten < = - \arrayrulewidth - \doublerulesep] (2-|2) -- (2-|4) ;
\end{NiceTabular}
\end{document}
您需要多次编译(因为 PGF/Tikz 节点)。
如果您喜欢更质朴的解决方案:
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{r|@{}c|c||l}
Hello & \hspace{\doublerulesep}\vrule\hspace{\arraycolsep}test & run & done \\
\cline{2-3}
\end{tabular}
\end{document}
规则的交界处并不完美,因为\cline
(由于历史原因)在下面的行中突出。可以通过稍微提高规则来解决该问题\cline
。
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{r|@{}c|c||l}
Hello & \hspace{\doublerulesep}\vrule\hspace{\arraycolsep}test & run & done \\[-\arrayrulewidth]
\cline{2-3}
\end{tabular}
\end{document}