NiceTabular (NiceMatrix) 无垂直线的空行

NiceTabular (NiceMatrix) 无垂直线的空行

我正在尝试在NiceTabular环境中添加一条小的空线。NiceMatrix 手动的规定(第 5.1.1 节垂直规则):

在 nicematrix 环境中,环境前言中由 | 指定的垂直规则永远不会被破坏,即使是由不完整的行或由 \hline\hline 指定的双水平规则

这意味着这里的空行显示的是垂直规则:

\begin{table}[h]
    \small
    \centering
    \begin{NiceTabularX}{\textwidth}{ll}[hvlines]
        \textit{Year}
        &
        \textit{Fruit}
    \\ \hline \hline
        2022
        &
        Apple
    \\
    \end{NiceTabularX}
\end{table}

在此处输入图片描述

快速尝试一个块给出了一条全高线,其中仍然包含最外面(=边框)的垂直规则。

\begin{table}[h]
    \small
    \centering
    \begin{NiceTabularX}{\textwidth}{ll}[hvlines]
        \textit{Year}
        &
        \textit{Fruit}
    \\ \Block{1-2}{\hline \hline} \\
        2022
        &
        Apple
    \\
    \end{NiceTabularX}
\end{table}

在此处输入图片描述

怎样才能在没有任何垂直线的行之间添加一条小的空线?

答案1

您可以使用经典的规则(由 加载的{tabular}包的规则)。arraynicematrix

这意味着:

  • 您使用经典命令\hline(以及\hline\hline双重规则);
  • 您必须定义一个具有经典行为的列类型|array该经典|array被覆盖nicematrix):\newcolumntype{I}{!{\vrule}}将完成该工作。
\documentclass{article}
\usepackage{nicematrix}

\begin{document}

\newcolumntype{I}{!{\vrule}}

\begin{table}[h]
\small
\centering
\begin{NiceTabular}{IlIlI}
    \hline
    \textit{Year}
    &
    \textit{Fruit} \\
    \hline\hline
    2022
    &
    Apple \\
    \hline
\end{NiceTabular}
\end{table}

\end{document}

当然,在该示例中,使用是没有意义的{NiceTabular}(我会使用{tabular}),但您可能希望nicematrix在实际表格中使用提供的其他功能)。

上述代码的输出


另一方面,请记住,的主要功能nicematrix是在经典的单元格、列和行下插入 PGF/Tikz 节点{tabular}。这意味着始终可以使用这些节点使用 Tikz 绘制您想要的任何规则。


\begin{table}[h]
\small
\centering
\renewcommand{\arraystretch}{1.4}
\begin{NiceTabular}{ll}[hvlines]
    \textit{Year}
    &
    \textit{Fruit} \\
    2022
    &
    Apple \\
\CodeAfter
    \tikz \draw [line width = 2 \pgflinewidth] (2-|1) -- (2-|last) ; 
    \tikz \draw [white, shorten > = -1 pt, shorten <= -1 pt] (2-|1) -- (2-|last) ; 
\end{NiceTabular}
\end{table}

\end{document}

第二段代码的输出

相关内容