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.