diff options
author | Karl Berry <karl@freefriends.org> | 2017-12-17 23:16:51 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-12-17 23:16:51 +0000 |
commit | f95f2dab244cf167851907d2f86f66d059993afd (patch) | |
tree | 39a76c04cb5e850e6a903dcb1b6b5cbe3e9c7f7c /Master/texmf-dist/tex | |
parent | 6980cb1a55e1d39670564d76f29436530a761cae (diff) |
l3 (17dec17)
git-svn-id: svn://tug.org/texlive/trunk@46085 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
19 files changed, 495 insertions, 545 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty index a21d8bb3936..b1443b74a78 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -20,7 +20,7 @@ %% %% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3str-convert}{2017/12/05}{} +\ProvidesExplPackage{l3str-convert}{2017/12/16}{} {L3 Experimental string encoding conversions} \cs_if_exist:NF \use_ii_i:nn { \cs_new:Npn \use_ii_i:nn #1#2 { #2 #1 } } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty index 8b645158d2a..e6b39e8706b 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty @@ -20,7 +20,7 @@ %% %% File: l3str-format.dtx Copyright (C) 2012-2017 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3str-format}{2017/12/05}{} +\ProvidesExplPackage{l3str-format}{2017/12/16}{} {L3 Experimental string formatting} \cs_generate_variant:Nn \use:nn { nf } \cs_generate_variant:Nn \use:nnn { fnf } diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty index c89aae0aa45..7a4d48d3811 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty @@ -20,7 +20,7 @@ %% %% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016,2017 The LaTeX3 Project \RequirePackage{xparse} -\ProvidesExplPackage{xcoffins}{2017/12/05}{} +\ProvidesExplPackage{xcoffins}{2017/12/16}{} {L3 Experimental design level coffins} \keys_define:nn { coffin } { diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty index 4793d610dfa..3f2201bcec9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -20,8 +20,8 @@ %% %% File: l3galley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach %% (C) 2010-2017 The LaTeX3 Project -\RequirePackage{expl3}[2017/12/05] -\@ifpackagelater{expl3}{2017/12/05} +\RequirePackage{expl3}[2017/12/16] +\@ifpackagelater{expl3}{2017/12/16} {} {% \PackageError{l3galley}{Support package l3kernel too old} @@ -33,7 +33,7 @@ }% \endinput } -\ProvidesExplPackage{l3galley}{2017/12/05}{} +\ProvidesExplPackage{l3galley}{2017/12/16}{} {L3 Experimental galley code} \int_new:N \l__galley_tmp_int \seq_new:N \g__galley_tmpa_seq diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty index 6704e6375ad..f8a04f871f2 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty @@ -21,7 +21,7 @@ %% File: xgalley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach %% (C) 2010-2012,2014,2016-2017 The LaTeX3 Project \RequirePackage{xparse} -\ProvidesExplPackage{xgalley}{2017/12/05}{} +\ProvidesExplPackage{xgalley}{2017/12/16}{} {L3 Experimental galley} \RequirePackage{xparse,xtemplate,l3galley} \clist_new:N \l__galley_tmpa_clist diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex index 08d62f4eab5..7a09140568e 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -62,7 +62,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project -\def\ExplFileDate{2017/12/05}% +\def\ExplFileDate{2017/12/16}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -2687,6 +2687,8 @@ \exp_after:wN #1 \tl_to_str:n {#2} , \scan_stop: , \q_recursion_stop } +\cs_new_protected:Npn \cs_generate_variant:cn + { \exp_args:Nc \cs_generate_variant:Nn } \cs_new_protected:Npx \__cs_generate_variant:N #1 { \exp_not:N \exp_after:wN \exp_not:N \if_meaning:w @@ -2897,6 +2899,46 @@ \exp_after:wN \exp_not:N \cs:w :: #1 \cs_end: \__cs_generate_internal_variant_loop:n } +\cs_new_protected:Npn \prg_generate_conditional_variant:Nnn #1 + { \__cs_split_function:NN #1 \__cs_generate_variant:nnNnn } +\cs_new_protected:Npn \__cs_generate_variant:nnNnn #1#2#3#4#5 + { + \if_meaning:w \c_false_bool #3 + \__msg_kernel_error:nnx { kernel } { missing-colon } + { \token_to_str:c {#1} } + \use_i_delimit_by_q_stop:nw + \fi: + \exp_after:wN \__cs_generate_variant:w + \tl_to_str:n {#5} , \scan_stop: , \q_recursion_stop + \use_none_delimit_by_q_stop:w \q_mark {#1} {#2} {#4} \q_stop + } +\cs_new_protected:Npn \__cs_generate_variant:w + #1 , #2 \q_mark #3#4#5 + { + \if_meaning:w \scan_stop: #1 \scan_stop: + \if_meaning:w \q_nil #1 \q_nil + \use_i:nnn + \fi: + \exp_after:wN \use_none_delimit_by_q_recursion_stop:w + \else: + \cs_if_exist_use:cTF { __cs_generate_variant_#1_form:nnn } + { {#3} {#4} {#5} } + { + \__msg_kernel_error:nnxx + { kernel } { conditional-form-unknown } + {#1} { \token_to_str:c { #3 : #4 } } + } + \fi: + \__cs_generate_variant:w #2 \q_mark {#3} {#4} {#5} + } +\cs_new_protected:Npn \__cs_generate_variant_p_form:nnn #1#2 + { \cs_generate_variant:cn { #1 _p : #2 } } +\cs_new_protected:Npn \__cs_generate_variant_T_form:nnn #1#2 + { \cs_generate_variant:cn { #1 : #2 T } } +\cs_new_protected:Npn \__cs_generate_variant_F_form:nnn #1#2 + { \cs_generate_variant:cn { #1 : #2 F } } +\cs_new_protected:Npn \__cs_generate_variant_TF_form:nnn #1#2 + { \cs_generate_variant:cn { #1 : #2 TF } } %% File: l3tl.dtx Copyright (C) 1990-2017 The LaTeX3 Project \cs_new_protected:Npn \tl_new:N #1 { @@ -3255,14 +3297,8 @@ \cs_generate_variant:Nn \tl_gremove_all:Nn { c } \prg_new_conditional:Npnn \tl_if_blank:n #1 { p , T , F , TF } { \__tl_if_empty_return:o { \use_none:n #1 ? } } -\cs_generate_variant:Nn \tl_if_blank_p:n { V } -\cs_generate_variant:Nn \tl_if_blank:nT { V } -\cs_generate_variant:Nn \tl_if_blank:nF { V } -\cs_generate_variant:Nn \tl_if_blank:nTF { V } -\cs_generate_variant:Nn \tl_if_blank_p:n { o } -\cs_generate_variant:Nn \tl_if_blank:nT { o } -\cs_generate_variant:Nn \tl_if_blank:nF { o } -\cs_generate_variant:Nn \tl_if_blank:nTF { o } +\prg_generate_conditional_variant:Nnn \tl_if_blank:n + { V , o } { p , T , F , TF } \prg_new_conditional:Npnn \tl_if_empty:N #1 { p , T , F , TF } { \if_meaning:w #1 \c_empty_tl @@ -3271,10 +3307,8 @@ \prg_return_false: \fi: } -\cs_generate_variant:Nn \tl_if_empty_p:N { c } -\cs_generate_variant:Nn \tl_if_empty:NT { c } -\cs_generate_variant:Nn \tl_if_empty:NF { c } -\cs_generate_variant:Nn \tl_if_empty:NTF { c } +\prg_generate_conditional_variant:Nnn \tl_if_empty:N + { c } { p , T , F , TF } \prg_new_conditional:Npnn \tl_if_empty:n #1 { p , TF , T , F } { \exp_after:wN \if_meaning:w \exp_after:wN \q_nil @@ -3284,10 +3318,8 @@ \prg_return_false: \fi: } -\cs_generate_variant:Nn \tl_if_empty_p:n { V } -\cs_generate_variant:Nn \tl_if_empty:nTF { V } -\cs_generate_variant:Nn \tl_if_empty:nT { V } -\cs_generate_variant:Nn \tl_if_empty:nF { V } +\prg_generate_conditional_variant:Nnn \tl_if_empty:n + { V } { p , TF , T , F } \cs_new:Npn \__tl_if_empty_return:o #1 { \exp_after:wN \if_meaning:w \exp_after:wN \q_nil @@ -3307,10 +3339,8 @@ \prg_return_false: \fi: } -\cs_generate_variant:Nn \tl_if_eq_p:NN { Nc , c , cc } -\cs_generate_variant:Nn \tl_if_eq:NNTF { Nc , c , cc } -\cs_generate_variant:Nn \tl_if_eq:NNT { Nc , c , cc } -\cs_generate_variant:Nn \tl_if_eq:NNF { Nc , c , cc } +\prg_generate_conditional_variant:Nnn \tl_if_eq:NN + { Nc , c , cc } { p , TF , T , F } \prg_new_protected_conditional:Npnn \tl_if_eq:nn #1#2 { T , F , TF } { \group_begin: @@ -3329,9 +3359,8 @@ \cs_new_protected:Npn \tl_if_in:NnT { \exp_args:No \tl_if_in:nnT } \cs_new_protected:Npn \tl_if_in:NnF { \exp_args:No \tl_if_in:nnF } \cs_new_protected:Npn \tl_if_in:NnTF { \exp_args:No \tl_if_in:nnTF } -\cs_generate_variant:Nn \tl_if_in:NnT { c } -\cs_generate_variant:Nn \tl_if_in:NnF { c } -\cs_generate_variant:Nn \tl_if_in:NnTF { c } +\prg_generate_conditional_variant:Nnn \tl_if_in:Nn + { c } { T , F , TF } \prg_new_protected_conditional:Npnn \tl_if_in:nn #1#2 { T , F , TF } { \if_false: { \fi: @@ -3340,13 +3369,12 @@ { \prg_return_false: } { \prg_return_true: } \if_false: } \fi: } -\cs_generate_variant:Nn \tl_if_in:nnT { V , o , no } -\cs_generate_variant:Nn \tl_if_in:nnF { V , o , no } -\cs_generate_variant:Nn \tl_if_in:nnTF { V , o , no } +\prg_generate_conditional_variant:Nnn \tl_if_in:nn + { V , o , no } { T , F , TF } \use:x { \prg_new_conditional:Npnn \exp_not:N \tl_if_novalue:n ##1 - { T , F , TF } + { p , T , F , TF } { \exp_not:N \str_if_eq:onTF { @@ -3403,9 +3431,8 @@ { \__tl_case:Nw #1 } } \cs_generate_variant:Nn \tl_case:Nn { c } -\cs_generate_variant:Nn \tl_case:NnT { c } -\cs_generate_variant:Nn \tl_case:NnF { c } -\cs_generate_variant:Nn \tl_case:NnTF { c } +\prg_generate_conditional_variant:Nnn \tl_case:Nn + { c } { T , F , TF } \cs_new:Npn \__prg_case_end:nw #1#2#3 \q_mark #4#5 \q_stop { \exp_end: #1 #4 } \cs_new_eq:NN \__tl_case_end:nw \__prg_case_end:nw @@ -3664,10 +3691,8 @@ \prg_return_false: \fi: } -\cs_generate_variant:Nn \tl_if_head_eq_charcode_p:nN { f } -\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNTF { f } -\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNT { f } -\cs_generate_variant:Nn \tl_if_head_eq_charcode:nNF { f } +\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN + { f } { p , TF , T , F } \prg_new_conditional:Npnn \tl_if_head_eq_catcode:nN #1 #2 { p , T , F , TF } { \if_catcode:w @@ -3961,14 +3986,8 @@ = 0 \exp_stop_f: \prg_return_true: \else: \prg_return_false: \fi: } -\cs_generate_variant:Nn \str_if_eq_p:nn { V , o } -\cs_generate_variant:Nn \str_if_eq_p:nn { nV , no , VV } -\cs_generate_variant:Nn \str_if_eq:nnT { V , o } -\cs_generate_variant:Nn \str_if_eq:nnT { nV , no , VV } -\cs_generate_variant:Nn \str_if_eq:nnF { V , o } -\cs_generate_variant:Nn \str_if_eq:nnF { nV , no , VV } -\cs_generate_variant:Nn \str_if_eq:nnTF { V , o } -\cs_generate_variant:Nn \str_if_eq:nnTF { nV , no , VV } +\prg_generate_conditional_variant:Nnn \str_if_eq:nn + { V , o , nV , no , VV } { p , T , F , TF } \prg_new_conditional:Npnn \str_if_eq_x:nn #1#2 { p , T , F , TF } { \if_int_compare:w \__str_if_eq_x:nn {#1} {#2} = 0 \exp_stop_f: @@ -3979,19 +3998,16 @@ \if_int_compare:w \__str_if_eq_x:nn { \tl_to_str:N #1 } { \tl_to_str:N #2 } = 0 \exp_stop_f: \prg_return_true: \else: \prg_return_false: \fi: } -\cs_generate_variant:Nn \str_if_eq:NNT { c , Nc , cc } -\cs_generate_variant:Nn \str_if_eq:NNF { c , Nc , cc } -\cs_generate_variant:Nn \str_if_eq:NNTF { c , Nc , cc } -\cs_generate_variant:Nn \str_if_eq_p:NN { c , Nc , cc } +\prg_generate_conditional_variant:Nnn \str_if_eq:NN + { c , Nc , cc } { T , F , TF , p } \prg_new_protected_conditional:Npnn \str_if_in:Nn #1#2 { T , F , TF } { \use:x { \tl_if_in:nnTF { \tl_to_str:N #1 } { \tl_to_str:n {#2} } } { \prg_return_true: } { \prg_return_false: } } -\cs_generate_variant:Nn \str_if_in:NnT { c } -\cs_generate_variant:Nn \str_if_in:NnF { c } -\cs_generate_variant:Nn \str_if_in:NnTF { c } +\prg_generate_conditional_variant:Nnn \str_if_in:Nn + { c } { T , F , TF } \prg_new_protected_conditional:Npnn \str_if_in:nn #1#2 { T , F , TF } { \use:x @@ -4021,9 +4037,8 @@ \cs_new:Npn \__str_case:nnTF #1#2#3#4 { \__str_case:nw {#1} #2 {#1} { } \q_mark {#3} \q_mark {#4} \q_stop } \cs_generate_variant:Nn \str_case:nn { o , nV , nv } -\cs_generate_variant:Nn \str_case:nnT { o , nV , nv } -\cs_generate_variant:Nn \str_case:nnF { o , nV , nv } -\cs_generate_variant:Nn \str_case:nnTF { o , nV , nv } +\prg_generate_conditional_variant:Nnn \str_case:nn + { o , nV , nv } { T , F , TF } \cs_new:Npn \__str_case:nw #1#2#3 { \str_if_eq:nnTF {#1} {#2} @@ -4814,10 +4829,8 @@ \prg_return_false: \fi: } -\cs_generate_variant:Nn \seq_if_empty_p:N { c } -\cs_generate_variant:Nn \seq_if_empty:NT { c } -\cs_generate_variant:Nn \seq_if_empty:NF { c } -\cs_generate_variant:Nn \seq_if_empty:NTF { c } +\prg_generate_conditional_variant:Nnn \seq_if_empty:N + { c } { p , T , F , TF } \prg_new_protected_conditional:Npnn \seq_if_in:Nn #1#2 { T , F , TF } { @@ -4837,12 +4850,8 @@ } \cs_new:Npn \__seq_if_in: { \__prg_break:n { \group_end: \prg_return_true: } } -\cs_generate_variant:Nn \seq_if_in:NnT { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_if_in:NnT { c , cV , cv , co , cx } -\cs_generate_variant:Nn \seq_if_in:NnF { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_if_in:NnF { c , cV , cv , co , cx } -\cs_generate_variant:Nn \seq_if_in:NnTF { NV , Nv , No , Nx } -\cs_generate_variant:Nn \seq_if_in:NnTF { c , cV , cv , co , cx } +\prg_generate_conditional_variant:Nnn \seq_if_in:Nn + { NV , Nv , No , Nx , c , cV , cv , co , cx } { T , F , TF } \cs_new_protected:Npn \__seq_pop:NNNN #1#2#3#4 { \if_meaning:w #3 \c_empty_seq @@ -4932,12 +4941,10 @@ { \__seq_pop_TF:NNNN \prg_do_nothing: \seq_get_left:NN #1#2 } \prg_new_protected_conditional:Npnn \seq_get_right:NN #1#2 { T , F , TF } { \__seq_pop_TF:NNNN \prg_do_nothing: \seq_get_right:NN #1#2 } -\cs_generate_variant:Nn \seq_get_left:NNT { c } -\cs_generate_variant:Nn \seq_get_left:NNF { c } -\cs_generate_variant:Nn \seq_get_left:NNTF { c } -\cs_generate_variant:Nn \seq_get_right:NNT { c } -\cs_generate_variant:Nn \seq_get_right:NNF { c } -\cs_generate_variant:Nn \seq_get_right:NNTF { c } +\prg_generate_conditional_variant:Nnn \seq_get_left:NN + { c } { T , F , TF } +\prg_generate_conditional_variant:Nnn \seq_get_right:NN + { c } { T , F , TF } \prg_new_protected_conditional:Npnn \seq_pop_left:NN #1#2 { T , F , TF } { \__seq_pop_TF:NNNN \__seq_pop_left:NNN \tl_set:Nn #1 #2 } \prg_new_protected_conditional:Npnn \seq_gpop_left:NN #1#2 { T , F , TF } @@ -4946,18 +4953,10 @@ { \__seq_pop_TF:NNNN \__seq_pop_right:NNN \tl_set:Nx #1 #2 } \prg_new_protected_conditional:Npnn \seq_gpop_right:NN #1#2 { T , F , TF } { \__seq_pop_TF:NNNN \__seq_pop_right:NNN \tl_gset:Nx #1 #2 } -\cs_generate_variant:Nn \seq_pop_left:NNT { c } -\cs_generate_variant:Nn \seq_pop_left:NNF { c } -\cs_generate_variant:Nn \seq_pop_left:NNTF { c } -\cs_generate_variant:Nn \seq_gpop_left:NNT { c } -\cs_generate_variant:Nn \seq_gpop_left:NNF { c } -\cs_generate_variant:Nn \seq_gpop_left:NNTF { c } -\cs_generate_variant:Nn \seq_pop_right:NNT { c } -\cs_generate_variant:Nn \seq_pop_right:NNF { c } -\cs_generate_variant:Nn \seq_pop_right:NNTF { c } -\cs_generate_variant:Nn \seq_gpop_right:NNT { c } -\cs_generate_variant:Nn \seq_gpop_right:NNF { c } -\cs_generate_variant:Nn \seq_gpop_right:NNTF { c } +\prg_generate_conditional_variant:Nnn \seq_pop_left:NN { c } { T , F , TF } +\prg_generate_conditional_variant:Nnn \seq_gpop_left:NN { c } { T , F , TF } +\prg_generate_conditional_variant:Nnn \seq_pop_right:NN { c } { T , F , TF } +\prg_generate_conditional_variant:Nnn \seq_gpop_right:NN { c } { T , F , TF } \cs_new:Npn \seq_item:Nn #1 { \exp_after:wN \__seq_item:wNn #1 \q_stop #1 } \cs_new:Npn \__seq_item:wNn \s__seq #1 \q_stop #2#3 @@ -5297,12 +5296,10 @@ \cs_generate_variant:Nn \int_gzero_new:N { c } \__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { } \cs_new_protected:Npn \int_set_eq:NN #1#2 { #1 = #2 } -\cs_generate_variant:Nn \int_set_eq:NN { c } -\cs_generate_variant:Nn \int_set_eq:NN { Nc , cc } +\cs_generate_variant:Nn \int_set_eq:NN { c , Nc , cc } \__debug_patch:nnNNpn { \__debug_chk_var_global:N #1 } { } \cs_new_protected:Npn \int_gset_eq:NN #1#2 { \tex_global:D #1 = #2 } -\cs_generate_variant:Nn \int_gset_eq:NN { c } -\cs_generate_variant:Nn \int_gset_eq:NN { Nc , cc } +\cs_generate_variant:Nn \int_gset_eq:NN { c , Nc , cc } \prg_new_eq_conditional:NNn \int_if_exist:N \cs_if_exist:N { TF , T , F , p } \prg_new_eq_conditional:NNn \int_if_exist:c \cs_if_exist:c @@ -6217,10 +6214,8 @@ \prg_return_false: \fi: } -\cs_generate_variant:Nn \quark_if_no_value_p:N { c } -\cs_generate_variant:Nn \quark_if_no_value:NT { c } -\cs_generate_variant:Nn \quark_if_no_value:NF { c } -\cs_generate_variant:Nn \quark_if_no_value:NTF { c } +\prg_generate_conditional_variant:Nnn \quark_if_no_value:N + { c } { p , T , F , TF } \prg_new_conditional:Npnn \quark_if_nil:n #1 { p, T , F , TF } { \__tl_if_empty_return:o @@ -6233,10 +6228,8 @@ { \__quark_if_no_value:w {} #1 {} ? ! \q_no_value ? ? ! } } \cs_new:Npn \__quark_if_no_value:w #1 \q_no_value #2 ? #3 ? ! { #1 #2 } -\cs_generate_variant:Nn \quark_if_nil_p:n { V , o } -\cs_generate_variant:Nn \quark_if_nil:nTF { V , o } -\cs_generate_variant:Nn \quark_if_nil:nT { V , o } -\cs_generate_variant:Nn \quark_if_nil:nF { V , o } +\prg_generate_conditional_variant:Nnn \quark_if_nil:n + { V , o } { p , TF , T , F } \quark_new:N \q__tl_act_mark \quark_new:N \q__tl_act_stop \tl_new:N \g__scan_marks_tl @@ -6296,10 +6289,7 @@ \prg_return_false: \fi: } -\cs_generate_variant:Nn \bool_if_p:N { c } -\cs_generate_variant:Nn \bool_if:NT { c } -\cs_generate_variant:Nn \bool_if:NF { c } -\cs_generate_variant:Nn \bool_if:NTF { c } +\prg_generate_conditional_variant:Nnn \bool_if:N { c } { p , T , F , TF } \cs_new_protected:Npn \bool_show:n { \msg_show_eval:Nn \__bool_to_str:n } \cs_new_protected:Npn \bool_log:n @@ -6692,9 +6682,7 @@ \prg_return_true: \fi: } -\cs_generate_variant:Nn \clist_get:NNT { c } -\cs_generate_variant:Nn \clist_get:NNF { c } -\cs_generate_variant:Nn \clist_get:NNTF { c } +\prg_generate_conditional_variant:Nnn \clist_get:NN { c } { T , F , TF } \prg_new_protected_conditional:Npnn \clist_pop:NN #1#2 { T , F , TF } { \__clist_pop_TF:NNN \tl_set:Nx #1 #2 } \prg_new_protected_conditional:Npnn \clist_gpop:NN #1#2 { T , F , TF } @@ -6708,12 +6696,8 @@ \prg_return_true: \fi: } -\cs_generate_variant:Nn \clist_pop:NNT { c } -\cs_generate_variant:Nn \clist_pop:NNF { c } -\cs_generate_variant:Nn \clist_pop:NNTF { c } -\cs_generate_variant:Nn \clist_gpop:NNT { c } -\cs_generate_variant:Nn \clist_gpop:NNF { c } -\cs_generate_variant:Nn \clist_gpop:NNTF { c } +\prg_generate_conditional_variant:Nnn \clist_pop:NN { c } { T , F , TF } +\prg_generate_conditional_variant:Nnn \clist_gpop:NN { c } { T , F , TF } \cs_new_eq:NN \clist_push:Nn \clist_put_left:Nn \cs_new_eq:NN \clist_push:NV \clist_put_left:NV \cs_new_eq:NN \clist_push:No \clist_put_left:No @@ -6830,15 +6814,10 @@ { \__clist_tmp:w ,#1, {} {} ,#2, } { \prg_return_false: } { \prg_return_true: } } -\cs_generate_variant:Nn \clist_if_in:NnT { NV , No } -\cs_generate_variant:Nn \clist_if_in:NnT { c , cV , co } -\cs_generate_variant:Nn \clist_if_in:NnF { NV , No } -\cs_generate_variant:Nn \clist_if_in:NnF { c , cV , co } -\cs_generate_variant:Nn \clist_if_in:NnTF { NV , No } -\cs_generate_variant:Nn \clist_if_in:NnTF { c , cV , co } -\cs_generate_variant:Nn \clist_if_in:nnT { nV , no } -\cs_generate_variant:Nn \clist_if_in:nnF { nV , no } -\cs_generate_variant:Nn \clist_if_in:nnTF { nV , no } +\prg_generate_conditional_variant:Nnn \clist_if_in:Nn + { NV , No , c , cV , co } { T , F , TF } +\prg_generate_conditional_variant:Nnn \clist_if_in:nn + { nV , no } { T , F , TF } \cs_new:Npn \clist_map_function:NN #1#2 { \clist_if_empty:NF #1 @@ -7945,12 +7924,8 @@ } { \prg_return_false: } } -\cs_generate_variant:Nn \prop_pop:NnNT { c } -\cs_generate_variant:Nn \prop_pop:NnNF { c } -\cs_generate_variant:Nn \prop_pop:NnNTF { c } -\cs_generate_variant:Nn \prop_gpop:NnNT { c } -\cs_generate_variant:Nn \prop_gpop:NnNF { c } -\cs_generate_variant:Nn \prop_gpop:NnNTF { c } +\prg_generate_conditional_variant:Nnn \prop_pop:NnN { c } { T , F , TF } +\prg_generate_conditional_variant:Nnn \prop_gpop:NnN { c } { T , F , TF } \cs_new_protected:Npn \prop_put:Nnn { \__prop_put:NNnn \tl_set:Nx } \cs_new_protected:Npn \prop_gput:Nnn { \__prop_put:NNnn \tl_gset:Nx } \cs_new_protected:Npn \__prop_put:NNnn #1#2#3#4 @@ -7998,10 +7973,8 @@ \tl_if_eq:NNTF #1 \c_empty_prop \prg_return_true: \prg_return_false: } -\cs_generate_variant:Nn \prop_if_empty_p:N { c } -\cs_generate_variant:Nn \prop_if_empty:NT { c } -\cs_generate_variant:Nn \prop_if_empty:NF { c } -\cs_generate_variant:Nn \prop_if_empty:NTF { c } +\prg_generate_conditional_variant:Nnn \prop_if_empty:N + { c } { p , T , F , TF } \prg_new_conditional:Npnn \prop_if_in:Nn #1#2 { p , T , F , TF } { \exp_last_unbraced:Noo \__prop_if_in:nwwn { \tl_to_str:n {#2} } #1 @@ -8024,14 +7997,8 @@ \fi: \__prg_break: } -\cs_generate_variant:Nn \prop_if_in_p:Nn { NV , No } -\cs_generate_variant:Nn \prop_if_in_p:Nn { c , cV , co } -\cs_generate_variant:Nn \prop_if_in:NnT { NV , No } -\cs_generate_variant:Nn \prop_if_in:NnT { c , cV , co } -\cs_generate_variant:Nn \prop_if_in:NnF { NV , No } -\cs_generate_variant:Nn \prop_if_in:NnF { c , cV , co } -\cs_generate_variant:Nn \prop_if_in:NnTF { NV , No } -\cs_generate_variant:Nn \prop_if_in:NnTF { c , cV , co } +\prg_generate_conditional_variant:Nnn \prop_if_in:Nn + { NV , No , c , cV , co } { p , T , F , TF } \prg_new_protected_conditional:Npnn \prop_get:NnN #1#2#3 { T , F , TF } { \__prop_split:NnTF #1 {#2} @@ -8041,12 +8008,8 @@ } { \prg_return_false: } } -\cs_generate_variant:Nn \prop_get:NnNT { NV , No } -\cs_generate_variant:Nn \prop_get:NnNF { NV , No } -\cs_generate_variant:Nn \prop_get:NnNTF { NV , No } -\cs_generate_variant:Nn \prop_get:NnNT { c , cV , co } -\cs_generate_variant:Nn \prop_get:NnNF { c , cV , co } -\cs_generate_variant:Nn \prop_get:NnNTF { c , cV , co } +\prg_generate_conditional_variant:Nnn \prop_get:NnN + { NV , No , c , cV , co } { T , F , TF } \cs_new:Npn \prop_map_function:NN #1#2 { \exp_last_unbraced:NNo \__prop_map_function:Nwwn #2 #1 @@ -8061,8 +8024,7 @@ #1 {#3} {#4} \__prop_map_function:Nwwn #1 } -\cs_generate_variant:Nn \prop_map_function:NN { Nc } -\cs_generate_variant:Nn \prop_map_function:NN { c , cc } +\cs_generate_variant:Nn \prop_map_function:NN { Nc , c , cc } \cs_new_protected:Npn \prop_map_inline:Nn #1#2 { \cs_gset_eq:cN @@ -9146,6 +9108,8 @@ } \cs_new_protected:Npn \ior_new:N #1 { \cs_new_eq:NN #1 \c_term_ior } \cs_generate_variant:Nn \ior_new:N { c } +\ior_new:N \g_tmpa_ior +\ior_new:N \g_tmpb_ior \cs_new_protected:Npn \ior_open:Nn #1#2 { \ior_open:NnF #1 {#2} { \__file_missing:n {#2} } } \cs_generate_variant:Nn \ior_open:Nn { c } @@ -9159,9 +9123,7 @@ \prg_return_true: } } -\cs_generate_variant:Nn \ior_open:NnT { c } -\cs_generate_variant:Nn \ior_open:NnF { c } -\cs_generate_variant:Nn \ior_open:NnTF { c } +\prg_generate_conditional_variant:Nnn \ior_open:Nn { c } { T , F , TF } \exp_args:NNf \cs_new_protected:Npn \__ior_new:N { \exp_args:NNc \exp_after:wN \exp_stop_f: { newread } } \cs_new_protected:Npn \__ior_open:Nn #1#2 @@ -9296,6 +9258,8 @@ } \cs_new_protected:Npn \iow_new:N #1 { \cs_new_eq:NN #1 \c_term_iow } \cs_generate_variant:Nn \iow_new:N { c } +\iow_new:N \g_tmpa_iow +\iow_new:N \g_tmpb_iow \exp_args:NNf \cs_new_protected:Npn \__iow_new:N { \exp_args:NNc \exp_after:wN \exp_stop_f: { newwrite } } \cs_new_protected:Npn \iow_open:Nn #1#2 @@ -9802,13 +9766,11 @@ \__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { } \cs_new_protected:Npn \dim_set_eq:NN #1#2 { #1 = #2 \scan_stop: } -\cs_generate_variant:Nn \dim_set_eq:NN { c } -\cs_generate_variant:Nn \dim_set_eq:NN { Nc , cc } +\cs_generate_variant:Nn \dim_set_eq:NN { c , Nc , cc } \__debug_patch:nnNNpn { \__debug_chk_var_global:N #1 } { } \cs_new_protected:Npn \dim_gset_eq:NN #1#2 { \tex_global:D #1 = #2 \scan_stop: } -\cs_generate_variant:Nn \dim_gset_eq:NN { c } -\cs_generate_variant:Nn \dim_gset_eq:NN { Nc , cc } +\cs_generate_variant:Nn \dim_gset_eq:NN { c , Nc , cc } \__dim_tmp:w \__debug_chk_var_local:N \cs_new_protected:Npn \dim_add:Nn #1#2 { \tex_advance:D #1 by \__dim_eval:w #2 \__dim_eval_end: \scan_stop: } @@ -10102,11 +10064,9 @@ \cs_generate_variant:Nn \skip_set:Nn { c } \cs_generate_variant:Nn \skip_gset:Nn { c } \cs_new_protected:Npn \skip_set_eq:NN #1#2 { #1 = #2 } -\cs_generate_variant:Nn \skip_set_eq:NN { c } -\cs_generate_variant:Nn \skip_set_eq:NN { Nc , cc } +\cs_generate_variant:Nn \skip_set_eq:NN { c , Nc , cc } \cs_new_protected:Npn \skip_gset_eq:NN #1#2 { \tex_global:D #1 = #2 } -\cs_generate_variant:Nn \skip_gset_eq:NN { c } -\cs_generate_variant:Nn \skip_gset_eq:NN { Nc , cc } +\cs_generate_variant:Nn \skip_gset_eq:NN { c , Nc , cc } \__dim_tmp:w \__debug_chk_var_local:N \cs_new_protected:Npn \skip_add:Nn #1#2 { \tex_advance:D #1 by \etex_glueexpr:D #2 \scan_stop: } @@ -10238,12 +10198,10 @@ \cs_generate_variant:Nn \muskip_gset:Nn { c } \__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { } \cs_new_protected:Npn \muskip_set_eq:NN #1#2 { #1 = #2 } -\cs_generate_variant:Nn \muskip_set_eq:NN { c } -\cs_generate_variant:Nn \muskip_set_eq:NN { Nc , cc } +\cs_generate_variant:Nn \muskip_set_eq:NN { c , Nc , cc } \__debug_patch:nnNNpn { \__debug_chk_var_global:N #1 } { } \cs_new_protected:Npn \muskip_gset_eq:NN #1#2 { \tex_global:D #1 = #2 } -\cs_generate_variant:Nn \muskip_gset_eq:NN { c } -\cs_generate_variant:Nn \muskip_gset_eq:NN { Nc , cc } +\cs_generate_variant:Nn \muskip_gset_eq:NN { c , Nc , cc } \__dim_tmp:w \__debug_chk_var_local:N \cs_new_protected:Npn \muskip_add:Nn #1#2 { \tex_advance:D #1 by \etex_muexpr:D #2 \scan_stop: } @@ -20043,6 +20001,10 @@ } \cs_new_protected:Npn \regex_new:N #1 { \cs_new_eq:NN #1 \c__regex_no_match_regex } +\regex_new:N \l_tmpa_regex +\regex_new:N \l_tmpb_regex +\regex_new:N \g_tmpa_regex +\regex_new:N \g_tmpb_regex \cs_new_protected:Npn \regex_set:Nn #1#2 { \__regex_compile:n {#2} @@ -20749,20 +20711,14 @@ { \if_hbox:N #1 \prg_return_true: \else: \prg_return_false: \fi: } \prg_new_conditional:Npnn \box_if_vertical:N #1 { p , T , F , TF } { \if_vbox:N #1 \prg_return_true: \else: \prg_return_false: \fi: } -\cs_generate_variant:Nn \box_if_horizontal_p:N { c } -\cs_generate_variant:Nn \box_if_horizontal:NT { c } -\cs_generate_variant:Nn \box_if_horizontal:NF { c } -\cs_generate_variant:Nn \box_if_horizontal:NTF { c } -\cs_generate_variant:Nn \box_if_vertical_p:N { c } -\cs_generate_variant:Nn \box_if_vertical:NT { c } -\cs_generate_variant:Nn \box_if_vertical:NF { c } -\cs_generate_variant:Nn \box_if_vertical:NTF { c } +\prg_generate_conditional_variant:Nnn \box_if_horizontal:N + { c } { p , T , F , TF } +\prg_generate_conditional_variant:Nnn \box_if_vertical:N + { c } { p , T , F , TF } \prg_new_conditional:Npnn \box_if_empty:N #1 { p , T , F , TF } { \if_box_empty:N #1 \prg_return_true: \else: \prg_return_false: \fi: } -\cs_generate_variant:Nn \box_if_empty_p:N { c } -\cs_generate_variant:Nn \box_if_empty:NT { c } -\cs_generate_variant:Nn \box_if_empty:NF { c } -\cs_generate_variant:Nn \box_if_empty:NTF { c } +\prg_generate_conditional_variant:Nnn \box_if_empty:N + { c } { p , T , F , TF } \__debug_patch:nnNNpn { \__debug_chk_var_local:N #1 } { } \cs_new_protected:Npn \box_set_to_last:N #1 { \tex_setbox:D #1 \tex_lastbox:D } @@ -21036,7 +20992,7 @@ \tex_kern:D -\l__box_left_new_dim \hbox:n { - \__driver_box_use_rotate:Nn + \driver_box_use_rotate:Nn \l__box_internal_box \l__box_angle_fp } @@ -21257,7 +21213,7 @@ { \hbox_set:Nn \l__box_internal_box { - \__driver_box_use_scale:Nnn + \driver_box_use_scale:Nnn #1 \l__box_scale_x_fp \l__box_scale_y_fp @@ -21348,10 +21304,8 @@ } { \prg_return_false: } } -\cs_generate_variant:Nn \coffin_if_exist_p:N { c } -\cs_generate_variant:Nn \coffin_if_exist:NT { c } -\cs_generate_variant:Nn \coffin_if_exist:NF { c } -\cs_generate_variant:Nn \coffin_if_exist:NTF { c } +\prg_generate_conditional_variant:Nnn \coffin_if_exist:N + { c } { p , T , F , TF } \cs_new_protected:Npn \__coffin_if_exist:NT #1#2 { \coffin_if_exist:NTF #1 @@ -22280,7 +22234,7 @@ } } \cs_new_protected:Npn \box_clip:N #1 - { \hbox_set:Nn #1 { \__driver_box_use_clip:N #1 } } + { \hbox_set:Nn #1 { \driver_box_use_clip:N #1 } } \cs_generate_variant:Nn \box_clip:N { c } \cs_new_protected:Npn \box_trim:Nnnnn #1#2#3#4#5 { @@ -22886,8 +22840,7 @@ #1 {#3} {#6} \__seq_mapthread_function:Nnnwnn #1 #4 \q_stop } -\cs_generate_variant:Nn \seq_mapthread_function:NNN { Nc } -\cs_generate_variant:Nn \seq_mapthread_function:NNN { c , cc } +\cs_generate_variant:Nn \seq_mapthread_function:NNN { Nc , c , cc } \cs_new_protected:Npn \seq_set_filter:NNn { \__seq_set_filter:NNNn \tl_set:Nx } \cs_new_protected:Npn \seq_gset_filter:NNn diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 9ff1d71bc63..6dad32cd813 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project -\def\ExplFileDate{2017/12/05}% +\def\ExplFileDate{2017/12/16}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index df455795330..fe60630658f 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx Copyright (C) 1990-2017 The LaTeX3 Project -\def\ExplFileDate{2017/12/05}% +\def\ExplFileDate{2017/12/16}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls index d03dd25b8ea..ecf9682900c 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls +++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls @@ -20,7 +20,7 @@ %% %% File: l3doc.dtx Copyright (C) 1990-2017 The LaTeX3 project \RequirePackage{expl3,xparse,calc} -\ProvidesExplClass{l3doc}{2017/12/05}{} +\ProvidesExplClass{l3doc}{2017/12/16}{} {L3 Experimental documentation class} \clist_new:N \g_docinput_clist \seq_new:N \g_doc_functions_seq diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def index 5d3c33f35d6..49851740957 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def @@ -69,7 +69,7 @@ { \tex_special:D { x:gsave } } \cs_new_protected:Npn \__driver_scope_end: { \tex_special:D { x:grestore } } -\cs_new_protected:Npn \__driver_box_use_clip:N #1 +\cs_new_protected:Npn \driver_box_use_clip:N #1 { \__driver_scope_begin: \__driver_literal:n @@ -84,7 +84,7 @@ \__driver_scope_end: \skip_horizontal:n { \box_wd:N #1 } } -\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2 +\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2 { \__driver_scope_begin: \tex_special:D @@ -97,7 +97,7 @@ \box_use:N #1 \__driver_scope_end: } -\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3 +\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3 { \__driver_scope_begin: \tex_special:D @@ -109,19 +109,19 @@ \hbox_overlap_right:n { \box_use:N #1 } \__driver_scope_end: } -\cs_new_eq:NN \__driver_image_getbb_eps:n \__image_read_bb:n +\cs_new_eq:NN \__driver_image_getbb_eps:n \image_read_bb:n \cs_new_protected:Npn \__driver_image_getbb_jpg:n #1 { - \int_zero:N \l__image_page_int - \tl_clear:N \l__image_pagebox_tl - \__image_extract_bb:n {#1} + \int_zero:N \l_image_page_int + \tl_clear:N \l_image_pagebox_tl + \image_extract_bb:n {#1} } \cs_new_eq:NN \__driver_image_getbb_png:n \__driver_image_getbb_jpg:n \cs_new_protected:Npn \__driver_image_getbb_pdf:n #1 { - \tl_clear:N \l__image_decode_tl - \bool_set_false:N \l__image_interpolate_bool - \__image_extract_bb:n {#1} + \tl_clear:N \l_image_decode_tl + \bool_set_false:N \l_image_interpolate_bool + \image_extract_bb:n {#1} } \int_new:N \g__driver_image_int \cs_new_protected:Npn \__driver_image_include_eps:n #1 @@ -137,23 +137,23 @@ { \__driver_image_include_auxii:xnn { - \tl_if_empty:NF \l__image_pagebox_tl - { : \l__image_pagebox_tl } - \int_compare:nNnT \l__image_page_int > 1 - { :P \int_use:N \l__image_page_int } - \tl_if_empty:NF \l__image_decode_tl - { :D \l__image_decode_tl } - \bool_if:NT \l__image_interpolate_bool + \tl_if_empty:NF \l_image_pagebox_tl + { : \l_image_pagebox_tl } + \int_compare:nNnT \l_image_page_int > 1 + { :P \int_use:N \l_image_page_int } + \tl_if_empty:NF \l_image_decode_tl + { :D \l_image_decodearray_tl } + \bool_if:NT \l_image_interpolate_bool { :I } } {#1} {#2} } \cs_new_protected:Npn \__driver_image_include_auxii:nnn #1#2#3 { - \int_if_exist:cTF { c__image_ #2#1 _int } + \int_if_exist:cTF { c__driver_image_ #2#1 _int } { \tex_special:D - { pdf:usexobj~@image \int_use:c { c__image_ #2#1 _int } } + { pdf:usexobj~@image \int_use:c { c__driver_image_ #2#1 _int } } } { \__driver_image_include_auxiii:nn {#2} {#1} {#3} } } @@ -161,31 +161,31 @@ \cs_new_protected:Npn \__driver_image_include_auxiii:nnn #1#2#3 { \int_gincr:N \g__driver_image_int - \int_const:cn { c__image_ #1#2 _int } { \g__driver_image_int } + \int_const:cn { c__driver_image_ #1#2 _int } { \g__driver_image_int } \tex_special:D { pdf:#3~ - @image \int_use:c { c__image_ #1#2 _int } - \int_compare:nNnT \l__image_page_int > 1 - { page ~ \int_use:N \l__image_page_int \c_space_tl } - \tl_if_empty:NF \l__image_pagebox_tl + @image \int_use:c { c__driver_image_ #1#2 _int } + \int_compare:nNnT \l_image_page_int > 1 + { page ~ \int_use:N \l_image_page_int \c_space_tl } + \tl_if_empty:NF \l_image_pagebox_tl { - pagebox ~ \l__image_pagebox_tl \c_space_tl + pagebox ~ \l_image_pagebox_tl \c_space_tl bbox ~ - \dim_to_decimal_in_bp:n \l__image_llx_dim \c_space_tl - \dim_to_decimal_in_bp:n \l__image_lly_dim \c_space_tl - \dim_to_decimal_in_bp:n \l__image_urx_dim \c_space_tl - \dim_to_decimal_in_bp:n \l__image_ury_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_llx_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_lly_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_urx_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_ury_dim \c_space_tl } (#1) \bool_lazy_or:nnT - { \l__image_interpolate_bool } - { ! \tl_if_empty_p:N \l__image_decode_tl } + { \l_image_interpolate_bool } + { ! \tl_if_empty_p:N \l_image_decodearray_tl } { << - \tl_if_empty:NF \l__image_decode_tl - { /Decode~[ \l__image_decode_tl ] } - \bool_if:NT \l__image_interpolate_bool + \tl_if_empty:NF \l_image_decode_tl + { /Decode~[ \l_image_decodearray_tl ] } + \bool_if:NT \l_image_interpolate_bool { /Interpolate~true> } >> } @@ -193,25 +193,25 @@ } \cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n \cs_generate_variant:Nn \__driver_draw_literal:n { x } -\cs_new_protected:Npn \__driver_draw_begin: - { \__driver_draw_scope_begin: } -\cs_new_protected:Npn \__driver_draw_end: - { \__driver_draw_scope_end: } -\cs_new_protected:Npn \__driver_draw_scope_begin: +\cs_new_protected:Npn \driver_draw_begin: + { \driver_draw_scope_begin: } +\cs_new_protected:Npn \driver_draw_end: + { \driver_draw_scope_end: } +\cs_new_protected:Npn \driver_draw_scope_begin: { \__driver_draw_literal:n { q } } -\cs_new_protected:Npn \__driver_draw_scope_end: +\cs_new_protected:Npn \driver_draw_scope_end: { \__driver_draw_literal:n { Q } } -\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2 +\cs_new_protected:Npn \driver_draw_moveto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ m } } -\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2 +\cs_new_protected:Npn \driver_draw_lineto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ l } } -\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -221,7 +221,7 @@ c } } -\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -230,35 +230,35 @@ re } } -\cs_new_protected:Npn \__driver_draw_evenodd_rule: +\cs_new_protected:Npn \driver_draw_evenodd_rule: { \bool_gset_true:N \g__driver_draw_eor_bool } -\cs_new_protected:Npn \__driver_draw_nonzero_rule: +\cs_new_protected:Npn \driver_draw_nonzero_rule: { \bool_gset_false:N \g__driver_draw_eor_bool } \bool_new:N \g__driver_draw_eor_bool -\cs_new_protected:Npn \__driver_draw_closepath: +\cs_new_protected:Npn \driver_draw_closepath: { \__driver_draw_literal:n { h } } -\cs_new_protected:Npn \__driver_draw_stroke: +\cs_new_protected:Npn \driver_draw_stroke: { \__driver_draw_literal:n { S } } -\cs_new_protected:Npn \__driver_draw_closestroke: +\cs_new_protected:Npn \driver_draw_closestroke: { \__driver_draw_literal:n { s } } -\cs_new_protected:Npn \__driver_draw_fill: +\cs_new_protected:Npn \driver_draw_fill: { \__driver_draw_literal:x { f \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_fillstroke: +\cs_new_protected:Npn \driver_draw_fillstroke: { \__driver_draw_literal:x { B \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_clip: +\cs_new_protected:Npn \driver_draw_clip: { \__driver_draw_literal:x { W \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_discardpath: +\cs_new_protected:Npn \driver_draw_discardpath: { \__driver_draw_literal:n { n } } -\cs_new_protected:Npn \__driver_draw_dash:nn #1#2 +\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2 { \__driver_draw_literal:x { @@ -270,26 +270,26 @@ } \cs_new:Npn \__driver_draw_dash:n #1 { \dim_to_decimal_in_bp:n {#1} ~ } -\cs_new_protected:Npn \__driver_draw_linewidth:n #1 +\cs_new_protected:Npn \driver_draw_linewidth:n #1 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ w } } -\cs_new_protected:Npn \__driver_draw_miterlimit:n #1 +\cs_new_protected:Npn \driver_draw_miterlimit:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } } -\cs_new_protected:Npn \__driver_draw_cap_butt: +\cs_new_protected:Npn \driver_draw_cap_butt: { \__driver_draw_literal:n { 0 ~ J } } -\cs_new_protected:Npn \__driver_draw_cap_round: +\cs_new_protected:Npn \driver_draw_cap_round: { \__driver_draw_literal:n { 1 ~ J } } -\cs_new_protected:Npn \__driver_draw_cap_rectangle: +\cs_new_protected:Npn \driver_draw_cap_rectangle: { \__driver_draw_literal:n { 2 ~ J } } -\cs_new_protected:Npn \__driver_draw_join_miter: +\cs_new_protected:Npn \driver_draw_join_miter: { \__driver_draw_literal:n { 0 ~ j } } -\cs_new_protected:Npn \__driver_draw_join_round: +\cs_new_protected:Npn \driver_draw_join_round: { \__driver_draw_literal:n { 1 ~ j } } -\cs_new_protected:Npn \__driver_draw_join_bevel: +\cs_new_protected:Npn \driver_draw_join_bevel: { \__driver_draw_literal:n { 2 ~ j } } -\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4 { \use:x { @@ -305,7 +305,7 @@ \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K } } -\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -314,7 +314,7 @@ k } } -\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -323,7 +323,7 @@ K } } -\cs_new_protected:Npn \__driver_draw_color_gray:n #1 +\cs_new_protected:Npn \driver_draw_color_gray:n #1 { \use:x { \__driver_draw_color_gray_aux:n { \fp_eval:n {#1} } } @@ -332,11 +332,11 @@ { \__driver_draw_literal:n { #1 ~ g ~ #1 ~ G } } -\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1 +\cs_new_protected:Npn \driver_draw_fill_gray:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ g } } -\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1 +\cs_new_protected:Npn \driver_draw_stroke_gray:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ G } } -\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3 { \use:x { @@ -351,17 +351,17 @@ \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } } -\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg } } -\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG } } -\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -371,13 +371,13 @@ cm } } -\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 { \hbox_set:Nn \l__driver_tmp_box { \tex_kern:D \__dim_eval:n {#6} \__driver_scope_begin: - \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} + \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} { 0pt } { 0pt } \box_move_up:nn {#7} { \box_use:N #1 } \__driver_scope_end: diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index 3b47c20fcb5..384008e0540 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -86,7 +86,7 @@ #1 ~ setmatrix } -\cs_new_protected:Npn \__driver_box_use_clip:N #1 +\cs_new_protected:Npn \driver_box_use_clip:N #1 { \__driver_scope_begin: \__driver_literal:n @@ -104,7 +104,7 @@ \__driver_scope_end: \skip_horizontal:n { \box_wd:N #1 } } -\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2 +\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2 { \__driver_scope_begin: \__driver_literal:n @@ -117,7 +117,7 @@ \box_use:N #1 \__driver_scope_end: } -\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3 +\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3 { \__driver_scope_begin: \__driver_literal:n @@ -129,7 +129,7 @@ \hbox_overlap_right:n { \box_use:N #1 } \__driver_scope_end: } -\cs_new_eq:NN \__driver_image_getbb_eps:n \__image_read_bb:n +\cs_new_eq:NN \__driver_image_getbb_eps:n \image_read_bb:n \cs_new_protected:Npn \__driver_image_include_eps:n #1 { \tex_special:D { PSfile = #1 } @@ -137,34 +137,34 @@ \cs_new_protected:Npn \__driver_draw_literal:n #1 { \tex_special:D { ps:: ~ #1 } } \cs_generate_variant:Nn \__driver_draw_literal:n { x } -\cs_new_protected:Npn \__driver_draw_begin: +\cs_new_protected:Npn \driver_draw_begin: { \tex_special:D { ps::[begin] } \tex_special:D { ps::~save } \tex_special:D { ps::~/l3x~currentpoint~/l3y~exch~def~def } \tex_special:D { ps::~@beginspecial } } -\cs_new_protected:Npn \__driver_draw_end: +\cs_new_protected:Npn \driver_draw_end: { \tex_special:D { ps::~@endspecial } \tex_special:D { ps::~restore } \tex_special:D { ps::[end] } } -\cs_new_protected:Npn \__driver_draw_scope_begin: +\cs_new_protected:Npn \driver_draw_scope_begin: { \__driver_draw_literal:n { save } } -\cs_new_protected:Npn \__driver_draw_scope_end: +\cs_new_protected:Npn \driver_draw_scope_end: { \__driver_draw_literal:n { restore } } -\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2 +\cs_new_protected:Npn \driver_draw_moveto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ moveto } } -\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2 +\cs_new_protected:Npn \driver_draw_lineto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ lineto } } -\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -173,7 +173,7 @@ moveto~dup~0~rlineto~exch~0~exch~rlineto~neg~0~rlineto~closepath } } -\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -183,14 +183,14 @@ curveto } } -\cs_new_protected:Npn \__driver_draw_evenodd_rule: +\cs_new_protected:Npn \driver_draw_evenodd_rule: { \bool_gset_true:N \g__driver_draw_eor_bool } -\cs_new_protected:Npn \__driver_draw_nonzero_rule: +\cs_new_protected:Npn \driver_draw_nonzero_rule: { \bool_gset_false:N \g__driver_draw_eor_bool } \bool_new:N \g__driver_draw_eor_bool -\cs_new_protected:Npn \__driver_draw_closepath: +\cs_new_protected:Npn \driver_draw_closepath: { \__driver_draw_literal:n { closepath } } -\cs_new_protected:Npn \__driver_draw_stroke: +\cs_new_protected:Npn \driver_draw_stroke: { \__driver_draw_literal:n { currentdict~/l3sc~known~{gsave~l3sc}~if } \__driver_draw_literal:n { stroke } @@ -206,12 +206,12 @@ \__driver_draw_literal:n { newpath } \bool_gset_false:N \g__driver_draw_clip_bool } -\cs_new_protected:Npn \__driver_draw_closestroke: +\cs_new_protected:Npn \driver_draw_closestroke: { - \__driver_draw_closepath: - \__driver_draw_stroke: + \driver_draw_closepath: + \driver_draw_stroke: } -\cs_new_protected:Npn \__driver_draw_fill: +\cs_new_protected:Npn \driver_draw_fill: { \__driver_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if } \__driver_draw_literal:x @@ -231,7 +231,7 @@ \__driver_draw_literal:n { newpath } \bool_gset_false:N \g__driver_draw_clip_bool } -\cs_new_protected:Npn \__driver_draw_fillstroke: +\cs_new_protected:Npn \driver_draw_fillstroke: { \__driver_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if } \__driver_draw_literal:x @@ -254,10 +254,10 @@ \__driver_draw_literal:n { newpath } \bool_gset_false:N \g__driver_draw_clip_bool } -\cs_new_protected:Npn \__driver_draw_clip: +\cs_new_protected:Npn \driver_draw_clip: { \bool_gset_true:N \g__driver_draw_clip_bool } \bool_new:N \g__driver_draw_clip_bool -\cs_new_protected:Npn \__driver_draw_discardpath: +\cs_new_protected:Npn \driver_draw_discardpath: { \bool_if:NT \g__driver_draw_clip_bool { @@ -270,7 +270,7 @@ \__driver_draw_literal:n { newpath } \bool_gset_false:N \g__driver_draw_clip_bool } -\cs_new_protected:Npn \__driver_draw_dash:nn #1#2 +\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2 { \__driver_draw_literal:x { @@ -282,31 +282,31 @@ } \cs_new:Npn \__driver_draw_dash:n #1 { \dim_to_decimal_in_bp:n {#1} ~ } -\cs_new_protected:Npn \__driver_draw_linewidth:n #1 +\cs_new_protected:Npn \driver_draw_linewidth:n #1 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ setlinewidth } } -\cs_new_protected:Npn \__driver_draw_miterlimit:n #1 +\cs_new_protected:Npn \driver_draw_miterlimit:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ setmiterlimit } } -\cs_new_protected:Npn \__driver_draw_cap_butt: +\cs_new_protected:Npn \driver_draw_cap_butt: { \__driver_draw_literal:n { 0 ~ setlinecap } } -\cs_new_protected:Npn \__driver_draw_cap_round: +\cs_new_protected:Npn \driver_draw_cap_round: { \__driver_draw_literal:n { 1 ~ setlinecap } } -\cs_new_protected:Npn \__driver_draw_cap_rectangle: +\cs_new_protected:Npn \driver_draw_cap_rectangle: { \__driver_draw_literal:n { 2 ~ setlinecap } } -\cs_new_protected:Npn \__driver_draw_join_miter: +\cs_new_protected:Npn \driver_draw_join_miter: { \__driver_draw_literal:n { 0 ~ setlinejoin } } -\cs_new_protected:Npn \__driver_draw_join_round: +\cs_new_protected:Npn \driver_draw_join_round: { \__driver_draw_literal:n { 1 ~ setlinejoin } } -\cs_new_protected:Npn \__driver_draw_join_bevel: +\cs_new_protected:Npn \driver_draw_join_bevel: { \__driver_draw_literal:n { 2 ~ setlinejoin } } \cs_new_protected:Npn \__driver_draw_color_reset: { \__driver_draw_literal:n { currentdic~/l3fc~known~{ /l3fc~ { } ~def }~if } \__driver_draw_literal:n { currentdic~/l3sc~known~{ /l3sc~ { } ~def }~if } } -\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -316,7 +316,7 @@ } \__driver_draw_color_reset: } -\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -329,7 +329,7 @@ def } } -\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -342,16 +342,16 @@ def } } -\cs_new_protected:Npn \__driver_draw_color_gray:n #1 +\cs_new_protected:Npn \driver_draw_color_gray:n #1 { \__driver_draw_literal:x { fp_eval:n {#1} ~ setgray } \__driver_draw_color_reset: } -\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1 +\cs_new_protected:Npn \driver_draw_fill_gray:n #1 { \__driver_draw_literal:x { /l3fc ~ { \fp_eval:n {#1} ~ setgray } ~ def } } -\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1 +\cs_new_protected:Npn \driver_draw_stroke_gray:n #1 { \__driver_draw_literal:x { /l3sc ~ { \fp_eval:n {#1} ~ setgray } ~ def } } -\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3 { \__driver_draw_literal:x { @@ -360,7 +360,7 @@ } \__driver_draw_color_reset: } -\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3 { \__driver_draw_literal:x { @@ -372,7 +372,7 @@ def } } -\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3 { \__driver_draw_literal:x { @@ -384,7 +384,7 @@ def } } -\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -396,11 +396,11 @@ concat } } -\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 { \__driver_scope_begin: \tex_special:D { ps::[end] } - \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7} + \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7} \tex_special:D { ps::~72~Resolution~div~72~VResolution~div~neg~scale } \tex_special:D { ps::~magscale~{1~DVImag~div~dup~scale}~if } \tex_special:D { ps::~l3x~neg~l3y~neg~translate } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def index 24b83d7a834..89dfe25c2ab 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def @@ -71,7 +71,7 @@ { \__driver_literal:n { </g> } } \cs_new_protected:Npn \__driver_scope_begin:n #1 { \__driver_literal:n { <g~ #1 > } } -\cs_new_protected:Npn \__driver_box_use_clip:N #1 +\cs_new_protected:Npn \driver_box_use_clip:N #1 { \int_gincr:N \g__driver_clip_path_int \__driver_literal:n @@ -122,7 +122,7 @@ \__driver_scope_end: } \int_new:N \g__driver_clip_path_int -\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2 +\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2 { \__driver_scope_begin:n { @@ -135,7 +135,7 @@ \box_use:N #1 \__driver_scope_end: } -\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3 +\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3 { \__driver_scope_begin:n { @@ -154,15 +154,15 @@ \hbox_overlap_right:n { \box_use:N #1 } \__driver_scope_end: } -\cs_new_eq:NN \__driver_image_getbb_png:n \__image_extract_bb:n -\cs_new_eq:NN \__driver_image_getbb_jpg:n \__image_extract_bb:n +\cs_new_eq:NN \__driver_image_getbb_png:n \image_extract_bb:n +\cs_new_eq:NN \__driver_image_getbb_jpg:n \image_extract_bb:n \cs_new_protected:Npn \__driver_image_include_png:n #1 { \tex_special:D { dvisvgm:img~ - \dim_to_decimal:n { \l__image_ury_dim } ~ - \dim_to_decimal:n { \l__image_ury_dim } ~ + \dim_to_decimal:n { \l_image_ury_dim } ~ + \dim_to_decimal:n { \l_image_ury_dim } ~ \__driver_image_include_bitmap_quote:w #1 " " \q_stop } } @@ -170,14 +170,14 @@ \cs_new:Npn \__driver_image_include_bitmap_quote:w #1 " #2 " #3 \q_stop { #1#2 } \cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n \cs_generate_variant:Nn \__driver_draw_literal:n { x } -\cs_new_protected:Npn \__driver_draw_begin: +\cs_new_protected:Npn \driver_draw_begin: { - \__driver_draw_scope_begin: + \driver_draw_scope_begin: \__driver_draw_scope:n { transform="translate({?x},{?y})~scale(1,-1)" } } -\cs_new_protected:Npn \__driver_draw_end: - { \__driver_draw_scope_end: } -\cs_new_protected:Npn \__driver_draw_scope_begin: +\cs_new_protected:Npn \driver_draw_end: + { \driver_draw_scope_end: } +\cs_new_protected:Npn \driver_draw_scope_begin: { \int_set_eq:NN \l__driver_draw_scope_int @@ -185,7 +185,7 @@ \group_begin: \int_gzero:N \g__driver_draw_scope_int } -\cs_new_protected:Npn \__driver_draw_scope_end: +\cs_new_protected:Npn \driver_draw_scope_end: { \prg_replicate:nn { \g__driver_draw_scope_int } @@ -203,17 +203,17 @@ \cs_generate_variant:Nn \__driver_draw_scope:n { x } \int_new:N \g__driver_draw_scope_int \int_new:N \l__driver_draw_scope_int -\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2 +\cs_new_protected:Npn \driver_draw_moveto:nn #1#2 { \__driver_draw_add_to_path:n { M ~ \dim_to_decimal:n {#1} ~ \dim_to_decimal:n {#2} } } -\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2 +\cs_new_protected:Npn \driver_draw_lineto:nn #1#2 { \__driver_draw_add_to_path:n { L ~ \dim_to_decimal:n {#1} ~ \dim_to_decimal:n {#2} } } -\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4 { \__driver_draw_add_to_path:n { @@ -224,7 +224,7 @@ Z } } -\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6 { \__driver_draw_add_to_path:n { @@ -244,11 +244,11 @@ } } \tl_new:N \g__driver_draw_path_tl -\cs_new_protected:Npn \__driver_draw_evenodd_rule: +\cs_new_protected:Npn \driver_draw_evenodd_rule: { \__driver_draw_scope:n { fill-rule="evenodd" } } -\cs_new_protected:Npn \__driver_draw_nonzero_rule: +\cs_new_protected:Npn \driver_draw_nonzero_rule: { \__driver_draw_scope:n { fill-rule="nonzero" } } -\cs_new_protected:Npn \__driver_draw_closepath: +\cs_new_protected:Npn \driver_draw_closepath: { \__driver_draw_add_to_path:n { Z } } \cs_new_protected:Npn \__driver_draw_path:n #1 { @@ -281,21 +281,21 @@ \bool_gset_false:N \g__driver_draw_clip_bool } \int_new:N \g__driver_path_int -\cs_new_protected:Npn \__driver_draw_stroke: +\cs_new_protected:Npn \driver_draw_stroke: { \__driver_draw_path:n { style="fill:none" } } -\cs_new_protected:Npn \__driver_draw_closestroke: +\cs_new_protected:Npn \driver_draw_closestroke: { - \__driver_draw_closepath: - \__driver_draw_stroke: + \driver_draw_closepath: + \driver_draw_stroke: } -\cs_new_protected:Npn \__driver_draw_fill: +\cs_new_protected:Npn \driver_draw_fill: { \__driver_draw_path:n { style="stroke:none" } } -\cs_new_protected:Npn \__driver_draw_fillstroke: +\cs_new_protected:Npn \driver_draw_fillstroke: { \__driver_draw_path:n { } } -\cs_new_protected:Npn \__driver_draw_clip: +\cs_new_protected:Npn \driver_draw_clip: { \bool_gset_true:N \g__driver_draw_clip_bool } \bool_new:N \g__driver_draw_clip_bool -\cs_new_protected:Npn \__driver_draw_discardpath: +\cs_new_protected:Npn \driver_draw_discardpath: { \bool_if:NT \g__driver_draw_clip_bool { @@ -316,7 +316,7 @@ \tl_gclear:N \g__driver_draw_path_tl \bool_gset_false:N \g__driver_draw_clip_bool } -\cs_new_protected:Npn \__driver_draw_dash:nn #1#2 +\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2 { \use:x { @@ -340,21 +340,21 @@ stroke-offset=" #2 " } } -\cs_new_protected:Npn \__driver_draw_linewidth:n #1 +\cs_new_protected:Npn \driver_draw_linewidth:n #1 { \__driver_draw_scope:x { stroke-width=" \dim_to_decimal:n {#1} " } } -\cs_new_protected:Npn \__driver_draw_miterlimit:n #1 +\cs_new_protected:Npn \driver_draw_miterlimit:n #1 { \__driver_draw_scope:x { stroke-miterlimit=" \fp_eval:n {#1} " } } -\cs_new_protected:Npn \__driver_draw_cap_butt: +\cs_new_protected:Npn \driver_draw_cap_butt: { \__driver_draw_scope:n { stroke-linecap="butt" } } -\cs_new_protected:Npn \__driver_draw_cap_round: +\cs_new_protected:Npn \driver_draw_cap_round: { \__driver_draw_scope:n { stroke-linecap="round" } } -\cs_new_protected:Npn \__driver_draw_cap_rectangle: +\cs_new_protected:Npn \driver_draw_cap_rectangle: { \__driver_draw_scope:n { stroke-linecap="square" } } -\cs_new_protected:Npn \__driver_draw_join_miter: +\cs_new_protected:Npn \driver_draw_join_miter: { \__driver_draw_scope:n { stroke-linejoin="miter" } } -\cs_new_protected:Npn \__driver_draw_join_round: +\cs_new_protected:Npn \driver_draw_join_round: { \__driver_draw_scope:n { stroke-linejoin="round" } } -\cs_new_protected:Npn \__driver_draw_join_bevel: +\cs_new_protected:Npn \driver_draw_join_bevel: { \__driver_draw_scope:n { stroke-linejoin="bevel" } } \cs_new_protected:Npn \__driver_draw_color_cmyk_aux:NNnnnnn #1#2#3#4#5#6 { @@ -367,11 +367,11 @@ } #1 #2 } -\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn +\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn { \__driver_draw_color_cmyk_aux:NNnnnnn \c_true_bool \c_true_bool } -\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn +\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn { \__driver_draw_color_cmyk_aux:NNnnnnn \c_false_bool \c_true_bool } -\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn +\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn { \__driver_draw_color_cmyk_aux:NNnnnnn \c_true_bool \c_false_bool } \cs_new_protected:Npn \__driver_draw_color_gray_aux:NNn #1#2#3 { @@ -385,11 +385,11 @@ \cs_new_protected:Npn \__driver_draw_color_gray_aux:nNN #1 { \__driver_draw_color_rgb_auxii:nnnNN {#1} {#1} {#1} } \cs_generate_variant:Nn \__driver_draw_color_gray_aux:nNN { x } -\cs_new_protected:Npn \__driver_draw_color_gray:n +\cs_new_protected:Npn \driver_draw_color_gray:n { \__driver_draw_color_gray_aux:NNn \c_true_bool \c_true_bool } -\cs_new_protected:Npn \__driver_draw_color_gray_fill:n +\cs_new_protected:Npn \driver_draw_fill_gray:n { \__driver_draw_color_gray_aux:NNn \c_false_bool \c_true_bool } -\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n +\cs_new_protected:Npn \driver_draw_stroke_gray:n { \__driver_draw_color_gray_aux:NNn \c_true_bool \c_false_bool } \cs_new_protected:Npn \__driver_draw_color_rgb_auxi:NNnnn #1#2#3#4#5 { @@ -433,13 +433,13 @@ } } } -\cs_new_protected:Npn \__driver_draw_color_rgb:nnn +\cs_new_protected:Npn \driver_draw_color_rgb:nnn { \__driver_draw_color_rgb_auxi:NNnnn \c_true_bool \c_true_bool } -\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn +\cs_new_protected:Npn \driver_draw_fill_rgb:nnn { \__driver_draw_color_rgb_auxi:NNnnn \c_false_bool \c_true_bool } -\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn +\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn { \__driver_draw_color_rgb_auxi:NNnnn \c_true_bool \c_false_bool } -\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 { \__driver_draw_scope:x { @@ -454,10 +454,10 @@ " } } -\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 { \__driver_scope_begin: - \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7} + \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7} \__driver_literal:n { < g~ diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def index d218e1f3741..6441a44a021 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def @@ -117,7 +117,7 @@ { \pdftex_pdfsetmatrix:D } {#1} } -\cs_new_protected:Npn \__driver_box_use_clip:N #1 +\cs_new_protected:Npn \driver_box_use_clip:N #1 { \__driver_scope_begin: \__driver_literal:n @@ -132,7 +132,7 @@ \__driver_scope_end: \skip_horizontal:n { \box_wd:N #1 } } -\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2 +\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2 { \__driver_scope_begin: \box_set_wd:Nn #1 { 0pt } @@ -158,7 +158,7 @@ } \fp_new:N \l__driver_cos_fp \fp_new:N \l__driver_sin_fp -\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3 +\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3 { \__driver_scope_begin: \__driver_matrix:n @@ -173,13 +173,13 @@ \tl_new:N \l__driver_image_attr_tl \cs_new_protected:Npn \__driver_image_getbb_jpg:n #1 { - \int_zero:N \l__image_page_int - \tl_clear:N \l__image_pagebox_tl + \int_zero:N \l_image_page_int + \tl_clear:N \l_image_pagebox_tl \tl_set:Nx \l__driver_image_attr_tl { - \tl_if_empty:NF \l__image_decode_tl - { :D \l__image_decode_tl } - \bool_if:NT \l__image_interpolate_bool + \tl_if_empty:NF \l_image_decode_tl + { :D \l_image_decodearray_tl } + \bool_if:NT \l_image_interpolate_bool { :I } } \tl_clear:N \l__driver_image_attr_tl @@ -188,88 +188,77 @@ \cs_new_eq:NN \__driver_image_getbb_png:n \__driver_image_getbb_jpg:n \cs_new_protected:Npn \__driver_image_getbb_pdf:n #1 { - \tl_clear:N \l__image_decode_tl - \bool_set_false:N \l__image_interpolate_bool + \tl_clear:N \l_image_decode_tl + \bool_set_false:N \l_image_interpolate_bool \tl_set:Nx \l__driver_image_attr_tl { - : \l__image_pagebox_tl - \int_compare:nNnT \l__image_page_int > 1 - { :P \int_use:N \l__image_page_int } + : \l_image_pagebox_tl + \int_compare:nNnT \l_image_page_int > 1 + { :P \int_use:N \l_image_page_int } } \__driver_image_getbb_auxi:n {#1} } \cs_new_protected:Npn \__driver_image_getbb_auxi:n #1 { - \dim_zero:N \l__image_llx_dim - \dim_zero:N \l__image_lly_dim - \dim_if_exist:cTF { c__image_ #1 \l__driver_image_attr_tl _urx_dim } - { - \dim_set_eq:Nc \l__image_urx_dim - { c__image_ #1 \l__driver_image_attr_tl _urx_dim } - \dim_set_eq:Nc \l__image_ury_dim - { c__image_ #1 \l__driver_image_attr_tl _ury_dim } - } + \image_bb_restore:xF { #1 \l__driver_image_attr_tl } { \__driver_image_getbb_auxii:n {#1} } } \cs_new_protected:Npn \__driver_image_getbb_auxii:n #1 { \tex_immediate:D \pdftex_pdfximage:D \bool_lazy_or:nnT - { \l__image_interpolate_bool } - { ! \tl_if_empty_p:N \l__image_decode_tl } + { \l_image_interpolate_bool } + { ! \tl_if_empty_p:N \l_image_decodearray_tl } { attr ~ { - \tl_if_empty:NF \l__image_decode_tl - { /Decode~[ \l__image_decode_tl ] } - \bool_if:NT \l__image_interpolate_bool + \tl_if_empty:NF \l_image_decode_tl + { /Decode~[ \l_image_decodearray_tl ] } + \bool_if:NT \l_image_interpolate_bool { /Interpolate~true } } } - \int_compare:nNnT \l__image_page_int > 0 - { page ~ \int_use:N \l__image_page_int } - \tl_if_empty:NF \l__image_pagebox_tl - { \l__image_pagebox_tl } + \int_compare:nNnT \l_image_page_int > 0 + { page ~ \int_use:N \l_image_page_int } + \tl_if_empty:NF \l_image_pagebox_tl + { \l_image_pagebox_tl } {#1} - \hbox_set:Nn \l__image_tmp_box + \hbox_set:Nn \l__driver_tmp_box { \pdftex_pdfrefximage:D \pdftex_pdflastximage:D } - \dim_set:Nn \l__image_urx_dim { \box_wd:N \l__image_tmp_box } - \dim_set:Nn \l__image_ury_dim { \box_ht:N \l__image_tmp_box } - \int_const:cn { c__image_ #1 \l__driver_image_attr_tl _int } + \dim_set:Nn \l_image_urx_dim { \box_wd:N \l__driver_tmp_box } + \dim_set:Nn \l_image_ury_dim { \box_ht:N \l__driver_tmp_box } + \int_const:cn { c__driver_image_ #1 \l__driver_image_attr_tl _int } { \tex_the:D \pdftex_pdflastximage:D } - \dim_const:cn { c__image_ #1 \l__driver_image_attr_tl _urx_dim } - { \l__image_urx_dim } - \dim_const:cn { c__image_ #1 \l__driver_image_attr_tl _ury_dim } - { \l__image_ury_dim } + \image_bb_save:x { #1 \l__driver_image_attr_tl } } \cs_new_protected:Npn \__driver_image_include_jpg:n #1 { \pdftex_pdfrefximage:D - \int_use:c { c__image_ #1 \l__driver_image_attr_tl _int } + \int_use:c { c__driver_image_ #1 \l__driver_image_attr_tl _int } } \cs_new_eq:NN \__driver_image_include_pdf:n \__driver_image_include_jpg:n \cs_new_eq:NN \__driver_image_include_png:n \__driver_image_include_jpg:n \cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n \cs_generate_variant:Nn \__driver_draw_literal:n { x } -\cs_new_protected:Npn \__driver_draw_begin: - { \__driver_draw_scope_begin: } -\cs_new_protected:Npn \__driver_draw_end: - { \__driver_draw_scope_end: } -\cs_new_protected:Npn \__driver_draw_scope_begin: +\cs_new_protected:Npn \driver_draw_begin: + { \driver_draw_scope_begin: } +\cs_new_protected:Npn \driver_draw_end: + { \driver_draw_scope_end: } +\cs_new_protected:Npn \driver_draw_scope_begin: { \__driver_draw_literal:n { q } } -\cs_new_protected:Npn \__driver_draw_scope_end: +\cs_new_protected:Npn \driver_draw_scope_end: { \__driver_draw_literal:n { Q } } -\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2 +\cs_new_protected:Npn \driver_draw_moveto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ m } } -\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2 +\cs_new_protected:Npn \driver_draw_lineto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ l } } -\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -279,7 +268,7 @@ c } } -\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -288,35 +277,35 @@ re } } -\cs_new_protected:Npn \__driver_draw_evenodd_rule: +\cs_new_protected:Npn \driver_draw_evenodd_rule: { \bool_gset_true:N \g__driver_draw_eor_bool } -\cs_new_protected:Npn \__driver_draw_nonzero_rule: +\cs_new_protected:Npn \driver_draw_nonzero_rule: { \bool_gset_false:N \g__driver_draw_eor_bool } \bool_new:N \g__driver_draw_eor_bool -\cs_new_protected:Npn \__driver_draw_closepath: +\cs_new_protected:Npn \driver_draw_closepath: { \__driver_draw_literal:n { h } } -\cs_new_protected:Npn \__driver_draw_stroke: +\cs_new_protected:Npn \driver_draw_stroke: { \__driver_draw_literal:n { S } } -\cs_new_protected:Npn \__driver_draw_closestroke: +\cs_new_protected:Npn \driver_draw_closestroke: { \__driver_draw_literal:n { s } } -\cs_new_protected:Npn \__driver_draw_fill: +\cs_new_protected:Npn \driver_draw_fill: { \__driver_draw_literal:x { f \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_fillstroke: +\cs_new_protected:Npn \driver_draw_fillstroke: { \__driver_draw_literal:x { B \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_clip: +\cs_new_protected:Npn \driver_draw_clip: { \__driver_draw_literal:x { W \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_discardpath: +\cs_new_protected:Npn \driver_draw_discardpath: { \__driver_draw_literal:n { n } } -\cs_new_protected:Npn \__driver_draw_dash:nn #1#2 +\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2 { \__driver_draw_literal:x { @@ -328,26 +317,26 @@ } \cs_new:Npn \__driver_draw_dash:n #1 { \dim_to_decimal_in_bp:n {#1} ~ } -\cs_new_protected:Npn \__driver_draw_linewidth:n #1 +\cs_new_protected:Npn \driver_draw_linewidth:n #1 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ w } } -\cs_new_protected:Npn \__driver_draw_miterlimit:n #1 +\cs_new_protected:Npn \driver_draw_miterlimit:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } } -\cs_new_protected:Npn \__driver_draw_cap_butt: +\cs_new_protected:Npn \driver_draw_cap_butt: { \__driver_draw_literal:n { 0 ~ J } } -\cs_new_protected:Npn \__driver_draw_cap_round: +\cs_new_protected:Npn \driver_draw_cap_round: { \__driver_draw_literal:n { 1 ~ J } } -\cs_new_protected:Npn \__driver_draw_cap_rectangle: +\cs_new_protected:Npn \driver_draw_cap_rectangle: { \__driver_draw_literal:n { 2 ~ J } } -\cs_new_protected:Npn \__driver_draw_join_miter: +\cs_new_protected:Npn \driver_draw_join_miter: { \__driver_draw_literal:n { 0 ~ j } } -\cs_new_protected:Npn \__driver_draw_join_round: +\cs_new_protected:Npn \driver_draw_join_round: { \__driver_draw_literal:n { 1 ~ j } } -\cs_new_protected:Npn \__driver_draw_join_bevel: +\cs_new_protected:Npn \driver_draw_join_bevel: { \__driver_draw_literal:n { 2 ~ j } } -\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4 { \use:x { @@ -363,7 +352,7 @@ \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K } } -\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -372,7 +361,7 @@ k } } -\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -381,7 +370,7 @@ K } } -\cs_new_protected:Npn \__driver_draw_color_gray:n #1 +\cs_new_protected:Npn \driver_draw_color_gray:n #1 { \use:x { \__driver_draw_color_gray_aux:n { \fp_eval:n {#1} } } @@ -390,11 +379,11 @@ { \__driver_draw_literal:n { #1 ~ g ~ #1 ~ G } } -\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1 +\cs_new_protected:Npn \driver_draw_fill_gray:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ g } } -\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1 +\cs_new_protected:Npn \driver_draw_stroke_gray:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ G } } -\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3 { \use:x { @@ -409,17 +398,17 @@ \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } } -\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg } } -\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG } } -\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -429,13 +418,13 @@ cm } } -\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 { \hbox_set:Nn \l__driver_tmp_box { \tex_kern:D \__dim_eval:n {#6} \__driver_scope_begin: - \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} + \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} { 0pt } { 0pt } \box_move_up:nn {#7} { \box_use:N #1 } \__driver_scope_end: diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index 80962a52608..0b0b7a183bb 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -69,7 +69,7 @@ { \tex_special:D { x:gsave } } \cs_new_protected:Npn \__driver_scope_end: { \tex_special:D { x:grestore } } -\cs_new_protected:Npn \__driver_box_use_clip:N #1 +\cs_new_protected:Npn \driver_box_use_clip:N #1 { \__driver_scope_begin: \__driver_literal:n @@ -84,7 +84,7 @@ \__driver_scope_end: \skip_horizontal:n { \box_wd:N #1 } } -\cs_new_protected:Npn \__driver_box_use_rotate:Nn #1#2 +\cs_new_protected:Npn \driver_box_use_rotate:Nn #1#2 { \__driver_scope_begin: \tex_special:D @@ -97,7 +97,7 @@ \box_use:N #1 \__driver_scope_end: } -\cs_new_protected:Npn \__driver_box_use_scale:Nnn #1#2#3 +\cs_new_protected:Npn \driver_box_use_scale:Nnn #1#2#3 { \__driver_scope_begin: \tex_special:D @@ -109,7 +109,7 @@ \hbox_overlap_right:n { \box_use:N #1 } \__driver_scope_end: } -\cs_new_eq:NN \__driver_image_getbb_eps:n \__image_read_bb:n +\cs_new_eq:NN \__driver_image_getbb_eps:n \image_read_bb:n \int_new:N \g__driver_image_int \cs_new_protected:Npn \__driver_image_include_eps:n #1 { @@ -122,23 +122,23 @@ { \__driver_image_include_auxii:xnn { - \tl_if_empty:NF \l__image_pagebox_tl - { : \l__image_pagebox_tl } - \int_compare:nNnT \l__image_page_int > 1 - { :P \int_use:N \l__image_page_int } - \tl_if_empty:NF \l__image_decode_tl - { :D \l__image_decode_tl } - \bool_if:NT \l__image_interpolate_bool + \tl_if_empty:NF \l_image_pagebox_tl + { : \l_image_pagebox_tl } + \int_compare:nNnT \l_image_page_int > 1 + { :P \int_use:N \l_image_page_int } + \tl_if_empty:NF \l_image_decode_tl + { :D \l_image_decodearray_tl } + \bool_if:NT \l_image_interpolate_bool { :I } } {#1} {#2} } \cs_new_protected:Npn \__driver_image_include_auxii:nnn #1#2#3 { - \int_if_exist:cTF { c__image_ #2#1 _int } + \int_if_exist:cTF { c__driver_image_ #2#1 _int } { \tex_special:D - { pdf:usexobj~@image \int_use:c { c__image_ #2#1 _int } } + { pdf:usexobj~@image \int_use:c { c__driver_image_ #2#1 _int } } } { \__driver_image_include_auxiii:nn {#2} {#1} {#3} } } @@ -146,31 +146,31 @@ \cs_new_protected:Npn \__driver_image_include_auxiii:nnn #1#2#3 { \int_gincr:N \g__driver_image_int - \int_const:cn { c__image_ #1#2 _int } { \g__driver_image_int } + \int_const:cn { c__driver_image_ #1#2 _int } { \g__driver_image_int } \tex_special:D { pdf:#3~ - @image \int_use:c { c__image_ #1#2 _int } - \int_compare:nNnT \l__image_page_int > 1 - { page ~ \int_use:N \l__image_page_int \c_space_tl } - \tl_if_empty:NF \l__image_pagebox_tl + @image \int_use:c { c__driver_image_ #1#2 _int } + \int_compare:nNnT \l_image_page_int > 1 + { page ~ \int_use:N \l_image_page_int \c_space_tl } + \tl_if_empty:NF \l_image_pagebox_tl { - pagebox ~ \l__image_pagebox_tl \c_space_tl + pagebox ~ \l_image_pagebox_tl \c_space_tl bbox ~ - \dim_to_decimal_in_bp:n \l__image_llx_dim \c_space_tl - \dim_to_decimal_in_bp:n \l__image_lly_dim \c_space_tl - \dim_to_decimal_in_bp:n \l__image_urx_dim \c_space_tl - \dim_to_decimal_in_bp:n \l__image_ury_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_llx_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_lly_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_urx_dim \c_space_tl + \dim_to_decimal_in_bp:n \l_image_ury_dim \c_space_tl } (#1) \bool_lazy_or:nnT - { \l__image_interpolate_bool } - { ! \tl_if_empty_p:N \l__image_decode_tl } + { \l_image_interpolate_bool } + { ! \tl_if_empty_p:N \l_image_decodearray_tl } { << - \tl_if_empty:NF \l__image_decode_tl - { /Decode~[ \l__image_decode_tl ] } - \bool_if:NT \l__image_interpolate_bool + \tl_if_empty:NF \l_image_decode_tl + { /Decode~[ \l_image_decodearray_tl ] } + \bool_if:NT \l_image_interpolate_bool { /Interpolate~true> } >> } @@ -178,21 +178,21 @@ } \cs_new_protected:Npn \__driver_image_getbb_jpg:n #1 { - \int_zero:N \l__image_page_int - \tl_clear:N \l__image_pagebox_tl + \int_zero:N \l_image_page_int + \tl_clear:N \l_image_pagebox_tl \__driver_image_getbb_auxi:nN {#1} \xetex_picfile:D } \cs_new_eq:NN \__driver_image_getbb_png:n \__driver_image_getbb_jpg:n \cs_new_protected:Npn \__driver_image_getbb_pdf:n #1 { - \tl_clear:N \l__image_decode_tl - \bool_set_false:N \l__image_interpolate_bool + \tl_clear:N \l_image_decode_tl + \bool_set_false:N \l_image_interpolate_bool \__driver_image_getbb_auxi:nN {#1} \xetex_pdffile:D } \cs_new_protected:Npn \__driver_image_getbb_auxi:nN #1#2 { - \int_compare:nNnTF \l__image_page_int > 1 - { \__driver_image_getbb_auxii:VnN \l__image_page_int {#1} #2 } + \int_compare:nNnTF \l_image_page_int > 1 + { \__driver_image_getbb_auxii:VnN \l_image_page_int {#1} #2 } { \__driver_image_getbb_auxiii:nNnn {#1} #2 } } \cs_new_protected:Npn \__driver_image_getbb_auxii:nnN #1#2#3 @@ -200,8 +200,8 @@ \cs_generate_variant:Nn \__driver_image_getbb_auxii:nnN { V } \cs_new_protected:Npn \__driver_image_getbb_auxiii:nNnn #1#2#3#4 { - \tl_if_empty:NTF \l__image_pagebox_tl - { \__driver_image_getbb_auxiv:VnNnn \l__image_pagebox_tl } + \tl_if_empty:NTF \l_image_pagebox_tl + { \__driver_image_getbb_auxiv:VnNnn \l_image_pagebox_tl } { \__driver_image_getbb_auxv:nNnn } {#1} #2 {#3} {#4} } @@ -216,54 +216,45 @@ \cs_generate_variant:Nn \__driver_image_getbb_auxiv:nnNnn { V } \cs_new_protected:Npn \__driver_image_getbb_auxv:nNnn #1#2#3#4 { - \dim_zero:N \l__image_llx_dim - \dim_zero:N \l__image_lly_dim - \dim_if_exist:cTF { c__image_ #1#3 _urx_dim } - { - \dim_set_eq:Nc \l__image_urx_dim { c__image_ #1#3 _urx_dim } - \dim_set_eq:Nc \l__image_ury_dim { c__image_ #1#3 _ury_dim } - } + \image_bb_restore:nF {#1#3} { \__driver_image_getbb_auxvi:nNnn {#1} #2 {#3} {#4} } } \cs_new_protected:Npn \__driver_image_getbb_auxvi:nNnn #1#2#3#4 { - \hbox_set:Nn \l__image_tmp_box { #2 #1 ~ #4 } - \dim_set:Nn \l__image_utx_dim { \box_wd:N \l__image_tmp_box } - \dim_set:Nn \l__image_ury_dim { \box_ht:N \l__image_tmp_box } - \dim_const:cn { c__image_ #1#3 _urx_dim } - { \l__image_urx_dim } - \dim_const:cn { c__image_ #1#3 _ury_dim } - { \l__image_ury_dim } + \hbox_set:Nn \l__driver_tmp_box { #2 #1 ~ #4 } + \dim_set:Nn \l_image_utx_dim { \box_wd:N \l__driver_tmp_box } + \dim_set:Nn \l_image_ury_dim { \box_ht:N \l__driver_tmp_box } + \image_bb_save:n {#1#3} } \cs_new:Npn \__driver_image_getbb_pagebox:w #1 box {#1} \cs_new_protected:Npn \__driver_image_include_pdf:n #1 { \xetex_pdffile:D "#1" ~ - \int_compare:nNnT \l__image_page_int > 0 - { page~ \int_use:N \l__image_page_int } - \__driver_image_getbb_auxiv:VnNnn \l__image_pagebox_tl + \int_compare:nNnT \l_image_page_int > 0 + { page~ \int_use:N \l_image_page_int } + \__driver_image_getbb_auxiv:VnNnn \l_image_pagebox_tl } \cs_new_eq:NN \__driver_draw_literal:n \__driver_literal:n \cs_generate_variant:Nn \__driver_draw_literal:n { x } -\cs_new_protected:Npn \__driver_draw_begin: - { \__driver_draw_scope_begin: } -\cs_new_protected:Npn \__driver_draw_end: - { \__driver_draw_scope_end: } -\cs_new_protected:Npn \__driver_draw_scope_begin: +\cs_new_protected:Npn \driver_draw_begin: + { \driver_draw_scope_begin: } +\cs_new_protected:Npn \driver_draw_end: + { \driver_draw_scope_end: } +\cs_new_protected:Npn \driver_draw_scope_begin: { \__driver_draw_literal:n { q } } -\cs_new_protected:Npn \__driver_draw_scope_end: +\cs_new_protected:Npn \driver_draw_scope_end: { \__driver_draw_literal:n { Q } } -\cs_new_protected:Npn \__driver_draw_moveto:nn #1#2 +\cs_new_protected:Npn \driver_draw_moveto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ m } } -\cs_new_protected:Npn \__driver_draw_lineto:nn #1#2 +\cs_new_protected:Npn \driver_draw_lineto:nn #1#2 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~ l } } -\cs_new_protected:Npn \__driver_draw_curveto:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_curveto:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -273,7 +264,7 @@ c } } -\cs_new_protected:Npn \__driver_draw_rectangle:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_rectangle:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -282,35 +273,35 @@ re } } -\cs_new_protected:Npn \__driver_draw_evenodd_rule: +\cs_new_protected:Npn \driver_draw_evenodd_rule: { \bool_gset_true:N \g__driver_draw_eor_bool } -\cs_new_protected:Npn \__driver_draw_nonzero_rule: +\cs_new_protected:Npn \driver_draw_nonzero_rule: { \bool_gset_false:N \g__driver_draw_eor_bool } \bool_new:N \g__driver_draw_eor_bool -\cs_new_protected:Npn \__driver_draw_closepath: +\cs_new_protected:Npn \driver_draw_closepath: { \__driver_draw_literal:n { h } } -\cs_new_protected:Npn \__driver_draw_stroke: +\cs_new_protected:Npn \driver_draw_stroke: { \__driver_draw_literal:n { S } } -\cs_new_protected:Npn \__driver_draw_closestroke: +\cs_new_protected:Npn \driver_draw_closestroke: { \__driver_draw_literal:n { s } } -\cs_new_protected:Npn \__driver_draw_fill: +\cs_new_protected:Npn \driver_draw_fill: { \__driver_draw_literal:x { f \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_fillstroke: +\cs_new_protected:Npn \driver_draw_fillstroke: { \__driver_draw_literal:x { B \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_clip: +\cs_new_protected:Npn \driver_draw_clip: { \__driver_draw_literal:x { W \bool_if:NT \g__driver_draw_eor_bool * } } -\cs_new_protected:Npn \__driver_draw_discardpath: +\cs_new_protected:Npn \driver_draw_discardpath: { \__driver_draw_literal:n { n } } -\cs_new_protected:Npn \__driver_draw_dash:nn #1#2 +\cs_new_protected:Npn \driver_draw_cap_dash:nn #1#2 { \__driver_draw_literal:x { @@ -322,26 +313,26 @@ } \cs_new:Npn \__driver_draw_dash:n #1 { \dim_to_decimal_in_bp:n {#1} ~ } -\cs_new_protected:Npn \__driver_draw_linewidth:n #1 +\cs_new_protected:Npn \driver_draw_linewidth:n #1 { \__driver_draw_literal:x { \dim_to_decimal_in_bp:n {#1} ~ w } } -\cs_new_protected:Npn \__driver_draw_miterlimit:n #1 +\cs_new_protected:Npn \driver_draw_miterlimit:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ M } } -\cs_new_protected:Npn \__driver_draw_cap_butt: +\cs_new_protected:Npn \driver_draw_cap_butt: { \__driver_draw_literal:n { 0 ~ J } } -\cs_new_protected:Npn \__driver_draw_cap_round: +\cs_new_protected:Npn \driver_draw_cap_round: { \__driver_draw_literal:n { 1 ~ J } } -\cs_new_protected:Npn \__driver_draw_cap_rectangle: +\cs_new_protected:Npn \driver_draw_cap_rectangle: { \__driver_draw_literal:n { 2 ~ J } } -\cs_new_protected:Npn \__driver_draw_join_miter: +\cs_new_protected:Npn \driver_draw_join_miter: { \__driver_draw_literal:n { 0 ~ j } } -\cs_new_protected:Npn \__driver_draw_join_round: +\cs_new_protected:Npn \driver_draw_join_round: { \__driver_draw_literal:n { 1 ~ j } } -\cs_new_protected:Npn \__driver_draw_join_bevel: +\cs_new_protected:Npn \driver_draw_join_bevel: { \__driver_draw_literal:n { 2 ~ j } } -\cs_new_protected:Npn \__driver_draw_color_cmyk:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4 { \use:x { @@ -357,7 +348,7 @@ \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K } } -\cs_new_protected:Npn \__driver_draw_color_cmyk_fill:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -366,7 +357,7 @@ k } } -\cs_new_protected:Npn \__driver_draw_color_cmyk_stroke:nnnn #1#2#3#4 +\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4 { \__driver_draw_literal:x { @@ -375,7 +366,7 @@ K } } -\cs_new_protected:Npn \__driver_draw_color_gray:n #1 +\cs_new_protected:Npn \driver_draw_color_gray:n #1 { \use:x { \__driver_draw_color_gray_aux:n { \fp_eval:n {#1} } } @@ -384,11 +375,11 @@ { \__driver_draw_literal:n { #1 ~ g ~ #1 ~ G } } -\cs_new_protected:Npn \__driver_draw_color_gray_fill:n #1 +\cs_new_protected:Npn \driver_draw_fill_gray:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ g } } -\cs_new_protected:Npn \__driver_draw_color_gray_stroke:n #1 +\cs_new_protected:Npn \driver_draw_stroke_gray:n #1 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ G } } -\cs_new_protected:Npn \__driver_draw_color_rgb:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3 { \use:x { @@ -403,17 +394,17 @@ \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } } -\cs_new_protected:Npn \__driver_draw_color_rgb_fill:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ rg } } -\cs_new_protected:Npn \__driver_draw_color_rgb_stroke:nnn #1#2#3 +\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3 { \__driver_draw_literal:x { \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} ~ RG } } -\cs_new_protected:Npn \__driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 +\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6 { \__driver_draw_literal:x { @@ -423,13 +414,13 @@ cm } } -\cs_new_protected:Npn \__driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 +\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7 { \hbox_set:Nn \l__driver_tmp_box { \tex_kern:D \__dim_eval:n {#6} \__driver_scope_begin: - \__driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} + \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} { 0pt } { 0pt } \box_move_up:nn {#7} { \box_use:N #1 } \__driver_scope_end: diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty index 6c0707d5696..dab3d139819 100644 --- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty @@ -19,8 +19,8 @@ %% and all files in that bundle must be distributed together. %% %% File: l3keys2e.dtx (C) Copyright 2009,2011-2017 The LaTeX3 Project -\RequirePackage{expl3}[2017/12/05] -\@ifpackagelater{expl3}{2017/12/05} +\RequirePackage{expl3}[2017/12/16] +\@ifpackagelater{expl3}{2017/12/16} {} {% \PackageError{l3keys2e}{Support package l3kernel too old} @@ -32,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{l3keys2e}{2017/12/05}{} +\ProvidesExplPackage{l3keys2e}{2017/12/16}{} {LaTeX2e option processing using LaTeX3 keys} \cs_generate_variant:Nn \clist_put_right:Nn { Nv } \cs_generate_variant:Nn \keys_if_exist:nnT { nx } diff --git a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty index 64d690c620e..602c9698132 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty @@ -19,8 +19,8 @@ %% and all files in that bundle must be distributed together. %% %% File: xfp.dtx (C) Copyright 2017 The LaTeX3 Project -\RequirePackage{expl3}[2017/12/05] -\@ifpackagelater{expl3}{2017/12/05} +\RequirePackage{expl3}[2017/12/16] +\@ifpackagelater{expl3}{2017/12/16} {} {% \PackageError{xfp}{Support package l3kernel too old} @@ -33,7 +33,7 @@ \endinput } \RequirePackage{xparse} -\ProvidesExplPackage{xfp}{2017/12/05}{} +\ProvidesExplPackage{xfp}{2017/12/16}{} {L3 Floating point unit} \NewExpandableDocumentCommand \fpeval { m } { \fp_eval:n {#1} } \NewExpandableDocumentCommand \inteval { m } { \int_eval:n {#1} } diff --git a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty index 2005d08a748..6986c076322 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty @@ -20,8 +20,8 @@ %% %% File: xfrac.dtx Copyright (C) 2004, 2008-2010 Morten Hoegholm %% (C) 2011,2012,2014-2017 The LaTeX3 Project -\RequirePackage{expl3}[2017/12/05] -\@ifpackagelater{expl3}{2017/12/05} +\RequirePackage{expl3}[2017/12/16] +\@ifpackagelater{expl3}{2017/12/16} {} {% \PackageError{xfrac}{Support package l3kernel too old} @@ -34,7 +34,7 @@ \endinput } \RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate} -\ProvidesExplPackage{xfrac}{2017/12/05}{} +\ProvidesExplPackage{xfrac}{2017/12/16}{} {L3 Experimental split-level fractions} \keys_define:nn { xfrac } { diff --git a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty index f228093d00f..5b394dbb61a 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty @@ -23,8 +23,8 @@ %% (C) Copyright 2004-2008 Frank Mittelbach, %% The LaTeX3 Project %% (C) Copyright 2009-2017 The LaTeX3 Project -\RequirePackage{expl3}[2017/12/05] -\@ifpackagelater{expl3}{2017/12/05} +\RequirePackage{expl3}[2017/12/16] +\@ifpackagelater{expl3}{2017/12/16} {} {% \PackageError{xparse}{Support package l3kernel too old} @@ -36,7 +36,7 @@ }% \endinput } -\ProvidesExplPackage{xparse}{2017/12/05}{} +\ProvidesExplPackage{xparse}{2017/12/16}{} {L3 Experimental document command parser} \tl_new:N \l__xparse_arg_spec_tl \tl_new:N \l__xparse_args_tl @@ -1837,6 +1837,13 @@ (or~no~arguments~at~all).~You~cannot~have~a~terminal~optional~ argument~with~expandable~commands. } +\__msg_kernel_new:nnnn { xparse } { if-boolean } + { Invalid~use~\iow_char:N\\IfBooleanTF~{#1} } + { + \c__msg_coding_error_text_tl + The~first~argument~of~\iow_char:N\\IfBoolean(TF/T/F)~must~be~ + a~boolean~argument~obtained~from~parsing~'s'~or~'t'~arguments. + } \__msg_kernel_new:nnnn { xparse } { inconsistent-long } { Inconsistent~long~arguments~for~expandable~command~'#1'. } { @@ -2109,9 +2116,19 @@ \__xparse_check_definable:nNT {#1} \DeclareExpandableDocumentCommand { \__xparse_declare_expandable_cmd:Nnn #1 {#2} {#3} } } -\cs_new_eq:NN \IfBooleanTF \bool_if:NTF -\cs_new_eq:NN \IfBooleanT \bool_if:NT -\cs_new_eq:NN \IfBooleanF \bool_if:NF +\cs_new:Npn \IfBooleanTF #1 + { + \bool_lazy_and:nnTF + { \tl_if_single_p:n {#1} } + { \tl_if_single_token_p:n #1 } + { \bool_if:NTF #1 } + { + \__msg_kernel_error:nnn { xparse } { if-boolean } {#1} + \use_ii:nn + } + } +\cs_new:Npn \IfBooleanT #1#2 { \IfBooleanTF {#1} {#2} { } } +\cs_new:Npn \IfBooleanF #1 { \IfBooleanTF {#1} { } } \cs_new_eq:NN \IfNoValueF \tl_if_novalue:nF \cs_new_eq:NN \IfNoValueT \tl_if_novalue:nT \cs_new_eq:NN \IfNoValueTF \tl_if_novalue:nTF diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty index cd69d098f64..a667b4379c8 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty @@ -23,8 +23,8 @@ %% (C) Copyright 2004-2010 Frank Mittelbach, %% The LaTeX3 Project %% (C) Copyright 2011-2017 The LaTeX3 Project -\RequirePackage{expl3}[2017/12/05] -\@ifpackagelater{expl3}{2017/12/05} +\RequirePackage{expl3}[2017/12/16] +\@ifpackagelater{expl3}{2017/12/16} {} {% \PackageError{xtemplate}{Support package l3kernel too old} @@ -36,7 +36,7 @@ }% \endinput } -\ProvidesExplPackage{xtemplate}{2017/12/05}{} +\ProvidesExplPackage{xtemplate}{2017/12/16}{} {L3 Experimental prototype document functions} \tl_const:Nn \c__xtemplate_code_root_tl { template~code~>~ } \tl_const:Nn \c__xtemplate_defaults_root_tl { template~defaults~>~ } |