diff options
Diffstat (limited to 'macros/generic')
-rw-r--r-- | macros/generic/witharrows/witharrows-french.pdf | bin | 259546 -> 260589 bytes | |||
-rw-r--r-- | macros/generic/witharrows/witharrows-french.tex | 26 | ||||
-rw-r--r-- | macros/generic/witharrows/witharrows.dtx | 516 | ||||
-rw-r--r-- | macros/generic/witharrows/witharrows.pdf | bin | 615389 -> 616385 bytes |
4 files changed, 283 insertions, 259 deletions
diff --git a/macros/generic/witharrows/witharrows-french.pdf b/macros/generic/witharrows/witharrows-french.pdf Binary files differindex 9711cf5756..ffb9a424e2 100644 --- a/macros/generic/witharrows/witharrows-french.pdf +++ b/macros/generic/witharrows/witharrows-french.pdf diff --git a/macros/generic/witharrows/witharrows-french.tex b/macros/generic/witharrows/witharrows-french.tex index 9eac72c3c7..1d3605543a 100644 --- a/macros/generic/witharrows/witharrows-french.tex +++ b/macros/generic/witharrows/witharrows-french.tex @@ -768,7 +768,7 @@ A & = B \end{WithArrows}$ \vspace{1cm} -Les options relatives aux flèches |up| and |down| peuvent être fixées au niveau global ou environnemental avec la +Les options relatives aux flèches |up| et |down| peuvent être fixées au niveau global ou environnemental avec la clé |up-and-down|. Cette clé peut aussi être utilisée comme préfixe comme illustré maintenant. % \begin{Verbatim} @@ -1174,7 +1174,7 @@ Pour le moment, aucune option n'est disponible pour cette commande |\MultiArrow| Si on désire dessiner des flèches depuis l'extérieur des environnements |{WithArrows}|, il est possible de le faire en utilisant les nœuds Tikz créés par ces environnements. -Le nom d'un nœud Tikz crée par \pkg{witharrows} est préfixé par |wa-|. Ensuite, on trouve une liste de nombres +Le nom d'un nœud Tikz créé par \pkg{witharrows} est préfixé par |wa-|. Ensuite, on trouve une liste de nombres qui indique quelle est la position de l'environnement dans l'arbre d'imbrication des environnements. À la fin, on a le suffixe |l| pour un nœud de gauche et le suffixe |r| pour un nœud de droite. @@ -1286,7 +1286,7 @@ Dans le cas présent, il aurait été plus facile d'utiliser une commande |\Arro c'était seulement un exemple pour expliquer comment les nœuds Tikz créés par \pkg{witharrows} peuvent être utilisés. \bigskip -Dans l'exemple suivant, on crée deux environnements |{WithArrows}| nommés «|premier|» et «|second|» et on dessine +Dans l'exemple suivant, on crée des environnements |{WithArrows}| nommés «|premier|» et «|second|» et on dessine une flèche entre un nœud du premier et un nœud du second. \begin{Verbatim} @@ -1428,7 +1428,9 @@ A & = A_1 \Arrow{première étape} \\ \bigskip Avec l'option |fleqn|, l'environnement est composé calé à gauche (d'une manière similaire à l'option |fleqn| des classes standard de LaTeX). Dans ce cas, la marge gauche peut être réglée avec -l'option |mathindent| (qui a un nom inspiré du paramètre |\mathindent| de LaTeX). La valeur initiale +l'option |mathindent| (qui a un nom inspiré du paramètre |\mathindent| de LaTeX\footnote{En LaTeX, |mathindent| est +une dimension (|dim|) mais devrait devenir un ressort (|skip|) dans une prochaine version de LaTeX. Pour le moment, le +paramètre |mathindent| de \pkg{witharrows} est une dimension.}). La valeur initiale pour cette option est de 25~pt. \begin{Verbatim} @@ -2027,6 +2029,18 @@ détectées (par exemple, si une flèche arrive après la dernière ligne de l'e \bigskip +\subsection{Note pour les utilisateurs de AUCTeX} + +Dans un éditeur de texte paramétré par éditer du LaTeX, les environnements |{DispWithArrows}| et +|{DispWithArrows*}| devraient être formatés comme l'environnement |{equation}| de LaTeX c'est-à-dire avec un +formatage adapté au mode mathématique. + +Dans l'éditeur Emacs avec AUCTeX, cela se fait en ajoutant les chaînes |"DispWithArrows"| et |"DispWithArrows*"| à +la variable |font-latex-math-environments|. On peut le faire en utilisant l'interface de personnalisation de Emacs : + +|M-x customize| > |[Text]| > |[TeX]| > |[Font LaTeX]| + +\bigskip \subsection{Note pour les développeurs} Si vous définissez un environnement s'appuyant sur un environnement de @@ -2394,6 +2408,10 @@ e.\;& f \text{ est lipschitzienne} \end{scope} +\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. 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: diff --git a/macros/generic/witharrows/witharrows.pdf b/macros/generic/witharrows/witharrows.pdf Binary files differindex b64ebed03c..31c50353bf 100644 --- a/macros/generic/witharrows/witharrows.pdf +++ b/macros/generic/witharrows/witharrows.pdf |