summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-11-02 20:53:13 +0000
committerKarl Berry <karl@freefriends.org>2018-11-02 20:53:13 +0000
commit81ff1d170397a06ef756be4f72edcbb12886d187 (patch)
tree8fb6eaac75e605bc35477ab07cbc7b9e1e388e16 /Master/texmf-dist/tex
parent1497b86192848950669e33be4a1a916199d768e0 (diff)
witharrows (2nov18)
git-svn-id: svn://tug.org/texlive/trunk@49054 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/witharrows/witharrows.sty148
1 files changed, 83 insertions, 65 deletions
diff --git a/Master/texmf-dist/tex/latex/witharrows/witharrows.sty b/Master/texmf-dist/tex/latex/witharrows/witharrows.sty
index 0edba169c1d..bcfd92509d5 100644
--- a/Master/texmf-dist/tex/latex/witharrows/witharrows.sty
+++ b/Master/texmf-dist/tex/latex/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{1.10.1}
-\def\myfiledate{2018/09/24}
+\def\myfileversion{1.11}
+\def\myfiledate{2018/11/02}
\RequirePackage{tikz}
\usetikzlibrary{arrows.meta,bending}
\RequirePackage{l3keys2e}
@@ -85,8 +85,10 @@
\DeclareOption {leqno} {\bool_set_true:N \c__ww_leqno_bool}
\DeclareOption* {}
\ProcessOptions \relax
-\cs_new_protected:Nn \__ww_msg_error:n
+\cs_new_protected:Nn \__ww_error:n
{\msg_error:nn {witharrows} {#1}}
+\cs_new_protected:Nn \__ww_error:nn
+ {\msg_error:nnn {witharrows} {#1} {#2}}
\AtBeginDocument{\clist_map_inline:nn
{amsmath,mathtools,autonum,cleveref,hyperref,typedref}
{\bool_new:c {c__ww_#1_loaded_bool}
@@ -115,7 +117,8 @@
{\cs_set_protected:Npn \spread@equation
{\openup\jot
\cs_set_protected:Npn \spread@equation {}}}}
-\bool_new:N \l__ww_in_witharrows_bool
+\bool_new:N \l__ww_in_WithArrows_bool
+\bool_new:N \l__ww_in_DispWithArrows_bool
\seq_new:N \g__ww_position_in_the_tree_seq
\seq_gput_right:Nn \g__ww_position_in_the_tree_seq 1
\int_new:N \g__ww_last_env_int
@@ -138,7 +141,7 @@
\bool_new:N \l__ww_tag_star_bool
\seq_new:N \l__ww_labels_seq
\cs_set:Nn \__ww_label:n {\seq_if_empty:NF \l__ww_labels_seq
- {\__ww_msg_error:n {Multiple~labels}}
+ {\__ww_error:n {Multiple~labels}}
\seq_put_right:Nn \l__ww_labels_seq {#1}
\bool_if:nT \c__ww_mathtools_loaded_bool
{\MH_if_boolean:nT {show_only_refs}
@@ -155,17 +158,17 @@
\bool_new:N \l__ww_wrap_lines_bool
\int_set:Nn \l__ww_level_int 1
\keys_define:nn {WithArrows/GlobalOrEnv}
- { t .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\int_set:Nn \l__ww_pos_env_int 0}
- {\__ww_msg_error:n {Option~will~be~ignored}}},
+ { t .code:n = {\bool_if:NTF \l__ww_in_DispWithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}
+ {\int_set:Nn \l__ww_pos_env_int 0}}},
t .value_forbidden:n = true,
- c .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\int_set:Nn \l__ww_pos_env_int 1}
- {\__ww_msg_error:n {Option~will~be~ignored}}},
+ c .code:n = {\bool_if:NTF \l__ww_in_DispWithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}}
+ {\int_set:Nn \l__ww_pos_env_int 1}},
c .value_forbidden:n = true,
- b .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\int_set:Nn \l__ww_pos_env_int 2}
- {\__ww_msg_error:n {Option~will~be~ignored}}},
+ b .code:n = {\bool_if:NTF \l__ww_in_DispWithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}}
+ {\int_set:Nn \l__ww_pos_env_int 2}},
b .value_forbidden:n = true,
ygap .dim_set:N = \l__ww_ygap_dim,
ygap .value_required:n = true,
@@ -196,57 +199,57 @@
shownodenames .bool_set:N = \l__ww_shownodenames_bool,
shownodenames .initial:n = false,
group .code:n = {\int_compare:nNnT \l__ww_previous_pos_arrows_int > {-1}
- {\__ww_msg_error:n {Two~options~are~incompatible}}
+ {\__ww_error:n {Two~options~are~incompatible}}
\int_set:Nn \l__ww_previous_pos_arrows_int 6
\int_set:Nn \l__ww_pos_arrows_int 6} ,
group .value_forbidden:n = true,
groups .code:n = {\int_compare:nNnT \l__ww_previous_pos_arrows_int > {-1}
- {\__ww_msg_error:n {Two~options~are~incompatible}}
+ {\__ww_error:n {Two~options~are~incompatible}}
\int_set:Nn \l__ww_previous_pos_arrows_int 7
\int_set:Nn \l__ww_pos_arrows_int 7} ,
groups .value_forbidden:n = true,
CodeBefore .code:n = {\int_compare:nNnTF \l__ww_level_int = 1
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ {\__ww_error:n {Option~will~be~ignored}}
{\tl_put_right:Nn \l__ww_code_before_tl {#1}}} ,
CodeBefore .value_required:n = true,
CodeAfter .code:n = {\int_compare:nNnTF \l__ww_level_int = 1
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ {\__ww_error:n {Option~will~be~ignored}}
{\tl_put_right:Nn \l__ww_code_after_tl {#1}}} ,
CodeAfter .value_required:n = true,
name .code:n = {\int_compare:nNnTF \l__ww_level_int = 1
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ {\__ww_error:n {Option~will~be~ignored}}
{\tl_set:Nn \l__ww_name_tl {#1}}} ,
name .value_required:n = true,
- fleqn .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ fleqn .code:n = {\bool_if:NTF \l__ww_in_WithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}}
{\tl_if_eq:nnTF {#1} {true}
{\bool_set_true:N \l__ww_fleqn_bool}
{\bool_set_false:N \l__ww_fleqn_bool}}},
fleqn .default:n = true,
- mathindent .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ mathindent .code:n = {\bool_if:NTF \l__ww_in_WithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}}
{\dim_set:Nn \l__ww_mathindent_dim {#1}}},
mathindent .value_required:n = true,
- notag .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ notag .code:n = {\bool_if:NTF \l__ww_in_WithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}}
{\tl_if_eq:nnTF {#1} {true}
{\bool_set_true:N \l__ww_notag_bool}
{\bool_set_false:N \l__ww_notag_bool}}},
notag .default:n = true,
nonumber .meta:n = notag,
- AllowMultipleLabels .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ AllowMultipleLabels .code:n = {\bool_if:NTF \l__ww_in_WithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}}
{\msg_redirect_name:nnn {witharrows}
{Multiple~labels}
{none}}},
AllowMultipleLabels .value_forbidden:n = true,
- wrap-lines .code:n = {\bool_if:NTF \l__ww_in_witharrows_bool
- {\__ww_msg_error:n {Option~will~be~ignored}}
+ wrap-lines .code:n = {\bool_if:NTF \l__ww_in_WithArrows_bool
+ {\__ww_error:n {Option~will~be~ignored}}
{\tl_if_eq:nnTF {#1} {true}
{\bool_set_true:N \l__ww_wrap_lines_bool}
{\bool_set_false:N \l__ww_wrap_lines_bool}}},
wrap-lines .default:n = true,
- unknown .code:n = \__ww_msg_error:n {Option~unknown}
+ unknown .code:n = \__ww_error:n {Option~unknown}
}
\keys_define:nn {WithArrows/General}
{tikz .code:n = \tikzset {WithArrows/arrow/.append~style = {#1}},
@@ -264,32 +267,32 @@
i .code:n = \__ww_analyze_option_position:n 5 ,
xoffset .code:n = {\bool_if:nTF {\int_compare_p:nNn \l__ww_level_int = 3 &&
\int_compare_p:nNn \l__ww_pos_arrows_int > 5}
- {\__ww_msg_error:n {Option~incompatible~with~"group(s)"}}
+ {\__ww_error:n {Option~incompatible~with~"group(s)"}}
{\dim_set:Nn \l__ww_xoffset_dim {#1}}} ,
xoffset .value_required:n = true,
jot .code:n = {\int_compare:nNnTF \l__ww_level_int = 2
{\dim_set:Nn \jot {#1}}
- {\__ww_msg_error:n {Option~will~be~ignored}}} ,
+ {\__ww_error:n {Option~will~be~ignored}}} ,
jot .value_required:n = true,
interline .code:n = {\int_compare:nNnTF \l__ww_level_int = 2
{\skip_set:Nn \l__ww_interline_skip {#1}}
- {\__ww_msg_error:n {Option~will~be~ignored}}} ,
+ {\__ww_error:n {Option~will~be~ignored}}} ,
interline .value_required:n = true,
- jump .code:n = \__ww_msg_error:n {Option~will~be~ignored} ,
- unknown .code:n = \__ww_msg_error:n {Option~unknown}
+ jump .code:n = \__ww_error:n {Option~will~be~ignored} ,
+ unknown .code:n = \__ww_error:n {Option~unknown}
}
\keys_define:nn {WithArrows/jump}
{jump .code:n = {\int_set:Nn \l__ww_jump_int {#1}
\int_compare:nNnF \l__ww_jump_int > 0
- {\__ww_msg_error:n {The~option~"jump"~must~be~non~negative}}} ,
+ {\__ww_error:n {The~option~"jump"~must~be~non~negative}}} ,
jump .value_required:n = true}
\cs_new_protected:Nn \__ww_analyze_option_position:n
{\int_compare:nNnT \l__ww_previous_pos_arrows_int > {-1}
- {\__ww_msg_error:n {Two~options~are~incompatible}}
+ {\__ww_error:n {Two~options~are~incompatible}}
\int_set:Nn \l__ww_previous_pos_arrows_int {#1}
\bool_if:nTF { \int_compare_p:nNn \l__ww_level_int = 3 &&
\int_compare_p:nNn \l__ww_pos_arrows_int > 5}
- {\__ww_msg_error:n {Option~incompatible~with~"group(s)"}}
+ {\__ww_error:n {Option~incompatible~with~"group(s)"}}
{\int_set:Nn \l__ww_pos_arrows_int {#1}}}
\NewDocumentCommand \WithArrowsOptions {m}
{\int_set:Nn \l__ww_previous_pos_arrows_int {-1}
@@ -314,7 +317,7 @@
}
\cs_new_protected:Nn \__ww_Arrow_first_column:
{\tl_set:Nn \l_tmpa_tl {Arrow}
- \__ww_msg_error:n {Arrow~in~first~column}
+ \__ww_error:n {Arrow~in~first~column}
\__ww_Arrow}
\cs_new_protected:Nn \__ww_pre_environment:n
{ \seq_gput_right:NV \g__ww_arrow_int_seq \g__ww_arrow_int
@@ -344,9 +347,9 @@
\l__ww_code_before_tl
\cs_set_eq:cN \l__ww_CommandName_tl \__ww_Arrow}
\NewDocumentEnvironment {WithArrows} {O{}}
- { \bool_set_true:N \l__ww_in_witharrows_bool
+ { \bool_set_true:N \l__ww_in_WithArrows_bool
\reverse_if:N \if_mode_math:
- \__ww_msg_error:n {{WithArrows}~used~outside~math~mode}
+ \__ww_error:n {{WithArrows}~used~outside~math~mode}
\fi:
\cs_set:Npn \notag {\msg_error:nnn {witharrows}
{Command~not~allowed~in~{WithArrows}}
@@ -389,7 +392,7 @@
\bool_if:NT \l__ww_shownodenames_bool
{\hbox_overlap_right:n {\small wa-\l__ww_prefix_str
-\int_use:N\g__ww_line_int}}
- && \__ww_msg_error:n {Third~column~in~an~environment~{WithArrows}}
+ && \__ww_error:n {Third~column~in~an~environment~{WithArrows}}
$\bool_if:NT \l__ww_displaystyle_bool \displaystyle {##}$
\cr
}
@@ -401,14 +404,15 @@
}
\cs_new_protected:Nn \__ww_post_environment:
{\int_compare:nNnT \g__ww_line_bis_int < \g__ww_line_int
- {\__ww_msg_error:n {All~lines~must~have~an~ampersand}}
+ {\__ww_error:n {All~lines~must~have~an~ampersand}}
+ \cs_set:Npn \WithArrowsRightX {\g__ww_right_x_dim}
\int_compare:nNnT \g__ww_arrow_int > 0
{\int_compare:nNnTF \l__ww_pos_arrows_int > 5
\__ww_draw_arrows:
{\__ww_draw_arrows:nn 1 \g__ww_arrow_int}}
\group_begin:
\tikzset{every~picture/.style = __ww_standard}
- \cs_set:Npn \NbLines {\int_use:N \g__ww_line_int}
+ \cs_set:Npn \WithArrowsNbLines {\int_use:N \g__ww_line_int}
\cs_set_eq:NN \MultiArrow \__ww_MultiArrow:nn
\cs_set_eq:cN \l__ww_CommandName_tl \__ww_Arrow_code_after
\l__ww_code_after_tl
@@ -433,7 +437,7 @@
{\peek_meaning:NTF [ {\__ww_cr_ii:} {\__ww_cr_ii:[\c_zero_dim]} }
\cs_new_protected:Npn \__ww_cr_ii:[#1]
{\group_align_safe_end:
- \bool_if:NF \l__ww_in_witharrows_bool
+ \bool_if:NT \l__ww_in_DispWithArrows_bool
{\bool_if:NTF \l__ww_notag_bool
{& \tikz [__ww_standard] \coordinate (\int_use:N\g__ww_line_int-v) ; }
{
@@ -482,9 +486,9 @@
\bool_set_true:N \l__ww_notag_bool}}
\bool_if:NT \c__ww_amsmath_loaded_bool \intertext@
\if_mode_math:
- \__ww_msg_error:n {{DispWithArrows}~used~in~math~mode}
+ \__ww_error:n {{DispWithArrows}~used~in~math~mode}
\fi:
- \bool_set_false:N \l__ww_in_witharrows_bool
+ \bool_set_true:N \l__ww_in_DispWithArrows_bool
\__ww_pre_environment:n {#1}
\if_mode_vertical:
\nointerlineskip
@@ -544,21 +548,21 @@
-\int_use:N\g__ww_line_int}}
& ##
\tabskip = \c_zero_skip
- && \__ww_msg_error:n {Third~column~in~an~environment~{DispWithArrows}}
+ && \__ww_error:n {Third~column~in~an~environment~{DispWithArrows}}
\iffalse ## \fi
\cr}
{\\
\egroup
\egroup
- \bool_if:NT \l__ww_wrap_lines_bool
- {\dim_gzero_new:N \g__ww_x_right_dim
- \dim_gset:Nn \g__ww_x_right_dim \c_max_dim
+ \bool_if:NT \l__ww_in_DispWithArrows_bool
+ {\dim_gzero_new:N \g__ww_right_x_dim
+ \dim_gset:Nn \g__ww_right_x_dim \c_max_dim
\begin{tikzpicture} [__ww_standard]
\int_step_variable:nnnNn 1 1 \g__ww_line_int \l_tmpa_int
{\tikz@parse@node\pgfutil@firstofone (\l_tmpa_int-v)
\dim_set:Nn \l_tmpa_dim \pgf@x
- \dim_compare:nNnT \l_tmpa_dim < \g__ww_x_right_dim
- {\dim_gset:Nn \g__ww_x_right_dim \l_tmpa_dim} }
+ \dim_compare:nNnT \l_tmpa_dim < \g__ww_right_x_dim
+ {\dim_gset:Nn \g__ww_right_x_dim \l_tmpa_dim} }
\end{tikzpicture}}
\__ww_post_environment:
\bool_if:nT \c__ww_mathtools_loaded_bool
@@ -579,7 +583,7 @@
\tl_set:Nn \l__ww_tag_tl {#2}
\bool_set:Nn \l__ww_tag_star_bool {#1}
\bool_if:nT {#1 && ! \bool_if_p:N \c__ww_amsmath_loaded_bool}
- { \__ww_msg_error:n {tag*~without~amsmath} }
+ { \__ww_error:n {tag*~without~amsmath} }
}
\NewDocumentEnvironment {DispWithArrows*} {}
{\WithArrowsOptions{notag}
@@ -642,11 +646,11 @@
{final} \l_tmpa_tl
\int_set:Nn \l__ww_final_int {\l_tmpa_tl}
\int_compare:nNnTF \l__ww_final_int > \g__ww_line_int
- {\__ww_msg_error:n {Too~few~lines~for~an~arrow}}
+ {\__ww_error:n {Too~few~lines~for~an~arrow}}
{\cs_if_free:cTF{pgf@sh@ns@wa-\l__ww_prefix_str-\int_use:N\l__ww_initial_int-l}
- { \__ww_msg_error:n {A~PGF~node~doesn't~exist} }
+ { \__ww_error:n {A~PGF~node~doesn't~exist} }
{\cs_if_free:cTF{pgf@sh@ns@wa-\l__ww_prefix_str-\int_use:N\l__ww_final_int-l}
- { \__ww_msg_error:n {A~PGF~node~doesn't~exist} }
+ { \__ww_error:n {A~PGF~node~doesn't~exist} }
{\__ww_draw_arrows_i:}}}
\int_incr:N \l__ww_arrow_int
}
@@ -705,7 +709,7 @@
\end{tikzpicture}}}
\cs_new_protected:Nn \__ww_draw_arrow:nnn
{
- \bool_if:nT {\l__ww_wrap_lines_bool && ! \l__ww_in_witharrows_bool}
+ \bool_if:nT {\l__ww_wrap_lines_bool && \l__ww_in_DispWithArrows_bool}
{ \tl_set_eq:NN \l__ww_tikz_code_tl \c__ww_tikz_code_wrap_lines_tl }
\exp_args:No \__ww_def_function_tmpa:n \l__ww_tikz_code_tl
\__ww_tmpa:nnn {#1} {#2} {#3} }
@@ -714,7 +718,7 @@
{
\draw (#1) to node (__ww_label) {} (#2) ;
\tikz@parse@node \pgfutil@firstofone (__ww_label.west)
- \dim_set:Nn \l_tmpa_dim {\g__ww_x_right_dim - \pgf@x - 0.3333 em}
+ \dim_set:Nn \l_tmpa_dim {\g__ww_right_x_dim - \pgf@x - 0.3333 em}
\path \pgfextra {\tl_gset:Nx \g_tmpa_tl \tikz@text@width} ;
\tl_if_empty:NF \g_tmpa_tl
{\dim_set:Nn \l_tmpb_dim \g_tmpa_tl
@@ -798,7 +802,7 @@
{\x}}
{\clist_gput_right:Nx \g_tmpa_clist {\x}}}
\int_compare:nNnTF {\clist_count:N \g_tmpa_clist} < 2
- {\__ww_msg_error:n {Too~small~specification~for~MultiArrow}}
+ {\__ww_error:n {Too~small~specification~for~MultiArrow}}
{\clist_sort:Nn \g_tmpa_clist
{\int_compare:nNnTF {##1} > {##2}
{\sort_return_swapped:}
@@ -817,8 +821,8 @@
\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__ww_wrap_lines_bool && ! \l__ww_in_witharrows_bool}
- {\dim_set:Nn \l_tmpb_dim {\g__ww_x_right_dim - \pgf@x - 0.3333 em}
+ \bool_if:nT {\l__ww_wrap_lines_bool && \l__ww_in_DispWithArrows_bool}
+ {\dim_set:Nn \l_tmpb_dim {\g__ww_right_x_dim - \pgf@x - 0.3333 em}
\dim_compare:nNnT \l_tmpb_dim < \l_tmpa_dim
{\dim_set_eq:NN \l_tmpa_dim \l_tmpb_dim}}
\path (__ww_label.west)
@@ -980,9 +984,9 @@
\bool_set_true:N \l__ww_notag_bool}}
\bool_if:NT \c__ww_amsmath_loaded_bool \intertext@
\if_mode_math:
- \__ww_msg_error:n {{DispWithArrows}~used~in~math~mode}
+ \__ww_error:n {{DispWithArrows}~used~in~math~mode}
\fi:
- \bool_set_false:N \l__ww_in_witharrows_bool
+ \bool_set_true:N \l__ww_in_DispWithArrows_bool
%
\__ww_pre_environment:n {#2}
\nointerlineskip
@@ -1042,7 +1046,7 @@
-\int_use:N\g__ww_line_int}}
& ##
\tabskip = \c_zero_skip
- && \__ww_msg_error:n {Third~column~in~an~environment~{DispWithArrows}}
+ && \__ww_error:n {Third~column~in~an~environment~{DispWithArrows}}
\if_false: ## \fi:
\cr}
{ \\
@@ -1078,6 +1082,20 @@
\MT_showonlyrefs_true:}
\ignorespacesafterend
}
+\NewDocumentCommand \WithArrowsNewStyle {mm}
+ { \keys_if_exist:nnTF {WithArrows/General} {#1}
+ {\__ww_error:nn {Key~already~defined} {#1}}
+ {\keys_define:nn {WithArrows/General}
+ {#1 .code:n = {\int_compare:nNnTF \l__ww_level_int < 3
+ {\keys_set:nn {WithArrows/General} {#2}}
+ {\__ww_error:n {Option~unknown}}}}
+ \group_begin:
+ \WithArrowsOptions{#2}
+ \group_end:} }
+\msg_new:nnn {witharrows}
+ {Key~already~defined}
+ {The~key~'#1'~is~already~defined.~If~you~go~on,~
+ your~instruction~\token_to_str:N\WithArrowsNewStyle\ will~be~ignored.}
\endinput
%%
%% End of file `witharrows.sty'.