texlive[49866] Master/texmf-dist: nicematrix (29jan19)

commits+karl at tug.org commits+karl at tug.org
Tue Jan 29 23:14:00 CET 2019


Revision: 49866
          http://tug.org/svn/texlive?view=revision&revision=49866
Author:   karl
Date:     2019-01-29 23:13:59 +0100 (Tue, 29 Jan 2019)
Log Message:
-----------
nicematrix (29jan19)

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

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	2019-01-29 22:13:34 UTC (rev 49865)
+++ trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.dtx	2019-01-29 22:13:59 UTC (rev 49866)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017-2018 by F. Pantigny
+% Copyright (C) 2018-2019 by F. Pantigny
 % -----------------------------------
 %
 % This file may be distributed and/or modified under the
@@ -15,8 +15,8 @@
 %
 % \fi
 % \iffalse
-\def\myfileversion{2.1.3}
-\def\myfiledate{2018/10/29}
+\def\myfileversion{2.1.4}
+\def\myfiledate{2019/01/28}
 %
 %
 %<*batchfile>
@@ -26,7 +26,7 @@
 \usedir{tex/latex/nicematrix}
 \preamble
 
-Copyright (C) 2018 by F. Pantigny
+Copyright (C) 2018-2019 by F. Pantigny
 -----------------------------------
 
 This file may be distributed and/or modified under the
