有没有办法cline
在环境中对垂直规则进行更细粒度的控制(沿着允许水平规则的路线)NiceTabular
?
例如,我想消除右上角“语义”和“实质性”之间的垂直线:
在常规表格环境中,我只需使用两个多列命令,例如\multicolumn{1}{l}{Semantic} & \multicolumn{1}{l}{Substantive}
。有没有办法在 NiceMatrix NiceTabular 环境中复制此操作?MWE:
\begin{NiceTabular}{p{2.5cm}p{2.5cm}p{2.5cm}|p{2.5cm}}
&& \Block{1-2}{Subject}&\\
&& \textbf{Semantic} & \textbf{Substantive} \\
\cline{3-4}
\Block{2-1}{Justification} & \textbf{Semantic} & Surplusage & Common law \\
\cline{3-4}
& \textbf{Substantive} & Whole code & Lenity
\end{NiceTabular}
答案1
您可以使用一个空块,它将阻止第二行的垂直规则(下面的命令\Block{1-2}{}
)。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{p{2.5cm}p{2.5cm}p{2.5cm}|p{2.5cm}}
&& \Block{1-2}{Subject}&\\
&& \Block{1-2}{}\textbf{Semantic} & \textbf{Substantive} \\
\cline{3-4}
\Block{2-1}{Justification} & \textbf{Semantic} & Surplusage & Common law \\
\cline{3-4}
& \textbf{Substantive} & Whole code & Lenity
\end{NiceTabular}
\end{document}
与往常一样nicematrix
,您需要进行多次编译。
您还可以将垂直规则添加为空白块的边框(\Block[borders=right]{2-1}{}
下面的命令)。
\documentclass{article}
\usepackage{nicematrix}
\begin{document}
\begin{NiceTabular}{p{2.5cm}p{2.5cm}p{2.5cm}p{2.5cm}}
&& \Block{1-2}{Subject}&\\
&& \textbf{Semantic} & \textbf{Substantive} \\
\cline{3-4}
\Block{2-1}{Justification} & \textbf{Semantic} &
\Block[borders=right]{2-1}{}
Surplusage & Common law \\
\cline{3-4}
& \textbf{Substantive} & Whole code & Lenity
\end{NiceTabular}
\end{document}
输出并不完全相同,因为现在规则是在构造数组之后绘制的,并且没有为列(3 和 4)之间的垂直规则保留任何空间。当然,这只是 0.4 pt 的差异。
您还可以使用 Tikz 进行绘图\CodeAfter
:(\CodeAfter \tikz \draw (3-|4) -- (last-|4);
当然,这项技术需要对 Tikz 有最基本的了解)。
\documentclass{article}
\usepackage{nicematrix,tikz}
\begin{document}
\begin{NiceTabular}{p{2.5cm}p{2.5cm}p{2.5cm}p{2.5cm}}
&& \Block{1-2}{Subject}&\\
&& \textbf{Semantic} & \textbf{Substantive} \\
\cline{3-4}
\Block{2-1}{Justification} & \textbf{Semantic} &
Surplusage & Common law \\
\cline{3-4}
& \textbf{Substantive} & Whole code & Lenity
\CodeAfter \tikz \draw (3-|4) -- (last-|4) ;
\end{NiceTabular}
\end{document}
输出是一样的。