texlive[68151] Master/texmf-dist: nicematrix (2sep23)
commits+karl at tug.org
commits+karl at tug.org
Sat Sep 2 22:08:25 CEST 2023
Revision: 68151
http://tug.org/svn/texlive?view=revision&revision=68151
Author: karl
Date: 2023-09-02 22:08:24 +0200 (Sat, 02 Sep 2023)
Log Message:
-----------
nicematrix (2sep23)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf
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/doc/latex/nicematrix/nicematrix.tex
trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx
trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf
===================================================================
(Binary files differ)
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 2023-09-02 20:08:13 UTC (rev 68150)
+++ trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex 2023-09-02 20:08:24 UTC (rev 68151)
@@ -1070,6 +1070,7 @@
+
\subsubsection{La commande \textbackslash cline}
\label{remark-cline}
@@ -1222,9 +1223,40 @@
La commande |\Hline| admet entre crochets un argument optionnel qui est une
liste de couples \textsl{clé=valeur} qui décrivent un filet. Pour la description
-de ces clés, voir |custom-line| p.~\pageref{custom-line}.
+de ces clés, voir |custom-line| p.~\pageref{custom-line}.\footnote{Remarque
+ technique. Si l'utilisateur définit une commande par-dessus la commande
+ |\Hline|, il doit veiller à ce qu'elle soit \emph{développable} au sens de
+ TeX (en utilisant |\NewExpandableDocumentCommand| de LaTeX3, |\newcommand| de
+ LaTeX ou même |\def| de TeX). Exemple :
+ |\newcommand{\RedLine}{\Hline{color=red}}|}
+\bigskip
+\colorbox{yellow!50}{\textbf{Nouveau 6.23}}\enskip
+
+De même que la commande |\Hline|, le specificateur «\verb+|+» admet entre crochets
+des options qui caractérisent le filet à tracer.
+
\medskip
+\begin{BVerbatim}[baseline=c,boxwidth=10cm]
+\begin{NiceTabular}{|c~emphase#|[color=blue]@c|}
+\Hline
+a & b \\
+~emphase#\Hline[color=red]@
+c & d \\
+\Hline
+\end{NiceTabular}
+\end{BVerbatim}
+%
+\begin{NiceTabular}{|c|[color=blue]c|}
+\Hline
+a & b \\
+\Hline[color=red]
+c & d \\
+\Hline
+\end{NiceTabular}
+
+
+\medskip
\subsubsection{Les clés hlines et vlines}
\index{hlines|see{Filets}}
@@ -1682,10 +1714,14 @@
\end{pNiceArray}$
\end{itemize}
+
+
+
+
\index{custom-line|)}
\index{Filets@\textbf{Filets dans les tableaux}|)}
-\section{Les couleurs des rangées et des colonnes}
+\section{Les couleurs de fond des rangées et des colonnes}
\index{Couleur!de fond pour les cases}
@@ -3063,7 +3099,11 @@
L'option |nullify-dots| «smashe» les instructions |\Ldots| (et ses variantes)
horizontalement mais aussi verticalement.
+\medskip
+Attention : la clé |nullify-dots| a un nom qui peut prêter à confusion ; elle
+n'implique pas que la ligne en pointillés ne sera pas tracée !
+
\subsection{Les commandes \textbackslash Hdotsfor et \textbackslash Vdotsfor}
\indexcommand{Hdotsfor}
@@ -3121,7 +3161,9 @@
\pkg{colortbl}\footnote{On rappelle que lorsque l'extension \pkg{xcolor} est
chargée avec l'option |table|, l'extension \pkg{colortbl} est chargée.}
est chargée (mais vous risquez d'avoir des problèmes si vous utilisez
-|\rowcolor| sur la même rangée que |\Hdotsfor|).
+|\rowcolor| sur la même rangée que |\Hdotsfor|). Néanmoins, dans le cadre de
+\pkg{nicematrix}, on conseille de ne pas utiliser \pkg{colortbl} mais d'utiliser
+les outils de nicematrix pour le coloriage des tableaux.
\medskip
L'extension \pkg{nicematrix} propose aussi une commande |\Vdotsfor| similaire à
@@ -3229,7 +3271,7 @@
\smallskip
\colorbox{yellow!50}{\textbf{Nouveau 6.22}}\enskip La version 6.22 introduit un
-nouveau label spécifié par le caractère~«|:|» pour un label situé sur la ligne
+nouveau label spécifié par le caractère~«|:|» pour un label situé \emph{sur} la ligne
elle-même. Ce label est en fait composé sur un fond blanc qui est superposé sur
la ligne en pointillés (voir un exemple p.~\pageref{ex:colon}).
@@ -3431,7 +3473,7 @@
\index{Pointillés@\textbf{Pointillés (lignes en ---)}|)}
-\section{Délimiteurs dans le préambule de l'environnement}
+\subsection{Délimiteurs dans le préambule de l'environnement}
\index{blkarray@\pkg{blkarray} (extension)}
@@ -4194,9 +4236,8 @@
\item Il est possible de référencer une note de tableau (avec la commande
|\label| placée après le |\tabularnote|).
-\item \colorbox{yellow!50}{\textbf{Nouveau 6.19}} La commande |\tabularnote|
-admet un argument optionnel (entre crochets) qui permet de changer le symbole de
-l'appel de note.
+\item La commande |\tabularnote| admet un argument optionnel (entre crochets)
+qui permet de changer le symbole de l'appel de note.
\emph{Exemple} : |\tabularnote[$\star$]{Une note...}|.
\end{itemize}
@@ -5862,10 +5903,11 @@
\medskip
L'extension \pkg{nicematrix} n'est pas parfaitement compatible avec l'extension
\pkg{arydshln} (parce que cette extension redéfinit de nombreuses commandes
-internes de \pkg{array}). De toutes manières, dans le cadre de \pkg{nicematrix},
-il est conseillé de tracer les filets en tiretés avec les commandes de
-\pkg{nicematrix} en créant un style de ligne personnalisé avec |custom-line| :
-cf.~p.~\pageref{custom-line}.
+internes de \pkg{array}) et les colonnes |V| de l'extension \pkg{boldline} ne
+sont pas prises en charge (car la lettre |V| est réservée pour les colonnes |V|
+de \pkg{varwidth}). De toutes manières, \pkg{nicematrix} fournit, avec la clé
+|custom-line| (cf. partie \ref{custom-line}, p.~\pageref{custom-line}) des
+outils pour définir des filets en tiretés ou de différentes épaisseurs.
\medskip
Les colonnes |d| de l'extension \pkg{dcolumn} ne sont pas prises en compte (mais
@@ -6240,8 +6282,7 @@
1& & & \Vdots & & & & \Vdots \\
& \Ddots[line-style=standard] \\
& & 1 \\
-\Cdots[color=blue,line-style=dashed]& & & \blue 0 &
-\Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+\Cdots & & & \blue 0 & \Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
& & & & 1 \\
& & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
& & & & & & 1 \\
@@ -6264,8 +6305,7 @@
1& & & \Vdots & & & & \Vdots \\
& \Ddots[line-style=standard] \\
& & 1 \\
-\Cdots[color=blue,line-style=dashed]& & & \blue 0 &
-\Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+\Cdots & & & \blue 0 & \Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
& & & & 1 \\
& & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
& & & & & & 1 \\
@@ -7052,7 +7092,7 @@
une traduction anglaise de la documentation ici présente ainsi qu'un historique
des versions.
-Le document |nicematrix-code.pdf| (fourni également avec l'extension \pkg{nicematrix}
+Le document |nicematrix-code.pdf| (fourni également avec l'extension \pkg{nicematrix})
contient le code LaTeX commenté (à partir du fichier |nicematrix-code.dtx|).
\medskip
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex 2023-09-02 20:08:13 UTC (rev 68150)
+++ trunk/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex 2023-09-02 20:08:24 UTC (rev 68151)
@@ -1185,8 +1185,40 @@
The key |\Hline| takes in an optional argument (between square brackets) which
is a list of \textsl{key=value} pairs. For the description of those keys, see
-|custom-line| on p.~\pageref{custom-line}.
+|custom-line| on p.~\pageref{custom-line}.\footnote{Technical remark: If the
+ user wants to write a command over the command |\Hline|, it shall be ensured
+ that this new command is expandable in the TeX sens (by using, for instance,
+ |\NewExpandableDocumentCommand| of LaTeX3, |\newcommand| of LaTeX or |\def| of
+ TeX). Example: |\newcommand{\RedLine}{\Hline[color=red]}|}
+
+\bigskip
+\colorbox{yellow!50}{\textbf{New 6.23}}\enskip
+
+As well as the command |\Hline|, the specifier ``\verb+|+'' supports a optional
+argument between square brackets for the characteristics of the rule.
+
+\medskip
+\begin{BVerbatim}[baseline=c,boxwidth=10cm]
+\begin{NiceTabular}{|c~emphase#|[color=blue]@c|}
+\Hline
+a & b \\
+~emphase#\Hline[color=red]@
+c & d \\
+\Hline
+\end{NiceTabular}
+\end{BVerbatim}
+%
+\begin{NiceTabular}{|c|[color=blue]c|}
+\Hline
+a & b \\
+\Hline[color=red]
+c & d \\
+\Hline
+\end{NiceTabular}
+
+
+
\subsubsection{The keys hlines and vlines}
\index{hlines|see{Rules}}
@@ -1637,7 +1669,7 @@
\index{Rules@\textbf{Rules in the tabulars}|)}
-\section{The color of the rows and columns}
+\section{The color of the background of the rows and columns}
\index{Colour!of the cells}
@@ -2992,8 +3024,12 @@
The option |nullify-dots| smashes the instructions |\Ldots| (and the variants)
horizontally but also vertically.
+\medskip
+Caution : the key |nullify-dots| has a name that may be confusing; that key does
+not imply that the dotted rules won't be drawn!
+
\subsection{The commands \textbackslash Hdotsfor and \textbackslash Vdotsfor}
\indexcommand{Hdotsfor}
@@ -3049,7 +3085,9 @@
|\Hdotsfor| may be used even when the package \pkg{colortbl}\footnote{We
recall that when \pkg{xcolor} is loaded with the option |table|, the
package \pkg{colortbl} is loaded.} is loaded (but you might have problem if
-you use |\rowcolor| on the same row as |\Hdotsfor|).
+you use |\rowcolor| on the same row as |\Hdotsfor|). However, when using
+\pkg{nicematrix}, it's recommended to use the coloring tools provided by
+\pkg{nicematrix} instead of \pkg{colortbl}.
\bigskip
The package \pkg{nicematrix} also provides a command |\Vdotsfor| similar to
@@ -4102,9 +4140,8 @@
\item It's possible to create a reference to a tabular note created by |\tabularnote|
(with the usual command |\label| used after the |\tabularnote|).
-\item \colorbox{yellow!50}{\textbf{New 6.19}} The command |\tabularnote| has an
-optional argument (between square brackets) to change the symbol of the
-reference of the note.
+\item The command |\tabularnote| has an optional argument (between square
+brackets) to change the symbol of the reference of the note.
\emph{Example}: |\tabularnote[$\star$]{A footnote...}|
\end{itemize}
@@ -5746,10 +5783,12 @@
\bigskip
The package \pkg{nicematrix} is not fully compatible with the package
-\pkg{arydshln} (because this package redefines many internals of \pkg{array}).
-By any means, in the context of \pkg{nicematrix}, it's recommended to draw
-dashed rules with the tools provided by \pkg{nicematrix}, by creating a
-customized line style with |custom-line|: cf.~p.~\pageref{custom-line}.
+\pkg{arydshln} (because this package redefines many internals of \pkg{array})
+and does support the columns~|V| of \pkg{boldline} (because the letter |V| is
+reserved for the columns~|V| of \pkg{varwidth}). By any means, \pkg{nicematrix}
+provides, with the key |custom-line| (cf. part~\ref{custom-line},
+p.~\pageref{custom-line}), tools to draw dashed rules and rules of different
+widths.
\bigskip
The columns |d| of \pkg{dcolumn} are not supported (but it's possible to use
@@ -6116,8 +6155,7 @@
1& & & \Vdots & & & & \Vdots \\
& \Ddots[line-style=standard] \\
& & 1 \\
-\Cdots[color=blue,line-style=dashed]& & & \blue 0 &
-\Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+\Cdots & & & \blue 0 & \Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
& & & & 1 \\
& & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
& & & & & & 1 \\
@@ -6141,8 +6179,7 @@
1& & & \Vdots & & & & \Vdots \\
& \Ddots[line-style=standard] \\
& & 1 \\
-\Cdots[color=blue,line-style=dashed]& & & \blue 0 &
-\Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
+\Cdots & & & \blue 0 & \Cdots & & & \blue 1 & & & \Cdots & \blue \leftarrow i \\
& & & & 1 \\
& & &\Vdots & & \Ddots[line-style=standard] & & \Vdots \\
& & & & & & 1 \\
@@ -6188,7 +6225,7 @@
\interitem
\label{ex:colon}
-If you want the lable \emph{on the line}, you should use the special token~``|:|'':
+If you want the label \emph{on the line}, you should use the special token~``|:|'':
\begin{Verbatim}
\NiceMatrixOptions{xdots={horizontal-labels,line-style = <->}}
@@ -6924,6 +6961,13 @@
\nolinkurl{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}
}
+\subsection*{Changes between version 6.22 and 6.23}
+
+The specifier ``\verb+|+'' in the preambles of the environments has now an
+optional argument.
+
+Correction of several bugs.
+
\subsection*{Changes between version 6.21 and 6.22}
Key |opacity| for the command |\Block|.
Modified: trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx 2023-09-02 20:08:13 UTC (rev 68150)
+++ trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx 2023-09-02 20:08:24 UTC (rev 68151)
@@ -17,8 +17,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{6.22}
-\def\myfiledate{2023/08/14}
+\def\myfileversion{6.23}
+\def\myfiledate{2023/09/02}
%
%
%<*batchfile>
@@ -331,6 +331,9 @@
%
% the command |\G| takes in an arbitrary number of optional arguments between
% square brackets.
+%
+% Be careful: that command is \emph{not} ``fully expandable'' (because of
+% |\peek_meaning:NTF|).
%
% \bigskip
% \begin{macrocode}
@@ -4945,37 +4948,43 @@
{
\str_if_eq:nnTF { #1 } |
{ \@@_patch_preamble_iii:n | }
+ {
+ \str_if_eq:nnTF { #1 } [
+ { \@@_patch_preamble_iii_ii:nw { } [ }
+ { \@@_patch_preamble_iii_ii:nw { #1 } [ ] }
+ }
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_patch_preamble_iii_ii:nw #1 [ #2 ]
+ {
+ \@@_compute_rule_width:n { multiplicity = \l_tmpa_int , #2 }
+ \tl_gput_right:Nx \g_@@_preamble_tl
{
- \dim_set:Nn \l_tmpa_dim
- {
- \arrayrulewidth * \l_tmpa_int
- + \doublerulesep * ( \l_tmpa_int - 1)
- }
- \tl_gput_right:Nx \g_@@_preamble_tl
- {
% \end{macrocode}
% Here, the command |\dim_eval:n| is mandatory.
% \begin{macrocode}
- \exp_not:N ! { \skip_horizontal:n { \dim_eval:n { \l_tmpa_dim } } }
- }
- \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ \exp_not:N ! { \skip_horizontal:n { \dim_eval:n { \l_@@_rule_width_dim } } }
+ }
+ \tl_gput_right:Nx \g_@@_pre_code_after_tl
+ {
+ \@@_vline:n
{
- \@@_vline:n
- {
- position = \int_eval:n { \c at jCol + 1 } ,
- multiplicity = \int_use:N \l_tmpa_int ,
- total-width = \dim_use:N \l_tmpa_dim
- }
+ position = \int_eval:n { \c at jCol + 1 } ,
+ multiplicity = \int_use:N \l_tmpa_int ,
+ total-width = \dim_use:N \l_@@_rule_width_dim ,
+ #2
+ }
% \end{macrocode}
% We don't have provided value for |start| nor for |end|, which means that the
% rule will cover (potentially) all the rows of the array.
%
% \begin{macrocode}
- }
- \int_zero:N \l_tmpa_int
- \str_if_eq:nnT { #1 } { \q_stop } { \bool_gset_true:N \g_tmpb_bool }
- \@@_patch_preamble:n #1
}
+ \int_zero:N \l_tmpa_int
+ \str_if_eq:nnT { #1 } { \q_stop } { \bool_gset_true:N \g_tmpb_bool }
+ \@@_patch_preamble:n #1
}
% \end{macrocode}
%
@@ -9405,7 +9414,12 @@
middle = \exp_not:n { #6 }
}
}
- \prg_replicate:nn { #2 - 1 } { & \multicolumn { 1 } { c } { } }
+ \prg_replicate:nn { #2 - 1 }
+ {
+ &
+ \multicolumn { 1 } { c } { }
+ \cs_set_eq:NN \CodeAfter \@@_CodeAfter_i: % added 2023-08-26
+ }
}
}
% \end{macrocode}
@@ -11350,7 +11364,7 @@
{
\peek_meaning:NTF \Hline
{ \@@_Hline_ii:nn { #1 + 1 } }
- { \@@_Hline_iii:n { #1 } }
+ { \@@_Hline_iii:n { #1 } }
}
}
% \end{macrocode}
@@ -11360,16 +11374,13 @@
% \end{macrocode}
%
% \begin{macrocode}
-\cs_set:Npn \@@_Hline_iii:n #1
- {
- \peek_meaning:NTF [
- { \@@_Hline_iv:nw { #1 } }
- { \@@_Hline_iv:nw { #1 } [ ] }
- }
+\cs_set:Npn \@@_Hline_iii:n #1
+ { \@@_collect_options:n { \@@_Hline_iv:nn { #1 } } }
% \end{macrocode}
+%
%
% \begin{macrocode}
-\cs_set:Npn \@@_Hline_iv:nw #1 [ #2 ]
+\cs_set:Npn \@@_Hline_iv:nn #1 #2
{
\@@_compute_rule_width:n { multiplicity = #1 , #2 }
\skip_vertical:n { \l_@@_rule_width_dim }
@@ -11994,10 +12005,14 @@
\keys_set:nn { NiceMatrix / NiceMatrixBlock } { #1 }
\bool_if:NT \l_@@_block_auto_columns_width_bool
{
- \cs_if_exist:cT { @@_max_cell_width_ \int_use:N \g_@@_NiceMatrixBlock_int }
+ \cs_if_exist:cT
+ { @@_max_cell_width_ \int_use:N \g_@@_NiceMatrixBlock_int }
{
- \exp_args:NNc \dim_set:Nn \l_@@_columns_width_dim
- { @@_max_cell_width _ \int_use:N \g_@@_NiceMatrixBlock_int }
+ \exp_args:NNx \dim_set:Nn \l_@@_columns_width_dim
+ {
+ \use:c
+ { @@_max_cell_width _ \int_use:N \g_@@_NiceMatrixBlock_int }
+ }
}
}
}
@@ -12010,20 +12025,29 @@
% the counter |\l_@@_first_env_block_int|).
% \begin{macrocode}
{
- \bool_if:NT \l_@@_block_auto_columns_width_bool
+ \legacy_if:nTF { measuring@ }
+% \end{macrocode}
+% If |{NiceMatrixBlock}| is used in an environment of \pkg{amsmath} such as
+% |{align}|: cf. question 694957 on TeX StackExchange. The most important line
+% in that case is the following one.
+% \begin{macrocode}
+ { \int_gdecr:N \g_@@_NiceMatrixBlock_int }
{
- \iow_shipout:Nn \@mainaux \ExplSyntaxOn
- \iow_shipout:Nx \@mainaux
- {
- \cs_gset:cpn
- { @@ _ max _ cell _ width _ \int_use:N \g_@@_NiceMatrixBlock_int }
+ \bool_if:NT \l_@@_block_auto_columns_width_bool
+ {
+ \iow_shipout:Nn \@mainaux \ExplSyntaxOn
+ \iow_shipout:Nx \@mainaux
+ {
+ \cs_gset:cpn
+ { @@ _ max _ cell _ width _ \int_use:N \g_@@_NiceMatrixBlock_int }
% \end{macrocode}
% For technical reasons, we have to include the width of a potential rule on the
% right side of the cells.
% \begin{macrocode}
- { \dim_eval:n { \g_@@_max_cell_width_dim + \arrayrulewidth } }
+ { \dim_eval:n { \g_@@_max_cell_width_dim + \arrayrulewidth } }
+ }
+ \iow_shipout:Nn \@mainaux \ExplSyntaxOff
}
- \iow_shipout:Nn \@mainaux \ExplSyntaxOff
}
\ignorespacesafterend
}
@@ -12434,8 +12458,6 @@
% |\NewExpandableDocumentCommand| because it has an optional argument between
% |<| and |>|. It's mandatory to use an expandable command.
%
-%
-%
% \begin{macrocode}
\cs_new_protected:Npn \@@_Block: { \@@_collect_options:n { \@@_Block_i: } }
% \end{macrocode}
@@ -13146,7 +13168,7 @@
\tl_gput_right:Nx \g_nicematrix_code_after_tl
{
\@@_stroke_block:nnn
- { \exp_not:n { #5 } }
+ { \exp_not:n { #5 } } % #5 are the options
{ #1 - #2 }
{ \int_use:N \l_@@_last_row_int - \int_use:N \l_@@_last_col_int }
}
@@ -15314,7 +15336,7 @@
footnotehyper,~
messages-for-Overleaf,~
no-test-for-array,~
- renew-dots,~and
+ renew-dots,~and~
renew-matrix.
}
% \end{macrocode}
@@ -15897,11 +15919,18 @@
% \end{macrocode}
%
% \begin{macrocode}
-\@@_msg_new:nn { width~without~X~columns }
+\@@_msg_new:nnn { width~without~X~columns }
{
You~have~used~the~key~'width'~but~you~have~put~no~'X'~column.~
That~key~will~be~ignored.
}
+ {
+ This~message~is~the~message~'width~without~X~columns'~
+ of~the~module~'nicematrix'.~
+ The~experimented~users~can~disable~that~message~with~
+ \token_to_str:N \msg_redirect_name:nnn.\\
+ }
+
% \end{macrocode}
%
% \begin{macrocode}
Modified: trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty 2023-09-02 20:08:13 UTC (rev 68150)
+++ trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty 2023-09-02 20:08:24 UTC (rev 68151)
@@ -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.22}
-\def\myfiledate{2023/08/14}
+\def\myfileversion{6.23}
+\def\myfiledate{2023/09/02}
\RequirePackage{pgfcore}
\usepgfmodule{shapes}
\RequirePackage{l3keys2e}
@@ -2191,28 +2191,31 @@
\str_if_eq:nnTF { #1 } |
{ \__nicematrix_patch_preamble_iii:n | }
{
- \dim_set:Nn \l_tmpa_dim
+ \str_if_eq:nnTF { #1 } [
+ { \__nicematrix_patch_preamble_iii_ii:nw { } [ }
+ { \__nicematrix_patch_preamble_iii_ii:nw { #1 } [ ] }
+ }
+ }
+\cs_new_protected:Npn \__nicematrix_patch_preamble_iii_ii:nw #1 [ #2 ]
+ {
+ \__nicematrix_compute_rule_width:n { multiplicity = \l_tmpa_int , #2 }
+ \tl_gput_right:Nx \g__nicematrix_preamble_tl
+ {
+ \exp_not:N ! { \skip_horizontal:n { \dim_eval:n { \l__nicematrix_rule_width_dim } } }
+ }
+ \tl_gput_right:Nx \g__nicematrix_pre_code_after_tl
+ {
+ \__nicematrix_vline:n
{
- \arrayrulewidth * \l_tmpa_int
- + \doublerulesep * ( \l_tmpa_int - 1)
+ position = \int_eval:n { \c at jCol + 1 } ,
+ multiplicity = \int_use:N \l_tmpa_int ,
+ total-width = \dim_use:N \l__nicematrix_rule_width_dim ,
+ #2
}
- \tl_gput_right:Nx \g__nicematrix_preamble_tl
- {
- \exp_not:N ! { \skip_horizontal:n { \dim_eval:n { \l_tmpa_dim } } }
- }
- \tl_gput_right:Nx \g__nicematrix_pre_code_after_tl
- {
- \__nicematrix_vline:n
- {
- position = \int_eval:n { \c at jCol + 1 } ,
- multiplicity = \int_use:N \l_tmpa_int ,
- total-width = \dim_use:N \l_tmpa_dim
- }
- }
- \int_zero:N \l_tmpa_int
- \str_if_eq:nnT { #1 } { \q_stop } { \bool_gset_true:N \g_tmpb_bool }
- \__nicematrix_patch_preamble:n #1
}
+ \int_zero:N \l_tmpa_int
+ \str_if_eq:nnT { #1 } { \q_stop } { \bool_gset_true:N \g_tmpb_bool }
+ \__nicematrix_patch_preamble:n #1
}
\cs_new_protected:Npn \__nicematrix_patch_preamble_xiv:n #1
{
@@ -4944,7 +4947,12 @@
middle = \exp_not:n { #6 }
}
}
- \prg_replicate:nn { #2 - 1 } { & \multicolumn { 1 } { c } { } }
+ \prg_replicate:nn { #2 - 1 }
+ {
+ &
+ \multicolumn { 1 } { c } { }
+ \cs_set_eq:NN \CodeAfter \__nicematrix_CodeAfter_i: % added 2023-08-26
+ }
}
}
\cs_new_protected:Npn \__nicematrix_Hdotsfor:nnnn #1 #2 #3 #4
@@ -6136,13 +6144,9 @@
}
\cs_set:Npn \__nicematrix_Hline_ii:nn #1 #2 { \__nicematrix_Hline_i:n { #1 } }
\cs_set:Npn \__nicematrix_Hline_iii:n #1
+ { \__nicematrix_collect_options:n { \__nicematrix_Hline_iv:nn { #1 } } }
+\cs_set:Npn \__nicematrix_Hline_iv:nn #1 #2
{
- \peek_meaning:NTF [
- { \__nicematrix_Hline_iv:nw { #1 } }
- { \__nicematrix_Hline_iv:nw { #1 } [ ] }
- }
-\cs_set:Npn \__nicematrix_Hline_iv:nw #1 [ #2 ]
- {
\__nicematrix_compute_rule_width:n { multiplicity = #1 , #2 }
\skip_vertical:n { \l__nicematrix_rule_width_dim }
\tl_gput_right:Nx \g__nicematrix_pre_code_after_tl
@@ -6529,24 +6533,32 @@
\keys_set:nn { NiceMatrix / NiceMatrixBlock } { #1 }
\bool_if:NT \l__nicematrix_block_auto_columns_width_bool
{
- \cs_if_exist:cT { __nicematrix_max_cell_width_ \int_use:N \g__nicematrix_NiceMatrixBlock_int }
+ \cs_if_exist:cT
+ { __nicematrix_max_cell_width_ \int_use:N \g__nicematrix_NiceMatrixBlock_int }
{
- \exp_args:NNc \dim_set:Nn \l__nicematrix_columns_width_dim
- { __nicematrix_max_cell_width _ \int_use:N \g__nicematrix_NiceMatrixBlock_int }
+ \exp_args:NNx \dim_set:Nn \l__nicematrix_columns_width_dim
+ {
+ \use:c
+ { __nicematrix_max_cell_width _ \int_use:N \g__nicematrix_NiceMatrixBlock_int }
+ }
}
}
}
{
- \bool_if:NT \l__nicematrix_block_auto_columns_width_bool
+ \legacy_if:nTF { measuring@ }
+ { \int_gdecr:N \g__nicematrix_NiceMatrixBlock_int }
{
- \iow_shipout:Nn \@mainaux \ExplSyntaxOn
- \iow_shipout:Nx \@mainaux
+ \bool_if:NT \l__nicematrix_block_auto_columns_width_bool
{
- \cs_gset:cpn
- { __nicematrix _ max _ cell _ width _ \int_use:N \g__nicematrix_NiceMatrixBlock_int }
- { \dim_eval:n { \g__nicematrix_max_cell_width_dim + \arrayrulewidth } }
+ \iow_shipout:Nn \@mainaux \ExplSyntaxOn
+ \iow_shipout:Nx \@mainaux
+ {
+ \cs_gset:cpn
+ { __nicematrix _ max _ cell _ width _ \int_use:N \g__nicematrix_NiceMatrixBlock_int }
+ { \dim_eval:n { \g__nicematrix_max_cell_width_dim + \arrayrulewidth } }
+ }
+ \iow_shipout:Nn \@mainaux \ExplSyntaxOff
}
- \iow_shipout:Nn \@mainaux \ExplSyntaxOff
}
\ignorespacesafterend
}
@@ -7211,7 +7223,7 @@
\tl_gput_right:Nx \g_nicematrix_code_after_tl
{
\__nicematrix_stroke_block:nnn
- { \exp_not:n { #5 } }
+ { \exp_not:n { #5 } } % #5 are the options
{ #1 - #2 }
{ \int_use:N \l__nicematrix_last_row_int - \int_use:N \l__nicematrix_last_col_int }
}
@@ -8686,7 +8698,7 @@
footnotehyper,~
messages-for-Overleaf,~
no-test-for-array,~
- renew-dots,~and
+ renew-dots,~and~
renew-matrix.
}
\keys_define:nn { NiceMatrix / Package }
@@ -9085,11 +9097,18 @@
{ ~Maybe~you~should~try~without~the~key~'slim'. } \\
This~\token_to_str:N \SubMatrix\ will~be~ignored.
}
-\__nicematrix_msg_new:nn { width~without~X~columns }
+\__nicematrix_msg_new:nnn { width~without~X~columns }
{
You~have~used~the~key~'width'~but~you~have~put~no~'X'~column.~
That~key~will~be~ignored.
}
+ {
+ This~message~is~the~message~'width~without~X~columns'~
+ of~the~module~'nicematrix'.~
+ The~experimented~users~can~disable~that~message~with~
+ \token_to_str:N \msg_redirect_name:nnn.\\
+ }
+
\__nicematrix_msg_new:nn { key~multiplicity~with~dotted }
{
Incompatible~keys. \\
More information about the tex-live-commits
mailing list.