I have noticed a strange behaviour of values of arraystretch between 0 and 1, on specific rows in a NiceTabular environment, as soon as such row has a \Block{k-n} when k takes any value, but n is strictly greater than one.
Indeed, I have a table, built with nicematrix (I have to use this very environment for other reasons) where I would like to reduce the space between rows. I noticed that on rows where I have blocks made with strictly more than one column, arraystretch works very well for values greater than one, but for values lower than one all the rows where there is a \Block with strictly more than one column, the height of the row is not reduced.
Am I missing something? Is there any way to overcome this, and reduce the size of all the rows of my code (I tried with a negative value in cell-space-limits, but it does not help much, unfortunately.
Here is a reduced LaTeX code that summarizes it (the problem is the row in yellow).
\documentclass[12pt,a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{nicematrix}
\begin{document}
\begin{verbatim}
With \def\arraystretch{1}:
\end{verbatim}
\def\arraystretch{1}
\begin{NiceTabularX}{9cm}{XXXX}[hvlines]
\Block{2-1}{A\E} & B & C & D \
& F & G & H \
I & J & \Block{1-2}{KL} & \
M & N & O & P\
\end{NiceTabularX}
\vspace{5mm}
\begin{verbatim}
With \def\arraystretch{2}:
\end{verbatim}
\def\arraystretch{2}
\begin{NiceTabularX}{9cm}{XXXX}[hvlines]
\Block{2-1}{A\E} & B & C & D \
& F & G & H \
I & J & \Block{1-2}{KL} & \
M & N & O & P\
\end{NiceTabularX}
\vspace{5mm}
\begin{verbatim}
With \def\arraystretch{0.5}:
\end{verbatim}
\def\arraystretch{0.5}
\begin{NiceTabularX}{9cm}{XXXX}[hvlines]
\Block{2-1}{A\E} & B & C & D \
& F & G & H \
\RowStyle[rowcolor=yellow!50]{}
I & J & \Block{1-2}{KL} & \
M & N & O & P\
\end{NiceTabularX}
\end{document}
Thank you so much to all, have an excellent evening!
Simon


\arraystretchis set back to 1 in the small arrays constructed by\Block. Moreover, a monocolumn\Blockhas a width which is taken into account for the construction of the array but its height and depth are not taken into account: you have create the space by yourself. So, your ouput is the expected one. – F. Pantigny Jan 23 '22 at 09:07nicematrix(I'm the author ofnicematrix) to have the behaviour you describe. – F. Pantigny Jan 23 '22 at 09:27