NiceTabular:正在通过块绘制垂直规则

NiceTabular:正在通过块绘制垂直规则

我正在制作一个带有垂直虚线的表格,因此我使用的是 NiceTabular 环境而不是 tabular 环境。我希望垂直线不会绘制在我使用的 \Block 内(如文档中所述)https://ctan.math.washington.edu/tex-archive/macros/latex/contrib/nicematrix/nicematrix.pdf第 7 页底部),但事实似乎并非如此。

如何从 \Block 中删除虚线?这是我的代码,在 Overleaf 中运行:

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{table}[]
    \centering
    \begin{NiceTabular}{|c ||c:c:c||}
    \hline
    & \Block{1-3}{Resources} & & \\
    & 1 & 2 & 3 \\ \hline \hline
    Part 1 & a & b& c\\
    \hline
    Part 2 & d & e & f\\
    \hline
    \end{NiceTabular}
\end{table}

\end{document}

结果表如下带有虚线的表格,并且我预计“资源”部分没有虚线。

先感谢您!

答案1

这是一个错误,已在 nicematrix 6.2 版(2021-09-09)中解决。


但是,如果您坚持使用旧版本或者您想要另一种类型的虚线规则,则可以使用 Tikz 绘制虚线规则(或任何您想要的规则)。

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

\begin{document}

\begin{table}[]
\centering
\begin{NiceTabular}{|c||ccc||}
\Hline
& \Block{1-3}{Resources} & & \\
& 1 & 2 & 3 \\ \Hline \Hline
Part 1 & a & b& c\\
\Hline
Part 2 & d & e & f\\
\Hline
\CodeAfter
  \tikz \draw [dotted] (2-|3) -- (last-|3) (2-|4) -- (last-|4) ; 
\end{NiceTabular}
\end{table}

\end{document}

上述代码的输出

答案2

使用新的表包tabularray也很简单:

\documentclass{article}
\usepackage{tabularray}

\begin{document}
    \begin{table}[ht]
\centering
\begin{tblr}{hline{1,3-Z}, 
             vline{3,4}={dashed},
             colspec={|c||ccc||}
             }
        & \SetCell[c=3]{c}
          Resources &   &   \\
        & 1         & 2 & 3 \\
    \hline
Part 1  & a         & b & c \\
Part 2  & d         & e & f \\
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

附录: 使用tabularray软件包版本 2021N 及更高版本,可以绘制与双线交叉的垂直线(请参阅下面的 LJR 注释)。这将启用选项belowpos=1(请参阅下面的 MWE):

\documentclass{article}
\usepackage{tabularray}

\begin{document}
    \begin{table}[ht]
    \caption{Example when vertical lines crossover double horizontal lines}
\centering
\begin{tblr}{hline{1,3-Z},
             vline{1,2,Z}={1}{-}{belowpos=1}, %<---
             vline{2,Z}={2}{-}{belowpos=1}, %<---
             vline{3,4}={dashed}, 
             colspec={ c ccc },
             }
        & \SetCell[c=3]{c}
          Resources &   &   \\
        & 1         & 2 & 3 \\
    \hline
Part 1  & a         & b & c \\
Part 2  & d         & e & f \\
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

答案3

最新版本nicematrix(2021-09-09 的 v. 6.2) 解决了该错误。现在,这些块符合虚线规则。

\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\begin{table}[]
    \centering
    \begin{NiceTabular}{|c ||c:c:c||}
    \hline
    & \Block{1-3}{Resources} & & \\
    & 1 & 2 & 3 \\ \hline \hline
    Part 1 & a & b& c\\
    \hline
    Part 2 & d & e & f\\
    \hline
    \end{NiceTabular}
\end{table}

\end{document}

您需要多次编译(因为nicematrix在后台使用 PGF/Tikz 节点)。

上述代码的输出

相关内容