NiceTabular (NiceMatrix) Linha vazia sem regras verticais

NiceTabular (NiceMatrix) Linha vazia sem regras verticais

Estou tentando adicionar uma linha pequena e vazia em um NiceTabularambiente. ONiceMatrix manualestados (Seção 5.1.1 As regras verticais):

Nos ambientes de nicematrix, as regras verticais especificadas por | nos preâmbulos dos ambientes nunca são quebrados, mesmo por uma linha incompleta ou por uma regra horizontal dupla especificada por \hline\hline

O que significa que a linha vazia aqui mostra as regras verticais:

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

insira a descrição da imagem aqui

Uma rápida tentativa de bloco resultou em uma linha de altura total que ainda incluía as regras verticais mais externas (= borda).

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

insira a descrição da imagem aqui

Como posso obter uma pequena linha vazia entre as linhas sem regras verticais?

Responder1

Você pode usar as regras do clássico {tabular}(do pacote arrayque é carregado por nicematrix).

Isso significa que:

  • você usa o comando clássico \hline(e \hline\hlinepara a regra dupla);
  • você tem que definir um tipo de coluna com o comportamento do clássico |de array(esse clássico |de arrayfoi substituído por nicematrix): \newcolumntype{I}{!{\vrule}}fará o trabalho.
\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}

Claro que, nesse exemplo, não adianta usar {NiceTabular}(eu usaria {tabular}), mas você provavelmente deseja usar outros recursos fornecidos por nicematrixem sua tabela real).

Saída do código acima


Por outro lado, lembre-se que a principal característica do nicematrixé inserir nós PGF/Tikz sob as células, colunas e linhas de um arquivo {tabular}. Isso significa que é sempre possível desenhar qualquer regra que você quiser com o Tikz usando esses nós.


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

Saída do segundo código

informação relacionada