texlive[63402] Master/texmf-dist: nicematrix (25may22)

commits+karl at tug.org commits+karl at tug.org
Wed May 25 22:19:39 CEST 2022


Revision: 63402
          http://tug.org/svn/texlive?view=revision&revision=63402
Author:   karl
Date:     2022-05-25 22:19:39 +0200 (Wed, 25 May 2022)
Log Message:
-----------
nicematrix (25may22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
    trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
    trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
    trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx
    trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty

Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex	2022-05-25 20:19:25 UTC (rev 63401)
+++ trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex	2022-05-25 20:19:39 UTC (rev 63402)
@@ -1937,7 +1937,8 @@
 couples \textsl{clé=valeur}.
 \begin{itemize}
 \item La clé |nb-rows| indique le nombre de rangées consécutives concernées par
-les spécifications de cette commande.
+les spécifications de cette commande (une valeur |*| signifie que toutes les
+rangées restantes seront concernées).
 \item Les clés |cell-space-top-limit|, |cell-space-bottom-limit|
 et |cell-space-limits| sont disponibles avec le même effet que les clés globales
 de même nom (cf. p.~\pageref{cell-space}).
@@ -2785,11 +2786,13 @@
 Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|,
 |\Iddots|, |\Hdotsfor| et |\Vdotsfor| (ainsi que par la commande |\line| dans le
 |\CodeAfter| décrite p.~\pageref{line-in-code-after}) peuvent être paramétrées
-par trois options (que l'on met entre crochets après la commande) :
+par les options suivantes (que l'on met entre crochets après la commande) :
 %
 \begin{itemize}
 \item |color| ;
+\item |radius| ; 
 \item |shorten| ;
+\item |inter| ;
 \item |line-style|.
 \end{itemize}
 
@@ -2800,7 +2803,9 @@
 %
 \begin{itemize}
 \item |xdots/color| ;
+\item |xdots/radius| ;
 \item |xdots/shorten| ;
+\item |inter| ; 
 \item |xdots/line-style|.
 \end{itemize}
 %
@@ -2815,7 +2820,14 @@
 extérieures (décrites plus loin) bénéficient d'un régime spécial : cf.
 p.~\pageref{exterior}.
 
+\medskip
+\colorbox{yellow!50}{\textbf{Nouveau 6.9}}\enskip \textbf{L'option xdots/radius}\par\nobreak
 
+\smallskip
+L'option |radius| correspond au rayon des points circulaires qui sont tracés. La
+valeur initiale est $0.53$~pt.
+
+
 \medskip
 \textbf{L'option xdots/shorten}\par\nobreak
 
@@ -2828,6 +2840,14 @@
 
 
 \medskip
+\colorbox{yellow!50}{\textbf{Nouveau 6.9}}\enskip \textbf{L'option xdots/inter}\par\nobreak
+
+\smallskip
+L'option |xdots/inter| indique la distance entre deux points. La valeur
+initiale est $0.45$~em (il est conseillé d'utiliser une
+unité de mesure dépendante de la fonte courante).
+
+\medskip
 \textbf{L'option xdots/line-style}\par\nobreak
 
 \smallskip
@@ -3633,6 +3653,34 @@
 
 \section{Autres fonctionnalités}
 
+\subsection{Commande \textbackslash ShowCellNames}
+
+\colorbox{yellow!50}{\textbf{Nouveau 6.9}} La commande |\ShowCellNames|,
+utilisable dans le |\CodeBefore| et dans le |\CodeAfter| affiche le nom (sous la
+forme $i$-$j$) de chaque case.
+
+
+
+\begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
+\begin{NiceTabular}{ccc}[hvlines,cell-space-limits=3pt]
+\CodeBefore
+  \ShowCellNames
+\Body
+  \Block{2-2}{} &           & test \\
+                &           & blabla \\
+                & some text & nothing 
+\end{NiceTabular}
+\end{BVerbatim}
+\begin{NiceTabular}{ccc}[hvlines,cell-space-limits=3pt]
+\CodeBefore
+  \ShowCellNames
+\Body
+  \Block{2-2}{} &           & test \\
+                &           & blabla \\
+                & some text & nothing 
+\end{NiceTabular}
+
+
 \subsection{Utilisation du type de colonne S de siunitx}
 
 Si l'extension \pkg{siunitx} est chargée (avant ou après \pkg{nicematrix}), il est possible d'utiliser les colonnes

Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx	2022-05-25 20:19:25 UTC (rev 63401)
+++ trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx	2022-05-25 20:19:39 UTC (rev 63402)
@@ -15,8 +15,8 @@
 %
 % \fi
 % \iffalse
-\def\myfileversion{6.8a}
-\def\myfiledate{2022/05/08}
+\def\myfileversion{6.9}
+\def\myfiledate{2022/05/25}
 %
 %
 %<*batchfile>
@@ -1188,7 +1188,7 @@
 % \subsection{Commands for customized rules}
 % \label{custom-line}
 % 
-% \colorbox{yellow!50}{\textbf{New 6.5}}\enskip It's possible to define commands
+% \colorbox{yellow!50}{\textbf{New 6.5}}\enskip It's also possible to define commands
 % and letters for customized rules with the key |custom-line| available in
 % |\NiceMatrixOptions| and in the options of individual environments. That key
 % takes in as argument a list of \textsl{key=value} pairs. First, there is two
@@ -1925,7 +1925,7 @@
 % \begin{itemize}
 % \item The key |nb-rows| sets
 % the number of rows to which the specifications of the current command will
-% apply. 
+% apply (with the special value |*|, it will apply to all the following rows).
 % \item The keys |cell-space-top-limit|, |cell-space-bottom-limit| and
 % |cell-space-limits| are available with the same meaning that the corresponding
 % global keys (cf. p.~\pageref{cell-space}).
@@ -2754,11 +2754,13 @@
 % \label{customisation} 
 % The dotted lines drawn by |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots|,
 % |\Hdotsfor| and |\Vdotsfor| (and by the command |\line| in the |\CodeAfter|
-% which is described p.~\pageref{line-in-code-after}) may be customized by three
+% which is described p.~\pageref{line-in-code-after}) may be customized by the following
 % options (specified between square brackets after the command):
 % \begin{itemize}
 % \item |color|;
+% \item |radius|;
 % \item |shorten|;
+% \item |inter|;
 % \item |line-style|.
 % \end{itemize}
 %
@@ -2768,7 +2770,9 @@
 % |\Cdots|, |\Ldots|, |\Vdots|, etc.), and, thus have for names:
 % \begin{itemize}
 % \item |xdots/color|;
+% \item |xdots/radius|;
 % \item |xdots/shorten|;
+% \item |xdots/inter|;
 % \item |xdots/line-style|.
 % \end{itemize}
 %
@@ -2783,6 +2787,12 @@
 % special treatment: cf. p.~\pageref{exterior}.
 % 
 % \bigskip
+% \colorbox{yellow!50}{\textbf{New 6.9}}\enskip 
+% \textbf{The option xdots/radius}\par\nobreak
+%
+% The option |radius| fixes the radius of the dots. The initial value is 0.53~pt.
+% 
+% \bigskip
 % \textbf{The option xdots/shorten}\par\nobreak
 %
 % \smallskip
@@ -2793,6 +2803,15 @@
 % recommanded to use a unit of length dependent of the current font).
 % 
 % \bigskip
+% \colorbox{yellow!50}{\textbf{New 6.9}}\enskip 
+% \textbf{The option xdots/inter}\par\nobreak
+% 
+% \smallskip
+% The option |xdots/inter| fixes the length between the dots. The initial value
+% is 0.45~em (it is recommanded to use a unit of length dependent of the current
+% font).
+% 
+% \bigskip
 % \textbf{The option xdots/line-style}\par\nobreak
 % 
 % \smallskip
@@ -3588,6 +3607,34 @@
 %
 % \section{Other features}
 %
+% \section{Autres fonctionnalités}
+%
+% \subsection{Command \textbackslash ShowCellNames}
+%
+% \colorbox{yellow!50}{\textbf{New 6.9}} The command |\ShowCellNames|,
+% which may be used in the |\CodeBefore| and in the |\CodeAfter| display the name (with the
+% form $i$-$j$) of each cell.
+%
+% \begin{BVerbatim}[baseline=c,boxwidth=10.6cm]
+% \begin{NiceTabular}{ccc}[hvlines,cell-space-limits=3pt]
+% \CodeBefore
+%   \ShowCellNames
+% \Body
+%   \Block{2-2}{} &           & test \\
+%                 &           & blabla \\
+%                 & some text & nothing 
+% \end{NiceTabular}
+% \end{BVerbatim}
+% \begin{NiceTabular}{ccc}[hvlines,cell-space-limits=3pt]
+% \CodeBefore
+%   \ShowCellNames
+% \Body
+%   \Block{2-2}{} &           & test \\
+%                 &           & blabla \\
+%                 & some text & nothing 
+% \end{NiceTabular}
+%
+%
 % \subsection{Use of the column type S of siunitx}
 %
 % If the package \pkg{siunitx} is loaded (before or after \pkg{nicematrix}),
@@ -3878,7 +3925,7 @@
 % \end{bNiceMatrix}$
 %
 % \medskip
-% This colour alos applies to the delimiters drawn by the command |\SubMatrix|
+% This colour also applies to the delimiters drawn by the command |\SubMatrix|
 % (cf.~p.~\pageref{sub-matrix}).
 %
 % \subsection{The environment \{NiceArrayWithDelims\}}
@@ -5688,11 +5735,8 @@
 % this package for technical reasons. 
 % 
 % \bigskip
-% We load some packages. The package \pkg{xparse} is still loaded for use on
-% Overleaf. However, since oct. 2021, Overleaf uses TeXLive 2021 and we will be
-% able to delete that row.
+% We load some packages. 
 %    \begin{macrocode}
-\RequirePackage { xparse }
 \RequirePackage { array }
 \RequirePackage { amsmath }
 %    \end{macrocode}
@@ -7146,9 +7190,9 @@
 % (when |line-style| is equal to |standard|, which is the initial value). The
 % initial value is 0.45~em but it will be changed if the option |small| is used.
 %    \begin{macrocode}
-\dim_new:N \l_@@_inter_dots_dim
+\dim_new:N \l_@@_xdots_inter_dim
 \hook_gput_code:nnn { begindocument } { . } 
-  { \dim_set:Nn \l_@@_inter_dots_dim { 0.45 em } }
+  { \dim_set:Nn \l_@@_xdots_inter_dim { 0.45 em } }
 %    \end{macrocode}
 % We use a hook only by security in case \cls{revtex4-1}
 % is used (even though it is obsolete).
@@ -7171,9 +7215,9 @@
 % |line-style| is equal to |standard|, which is the initial value). The initial
 % value is 0.53~pt but it will be changed if the option |small| is used.
 %    \begin{macrocode}
-\dim_new:N \l_@@_radius_dim
+\dim_new:N \l_@@_xdots_radius_dim
 \hook_gput_code:nnn { begindocument } { . } 
-  { \dim_set:Nn \l_@@_radius_dim { 0.53 pt } }
+  { \dim_set:Nn \l_@@_xdots_radius_dim { 0.53 pt } }
 %    \end{macrocode}
 % We use a hook only by security in case \cls{revtex4-1} is used (even though it
 % is obsolete).
@@ -7378,9 +7422,17 @@
         { \dim_set:Nn \l_@@_xdots_shorten_dim { #1 } } ,
 %    \end{macrocode}
 % We use a hook only by security in case \cls{revtex4-1}
-% is used (even though it is obsolete).
+% is used (even though it is obsolete). Idem for the following keys.
 %    \begin{macrocode}
     shorten .value_required:n = true ,
+    radius .code:n = 
+      \hook_gput_code:nnn { begindocument } { . } 
+        { \dim_set:Nn \l_@@_xdots_radius_dim { #1 } } ,
+    radius .value_required:n = true ,
+    inter .code:n = 
+      \hook_gput_code:nnn { begindocument } { . } 
+        { \dim_set:Nn \l_@@_xdots_inter_dim { #1 } } ,
+    radius .value_required:n = true ,
 %    \end{macrocode}
 % The options |down| and |up| are not documented for the final user because he
 % should use the syntax with |^| and |_|.
@@ -8904,6 +8956,7 @@
     \cs_set_eq:NN \columncolor \@@_columncolor
     \cs_set_eq:NN \chessboardcolors \@@_chessboardcolors
     \cs_set_eq:NN \SubMatrix \@@_SubMatrix_in_code_before
+    \cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
   }
 %    \end{macrocode}
 % 
@@ -10190,7 +10243,7 @@
   { 
 %    \end{macrocode}
 % We test whether the version of \pkg{nicematrix} is at least 3.0. We will
-% change de programmation of the test further with something like |\VersionAtLeast|.
+% change de programmation of the test further with something like |\@ifpackagelater|.
 % 
 %    \begin{macrocode}
     \cs_if_exist:NTF \siunitx_cell_begin:w 
@@ -10437,7 +10490,7 @@
 \cs_new_protected:Npn \@@_patch_preamble_xii:n #1
   {
     \tl_gput_right:Nn \g_@@_preamble_tl
-      { ! { \skip_horizontal:N 2\l_@@_radius_dim } }
+      { ! { \skip_horizontal:N 2\l_@@_xdots_radius_dim } }
 %    \end{macrocode}
 % The command |\@@_vdottedline:n| is protected, and, therefore, won't be
 % expanded before writing on |\g_@@_internal_code_after_tl|.
@@ -10545,13 +10598,13 @@
               \int_compare:nNnTF \c at jCol = 0
                 { \int_eval:n { \c at iRow + 1 } }
                 { \int_use:N \c at iRow }
-            } % modified 2022/01/10
+            } 
             { \int_eval:n { \c at jCol + 1 } }
             { 
               \int_compare:nNnTF \c at jCol = 0
                 { \int_eval:n { \c at iRow + 1 } }
                 { \int_use:N \c at iRow }
-            } % modified 2022/01/10
+            } 
             { \int_eval:n { \c at jCol + #1 } }
             { } % for the name of the block
           }
@@ -11918,19 +11971,18 @@
     \bool_set_false:N \l_@@_final_open_bool
 %    \end{macrocode}
 %
-% If the option |small| is used, the values |\l_@@_radius_dim| and
-% |\l_@@_inter_dots_dim| (used to draw the dotted lines created by
+% If the option |small| is used, the values |\l_@@_xdots_radius_dim| and
+% |\l_@@_xdots_inter_dim| (used to draw the dotted lines created by
 % |\hdottedline| and |\vdottedline| and also for all the other dotted lines when
 % |line-style| is equal to |standard|, which is the initial value) are changed.
 %    \begin{macrocode}     
     \bool_if:NT \l_@@_small_bool 
       { 
-        \dim_set:Nn \l_@@_radius_dim { 0.37 pt }
-        \dim_set:Nn \l_@@_inter_dots_dim { 0.25 em } 
+        \dim_set:Nn \l_@@_xdots_radius_dim { 0.7 \l_@@_xdots_radius_dim }
+        \dim_set:Nn \l_@@_xdots_inter_dim { 0.55 \l_@@_xdots_inter_dim } 
 %    \end{macrocode}
 % The dimension |\l_@@_xdots_shorten_dim| corresponds to the option
-% |xdots/shorten| available to the user. That's why we give a new value
-% according to the current value, and not an absolute value.
+% |xdots/shorten| available to the user. 
 %    \begin{macrocode}
         \dim_set:Nn \l_@@_xdots_shorten_dim { 0.6 \l_@@_xdots_shorten_dim }
       }
@@ -11983,6 +12035,7 @@
     \cs_set_eq:NN \SubMatrix \@@_SubMatrix
     \cs_set_eq:NN \UnderBrace \@@_UnderBrace
     \cs_set_eq:NN \OverBrace \@@_OverBrace
+    \cs_set_eq:NN \ShowCellNames \@@_ShowCellNames
     \cs_set_eq:NN \line \@@_line
     \g_@@_internal_code_after_tl
     \tl_gclear:N \g_@@_internal_code_after_tl
@@ -12678,8 +12731,8 @@
 % want the dots really ``on'' the line of texte. Of course, maybe we should not
 % do that when the option |line-style| is used (?).
 %    \begin{macrocode}
-    \dim_add:Nn \l_@@_y_initial_dim \l_@@_radius_dim
-    \dim_add:Nn \l_@@_y_final_dim \l_@@_radius_dim
+    \dim_add:Nn \l_@@_y_initial_dim \l_@@_xdots_radius_dim
+    \dim_add:Nn \l_@@_y_final_dim \l_@@_xdots_radius_dim
     \@@_draw_line:
   }
 %    \end{macrocode}
@@ -13279,7 +13332,7 @@
         \bool_if:NTF \l_@@_final_open_bool
           { 
             \int_set:Nn \l_tmpa_int 
-              { \dim_ratio:nn \l_@@_l_dim \l_@@_inter_dots_dim }
+              { \dim_ratio:nn \l_@@_l_dim \l_@@_xdots_inter_dim }
           }
           { 
             \int_set:Nn \l_tmpa_int 
@@ -13286,7 +13339,7 @@
               { 
                 \dim_ratio:nn 
                   { \l_@@_l_dim - \l_@@_xdots_shorten_dim } 
-                  \l_@@_inter_dots_dim 
+                  \l_@@_xdots_inter_dim 
               }
           }
       }
@@ -13297,7 +13350,7 @@
               { 
                 \dim_ratio:nn 
                   { \l_@@_l_dim - \l_@@_xdots_shorten_dim } 
-                  \l_@@_inter_dots_dim 
+                  \l_@@_xdots_inter_dim 
               }
           }
           {
@@ -13305,7 +13358,7 @@
               { 
                 \dim_ratio:nn 
                   { \l_@@_l_dim - 2 \l_@@_xdots_shorten_dim  } 
-                  \l_@@_inter_dots_dim
+                  \l_@@_xdots_inter_dim
               }
           }
       }
@@ -13318,12 +13371,12 @@
     \dim_set:Nn \l_tmpa_dim 
       { 
         ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
-        \dim_ratio:nn \l_@@_inter_dots_dim \l_@@_l_dim 
+        \dim_ratio:nn \l_@@_xdots_inter_dim \l_@@_l_dim 
       }
     \dim_set:Nn \l_tmpb_dim 
       { 
         ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) *
-        \dim_ratio:nn \l_@@_inter_dots_dim \l_@@_l_dim
+        \dim_ratio:nn \l_@@_xdots_inter_dim \l_@@_l_dim
       }
 %    \end{macrocode}
 %
@@ -13349,7 +13402,7 @@
       {  
         ( \l_@@_x_final_dim - \l_@@_x_initial_dim ) *
         \dim_ratio:nn 
-          { \l_@@_l_dim - \l_@@_inter_dots_dim * \l_tmpa_int }
+          { \l_@@_l_dim - \l_@@_xdots_inter_dim * \l_tmpa_int }
           { 2 \l_@@_l_dim }
         * \l_tmpb_int
       }
@@ -13357,7 +13410,7 @@
       {   
         ( \l_@@_y_final_dim - \l_@@_y_initial_dim ) * 
         \dim_ratio:nn 
-          { \l_@@_l_dim - \l_@@_inter_dots_dim * \l_tmpa_int } 
+          { \l_@@_l_dim - \l_@@_xdots_inter_dim * \l_tmpa_int } 
           { 2 \l_@@_l_dim } 
         * \l_tmpb_int
       }
@@ -13366,7 +13419,7 @@
       { 
         \pgfpathcircle 
           { \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim } 
-          { \l_@@_radius_dim }
+          { \l_@@_xdots_radius_dim }
         \dim_add:Nn \l_@@_x_initial_dim \l_tmpa_dim
         \dim_add:Nn \l_@@_y_initial_dim \l_tmpb_dim
       }
@@ -13923,9 +13976,11 @@
     bold .bool_set:N = \l_tmpa_bool ,
     bold .default:n = true ,
     bold .initial:n = false ,
-    nb-rows .int_set:N = \l_@@_key_nb_rows_int ,
+    nb-rows .code:n = 
+      \str_if_eq:nnTF { #1 } { * } 
+        { \int_set_eq:NN \l_@@_key_nb_rows_int 500 } 
+        { \int_set:Nn \l_@@_key_nb_rows_int { #1 } } ,
     nb-rows .value_required:n = true ,
-    nb-rows .initial:n = 1 ,
     rowcolor .tl_set:N = \l_@@_tmpc_tl ,
     rowcolor .value_required:n = true ,
     rowcolor .initial:n = ,
@@ -13938,6 +13993,7 @@
 \NewDocumentCommand \@@_RowStyle:n { O { } m }
   { 
     \tl_clear:N \l_tmpa_tl
+    \int_set:Nn \l_@@_key_nb_rows_int 1
     \keys_set:nn { NiceMatrix / RowStyle } { #1 }
 %    \end{macrocode}
 % If the key |rowcolor| has been used.
@@ -15249,11 +15305,11 @@
           { \dim_sub:Nn \l_@@_x_initial_dim \arraycolsep }
 %    \end{macrocode}
 % For reasons purely aesthetic, we do an adjustment in the case of a rounded
-% bracket. The correction by |0.5 \l_@@_inter_dots_dim| is \emph{ad hoc} for a
+% bracket. The correction by |0.5 \l_@@_xdots_inter_dim| is \emph{ad hoc} for a
 % better result.
 %    \begin{macrocode}
         \tl_if_eq:NnF \g_@@_left_delim_tl ( 
-          { \dim_add:Nn \l_@@_x_initial_dim  { 0.5 \l_@@_inter_dots_dim } }
+          { \dim_add:Nn \l_@@_x_initial_dim  { 0.5 \l_@@_xdots_inter_dim } }
       }        
     \@@_qpoint:n { col - \int_eval:n { \l_@@_local_end_int + 1 } }
     \dim_set_eq:NN \l_@@_x_final_dim \pgf at x
@@ -15263,7 +15319,7 @@
         \bool_if:NT \l_@@_NiceArray_bool 
           { \dim_add:Nn \l_@@_x_final_dim \arraycolsep }
         \tl_if_eq:NnF \g_@@_right_delim_tl ) 
-          { \dim_gsub:Nn \l_@@_x_final_dim { 0.5 \l_@@_inter_dots_dim } }
+          { \dim_gsub:Nn \l_@@_x_final_dim { 0.5 \l_@@_xdots_inter_dim } }
       }
     \CT at arc@
     \@@_draw_line:
@@ -15843,7 +15899,7 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_hdottedline: 
   {
-    \noalign { \skip_vertical:N 2\l_@@_radius_dim } 
+    \noalign { \skip_vertical:N 2\l_@@_xdots_radius_dim } 
     \@@_hdottedline_i:
   }
 %    \end{macrocode}
@@ -18763,7 +18819,59 @@
       { }
   }
 %    \end{macrocode}
+% 
+% \bigskip
+% \subsection*{The command \textbackslash ShowCellNames}
 %
+%    \begin{macrocode}
+\NewDocumentCommand \@@_ShowCellNames { }
+ {
+   \int_step_inline:nn \c at iRow
+     {
+       \begin { tikzpicture }
+       \@@_qpoint:n { row - ##1 } 
+       \dim_set_eq:NN \l_tmpa_dim \pgf at y
+       \@@_qpoint:n { row - \int_eval:n { ##1 + 1 } } 
+       \dim_gset:Nn \g_tmpa_dim { ( \l_tmpa_dim + \pgf at y ) / 2 }
+       \dim_gset:Nn \g_tmpb_dim { \l_tmpa_dim - \pgf at y }
+       \end { tikzpicture }
+       \int_step_inline:nn \c at jCol
+         {
+           \hbox_set:Nn \l_tmpa_box 
+             { \normalfont \Large \color { red ! 50 } ##1 - ####1 } 
+           \begin { tikzpicture }
+           \@@_qpoint:n { col - ####1 } 
+           \dim_set_eq:NN \l_@@_tmpc_dim \pgf at x
+           \@@_qpoint:n { col - \int_eval:n { ####1 + 1 } } 
+           \dim_set:Nn \l_tmpa_dim { \pgf at x - \l_@@_tmpc_dim }
+           \fp_set:Nn \l_tmpa_fp 
+             { 
+               \fp_min:nn
+                 {
+                   \fp_min:nn 
+                     { \dim_ratio:nn { \l_tmpa_dim } { \box_wd:N \l_tmpa_box } }
+                     { \dim_ratio:nn { \g_tmpb_dim } { \box_ht_plus_dp:N \l_tmpa_box } } 
+                 }
+                 { 1.0 }
+             }
+           \box_scale:Nnn \l_tmpa_box { \fp_use:N \l_tmpa_fp } { \fp_use:N \l_tmpa_fp }
+           \pgftransformshift 
+             { 
+               \pgfpoint 
+                 { 0.5 * ( \l_@@_tmpc_dim + \pgf at x ) } 
+                 { \dim_use:N \g_tmpa_dim } 
+             } 
+           \pgfnode
+             { rectangle }
+             { center }
+             { \box_use:N \l_tmpa_box }
+             { }
+             { }
+           \end { tikzpicture }
+         }
+     }
+ }
+%    \end{macrocode}
 %
 % 
 % \bigskip
@@ -19100,9 +19208,10 @@
 %    \begin{macrocode}
 \@@_msg_new:nn { Unknown~key~for~xdots } 
   {
-    As~for~now,~there~is~only~three~keys~available~here:~'color',~'line-style'~
-    and~'shorten'~(and~you~try~to~use~'\l_keys_key_str').~If~you~go~on,~
-    this~key~will~be~ignored.
+    As~for~now,~there~is~only~five~keys~available~here:~'color',~'inter',~
+    'line-style',~'radius',~
+    and~'shorten'~(and~you~try~to~use~'\l_keys_key_str').~
+    If~you~go~on,~this~key~will~be~ignored.
   }
 %    \end{macrocode}
 %
@@ -20459,6 +20568,13 @@
 % argument, only one note is created at the end of the tabular (but all the
 % labels are present, of course).
 %
+% \subsection*{Changes between version 6.8 and 6.9}
+%
+% New keys |xdots/radius| and |xdots/inter| for customisation of the continuous
+% dotted lines.
+%
+% New command |\ShowCellNames| available in the |\CodeBefore| and in the |\CodeAfter|.
+%
 % \PrintIndex
 % 
 % \tableofcontents

Modified: trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty	2022-05-25 20:19:25 UTC (rev 63401)
+++ trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty	2022-05-25 20:19:39 UTC (rev 63402)
@@ -18,8 +18,8 @@
 %% and version 1.3 or later is part of all distributions of
 %% LaTeX version 2005/12/01 or later.
 %% 
-\def\myfileversion{6.8a}
-\def\myfiledate{2022/05/08}
+\def\myfileversion{6.9}
+\def\myfiledate{2022/05/25}
 \RequirePackage{pgfcore}
 \usepgfmodule{shapes}
 \RequirePackage{l3keys2e}
@@ -28,7 +28,6 @@
   {\myfiledate}
   {\myfileversion}
   {Enhanced arrays with the help of PGF/TikZ}
-\RequirePackage { xparse }
 \RequirePackage { array }
 \RequirePackage { amsmath }
 \cs_new_protected:Npn \__nicematrix_error:n { \msg_error:nn { nicematrix } }
@@ -524,15 +523,15 @@
 \bool_new:N \l__nicematrix_standard_cline_bool
 \dim_new:N \l__nicematrix_cell_space_top_limit_dim
 \dim_new:N \l__nicematrix_cell_space_bottom_limit_dim
-\dim_new:N \l__nicematrix_inter_dots_dim
+\dim_new:N \l__nicematrix_xdots_inter_dim
 \hook_gput_code:nnn { begindocument } { . }
-  { \dim_set:Nn \l__nicematrix_inter_dots_dim { 0.45 em } }
+  { \dim_set:Nn \l__nicematrix_xdots_inter_dim { 0.45 em } }
 \dim_new:N \l__nicematrix_xdots_shorten_dim
 \hook_gput_code:nnn { begindocument } { . }
   { \dim_set:Nn \l__nicematrix_xdots_shorten_dim { 0.3 em } }
-\dim_new:N \l__nicematrix_radius_dim
+\dim_new:N \l__nicematrix_xdots_radius_dim
 \hook_gput_code:nnn { begindocument } { . }
-  { \dim_set:Nn \l__nicematrix_radius_dim { 0.53 pt } }
+  { \dim_set:Nn \l__nicematrix_xdots_radius_dim { 0.53 pt } }
 \tl_new:N \l__nicematrix_xdots_line_style_tl
 \tl_const:Nn \c__nicematrix_standard_tl { standard }
 \tl_set_eq:NN \l__nicematrix_xdots_line_style_tl \c__nicematrix_standard_tl
@@ -580,6 +579,14 @@
       \hook_gput_code:nnn { begindocument } { . }
         { \dim_set:Nn \l__nicematrix_xdots_shorten_dim { #1 } } ,
     shorten .value_required:n = true ,
+    radius .code:n =
+      \hook_gput_code:nnn { begindocument } { . }
+        { \dim_set:Nn \l__nicematrix_xdots_radius_dim { #1 } } ,
+    radius .value_required:n = true ,
+    inter .code:n =
+      \hook_gput_code:nnn { begindocument } { . }
+        { \dim_set:Nn \l__nicematrix_xdots_inter_dim { #1 } } ,
+    radius .value_required:n = true ,
     down .tl_set:N = \l__nicematrix_xdots_down_tl ,
     up .tl_set:N = \l__nicematrix_xdots_up_tl ,
     draw-first .code:n = \prg_do_nothing: ,
@@ -1404,6 +1411,7 @@
     \cs_set_eq:NN \columncolor \__nicematrix_columncolor
     \cs_set_eq:NN \chessboardcolors \__nicematrix_chessboardcolors
     \cs_set_eq:NN \SubMatrix \__nicematrix_SubMatrix_in_code_before
+    \cs_set_eq:NN \ShowCellNames \__nicematrix_ShowCellNames
   }
 \cs_new_protected:Npn \__nicematrix_exec_code_before:
   {
@@ -2233,7 +2241,7 @@
 \cs_new_protected:Npn \__nicematrix_patch_preamble_xii:n #1
   {
     \tl_gput_right:Nn \g__nicematrix_preamble_tl
-      { ! { \skip_horizontal:N 2\l__nicematrix_radius_dim } }
+      { ! { \skip_horizontal:N 2\l__nicematrix_xdots_radius_dim } }
     \tl_gput_right:Nx \g__nicematrix_internal_code_after_tl
       { \__nicematrix_vdottedline:n { \int_use:N \c at jCol } }
     \__nicematrix_patch_preamble:n
@@ -2288,13 +2296,13 @@
               \int_compare:nNnTF \c at jCol = 0
                 { \int_eval:n { \c at iRow + 1 } }
                 { \int_use:N \c at iRow }
-            } % modified 2022/01/10
+            }
             { \int_eval:n { \c at jCol + 1 } }
             {
               \int_compare:nNnTF \c at jCol = 0
                 { \int_eval:n { \c at iRow + 1 } }
                 { \int_use:N \c at iRow }
-            } % modified 2022/01/10
+            }
             { \int_eval:n { \c at jCol + #1 } }
             { } % for the name of the block
           }
@@ -3138,8 +3146,8 @@
     \bool_set_false:N \l__nicematrix_final_open_bool
     \bool_if:NT \l__nicematrix_small_bool
       {
-        \dim_set:Nn \l__nicematrix_radius_dim { 0.37 pt }
-        \dim_set:Nn \l__nicematrix_inter_dots_dim { 0.25 em }
+        \dim_set:Nn \l__nicematrix_xdots_radius_dim { 0.7 \l__nicematrix_xdots_radius_dim }
+        \dim_set:Nn \l__nicematrix_xdots_inter_dim { 0.55 \l__nicematrix_xdots_inter_dim }
         \dim_set:Nn \l__nicematrix_xdots_shorten_dim { 0.6 \l__nicematrix_xdots_shorten_dim }
       }
     \__nicematrix_draw_dotted_lines:
@@ -3163,6 +3171,7 @@
     \cs_set_eq:NN \SubMatrix \__nicematrix_SubMatrix
     \cs_set_eq:NN \UnderBrace \__nicematrix_UnderBrace
     \cs_set_eq:NN \OverBrace \__nicematrix_OverBrace
+    \cs_set_eq:NN \ShowCellNames \__nicematrix_ShowCellNames
     \cs_set_eq:NN \line \__nicematrix_line
     \g__nicematrix_internal_code_after_tl
     \tl_gclear:N \g__nicematrix_internal_code_after_tl
@@ -3574,8 +3583,8 @@
         \dim_set_eq:NN \l__nicematrix_y_final_dim \pgf at y
       }
       { \__nicematrix_set_final_coords_from_anchor:n { base~west } }
-    \dim_add:Nn \l__nicematrix_y_initial_dim \l__nicematrix_radius_dim
-    \dim_add:Nn \l__nicematrix_y_final_dim \l__nicematrix_radius_dim
+    \dim_add:Nn \l__nicematrix_y_initial_dim \l__nicematrix_xdots_radius_dim
+    \dim_add:Nn \l__nicematrix_y_final_dim \l__nicematrix_xdots_radius_dim
     \__nicematrix_draw_line:
   }
 \cs_new_protected:Npn \__nicematrix_draw_Cdots:nnn #1 #2 #3
@@ -3943,7 +3952,7 @@
         \bool_if:NTF \l__nicematrix_final_open_bool
           {
             \int_set:Nn \l_tmpa_int
-              { \dim_ratio:nn \l__nicematrix_l_dim \l__nicematrix_inter_dots_dim }
+              { \dim_ratio:nn \l__nicematrix_l_dim \l__nicematrix_xdots_inter_dim }
           }
           {
             \int_set:Nn \l_tmpa_int
@@ -3950,7 +3959,7 @@
               {
                 \dim_ratio:nn
                   { \l__nicematrix_l_dim - \l__nicematrix_xdots_shorten_dim }
-                  \l__nicematrix_inter_dots_dim
+                  \l__nicematrix_xdots_inter_dim
               }
           }
       }
@@ -3961,7 +3970,7 @@
               {
                 \dim_ratio:nn
                   { \l__nicematrix_l_dim - \l__nicematrix_xdots_shorten_dim }
-                  \l__nicematrix_inter_dots_dim
+                  \l__nicematrix_xdots_inter_dim
               }
           }
           {
@@ -3969,7 +3978,7 @@
               {
                 \dim_ratio:nn
                   { \l__nicematrix_l_dim - 2 \l__nicematrix_xdots_shorten_dim  }
-                  \l__nicematrix_inter_dots_dim
+                  \l__nicematrix_xdots_inter_dim
               }
           }
       }
@@ -3976,12 +3985,12 @@
     \dim_set:Nn \l_tmpa_dim
       {
         ( \l__nicematrix_x_final_dim - \l__nicematrix_x_initial_dim ) *
-        \dim_ratio:nn \l__nicematrix_inter_dots_dim \l__nicematrix_l_dim
+        \dim_ratio:nn \l__nicematrix_xdots_inter_dim \l__nicematrix_l_dim
       }
     \dim_set:Nn \l_tmpb_dim
       {
         ( \l__nicematrix_y_final_dim - \l__nicematrix_y_initial_dim ) *
-        \dim_ratio:nn \l__nicematrix_inter_dots_dim \l__nicematrix_l_dim
+        \dim_ratio:nn \l__nicematrix_xdots_inter_dim \l__nicematrix_l_dim
       }
     \int_set:Nn \l_tmpb_int
       {
@@ -3993,7 +4002,7 @@
       {
         ( \l__nicematrix_x_final_dim - \l__nicematrix_x_initial_dim ) *
         \dim_ratio:nn
-          { \l__nicematrix_l_dim - \l__nicematrix_inter_dots_dim * \l_tmpa_int }
+          { \l__nicematrix_l_dim - \l__nicematrix_xdots_inter_dim * \l_tmpa_int }
           { 2 \l__nicematrix_l_dim }
         * \l_tmpb_int
       }
@@ -4001,7 +4010,7 @@
       {
         ( \l__nicematrix_y_final_dim - \l__nicematrix_y_initial_dim ) *
         \dim_ratio:nn
-          { \l__nicematrix_l_dim - \l__nicematrix_inter_dots_dim * \l_tmpa_int }
+          { \l__nicematrix_l_dim - \l__nicematrix_xdots_inter_dim * \l_tmpa_int }
           { 2 \l__nicematrix_l_dim }
         * \l_tmpb_int
       }
@@ -4010,7 +4019,7 @@
       {
         \pgfpathcircle
           { \pgfpoint \l__nicematrix_x_initial_dim \l__nicematrix_y_initial_dim }
-          { \l__nicematrix_radius_dim }
+          { \l__nicematrix_xdots_radius_dim }
         \dim_add:Nn \l__nicematrix_x_initial_dim \l_tmpa_dim
         \dim_add:Nn \l__nicematrix_y_initial_dim \l_tmpb_dim
       }
@@ -4372,9 +4381,11 @@
     bold .bool_set:N = \l_tmpa_bool ,
     bold .default:n = true ,
     bold .initial:n = false ,
-    nb-rows .int_set:N = \l__nicematrix_key_nb_rows_int ,
+    nb-rows .code:n =
+      \str_if_eq:nnTF { #1 } { * }
+        { \int_set_eq:NN \l__nicematrix_key_nb_rows_int 500 }
+        { \int_set:Nn \l__nicematrix_key_nb_rows_int { #1 } } ,
     nb-rows .value_required:n = true ,
-    nb-rows .initial:n = 1 ,
     rowcolor .tl_set:N = \l__nicematrix_tmpc_tl ,
     rowcolor .value_required:n = true ,
     rowcolor .initial:n = ,
@@ -4383,6 +4394,7 @@
 \NewDocumentCommand \__nicematrix_RowStyle:n { O { } m }
   {
     \tl_clear:N \l_tmpa_tl
+    \int_set:Nn \l__nicematrix_key_nb_rows_int 1
     \keys_set:nn { NiceMatrix / RowStyle } { #1 }
     \tl_if_empty:NF \l__nicematrix_tmpc_tl
       {
@@ -5154,7 +5166,7 @@
         \bool_if:NT \l__nicematrix_NiceArray_bool
           { \dim_sub:Nn \l__nicematrix_x_initial_dim \arraycolsep }
         \tl_if_eq:NnF \g__nicematrix_left_delim_tl (
-          { \dim_add:Nn \l__nicematrix_x_initial_dim  { 0.5 \l__nicematrix_inter_dots_dim } }
+          { \dim_add:Nn \l__nicematrix_x_initial_dim  { 0.5 \l__nicematrix_xdots_inter_dim } }
       }
     \__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_local_end_int + 1 } }
     \dim_set_eq:NN \l__nicematrix_x_final_dim \pgf at x
@@ -5164,7 +5176,7 @@
         \bool_if:NT \l__nicematrix_NiceArray_bool
           { \dim_add:Nn \l__nicematrix_x_final_dim \arraycolsep }
         \tl_if_eq:NnF \g__nicematrix_right_delim_tl )
-          { \dim_gsub:Nn \l__nicematrix_x_final_dim { 0.5 \l__nicematrix_inter_dots_dim } }
+          { \dim_gsub:Nn \l__nicematrix_x_final_dim { 0.5 \l__nicematrix_xdots_inter_dim } }
       }
     \CT at arc@
     \__nicematrix_draw_line:
@@ -5502,7 +5514,7 @@
   }
 \cs_new:Npn \__nicematrix_hdottedline:
   {
-    \noalign { \skip_vertical:N 2\l__nicematrix_radius_dim }
+    \noalign { \skip_vertical:N 2\l__nicematrix_xdots_radius_dim }
     \__nicematrix_hdottedline_i:
   }
 \cs_new_protected:Npn \__nicematrix_hdottedline_i:
@@ -7356,6 +7368,53 @@
       { }
       { }
   }
+\NewDocumentCommand \__nicematrix_ShowCellNames { }
+ {
+   \int_step_inline:nn \c at iRow
+     {
+       \begin { tikzpicture }
+       \__nicematrix_qpoint:n { row - ##1 }
+       \dim_set_eq:NN \l_tmpa_dim \pgf at y
+       \__nicematrix_qpoint:n { row - \int_eval:n { ##1 + 1 } }
+       \dim_gset:Nn \g_tmpa_dim { ( \l_tmpa_dim + \pgf at y ) / 2 }
+       \dim_gset:Nn \g_tmpb_dim { \l_tmpa_dim - \pgf at y }
+       \end { tikzpicture }
+       \int_step_inline:nn \c at jCol
+         {
+           \hbox_set:Nn \l_tmpa_box
+             { \normalfont \Large \color { red ! 50 } ##1 - ####1 }
+           \begin { tikzpicture }
+           \__nicematrix_qpoint:n { col - ####1 }
+           \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf at x
+           \__nicematrix_qpoint:n { col - \int_eval:n { ####1 + 1 } }
+           \dim_set:Nn \l_tmpa_dim { \pgf at x - \l__nicematrix_tmpc_dim }
+           \fp_set:Nn \l_tmpa_fp
+             {
+               \fp_min:nn
+                 {
+                   \fp_min:nn
+                     { \dim_ratio:nn { \l_tmpa_dim } { \box_wd:N \l_tmpa_box } }
+                     { \dim_ratio:nn { \g_tmpb_dim } { \box_ht_plus_dp:N \l_tmpa_box } }
+                 }
+                 { 1.0 }
+             }
+           \box_scale:Nnn \l_tmpa_box { \fp_use:N \l_tmpa_fp } { \fp_use:N \l_tmpa_fp }
+           \pgftransformshift
+             {
+               \pgfpoint
+                 { 0.5 * ( \l__nicematrix_tmpc_dim + \pgf at x ) }
+                 { \dim_use:N \g_tmpa_dim }
+             }
+           \pgfnode
+             { rectangle }
+             { center }
+             { \box_use:N \l_tmpa_box }
+             { }
+             { }
+           \end { tikzpicture }
+         }
+     }
+ }
 \bool_new:N \c__nicematrix_footnotehyper_bool
 \bool_new:N \c__nicematrix_footnote_bool
 \__nicematrix_msg_new:nnn { Unknown~key~for~package }
@@ -7557,9 +7616,10 @@
   }
 \__nicematrix_msg_new:nn { Unknown~key~for~xdots }
   {
-    As~for~now,~there~is~only~three~keys~available~here:~'color',~'line-style'~
-    and~'shorten'~(and~you~try~to~use~'\l_keys_key_str').~If~you~go~on,~
-    this~key~will~be~ignored.
+    As~for~now,~there~is~only~five~keys~available~here:~'color',~'inter',~
+    'line-style',~'radius',~
+    and~'shorten'~(and~you~try~to~use~'\l_keys_key_str').~
+    If~you~go~on,~this~key~will~be~ignored.
   }
 \__nicematrix_msg_new:nn { Unknown~key~for~rowcolors }
   {



More information about the tex-live-commits mailing list.