Línea vacía NiceTabular (NiceMatrix) sin reglas verticales

Línea vacía NiceTabular (NiceMatrix) sin reglas verticales

Estoy intentando agregar una línea pequeña y vacía en un NiceTabularentorno. ElNiceMatrix manualestablece (Sección 5.1.1 Las reglas verticales):

En los entornos de nicematrix, las reglas verticales especificadas por | en los preámbulos de los ambientes nunca se rompen, ni siquiera por una fila incompleta o por una doble regla horizontal especificada por \hline\hline

Lo que significa que la línea vacía aquí muestra las reglas verticales:

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

ingrese la descripción de la imagen aquí

Un intento rápido de bloquear dio como resultado una línea de altura completa que aún incluía las reglas verticales más externas (= borde).

\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}

ingrese la descripción de la imagen aquí

¿Cómo puedo obtener una pequeña línea vacía entre filas sin reglas verticales?

Respuesta1

Puedes usar las reglas del clásico {tabular}(del paquete arrayque se carga con nicematrix).

Eso significa que:

  • usas el comando clásico \hline(y \hline\hlinepara la regla doble);
  • debe definir un tipo de columna con el comportamiento del clásico |de array(ese clásico |de arrayha sido sobrescrito por nicematrix): \newcolumntype{I}{!{\vrule}}hará el trabajo.
\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}

Por supuesto, en ese ejemplo, no tiene sentido usar {NiceTabular}(yo usaría {tabular}) pero probablemente quieras usar otras funciones proporcionadas nicematrixen tu tabla real).

Salida del código anterior


Por otro lado, recuerda que la característica principal de nicematrixes insertar nodos PGF/Tikz debajo de las celdas, columnas y filas de un archivo {tabular}. Eso significa que siempre es posible dibujar cualquier regla que quieras con Tikz usando esos nodos.


\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}

Salida del segundo código.

información relacionada