NiceTabular
Ich versuche, eine kleine, leere Zeile in eine Umgebung einzufügen .NiceMatrix
HandbuchStaaten (Abschnitt 5.1.1 Die vertikalen Regeln):
In den Umgebungen von nicematrix werden die durch | in den Präambeln der Umgebungen angegebenen vertikalen Regeln niemals gebrochen, auch nicht durch eine unvollständige Zeile oder eine doppelte horizontale Regel, die durch \hline\hline angegeben wird.
Das bedeutet, dass die leere Zeile hier die vertikalen Linien zeigt:
\begin{table}[h]
\small
\centering
\begin{NiceTabularX}{\textwidth}{ll}[hvlines]
\textit{Year}
&
\textit{Fruit}
\\ \hline \hline
2022
&
Apple
\\
\end{NiceTabularX}
\end{table}
Ein schneller Versuch, einen Block zu erstellen, ergab eine Linie in voller Höhe, die noch immer die äußersten (= Rand-)vertikalen Linien enthielt.
\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}
Wie kann ich eine kleine leere Linie zwischen den Zeilen ohne vertikale Linien erhalten?
Antwort1
Sie können die Regeln der klassischen Version {tabular}
(des Pakets array
, das von geladen wird nicematrix
) verwenden.
Das bedeutet, dass:
- Sie verwenden den klassischen Befehl
\hline
(und\hline\hline
für die Doppelregel); - Sie müssen einen Spaltentyp mit dem Verhalten des klassischen
|
Of definierenarray
(das klassische|
Ofarray
wurde durch überschriebennicematrix
):\newcolumntype{I}{!{\vrule}}
das erledigt die Aufgabe.
\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}
Natürlich macht es in diesem Beispiel keinen Sinn, zu verwenden {NiceTabular}
(ich würde verwenden {tabular}
), aber Sie möchten wahrscheinlich andere Funktionen verwenden, die nicematrix
in Ihrer echten Tabelle bereitgestellt werden).
Denken Sie andererseits daran, dass die Hauptfunktion von darin nicematrix
besteht, PGF/Tikz-Knoten unter den Zellen, Spalten und Zeilen eines klassischen einzufügen {tabular}
. Das bedeutet, dass es mit Tikz immer möglich ist, mithilfe dieser Knoten jede beliebige Regel zu zeichnen.
\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}