summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-09-08 21:07:10 +0000
committerKarl Berry <karl@freefriends.org>2020-09-08 21:07:10 +0000
commit3741b8b40f8f8c90286ae327cb29eadc441fb84e (patch)
tree13d718edb6f3d277f7306f10cadfaa142b3fe7ac /Master/texmf-dist
parent8e729e92f045234de5911140817f9815cecc614f (diff)
witharrows (8sep20)
git-svn-id: svn://tug.org/texlive/trunk@56296 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/generic/witharrows/witharrows-french.pdfbin266688 -> 270033 bytes
-rw-r--r--Master/texmf-dist/doc/generic/witharrows/witharrows-french.tex40
-rw-r--r--Master/texmf-dist/doc/generic/witharrows/witharrows.pdfbin638897 -> 643250 bytes
-rw-r--r--Master/texmf-dist/doc/generic/witharrows/witharrows.tex38
-rw-r--r--Master/texmf-dist/source/generic/witharrows/witharrows.dtx97
-rw-r--r--Master/texmf-dist/tex/generic/witharrows/witharrows.sty38
6 files changed, 150 insertions, 63 deletions
diff --git a/Master/texmf-dist/doc/generic/witharrows/witharrows-french.pdf b/Master/texmf-dist/doc/generic/witharrows/witharrows-french.pdf
index 3c95de9c427..10b2e831912 100644
--- a/Master/texmf-dist/doc/generic/witharrows/witharrows-french.pdf
+++ b/Master/texmf-dist/doc/generic/witharrows/witharrows-french.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/witharrows/witharrows-french.tex b/Master/texmf-dist/doc/generic/witharrows/witharrows-french.tex
index 95b3e772566..86b7f660f96 100644
--- a/Master/texmf-dist/doc/generic/witharrows/witharrows-french.tex
+++ b/Master/texmf-dist/doc/generic/witharrows/witharrows-french.tex
@@ -49,8 +49,8 @@
Title = L’extension witharrows ,
Subject = Une extension pour plain-TeX et LaTeX ,
Author = F. Pantigny
+ }
}
-}
\NewDocumentEnvironment {scope} {} {} {}
@@ -468,8 +468,16 @@ la page~\pageref{NestedEnv}.
Jusqu'à présent, nous n'avons utilisé l'environnement |{WithArrows}| qu'avec deux colonnes. Néanmoins, il est
possible de l'utiliser avec un nombre arbitraire de colonnes grâce à l'option |format|. La valeur donnée à cette
option est similaire au préambule d'un environnement |{array}|: il s'agit d'une séquence de lettres |r|, |c| et
-|l|. La valeur initiale de cette option |format| est, en fait, |rl|.
+|l| mais aussi |R|, |C| et |L|.
+\smallskip
+\colorbox{yellow!50}{\textbf{Nouveau 2.6}}\enskip
+Les lettres |R|, |C| et |L| placent des groupes vides |{}| qui permettent un espacement correct lorsque ces
+colonnes contiennent des symboles de type |\mathrel| (comme $=$, $\le$, etc.) ou |\mathbin| (comme $+$, $×$, etc.).
+Ce système est inspiré par l'environnement |{IEEEeqnarray}| de \pkg{IEEEtrantools}.
+
+\smallskip
+La valeur initiale du paramètre |format| est, en fait, |rL|.
\bigskip
Par exemple, si on veut seulement une colonne alignée à gauche, on peut utiliser l'option |format=l|.
@@ -492,7 +500,7 @@ Dans l'exemple suivant, on utilise cinq colonnes toutes centrées (l'environneme
présenté p.~\pageref{DispWithArrows}).
\begin{Verbatim}
-\begin{DispWithArrows*}[~emphase#format = ccccc@,
+\begin{DispWithArrows*}[~emphase#format = cCcCc@,
wrap-lines,
interline=1mm]
k & \;\le\; & t & \;\le\; & k+1 \\
@@ -504,7 +512,7 @@ k & \;\le\; & t & \;\le\; & k+1 \\
\frac{1}{k+1} & \le & \ln(k+1)-\ln(k) & \le & \frac{1}{k}
\end{DispWithArrows*}
\end{Verbatim}
-\begin{DispWithArrows*}[format = ccccc,
+\begin{DispWithArrows*}[format = cCcCc,
wrap-lines,
interline=1mm]
k & \;\le\; & t & \;\le\; & k+1 \\
@@ -2464,13 +2472,13 @@ E & \Longleftrightarrow \frac{(x+4)}3 + \frac{5x+3}5 = 7
\subsection{Boucle numérotée automatique}
Supposons que nous voulions tracer une boucle avec des flèches numérotées. Dans ce but, il est
-possible d'écrire une commande dédiée |\BoucleNumérotée| qui fera le travail quand elle
+possible d'écrire une commande dédiée |\NumberedLoop| qui fera le travail quand elle
sera utilisée dans le |code-after|. Dans l'exemple suivant, nous avons écrit cette commande avec
|\NewDocumentCommand| de \pkg{xparse} et |\foreach| de \pkg{pgffor} (ces deux
extensions sont chargées quand \pkg{witharrows} est chargé.).
\begin{Verbatim}
-\NewDocumentCommande \NombreedLoop {}
+\NewDocumentCommande \NomberedLoop {}
{\foreach \j dans {2,...,\WithArrowsNbLines}
{ \pgfmathtruncatemacro{\i}{\j-1}
\Arrow[rr]{\i}{\j}{\i} }
@@ -2484,7 +2492,7 @@ compteur).
\bigskip
\begin{Verbatim}
-$\begin{WithArrows}[~emphase#code-after = \BoucleNumérotée@]
+$\begin{WithArrows}[~emphase#code-after = \NumberedLoop@]
a.\;& f \text{ est continue sur } E \\
b.\;& f \text{ est continue en } 0 \\
c.\;& f \text{ est bornée sur la sphère unité} \\
@@ -2495,14 +2503,14 @@ e.\;& f \text{ est lipschitzienne}
\bigskip
\begin{scope}
-\NewDocumentCommand \BoucleNumérotée {}
+\NewDocumentCommand \NumberedLoop {}
{\foreach \j in {2,...,\WithArrowsNbLines}
{ \pgfmathtruncatemacro{\i}{\j-1}
\Arrow[rr]{\i}{\j}{\i} }
\Arrow[rr,xoffset=1cm,tikz=<-]{1}{\WithArrowsNbLines}{\WithArrowsNbLines}}
-$\begin{WithArrows}[code-after = \BoucleNumérotée]
+$\begin{WithArrows}[code-after = \NumberedLoop]
a.\;& f \text{ est continue sur } E \\
b.\;& f \text{ est continue en } 0 \\
c.\;& f \text{ est bornée sur la sphère unité} \\
@@ -2523,7 +2531,7 @@ tikz-code = {\draw (~#1) to node {\footnotesize (~#3)} (~#2) ;}
\WithArrowsOptions{tikz-code = {\draw (#1) to node {\footnotesize (#3)} (#2) ;}}
-$\begin{WithArrows}[code-after = \BoucleNumérotée]
+$\begin{WithArrows}[code-after = \NumberedLoop]
a.\;& f \text{ est continue on } E \\
b.\;& f \text{ est continue dans } 0 \\
c.\;& f \text{ est bornée sur la sphère unité} \\
@@ -2537,7 +2545,17 @@ e.\;& f \text{ est lipschitzienne}
\section*{Autre documentation}
Le document |witharrows.pdf| (fourni avec l'extension \pkg{witharrows}) contient une traduction anglaise de la
-documentation ici présente, ainsi que le code source commenté et un historique des versions.
+documentation ici présente, ainsi que le code source commenté et un historique des versions.
+
+
+\bigskip
+Les versions successives du fichier |witharrows.sty| fournies par TeXLive sont disponibles sur le serveur
+\textsc{svn} de TeXLive :
+
+{
+\small
+\url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/nicematrix/witharrows.sty}
+}
diff --git a/Master/texmf-dist/doc/generic/witharrows/witharrows.pdf b/Master/texmf-dist/doc/generic/witharrows/witharrows.pdf
index 3d89c2d2429..7b350f06316 100644
--- a/Master/texmf-dist/doc/generic/witharrows/witharrows.pdf
+++ b/Master/texmf-dist/doc/generic/witharrows/witharrows.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/witharrows/witharrows.tex b/Master/texmf-dist/doc/generic/witharrows/witharrows.tex
index 2b94910abee..3e806744d6e 100644
--- a/Master/texmf-dist/doc/generic/witharrows/witharrows.tex
+++ b/Master/texmf-dist/doc/generic/witharrows/witharrows.tex
@@ -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{2.5.1}
-\def\myfiledate{2020/07/28}
+\def\myfileversion{2.6}
+\def\myfiledate{2020/09/08}
\input tikz.tex
\input expl3-generic.tex
\usetikzlibrary{arrows.meta,bending}
@@ -71,10 +71,19 @@
\sort_return_same:
}
}
+\cs_new_protected:Npn \__witharrows_convert_to_str_seq:N #1
+ {
+ \seq_clear:N \l_tmpa_seq
+ \seq_map_inline:Nn #1
+ {
+ \seq_put_left:Nx \l_tmpa_seq { \tl_to_str:n { ##1 } }
+ }
+ \seq_set_eq:NN #1 \l_tmpa_seq
+ }
\cs_new_protected:Npn \__witharrows_set_seq_of_str_from_clist:Nn #1 #2
{
\seq_set_from_clist:Nn #1 { #2 }
- \seq_set_map:NNn #1 #1 { \tl_to_str:n { ##1 } }
+ \__witharrows_convert_to_str_seq:N #1
}
\cs_new_protected:Npn \__witharrows_save:N #1
{
@@ -327,7 +336,7 @@
\tl_if_empty:nTF { #1 }
{ \__witharrows_error:n { Invalid~option~format } }
{
- \regex_match:nnTF { \A[rcl]*\Z } { #1 }
+ \regex_match:nnTF { \A[rclRCL]*\Z } { #1 }
{ \tl_set:Nn \l__witharrows_format_str { #1 } }
{ \__witharrows_error:n { Invalid~option~format } }
} ,
@@ -592,7 +601,7 @@
\int_zero_new:N \l__witharrows_pos_of_arrow_int
\int_zero_new:N \l__witharrows_jump_int
\int_set:Nn \l__witharrows_jump_int 1
- \str_set:Nn \l__witharrows_format_str { rl }
+ \str_set:Nn \l__witharrows_format_str { rL }
\skip_zero:N \l__witharrows_interline_skip
\tl_clear_new:N \l__witharrows_code_before_tl
\tl_clear_new:N \l__witharrows_code_after_tl
@@ -612,7 +621,7 @@
{
\seq_pop_right:NNTF \l__witharrows_format_seq \l__witharrows_type_col_str
{
- \use:x
+ \use:e
{
\int_gdecr:N \g__witharrows_col_int
\__witharrows_construct_halign:
@@ -621,21 +630,26 @@
\cs_set_eq:cN { \l__witharrows_command_name_str } \__witharrows_Arrow
}
\str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
\str_if_eq:VnT \l__witharrows_type_col_str { r } \hfill
+ \str_if_eq:VnT \l__witharrows_type_col_str { R } \hfill
\int_gincr:N \g__witharrows_col_int
\int_gset:Nn \g__witharrows_static_col_int { \int_use:N \g__witharrows_col_int }
\c_math_toggle_token
- {
- { }
- \bool_if:NT \l__witharrows_displaystyle_bool \displaystyle
- ####
- }
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:VnT \l__witharrows_type_col_str { L } { { } }
+ \bool_if:NT \l__witharrows_displaystyle_bool \displaystyle
+ ##
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:VnT \l__witharrows_type_col_str { R } { { } }
\c_math_toggle_token
\int_compare:nNnTF \g__witharrows_col_int = \l__witharrows_nb_cols_int
- { \__witharrows_construct_nodes: }
+ \__witharrows_construct_nodes:
{
\str_if_eq:VnT \l__witharrows_type_col_str { l } \hfil
+ \str_if_eq:VnT \l__witharrows_type_col_str { L } \hfil
\str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
\bool_if:NT \l__witharrows_in_DispWithArrows_bool { \tabskip = \c_zero_skip }
&
}
diff --git a/Master/texmf-dist/source/generic/witharrows/witharrows.dtx b/Master/texmf-dist/source/generic/witharrows/witharrows.dtx
index b32e5f62d81..79f46f5d697 100644
--- a/Master/texmf-dist/source/generic/witharrows/witharrows.dtx
+++ b/Master/texmf-dist/source/generic/witharrows/witharrows.dtx
@@ -15,8 +15,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{2.5.1}
-\def\myfiledate{2020/07/28}
+\def\myfileversion{2.6}
+\def\myfiledate{2020/09/08}
%
%
%<*batchfile>
@@ -505,8 +505,18 @@ version 2005/12/01 or later.
% So far, we have used the environment |{WithArrows}| with two columns. However,
% it's possible to use the environment with an arbitrary number of columns with
% the option |format|. The value given to this option is like the preamble of an
-% environment |{array}|, that is to say a sequence of letters |r|, |c| and |l|.
-% The initial value of the option |format| is, in fact, |rl|.
+% environment |{array}|, that is to say a sequence of letters |r|, |c| and |l|,
+% but also |R|, |C| and |L|.
+%
+% \smallskip
+% \colorbox{yellow!50}{\textbf{New 2.6}}\enskip
+% The letters |R|, |C| and |L| add empty groups |{}| which provide correct
+% spaces when these columns contain symbols with the type |\mathrel| (such as
+% $=$, $\leq$, etc.) or |\mathbin| (such as $+$, $\times$, etc.). This system is
+% inspired by the environment |{IEEEeqnarray}| of the package \pkg{IEEEtrantools}.
+%
+% \smallskip
+% The initial value of the parameter |format| is, in fact, |rL|.
%
% \bigskip
% For exemple, if we want only one column left-aligned, we use the option |format=l|.
@@ -529,7 +539,7 @@ version 2005/12/01 or later.
% |{DispWithArrows*}| is presented p.~\pageref{DispWithArrows}).
%
% \begin{Verbatim}
-% \begin{DispWithArrows*}[~emphase#format = ccccc@,
+% \begin{DispWithArrows*}[~emphase#format = cCcCc@,
% wrap-lines,
% tikz = {align = flush left},
% interline=1mm]
@@ -542,7 +552,7 @@ version 2005/12/01 or later.
% \frac{1}{k+1} & \le & \ln(k+1)-\ln(k) & \le & \frac{1}{k}
% \end{DispWithArrows*}
% \end{Verbatim}
-% \begin{DispWithArrows*}[format = ccccc,
+% \begin{DispWithArrows*}[format = cCcCc,
% wrap-lines,
% tikz = {align = flush left},
% interline=1mm]
@@ -1870,7 +1880,7 @@ version 2005/12/01 or later.
% \interitem
% \section{Advanced features}
%
-% \subsection{Utilisation with plain-TeX}
+% \subsection{Use with plain-TeX}
% \label{plain-TeX}
%
% The extension \pkg{witharrows} can be used with plain-TeX. In this case, the
@@ -2300,7 +2310,7 @@ version 2005/12/01 or later.
%
%
% \bigskip
-% Example of utilisation:
+% Example of use:
%
% \begin{Verbatim}
% $\begin{WithArrows}[groups]
@@ -2917,14 +2927,29 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% The following command creates a sequence of strings (|str|) from a |clist|. Be
-% careful: we use |\seq_set_map:NNn| and the name of that function will maybe
-% change to |\eq_set_map_x:NNn|.
+% The following command creates a sequence of strings (|str|) from a |clist|.
+%
+%
+% The following command converts all the elements of a sequence (which are token
+% lists) into strings.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_convert_to_str_seq:N #1
+ {
+ \seq_clear:N \l_tmpa_seq
+ \seq_map_inline:Nn #1
+ {
+ \seq_put_left:Nx \l_tmpa_seq { \tl_to_str:n { ##1 } }
+ }
+ \seq_set_eq:NN #1 \l_tmpa_seq
+ }
+% \end{macrocode}
+%
+% The following command creates a sequence of strings (|str|) from a |clist|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_set_seq_of_str_from_clist:Nn #1 #2
{
\seq_set_from_clist:Nn #1 { #2 }
- \seq_set_map:NNn #1 #1 { \tl_to_str:n { ##1 } }
+ \@@_convert_to_str_seq:N #1
}
% \end{macrocode}
%
@@ -3192,7 +3217,7 @@ version 2005/12/01 or later.
% We will also use a ``static'' version of the counter of columns, called
% |\g_@@_static_col_int|. The value will be set directly in each cell of the
% array by an instruction in the template of the |\halign|. The aim of this
-% programmation is to try to detect some utilisation of |\omit| (which should be
+% programmation is to try to detect some use of |\omit| (which should be
% forbidden) in the cells of the |\halign|.
% \begin{macrocode}
\seq_new:N \g_@@_static_col_int_seq
@@ -3618,7 +3643,7 @@ version 2005/12/01 or later.
\tl_if_empty:nTF { #1 }
{ \@@_error:n { Invalid~option~format } }
{
- \regex_match:nnTF { \A[rcl]*\Z } { #1 }
+ \regex_match:nnTF { \A[rclRCL]*\Z } { #1 }
{ \tl_set:Nn \l_@@_format_str { #1 } }
{ \@@_error:n { Invalid~option~format } }
} ,
@@ -4162,7 +4187,7 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% In the preamble of the |\halign|, there will be \emph{two} counters of the
-% columns. The aim of this programmation is to detect the utilisation of a
+% columns. The aim of this programmation is to detect the use of a
% command |\omit| in a cell of the |\halign| (it should be forbidden).
% For example, in the part of the preamble concerning the third column (if there
% is a third column in the environment), we will have the following instructions :
@@ -4223,7 +4248,7 @@ version 2005/12/01 or later.
% The string |\l_@@_format_str| corresponds to the option |format|. Now, we set
% the initial value for this option.
% \begin{macrocode}
- \str_set:Nn \l_@@_format_str { rl }
+ \str_set:Nn \l_@@_format_str { rL }
% \end{macrocode}
%
%
@@ -4370,8 +4395,8 @@ version 2005/12/01 or later.
% stream of TeX. That means that the part of the preamble concerning the last
% cell will be constructed first.
% \item The function |\@@_construct_halign:| is recursive in order to treat
-% succesively all the letters of the preamble.
-% \item Each part of the preamble is created with a |\use:x| function. This
+% successively all the letters of the preamble.
+% \item Each part of the preamble is created with a |\use:e| function. This
% expansion of the preamble gives the ability of controlling which parts of the
% code will be expanded during the construction of the preamble (other parts
% will be expanded and executed only during the execution of the |\halign|).
@@ -4386,18 +4411,18 @@ version 2005/12/01 or later.
\seq_pop_right:NNTF \l_@@_format_seq \l_@@_type_col_str
{
% \end{macrocode}
-% Here is the |\use:x| which is fundamental: it will really construct the part
+% Here is the |\use:e| which is fundamental: it will really construct the part
% of the preamble corresponding to a column by expanding only some parts of the
% following code.
% \begin{macrocode}
- \use:x
+ \use:e
{
% \end{macrocode}
% Before the recursive call of |\@@_construct_halign:|, we decrease the integer
% |\g_@@_col_bool|. But, during the construction of the column which is
% constructed first (that is to say which is the last column of the |\halign|),
% it is \emph{not} lowered because |\int_decr:N|, which is protected, won't be
-% expanded by the |\use:x|.
+% expanded by the |\use:e|.
%
% We begin the construction of a generic column.
% \begin{macrocode}
@@ -4409,7 +4434,7 @@ version 2005/12/01 or later.
% We redefine the command |\Arrow| (or the name given to the corresponding
% command by the option |command-name|) in each cell of the last column.
% The braces around |\l_@@_command_name_str| are mandatory because
-% |\l_@@_command_name_str| will be expanded by the |\use:x| and the command
+% |\l_@@_command_name_str| will be expanded by the |\use:e| and the command
% |\cs_set_eq:cN| must still be efficient during the execution of the |\halign|.
% \begin{macrocode}
\cs_set_eq:cN { \l_@@_command_name_str } \@@_Arrow
@@ -4432,18 +4457,21 @@ version 2005/12/01 or later.
%</LaTeX>
}
\str_if_eq:VnT \l_@@_type_col_str { c } \hfil
+ \str_if_eq:VnT \l_@@_type_col_str { C } \hfil
\str_if_eq:VnT \l_@@_type_col_str { r } \hfill
+ \str_if_eq:VnT \l_@@_type_col_str { R } \hfill
\int_gincr:N \g_@@_col_int
\int_gset:Nn \g_@@_static_col_int { \int_use:N \g_@@_col_int }
\c_math_toggle_token
- {
- { }
- \bool_if:NT \l_@@_displaystyle_bool \displaystyle
- ####
- }
+ \str_if_eq:VnT \l_@@_type_col_str { C } { { } }
+ \str_if_eq:VnT \l_@@_type_col_str { L } { { } }
+ \bool_if:NT \l_@@_displaystyle_bool \displaystyle
+ ##
+ \str_if_eq:VnT \l_@@_type_col_str { C } { { } }
+ \str_if_eq:VnT \l_@@_type_col_str { R } { { } }
\c_math_toggle_token
\int_compare:nNnTF \g_@@_col_int = \l_@@_nb_cols_int
- { \@@_construct_nodes: }
+ \@@_construct_nodes:
{
% \end{macrocode}
% The following glue (|\hfil|) will be added only if we are not in the last cell
@@ -4451,7 +4479,9 @@ version 2005/12/01 or later.
% |\@@_construct_nodes:|).
% \begin{macrocode}
\str_if_eq:VnT \l_@@_type_col_str { l } \hfil
+ \str_if_eq:VnT \l_@@_type_col_str { L } \hfil
\str_if_eq:VnT \l_@@_type_col_str { c } \hfil
+ \str_if_eq:VnT \l_@@_type_col_str { C } \hfil
\bool_if:NT \l_@@_in_DispWithArrows_bool { \tabskip = \c_zero_skip }
&
}
@@ -7681,6 +7711,13 @@ version 2005/12/01 or later.
%
% \section{History}
%
+% The successive versions of the file |witharrows.sty| provided by TeXLive are available on the
+% \textsc{svn} server of TeXLive:
+%
+% {
+% \small
+% \url{https:www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/witharrows/witharrows.sty}
+% }
% \subsection*{Changes between versions 1.0 and 1.1}
%
% Option for the command |\\| and option |interline|
@@ -7887,6 +7924,10 @@ version 2005/12/01 or later.
%
% Correction of the erroneous programmation of the nodes aliases.
%
+% \subsection*{Changes between 2.5.1 and 2.6}
+%
+% The key |format| now support the letters |R|, |C| and |L|.
+%
% \PrintIndex
%
% \tableofcontents
diff --git a/Master/texmf-dist/tex/generic/witharrows/witharrows.sty b/Master/texmf-dist/tex/generic/witharrows/witharrows.sty
index 0edf18a42e3..9f49ebbca2e 100644
--- a/Master/texmf-dist/tex/generic/witharrows/witharrows.sty
+++ b/Master/texmf-dist/tex/generic/witharrows/witharrows.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{2.5.1}
-\def\myfiledate{2020/07/28}
+\def\myfileversion{2.6}
+\def\myfiledate{2020/09/08}
\RequirePackage{tikz}
\usetikzlibrary{arrows.meta,bending}
\RequirePackage{l3keys2e}
@@ -150,10 +150,19 @@
\sort_return_same:
}
}
+\cs_new_protected:Npn \__witharrows_convert_to_str_seq:N #1
+ {
+ \seq_clear:N \l_tmpa_seq
+ \seq_map_inline:Nn #1
+ {
+ \seq_put_left:Nx \l_tmpa_seq { \tl_to_str:n { ##1 } }
+ }
+ \seq_set_eq:NN #1 \l_tmpa_seq
+ }
\cs_new_protected:Npn \__witharrows_set_seq_of_str_from_clist:Nn #1 #2
{
\seq_set_from_clist:Nn #1 { #2 }
- \seq_set_map:NNn #1 #1 { \tl_to_str:n { ##1 } }
+ \__witharrows_convert_to_str_seq:N #1
}
\cs_new_protected:Npn \__witharrows_save:N #1
{
@@ -469,7 +478,7 @@
\tl_if_empty:nTF { #1 }
{ \__witharrows_error:n { Invalid~option~format } }
{
- \regex_match:nnTF { \A[rcl]*\Z } { #1 }
+ \regex_match:nnTF { \A[rclRCL]*\Z } { #1 }
{ \tl_set:Nn \l__witharrows_format_str { #1 } }
{ \__witharrows_error:n { Invalid~option~format } }
} ,
@@ -727,7 +736,7 @@
\int_zero_new:N \l__witharrows_pos_of_arrow_int
\int_zero_new:N \l__witharrows_jump_int
\int_set:Nn \l__witharrows_jump_int 1
- \str_set:Nn \l__witharrows_format_str { rl }
+ \str_set:Nn \l__witharrows_format_str { rL }
\seq_clear_new:N \l__witharrows_labels_seq
\bool_set_false:N \l__witharrows_tag_next_line_bool
\skip_zero:N \l__witharrows_interline_skip
@@ -756,7 +765,7 @@
{
\seq_pop_right:NNTF \l__witharrows_format_seq \l__witharrows_type_col_str
{
- \use:x
+ \use:e
{
\int_gdecr:N \g__witharrows_col_int
\__witharrows_construct_halign:
@@ -770,21 +779,26 @@
}
}
\str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
\str_if_eq:VnT \l__witharrows_type_col_str { r } \hfill
+ \str_if_eq:VnT \l__witharrows_type_col_str { R } \hfill
\int_gincr:N \g__witharrows_col_int
\int_gset:Nn \g__witharrows_static_col_int { \int_use:N \g__witharrows_col_int }
\c_math_toggle_token
- {
- { }
- \bool_if:NT \l__witharrows_displaystyle_bool \displaystyle
- ####
- }
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:VnT \l__witharrows_type_col_str { L } { { } }
+ \bool_if:NT \l__witharrows_displaystyle_bool \displaystyle
+ ##
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } { { } }
+ \str_if_eq:VnT \l__witharrows_type_col_str { R } { { } }
\c_math_toggle_token
\int_compare:nNnTF \g__witharrows_col_int = \l__witharrows_nb_cols_int
- { \__witharrows_construct_nodes: }
+ \__witharrows_construct_nodes:
{
\str_if_eq:VnT \l__witharrows_type_col_str { l } \hfil
+ \str_if_eq:VnT \l__witharrows_type_col_str { L } \hfil
\str_if_eq:VnT \l__witharrows_type_col_str { c } \hfil
+ \str_if_eq:VnT \l__witharrows_type_col_str { C } \hfil
\bool_if:NT \l__witharrows_in_DispWithArrows_bool { \tabskip = \c_zero_skip }
&
}