Estou tentando adicionar uma linha pequena e vazia em um NiceTabular
ambiente. 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}
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}
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 array
que é carregado por nicematrix
).
Isso significa que:
- você usa o comando clássico
\hline
(e\hline\hline
para a regra dupla); - você tem que definir um tipo de coluna com o comportamento do clássico
|
dearray
(esse clássico|
dearray
foi substituído pornicematrix
):\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 nicematrix
em sua tabela real).
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}