summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-02-16 21:17:13 +0000
committerKarl Berry <karl@freefriends.org>2022-02-16 21:17:13 +0000
commit423d970d7b4fc4627d5e337f4e002fbd3300a5d0 (patch)
tree2147b3f837658fea90c1f65356b953fc1150f2cc /Master/texmf-dist/tex
parent0b42da51fe17b44ba91a2588ece01e2dd4dc042c (diff)
nicematrix (16feb22)
git-svn-id: svn://tug.org/texlive/trunk@62043 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty323
1 files changed, 182 insertions, 141 deletions
diff --git a/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty b/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
index c20a52be74f..51b0a3e4936 100644
--- a/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
+++ b/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
@@ -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.5}
-\def\myfiledate{2022/01/23}
+\def\myfileversion{6.6}
+\def\myfiledate{2022/02/16}
\RequirePackage{pgfcore}
\usepgfmodule{shapes}
\RequirePackage{l3keys2e}
@@ -42,14 +42,15 @@
{ \msg_redirect_name:nnn { nicematrix } }
\bool_new:N \c__nicematrix_in_preamble_bool
\bool_set_true:N \c__nicematrix_in_preamble_bool
-\AtBeginDocument { \bool_set_false:N \c__nicematrix_in_preamble_bool }
+\hook_gput_code:nnn { begindocument } { . }
+ { \bool_set_false:N \c__nicematrix_in_preamble_bool }
\bool_new:N \c__nicematrix_arydshln_loaded_bool
\bool_new:N \c__nicematrix_booktabs_loaded_bool
\bool_new:N \c__nicematrix_enumitem_loaded_bool
\bool_new:N \c__nicematrix_tabularx_loaded_bool
\bool_new:N \c__nicematrix_tikz_loaded_bool
\bool_new:N \c__nicematrix_varwidth_loaded_bool
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\@ifpackageloaded { varwidth }
{ \bool_set_true:N \c__nicematrix_varwidth_loaded_bool }
@@ -112,7 +113,7 @@
\tex_mkern:D 1 mu
}
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\@ifpackageloaded { booktabs }
{ \iow_now:Nn \@mainaux \nicematrix@redefine@check@rerun }
@@ -128,7 +129,7 @@
}
}
\bool_new:N \c__nicematrix_colortbl_loaded_bool
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\@ifpackageloaded { colortbl }
{ \bool_set_true:N \c__nicematrix_colortbl_loaded_bool }
@@ -217,13 +218,13 @@
{ \cs_set:Npn \CT@drsc@ { \color { #1 } } }
\cs_set_eq:NN \__nicematrix_old_pgfpointanchor \pgfpointanchor
\bool_new:N \c__nicematrix_siunitx_loaded_bool
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\@ifpackageloaded { siunitx }
{ \bool_set_true:N \c__nicematrix_siunitx_loaded_bool }
{ }
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\bool_if:nTF { ! \c__nicematrix_siunitx_loaded_bool }
{ \cs_set_eq:NN \__nicematrix_renew_NC@rewrite@S: \prg_do_nothing: }
@@ -304,8 +305,8 @@
\dim_new:N \l__nicematrix_y_initial_dim
\dim_new:N \l__nicematrix_x_final_dim
\dim_new:N \l__nicematrix_y_final_dim
-\dim_zero_new:N \l_tmpc_dim
-\dim_zero_new:N \l_tmpd_dim
+\dim_zero_new:N \l__nicematrix_tmpc_dim
+\dim_zero_new:N \l__nicematrix_tmpd_dim
\bool_new:N \g__nicematrix_empty_cell_bool
\dim_new:N \g__nicematrix_width_last_col_dim
\dim_new:N \g__nicematrix_width_first_col_dim
@@ -391,7 +392,7 @@
\cs_new:Npn \__nicematrix_notes_label_in_tabular:n #1 { \textsuperscript { #1 } }
\cs_new:Npn \__nicematrix_notes_label_in_list:n #1 { \textsuperscript { #1 } }
\cs_set:Npn \thetabularnote { { \__nicematrix_notes_style:n { tabularnote } } }
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\bool_if:nTF { ! \c__nicematrix_enumitem_loaded_bool }
{
@@ -505,11 +506,14 @@
\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
-\AtBeginDocument { \dim_set:Nn \l__nicematrix_inter_dots_dim { 0.45 em } }
+\hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l__nicematrix_inter_dots_dim { 0.45 em } }
\dim_new:N \l__nicematrix_xdots_shorten_dim
-\AtBeginDocument { \dim_set:Nn \l__nicematrix_xdots_shorten_dim { 0.3 em } }
+\hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l__nicematrix_xdots_shorten_dim { 0.3 em } }
\dim_new:N \l__nicematrix_radius_dim
-\AtBeginDocument { \dim_set:Nn \l__nicematrix_radius_dim { 0.53 pt } }
+\hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l__nicematrix_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
@@ -521,7 +525,8 @@
\bool_set_true:N \l__nicematrix_parallelize_diags_bool
\clist_new:N \l__nicematrix_corners_clist
\dim_new:N \l__nicematrix_notes_above_space_dim
-\AtBeginDocument { \dim_set:Nn \l__nicematrix_notes_above_space_dim { 1 mm } }
+\hook_gput_code:nnn { begindocument } { . }
+ { \dim_set:Nn \l__nicematrix_notes_above_space_dim { 1 mm } }
\bool_new:N \l__nicematrix_nullify_dots_bool
\bool_new:N \l__nicematrix_respect_arraystretch_bool
\bool_new:N \l__nicematrix_auto_columns_width_bool
@@ -714,7 +719,7 @@
{
\bool_if:NTF \c__nicematrix_in_preamble_bool
{
- \AtBeginDocument
+ \hook_gput_code:nnn { begindocument } { . }
{
\bool_if:NT \c__nicematrix_enumitem_loaded_bool
{ \setlist* [ tabularnotes ] { #1 } }
@@ -730,7 +735,7 @@
{
\bool_if:NTF \c__nicematrix_in_preamble_bool
{
- \AtBeginDocument
+ \hook_gput_code:nnn { begindocument } { . }
{
\bool_if:NT \c__nicematrix_enumitem_loaded_bool
{ \setlist* [ tabularnotes* ] { #1 } }
@@ -806,13 +811,6 @@
small .value_forbidden:n = true ,
renew-matrix .code:n = \__nicematrix_renew_matrix: ,
renew-matrix .value_forbidden:n = true ,
- transparent .code:n =
- {
- \__nicematrix_renew_matrix:
- \bool_set_true:N \l__nicematrix_renew_dots_bool
- \__nicematrix_error:n { Key~transparent }
- } ,
- transparent .value_forbidden:n = true,
exterior-arraycolsep .bool_set:N = \l__nicematrix_exterior_arraycolsep_bool ,
columns-width .code:n =
\tl_if_eq:nnTF { #1 } { auto }
@@ -1261,7 +1259,7 @@
\bool_if:NT \l__nicematrix_colortbl_like_bool \__nicematrix_colortbl_like:
\bool_if:NT \l__nicematrix_renew_dots_bool \__nicematrix_renew_dots:
\cs_set_eq:NN \multicolumn \__nicematrix_multicolumn:nnn
- \AtBeginEnvironment { tabular }
+ \hook_gput_code:nnn { env / tabular / begin } { . }
{ \cs_set_eq:NN \multicolumn \__nicematrix_old_multicolumn }
\seq_gclear:N \g__nicematrix_multicolumn_cells_seq
\seq_gclear:N \g__nicematrix_multicolumn_sizes_seq
@@ -1480,15 +1478,15 @@
\__nicematrix_qpoint:n { #1 }
\dim_set_eq:NN \l_tmpb_dim \pgf@y
\__nicematrix_qpoint:n { col - \__nicematrix_succ:n { #4 } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@x
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@x
\__nicematrix_qpoint:n { \__nicematrix_succ:n { #3 } }
- \dim_set_eq:NN \l_tmpd_dim \pgf@y
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@y
\__nicematrix_pgf_rect_node:nnnnn
{ \__nicematrix_env: - #5 }
{ \dim_use:N \l_tmpa_dim }
{ \dim_use:N \l_tmpb_dim }
- { \dim_use:N \l_tmpc_dim }
- { \dim_use:N \l_tmpd_dim }
+ { \dim_use:N \l__nicematrix_tmpc_dim }
+ { \dim_use:N \l__nicematrix_tmpd_dim }
}
}
\cs_new_protected:Npn \__nicematrix_patch_for_revtex:
@@ -3189,7 +3187,7 @@
}
{ #5 }
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\cs_new_protected:Npx \__nicematrix_draw_dotted_lines:
{
@@ -3235,12 +3233,12 @@
\__nicematrix_qpoint:n { row - \int_min:nn { ##1 } { \c@iRow + 1 } }
\dim_set_eq:NN \l_tmpb_dim \pgf@y
\__nicematrix_qpoint:n { col - \int_min:nn { ##1 + 1 } { \c@jCol + 1 } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@x
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@x
\__nicematrix_qpoint:n { row - \int_min:nn { ##1 + 1 } { \c@iRow + 1 } }
- \dim_set_eq:NN \l_tmpd_dim \pgf@y
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@y
\pgftransformshift { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- \dim_set:Nn \l_tmpa_dim { ( \l_tmpc_dim - \l_tmpa_dim ) / 2 }
- \dim_set:Nn \l_tmpb_dim { ( \l_tmpd_dim - \l_tmpb_dim ) / 2 }
+ \dim_set:Nn \l_tmpa_dim { ( \l__nicematrix_tmpc_dim - \l_tmpa_dim ) / 2 }
+ \dim_set:Nn \l_tmpb_dim { ( \l__nicematrix_tmpd_dim - \l_tmpb_dim ) / 2 }
\pgfnode { __nicematrix_diag_node } { center } { } { \__nicematrix_env: - ##1 } { }
\str_if_empty:NF \l__nicematrix_name_str
{ \pgfnodealias { \l__nicematrix_name_str - ##1 } { \__nicematrix_env: - ##1 } }
@@ -3994,7 +3992,7 @@
}
\pgfusepathqfill
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\tl_set:Nn \l__nicematrix_argspec_tl { O { } E { _ ^ } { { } { } } }
\tl_set_rescan:Nno \l__nicematrix_argspec_tl { } \l__nicematrix_argspec_tl
@@ -4124,7 +4122,7 @@
\__nicematrix_Hdotsfor_i
}
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\tl_set:Nn \l__nicematrix_argspec_tl { O { } m O { } E { _ ^ } { { } { } } }
\tl_set_rescan:Nno \l__nicematrix_argspec_tl { } \l__nicematrix_argspec_tl
@@ -4201,7 +4199,7 @@
\int_step_inline:nnn { #2 } { #2 + #3 - 1 }
{ \cs_set:cpn { __nicematrix _ dotted _ #1 - ##1 } { } }
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\tl_set:Nn \l__nicematrix_argspec_tl { O { } m O { } E { _ ^ } { { } { } } }
\tl_set_rescan:Nno \l__nicematrix_argspec_tl { } \l__nicematrix_argspec_tl
@@ -4279,7 +4277,7 @@
\cs_new_protected:Npn \__nicematrix_rotate: { \bool_gset_true:N \g__nicematrix_rotate_bool }
\cs_new:Npn \__nicematrix_double_int_eval:n #1-#2 \q_stop
{ \int_eval:n { #1 } - \int_eval:n { #2 } }
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\tl_set:Nn \l__nicematrix_argspec_tl { O { } m m ! O { } E { _ ^ } { { } { } } }
\tl_set_rescan:Nno \l__nicematrix_argspec_tl { } \l__nicematrix_argspec_tl
@@ -4312,7 +4310,7 @@
}
{ \__nicematrix_draw_line_ii:nn { #1 } { #2 } }
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\cs_new_protected:Npx \__nicematrix_draw_line_ii:nn #1 #2
{
@@ -4353,7 +4351,7 @@
nb-rows .int_set:N = \l__nicematrix_key_nb_rows_int ,
nb-rows .value_required:n = true ,
nb-rows .initial:n = 1 ,
- rowcolor .tl_set:N = \l_tmpc_tl ,
+ rowcolor .tl_set:N = \l__nicematrix_tmpc_tl ,
rowcolor .value_required:n = true ,
rowcolor .initial:n = ,
unknown .code:n = \__nicematrix_error:n { Unknown~key~for~RowStyle }
@@ -4361,12 +4359,12 @@
\NewDocumentCommand \__nicematrix_RowStyle:n { O { } m }
{
\keys_set:nn { NiceMatrix / RowStyle } { #1 }
- \tl_if_empty:NF \l_tmpc_tl
+ \tl_if_empty:NF \l__nicematrix_tmpc_tl
{
\tl_gput_right:Nx \g_nicematrix_code_before_tl
{
\__nicematrix_rectanglecolor
- { \l_tmpc_tl }
+ { \l__nicematrix_tmpc_tl }
{ \int_use:N \c@iRow - \int_use:N \c@jCol }
{ \int_use:N \c@iRow - * }
}
@@ -4375,7 +4373,7 @@
\tl_gput_right:Nx \g_nicematrix_code_before_tl
{
\__nicematrix_rowcolor
- { \l_tmpc_tl }
+ { \l__nicematrix_tmpc_tl }
{
\int_eval:n { \c@iRow + 1 }
- \int_eval:n { \c@iRow + \l__nicematrix_key_nb_rows_int - 1 }
@@ -4503,13 +4501,13 @@
\cs_new_protected:Npn \__nicematrix_rectanglecolor:nnn #1 #2 #3
{
\__nicematrix_cut_on_hyphen:w #1 \q_stop
- \tl_clear_new:N \l_tmpc_tl
- \tl_clear_new:N \l_tmpd_tl
- \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
+ \tl_clear_new:N \l__nicematrix_tmpc_tl
+ \tl_clear_new:N \l__nicematrix_tmpd_tl
+ \tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l__nicematrix_tmpd_tl \l_tmpb_tl
\__nicematrix_cut_on_hyphen:w #2 \q_stop
- \tl_set:Nx \l__nicematrix_rows_tl { \l_tmpc_tl - \l_tmpa_tl }
- \tl_set:Nx \l__nicematrix_cols_tl { \l_tmpd_tl - \l_tmpb_tl }
+ \tl_set:Nx \l__nicematrix_rows_tl { \l__nicematrix_tmpc_tl - \l_tmpa_tl }
+ \tl_set:Nx \l__nicematrix_cols_tl { \l__nicematrix_tmpd_tl - \l_tmpb_tl }
\__nicematrix_cartesian_path:n { #3 }
}
\NewDocumentCommand \__nicematrix_cellcolor { O { } m m }
@@ -4573,9 +4571,9 @@
\bool_if:NTF \l__nicematrix_rowcolors_restart_bool
{ \int_set:Nn \l__nicematrix_color_int 1 }
{ \int_set:Nn \l__nicematrix_color_int \l_tmpa_tl }
- \int_zero_new:N \l_tmpc_int
- \int_set:Nn \l_tmpc_int \l_tmpb_tl
- \int_do_until:nNnn \l_tmpa_int > \l_tmpc_int
+ \int_zero_new:N \l__nicematrix_tmpc_int
+ \int_set:Nn \l__nicematrix_tmpc_int \l_tmpb_tl
+ \int_do_until:nNnn \l_tmpa_int > \l__nicematrix_tmpc_int
{
\int_set_eq:NN \l_tmpb_int \l_tmpa_int
\bool_if:NT \l__nicematrix_respect_blocks_bool
@@ -4667,11 +4665,11 @@
{ \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
\int_compare:nNnT \l_tmpb_tl > \c@jCol
{ \tl_set:Nx \l_tmpb_tl { \int_use:N \c@jCol } }
- \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
\__nicematrix_qpoint:n { col - \l_tmpa_tl }
\int_compare:nNnTF \l__nicematrix_first_col_int = \l_tmpa_tl
- { \dim_set:Nn \l_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
- { \dim_set:Nn \l_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
+ { \dim_set:Nn \l__nicematrix_tmpc_dim { \pgf@x - 0.5 \arrayrulewidth } }
+ { \dim_set:Nn \l__nicematrix_tmpc_dim { \pgf@x + 0.5 \arrayrulewidth } }
\__nicematrix_qpoint:n { col - \__nicematrix_succ:n \l_tmpb_tl }
\dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \arrayrulewidth }
\clist_map_inline:Nn \l__nicematrix_rows_tl
@@ -4686,15 +4684,15 @@
\int_compare:nNnT \l_tmpb_tl > \c@iRow
{ \tl_set:Nx \l_tmpb_tl { \int_use:N \c@iRow } }
\seq_if_in:NxF \l__nicematrix_corners_cells_seq
- { \l_tmpa_tl - \l_tmpc_tl }
+ { \l_tmpa_tl - \l__nicematrix_tmpc_tl }
{
\__nicematrix_qpoint:n { row - \__nicematrix_succ:n \l_tmpb_tl }
\dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \arrayrulewidth }
\__nicematrix_qpoint:n { row - \l_tmpa_tl }
- \dim_set:Nn \l_tmpd_dim { \pgf@y + 0.5 \arrayrulewidth }
+ \dim_set:Nn \l__nicematrix_tmpd_dim { \pgf@y + 0.5 \arrayrulewidth }
\pgfsetcornersarced { \pgfpoint { #1 } { #1 } }
\pgfpathrectanglecorners
- { \pgfpoint \l_tmpc_dim \l_tmpd_dim }
+ { \pgfpoint \l__nicematrix_tmpc_dim \l__nicematrix_tmpd_dim }
{ \pgfpoint \l_tmpa_dim \l_tmpb_dim }
}
}
@@ -4801,7 +4799,9 @@
sep-color .value_required:n = true ,
tikz .tl_set:N = \l__nicematrix_tikz_rule_tl ,
tikz .value_required:n = true ,
- tikz .initial:n =
+ tikz .initial:n = ,
+ width .dim_set:N = \l__nicematrix_rule_width_dim ,
+ width .value_required:n = true
}
\cs_new_protected:Npn \__nicematrix_vline:n #1
{
@@ -4896,7 +4896,7 @@
\__nicematrix_qpoint:n { col - \int_use:N \l__nicematrix_position_int }
\dim_set_eq:NN \l_tmpb_dim \pgf@x
\__nicematrix_qpoint:n { row - \int_eval:n { \l__nicematrix_local_end_int + 1 } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@y
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@y
\bool_lazy_all:nT
{
{ \int_compare_p:nNn \l__nicematrix_multiplicity_int > 1 }
@@ -4907,26 +4907,26 @@
\group_begin:
\CT@drsc@
\dim_add:Nn \l_tmpa_dim { 0.5 \arrayrulewidth }
- \dim_sub:Nn \l_tmpc_dim { 0.5 \arrayrulewidth }
- \dim_set:Nn \l_tmpd_dim
+ \dim_sub:Nn \l__nicematrix_tmpc_dim { 0.5 \arrayrulewidth }
+ \dim_set:Nn \l__nicematrix_tmpd_dim
{
\l_tmpb_dim - ( \doublerulesep + \arrayrulewidth )
* ( \l__nicematrix_multiplicity_int - 1 )
}
\pgfpathrectanglecorners
{ \pgfpoint \l_tmpb_dim \l_tmpa_dim }
- { \pgfpoint \l_tmpd_dim \l_tmpc_dim }
+ { \pgfpoint \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim }
\pgfusepath { fill }
\group_end:
}
\pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
- \pgfpathlineto { \pgfpoint \l_tmpb_dim \l_tmpc_dim }
+ \pgfpathlineto { \pgfpoint \l_tmpb_dim \l__nicematrix_tmpc_dim }
\prg_replicate:nn { \l__nicematrix_multiplicity_int - 1 }
{
\dim_sub:Nn \l_tmpb_dim \arrayrulewidth
\dim_sub:Nn \l_tmpb_dim \doublerulesep
\pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
- \pgfpathlineto { \pgfpoint \l_tmpb_dim \l_tmpc_dim }
+ \pgfpathlineto { \pgfpoint \l_tmpb_dim \l__nicematrix_tmpc_dim }
}
\CT@arc@
\pgfsetlinewidth { 1.1 \arrayrulewidth }
@@ -4958,13 +4958,13 @@
\__nicematrix_qpoint:n { row - \int_use:N \l__nicematrix_local_start_int }
\dim_set_eq:NN \l_tmpa_dim \pgf@y
\__nicematrix_qpoint:n { col - \int_use:N \l__nicematrix_position_int }
- \dim_set_eq:NN \l_tmpb_dim \pgf@x
+ \dim_set:Nn \l_tmpb_dim { \pgf@x - 0.5 \l__nicematrix_rule_width_dim }
\__nicematrix_qpoint:n { row - \int_eval:n { \l__nicematrix_local_end_int + 1 } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@y
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@y
\exp_args:NV \tikzset \l__nicematrix_tikz_rule_tl
\use:x { \exp_not:N \draw [ \l__nicematrix_tikz_rule_tl ] }
( \l_tmpb_dim , \l_tmpa_dim ) --
- ( \l_tmpb_dim , \l_tmpc_dim ) ;
+ ( \l_tmpb_dim , \l__nicematrix_tmpc_dim ) ;
\end { tikzpicture }
}
\cs_new_protected:Npn \__nicematrix_draw_vlines:
@@ -5077,7 +5077,7 @@
\__nicematrix_qpoint:n { row - \int_use:N \l__nicematrix_position_int }
\dim_set_eq:NN \l_tmpb_dim \pgf@y
\__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_local_end_int + 1 } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@x
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@x
\bool_lazy_all:nT
{
{ \int_compare_p:nNn \l__nicematrix_multiplicity_int > 1 }
@@ -5087,25 +5087,25 @@
{
\group_begin:
\CT@drsc@
- \dim_set:Nn \l_tmpd_dim
+ \dim_set:Nn \l__nicematrix_tmpd_dim
{
\l_tmpb_dim - ( \doublerulesep + \arrayrulewidth )
* ( \l__nicematrix_multiplicity_int - 1 )
}
\pgfpathrectanglecorners
{ \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- { \pgfpoint \l_tmpc_dim \l_tmpd_dim }
+ { \pgfpoint \l__nicematrix_tmpc_dim \l__nicematrix_tmpd_dim }
\pgfusepathqfill
\group_end:
}
\pgfpathmoveto { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- \pgfpathlineto { \pgfpoint \l_tmpc_dim \l_tmpb_dim }
+ \pgfpathlineto { \pgfpoint \l__nicematrix_tmpc_dim \l_tmpb_dim }
\prg_replicate:nn { \l__nicematrix_multiplicity_int - 1 }
{
\dim_sub:Nn \l_tmpb_dim \arrayrulewidth
\dim_sub:Nn \l_tmpb_dim \doublerulesep
\pgfpathmoveto { \pgfpoint \l_tmpa_dim \l_tmpb_dim }
- \pgfpathlineto { \pgfpoint \l_tmpc_dim \l_tmpb_dim }
+ \pgfpathlineto { \pgfpoint \l__nicematrix_tmpc_dim \l_tmpb_dim }
}
\CT@arc@
\pgfsetlinewidth { 1.1 \arrayrulewidth }
@@ -5153,13 +5153,13 @@
\__nicematrix_qpoint:n { col - \int_use:N \l__nicematrix_local_start_int }
\dim_set_eq:NN \l_tmpa_dim \pgf@x
\__nicematrix_qpoint:n { row - \int_use:N \l__nicematrix_position_int }
- \dim_set_eq:NN \l_tmpb_dim \pgf@y
+ \dim_set:Nn \l_tmpb_dim { \pgf@y - 0.5 \l__nicematrix_rule_width_dim }
\__nicematrix_qpoint:n { col - \int_eval:n { \l__nicematrix_local_end_int + 1 } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@x
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@x
\exp_args:NV \tikzset \l__nicematrix_tikz_rule_tl
\use:x { \exp_not:N \draw [ \l__nicematrix_tikz_rule_tl ] }
( \l_tmpa_dim , \l_tmpb_dim ) --
- ( \l_tmpc_dim , \l_tmpb_dim ) ;
+ ( \l__nicematrix_tmpc_dim , \l_tmpb_dim ) ;
\end { tikzpicture }
}
\cs_new_protected:Npn \__nicematrix_draw_hlines:
@@ -5208,7 +5208,25 @@
\keys_define:nn { NiceMatrix / ColumnTypes } { }
\cs_new_protected:Npn \__nicematrix_custom_line:n #1
{
+ \str_clear_new:N \l__nicematrix_command_str
+ \str_clear_new:N \l__nicematrix_letter_str
+ \dim_zero_new:N \l__nicematrix_rule_width_dim
+ \tl_clear:N \l_tmpa_tl
+ \bool_set_false:N \l_tmpa_bool
+ \bool_set_false:N \l_tmpb_bool
\keys_set_known:nn { NiceMatrix / Custom-Line } { #1 }
+ \bool_if:NT \l_tmpa_bool
+ {
+ \cs_if_exist:NF \tikzpicture
+ { \__nicematrix_error:n { tikz~in~custom-line~without~tikz } }
+ \tl_if_empty:NF \l_tmpa_tl
+ { \__nicematrix_error:n { color~in~custom-line~with~tikz } }
+ }
+ \bool_if:NT \l_tmpb_bool
+ {
+ \bool_if:NF \l_tmpa_bool
+ { \__nicematrix_error:n { key~width~without~key~tikz } }
+ }
\bool_lazy_and:nnTF
{ \str_if_empty_p:N \l__nicematrix_letter_str }
{ \str_if_empty_p:N \l__nicematrix_command_str }
@@ -5232,7 +5250,19 @@
{ \__nicematrix_error:n { Several~letters } }
}
\str_if_empty:NF \l__nicematrix_command_str
- { \exp_args:NnV \__nicematrix_define_h_custom_line:nn { #1 } \l_tmpc_int }
+ {
+ \bool_if:NF \l_tmpa_bool
+ {
+ \dim_set:Nn \l__nicematrix_rule_width_dim
+ {
+ \arrayrulewidth * \l__nicematrix_tmpc_int
+ + \doublerulesep * ( \l__nicematrix_tmpc_int - 1 )
+ }
+ }
+ \exp_args:NnV \__nicematrix_define_h_custom_line:nn
+ { #1 }
+ \l__nicematrix_rule_width_dim
+ }
}
}
\str_const:Nn \c__nicematrix_forbidden_letters_str { lcrpmbVX:|()[]!@<> }
@@ -5240,13 +5270,17 @@
{
letter .str_set:N = \l__nicematrix_letter_str ,
letter .value_required:n = true ,
- letter .initial:n = ,
command .str_set:N = \l__nicematrix_command_str ,
command .value_required:n = true ,
- command .initial:n = ,
- multiplicity .int_set:N = \l_tmpc_int ,
+ multiplicity .int_set:N = \l__nicematrix_tmpc_int ,
multiplicity .initial:n = 1 ,
multiplicity .value_required:n = true ,
+ color .tl_set:N = \l_tmpa_tl ,
+ color. value_required:n = true ,
+ tikz .code:n = \bool_set_true:N \l_tmpa_bool ,
+ width .code:n = \dim_set:Nn \l__nicematrix_rule_width_dim { #1 }
+ \bool_set_true:N \l_tmpb_bool ,
+ width .value_required:n = true ,
}
\cs_new_protected:Npn \__nicematrix_define_h_custom_line:nn #1 #2
{
@@ -5254,11 +5288,7 @@
{
\noalign
{
- \skip_vertical:n
- {
- \dim_eval:n
- { \arrayrulewidth * #2 + \doublerulesep * ( #2 - 1) }
- }
+ \skip_vertical:n { #2 }
\tl_gput_right:Nx \g__nicematrix_internal_code_after_tl
{ \__nicematrix_hline:n { #1 , position = \int_eval:n { \c@iRow + 1 } } }
}
@@ -5266,21 +5296,20 @@
}
\cs_new_protected:Npn \__nicematrix_custom_line_i:n #1
{
- \tl_gput_right:Nx \g__nicematrix_preamble_tl
+ \bool_if:NF \l_tmpa_bool
{
- \exp_not:N !
+ \dim_set:Nn \l__nicematrix_rule_width_dim
{
- \skip_horizontal:n
- {
- \dim_eval:n
- {
- \arrayrulewidth * \l_tmpc_int
- + \doublerulesep * ( \l_tmpc_int - 1)
- }
- }
+ \arrayrulewidth * \l__nicematrix_tmpc_int
+ + \doublerulesep * ( \l__nicematrix_tmpc_int - 1)
}
}
- \tl_gput_right:Nx \g__nicematrix_internal_code_after_tl
+ \tl_gput_right:Nx \g__nicematrix_preamble_tl
+ {
+ \exp_not:N !
+ { \skip_horizontal:n { \dim_use:N \l__nicematrix_rule_width_dim } }
+ }
+ \tl_gput_right:Nx \g__nicematrix_internal_code_after_tl
{ \__nicematrix_vline:n { #1 , position = \__nicematrix_succ:n \c@jCol } }
}
\cs_new_protected:Npn \__nicematrix_test_hline_in_block:nnnnn #1 #2 #3 #4
@@ -6116,12 +6145,12 @@
\__nicematrix_qpoint:n { col - #2 }
\dim_set_eq:NN \l_tmpb_dim \pgf@x
\__nicematrix_qpoint:n { row - \__nicematrix_succ:n { \l__nicematrix_last_row_int } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@y
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@y
\__nicematrix_qpoint:n { col - \__nicematrix_succ:n { \l__nicematrix_last_col_int } }
- \dim_set_eq:NN \l_tmpd_dim \pgf@x
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@x
\__nicematrix_pgf_rect_node:nnnnn
{ \__nicematrix_env: - #1 - #2 - block }
- \l_tmpb_dim \l_tmpa_dim \l_tmpd_dim \l_tmpc_dim
+ \l_tmpb_dim \l_tmpa_dim \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim
\str_if_empty:NF \l__nicematrix_block_name_str
{
\pgfnodealias
@@ -6154,7 +6183,7 @@
\__nicematrix_qpoint:n { col - #2 }
\dim_set_eq:NN \l_tmpb_dim \pgf@x
}
- \dim_set:Nn \l_tmpd_dim { - \c_max_dim }
+ \dim_set:Nn \l__nicematrix_tmpd_dim { - \c_max_dim }
\int_step_inline:nnn \l__nicematrix_first_row_int \g__nicematrix_row_total_int
{
\cs_if_exist:cT
@@ -6165,18 +6194,18 @@
\pgfpointanchor
{ \__nicematrix_env: - ##1 - \int_use:N \l__nicematrix_last_col_int }
{ east }
- \dim_set:Nn \l_tmpd_dim { \dim_max:nn \l_tmpd_dim \pgf@x }
+ \dim_set:Nn \l__nicematrix_tmpd_dim { \dim_max:nn \l__nicematrix_tmpd_dim \pgf@x }
}
}
}
- \dim_compare:nNnT \l_tmpd_dim = { - \c_max_dim }
+ \dim_compare:nNnT \l__nicematrix_tmpd_dim = { - \c_max_dim }
{
\__nicematrix_qpoint:n { col - \__nicematrix_succ:n { \l__nicematrix_last_col_int } }
- \dim_set_eq:NN \l_tmpd_dim \pgf@x
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@x
}
\__nicematrix_pgf_rect_node:nnnnn
{ \__nicematrix_env: - #1 - #2 - block - short }
- \l_tmpb_dim \l_tmpa_dim \l_tmpd_dim \l_tmpc_dim
+ \l_tmpb_dim \l_tmpa_dim \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim
}
\bool_if:NT \l__nicematrix_medium_nodes_bool
{
@@ -6304,7 +6333,7 @@
\__nicematrix_qpoint:n { row - \l_tmpa_tl }
\dim_set:Nn \l_tmpb_dim { \pgf@y }
\__nicematrix_qpoint:n { col - \l_tmpb_tl }
- \dim_set:Nn \l_tmpc_dim { \pgf@x }
+ \dim_set:Nn \l__nicematrix_tmpc_dim { \pgf@x }
\__nicematrix_cut_on_hyphen:w #3 \q_stop
\int_compare:nNnT \l_tmpa_tl > \c@iRow
{ \tl_set:Nx \l_tmpa_tl { \int_use:N \c@iRow } }
@@ -6313,10 +6342,10 @@
\__nicematrix_qpoint:n { row - \__nicematrix_succ:n \l_tmpa_tl }
\dim_set:Nn \l_tmpa_dim { \pgf@y }
\__nicematrix_qpoint:n { col - \__nicematrix_succ:n \l_tmpb_tl }
- \dim_set:Nn \l_tmpd_dim { \pgf@x }
+ \dim_set:Nn \l__nicematrix_tmpd_dim { \pgf@x }
\pgfpathrectanglecorners
- { \pgfpoint \l_tmpc_dim \l_tmpb_dim }
- { \pgfpoint \l_tmpd_dim \l_tmpa_dim }
+ { \pgfpoint \l__nicematrix_tmpc_dim \l_tmpb_dim }
+ { \pgfpoint \l__nicematrix_tmpd_dim \l_tmpa_dim }
\pgfsetlinewidth { 1.1 \l__nicematrix_line_width_dim }
\pgfusepath { stroke }
}
@@ -6337,19 +6366,19 @@
\dim_set_eq:NN \l__nicematrix_line_width_dim \arrayrulewidth
\keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
\__nicematrix_cut_on_hyphen:w #2 \q_stop
- \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
+ \tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l__nicematrix_tmpd_tl \l_tmpb_tl
\__nicematrix_cut_on_hyphen:w #3 \q_stop
\tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
\tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
- \int_step_inline:nnn \l_tmpd_tl \l_tmpb_tl
+ \int_step_inline:nnn \l__nicematrix_tmpd_tl \l_tmpb_tl
{
\use:x
{
\__nicematrix_vline:n
{
position = ##1 ,
- start = \l_tmpc_tl ,
+ start = \l__nicematrix_tmpc_tl ,
end = \__nicematrix_pred:n \l_tmpa_tl
}
}
@@ -6360,19 +6389,19 @@
\dim_set_eq:NN \l__nicematrix_line_width_dim \arrayrulewidth
\keys_set_known:nn { NiceMatrix / BlockBorders } { #1 }
\__nicematrix_cut_on_hyphen:w #2 \q_stop
- \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
+ \tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l__nicematrix_tmpd_tl \l_tmpb_tl
\__nicematrix_cut_on_hyphen:w #3 \q_stop
\tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
\tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
- \int_step_inline:nnn \l_tmpc_tl \l_tmpa_tl
+ \int_step_inline:nnn \l__nicematrix_tmpc_tl \l_tmpa_tl
{
\use:x
{
\__nicematrix_hline:n
{
position = ##1 ,
- start = \l_tmpd_tl ,
+ start = \l__nicematrix_tmpd_tl ,
end = \int_eval:n { \l_tmpb_tl - 1 }
}
}
@@ -6391,8 +6420,8 @@
{ \__nicematrix_error:nn { bad~border } { ##1 } }
}
\__nicematrix_cut_on_hyphen:w #2 \q_stop
- \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
+ \tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l__nicematrix_tmpd_tl \l_tmpb_tl
\__nicematrix_cut_on_hyphen:w #3 \q_stop
\tl_set:Nx \l_tmpa_tl { \int_eval:n { \l_tmpa_tl + 1 } }
\tl_set:Nx \l_tmpb_tl { \int_eval:n { \l_tmpb_tl + 1 } }
@@ -6404,28 +6433,28 @@
\clist_if_in:NnT \l__nicematrix_borders_clist { right }
{ \__nicematrix_stroke_vertical:n \l_tmpb_tl }
\clist_if_in:NnT \l__nicematrix_borders_clist { left }
- { \__nicematrix_stroke_vertical:n \l_tmpd_tl }
+ { \__nicematrix_stroke_vertical:n \l__nicematrix_tmpd_tl }
\clist_if_in:NnT \l__nicematrix_borders_clist { bottom }
{ \__nicematrix_stroke_horizontal:n \l_tmpa_tl }
\clist_if_in:NnT \l__nicematrix_borders_clist { top }
- { \__nicematrix_stroke_horizontal:n \l_tmpc_tl }
+ { \__nicematrix_stroke_horizontal:n \l__nicematrix_tmpc_tl }
\endpgfpicture
}
}
\cs_new_protected:Npn \__nicematrix_stroke_vertical:n #1
{
- \__nicematrix_qpoint:n \l_tmpc_tl
+ \__nicematrix_qpoint:n \l__nicematrix_tmpc_tl
\dim_set:Nn \l_tmpb_dim { \pgf@y + 0.5 \l__nicematrix_line_width_dim }
\__nicematrix_qpoint:n \l_tmpa_tl
- \dim_set:Nn \l_tmpc_dim { \pgf@y + 0.5 \l__nicematrix_line_width_dim }
+ \dim_set:Nn \l__nicematrix_tmpc_dim { \pgf@y + 0.5 \l__nicematrix_line_width_dim }
\__nicematrix_qpoint:n { #1 }
\pgfpathmoveto { \pgfpoint \pgf@x \l_tmpb_dim }
- \pgfpathlineto { \pgfpoint \pgf@x \l_tmpc_dim }
+ \pgfpathlineto { \pgfpoint \pgf@x \l__nicematrix_tmpc_dim }
\pgfusepathqstroke
}
\cs_new_protected:Npn \__nicematrix_stroke_horizontal:n #1
{
- \__nicematrix_qpoint:n \l_tmpd_tl
+ \__nicematrix_qpoint:n \l__nicematrix_tmpd_tl
\clist_if_in:NnTF \l__nicematrix_borders_clist { left }
{ \dim_set:Nn \l_tmpa_dim { \pgf@x - 0.5 \l__nicematrix_line_width_dim } }
{ \dim_set:Nn \l_tmpa_dim { \pgf@x + 0.5 \l__nicematrix_line_width_dim } }
@@ -6581,10 +6610,10 @@
\dim_set_eq:NN \l_tmpb_dim \pgf@x
\pgfpathmoveto { \pgfpoint \l_tmpb_dim \l_tmpa_dim }
\__nicematrix_qpoint:n { row - \__nicematrix_succ:n { #3 } }
- \dim_set_eq:NN \l_tmpc_dim \pgf@y
+ \dim_set_eq:NN \l__nicematrix_tmpc_dim \pgf@y
\__nicematrix_qpoint:n { col - \__nicematrix_succ:n { #4 } }
- \dim_set_eq:NN \l_tmpd_dim \pgf@x
- \pgfpathlineto { \pgfpoint \l_tmpd_dim \l_tmpc_dim }
+ \dim_set_eq:NN \l__nicematrix_tmpd_dim \pgf@x
+ \pgfpathlineto { \pgfpoint \l__nicematrix_tmpd_dim \l__nicematrix_tmpc_dim }
{
\CT@arc@
\pgfsetroundcap
@@ -6592,7 +6621,7 @@
}
\pgfset { inner~sep = 1 pt }
\pgfscope
- \pgftransformshift { \pgfpoint \l_tmpb_dim \l_tmpc_dim }
+ \pgftransformshift { \pgfpoint \l_tmpb_dim \l__nicematrix_tmpc_dim }
\pgfnode { rectangle } { south~west }
{
\begin { minipage } { 20 cm }
@@ -6602,7 +6631,7 @@
{ }
{ }
\endpgfscope
- \pgftransformshift { \pgfpoint \l_tmpd_dim \l_tmpa_dim }
+ \pgftransformshift { \pgfpoint \l__nicematrix_tmpd_dim \l_tmpa_dim }
\pgfnode { rectangle } { north~east }
{
\begin { minipage } { 20 cm }
@@ -6767,18 +6796,18 @@
\peek_remove_spaces:n
{
\__nicematrix_cut_on_hyphen:w #3 \q_stop
- \tl_clear_new:N \l_tmpc_tl
- \tl_clear_new:N \l_tmpd_tl
- \tl_set_eq:NN \l_tmpc_tl \l_tmpa_tl
- \tl_set_eq:NN \l_tmpd_tl \l_tmpb_tl
+ \tl_clear_new:N \l__nicematrix_tmpc_tl
+ \tl_clear_new:N \l__nicematrix_tmpd_tl
+ \tl_set_eq:NN \l__nicematrix_tmpc_tl \l_tmpa_tl
+ \tl_set_eq:NN \l__nicematrix_tmpd_tl \l_tmpb_tl
\__nicematrix_cut_on_hyphen:w #2 \q_stop
\seq_gput_right:Nx \g__nicematrix_submatrix_seq
- { { \l_tmpa_tl } { \l_tmpb_tl } { \l_tmpc_tl } { \l_tmpd_tl } }
+ { { \l_tmpa_tl } { \l_tmpb_tl } { \l__nicematrix_tmpc_tl } { \l__nicematrix_tmpd_tl } }
\tl_gput_right:Nn \g__nicematrix_internal_code_after_tl
{ \SubMatrix { #1 } { #2 } { #3 } { #4 } [ #5 ] }
}
}
-\AtBeginDocument
+\hook_gput_code:nnn { begindocument } { . }
{
\tl_set:Nn \l__nicematrix_argspec_tl { m m m m O { } E { _ ^ } { { } { } } }
\tl_set_rescan:Nno \l__nicematrix_argspec_tl { } \l__nicematrix_argspec_tl
@@ -7255,12 +7284,6 @@
renew-dots,~and
renew-matrix.
}
-\__nicematrix_msg_new:nn { Key~transparent }
- {
- The~key~'transparent'~is~now~obsolete~(because~it's~name~
- is~not~clear).~You~must~use~the~conjonction~of~'renew-dots'~
- and~'renew-matrix'.~This~error~is~fatal.
- }
\keys_define:nn { NiceMatrix / Package }
{
renew-dots .bool_set:N = \l__nicematrix_renew_dots_bool ,
@@ -7495,6 +7518,11 @@
You~can't~use~the~letter~'\l__nicematrix_letter_str'~for~a~customized~line.\\
If~you~go~on,~it~will~be~ignored.
}
+\__nicematrix_msg_new:nn { key~width~without~key~tikz }
+ {
+ In~'custom-line',~you~have~used~'width'~without~'tikz'.~That's~not~correct.~
+ If~you~go~on,~that~key~'width'~will~be~discarded.
+ }
\__nicematrix_msg_new:nn { Several~letters }
{
You~must~use~only~one~letter~as~value~for~the~key~'letter'~(and~
@@ -7625,6 +7653,19 @@
~because~you~haven't~loaded~'enumitem'.\\
If~you~go~on,~this~command~will~be~ignored.
}
+\__nicematrix_msg_new:nn { tikz~in~custom-line~without~tikz }
+ {
+ You~have~used~the~key~'tikz'~in~the~definition~of~a~
+ customized~line~(with~'custom-line')~but~Tikz~is~not~loaded.~
+ You~can~go~on~but~you~will~have~another~error~if~you~actually~
+ use~that~custom~line.
+ }
+\__nicematrix_msg_new:nn { color~in~custom-line~with~tikz }
+ {
+ In~a~'custom-line',~you~have~used~both~'tikz'~and~'color',~
+ which~is~forbidden~(you~should~use~'color'~inside~the~key~'tikz').~
+ If~you~go~on,~the~key~'color'~will~be~discarded.
+ }
\__nicematrix_msg_new:nn { Wrong~last~row }
{
You~have~used~'last-row=\int_use:N \l__nicematrix_last_row_int'~but~your~