@@ -111,8 +111,7 @@
 % \end{savenotes}
 % \hspace{1.4cm}
 % $\vcenter{
-%  \begin{bNiceArrayRC}{CCCC}%
-%                            [code-for-last-col=\color{blue}\scriptstyle,
+%  \begin{bNiceArrayRC}{CCCC}[code-for-last-col=\color{blue}\scriptstyle,
 %                             code-for-first-row=\color{blue}\scriptstyle,
 %                             columns-width = auto]
 % C_1     & C_2     & \Cdots  & C_n  \\
@@ -446,6 +445,8 @@
 % \medskip
 % The option |nullify-dots| smashes the instructions |\Ldots| (and the variants) vertically but also horizontally.
 %
+% \medskip
+% \textbf{There must be no space before the opening bracket (|[|) of the options of the environment.}
 %
 % \subsection{The command Hdotsfor}
 %
@@ -552,7 +553,7 @@
 % draw the dotted lines between the cells of the matrix. However, the user may wish to use directly these nodes.
 % It's possible. First, the user have to give a name to the array (with the key called |name|). Then, the nodes are
 % accessible through the names ``\textsl{name}-$i$-$j$'' where \textsl{name} is the name given to the array and
-% $i$ and $j$ the number of the row and the column of the considered cell.
+% $i$ and $j$ the numbers of the row and the column of the considered cell.
 % 
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=11cm]
@@ -594,9 +595,9 @@
 % \medskip
 % The names of the ``medium nodes'' are constructed by adding the suffix ``|-medium|'' to the names of the ``normal
 % nodes''. In the following example, we have underlined the ``medium nodes''. We consider that this example is self-explanatory.
-% \[\begin{pNiceMatrix}
-% [create-extra-nodes,
-%  code-after = {\begin{tikzpicture}%
+% \[\begin{pNiceMatrix}[
+%  create-extra-nodes,
+%  code-after = {\begin{tikzpicture}
 %                   [every node/.style = {fill = red!15,
 %                                         blend mode = multiply,
 %                                         inner sep = -\pgflinewidth/2},
@@ -623,9 +624,9 @@
 % self-explanatory.\footnote{In the environments like |{pNiceArrayC}| and |{pNiceArrayRC}|, there is not ``large
 % nodes'' created in the exterior row and column.}
 %
-% \[\begin{pNiceMatrix}
-% [create-extra-nodes,
-%  code-after = {\begin{tikzpicture}%
+% \[\begin{pNiceMatrix}[
+%  create-extra-nodes,
+%  code-after = {\begin{tikzpicture}
 %                   [every node/.style = {blend mode = multiply,
 %                                         inner sep = -\pgflinewidth/2},
 %                    name suffix = -large]
@@ -651,9 +652,9 @@
 % space in the ``large nodes'' of the first column and last column. In the following example, we have used the
 % options |left-margin| and |right-margin|.\footnote{The options |left-margin| and |right-margin| take dimensions
 % as values but, if no value is given, the default value is used, which is |\arraycolsep|.}
-% \[\begin{pNiceMatrix}
-% [create-extra-nodes,left-margin,right-margin,
-%  code-after = {\begin{tikzpicture}%
+% \[\begin{pNiceMatrix}[
+%  create-extra-nodes,left-margin,right-margin,
+%  code-after = {\begin{tikzpicture}
 %                   [every node/.style = {blend mode = multiply,
 %                                         inner sep = -\pgflinewidth/2},
 %                    name suffix = -large]
@@ -676,9 +677,9 @@
 % It's also possible to add more space on both side of the array with the options |extra-left-margin| and
 % |extra-right-margin|. These margins are not incorporated in the ``large nodes''. In the following example, we
 % have used |extra-left-margin| and |extra-right-margin| with the value $3$~pt.
-% \[\begin{pNiceMatrix}
-% [create-extra-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt,
-%  code-after = {\begin{tikzpicture}%
+% \[\begin{pNiceMatrix}[
+%  create-extra-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt,
+%  code-after = {\begin{tikzpicture}
 %                   [every node/.style = {blend mode = multiply,
 %                                         inner sep = -\pgflinewidth/2},
 %                    name suffix = -large]
@@ -699,9 +700,9 @@
 %
 % \medskip
 % In this case, if we want a control over the height of the rows, we can add a |\strut| in each row of the array.
-% \[\begin{pNiceMatrix}
-% [create-extra-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt,
-%  code-after = {\begin{tikzpicture}%
+% \[\begin{pNiceMatrix}[
+%  create-extra-nodes,left-margin,right-margin,extra-right-margin=3pt,extra-left-margin=3pt,
+%  code-after = {\begin{tikzpicture}
 %                   [every node/.style = {blend mode = multiply,
 %                                         inner sep = -\pgflinewidth/2},
 %                    name suffix = -large]
@@ -848,7 +849,7 @@
 %
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-% $\begin{NiceArrayCwithDelims}%
+% $\begin{NiceArrayCwithDelims}
 %    {\downarrow}{\downarrow}{CCC}
 % 1 & 2 & 3 & L_1 \\
 % 4 & 5 & 6 & L_2 \\
@@ -855,7 +856,7 @@
 % 7 & 8 & 9 & L_3
 % \end{NiceArrayCwithDelims}$
 % \end{BVerbatim}
-% $\begin{NiceArrayCwithDelims}%
+% $\begin{NiceArrayCwithDelims}
 %    {\downarrow}{\downarrow}{CCC}
 % 1 & 2 & 3 & L_1 \\
 % 4 & 5 & 6 & L_2 \\
@@ -877,7 +878,7 @@
 %
 % \bigskip
 % \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-% $\begin{pNiceArrayRC}{CCC}%
+% $\begin{pNiceArrayRC}{CCC}% (here, % is mandatory)
 %   [columns-width = auto,
 %    code-for-first-row = \color{blue},
 %    code-for-last-col  = \color{blue}]
@@ -912,7 +913,7 @@
 %
 % \medskip
 % \begin{BVerbatim}[baseline=c,boxwidth=11cm]
-% $\begin{NiceArrayRCwithDelims}%
+% $\begin{NiceArrayRCwithDelims}
 %    {\downarrow}{\downarrow}{CCC}[columns-width=auto]
 % C_1 & C_2 & C_3 \\
 % 1 & 2 & 3 \\
@@ -920,7 +921,7 @@
 % 7 & 8 & 9 
 % \end{NiceArrayRCwithDelims}$
 % \end{BVerbatim}
-% $\begin{NiceArrayRCwithDelims}%
+% $\begin{NiceArrayRCwithDelims}
 %    {\downarrow}{\downarrow}{CCC}[columns-width=auto]
 % C_1 & C_2 & C_3 \\
 % 1 & 2 & 3 \\
@@ -1256,8 +1257,8 @@
 %      b & c
 %      \end{pNiceMatrix}
 % \end{BVerbatim}
-% $\begin{pNiceMatrix}
-%   [code-after = {\tikz \node [inner sep = 0pt,
+% $\begin{pNiceMatrix}[
+%    code-after = {\tikz \node [inner sep = 0pt,
 %                               fill = red!15,
 %                               blend mode = multiply,
 %                               fit = (1-2) ] {} ; } ]
@@ -1277,8 +1278,8 @@
 %      b & c
 %      \end{pNiceMatrix}
 % \end{BVerbatim}
-% $\begin{pNiceMatrix}
-%   [code-after = {\tikz \node [inner sep = 0pt,
+% $\begin{pNiceMatrix}[
+%    code-after = {\tikz \node [inner sep = 0pt,
 %                               fill = red!15,
 %                               blend mode = multiply,
 %                               fit = (1-2) ] {} ; } ]
@@ -1298,8 +1299,8 @@
 %      b & c
 %      \end{pNiceMatrix}
 % \end{BVerbatim}
-% $\begin{pNiceMatrix}
-%   [code-after = {\tikz \node [inner sep = 0pt,
+% $\begin{pNiceMatrix}[
+%    code-after = {\tikz \node [inner sep = 0pt,
 %                               fill = red!15,
 %                               blend mode = multiply,
 %                               fit = (1-2) ] {} ; } ]
@@ -1586,7 +1587,7 @@
 % have the continuity of the lines, we have to set |inner sep = -\pgflinewidth/2|.
 %
 % \begin{Verbatim}
-% $\left(\,\begin{NiceArray}{>{\strut}CCCC}
+% $\left(\,\begin{NiceArray}{>{\strut}CCCC}%
 %    [create-extra-nodes,left-margin,right-margin,
 %     code-after = {\begin{tikzpicture}
 %                      [~emphase#name suffix = -large@,
@@ -1605,8 +1606,8 @@
 % \end{Verbatim}
 %
 %
-% \[\left(\,\begin{NiceArray}{>{\strut}CCCC}
-%    [create-extra-nodes,left-margin,right-margin,
+% \[\left(\,\begin{NiceArray}{>{\strut}CCCC}[
+%     create-extra-nodes,left-margin,right-margin,
 %     code-after = {\begin{tikzpicture}[name suffix = -large,
 %                                       every node/.style = {draw,
 %                                                            inner sep = -\pgflinewidth/2}]
@@ -1746,8 +1747,8 @@
 % \medskip
 % We obtain the following matrix.
 % 
-% \[\begin{pNiceArrayC}{CCC}
-%     [create-extra-nodes,
+% \[\begin{pNiceArrayC}{CCC}[
+%      create-extra-nodes,
 %      code-after = {\begin{tikzpicture}[every node/.style = {fill = red!15,
 %                                                             blend mode = multiply,
 %                                                             inner sep = 0pt}]
@@ -1774,8 +1775,8 @@
 % \medskip
 % We obtain the following matrix.
 % 
-% \[\begin{pNiceArrayC}{CCC}
-%     [create-extra-nodes,
+% \[\begin{pNiceArrayC}{CCC}[
+%      create-extra-nodes,
 %      code-after = {\begin{tikzpicture}[every node/.style = {fill = red!15,
 %                                                             blend mode = multiply,
 %                                                             inner sep = 0pt},
@@ -1794,7 +1795,7 @@
 % 
 % In the following example, we use the ``large nodes'' to highlight a zone of the matrix.\par\nobreak
 % \begin{Verbatim}
-% \left(\,\begin{NiceArray}{>{\strut}CCCC}
+% \left(\,\begin{NiceArray}{>{\strut}CCCC}%
 %    [create-extra-nodes,left-margin,right-margin,
 %     code-after = {\tikz \path [~emphase#name suffix = -large@,
 %                                fill = red!15, 
@@ -1812,8 +1813,8 @@
 % \end{NiceArray}\,\right)
 % \end{Verbatim}
 %                              
-% \[\left(\,\begin{NiceArray}{>{\strut}CCCC}
-%    [create-extra-nodes,left-margin,right-margin,
+% \[\left(\,\begin{NiceArray}{>{\strut}CCCC}[
+%     create-extra-nodes,left-margin,right-margin,
 %     code-after = {\tikz \path [name suffix = -large,
 %                                fill = red!15, 
 %                                blend mode = multiply]
@@ -1836,7 +1837,7 @@
 % In the following example, we use the ``large nodes'' to construct a block matrix (the dashed lines have been
 % drawn with \pkg{arydshln}).
 % \begin{Verbatim}
-% \left(\begin{NiceArray}{CC:CC}
+% \left(\begin{NiceArray}{CC:CC}%
 %    [create-extra-nodes,
 %     ~emphase#code-after = { \tikz \node [fit = (1-1-large) (2-2-large), inner sep = 0 pt]@
 %     ~emphase#                           {$0_{22}$} ; }@ ]
@@ -1849,8 +1850,8 @@
 % \end{Verbatim}
 % 
 %                              
-% \[D = \left(\begin{NiceArray}{CC:CC}
-%    [create-extra-nodes,
+% \[D = \left(\begin{NiceArray}{CC:CC}[
+%     create-extra-nodes,
 %     code-after = { \tikz \node [fit = (1-1-large) (2-2-large), inner sep = 0 pt] 
 %                                {$0_{22}$} ; } ]
 %        &        & a_{13} & a_{14} \\
@@ -1894,6 +1895,7 @@
 %    \begin{macrocode}
 \RequirePackage{tikz}
 \usetikzlibrary{fit}
+\RequirePackage{expl3}[2018-01-01]
 %    \end{macrocode}
 % 
 % We give the traditionnal declaration of a package written with |expl3|:
@@ -1923,7 +1925,7 @@
 %    \begin{macrocode}
 \RequirePackage{array}
 \RequirePackage{amsmath}
-\RequirePackage{xparse}
+\RequirePackage{xparse}[2018-10-17]
 %    \end{macrocode}
 %
 % \subsection{Technical  definitions}
@@ -2051,9 +2053,9 @@
 %    \end{macrocode}
 % 
 % \bigskip
-% We don't want to patch any existing code. That's why some code must be executed in a |\aftergroup|. That's why
+% We don't want to patch any existing code. That's why some code must be executed in a |\group_insert_after:N|. That's why
 % the parameters used in that code must be transfered outside the current group. To do this, we copy those
-% quantities in global variables just before the |\aftergroup|. Therefore, for those quantities, we have two
+% quantities in global variables just before the |\group_insert_after:N|. Therefore, for those quantities, we have two
 % parameters, one local and one global. For example, we have |\l_@@_name_tl| and |\g_@@_name_tl|.
 %
 % \bigskip
@@ -2280,7 +2282,7 @@
                create-extra-nodes,~
                extra-left-margin,~
                extra-right-margin,~
-               left~margin,~
+               left-margin,~
                name,~
                nullify-dots,~
                parallelize-diags,~
@@ -2381,7 +2383,7 @@
     \int_gincr:N \g_@@_column_int
 %    \end{macrocode}
 % Now, we increment the counter of the rows. We don't do this incrementation in the |\everycr| because some
-% packages, like \pkg{arydshln}, creates special rows in the |\halign| that we don't want to take into account.
+% packages, like \pkg{arydshln}, create special rows in the |\halign| that we don't want to take into account.
 %    \begin{macrocode}
     \int_compare:nNnT \g_@@_column_int = 1
           {\int_gincr:N \g_@@_row_int}                
@@ -2453,7 +2455,7 @@
 % \medskip
 % Here's the definition of |{NiceMatrix}|:
 %    \begin{macrocode}
-\NewDocumentEnvironment {NiceMatrix} {O{}}
+\NewDocumentEnvironment {NiceMatrix} {!O{}}
     {\keys_set:nn {NiceMatrix/NiceMatrix} {#1}
      \tl_set:Nn \l_@@_pos_env_tl c
      \bool_set_false:N \l_@@_exterior_arraycolsep_bool
@@ -2468,7 +2470,7 @@
 % For the definition of |{NiceArray}| (just below), we have the following constraints:
 % \begin{itemize}
 % \item we must use |\array| in the first part of |{NiceArray}| and, therefore, |\endarray| in the second part;
-% \item we have to put a |\aftergroup \@@_after_array:| in the first part of |{NiceArray}| so that |\@@_draw_lines|
+% \item we have to put a |\group_insert_after:N \@@_after_array:| in the first part of |{NiceArray}| so that |\@@_draw_lines|
 % will be executed at the end of the current environment (either |{NiceArray}| or |{NiceMatrix}|).
 % \end{itemize}
 %               
@@ -2532,7 +2534,7 @@
 % First, we test if we are yet in an environment |{NiceArray}| (nested environment are forbidden). It's easy to
 % test whether we are in an environment |{NiceArray}| : a special command |\@@_in_NiceArray:| is defined.
 %    \begin{macrocode}
-\NewDocumentEnvironment {NiceArray} {O{} m O{}}
+\NewDocumentEnvironment {NiceArray} {O{} m !O{}}
     {\cs_if_exist:NT \@@_in_NiceArray:
            {\@@_error:n {We~are~yet~in~an~environment~NiceArray}}
 %    \end{macrocode}
@@ -2542,7 +2544,7 @@
      \cs_if_exist:NT \tikz at library@external at loaded
         {\tikzset{external/export = false}}
      \cs_set:Npn \@@_in_NiceArray: {--Void--}
-     \aftergroup \@@_after_array:
+     \group_insert_after:N \@@_after_array:
      \tl_gclear_new:N \g_@@_lines_to_draw_tl 
 %    \end{macrocode}
 %
@@ -2569,7 +2571,7 @@
 % |\l_@@_columns_width_dim| will be set to zero --- and the columns will have their natural width).
 %    \begin{macrocode}
      \bool_if:NT \l_@@_auto_columns_width_bool
-         {\aftergroup \@@_write_max_cell_width:
+         {\group_insert_after:N \@@_write_max_cell_width:
           \cs_if_free:cTF {_@@_max_cell_width_\int_use:N \g_@@_env_int}
                 {\dim_set:Nn \l_@@_columns_width_dim \c_zero_dim}
                 {\dim_set:Nx \l_@@_columns_width_dim 
@@ -2585,8 +2587,8 @@
                      {\use:c {_@@_max_cell_width_\l_@@_name_tl}}}}
          }
 %    \end{macrocode}
-% We don't want to patch any code and that's why some code is excuted in a |\aftergroup|. In particular, in this
-% |\aftergroup|, we will have to know the value of some parameters like |\l_@@_extra_nodes_bool|. That's why we transit via a global
+% We don't want to patch any code and that's why some code is excuted in a |\group_insert_after:N|. In particular, in this
+% |\group_insert_after:N|, we will have to know the value of some parameters like |\l_@@_extra_nodes_bool|. That's why we transit via a global
 % version for some variables.
 %    \begin{macrocode}
      \bool_gset_eq:NN \g_@@_extra_nodes_bool \l_@@_extra_nodes_bool
@@ -2767,7 +2769,7 @@
 % the cells of the ``exterior'' column of an environment of the kind of |{pNiceAccayC}|). This length can be known
 % only after the end of the construction of the array (or at the end of the environment |{NiceMatrixBlock}|).
 % That's why we store this value in the main |.aux| file and it will be available in the next run. We write a
-% dedicated command for this because it will be called in a~|\aftergroup|.
+% dedicated command for this because it will be called in a~|\group_insert_after:N|.
 %    \begin{macrocode}
 \cs_new_protected:Nn \@@_write_max_cell_width:
     {\bool_if:NF \l_@@_block_auto_columns_width_bool
@@ -3464,7 +3466,7 @@
        {\@@_old_multicolumn{#1}{#2}{#3}
         \int_compare:nNnT #1 > 1
             {\seq_gput_left:Nx \g_@@_multicolumn_cells_seq
-                               {\int_eval:n {\g_@@_row_int} - 
+                               {\int_eval:n \g_@@_row_int - 
                                 \int_use:N \g_@@_column_int}
              \seq_gput_left:Nn \g_@@_multicolumn_sizes_seq {#1}}
         \int_gadd:Nn \g_@@_column_int {#1-1}}
@@ -3571,7 +3573,7 @@
 %
 % \bigskip
 %    \begin{macrocode}
-\NewDocumentEnvironment {NiceMatrixBlock} {O{}}
+\NewDocumentEnvironment {NiceMatrixBlock} {!O{}}
     {\keys_set:nn {NiceMatrix/NiceMatrixBlock} {#1}
      \int_zero_new:N \l_@@_first_env_block_int
      \int_set:Nn \l_@@_first_env_block_int {\g_@@_env_int + 1}}
@@ -3583,12 +3585,12 @@
 % block in the counter |\l_@@_first_env_block_int|).
 %    \begin{macrocode}
     {\bool_if:NT \l_@@_block_auto_columns_width_bool
-          {\iow_now:Nn \@mainaux {\ExplSyntaxOn}
+          {\iow_now:Nn \@mainaux \ExplSyntaxOn
            \int_step_inline:nnnn \l_@@_first_env_block_int 1 \g_@@_env_int
                {\iow_now:Nx \@mainaux         
                    {\cs_gset:cpn {@@_max_cell_width_##1} 
                                  {\dim_use:N \g_@@_max_cell_width_dim}}}
-           \iow_now:Nn \@mainaux {\ExplSyntaxOff}}}
+           \iow_now:Nn \@mainaux \ExplSyntaxOff}}
 %    \end{macrocode}
 %
 % \subsection{The environment \{pNiceArrayC\} and its variants}
@@ -3720,7 +3722,7 @@
 % The environments of the type of |{pNiceArrayC}| will be constructed over |{NiceArrayCwithDelims}|. The first
 % two arguments of this environment are the left and the right delimiter.
 %    \begin{macrocode}
-\NewDocumentEnvironment{NiceArrayCwithDelims} {mm O{} m O{}}
+\NewDocumentEnvironment{NiceArrayCwithDelims} {mm O{} m !O{}}
     {\dim_gzero_new:N \g_@@_width_last_col_dim
      \keys_set:nn {NiceMatrix/NiceArrayC} {#3,#5}
      \bool_set_false:N \l_@@_exterior_arraycolsep_bool
@@ -3822,12 +3824,12 @@
                create-extra-nodes,~
                extra-left-margin,~
                extra-right-margin,~
-               left~margin,~
+               left-margin,~
                name,~
                nullify-dots,~
                parallelize-diags,~
                renew-dots~
-               and~right~margin.}
+               and~right-margin.}
 %    \end{macrocode}
 %
 %
@@ -3836,7 +3838,7 @@
 % because he will use one of the variants |{pNiceArrayRC}|, |{vNiceArrayRC}|, etc.
 %
 %    \begin{macrocode}
-\NewDocumentEnvironment {NiceArrayRCwithDelims} {mm O{} m O{}}
+\NewDocumentEnvironment {NiceArrayRCwithDelims} {mm O{} m !O{}}
     {\int_zero:N \l_@@_nb_first_row_int 
      \dim_gzero_new:N \g_@@_width_last_col_dim
      \keys_set:nn {NiceMatrix/NiceArrayRC} {#3,#5}
@@ -4209,7 +4211,8 @@
 % \subsection{Changes between version 2.1 and 2.1.2}
 % Option |draft|: with this option, the dotted lines are not drawn (quicker).
 %
-% \subsection{Changes between version 2.1 and 2.1.3}
+% \subsection{Changes between version 2.1.2 and 2.1.3}
+%
 % When searching the end of a dotted line from a command like |\Cdots| issued in the ``main matrix'' (not in the
 % column |C|), the cells in the column |C| are considered as outside the matrix. That means that it's possible to
 % do the following matrix with only a |\Cdots| command (and a single |\Vdots|).
@@ -4220,7 +4223,14 @@
 % \mbox{\Large $0$} &  & \mbox{\Large $0$} \\
 % \end{pNiceArrayRC}\]
 %
+% \subsection{Changes between version 2.1.3 and 2.1.4}
 %
+% Replacement of some options |O{}| in commands and environments defined with \pkg{xparse} by |!O{}| (because a
+% recent version of \pkg{xparse} introduced the specifier |!| and modified the default behaviour of the last
+% optional arguments).
+%
+% See |https://www.texdev.net/2018/04/21/xparse-optional-arguments-at-the-end|
+%
 % \endinput
 % Local Variables:
 % TeX-fold-mode: nil

Modified: trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.ins	2019-01-29 22:13:34 UTC (rev 49865)
+++ trunk/Master/texmf-dist/source/latex/nicematrix/nicematrix.ins	2019-01-29 22:13:59 UTC (rev 49866)
@@ -1,5 +1,5 @@
 %%
-%% Copyright (C) 2017-2018 by F. Pantigny
+%% Copyright (C) 2017-2019 by F. Pantigny
 %%
 %%
 %% This file may be distributed and/or modified under the
@@ -17,7 +17,7 @@
 \usedir{tex/latex/nicematrix}
 \preamble
 
-Copyright (C) 2017-2018 by F. Pantigny
+Copyright (C) 2017-2019 by F. Pantigny
 
 This file may be distributed and/or modified under the
 conditions of the LaTeX Project Public License, either

Modified: trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty	2019-01-29 22:13:34 UTC (rev 49865)
+++ trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty	2019-01-29 22:13:59 UTC (rev 49866)
@@ -6,7 +6,7 @@
 %%
 %% nicematrix.dtx  (with options: `package')
 %% 
-%% Copyright (C) 2017-2018 by F. Pantigny
+%% Copyright (C) 2017-2019 by F. Pantigny
 %% 
 %% This file may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either
@@ -18,10 +18,11 @@
 %% and version 1.3 or later is part of all distributions of
 %% LaTeX version 2005/12/01 or later.
 %% 
-\def\myfileversion{2.1.3}
-\def\myfiledate{2018/10/29}
+\def\myfileversion{2.1.4}
+\def\myfiledate{2019/01/28}
 \RequirePackage{tikz}
 \usetikzlibrary{fit}
+\RequirePackage{expl3}[2018-01-01]
 \RequirePackage{l3keys2e}
 \ProvidesExplPackage
   {nicematrix}
@@ -34,7 +35,7 @@
 \ProcessOptions \relax
 \RequirePackage{array}
 \RequirePackage{amsmath}
-\RequirePackage{xparse}
+\RequirePackage{xparse}[2018-10-17]
 \cs_new_protected:Nn \__nicem_error:n
         {\msg_error:nn {nicematrix} {#1}}
 \cs_new_protected:Nn \__nicem_error:nn
@@ -171,7 +172,7 @@
                create-extra-nodes,~
                extra-left-margin,~
                extra-right-margin,~
-               left~margin,~
+               left-margin,~
                name,~
                nullify-dots,~
                parallelize-diags,~
@@ -273,7 +274,7 @@
        \bgroup
        \box_use:N \l_tmpa_box
        \egroup ;}
-\NewDocumentEnvironment {NiceMatrix} {O{}}
+\NewDocumentEnvironment {NiceMatrix} {!O{}}
     {\keys_set:nn {NiceMatrix/NiceMatrix} {#1}
      \tl_set:Nn \l__nicem_pos_env_tl c
      \bool_set_false:N \l__nicem_exterior_arraycolsep_bool
@@ -316,13 +317,13 @@
          \cs_set_eq:NN \iddots \prg_do_nothing:
          \cs_set_eq:NN \dots \prg_do_nothing:
          \cs_set_eq:NN \hdotsfor \__nicem_Hdotsfor}}
-\NewDocumentEnvironment {NiceArray} {O{} m O{}}
+\NewDocumentEnvironment {NiceArray} {O{} m !O{}}
     {\cs_if_exist:NT \__nicem_in_NiceArray:
            {\__nicem_error:n {We~are~yet~in~an~environment~NiceArray}}
      \cs_if_exist:NT \tikz at library@external at loaded
         {\tikzset{external/export = false}}
      \cs_set:Npn \__nicem_in_NiceArray: {--Void--}
-     \aftergroup \__nicem_after_array:
+     \group_insert_after:N \__nicem_after_array:
      \tl_gclear_new:N \g__nicem_lines_to_draw_tl
      \int_gincr:N \g__nicem_env_int
      \bool_if:NF \l__nicem_block_auto_columns_width_bool
@@ -332,7 +333,7 @@
      \dim_gzero_new:N \g__nicem_max_ht_row_one_dim
      \keys_set:nn {NiceMatrix/NiceArray} {#1,#3}
      \bool_if:NT \l__nicem_auto_columns_width_bool
-         {\aftergroup \__nicem_write_max_cell_width:
+         {\group_insert_after:N \__nicem_write_max_cell_width:
           \cs_if_free:cTF {__nicem_max_cell_width_\int_use:N \g__nicem_env_int}
                 {\dim_set:Nn \l__nicem_columns_width_dim \c_zero_dim}
                 {\dim_set:Nx \l__nicem_columns_width_dim
@@ -747,7 +748,7 @@
        {\__nicem_old_multicolumn{#1}{#2}{#3}
         \int_compare:nNnT #1 > 1
             {\seq_gput_left:Nx \g__nicem_multicolumn_cells_seq
-                               {\int_eval:n {\g__nicem_row_int} -
+                               {\int_eval:n \g__nicem_row_int -
                                 \int_use:N \g__nicem_column_int}
              \seq_gput_left:Nn \g__nicem_multicolumn_sizes_seq {#1}}
         \int_gadd:Nn \g__nicem_column_int {#1-1}}
@@ -805,17 +806,17 @@
                            {\bool_set_true:N \l__nicem_block_auto_columns_width_bool
                             \dim_gzero_new:N \g__nicem_max_cell_width_dim
                             \bool_set_true:N \l__nicem_auto_columns_width_bool}}
-\NewDocumentEnvironment {NiceMatrixBlock} {O{}}
+\NewDocumentEnvironment {NiceMatrixBlock} {!O{}}
     {\keys_set:nn {NiceMatrix/NiceMatrixBlock} {#1}
      \int_zero_new:N \l__nicem_first_env_block_int
      \int_set:Nn \l__nicem_first_env_block_int {\g__nicem_env_int + 1}}
     {\bool_if:NT \l__nicem_block_auto_columns_width_bool
-          {\iow_now:Nn \@mainaux {\ExplSyntaxOn}
+          {\iow_now:Nn \@mainaux \ExplSyntaxOn
            \int_step_inline:nnnn \l__nicem_first_env_block_int 1 \g__nicem_env_int
                {\iow_now:Nx \@mainaux
                    {\cs_gset:cpn {__nicem_max_cell_width_##1}
                                  {\dim_use:N \g__nicem_max_cell_width_dim}}}
-           \iow_now:Nn \@mainaux {\ExplSyntaxOff}}}
+           \iow_now:Nn \@mainaux \ExplSyntaxOff}}
 \keys_define:nn {NiceMatrix/NiceArrayC}
      {parallelize-diags .bool_set:N       = \l__nicem_parallelize_diags_bool,
       parallelize-diags .default:n        = true,
@@ -897,7 +898,7 @@
                                              \int_use:N \g__nicem_row_int-
                                              \int_use:N \g__nicem_column_int}]
                                    {\box_use:N \l_tmpa_box} ; } }}}
-\NewDocumentEnvironment{NiceArrayCwithDelims} {mm O{} m O{}}
+\NewDocumentEnvironment{NiceArrayCwithDelims} {mm O{} m !O{}}
     {\dim_gzero_new:N \g__nicem_width_last_col_dim
      \keys_set:nn {NiceMatrix/NiceArrayC} {#3,#5}
      \bool_set_false:N \l__nicem_exterior_arraycolsep_bool
@@ -967,13 +968,13 @@
                create-extra-nodes,~
                extra-left-margin,~
                extra-right-margin,~
-               left~margin,~
+               left-margin,~
                name,~
                nullify-dots,~
                parallelize-diags,~
                renew-dots~
-               and~right~margin.}
-\NewDocumentEnvironment {NiceArrayRCwithDelims} {mm O{} m O{}}
+               and~right-margin.}
+\NewDocumentEnvironment {NiceArrayRCwithDelims} {mm O{} m !O{}}
     {\int_zero:N \l__nicem_nb_first_row_int
      \dim_gzero_new:N \g__nicem_width_last_col_dim
      \keys_set:nn {NiceMatrix/NiceArrayRC} {#3,#5}



More information about the tex-live-commits mailing list