summaryrefslogtreecommitdiff
path: root/macros/generic/witharrows/witharrows.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/generic/witharrows/witharrows.dtx')
-rw-r--r--macros/generic/witharrows/witharrows.dtx516
1 files changed, 261 insertions, 255 deletions
diff --git a/macros/generic/witharrows/witharrows.dtx b/macros/generic/witharrows/witharrows.dtx
index 9b3e9c5869..fc8cd3ae2a 100644
--- a/macros/generic/witharrows/witharrows.dtx
+++ b/macros/generic/witharrows/witharrows.dtx
@@ -1,6 +1,6 @@
%\iffalse meta-comment
%
-% Copyright (C) 2017-2019 by F. Pantigny
+% Copyright (C) 2017-2020 by F. Pantigny
% -----------------------------------
%
% This file may be distributed and/or modified under the
@@ -15,8 +15,8 @@
%
% \fi
% \iffalse
-\def\myfileversion{2.3}
-\def\myfiledate{2019/12/27}
+\def\myfileversion{2.4}
+\def\myfiledate{2020/03/31}
%
%
%<*batchfile>
@@ -26,7 +26,7 @@
\usedir{tex/latex/witharrows}
\preamble
-Copyright (C) 2017-2019 by F. Pantigny
+Copyright (C) 2017-2020 by F. Pantigny
-----------------------------------
This file may be distributed and/or modified under the
@@ -1492,7 +1492,10 @@ version 2005/12/01 or later.
% With the option |fleqn|, the environment is composed flush left (in a way
% similar to the option |fleqn| of the standard classes of LaTeX). In this case,
% the left margin can be controlled with the option |mathindent| (with a name
-% inspired by the parameter |\mathindent| of standard LaTeX). The initial value
+% inspired by the parameter |\mathindent| of standard LaTeX\footnote{In LaTeX,
+% |mathindent| is a dimension (|dim|) and not a glue (|skip|) but should become
+% a skip in a future version of LaTeX. As for now, the parameter |mathindent| of
+% \pkg{witharrows} is a dimension.}). The initial value
% of this parameter is 25~pt.
%
% \begin{Verbatim}
@@ -1806,7 +1809,7 @@ version 2005/12/01 or later.
%
% \medskip
% The version of \pkg{witharrows} for plain-TeX doesn't provide all the
-% functionnalities of the LaTeX version. In particular, the functionnalities which
+% functionalities of the LaTeX version. In particular, the functionalities which
% deal with the number of the equations are not available (since they rely upon
% the system of tags of LaTeX).
%
@@ -2095,6 +2098,20 @@ version 2005/12/01 or later.
% errors can be raised, for example if an arrow would arrive after the last row
% of the environment.
%
+% \bigskip
+% \subsection{Note for the users of AUCTeX}
+%
+% In a editor of text with a LaTeX-oriented mode, the environments
+% |{DispWithArrows}| and |{DispWithArrows*}| should be formated like the
+% environment |equation| of LaTeX, that is to say with a formating adapted to
+% the math mode of TeX.
+%
+% In Emacs with the AUCTeX mode, it's possible to achieve such a customization
+% by adding the strings |"DispWithArrows"| and |"DispWithArrows*"| to the
+% variable |font-latex-math-environments|. It's possible to do that with the
+% ``easy customization'' interface of Emacs:
+%
+% |M-x customize| > |[Text]| > |[TeX]| > |[Font LaTeX]|
%
% \bigskip
% \subsection{Note for developpers}
@@ -2259,7 +2276,7 @@ version 2005/12/01 or later.
% & = \frac1n\sum_{k=0}^{n-1} \Re\left(e^{i\frac{k\pi}{2n}}\right)
% \Arrow{$\Re(z+z')=\Re(z)+\Re(z')$}\\
% & = \frac1n \Re\left(\sum_{k=0}^{n-1} e^{i\frac{k\pi}{2n}}\right)
-% \Arrow{$\exp$ is a morphism for $\times$ et $+$} \\
+% \Arrow{$\exp$ is a morphism for $\times$ and $+$} \\
% & = \frac1n \Re \left(\sum_{k=0}^{n-1}\bigl(e^{i\frac{\pi}{2n}}\bigr)^k\right)
% \Arrow{sum of terms of a geometric progression of ratio $e^{i\frac{2\pi}n}$}\\
% & = \frac1n \Re \left( \frac{1-\bigl(e^{i\frac{\pi}{2n}}\bigr)^n}{1-e^{i\frac{\pi}{2n}}}\right)\\
@@ -2322,7 +2339,7 @@ version 2005/12/01 or later.
% & = \frac1n\sum_{k=0}^{n-1} \Re\left(e^{i\frac{k\pi}{2n}}\right)
% \Arrow{$\Re(z+z')=\Re(z)+\Re(z')$}\\
% & = \frac1n \Re\left(\sum_{k=0}^{n-1} e^{i\frac{k\pi}{2n}}\right)
-% \Arrow{$\exp$ is a morphism for $\times$ et $+$} \\
+% \Arrow{$\exp$ is a morphism for $\times$ and $+$} \\
% & = \frac1n \Re \left(\sum_{k=0}^{n-1}\bigl(e^{i\frac{\pi}{2n}}\bigr)^k\right)
% \Arrow{sum of terms of a geometric progression of ratio $e^{i\frac{2\pi}n}$}\\
% & = \frac1n \Re \left( \frac{1-\bigl(e^{i\frac{\pi}{2n}}\bigr)^n}{1-e^{i\frac{\pi}{2n}}}\right)\\
@@ -2473,18 +2490,23 @@ version 2005/12/01 or later.
%
% \subsection{Declaration of the package and extensions loaded}
%
+% The prefix |witharrows| has been registred for this extension.
%
+% See: |http://mirrors.ctan.org/macros/latex/contrib/l3kernel/l3prefixes.pdf|
+%
+%<@@=witharrows>
+%
+% \bigskip
% First, \pkg{tikz} and some Tikz libraries are loaded before the
% |\ProvidesExplPackage|. They are loaded this way because |\usetikzlibrary| in
% |expl3| code fails.\footnote{cf.
% |tex.stackexchange.com/questions/57424/using-of-usetikzlibrary-in-an-expl3-package-fails|}
%
-%<@@=witharrows>
%
% \begin{macrocode}
%<*LaTeX>
\RequirePackage{tikz}
-\RequirePackage{expl3}[2019/07/01]
+\RequirePackage{expl3}[2020/02/08]
%</LaTeX>
%<*plain-TeX>
\input tikz.tex
@@ -2506,6 +2528,23 @@ version 2005/12/01 or later.
{Draws arrows for explanations on the right}
% \end{macrocode}
%
+%
+% \medskip
+% The version of 2020/02/08 of \pkg{expl3} has replaced |\l_keys_key_tl| by
+% |\l_keys_key_str|. We have immediatly changed in this file. Now, you test the
+% existence of |\l_keys_key_str| in order to detect if the version of LaTeX used
+% by the final user is up to date.
+% \begin{macrocode}
+\msg_new:nnn { witharrows } { expl3~too~old }
+ {
+ Your~version~of~LaTeX~(especially~expl3)~is~too~old.~
+ You~can~go~on~but~you~will~probably~have~other~errors~
+ if~you~use~the~functionalities~of~witharrows.
+ }
+\cs_if_exist:NF \l_keys_key_str
+ { \msg_error:nn { witharrows } { expl3~too~old } }
+% \end{macrocode}
+%
% \bigskip
% The package \pkg{xparse} will be used to define the environments
% |{WithArrows}|, |{DispWithArrows}|, |{DispWithArrows*}| and the commands
@@ -2578,7 +2617,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Option~unknown~for~package }
{
- You~can't~use~the~option~'\l_keys_key_tl'~when~loading~the~
+ You~can't~use~the~option~'\l_keys_key_str'~when~loading~the~
package~witharrows.~Try~to~use~the~command~
\token_to_str:N\WithArrowsOptions.
}
@@ -2596,7 +2635,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Option~incompatible~with~Beamer }
{
- The~option~'\l_keys_key_tl'\ is~incompatible~
+ The~option~'\l_keys_key_str'\ is~incompatible~
with~Beamer~because~Beamer~has~its~own~system~to~extract~footnotes.
}
% \end{macrocode}
@@ -2986,7 +3025,7 @@ version 2005/12/01 or later.
% \bigskip
% The integer |\l_@@_pos_arrow_int| indicates the position of the arrow with the
% following code (the option |v| is accessible only for the arrows in
-% |code-after| where the options |i|, |group| et |groups| are not available).
+% |code-after| where the options |i|, |group| and |groups| are not available).
%
% \begin{center}
% \begin{tabular}{l}
@@ -3193,7 +3232,7 @@ version 2005/12/01 or later.
{
\str_if_empty:NTF \l_@@_previous_key_str
{
- \str_set_eq:NN \l_@@_previous_key_str \l_keys_key_tl
+ \str_set_eq:NN \l_@@_previous_key_str \l_keys_key_str
#1
}
{ \@@_error:n { Incompatible~options } }
@@ -3217,18 +3256,21 @@ version 2005/12/01 or later.
max-length-of-arrow .initial:n = 2 cm ,
ygap .dim_set:N = \l_@@_ygap_dim ,
ygap .initial:n = 0.4 ex ,
+ ygap .value_required:n = true ,
ystart .dim_set:N = \l_@@_ystart_dim ,
-
+ ystart .value_required:n = true ,
ystart .initial:n = 0.4 ex ,
more-columns .code:n =
\@@_msg_redirect_name:nn { Too~much~columns~in~WithArrows } { none } ,
+ more-columns .value_forbidden:n = true ,
command-name .code:n =
\str_set:Nn \l_@@_command_name_str { #1 }
\str_set:Nx \l_@@_string_Arrow_for_msg_str
{ \c_backslash_str Arrow~alias~\c_backslash_str #1 } ,
+ command-name .value_required:n = true ,
tikz-code .tl_set:N = \l_@@_tikz_code_tl,
tikz-code .initial:n = \draw~(#1)~to~node{#3}~(#2)~; ,
- TikzCode .meta:n = { tikz-code = #1 } ,
+ tikz-code .value_required:n = true ,
displaystyle .bool_set:N = \l_@@_displaystyle_bool ,
displaystyle .default:n = true ,
show-nodes .code:n =
@@ -3243,6 +3285,7 @@ version 2005/12/01 or later.
\int_set:Nn \l_@@_pos_arrow_int 7
}
{ \@@_error:n { Incompatible~options } } ,
+ group .value_forbidden:n = true ,
groups .code:n =
\str_if_empty:NTF \l_@@_previous_key_str
{
@@ -3253,23 +3296,36 @@ version 2005/12/01 or later.
\int_set:Nn \l_@@_pos_arrow_int 6
}
{ \@@_error:n { Incompatible~options } } ,
+ groups .value_forbidden:n = true ,
tikz .code:n = \tikzset { WithArrows / arrow / .append~style = { #1 } } ,
tikz .initial:n = \c_empty_tl ,
+ tikz .value_required:n = true ,
rr .code:n = \@@_fix_pos_option:n 3 ,
+ rr .value_forbidden:n = true ,
ll .code:n = \@@_fix_pos_option:n 1 ,
+ ll .value_forbidden:n = true ,
rl .code:n = \@@_fix_pos_option:n 2 ,
+ rl .value_forbidden:n = true ,
lr .code:n = \@@_fix_pos_option:n 0 ,
+ lr .value_forbidden:n = true ,
i .code:n = \@@_fix_pos_option:n 5 ,
+ i .value_forbidden:n = true ,
xoffset .dim_set:N = \l_@@_xoffset_dim ,
+ xoffset .value_required:n = true ,
xoffset .initial:n = 3 mm ,
jot .dim_set:N = \jot ,
+ jot .value_required:n = true ,
interline .skip_set:N = \l_@@_interline_skip ,
start-adjust .dim_set:N = \l_@@_start_adjust_dim ,
start-adjust .initial:n = 0.4 ex ,
+ start-adjust .value_required:n = true ,
end-adjust .dim_set:N = \l_@@_end_adjust_dim ,
end-adjust .initial:n = 0.4 ex ,
+ end-adjust .value_required:n = true ,
adjust .meta:n = { start-adjust = #1 , end-adjust = #1 } ,
+ adjust .value_required:n = true ,
up-and-down .code:n = \keys_set:nn { WithArrows / up-and-down } { #1 } ,
+ up-and-down .value_required:n = true ,
% \end{macrocode}
%
% \medskip
@@ -3281,37 +3337,7 @@ version 2005/12/01 or later.
no-arrows .code:n =
\cs_set_eq:NN \@@_draw_arrows:nn \use_none:nn
\cs_set_eq:NN \@@_draw_arrow:nnn \use_none:nnn ,
-% \end{macrocode}
-% The following lines are the properties |.value_required:n| and
-% |.value_forbidden:n| or the keys. These properties have no effect because they
-% are not transmitted by inheritance (unfortunately). We maintain these lines in
-% the \textsc{dtx} only for the case of a modification of |l3keys|.
-%
-% \begin{macrocode}
-%<*comment>
- ygap .value_required:n = true ,
- ystart .value_required:n = true ,
- more-columns .value_forbidden:n = true,
- command-name .value_required:n = true ,
- tikz-code .value_required:n = true ,
- group .value_forbidden:n = true ,
- groups .value_forbidden:n = true ,
- tikz .value_required:n = true ,
- show-nodes .value_forbidden:n = true,
- ll .value_forbidden:n = true ,
- rr .value_forbidden:n = true ,
- rl .value_forbidden:n = true ,
- lr .value_forbidden:n = true ,
- i .value_forbidden:n = true ,
- xoffset .value_required:n = true ,
- jot .value_required:n = true ,
- interline .value_required:n = true ,
- start-adjust .value_required:n = true ,
- end-adjust .value_required:n = true ,
- adjust .value_required:n = true ,
- up-and-down .value_required:n = true ,
no-arrows .value_forbidden:n = true
-%</comment>
}
% \end{macrocode}
%
@@ -3323,19 +3349,11 @@ version 2005/12/01 or later.
\keys_define:nn { WithArrows / WithArrowsSpecific }
{
t .code:n = \int_set:Nn \l_@@_pos_env_int O ,
- c .code:n = \int_set:Nn \l_@@_pos_env_int 1 ,
- b .code:n = \int_set:Nn \l_@@_pos_env_int 2 ,
-% \end{macrocode}
-% The following lines are the properties |.value_required:n| and
-% |.value_forbidden:n| or the keys. These properties have no effect because they
-% are not transmitted by inheritance (unfortunately). We maintain these lines in
-% the \textsc{dtx} only for the case of a modification of |l3keys|.
-% \begin{macrocode}
-%<*comment>
t .value_forbidden:n = true ,
+ c .code:n = \int_set:Nn \l_@@_pos_env_int 1 ,
c .value_forbidden:n = true ,
+ b .code:n = \int_set:Nn \l_@@_pos_env_int 2 ,
b .value_forbidden:n = true
-%</comment>
}
% \end{macrocode}
%
@@ -3351,8 +3369,9 @@ version 2005/12/01 or later.
%<*LaTeX>
\AtBeginDocument
{
- \bool_if:nT
- { \c_@@_amsmath_loaded_bool || \use:c { c_@@_unicode-math_loaded_bool } }
+ \bool_lazy_or:nnT
+ \c_@@_amsmath_loaded_bool
+ { \use:c { c_@@_unicode-math_loaded_bool } }
{
\clist_put_right:Nn \c_@@_extensible_delimiters_clist { \lvert, \lVert }
}
@@ -3372,6 +3391,7 @@ version 2005/12/01 or later.
fleqn .default:n = true ,
mathindent .dim_set:N = \l_@@_mathindent_dim ,
mathindent .initial:n = 25 pt ,
+ mathindent .value_required:n = true ,
%<*LaTeX>
notag .code:n =
\str_if_eq:nnTF { #1 } { true }
@@ -3394,16 +3414,19 @@ version 2005/12/01 or later.
\group_end:
} ,
subequations .default:n = true ,
+ subequations .value_forbidden:n = true ,
nonumber .meta:n = notag ,
allow-multiple-labels .code:n =
\@@_msg_redirect_name:nn { Multiple~labels } { none } ,
+ allow-multiple-labels .value_forbidden:n = true ,
tagged-lines .code:n =
\clist_set:Nn \l_@@_tags_clist { #1 }
\clist_if_in:NnT \l_@@_tags_clist { first }
{
\clist_remove_all:Nn \l_@@_tags_clist { first }
- \clist_put_left:Nn \l_@@_tags_clist \c_one_int
+ \clist_put_left:Nn \l_@@_tags_clist 1
} ,
+ tagged-lines .value_required:n = true ,
%</LaTeX>
wrap-lines .bool_set:N = \l_@@_wrap_lines_bool ,
wrap-lines .default:n = true ,
@@ -3427,24 +3450,11 @@ version 2005/12/01 or later.
% \begin{macrocode}
%<*LaTeX>
standard-behaviour-with-items .bool_set:N = \l_@@_sbwi_bool ,
- standard-behaviour-with-items .default:n = true ,
+ standard-behaviour-with-items .default:n = true
%</LaTeX>
-% \end{macrocode}
-% The following lines are the properties |.value_required:n| and
-% |.value_forbidden:n| or the keys. These properties have no effect because they
-% are not transmitted by inheritance (unfortunately). We maintain these lines in
-% the \textsc{dtx} only for the case of a modification of |l3keys|.
-% \begin{macrocode}
-%<*comment>
- mathindent .value_required:n = true ,
- subequations .value_forbidden:n = true ,
- allow-multiple-labels .value_forbidden:n = true ,
- tagged-lines .value_required:n = true
-%</comment>
}
% \end{macrocode}
%
-%
% \bigskip
% Now a set of keys which will be used in all the environments (but not in
% |\WithArrowsOptions}|).
@@ -3462,9 +3472,12 @@ version 2005/12/01 or later.
{ \@@_error:n { Duplicate~name } }
{ \seq_gput_left:NV \g_@@_names_seq \l_tmpa_str }
\str_set_eq:NN \l_@@_name_str \l_tmpa_str ,
+ name .value_required:n = true ,
code-before .code:n = \tl_put_right:Nn \l_@@_code_before_tl { #1 } ,
+ code-before .value_required:n = true,
CodeBefore .meta:n = { code-before = #1 } ,
code-after .code:n = \tl_put_right:Nn \l_@@_code_after_tl { #1 } ,
+ code-after .value_required:n = true ,
CodeAfter .meta:n = { code-after = #1 } ,
format .code:n =
\tl_if_empty:nTF { #1 }
@@ -3474,16 +3487,7 @@ version 2005/12/01 or later.
{ \tl_set:Nn \l_@@_format_str { #1 } }
{ \@@_error:n { Invalid~option~format } }
} ,
-% \end{macrocode}
-% The following lines are the properties |.value_required:n| and
-% |.value_forbidden:n| or the keys. These properties have no effect because they
-% are not transmitted by inheritance (unfortunately). Maybe we should delete
-% these lines.
-% \begin{macrocode}
- code-before .value_required:n = true,
- code-after .value_required:n = true ,
- name .value_required:n = true ,
- format .value_required:n = true ,
+ format .value_required:n = true
}
% \end{macrocode}
%
@@ -3629,14 +3633,14 @@ version 2005/12/01 or later.
% \end{macrocode}
%
% \bigskip
-% The command |\@@_set_independent_bis:| is the same as |\@@_set_independant:|
+% The command |\@@_set_independent_bis:| is the same as |\@@_set_independent:|
% except that the key may be used with a value.
% \begin{macrocode}
\cs_new_protected:Npn \@@_set_independent_bis:
{
\str_if_empty:NTF \l_@@_previous_key_str
{
- \str_set_eq:NN \l_@@_previous_key_str \l_keys_key_tl
+ \str_set_eq:NN \l_@@_previous_key_str \l_keys_key_str
\str_set:Nn \l_@@_status_arrow_str { independent }
}
{ \@@_error:n { Incompatible~options~in~Arrow } }
@@ -3696,7 +3700,7 @@ version 2005/12/01 or later.
xoffset .code:n = ,
unknown .code:n =
\@@_sort_seq:N \l_@@_options_Arrow_seq
- \seq_if_in:NVTF \l_@@_options_WithArrows_seq \l_keys_key_tl
+ \seq_if_in:NVTF \l_@@_options_WithArrows_seq \l_keys_key_str
{
\str_set:Nn \l_tmpa_str
{ ~However,~this~key~can~be~used~in~the~options~of~{WithArrows}. }
@@ -3725,7 +3729,7 @@ version 2005/12/01 or later.
{
\str_if_empty:NT \l_@@_previous_key_str
{
- \str_set_eq:NN \l_@@_previous_key_str \l_keys_key_tl
+ \str_set_eq:NN \l_@@_previous_key_str \l_keys_key_str
\int_set:Nn \l_@@_pos_arrow_int { #1 }
}
}
@@ -4058,7 +4062,7 @@ version 2005/12/01 or later.
% The counter |\l_@@_jump_int| corresponds to the option |jump|. Now, we set the
% initial value for this option.
% \begin{macrocode}
- \int_set:Nn \l_@@_jump_int \c_one_int
+ \int_set:Nn \l_@@_jump_int 1
% \end{macrocode}
%
% \medskip
@@ -4178,14 +4182,6 @@ version 2005/12/01 or later.
\l_@@_code_before_tl
% \end{macrocode}
%
-% \bigskip
-% The command |\spread@equation| is the command used by \pkg{amsmath} in the
-% beginning of an alignment to fix the interline. When used, it becomes no-op.
-% However, it's possible to use \pkg{witharrows} without \pkg{amsmath} since we
-% have redefined |\spread@equation| (if it is not defined yet).
-% \begin{macrocode}
- \spread@equation
-% \end{macrocode}
%
%
% \begin{macrocode}
@@ -4435,6 +4431,16 @@ version 2005/12/01 or later.
\bgroup
% \end{macrocode}
%
+%
+% \bigskip
+% The command |\spread@equation| is the command used by \pkg{amsmath} in the
+% beginning of an alignment to fix the interline. When used, it becomes no-op.
+% However, it's possible to use \pkg{witharrows} without \pkg{amsmath} since we
+% have redefined |\spread@equation| (if it is not defined yet).
+% \begin{macrocode}
+ \spread@equation
+% \end{macrocode}
+%
% \bigskip
% We begin the |\halign| and the preamble. During the construction of the
% preamble, |\l_tmpa_int| will be incremented during each column constructed.
@@ -4787,16 +4793,24 @@ version 2005/12/01 or later.
{
\bool_if:NF \c_@@_leqno_bool
{
- \tikz [ @@_standard ]
- \coordinate ( \int_use:N \g_@@_line_int - v ) ;
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate
+ { wa - \l_@@_prefix_str - \int_use:N \g_@@_line_int - v }
+ \pgfpointorigin
+ \endpgfpicture
}
\quad
\@eqnnum
}
\bool_if:NT \c_@@_leqno_bool
{
- \tikz [ @@_standard ]
- \coordinate ( \int_use:N \g_@@_line_int - v ) ;
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate
+ { wa - \l_@@_prefix_str - \int_use:N \g_@@_line_int - v }
+ \pgfpointorigin
+ \endpgfpicture
}
}
{
@@ -4808,8 +4822,12 @@ version 2005/12/01 or later.
\bool_if:NT \l_@@_qedhere_bool
{ \hbox_overlap_left:n \@@_qedhere_i: }
%</LaTeX>
- \tikz [ @@_standard ]
- \coordinate ( \int_use:N \g_@@_line_int - v ) ;
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfcoordinate
+ { wa - \l_@@_prefix_str - \int_use:N \g_@@_line_int - v }
+ \pgfpointorigin
+ \endpgfpicture
%<*LaTeX>
}
%</LaTeX>
@@ -4821,7 +4839,8 @@ version 2005/12/01 or later.
\noalign
{
\dim_set:Nn \l_tmpa_dim { \dim_max:nn { #1 } \c_zero_dim }
- \skip_vertical:n { \l_tmpa_dim + \l_@@_interline_skip }
+ \skip_vertical:N \l_tmpa_dim
+ \skip_vertical:N \l_@@_interline_skip
\scan_stop:
}
}
@@ -4909,6 +4928,32 @@ version 2005/12/01 or later.
\str_set:Nn \l_@@_type_env_str { DispWithArrows }
%</plain-TeX>
% \end{macrocode}
+%
+% \medskip
+% Since the version 1.16 of \pkg{witharrows}, no space is added between an
+% |\item| of a LaTeX list and an environment |{DispWithArrows}| except with the
+% option |standard-behaviour-with-items| stored in the boolean
+% |\l_@@_sbwi_bool|. We have to know if we are just after an |\item| and this
+% information will be stored in |\l_@@_in_label_or_minipage_bool|. We have to do
+% this test quicky after the beginning of the environment (in particular,
+% because it must be done before the execution of the
+% |code-before|\footnote{The |code-before| is not meant to contains typesetting
+% material. However, it may contain, for example, a |{tikzpicture}| with options
+% |overlay| and |remember picture| in order to draw nodes \emph{under} some
+% elements of the environment |{DispWithArrows}|.}).
+% \begin{macrocode}
+%<*LaTeX>
+ \bool_if:NF \l_@@_sbwi_bool
+ {
+ \legacy_if:nT { @inlabel }
+ { \bool_set_true:N \l_@@_in_label_or_minipage_bool }
+ \legacy_if:nT { @minipage }
+ { \bool_set_true:N \l_@@_in_label_or_minipage_bool }
+ }
+%</LaTeX>
+% \end{macrocode}
+%
+% \medskip
% If \pkg{mathtools} has been loaded with the option |showonlyrefs|, we disable
% the code of \pkg{mathtools} for the option |showonlyrefs| with the command
% |\MT_showonlyrefs_false:| (it will be reactivated at the end of the
@@ -4953,25 +4998,6 @@ version 2005/12/01 or later.
\bool_if:NT \l_@@_subequations_bool { \begin { subequations } }
%</LaTeX>
% \end{macrocode}
-% Since the version 1.16 of \pkg{witharrows}, no space is added between an
-% |\item| of a LaTeX list and an environment |{DispWithArrows}| except with the
-% option |standard-behaviour-with-items| stored in the boolean
-% |\l_@@_sbwi_bool|. We have to know if we are just after an |\item| and this
-% information will be stored in |\l_@@_in_label_or_minipage_bool|.
-% \begin{macrocode}
-%<*LaTeX>
- \bool_if:NF \l_@@_sbwi_bool
- {
- \if@inlabel
- \bool_set_true:N \l_@@_in_label_or_minipage_bool
- \fi
- \if@minipage
- \bool_set_true:N \l_@@_in_label_or_minipage_bool
- \fi
- }
-%</LaTeX>
-% \end{macrocode}
-%
%
% \begin{macrocode}
\tl_if_eq:NNF \l_@@_left_brace_tl \c_novalue_tl
@@ -5086,7 +5112,13 @@ version 2005/12/01 or later.
% \end{macrocode}
%
%
+% \bigskip
+% The command |\spread@equation| is the command used by \pkg{amsmath} in the
+% beginning of an alignment to fix the interline. When used, it becomes no-op.
+% However, it's possible to use \pkg{witharrows} without \pkg{amsmath} since we
+% have redefined |\spread@equation| (if it is not defined yet).
% \begin{macrocode}
+ \spread@equation
\@@_construct_halign:
\tabskip = 0 pt plus 1000 pt minus 1000 pt
&
@@ -5148,7 +5180,7 @@ version 2005/12/01 or later.
\hbox_to_wd:nn \l_@@_linewidth_dim
{
\bool_if:NTF \l_@@_fleqn_bool
- { \skip_horizontal:n \l_@@_mathindent_dim }
+ { \skip_horizontal:N \l_@@_mathindent_dim }
\hfil
\hbox_to_wd:nn \g_@@_alignment_dim
{
@@ -5170,7 +5202,7 @@ version 2005/12/01 or later.
}
\hfil
}
- \skip_horizontal:n { - \l_@@_linewidth_dim }
+ \skip_horizontal:N -\l_@@_linewidth_dim
\vcenter { \box_use_drop:N \l_@@_halign_box }
}
% \end{macrocode}
@@ -5184,30 +5216,20 @@ version 2005/12/01 or later.
% \begin{macrocode}
\dim_gzero_new:N \g_@@_right_x_dim
\dim_gset_eq:NN \g_@@_right_x_dim \c_max_dim
-%<*LaTeX>
- \begin { tikzpicture } [ @@_standard ]
-%</LaTeX>
-%<*plain-TeX>
- \tikzpicture [ @@_standard ]
-%</plain-TeX>
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
\int_step_variable:nNn \g_@@_line_int \l_tmpa_int
{
\cs_if_free:cTF
- { pgf@sh@ns@wa - \l_@@_prefix_str - \l_tmpa_int - v }
+ { pgf @ sh @ ns @ wa - \l_@@_prefix_str - \l_tmpa_int - v }
{ \@@_fatal:n { Inexistent~v-node } }
{
- \tikz@parse@node\pgfutil@firstofone ( \l_tmpa_int - v )
- \dim_set:Nn \l_tmpa_dim \pgf@x
- \dim_compare:nNnT \l_tmpa_dim < \g_@@_right_x_dim
- { \dim_gset:Nn \g_@@_right_x_dim \l_tmpa_dim }
+ \pgfpointanchor { wa - \l_@@_prefix_str - \l_tmpa_int - v } { center }
+ \dim_compare:nNnT \pgf@x < \g_@@_right_x_dim
+ { \dim_gset_eq:NN \g_@@_right_x_dim \pgf@x }
}
}
-%<*LaTeX>
- \end { tikzpicture }
-%</LaTeX>
-%<*plain-TeX>
- \endtikzpicture
-%</plain-TeX>
+ \endpgfpicture
% \end{macrocode}
%
%
@@ -5515,7 +5537,7 @@ version 2005/12/01 or later.
% We begin a loop over all the arrows of the environment. Inside this loop, if a
% group is finished, we will draw the arrows of that group.
% \begin{macrocode}
- \int_set:Nn \l_@@_arrow_int \c_one_int
+ \int_set:Nn \l_@@_arrow_int 1
\int_until_do:nNnn \l_@@_arrow_int > \g_@@_arrow_int
{
% \end{macrocode}
@@ -5572,12 +5594,9 @@ version 2005/12/01 or later.
% situation occurs when all the arrows of the potential group arrive after the
% last line of the environment).
% \begin{macrocode}
- \bool_if:nT
- {
- \int_compare_p:n { \l_@@_pos_arrow_int != 7 }
- &&
- \int_compare_p:nNn \l_@@_first_arrow_of_group_int > 0
- }
+ \bool_lazy_and:nnT
+ { \bool_not_p:n { \int_compare_p:nNn \l_@@_pos_arrow_int = 7 } }
+ { \int_compare_p:nNn \l_@@_first_arrow_of_group_int > 0 }
{ \@@_draw_arrows:nn \l_@@_first_arrow_of_group_int \g_@@_arrow_int }
}
% \end{macrocode}
@@ -5592,16 +5611,19 @@ version 2005/12/01 or later.
% the option |group| and in the first step of treatment (|\l_@@_pos_arrow_int| =
% 7).
% \begin{macrocode}
- \bool_if:nT
+ \bool_lazy_and:nnT
+ { \int_compare_p:nNn \l_@@_arrow_int > 1 }
{
- \int_compare_p:nNn \l_@@_arrow_int > \c_one_int
- &&
- ( \int_compare_p:n { \l_@@_initial_int > \l_@@_last_line_of_group_int }
- &&
- \int_compare_p:n { \l_@@_pos_arrow_int != 7 }
- ||
- \str_if_eq_p:Vn \l_@@_status_arrow_str { new-group }
- )
+ \bool_lazy_or_p:nn
+ {
+ \bool_lazy_and_p:nn
+ {
+ \int_compare_p:nNn
+ \l_@@_initial_int > \l_@@_last_line_of_group_int
+ }
+ { \bool_not_p:n { \int_compare_p:nNn \l_@@_pos_arrow_int = 7 } }
+ }
+ { \str_if_eq_p:Vn \l_@@_status_arrow_str { new-group } }
}
{
\int_compare:nNnF \l_@@_first_arrow_of_group_int = \c_zero_int
@@ -5643,7 +5665,7 @@ version 2005/12/01 or later.
% to use the same value of |\l_@@_x_dim| (computed during the first step) for
% all the groups.
% \begin{macrocode}
- \int_compare:nT { \l_@@_pos_arrow_int != 8 }
+ \int_compare:nNnF \l_@@_pos_arrow_int = 8
{ \dim_set:Nn \l_@@_x_dim { - \c_max_dim } }
}
% \end{macrocode}
@@ -5690,7 +5712,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\bool_if:nF { \str_if_eq_p:Vn \l_@@_status_arrow_str { independent } }
{
- \int_compare:nT { \l_@@_pos_arrow_int != 8 }
+ \int_compare:nNnF \l_@@_pos_arrow_int = 8
{ \@@_update_x:nn \l_@@_initial_int \l_@@_final_int }
}
}
@@ -5837,12 +5859,9 @@ version 2005/12/01 or later.
% $x$-value --- but always the same $y$-value). Idem for |\l_@@_final_tl|.
% \begin{macrocode}
\tl_set:Nx \l_@@_initial_tl
- {
- \int_use:N \l_@@_initial_int - \bool_if:NTF \l_@@_initial_r_bool rl
- .south
- }
+ { \int_use:N \l_@@_initial_int - \bool_if:NTF \l_@@_initial_r_bool rl }
\tl_set:Nx \l_@@_final_tl
- { \int_use:N \l_@@_final_int - \bool_if:NTF \l_@@_final_r_bool rl .north }
+ { \int_use:N \l_@@_final_int - \bool_if:NTF \l_@@_final_r_bool rl }
% \end{macrocode}
% We use ``|.south|'' and ``|.north|'' because we want a small gap between two
% consecutive arrows (and the Tikz nodes created have the shape of small
@@ -5864,7 +5883,7 @@ version 2005/12/01 or later.
% first line of the group and in |\l_@@_last_arrows_seq| the list of
% all the arrows ending at the last line of the group. We compute these values
% in the booleans |\l_tmpa_bool| and |\l_tmpb_bool|. These computations can't be
-% done in the following |{tikzpicture}| because the command |\seq_if_in:NnTF|
+% done in the following |{tikzpicture}| because of the command |\seq_if_in:NnTF|
% which is \emph{not} expandable.
% \begin{macrocode}
\seq_if_in:NxTF \l_@@_first_arrows_seq
@@ -5900,30 +5919,21 @@ version 2005/12/01 or later.
\dim_gzero_new:N \g_@@_x_final_dim
\dim_gzero_new:N \g_@@_y_initial_dim
\dim_gzero_new:N \g_@@_y_final_dim
-%<*LaTeX>
- \begin { tikzpicture } [ @@_standard ]
-%</LaTeX>
-%<*plain-TeX>
- \tikzpicture [ @@_standard ]
-%</plain-TeX>
- \tikz@scan@one@point \pgfutil@firstofone ( \l_@@_initial_tl )
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfpointanchor { wa - \l_@@_prefix_str - \l_@@_initial_tl } { south }
\dim_gset:Nn \g_@@_x_initial_dim \pgf@x
\dim_gset:Nn \g_@@_y_initial_dim \pgf@y
- \tikz@scan@one@point \pgfutil@firstofone ( \l_@@_final_tl )
+ \pgfpointanchor { wa - \l_@@_prefix_str - \l_@@_final_tl } { north }
\dim_gset:Nn \g_@@_x_final_dim \pgf@x
\dim_gset:Nn \g_@@_y_final_dim \pgf@y
-%<*LaTeX>
- \end { tikzpicture }
-%</LaTeX>
-%<*plain-TeX>
- \endtikzpicture
-%</plain-TeX>
- \bool_if:nTF
- { \dim_compare_p:nNn { \g_@@_y_initial_dim - \g_@@_y_final_dim }
+ \endpgfpicture
+ \bool_lazy_and:nnTF
+ {
+ \dim_compare_p:nNn { \g_@@_y_initial_dim - \g_@@_y_final_dim }
> \l_@@_max_length_of_arrow_dim
- &&
- \int_compare_p:nNn { \l_@@_final_int - \l_@@_initial_int } = 1
}
+ { \int_compare_p:nNn { \l_@@_final_int - \l_@@_initial_int } = 1 }
{
\tl_gset:Nx \g_tmpa_tl
{
@@ -5933,7 +5943,7 @@ version 2005/12/01 or later.
\dim_eval:n
{
( \g_@@_y_initial_dim + \g_@@_y_final_dim ) / 2
- + ( \l_@@_max_length_of_arrow_dim / 2 )
+ + 0.5 \l_@@_max_length_of_arrow_dim
}
}
\tl_gset:Nx \g_tmpb_tl
@@ -5944,7 +5954,7 @@ version 2005/12/01 or later.
\dim_eval:n
{
( \g_@@_y_initial_dim + \g_@@_y_final_dim ) / 2
- - ( \l_@@_max_length_of_arrow_dim / 2 )
+ - 0.5 \l_@@_max_length_of_arrow_dim
}
}
}
@@ -6041,7 +6051,7 @@ version 2005/12/01 or later.
% If the option |wrap-lines| is used, we have to use a special version of
% |\l_@@_tikz_code_tl| (which corresponds to the option |tikz-code|).
% \begin{macrocode}
- \bool_if:nT { \l_@@_wrap_lines_bool && \l_@@_in_DispWithArrows_bool }
+ \bool_lazy_and:nnT \l_@@_wrap_lines_bool \l_@@_in_DispWithArrows_bool
{ \tl_set_eq:NN \l_@@_tikz_code_tl \c_@@_tikz_code_wrap_lines_tl }
% \end{macrocode}
%
@@ -6068,7 +6078,7 @@ version 2005/12/01 or later.
% We retrieve in |\pgf@x| the abscissa of the left-side of the label we will
% put.
% \begin{macrocode}
- \tikz@parse@node \pgfutil@firstofone ( @@_label.west )
+ \pgfpointanchor { wa - \l_@@_prefix_str - @@_label } { west }
% \end{macrocode}
% We compute in |\l_tmpa_dim| the maximal width possible for the label.
% Here is the use of |\g_@@_right_x_dim| which has been computed previously with
@@ -6117,24 +6127,16 @@ version 2005/12/01 or later.
% \begin{macrocode}
\cs_new_protected:Npn \@@_update_x:nn #1 #2
{
+ \dim_gset_eq:NN \g_tmpa_dim \l_@@_x_dim
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
\int_step_inline:nnn { #1 } { #2 }
{
-%<*LaTeX>
- \begin { tikzpicture } [ @@_standard ]
-%</LaTeX>
-%<*plain-TeX>
- \tikzpicture [ @@_standard ]
-%</plain-TeX>
- \tikz@scan@one@point \pgfutil@firstofone ( ##1 - l )
- \dim_gset:Nn \g_tmpa_dim { \dim_max:nn \l_@@_x_dim \pgf@x }
-%<*LaTeX>
- \end { tikzpicture }
-%</LaTeX>
-%<*plain-TeX>
- \endtikzpicture
-%</plain-TeX>
- \dim_set_eq:NN \l_@@_x_dim \g_tmpa_dim
+ \pgfpointanchor { wa - \l_@@_prefix_str - ##1 - l } { center }
+ \dim_gset:Nn \g_tmpa_dim { \dim_max:nn \g_tmpa_dim \pgf@x }
}
+ \endpgfpicture
+ \dim_set_eq:NN \l_@@_x_dim \g_tmpa_dim
}
% \end{macrocode}
%
@@ -6146,7 +6148,13 @@ version 2005/12/01 or later.
% level~$0$ (to the sense of the nested environments). This macro is fully
% expandable and, thus, can be used directly in the name of a Tikz node.
% \begin{macrocode}
-\cs_new:Npn \WithArrowsLastEnv { \int_use:N \g_@@_last_env_int }
+%<*LaTeX>
+\NewExpandableDocumentCommand \WithArrowsLastEnv { }
+ { \int_use:N \g_@@_last_env_int }
+%</LaTeX>
+%<*plain-TeX>
+\cs_new:Npn \WithArrowsLastEnv { \int_use:N \g_@@_last_env_int }
+%</plain-TeX>
% \end{macrocode}
%
% \bigskip
@@ -6249,50 +6257,42 @@ version 2005/12/01 or later.
{
\int_compare:nNnTF \l_@@_pos_arrow_int = 4
{
-%<*LaTeX>
- \begin { tikzpicture } [ @@_standard ]
-%</LaTeX>
-%<*plain-TeX>
- \tikzpicture [ @@_standard ]
-%</plain-TeX>
- \tikz@scan@one@point \pgfutil@firstofone (#2-l.south)
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfpointanchor { wa - \l_@@_prefix_str - #2 - l }
+ { south }
\dim_set_eq:NN \l_tmpa_dim \pgf@x
\dim_set_eq:NN \l_tmpb_dim \pgf@y
- \tikz@scan@one@point \pgfutil@firstofone (#3-l.north)
+ \pgfpointanchor { wa - \l_@@_prefix_str - #3 - l }
+ { north }
\dim_set:Nn \l_tmpa_dim
{ \dim_max:nn \l_tmpa_dim \pgf@x }
\tl_gset:Nx \g_tmpa_tl
{ \dim_use:N \l_tmpa_dim , \dim_use:N \l_tmpb_dim }
\tl_gset:Nx \g_tmpb_tl
{ \dim_use:N \l_tmpa_dim , \dim_use:N \pgf@y }
-%<*LaTeX>
- \end { tikzpicture }
-%</LaTeX>
-%<*plain-TeX>
- \endtikzpicture
-%</plain-TeX>
+ \endpgfpicture
}
{
-%<*LaTeX>
- \begin { tikzpicture } [ @@_standard ]
-%</LaTeX>
-%<*plain-TeX>
- \tikzpicture [ @@_standard ]
-%</plain-TeX>
- \tikz@scan@one@point \pgfutil@firstofone
- ( #2-\bool_if:NTF\l_@@_initial_r_bool rl .south )
+ \pgfpicture
+ \pgfrememberpicturepositiononpagetrue
+ \pgfpointanchor
+ {
+ wa - \l_@@_prefix_str -
+ #2 - \bool_if:NTF \l_@@_initial_r_bool r l
+ }
+ { south }
\tl_gset:Nx \g_tmpa_tl
- { \dim_use:N \pgf@x , \dim_use:N \pgf@y }
- \tikz@scan@one@point \pgfutil@firstofone
- ( #3-\bool_if:NTF\l_@@_final_r_bool rl .north )
+ { \dim_use:N \pgf@x , \dim_use:N \pgf@y }
+ \pgfpointanchor
+ {
+ wa - \l_@@_prefix_str -
+ #3 - \bool_if:NTF \l_@@_final_r_bool r l
+ }
+ { north }
\tl_gset:Nx \g_tmpb_tl
- { \dim_use:N \pgf@x , \dim_use:N \pgf@y }
-%<*LaTeX>
- \end { tikzpicture }
-%</LaTeX>
-%<*plain-TeX>
- \endtikzpicture
-%</plain-TeX>
+ { \dim_use:N \pgf@x , \dim_use:N \pgf@y }
+ \endpgfpicture
}
\@@_draw_arrow:nnn \g_tmpa_tl \g_tmpb_tl { #4 }
}
@@ -6394,11 +6394,12 @@ version 2005/12/01 or later.
-- node (@@_label) {}
([xshift = \l_@@_xoffset_dim+5mm]\l_tmpb_tl-r.south)
-- ([xshift = \l_@@_xoffset_dim]\l_tmpb_tl-r.south) ;
- \tikz@parse@node \pgfutil@firstofone (@@_label.west)
+
+ \pgfpointanchor { wa - \l_@@_prefix_str - @@_label } { west }
\dim_set:Nn \l_tmpa_dim { 20 cm }
\path \pgfextra { \tl_gset:Nx \g_tmpa_tl \tikz@text@width } ;
\tl_if_empty:NF \g_tmpa_tl { \dim_set:Nn \l_tmpa_dim \g_tmpa_tl }
- \bool_if:nT { \l_@@_wrap_lines_bool && \l_@@_in_DispWithArrows_bool }
+ \bool_lazy_and:nnT \l_@@_wrap_lines_bool \l_@@_in_DispWithArrows_bool
{
\dim_set:Nn \l_tmpb_dim
{ \g_@@_right_x_dim - \pgf@x - 0.3333 em }
@@ -6408,7 +6409,7 @@ version 2005/12/01 or later.
\path (@@_label.west)
node [ anchor = west, text~width = \dim_use:N \l_tmpa_dim ] { #2 } ;
%<*LaTeX>
- \end{tikzpicture}
+ \end { tikzpicture }
%</LaTeX>
%<*plain-TeX>
\endtikzpicture
@@ -6459,7 +6460,7 @@ version 2005/12/01 or later.
%<*LaTeX>
\@@_msg_new:nn { amsmath~not~loaded }
{
- You~can't~use~the~option~'\l_keys_key_tl'~because~the~
+ You~can't~use~the~option~'\l_keys_key_str'~because~the~
package~'amsmath'~has~not~been~loaded.\\
If~you~go~on,~this~option~will~be~ignored~in~the~rest~
of~the~document.
@@ -6470,7 +6471,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Bad~value~for~replace~brace~by }
{
- Bad~value~for~the~option~'\l_keys_key_tl'.~The~value~must~begin~
+ Bad~value~for~the~option~'\l_keys_key_str'.~The~value~must~begin~
with~an~extensible~left~delimiter.~The~possible~values~are:~.,
\token_to_str:N \{,~(,~[,~\token_to_str:N \lbrace,~
\token_to_str:N \lbrack,~\token_to_str:N \lgroup,~
@@ -6526,7 +6527,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Value~for~a~key }
{
- The~key~'\l_keys_key_tl'~should~be~used~without~value. \\
+ The~key~'\l_keys_key_str'~should~be~used~without~value. \\
However,~you~can~go~on~for~this~time.
}
% \end{macrocode}
@@ -6534,7 +6535,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~in~Arrow }
{
- The~key~'\l_keys_key_tl'~is~unknown~for~the~command~
+ The~key~'\l_keys_key_str'~is~unknown~for~the~command~
\l_@@_string_Arrow_for_msg_str\ in~the~row~
\int_use:N \g_@@_line_int\ of~your~environment~
\{\l_@@_type_env_str\}. \l_tmpa_str \\
@@ -6551,7 +6552,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~WithArrows }
{
- The~key~'\l_keys_key_tl'~is~unknown~in~\{\l_@@_type_env_str\}. \\
+ The~key~'\l_keys_key_str'~is~unknown~in~\{\l_@@_type_env_str\}. \\
\c_@@_option_ignored_str \\
For~a~list~of~the~available~keys,~type~H~<return>.
}
@@ -6564,7 +6565,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~DispWithArrows }
{
- The~key~'\l_keys_key_tl'~is~unknown~in~\{\l_@@_type_env_str\}. \\
+ The~key~'\l_keys_key_str'~is~unknown~in~\{\l_@@_type_env_str\}. \\
\c_@@_option_ignored_str \\
For~a~list~of~the~available~keys,~type~H~<return>.
}
@@ -6577,7 +6578,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~WithArrowsOptions }
{
- The~key~'\l_keys_key_tl'~is~unknown~in~
+ The~key~'\l_keys_key_str'~is~unknown~in~
\token_to_str:N \WithArrowsOptions. \\
\c_@@_option_ignored_str \\
For~a~list~of~the~available~keys,~type~H~<return>.
@@ -6591,7 +6592,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nnn { Unknown~option~Arrow~in~code-after }
{
- The~key~'\l_keys_key_tl'~is~unknown~in~
+ The~key~'\l_keys_key_str'~is~unknown~in~
\token_to_str:N \Arrow\ in~code-after. \\
\c_@@_option_ignored_str \\
For~a~list~of~the~available~keys,~type~H~<return>.
@@ -6683,7 +6684,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Incompatible~options~in~Arrow }
{
- You~try~to~use~the~option~'\l_keys_key_tl'~but~
+ You~try~to~use~the~option~'\l_keys_key_str'~but~
this~option~is~incompatible~or~redundant~with~the~option~
'\l_@@_previous_key_str'~set~in~the~same~command~
\l_@@_string_Arrow_for_msg_str. \\
@@ -6694,7 +6695,7 @@ version 2005/12/01 or later.
%
% \begin{macrocode}
\@@_msg_new:nn { Incompatible~options }
- { You~try~to~use~the~option~'\l_keys_key_tl'~but~
+ { You~try~to~use~the~option~'\l_keys_key_str'~but~
this~option~is~incompatible~or~redundant~with~the~option~
'\l_@@_previous_key_str'~set~in~the~same~command~
\bool_if:NT \l_@@_in_code_after_bool
@@ -6909,7 +6910,7 @@ version 2005/12/01 or later.
\group_begin:
\msg_set:nnn { witharrows } { Unknown~option~WithArrowsOptions }
{
- The~key~'\l_keys_key_tl'~can't~be~set~in~the~
+ The~key~'\l_keys_key_str'~can't~be~set~in~the~
definition~of~a~style.~You~can~go~on~for~this~time~
but~you~should~suppress~this~key.
}
@@ -6974,7 +6975,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { Option~unknown~for~up-and-down }
{
- The~option~'\l_keys_key_tl'~is~unknown.~\c_@@_option_ignored_str
+ The~option~'\l_keys_key_str'~is~unknown.~\c_@@_option_ignored_str
}
% \end{macrocode}
%
@@ -7233,7 +7234,7 @@ version 2005/12/01 or later.
\cs_if_exist:cTF { tikz@library@calc@loaded }
{
\keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl
- \int_set:Nn \l_@@_pos_arrow_int \c_one_int
+ \int_set:Nn \l_@@_pos_arrow_int 1
% \end{macrocode}
% We have to set |\l_@@_wrap_lines_bool| to |false| because, otherwise, if the
% option |wrap_lines| is used at a higher level (global or environment), we will
@@ -7262,7 +7263,7 @@ version 2005/12/01 or later.
\cs_if_exist:cTF { tikz@library@calc@loaded }
{
\keys_set:nV { WithArrows / up-and-down } \l_keys_value_tl
- \int_set:Nn \l_@@_pos_arrow_int \c_one_int
+ \int_set:Nn \l_@@_pos_arrow_int 1
\bool_set_false:N \l_@@_wrap_lines_bool
\tl_set_eq:NN \l_@@_tikz_code_tl \c_@@_tikz_code_down_tl
}
@@ -7285,7 +7286,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { varwidth~not~loaded }
{
- You~can't~use~the~option~'\l_keys_key_tl'~because~
+ You~can't~use~the~option~'\l_keys_key_str'~because~
you~don't~have~loaded~the~package~'varwidth'. \\
\c_@@_option_ignored_str
}
@@ -7294,7 +7295,7 @@ version 2005/12/01 or later.
% \begin{macrocode}
\@@_msg_new:nn { calc~not~loaded }
{
- You~can't~use~the~option~'\l_keys_key_tl'~because~you~don't~have~loaded~the~
+ You~can't~use~the~option~'\l_keys_key_str'~because~you~don't~have~loaded~the~
Tikz~library~'calc'.You~should~add~'\token_to_str:N\usetikzlibrary{calc}'~
~in~the~preamble~of~your~document. \\
\c_@@_option_ignored_str
@@ -7503,6 +7504,11 @@ version 2005/12/01 or later.
%
% Two options for the arrows of type |up| and |down|: |width| and |radius|.
%
+% \subsection*{Changes between 2.3 and 2.4}
+%
+% Correction of a bug with |{DispWithArrows}| : cf. question 535989 on |TeX StackExchange|.
+%
+%
%
% \PrintIndex
%
@@ -7513,5 +7519,5 @@ version 2005/12/01 or later.
% TeX-fold-mode: t
% TeX-fold-preserve-comments: nil
% fill-column: 80
-% ispell-local-dictionary: english
+% flyspell-mode: nil
% End: