summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty')
-rw-r--r--Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty316
1 files changed, 132 insertions, 184 deletions
diff --git a/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty b/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
index 51469a73836..92d14db3298 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{5.15b}
-\def\myfiledate{2021/06/05}
+\def\myfileversion{5.16}
+\def\myfiledate{2021/06/20}
\RequirePackage{pgfcore}
\usepgfmodule{shapes}
\RequirePackage{l3keys2e}
@@ -78,6 +78,18 @@
{ }
\cs_if_exist:NT \rvtx@ifformat@geq { \bool_set_true:N \c__nicematrix_revtex_bool }
\cs_generate_variant:Nn \tl_if_single_token_p:n { V }
+\regex_const:Nn \c__nicematrix_columncolor_regex { \c { columncolor } }
+\cs_new_protected:Npn \__nicematrix_provide_pgfsyspdfmark:
+ {
+ \iow_now:Nn \@mainaux
+ {
+ \ExplSyntaxOn
+ \cs_if_free:NT \pgfsyspdfmark
+ { \cs_set_eq:NN \pgfsyspdfmark \@gobblethree }
+ \ExplSyntaxOff
+ }
+ \cs_gset_eq:NN \__nicematrix_provide_pgfsyspdfmark: \prg_do_nothing:
+ }
\ProvideDocumentCommand \iddots { }
{
\mathinner
@@ -234,36 +246,30 @@
}
}
}
-\cs_set_protected:Npn \__nicematrix_adapt_S_column:
+\AtBeginDocument
{
- \bool_if:NT \c__nicematrix_siunitx_loaded_bool
+ \cs_set_eq:NN \__nicematrix_adapt_S_column: \prg_do_nothing:
+ \bool_lazy_and:nnT
+ { \c__nicematrix_siunitx_loaded_bool }
+ { ! \cs_if_exist_p:N \siunitx_cell_begin:w }
{
- \group_begin:
- \@temptokena = { }
- \cs_set_eq:NN \NC@find \prg_do_nothing:
- \NC@rewrite@S { }
- \tl_gset:NV \g_tmpa_tl \@temptokena
- \group_end:
- \tl_new:N \c__nicematrix_table_collect_begin_tl
- \tl_set:Nx \l_tmpa_tl { \tl_item:Nn \g_tmpa_tl 2 }
- \tl_gset:Nx \c__nicematrix_table_collect_begin_tl { \tl_item:Nn \l_tmpa_tl 1 }
- \tl_new:N \c__nicematrix_table_print_tl
- \tl_gset:Nx \c__nicematrix_table_print_tl { \tl_item:Nn \g_tmpa_tl { -1 } }
- \cs_gset_eq:NN \__nicematrix_adapt_S_column: \prg_do_nothing:
+ \cs_set_protected:Npn \__nicematrix_adapt_S_column:
+ {
+ \group_begin:
+ \@temptokena = { }
+ \cs_set_eq:NN \NC@find \prg_do_nothing:
+ \NC@rewrite@S { }
+ \tl_gset:NV \g_tmpa_tl \@temptokena
+ \group_end:
+ \tl_new:N \c__nicematrix_table_collect_begin_tl
+ \tl_set:Nx \l_tmpa_tl { \tl_item:Nn \g_tmpa_tl 2 }
+ \tl_gset:Nx \c__nicematrix_table_collect_begin_tl { \tl_item:Nn \l_tmpa_tl 1 }
+ \tl_new:N \c__nicematrix_table_print_tl
+ \tl_gset:Nx \c__nicematrix_table_print_tl { \tl_item:Nn \g_tmpa_tl { -1 } }
+ \cs_gset_eq:NN \__nicematrix_adapt_S_column: \prg_do_nothing:
+ }
}
}
-\regex_const:Nn \c__nicematrix_columncolor_regex { \c { columncolor } }
-\cs_new_protected:Npn \__nicematrix_provide_pgfsyspdfmark:
- {
- \iow_now:Nn \@mainaux
- {
- \ExplSyntaxOn
- \cs_if_free:NT \pgfsyspdfmark
- { \cs_set_eq:NN \pgfsyspdfmark \@gobblethree }
- \ExplSyntaxOff
- }
- \cs_gset_eq:NN \__nicematrix_provide_pgfsyspdfmark: \prg_do_nothing:
- }
\bool_new:N \c__nicematrix_define_L_C_R_bool
\cs_new_protected:Npn \__nicematrix_define_L_C_R:
{
@@ -293,6 +299,7 @@
\dim_new:N \l__nicematrix_tabular_width_dim
\bool_new:N \l__nicematrix_Matrix_bool
\bool_new:N \g__nicematrix_rotate_bool
+\tl_new:N \g__nicematrix_aux_tl
\cs_new_protected:Npn \__nicematrix_test_if_math_mode:
{
\if_mode_math: \else:
@@ -337,6 +344,8 @@
\seq_new:N \g__nicematrix_pos_of_stroken_blocks_seq
\seq_new:N \l__nicematrix_corners_cells_seq
\seq_new:N \g__nicematrix_submatrix_names_seq
+\seq_new:N \g__nicematrix_multicolumn_cells_seq
+\seq_new:N \g__nicematrix_multicolumn_sizes_seq
\int_new:N \l__nicematrix_row_min_int
\int_new:N \l__nicematrix_row_max_int
\int_new:N \l__nicematrix_col_min_int
@@ -1173,18 +1182,20 @@
\bool_if:NT \c__nicematrix_booktabs_loaded_bool
{ \tl_put_left:Nn \@BTnormal \__nicematrix_create_row_node: }
\box_clear_new:N \l__nicematrix_cell_box
- \cs_if_exist:NT \theiRow
- { \int_set_eq:NN \l__nicematrix_old_iRow_int \c@iRow }
- \int_gzero_new:N \c@iRow
- \cs_if_exist:NT \thejCol
- { \int_set_eq:NN \l__nicematrix_old_jCol_int \c@jCol }
- \int_gzero_new:N \c@jCol
\normalbaselines
\bool_if:NT \l__nicematrix_small_bool
{
\cs_set_nopar:Npn \arraystretch { 0.47 }
\dim_set:Nn \arraycolsep { 1.45 pt }
}
+ \bool_if:NT \g__nicematrix_recreate_cell_nodes_bool
+ {
+ \tl_put_right:Nn \__nicematrix_begin_of_row:
+ {
+ \pgfsys@markposition
+ { \__nicematrix_env: - row - \int_use:N \c@iRow - base }
+ }
+ }
\cs_set_nopar:Npn \ialign
{
\bool_if:NTF \c__nicematrix_colortbl_loaded_bool
@@ -1239,8 +1250,8 @@
\cs_set_eq:NN \NotEmpty \__nicematrix_NotEmpty:
\bool_if:NT \l__nicematrix_colortbl_like_bool \__nicematrix_colortbl_like:
\bool_if:NT \l__nicematrix_renew_dots_bool \__nicematrix_renew_dots:
- \seq_gclear_new:N \g__nicematrix_multicolumn_cells_seq
- \seq_gclear_new:N \g__nicematrix_multicolumn_sizes_seq
+ \seq_gclear:N \g__nicematrix_multicolumn_cells_seq
+ \seq_gclear:N \g__nicematrix_multicolumn_sizes_seq
\int_gset:Nn \c@iRow { \l__nicematrix_first_row_int - 1 }
\int_gzero_new:N \g__nicematrix_row_total_int
\int_gzero_new:N \g__nicematrix_col_total_int
@@ -1257,8 +1268,21 @@
}
\cs_new_protected:Npn \__nicematrix_pre_array:
{
- \seq_gclear:N \g__nicematrix_submatrix_seq
- \bool_if:NT \l__nicematrix_code_before_bool \__nicematrix_exec_code_before:
+ \cs_if_exist:NT \theiRow { \int_set_eq:NN \l__nicematrix_old_iRow_int \c@iRow }
+ \int_gzero_new:N \c@iRow
+ \cs_if_exist:NT \thejCol { \int_set_eq:NN \l__nicematrix_old_jCol_int \c@jCol }
+ \int_gzero_new:N \c@jCol
+ \int_compare:nNnT \l__nicematrix_last_row_int = { -1 }
+ {
+ \bool_set_true:N \l__nicematrix_last_row_without_value_bool
+ \bool_if:NT \g__nicematrix_aux_found_bool
+ { \int_set:Nn \l__nicematrix_last_row_int { \seq_item:Nn \c__nicematrix_size_seq 3 } }
+ }
+ \int_compare:nNnT \l__nicematrix_last_col_int = { -1 }
+ {
+ \bool_if:NT \g__nicematrix_aux_found_bool
+ { \int_set:Nn \l__nicematrix_last_col_int { \seq_item:Nn \c__nicematrix_size_seq 6 } }
+ }
\int_compare:nNnT \l__nicematrix_last_row_int > { -2 }
{
\tl_put_right:Nn \__nicematrix_update_for_first_and_last_row:
@@ -1269,43 +1293,11 @@
{ \dim_max:nn \g__nicematrix_dp_last_row_dim { \box_dp:N \l__nicematrix_cell_box } }
}
}
- \int_compare:nNnT \l__nicematrix_last_row_int = { -1 }
- {
- \bool_set_true:N \l__nicematrix_last_row_without_value_bool
- \str_if_empty:NTF \l__nicematrix_name_str
- {
- \cs_if_exist:cT { __nicematrix_last_row_ \int_use:N \g__nicematrix_env_int }
- {
- \int_set:Nn \l__nicematrix_last_row_int
- { \use:c { __nicematrix_last_row_ \int_use:N \g__nicematrix_env_int } }
- }
- }
- {
- \cs_if_exist:cT { __nicematrix_last_row_ \l__nicematrix_name_str }
- {
- \int_set:Nn \l__nicematrix_last_row_int
- { \use:c { __nicematrix_last_row_ \l__nicematrix_name_str } }
- }
- }
- }
- \int_compare:nNnT \l__nicematrix_last_col_int = { -1 }
- {
- \str_if_empty:NTF \l__nicematrix_name_str
- {
- \cs_if_exist:cT { __nicematrix_last_col_ \int_use:N \g__nicematrix_env_int }
- {
- \int_set:Nn \l__nicematrix_last_col_int
- { \use:c { __nicematrix_last_col_ \int_use:N \g__nicematrix_env_int } }
- }
- }
- {
- \cs_if_exist:cT { __nicematrix_last_col_ \l__nicematrix_name_str }
- {
- \int_set:Nn \l__nicematrix_last_col_int
- { \use:c { __nicematrix_last_col_ \l__nicematrix_name_str } }
- }
- }
- }
+ \seq_gclear:N \g__nicematrix_submatrix_seq
+ \bool_if:NT \l__nicematrix_code_before_bool \__nicematrix_exec_code_before:
+ \seq_gclear:N \g__nicematrix_pos_of_blocks_seq
+ \seq_gclear_new:N \g__nicematrix_multicolumn_cells_seq
+ \seq_gclear_new:N \g__nicematrix_multicolumn_sizes_seq
\__nicematrix_pre_array_ii:
\box_clear_new:N \l__nicematrix_the_array_box
\bool_if:NT \c__nicematrix_define_L_C_R_bool \__nicematrix_define_L_C_R:
@@ -1339,31 +1331,21 @@
}
\cs_new_protected:Npn \__nicematrix_pre_code_before:
{
- \int_zero_new:N \c@iRow
- \int_set:Nn \c@iRow
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 2 }
- \int_zero_new:N \c@jCol
- \int_set:Nn \c@jCol
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 4 }
- \int_compare:nNnF \l__nicematrix_last_row_int = { -2 }
- { \int_decr:N \c@iRow }
- \int_compare:nNnF \l__nicematrix_last_col_int = { -2 }
- { \int_decr:N \c@jCol }
+ \int_set:Nn \c@iRow { \seq_item:Nn \c__nicematrix_size_seq 2 }
+ \int_set:Nn \c@jCol { \seq_item:Nn \c__nicematrix_size_seq 5 }
+ \int_set_eq:NN \g__nicematrix_row_total_int { \seq_item:Nn \c__nicematrix_size_seq 3 }
+ \int_set_eq:NN \g__nicematrix_col_total_int { \seq_item:Nn \c__nicematrix_size_seq 6 }
\pgfsys@markposition { \__nicematrix_env: - position }
\pgfsys@getposition { \__nicematrix_env: - position } \__nicematrix_picture_position:
\pgfpicture
\pgf@relevantforpicturesizefalse
- \int_step_inline:nnn
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 1 }
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 2 + 1 }
+ \int_step_inline:nnn \l__nicematrix_first_row_int { \g__nicematrix_row_total_int + 1 }
{
\pgfsys@getposition { \__nicematrix_env: - row - ##1 } \__nicematrix_node_position:
\pgfcoordinate { \__nicematrix_env: - row - ##1 }
{ \pgfpointdiff \__nicematrix_picture_position: \__nicematrix_node_position: }
}
- \int_step_inline:nnn
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 3 }
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 4 + 1 }
+ \int_step_inline:nnn \l__nicematrix_first_col_int { \g__nicematrix_col_total_int + 1 }
{
\pgfsys@getposition { \__nicematrix_env: - col - ##1 } \__nicematrix_node_position:
\pgfcoordinate { \__nicematrix_env: - col - ##1 }
@@ -1389,12 +1371,6 @@
\cs_set_eq:NN \columncolor \__nicematrix_columncolor
\cs_set_eq:NN \chessboardcolors \__nicematrix_chessboardcolors
\cs_set_eq:NN \SubMatrix \__nicematrix_SubMatrix_in_code_before
- \seq_if_exist:cT
- { c__nicematrix_corners_cells_ \int_use:N \g__nicematrix_env_int _ seq }
- {
- \seq_set_eq:Nc \l__nicematrix_corners_cells_seq
- { c__nicematrix_corners_cells_ \int_use:N \g__nicematrix_env_int _ seq }
- }
}
\cs_new_protected:Npn \__nicematrix_exec_code_before:
{
@@ -1426,7 +1402,7 @@
}
\cs_new_protected:Npn \__nicematrix_CodeBefore:w #1 \q_stop
{
- \seq_if_exist:cT { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq }
+ \bool_if:NT \g__nicematrix_aux_found_bool
{
\__nicematrix_pre_code_before:
#1
@@ -1434,13 +1410,12 @@
}
\cs_new_protected:Npn \__nicematrix_recreate_cell_nodes:
{
- \int_step_inline:nnn
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 1 }
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 2 }
+ \int_step_inline:nnn \l__nicematrix_first_row_int \g__nicematrix_row_total_int
{
- \int_step_inline:nnn
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 3 }
- { \seq_item:cn { __nicematrix_size_ \int_use:N \g__nicematrix_env_int _ seq } 4 }
+ \pgfsys@getposition { \__nicematrix_env: - ##1 - base } \__nicematrix_node_position:
+ \pgfcoordinate { \__nicematrix_env: - row - ##1 - base }
+ { \pgfpointdiff \__nicematrix_picture_position: \__nicematrix_node_position: }
+ \int_step_inline:nnn \l__nicematrix_first_col_int \g__nicematrix_col_total_int
{
\cs_if_exist:cT
{ pgf @ sys @ pdf @ mark @ pos @ \__nicematrix_env: - ##1 - ####1 - NW }
@@ -1458,6 +1433,7 @@
}
}
}
+ \__nicematrix_create_extra_nodes:
}
\NewDocumentEnvironment { NiceArrayWithDelims }
{ m m O { } m ! O { } t \CodeBefore }
@@ -1494,11 +1470,18 @@
\seq_gclear:N \g__nicematrix_pos_of_blocks_seq
\seq_gclear:N \g__nicematrix_pos_of_stroken_blocks_seq
\seq_gclear:N \g__nicematrix_pos_of_xdots_seq
- \tl_if_exist:cT { g__nicematrix_code_before_ \int_use:N \g__nicematrix_env_int _ tl }
+ \tl_gclear_new:N \g__nicematrix_code_before_tl
+ \bool_gset_false:N \g__nicematrix_aux_found_bool
+ \tl_if_exist:cT { c__nicematrix _ \int_use:N \g__nicematrix_env_int _ tl }
+ {
+ \bool_gset_true:N \g__nicematrix_aux_found_bool
+ \use:c { c__nicematrix _ \int_use:N \g__nicematrix_env_int _ tl }
+ }
+ \tl_gclear:N \g__nicematrix_aux_tl
+ \tl_if_empty:NF \g__nicematrix_code_before_tl
{
\bool_set_true:N \l__nicematrix_code_before_bool
- \exp_args:NNv \tl_put_right:Nn \l__nicematrix_code_before_tl
- { g__nicematrix_code_before_ \int_use:N \g__nicematrix_env_int _ tl }
+ \tl_put_right:NV \l__nicematrix_code_before_tl \g__nicematrix_code_before_tl
}
\bool_if:NTF \l__nicematrix_NiceArray_bool
{ \keys_set:nn { NiceMatrix / NiceArray } }
@@ -1612,6 +1595,13 @@
\group_end:
\__nicematrix_after_array:
\egroup
+ \iow_now:Nn \@mainaux { \ExplSyntaxOn }
+ \iow_now:Nx \@mainaux
+ {
+ \tl_gset:cn { c__nicematrix_ \int_use:N \g__nicematrix_env_int _ tl }
+ \iow_newline: { \iow_newline: \exp_not:V \g__nicematrix_aux_tl }
+ }
+ \iow_now:Nn \@mainaux { \ExplSyntaxOff }
\bool_if:NT \c__nicematrix_footnote_bool \endsavenotes
}
\cs_new_protected:Npn \__nicematrix_construct_preamble:
@@ -1624,7 +1614,7 @@
\exp_args:NV \@temptokena \g__nicematrix_preamble_tl
\@tempswatrue
\@whilesw \if@tempswa \fi { \@tempswafalse \the \NC@list }
- \int_gzero_new:N \c@jCol
+ \int_gzero:N \c@jCol
\tl_gclear:N \g__nicematrix_preamble_tl
\tl_if_eq:NnTF \l__nicematrix_vlines_clist { all }
{
@@ -2506,70 +2496,42 @@
\bool_if:NT \g__nicematrix_last_col_found_bool
{ \int_set_eq:NN \l__nicematrix_last_col_int \g__nicematrix_col_total_int }
\bool_if:NT \l__nicematrix_last_col_without_value_bool
+ { \int_set_eq:NN \l__nicematrix_last_col_int \g__nicematrix_col_total_int }
+ \bool_if:NT \l__nicematrix_last_row_without_value_bool
+ { \int_set_eq:NN \l__nicematrix_last_row_int \g__nicematrix_row_total_int }
+ \tl_gput_right:Nx \g__nicematrix_aux_tl
{
- \dim_set_eq:NN \l__nicematrix_last_col_int \g__nicematrix_col_total_int
- \iow_shipout:Nn \@mainaux \ExplSyntaxOn
- \iow_shipout:Nx \@mainaux
+ \seq_gset_from_clist:Nn \exp_not:N \c__nicematrix_size_seq
{
- \cs_gset:cpn { __nicematrix_last_col_ \int_use:N \g__nicematrix_env_int }
- { \int_use:N \g__nicematrix_col_total_int }
+ \int_use:N \l__nicematrix_first_row_int ,
+ \int_use:N \c@iRow ,
+ \int_use:N \g__nicematrix_row_total_int ,
+ \int_use:N \l__nicematrix_first_col_int ,
+ \int_use:N \c@jCol ,
+ \int_use:N \g__nicematrix_col_total_int
}
- \str_if_empty:NF \l__nicematrix_name_str
- {
- \iow_shipout:Nx \@mainaux
- {
- \cs_gset:cpn { __nicematrix_last_col_ \l__nicematrix_name_str }
- { \int_use:N \g__nicematrix_col_total_int }
- }
- }
- \iow_shipout:Nn \@mainaux \ExplSyntaxOff
+ \iow_newline:
}
- \bool_if:NT \l__nicematrix_last_row_without_value_bool
+ \seq_if_empty:NF \g__nicematrix_pos_of_blocks_seq
{
- \dim_set_eq:NN \l__nicematrix_last_row_int \g__nicematrix_row_total_int
- \bool_if:NF \l__nicematrix_light_syntax_bool
+ \tl_gput_right:Nx \g__nicematrix_aux_tl
{
- \iow_shipout:Nn \@mainaux \ExplSyntaxOn
- \iow_shipout:Nx \@mainaux
- {
- \cs_gset:cpn { __nicematrix_last_row_ \int_use:N \g__nicematrix_env_int }
- { \int_use:N \g__nicematrix_row_total_int }
- }
- \str_if_empty:NF \l__nicematrix_name_str
- {
- \iow_shipout:Nx \@mainaux
- {
- \cs_gset:cpn { __nicematrix_last_row_ \l__nicematrix_name_str }
- { \int_use:N \g__nicematrix_row_total_int }
- }
- }
- \iow_shipout:Nn \@mainaux \ExplSyntaxOff
+ \seq_gset_from_clist:Nn \exp_not:N \g__nicematrix_pos_of_blocks_seq
+ { \seq_use:Nnnn \g__nicematrix_pos_of_blocks_seq , , , }
+ \iow_newline:
}
}
- \bool_if:NT \l__nicematrix_code_before_bool
+ \seq_if_empty:NF \g__nicematrix_multicolumn_cells_seq
{
- \iow_now:Nn \@mainaux \ExplSyntaxOn
- \iow_now:Nx \@mainaux
- { \seq_clear_new:c { __nicematrix_size _ \int_use:N \g__nicematrix_env_int _ seq } }
- \iow_now:Nx \@mainaux
+ \tl_gput_right:Nx \g__nicematrix_aux_tl
{
- \seq_gset_from_clist:cn { __nicematrix_size _ \int_use:N \g__nicematrix_env_int _ seq }
- {
- \int_use:N \l__nicematrix_first_row_int ,
- \int_use:N \g__nicematrix_row_total_int ,
- \int_use:N \l__nicematrix_first_col_int ,
- \bool_lazy_and:nnTF
- { \int_compare_p:nNn \l__nicematrix_last_col_int > { -2 } }
- { \bool_not_p:n \g__nicematrix_last_col_found_bool }
- \__nicematrix_succ:n
- \int_use:N
- \g__nicematrix_col_total_int
- }
- \seq_gset_from_clist:cn
- { c__nicematrix_pos_of_blocks_ \int_use:N \g__nicematrix_env_int _ seq }
- { \seq_use:Nnnn \g__nicematrix_pos_of_blocks_seq , , , }
+ \seq_gset_from_clist:Nn \exp_not:N \g__nicematrix_multicolumn_cells_seq
+ { \seq_use:Nnnn \g__nicematrix_multicolumn_cells_seq , , , }
+ \iow_newline:
+ \seq_gset_from_clist:Nn \exp_not:N \g__nicematrix_multicolumn_sizes_seq
+ { \seq_use:Nnnn \g__nicematrix_multicolumn_sizes_seq , , , }
+ \iow_newline:
}
- \iow_now:Nn \@mainaux \ExplSyntaxOff
}
\__nicematrix_create_diag_nodes:
\bool_if:NT \l__nicematrix_parallelize_diags_bool
@@ -2636,14 +2598,12 @@
{
\cs_set_protected:Npn \rectanglecolor { }
\cs_set_protected:Npn \columncolor { }
- \iow_now:Nn \@mainaux \ExplSyntaxOn
- \iow_now:Nx \@mainaux
+ \tl_gput_right:Nx \g__nicematrix_aux_tl
{
- \tl_gset:cn
- { g__nicematrix_code_before_ \int_use:N \g__nicematrix_env_int _ tl }
+ \tl_gset:Nn \exp_not:N \g__nicematrix_code_before_tl
{ \exp_not:V \g_nicematrix_code_before_tl }
+ \iow_newline:
}
- \iow_now:Nn \@mainaux \ExplSyntaxOff
\bool_set_true:N \l__nicematrix_code_before_bool
}
% \bool_if:NT \l__nicematrix_code_before_bool \__nicematrix_write_aux_for_cell_nodes:
@@ -4025,14 +3985,9 @@
\tl_set:Nn \l__nicematrix_cols_tl { - }
\keys_set:nn { NiceMatrix / rowcolors } { #5 }
\bool_set_true:N \l_tmpa_bool
- \bool_lazy_and:nnT
- \l__nicematrix_respect_blocks_bool
- {
- \cs_if_exist_p:c
- { c__nicematrix_pos_of_blocks_ \int_use:N \g__nicematrix_env_int _ seq } }
+ \bool_if:NT \l__nicematrix_respect_blocks_bool
{
- \seq_set_eq:Nc \l_tmpb_seq
- { c__nicematrix_pos_of_blocks_ \int_use:N \g__nicematrix_env_int _ seq }
+ \seq_set_eq:NN \l_tmpb_seq \g__nicematrix_pos_of_blocks_seq
\seq_set_filter:NNn \l_tmpa_seq \l_tmpb_seq
{ \__nicematrix_not_in_exterior_p:nnnn ##1 }
}
@@ -4053,12 +4008,7 @@
\int_do_until:nNnn \l_tmpa_int > \l_tmpc_int
{
\int_set_eq:NN \l_tmpb_int \l_tmpa_int
- \bool_lazy_and:nnT
- \l__nicematrix_respect_blocks_bool
- {
- \cs_if_exist_p:c
- { c__nicematrix_pos_of_blocks_ \int_use:N \g__nicematrix_env_int _ seq }
- }
+ \bool_if:NT \l__nicematrix_respect_blocks_bool
{
\seq_set_filter:NNn \l_tmpb_seq \l_tmpa_seq
{ \__nicematrix_intersect_our_row_p:nnnn ####1 }
@@ -4592,14 +4542,12 @@
}
\seq_if_empty:NF \l__nicematrix_corners_cells_seq
{
- \iow_now:Nn \@mainaux \ExplSyntaxOn
- \iow_now:Nx \@mainaux
+ \tl_gput_right:Nx \g__nicematrix_aux_tl
{
- \seq_gset_from_clist:cn
- { c__nicematrix_corners_cells_ \int_use:N \g__nicematrix_env_int _ seq }
+ \seq_set_from_clist:Nn \exp_not:N \l__nicematrix_corners_cells_seq
{ \seq_use:Nnnn \l__nicematrix_corners_cells_seq , , , }
+ \iow_newline:
}
- \iow_now:Nn \@mainaux \ExplSyntaxOff
}
}
\cs_new_protected:Npn \__nicematrix_compute_a_corner:nnnnnn #1 #2 #3 #4 #5 #6