summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdfbin909512 -> 911018 bytes
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdfbin575208 -> 581333 bytes
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex85
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdfbin592717 -> 596415 bytes
-rw-r--r--Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex101
-rw-r--r--Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx109
-rw-r--r--Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty74
7 files changed, 239 insertions, 130 deletions
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf
index 923fd4f5536..384552b056a 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
index d7c7d18c980..7a0776a2bb5 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
index b27ce64a4ee..688e3b032bd 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix-french.tex
@@ -3227,6 +3227,25 @@ $\begin{bNiceMatrix}
0 & & 1
\end{bNiceMatrix}$
+\medskip
+\colorbox{yellow!50}{\textbf{Nouveau 6.20}}\enskip
+Avec la clé |xdots/horizontal-labels|, les labels restent horizontaux.\par\nobreak
+
+\begin{BVerbatim}[baseline=c,boxwidth=10cm]
+$\begin{bNiceMatrix}[xdots/horizontal-labels]
+1 & \hspace*{1cm} & 0 \\[8mm]
+ & ~emphase#\Ddots^{n \text{ fois}}@ & \\
+0 & & 1
+\end{bNiceMatrix}$
+\end{BVerbatim}
+$\begin{bNiceMatrix}[xdots/horizontal-labels]
+1 & \hspace*{1cm} & 0 \\[8mm]
+ & \Ddots^{n \text{ fois}} & \\
+0 & & 1
+\end{bNiceMatrix}$
+
+
+
\subsection{Personnalisation des lignes en pointillés}
\label{customization}
@@ -3237,6 +3256,8 @@ $\begin{bNiceMatrix}
\index{shorten (clé pour les lignes pointillées)}
\index{shorten-end (clé pour les lignes pointillées)}
\index{shorten-start (clé pour les lignes pointillées)}
+\index{horizontal-labels (clé pour les lignes pointillées)}
+
Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|,
|\Iddots|, |\Hdotsfor| et |\Vdotsfor| (ainsi que par la commande |\line| dans le
@@ -3244,6 +3265,7 @@ Les lignes pointillées tracées par |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|,
par les options suivantes (que l'on met entre crochets après la commande) :
%
\begin{itemize}
+\item |horizontal-labels| ;
\item |color| ;
\item |radius| ;
\item |shorten-start|, |shorten-end| et |shorten| ;
@@ -3257,6 +3279,7 @@ niveau d'un environnement mais elles doivent alors être préfixées par |xdots|
|\Vdots|, etc.), ce qui fait que leurs noms deviennent :
%
\begin{itemize}
+\item |xdots/horizontal-labels| ;
\item |xdots/color| ;
\item |xdots/radius| ;
\item |xdots/shorten-start|, |xdots/shorten-end| et |xdots/shorten| ;
@@ -3266,46 +3289,34 @@ niveau d'un environnement mais elles doivent alors être préfixées par |xdots|
%
Pour la clarté, dans la suite, on utilisera ces noms-là.
-\medskip
-\textbf{L'option xdots/color}\par\nobreak
+\bigskip
+La clé \Definition{xdots/horizontal-labels} demande que les labels (introduits
+par |_| et |^|) restent horizontaux.
-\smallskip
-L'option |xdots/color| indique bien entendu la couleur de la ligne tracée. On
-remarquera néanmoins que les lignes tracées dans les rangées et colonnes
-extérieures (décrites plus loin) bénéficient d'un régime spécial : cf.
+\medskip
+L'option \Definition{xdots/color} indique bien entendu la couleur de la ligne
+tracée. On remarquera néanmoins que les lignes tracées dans les rangées et
+colonnes extérieures (décrites plus loin) bénéficient d'un régime spécial : cf.
p.~\pageref{exterior}.
\medskip
-\textbf{L'option xdots/radius}\par\nobreak
-
-\smallskip
-L'option |radius| correspond au rayon des points circulaires qui sont tracés. La
-valeur initiale est $0.53$~pt.
-
+L'option \Definition{radius} correspond au rayon des points circulaires qui sont
+tracés. La valeur initiale est $0.53$~pt.
\medskip
-\textbf{L'option xdots/shorten}\par\nobreak
-
-\smallskip
-Les clés |xdots/shorten-start| et |xdots/shorten-end| indiquent la marge qui est
-laissée aux deux extrémités de la ligne. La clé |xdots/shorten| fixe les deux
-clés simultanément. La valeur initiale de $0.3$~em (il est conseillé d'utiliser une
-unité de mesure dépendante de la fonte courante).
-
-\smallskip
-Les clés |xdots/shorten-start| et |xdots/shorten-end| ont été introduites dans
-la version~6.10. Les versions précédentes ne proposaient que |xdots/shorten|.
+Les clés \Definition{xdots/shorten-start} et \Definition{xdots/shorten-end}
+indiquent la marge qui est laissée aux deux extrémités de la ligne. La clé
+\Definition{xdots/shorten} fixe les deux clés simultanément. La valeur initiale
+de $0.3$~em (il est conseillé d'utiliser une unité de mesure dépendante de la
+fonte courante).
\medskip
-\textbf{L'option xdots/inter}\par\nobreak
-
-\smallskip
-L'option |xdots/inter| indique la distance entre deux points. La valeur
-initiale est $0.45$~em (il est conseillé d'utiliser une
-unité de mesure dépendante de la fonte courante).
+L'option \Definition{xdots/inter} indique la distance entre deux points. La
+valeur initiale est $0.45$~em (il est conseillé d'utiliser une unité de mesure
+dépendante de la fonte courante).
\medskip
-\textbf{L'option xdots/line-style}\par\nobreak
+\textbf{L'option \Definition{xdots/line-style}}\par\nobreak
\smallskip
Il faut savoir que, par défaut, les lignes de TikZ tracées avec le paramètre
@@ -3942,17 +3953,17 @@ Les commandes |\OverBrace| et |\UnderBrace| acceptent en fait un premier
argument optionnel (entre crochets) pour une liste de couples
\textsl{clé=valeur}. Les clés disponibles sont les suivantes :
\begin{itemize}
-\item |left-shorten| et |right-shorten| qui ne prennent pas de valeur ; quand
+\item \Definition{left-shorten} et \Definition{right-shorten} qui ne prennent pas de valeur ; quand
|left-shorten| est utilisée, l'abscisse de l'extrémité de gauche de l'accolade
est calculée à partir du contenu du sous-tableau concerné alors que, sinon,
c'est la position du filet vertical éventuel qui est utilisée (de même pour
|right-shorten|) ;
-\item |shorten|, qui est la conjonction des clés |left-shorten| et |right-shorten| ;
+\item \Definition{shorten}, qui est la conjonction des clés |left-shorten| et |right-shorten| ;
-\item |yshift|, qui déplace verticalement l'accolade (et son label) ;
+\item \Definition{yshift}, qui déplace verticalement l'accolade (et son label) ;
-\item |color| qui fixe la couleur de l'accolade et du label.
+\item \Definition{color} qui fixe la couleur de l'accolade et du label.
\end{itemize}
\bigskip
@@ -6172,7 +6183,7 @@ $\begin{pNiceArray}{*6c|c}[nullify-dots,last-col,code-for-last-col=\scriptstyle]
L'option |line-style| permet de changer le style des lignes tracées par
|\Ldots|, |\Cdots|, etc. On peut de ce fait tracer des lignes qui ne sont plus
-pointillées.
+pointillées (TikZ doit être chargé).
\index{line-style (clé pour les lignes pointillées)|textit}
@@ -6231,7 +6242,7 @@ On peut même tracer des lignes continues.\footnote{Dans ce document, la
\begin{Verbatim}
\NiceMatrixOptions
{nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}}
-$\begin{pNiceMatrix}[first-row,first-col]
+$\begin{pNiceMatrix}[first-row,first-col,xdots/horizontal-labels]
& & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ colonnes}} \\
& 1 & 1 & 1 & \Ldots & 1 \\
& 1 & 1 & 1 & & 1 \\
@@ -6246,7 +6257,7 @@ $\begin{pNiceMatrix}[first-row,first-col]
\begin{scope}
\NiceMatrixOptions
{nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}}
-\[\begin{pNiceMatrix}[first-row,first-col]
+\[\begin{pNiceMatrix}[first-row,first-col,xdots/horizontal-labels]
& & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ colonnes}} \\
& 1 & 1 & 1 & \Ldots & 1 \\
& 1 & 1 & 1 & & 1 \\
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf b/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
index 9f3a9dfb70a..e754fc3aec8 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex b/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex
index f09d282e102..dc565d21602 100644
--- a/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex
+++ b/Master/texmf-dist/doc/latex/nicematrix/nicematrix.tex
@@ -17,9 +17,8 @@
\usepackage{tocloft}
\setlength{\cftsubsecnumwidth}{3em} % for the numbers of subsections of the TOC
-% On utilise \MakeShortVerb de shortvrb et pas \DefineShortVerb de fancyvrb
-% car on ne veut pas que le contenu des petits éléments en verbatim soit colorié
-% en gris
+% We use \MakeShortVerb of shortvrb and not \DefineShortVerb of fancyvrb
+% because we don't want small elements in verbatim to be colored in gray
\usepackage{shortvrb}
\MakeShortVerb{\|}
@@ -3151,6 +3150,26 @@ $\begin{bNiceMatrix}
0 & & 1
\end{bNiceMatrix}$
+
+\bigskip
+\colorbox{yellow!50}{\textbf{New 6.20}}\enskip
+With the key |xdots/horizontal-labels|, the labels stay horizontal\par\nobreak
+%
+\medskip
+\begin{BVerbatim}[baseline=c,boxwidth=10cm]
+$\begin{bNiceMatrix}[xdots/horizontal-labels]
+1 & \hspace*{1cm} & 0 \\[8mm]
+ & ~emphase#\Ddots^{n \text{ times}}@ & \\
+0 & & 1
+\end{bNiceMatrix}$
+\end{BVerbatim}
+$\begin{bNiceMatrix}[xdots/horizontal-labels]
+1 & \hspace*{1cm} & 0 \\[8mm]
+ & \Ddots^{n \text{ times}} & \\
+0 & & 1
+\end{bNiceMatrix}$
+
+
\subsection{Customisation of the dotted lines}
\label{customisation}
@@ -3161,12 +3180,14 @@ $\begin{bNiceMatrix}
\index{shorten (key for the dotted rules)}
\index{shorten-end (key for the dotted rules)}
\index{shorten-start (key for the dotted rules)}
+\index{horizontal-labels (key for the dotted rules)}
The dotted lines drawn by |\Ldots|, |\Cdots|, |\Vdots|, |\Ddots|, |\Iddots|,
|\Hdotsfor| and |\Vdotsfor| (and by the command |\line| in the |\CodeAfter|
which is described p.~\pageref{line-in-code-after}) may be customized by the following
options (specified between square brackets after the command):
\begin{itemize}
+\item |horizontal-labels|;
\item |color|;
\item |radius|;
\item |shorten-start|, |shorten-end| and |shorten|;
@@ -3179,6 +3200,7 @@ These options may also be fixed with |\NiceMatrixOptions|, as options of
must be prefixed by |xdots| (\textsl{xdots} to remind that it works for
|\Cdots|, |\Ldots|, |\Vdots|, etc.), and, thus have for names:
\begin{itemize}
+\item |xdots/horizontal-labels|;
\item |xdots/color|;
\item |xdots/radius|;
\item |xdots/shorten-start|, |xdots/shorten-end| and |xdots/shorten|;
@@ -3188,38 +3210,33 @@ must be prefixed by |xdots| (\textsl{xdots} to remind that it works for
For the clarity of the explanations, we will use those names.
-\bigskip
-\textbf{The option xdots/color}\par\nobreak
-
-\smallskip
-The option |xdots/color| fixes the color or the dotted line. However, one should
-remark that the dotted lines drawn in the exterior rows and columns have a
-special treatment: cf. p.~\pageref{exterior}.
\bigskip
-\textbf{The option xdots/radius}\par\nobreak
-
-The option |radius| fixes the radius of the dots. The initial value is 0.53~pt.
+With the key \Definition{xdots/horizontal-labels}, the labels (introduced by |_|
+and |^|) stay horizontal.
\bigskip
-\textbf{The option xdots/shorten}\par\nobreak
+The option \Definition{xdots/color} fixes the color or the dotted line. However,
+one should remark that the dotted lines drawn in the exterior rows and columns
+have a special treatment: cf. p.~\pageref{exterior}.
-\smallskip
-The keys |xdots/shorten-start| and |xdots/shorten-end| fix the margin at the
-extremities of the line. The key |xdots/shorten| fixes both parameters.
-The initial value is 0.3~em (it is recommanded to use a unit of length
-dependent of the current font).
+\bigskip
+The option \Definition{radius} fixes the radius of the dots. The initial value
+is 0.53~pt.
\bigskip
-\textbf{The option xdots/inter}\par\nobreak
+The keys \Definition{xdots/shorten-start} and \Definition{xdots/shorten-end} fix
+the margin at the extremities of the line. The key |xdots/shorten| fixes both
+parameters. The initial value is 0.3~em (it is recommanded to use a unit of
+length dependent of the current font).
-\smallskip
-The option |xdots/inter| fixes the length between the dots. The initial value
-is 0.45~em (it is recommanded to use a unit of length dependent of the current
-font).
+\bigskip
+The option \Definition{xdots/inter} fixes the length between the dots. The
+initial value is 0.45~em (it is recommanded to use a unit of length dependent of
+the current font).
\bigskip
-\textbf{The option xdots/line-style}\par\nobreak
+\textbf{The option \Definition{xdots/line-style}}\par\nobreak
\smallskip
It should be pointed that, by default, the lines drawn by Tikz with the
@@ -3851,18 +3868,18 @@ In fact, the commands |\OverBrace| and |\UnderBrace| take in an optional
argument (in first position and between square brackets) for a list of
\textsl{key=value} pairs. The available keys are:
\begin{itemize}
-\item |left-shorten| and |right-shorten| which do not take in value; when the
-key |left-shorten| is used, the abscissa of the left extremity of the brace is
-computed with the contents of the cells of the involved sub-array, otherwise,
-the position of the potential vertical rule is used (idem for
-|right-shorten|).
+\item \Definition{left-shorten} and \Definition{right-shorten} which do not take
+in value; when the key |left-shorten| is used, the abscissa of the left
+extremity of the brace is computed with the contents of the cells of the
+involved sub-array, otherwise, the position of the potential vertical rule is
+used (idem for |right-shorten|).
-\item |shorten|, which is the conjunction of the keys |left-shorten| and
-|right-shorten|;
+\item \Definition{shorten}, which is the conjunction of the keys |left-shorten|
+and |right-shorten|;
-\item |yshift|, which shifts vertically the brace (and its label);
+\item \Definition{yshift}, which shifts vertically the brace (and its label);
-\item |color|, which sets the color of the brace (and its label).
+\item \Definition{color}, which sets the color of the brace (and its label).
\end{itemize}
\bigskip
@@ -4077,7 +4094,7 @@ with the following code (the package \pkg{caption} has been loaded in this docum
\begin{NiceTabular}{@{}llc@{}
[
caption = A tabular whose caption has been specified by the key
- \texttt{caption}~emphase#\tabularnote[$\star$]{It's possible to put a tabular note in the caption}! ,
+ \texttt{caption}~emphase#\tabularnote[$\star$]{It's possible to put a tabular note in the caption.}! ,
label = t:tabularnote ,
tabularnote = Some text before the notes. ,
notes/bottomrule
@@ -5381,7 +5398,7 @@ been created with |\SubMatrix\{{2-2}{3-3}\}|).
\index{node@\textbf{Nodes of PGF/Tikz}|)}
-\section{API for the developpers}
+\section{API for the developers}
The package \pkg{nicematrix} provides two variables which are internal but
public\footnote{According to the LaTeX3 conventions,
@@ -5399,7 +5416,7 @@ These variables contain the code of what we have called the ``|code-before|''
(usually specified at the beginning of the environment with the syntax using
the keywords |\CodeBefore| and |\Body|) and the ``|code-after|'' (usually
specified at the end of the environment after the keyword |\CodeAfter|). The
-developper can use them to add code from a cell of the array (the affectation
+developer can use them to add code from a cell of the array (the affectation
must be global, allowing to exit the cell, which is a TeX group).
\medskip
@@ -6074,7 +6091,7 @@ $\begin{pNiceArray}{*6c|c}[nullify-dots,last-col,code-for-last-col=\scriptstyle]
The option |line-style| controls the style of the lines drawn by |\Ldots|,
|\Cdots|, etc. Thus, it's possible with these commands to draw lines which are
-not longer dotted.
+not longer dotted (TikZ should be loaded).
\index{line-style (key for the dotted rules)|textit}
@@ -6132,7 +6149,7 @@ has been loaded, which impacts the shape of the arrow tips.}
\begin{Verbatim}
\NiceMatrixOptions
{nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}}
-$\begin{pNiceMatrix}[first-row,first-col]
+$\begin{pNiceMatrix}[first-row,first-col,xdots/horizontal-labels]
& & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ columns}} \\
& 1 & 1 & 1 & \Ldots & 1 \\
& 1 & 1 & 1 & & 1 \\
@@ -6146,7 +6163,7 @@ $\begin{pNiceMatrix}[first-row,first-col]
\begin{scope}
\NiceMatrixOptions
{nullify-dots,code-for-first-col = \color{blue},code-for-first-row=\color{blue}}
-\[\begin{pNiceMatrix}[first-row,first-col]
+\[\begin{pNiceMatrix}[first-row,first-col,xdots/horizontal-labels]
& & \Ldots[line-style={solid,<->},shorten=0pt]^{n \text{ columns}} \\
& 1 & 1 & 1 & \Ldots & 1 \\
& 1 & 1 & 1 & & 1 \\
@@ -6860,6 +6877,10 @@ The successive versions of the file |nicematrix.sty| provided by TeXLive are ava
\nolinkurl{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty}
}
+\subsection*{Changes between version 6.19 and 6.20}
+
+New key |xdots/horizontal-labels|.
+
\subsection*{Changes between version 6.18 and 6.19}
The command |\tabularnote| now supports an optional argument (between square
diff --git a/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx b/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx
index 93555aa1e51..07b6fe8513e 100644
--- a/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx
+++ b/Master/texmf-dist/source/latex/nicematrix/nicematrix-code.dtx
@@ -17,8 +17,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{6.19a}
-\def\myfiledate{2023/05/25}
+\def\myfileversion{6.20}
+\def\myfiledate{2023/06/04}
%
%
%<*batchfile>
@@ -173,11 +173,11 @@ version 2005/12/01 or later.
\cs_new_protected:Npn \@@_msg_new:nn { \msg_new:nnn { nicematrix } }
% \end{macrocode}
%
-% With Overleaf, a document is compiled in non-stop mode. When there is an
-% error, there is no way to the user to use the key H in order to have more
-% information. That's why we decide to put that piece of information (for the
-% messages with such information) in the main part of the message when the key
-% |messages-for-Overleaf| is used (at load-time).
+% With Overleaf, by default, a document is compiled in non-stop mode. When there
+% is an error, there is no way to the user to use the key H in order to have
+% more information. That's why we decide to put that piece of information (for
+% the messages with such information) in the main part of the message when the
+% key |messages-for-Overleaf| is used (at load-time).
% \begin{macrocode}
\cs_new_protected:Npn \@@_msg_new:nnn #1 #2 #3
{
@@ -188,8 +188,8 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% We also create a command which will genereate usually an error but only a
-% warning on Overleaf. The argument is given by currification.
+% We also create a command which will generate usually an error but only a
+% warning on Overleaf. The argument is given by curryfication.
% \begin{macrocode}
\cs_new_protected:Npn \@@_error_or_warning:n
{ \bool_if:NTF \c_@@_messages_for_Overleaf_bool \@@_warning:n \@@_error:n }
@@ -1998,6 +1998,11 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
+% The following parameter corresponds to the key |xdots/horizontal_labels|.
+% \begin{macrocode}
+\bool_new:N \l_@@_xdots_h_labels_bool
+% \end{macrocode}
+% \bigskip
% The following dimension is the distance between two dots for the dotted lines
% (when |line-style| is equal to |standard|, which is the initial value). The
% initial value is 0.45~em but it will be changed if the option |small| is used.
@@ -2219,6 +2224,8 @@ version 2005/12/01 or later.
% \begin{macrocode}
\keys_define:nn { NiceMatrix / xdots }
{
+ horizontal-labels .bool_set:N = \l_@@_xdots_h_labels_bool ,
+ horizontal-labels .default:n = true ,
line-style .code:n =
{
\bool_lazy_or:nnTF
@@ -3145,7 +3152,8 @@ version 2005/12/01 or later.
%
% \bigskip
% The first argument is a boolean which indicates whether you must put the
-% instruction on the left or on the right on the list of instructions.
+% instruction on the left or on the right on the list of instructions (with
+% consequences for the parallelisation of the diagonal lines).
% \begin{macrocode}
\cs_new_protected:Npn \@@_instruction_of_type:nnn #1 #2 #3
{
@@ -6169,7 +6177,7 @@ version 2005/12/01 or later.
% (with the command |\item|) . |#1| is the label (when the command
% |\tabularnote| has been used with an optional argument between square
% brackets) and |#2| is the text of the note. The second argument is provided by
-% currification.
+% curryfication.
% \begin{macrocode}
\cs_set_protected:Npn \@@_one_tabularnote:nn #1
{
@@ -8532,8 +8540,8 @@ version 2005/12/01 or later.
\pgfrememberpicturepositiononpagetrue
\pgf@relevantforpicturesizefalse
\bool_lazy_or:nnTF
- { \tl_if_eq_p:NN \l_@@_xdots_line_style_tl \c_@@_standard_tl }
- \l_@@_dotted_bool
+ { \tl_if_eq_p:NN \l_@@_xdots_line_style_tl \c_@@_standard_tl }
+ \l_@@_dotted_bool
\@@_draw_standard_dotted_line:
\@@_draw_unstandard_dotted_line:
}
@@ -8566,9 +8574,37 @@ version 2005/12/01 or later.
\cs_generate_variant:Nn \@@_draw_unstandard_dotted_line:n { o }
% \end{macrocode}
%
+%
+% \bigskip
+% The following Tikz styles are for both labels (set by the symbols |_| and |^|)
+% of a continous line with a non-standard style.
+% \begin{macrocode}
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { tikz }
+ {
+ \tikzset
+ {
+ @@_node_above / .style = { sloped , above } ,
+ @@_node_below / .style = { sloped , below }
+ }
+ }
+ { }
+ }
+% \end{macrocode}
+%
+% \bigskip
% \begin{macrocode}
\cs_new_protected:Npn \@@_draw_unstandard_dotted_line:nnn #1 #2 #3
{
+ \bool_if:NT \l_@@_xdots_h_labels_bool
+ {
+ \tikzset
+ {
+ @@_node_above / .style = { auto = left } ,
+ @@_node_below / .style = { auto = right }
+ }
+ }
\draw
[
#1 ,
@@ -8581,8 +8617,8 @@ version 2005/12/01 or later.
% following lines because we are in the contents of Tikz nodes (and they will be
% \emph{rescanned} if the Tikz library \pkg{babel} is loaded).
% \begin{macrocode}
- -- node [ sloped , above ] { $ \scriptstyle #2 $ }
- node [ sloped , below ] { $ \scriptstyle #3 $ }
+ -- node [ @@_node_above ] { $ \scriptstyle #2 $ }
+ node [ @@_node_below ] { $ \scriptstyle #3 $ }
( \l_@@_x_final_dim , \l_@@_y_final_dim ) ;
\end { scope }
}
@@ -8606,24 +8642,26 @@ version 2005/12/01 or later.
{ \pgfpoint \l_@@_x_initial_dim \l_@@_y_initial_dim }
{ \pgfpoint \l_@@_x_final_dim \l_@@_y_final_dim }
}
- \pgftransformrotate
+ \fp_set:Nn \l_tmpa_fp
{
- \fp_eval:n
- {
- atand
- (
- \l_@@_y_final_dim - \l_@@_y_initial_dim ,
- \l_@@_x_final_dim - \l_@@_x_initial_dim
- )
- }
- }
+ atand
+ (
+ \l_@@_y_final_dim - \l_@@_y_initial_dim ,
+ \l_@@_x_final_dim - \l_@@_x_initial_dim
+ )
+ }
+ \pgftransformrotate { \fp_use:N \l_tmpa_fp }
+ \bool_if:NF \l_@@_xdots_h_labels_bool { \fp_zero:N \l_tmpa_fp }
\pgfnode
{ rectangle }
{ south }
{
- \c_math_toggle_token
- \scriptstyle \l_@@_xdots_up_tl
- \c_math_toggle_token
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_up_tl
+ \c_math_toggle_token
+ }
}
{ }
{ \pgfusepath { } }
@@ -8631,9 +8669,12 @@ version 2005/12/01 or later.
{ rectangle }
{ north }
{
- \c_math_toggle_token
- \scriptstyle \l_@@_xdots_down_tl
- \c_math_toggle_token
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l_@@_xdots_down_tl
+ \c_math_toggle_token
+ }
}
{ }
{ \pgfusepath { } }
@@ -9619,7 +9660,7 @@ version 2005/12/01 or later.
% \bigskip
% The command |\@@_color_opacity:w| takes in as argument only the optional
% argument. One may consider that the second argument (the actual definition of
-% the color) is provided by currification.
+% the color) is provided by curryfication.
% \begin{macrocode}
\cs_new_protected:Npn \@@_color_opacity:w [ #1 ]
{
@@ -13851,6 +13892,9 @@ version 2005/12/01 or later.
% The four following token lists correspond to the position of the |\SubMatrix|.
% \begin{macrocode}
\@@_compute_i_j:nn { #2 } { #3 }
+ % added 6.19b
+ \int_compare:nNnT \l_@@_first_i_tl = \l_@@_last_i_tl
+ { \cs_set:Npn \arraystretch { 1 } }
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \l_@@_last_i_tl > \g_@@_row_total_int }
{ \int_compare_p:nNn \l_@@_last_j_tl > \g_@@_col_total_int }
@@ -15105,6 +15149,7 @@ version 2005/12/01 or later.
{
The~available~keys~are~(in~alphabetic~order):~
'color',~
+ 'horizontal-labels',~
'inter',~
'line-style',~
'radius',~
diff --git a/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty b/Master/texmf-dist/tex/latex/nicematrix/nicematrix.sty
index d3e036baeb9..a04f78a423b 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.19a}
-\def\myfiledate{2023/05/25}
+\def\myfileversion{6.20}
+\def\myfiledate{2023/06/04}
\RequirePackage{pgfcore}
\usepgfmodule{shapes}
\RequirePackage{l3keys2e}
@@ -689,6 +689,7 @@
\bool_new:N \l__nicematrix_standard_cline_bool
\dim_new:N \l__nicematrix_cell_space_top_limit_dim
\dim_new:N \l__nicematrix_cell_space_bottom_limit_dim
+\bool_new:N \l__nicematrix_xdots_h_labels_bool
\dim_new:N \l__nicematrix_xdots_inter_dim
\hook_gput_code:nnn { begindocument } { . }
{ \dim_set:Nn \l__nicematrix_xdots_inter_dim { 0.45 em } }
@@ -734,6 +735,8 @@
\bool_new:N \l__nicematrix_delimiters_max_width_bool
\keys_define:nn { NiceMatrix / xdots }
{
+ horizontal-labels .bool_set:N = \l__nicematrix_xdots_h_labels_bool ,
+ horizontal-labels .default:n = true ,
line-style .code:n =
{
\bool_lazy_or:nnTF
@@ -4383,8 +4386,8 @@
\pgfrememberpicturepositiononpagetrue
\pgf@relevantforpicturesizefalse
\bool_lazy_or:nnTF
- { \tl_if_eq_p:NN \l__nicematrix_xdots_line_style_tl \c__nicematrix_standard_tl }
- \l__nicematrix_dotted_bool
+ { \tl_if_eq_p:NN \l__nicematrix_xdots_line_style_tl \c__nicematrix_standard_tl }
+ \l__nicematrix_dotted_bool
\__nicematrix_draw_standard_dotted_line:
\__nicematrix_draw_unstandard_dotted_line:
}
@@ -4402,8 +4405,28 @@
\l__nicematrix_xdots_down_tl
}
\cs_generate_variant:Nn \__nicematrix_draw_unstandard_dotted_line:n { o }
+\hook_gput_code:nnn { begindocument } { . }
+ {
+ \IfPackageLoadedTF { tikz }
+ {
+ \tikzset
+ {
+ __nicematrix_node_above / .style = { sloped , above } ,
+ __nicematrix_node_below / .style = { sloped , below }
+ }
+ }
+ { }
+ }
\cs_new_protected:Npn \__nicematrix_draw_unstandard_dotted_line:nnn #1 #2 #3
{
+ \bool_if:NT \l__nicematrix_xdots_h_labels_bool
+ {
+ \tikzset
+ {
+ __nicematrix_node_above / .style = { auto = left } ,
+ __nicematrix_node_below / .style = { auto = right }
+ }
+ }
\draw
[
#1 ,
@@ -4411,8 +4434,8 @@
shorten~< = \l__nicematrix_xdots_shorten_start_dim ,
]
( \l__nicematrix_x_initial_dim , \l__nicematrix_y_initial_dim )
- -- node [ sloped , above ] { $ \scriptstyle #2 $ }
- node [ sloped , below ] { $ \scriptstyle #3 $ }
+ -- node [ __nicematrix_node_above ] { $ \scriptstyle #2 $ }
+ node [ __nicematrix_node_below ] { $ \scriptstyle #3 $ }
( \l__nicematrix_x_final_dim , \l__nicematrix_y_final_dim ) ;
\end { scope }
}
@@ -4430,24 +4453,26 @@
{ \pgfpoint \l__nicematrix_x_initial_dim \l__nicematrix_y_initial_dim }
{ \pgfpoint \l__nicematrix_x_final_dim \l__nicematrix_y_final_dim }
}
- \pgftransformrotate
+ \fp_set:Nn \l_tmpa_fp
{
- \fp_eval:n
- {
- atand
- (
- \l__nicematrix_y_final_dim - \l__nicematrix_y_initial_dim ,
- \l__nicematrix_x_final_dim - \l__nicematrix_x_initial_dim
- )
- }
+ atand
+ (
+ \l__nicematrix_y_final_dim - \l__nicematrix_y_initial_dim ,
+ \l__nicematrix_x_final_dim - \l__nicematrix_x_initial_dim
+ )
}
+ \pgftransformrotate { \fp_use:N \l_tmpa_fp }
+ \bool_if:NF \l__nicematrix_xdots_h_labels_bool { \fp_zero:N \l_tmpa_fp }
\pgfnode
{ rectangle }
{ south }
{
- \c_math_toggle_token
- \scriptstyle \l__nicematrix_xdots_up_tl
- \c_math_toggle_token
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l__nicematrix_xdots_up_tl
+ \c_math_toggle_token
+ }
}
{ }
{ \pgfusepath { } }
@@ -4455,9 +4480,12 @@
{ rectangle }
{ north }
{
- \c_math_toggle_token
- \scriptstyle \l__nicematrix_xdots_down_tl
- \c_math_toggle_token
+ \rotatebox { \fp_eval:n { - \l_tmpa_fp } }
+ {
+ \c_math_toggle_token
+ \scriptstyle \l__nicematrix_xdots_down_tl
+ \c_math_toggle_token
+ }
}
{ }
{ \pgfusepath { } }
@@ -7735,6 +7763,9 @@
{
\group_begin:
\__nicematrix_compute_i_j:nn { #2 } { #3 }
+ % added 6.19b
+ \int_compare:nNnT \l__nicematrix_first_i_tl = \l__nicematrix_last_i_tl
+ { \cs_set:Npn \arraystretch { 1 } }
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \l__nicematrix_last_i_tl > \g__nicematrix_row_total_int }
{ \int_compare_p:nNn \l__nicematrix_last_j_tl > \g__nicematrix_col_total_int }
@@ -8630,6 +8661,7 @@
{
The~available~keys~are~(in~alphabetic~order):~
'color',~
+ 'horizontal-labels',~
'inter',~
'line-style',~
'radius',~