diff options
Diffstat (limited to 'Master/texmf-dist/tex')
46 files changed, 556 insertions, 108 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty index 924d785f8fc..6c8cdc9cfde 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty @@ -20,18 +20,18 @@ %% %% File: l3benchmark.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3benchmark}{2019-05-03}{} +\ProvidesExplPackage{l3benchmark}{2019-05-28}{} {L3 Experimental benchmarking} \sys_if_engine_luatex:TF { \cs_new:Npn \sys_timer: - { \int_eval:w \lua_now:n { l3kernel.elapsedtime() } \scan_stop: } + { \lua_now:n { l3kernel.elapsedtime() } } } { \cs_if_exist:NT \tex_elapsedtime:D { \cs_new:Npn \sys_timer: - { \int_eval:w \tex_elapsedtime:D } + { \int_value:w \tex_elapsedtime:D } } } \__sys_const:nn { sys_if_timer_exist } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty index 19d18d7ed74..d25f70e3f34 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty @@ -20,7 +20,7 @@ %% %% File: l3cctab.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3cctab}{2019-05-03}{} +\ProvidesExplPackage{l3cctab}{2019-05-28}{} {L3 Experimental category code tables} \int_new:N \g__cctab_allocate_int \int_gset:Nn \g__cctab_allocate_int { -1 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty index c6be03b0ae4..1285abf7ae1 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty @@ -20,9 +20,9 @@ %% %% File: l3color.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3color}{2019-05-03}{} +\ProvidesExplPackage{l3color}{2019-05-28}{} {L3 Experimental color support} -\tl_new:N \l__color_tmp_tl +\tl_new:N \l__color_internal_tl \prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF } { \tl_if_exist:cTF { l__color_named_ #1 _tl } @@ -88,15 +88,7 @@ { \driver_color_pickup:N \l__color_current_tl \tl_set_eq:cN { l__color_named_ . _tl } \l__color_current_tl - \group_begin: - \seq_map_inline:Nn \l_char_active_seq - { - \tl_set:Nx \l__color_tmp_tl { \cs_to_str:N ##1 } - \char_set_active_eq:NN ##1 \l__color_tmp_tl - } - \tl_set:Nx \l__color_tmp_tl {#1} - \exp_args:NNV \group_end: - \__color_parse:nN \l__color_tmp_tl #2 + \exp_args:Ne \__color_parse:nN { \tl_to_str:n {#1} } #2 } \cs_new_protected:Npn \__color_parse:nN #1#2 { @@ -123,10 +115,10 @@ \group_begin: \__color_extract:nNN {#2} \l__color_model_tl \l__color_value_tl \__color_parse_loop:w #3 ! ! ! ! \q_stop - \tl_set:Nx \l__color_tmp_tl + \tl_set:Nx \l__color_internal_tl { \l__color_model_tl \c_space_tl \l__color_value_tl } \exp_args:NNNV \group_end: - \tl_set:Nn #1 \l__color_tmp_tl + \tl_set:Nn #1 \l__color_internal_tl } \cs_new_protected:Npn \__color_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \q_stop { @@ -222,14 +214,28 @@ \fp_eval:n { #4 * #1 + #8 * ( 1 - #1 ) } \c_space_tl \fp_eval:n { #5 * #1 + #9 * ( 1 - #1 ) } } -\cs_new:Npn \__color_parse_gray:w #1 , #2 \q_stop {#1} -\cs_new:Npn \__color_parse_rgb:w #1 , #2 , #3 , #4 \q_stop { #1 ~ #2 ~ #3 } -\cs_new:Npn \__color_parse_cmyk:w #1 , #2 , #3 , #4 , #5 \q_stop - { #1 ~ #2 ~ #3 ~ #4 } -\cs_new:Npn \__color_parse_spot:w #1 , #2 \q_stop +\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \q_stop { \__color_parse_number:n {#1} } +\cs_new:Npn \__color_parse_model_rgb:w #1 , #2 , #3 , #4 \q_stop + { + \__color_parse_number:n {#1} ~ + \__color_parse_number:n {#2} ~ + \__color_parse_number:n {#3} + } +\cs_new:Npn \__color_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \q_stop + { + \__color_parse_number:n {#1} ~ + \__color_parse_number:n {#2} ~ + \__color_parse_number:n {#3} ~ + \__color_parse_number:n {#4} + } +\cs_new:Npn \__color_parse_model_spot:w #1 , #2 \q_stop { \__color_parse_spot_aux:w #1 ! 100 ! \q_stop } \cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \q_stop { #1 ~ \fp_eval:n { #2 / 100 } } +\cs_new:Npn \__color_parse_number:n #1 + { \__color_parse_number:w #1 . 0 . \q_stop } +\cs_new:Npn \__color_parse_number:w #1 . #2 . #3 \q_stop + { \tl_if_blank:nTF {#1} { 0 } {#1} . #2 } \tl_new:N \l_color_fixed_model_tl \cs_new_protected:Npn \__color_check_model:N #1 { @@ -267,10 +273,10 @@ } \cs_new_protected:Npn \__color_direct:nnN #1#2#3 { - \cs_if_exist:cTF { __color_parse_ #1 :w } + \cs_if_exist:cTF { __color_parse_model_ #1 :w } { \tl_set:Nx #3 - { #1 ~ \use:c { __color_parse_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop } + { #1 ~ \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop } \__color_check_model:N #3 } { diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty index 4f63b4e692e..e6a07862985 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty @@ -28,7 +28,7 @@ %% %% File: l3draw.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3draw}{2019-05-03}{} +\ProvidesExplPackage{l3draw}{2019-05-28}{} {L3 Experimental core drawing support} \RequirePackage { l3color } %% File: l3draw-boxes.dtx diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty new file mode 100644 index 00000000000..361523ef595 --- /dev/null +++ b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty @@ -0,0 +1,307 @@ +%% +%% This is file `l3graphics.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% l3graphics.dtx (with options: `package') +%% +%% Copyright (C) 2019 The LaTeX3 Project +%% +%% It may be distributed and/or modified under the conditions of +%% the LaTeX Project Public License (LPPL), either version 1.3c of +%% this license or (at your option) any later version. The latest +%% version of this license is in the file: +%% +%% http://www.latex-project.org/lppl.txt +%% +%% This file is part of the "l3experimental bundle" (The Work in LPPL) +%% and all files in that bundle must be distributed together. +%% +%% File: l3graphics.dtx +\RequirePackage{expl3} +\ProvidesExplPackage{l3graphics}{2019-05-28}{} + {L3 Experimental graphics inclusion support} +\ior_new:N \l__graphics_tmp_ior +\tl_new:N \l__graphics_tmp_tl +\tl_new:N \l_graphics_decodearray_tl +\tl_new:N \l_graphics_pagebox_tl +\bool_new:N \l_graphics_interpolate_bool +\tl_set:Nn \l_graphics_pagebox_tl { cropbox } +\int_new:N \l_graphics_page_int +\dim_new:N \l_graphics_llx_dim +\dim_new:N \l_graphics_lly_dim +\dim_new:N \l_graphics_urx_dim +\dim_new:N \l_graphics_ury_dim +\cs_new_protected:Npn \graphics_bb_save:n #1 + { + \dim_if_exist:cTF { c__graphics_ #1 _urx_dim } + { \__kernel_msg_error:nnn { graphic } { bb-already-cached } {#1} } + { + \dim_compare:nNnF \l_graphics_llx_dim = { 0pt } + { \dim_const:cn { c__graphics_ #1 _llx_dim } { \l_graphics_llx_dim } } + \dim_compare:nNnF \l_graphics_lly_dim = { 0pt } + { \dim_const:cn { c__graphics_ #1 _lly_dim } { \l_graphics_lly_dim } } + \dim_const:cn { c__graphics_ #1 _urx_dim } { \l_graphics_urx_dim } + \dim_const:cn { c__graphics_ #1 _ury_dim } { \l_graphics_ury_dim } + } + } +\cs_generate_variant:Nn \graphics_bb_save:n { x } +\cs_new_protected:Npn \graphics_bb_restore:nF #1#2 + { + \dim_if_exist:cTF { c__graphics_ #1 _urx_dim } + { + \dim_set_eq:Nc \l_graphics_urx_dim { c__graphics_ #1 _urx_dim } + \dim_set_eq:Nc \l_graphics_ury_dim { c__graphics_ #1 _ury_dim } + \dim_if_exist:cTF { c__graphics_ #1 _llx_dim } + { \dim_set_eq:Nc \l_graphics_llx_dim { c__graphics_ #1 _llx_dim } } + { \dim_zero:N \l_graphics_llx_dim } + \dim_if_exist:cTF { c__graphics_ #1 _lly_dim } + { \dim_set_eq:Nc \l_graphics_lly_dim { c__graphics_ #1 _lly_dim } } + { \dim_zero:N \l_graphics_lly_dim } + } + {#2} + } +\cs_generate_variant:Nn \graphics_bb_restore:nF { x } +\cs_new_protected:Npn \graphics_extract_bb:n #1 + { + \int_compare:nNnTF \l_graphics_page_int > 0 + { \__graphics_extract_bb_auxi:Vn \l_graphics_page_int {#1} } + { \__graphics_extract_bb_auxii:nnn {#1} { } { } } + } +\cs_new_protected:Npn \__graphics_extract_bb_auxi:nn #1#2 + { \__graphics_extract_bb_auxii:nnn {#2} { :P #1 } { -p~#1~ } } +\cs_generate_variant:Nn \__graphics_extract_bb_auxi:nn { Vn } +\cs_new_protected:Npn \__graphics_extract_bb_auxii:nnn #1#2#3 + { + \tl_if_empty:NTF \l_graphics_pagebox_tl + { \__graphics_extract_bb_auxiv:nnn } + { \__graphics_extract_bb_auxiii:Vnnn \l_graphics_pagebox_tl } + {#1} {#2} {#3} + } +\cs_new_protected:Npn \__graphics_extract_bb_auxiii:nnnn #1#2#3#4 + { \__graphics_extract_bb_auxiv:nnn {#2} { : #1 #3 } { #4 -B~#1~ } } +\cs_generate_variant:Nn \__graphics_extract_bb_auxiii:nnnn { V } +\cs_new_protected:Npn \__graphics_extract_bb_auxiv:nnn #1#2#3 + { + \__graphics_read_bb_auxi:nnnn {#1} {#2} + { \ior_shell_open:Nn \l__graphics_tmp_ior { extractbb~#3-O~#1 } } + { pipe-failed } + } +\cs_new_protected:Npn \graphics_read_bb:n #1 + { + \__graphics_read_bb_auxi:nnnn {#1} { } + { \ior_open:Nn \l__graphics_tmp_ior {#1} } + { graphic-not-found } + } +\cs_new_protected:Npn \__graphics_read_bb_auxi:nnnn #1#2#3#4 + { + \graphics_bb_restore:nF {#1#2} + { \__graphics_read_bb_auxii:nnnn {#3} {#4} {#1} {#2} } + } +\cs_new_protected:Npx \__graphics_read_bb_auxii:nnnn #1#2#3#4 + { + #1 + \exp_not:N \ior_if_eof:NTF \exp_not:N \l__graphics_tmp_ior + { \__kernel_msg_error:nnn { graphics } {#2} {#3} } + { + \ior_str_map_inline:Nn \exp_not:N \l__graphics_tmp_ior + { + \exp_not:N \__graphics_read_bb_auxiii:w + ##1 ~ \c_colon_str \exp_not:N \q_stop + } + } + \exp_not:n + { + \ior_close:N \l__graphics_tmp_ior + \dim_compare:nNnF \l_graphics_llx_dim = { 0pt } + { \dim_const:cn { c__graphics_ #3#4 _llx_dim } { \l_graphics_llx_dim } } + \dim_compare:nNnF \l_graphics_lly_dim = { 0pt } + { \dim_const:cn { c__graphics_ #3#4 _lly_dim } { \l_graphics_lly_dim } } + \dim_const:cn { c__graphics_ #3#4 _urx_dim } { \l_graphics_urx_dim } + \dim_const:cn { c__graphics_ #3#4 _ury_dim } { \l_graphics_ury_dim } + } + } +\use:x + { + \cs_new_protected:Npn \exp_not:N \__graphics_read_bb_auxiii:w + ##1 \c_colon_str ##2 \exp_not:N \q_stop + { + \exp_not:N \str_if_eq:nnT + { \c_percent_str \c_percent_str BoundingBox } + {##1} + { \exp_not:N \__graphics_read_bb_auxiv:w ##2 ( ) \exp_not:N \q_stop } + } + } +\cs_new_protected:Npn \__graphics_read_bb_auxiv:w #1 ( #2 ) #3 \q_stop + { + \str_if_eq:nnF {#2} { atend } + { + \tl_set_rescan:Nnx \l__graphics_tmp_tl + { + \char_set_catcode_space:n { 9 } + \char_set_catcode_space:n { 32 } + } + { \use:n #1 } + \exp_after:wN \__graphics_read_bb_auxv:w \l__graphics_tmp_tl \q_stop + } + } +\cs_new_protected:Npn \__graphics_read_bb_auxv:w #1~#2~#3~#4~#5 \q_stop + { + \dim_set:Nn \l_graphics_llx_dim { #1 bp } + \dim_set:Nn \l_graphics_lly_dim { #2 bp } + \dim_set:Nn \l_graphics_urx_dim { #3 bp } + \dim_set:Nn \l_graphics_ury_dim { #4 bp } + \ior_map_break: + } +\bool_new:N \l_graphics_draft_bool +\tl_new:N \l_graphics_name_tl +\tl_new:N \l__graphics_name_tl +\box_new:N \l__graphics_internal_box +\str_new:N \l__graphics_dir_str +\str_new:N \l__graphics_name_str +\str_new:N \l__graphics_ext_str +\seq_new:N \l_graphics_search_path_seq +\seq_new:N \l_graphics_search_ext_seq +\prop_new:N \l_graphics_ext_type_prop +\prop_put:Nnn \l_graphics_ext_type_prop { .ps } { eps } +\seq_new:N \g__graphics_record_seq +\cs_new_protected:Npn \graphics_include:n #1 + { + \group_begin: + \seq_set_eq:NN \l_file_search_path_seq \l_graphics_search_path_seq + \file_get_full_name:nNTF {#1} \l__graphics_name_tl + { + \str_if_eq:eeTF { \l__graphics_name_tl } { #1 .tex } + { \__graphics_include_search:n {#1} } + { \__graphics_include: } + } + { \__graphics_include_search:n {#1} } + \group_end: + } +\cs_new_protected:Npn \__graphics_include_search:n #1 + { + \seq_map_inline:Nn \l_graphics_search_ext_seq + { + \file_get_full_name:nNT { #1 . ##1 } \l__graphics_name_tl + { \seq_map_break:n { \use_i:nnn \__graphics_include: } } + } + \use:n + { \__kernel_msg_error:nnn { graphics } { graphic-not-found } {#1} } + } +\cs_new_protected:Npn \__graphics_include: + { + \file_parse_full_name:VNNN \l__graphics_name_tl + \l__graphics_dir_str \l__graphics_name_str \l__graphics_ext_str + \exp_args:Ne \__graphics_include_auxi:n + { + \exp_args:Ne \str_tail:n + { \str_fold_case:V \l__graphics_ext_str } + } + } +\cs_new_protected:Npn \graphics_include:nn #1#2 + { + \group_begin: + \seq_set_eq:NN \l_file_search_path_seq \l_graphics_search_path_seq + \file_get_full_name:nNTF {#1} \l__graphics_name_tl + { + \exp_args:Ne \__graphics_include_auxi:n + { \str_fold_case:n {#1} } + } + { \__kernel_msg_error:nnn { graphics } { graphic-not-found } {#1} } + \group_end: + } +\cs_new_protected:Npn \__graphics_include_auxi:n #1 + { + \prop_get:NnNF \l_graphics_ext_type_prop { .#1 } \l__graphics_internal_tl + { \tl_set:Nn \l__graphics_internal_tl {#1} } + \exp_args:NV \__graphics_include_auxii:n \l__graphics_internal_tl + } +\cs_new_protected:Npn \__graphics_include_auxii:n #1 + { + \mode_leave_vertical: + \cs_if_exist:cTF { driver_graphics_include_ #1 :n } + { + \tl_set_eq:NN \l_graphics_name_tl \l__graphics_name_tl + \exp_args:NnV \use:c { driver_graphics_getbb_ #1 :n } + \l__graphics_name_tl + \seq_gput_right:NV \g__graphics_record_seq \l_graphics_name_tl + \clist_if_exist:NT \@filelist + { \exp_args:NV \@addtofilelist \l_graphics_name_tl } + \bool_if:NTF \l_graphics_draft_bool + { \__graphics_include_auxiii:n } + { \__graphics_include_auxiv:n } + {#1} + } + { \__kernel_msg_error:nnn { graphics } { unsupported-graphic-type } {#1} } + } +\cs_new_protected:Npn \__graphics_include_auxiii:n #1 + { + \hbox_to_wd:nn { \l_graphics_urx_dim - \l_graphics_llx_dim } + { + \tex_vrule:D + \tex_hss:D + \vbox_to_ht:nn + { \l_graphics_ury_dim - \l_graphics_lly_dim } + { + \tex_hrule:D width + \dim_eval:n { \l_graphics_urx_dim - \l_graphics_llx_dim } + \tex_vss:D + \hbox_to_wd:nn + { \l_graphics_urx_dim - \l_graphics_llx_dim } + { + \ttfamily + \tex_hss:D \l__graphics_name_tl \tex_hss:D + } + \tex_vss:D + \tex_hrule:D + } + \tex_hss:D + \tex_vrule:D + } + } +\cs_new_protected:Npn \__graphics_include_auxiv:n #1 + { + \hbox_set:Nn \l__graphics_internal_box + { + \exp_args:NnV \use:c { driver_graphics_include_ #1 :n } + \l__graphics_name_tl + } + \box_set_dp:Nn \l__graphics_internal_box { 0pt } + \box_set_ht:Nn \l__graphics_internal_box + { \l_graphics_ury_dim - \l_graphics_lly_dim } + \box_set_wd:Nn \l__graphics_internal_box + { \l_graphics_urx_dim - \l_graphics_llx_dim } + \box_use_drop:N \l__graphics_internal_box + } +\cs_new_protected:Npn \graphics_show_list: { \__graphics_list:N \msg_show:nnxxxx } +\cs_new_protected:Npn \graphics_log_list: { \__graphics_list:N \msg_log:nnxxxx } +\cs_new_protected:Npn \__graphics_list:N #1 + { + \seq_remove_duplicates:N \g__graphics_record_seq + #1 { LaTeX/kernel } { file-list } + { \seq_map_function:NN \g__graphics_record_seq \__graphics_list_aux:n } + { } { } { } + } +\cs_new:Npn \__graphics_list_aux:n #1 { \iow_newline: #1 } +\__kernel_msg_new:nnnn { graphics } { graphic-not-found } + { Image~file~'#1'~not~found. } + { + LaTeX~tried~to~open~graphic~file~'#1', + ~but~the~file~could~not~be~read. + } +\__kernel_msg_new:nnnn { graphics } { pipe-failed } + { Cannot~run~piped~system~commands. } + { + LaTeX~tried~to~call~a~system~process~but~this~was~not~possible.\\ + Try~the~"--shell-escape"~(or~"--enable-pipes")~option. + } +\__kernel_msg_new:nnnn { graphics } { unsupported-graphic-type } + { Image~type~'#1'~not~supported~by~current~driver. } + { + LaTeX~was~asked~to~include~an~graphic~of~type~'#1',~ + but~this~is~not~supported~by~the~current~driver~(production~route). + } +%% +%% +%% End of file `l3graphics.sty'. 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 6af82fd2621..f9b7c2b0e02 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -18,9 +18,9 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3str-convert}{2019-05-03}{} +\ProvidesExplPackage{l3str-convert}{2019-05-28}{} {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-enc-iso88591.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def index 7d880561227..129e435d16d 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88591 } { } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def index 7f838672207..8c4e9ce957b 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso885910 } { { A1 } { 0104 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def index 6b271131cc1..c9fd87cd3bf 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso885911 } { { A1 } { 0E01 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def index 4f95aec07a7..aac3d64ef2e 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso885913 } { { A1 } { 201D } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def index 7925d571336..22cd3c76f56 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso885914 } { { A1 } { 1E02 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def index da46de43466..a79469e4425 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso885915 } { { A4 } { 20AC } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def index b0083c8050c..bfd656f6e7a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso885916 } { { A1 } { 0104 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def index 42519770cce..3c7f9893795 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88592 } { { A1 } { 0104 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def index 7d5d80d61cc..4fa0c24373f 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88593 } { { A1 } { 0126 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def index 10491b14483..b90cb49d143 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88594 } { { A1 } { 0104 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def index 1166a482191..0862a7a49b0 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88595 } { { A1 } { 0401 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def index 92438f3aea6..d89bc0330c6 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88596 } { { AC } { 060C } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def index 2c0c5e7760e..3bbb24b8165 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88597 } { { A1 } { 2018 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def index 50615dfc038..61e8c3fe6dc 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88598 } { { AA } { 00D7 } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def index 3d421b2a6c9..9339941d6ea 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \__str_declare_eight_bit_encoding:nnn { iso88599 } { { D0 } { 011E } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def index 2ae9485ab91..3b54e12b16d 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \group_begin: \char_set_catcode_other:N \^^fe \char_set_catcode_other:N \^^ff diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def index 76ded8b28d6..307e629071a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \group_begin: \char_set_catcode_other:N \^^00 \char_set_catcode_other:N \^^fe diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def index 10b3902661a..fe9fd31ee87 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \cs_new_protected:cpn { __str_convert_encode_utf8: } { \__str_convert_gmap_internal:N \__str_encode_utf_viii_char:n } \cs_new:Npn \__str_encode_utf_viii_char:n #1 diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def index e4cb1e9a2c6..28ff90d79ea 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \cs_new_protected:Npn \__str_convert_unescape_hex: { \group_begin: diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def index 926b3ef9e75..58ddb088092 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \cs_set_protected:Npn \__str_tmp:w #1#2#3 { \cs_new_protected:cpn { __str_convert_unescape_#2: } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def index 68c16ea5db7..8f294e4220a 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \group_begin: \char_set_catcode_other:N \^^J \char_set_catcode_other:N \^^M diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def index ebc2dc2548a..21fa69980a9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def @@ -18,7 +18,7 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project +%% File: l3str-convert.dtx \cs_set_protected:Npn \__str_tmp:w #1#2#3 { \cs_new_protected:cpn { __str_convert_unescape_#2: } 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 2658fade981..fa84e0e970d 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 \RequirePackage{expl3} -\ProvidesExplPackage{l3str-format}{2019-05-03}{} +\ProvidesExplPackage{l3str-format}{2019-05-28}{} {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/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty index 0fdc99a02a6..20fd2db2f33 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty @@ -20,7 +20,7 @@ %% %% File: l3sys-shell.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3sys-shell}{2019-05-03}{} +\ProvidesExplPackage{l3sys-shell}{2019-05-28}{} {L3 Experimental system shell functions} \cs_new:Npn \__sys_path_to_win:n #1 { diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty index 058ae854cd5..9c53fe7d4a6 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 \RequirePackage{xparse} -\ProvidesExplPackage{xcoffins}{2019-05-03}{} +\ProvidesExplPackage{xcoffins}{2019-05-28}{} {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 7f4c785a57d..263c06691eb 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -32,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{l3galley}{2019-05-03}{} +\ProvidesExplPackage{l3galley}{2019-05-28}{} {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 de6ec90878d..d492282db69 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty @@ -20,7 +20,7 @@ %% %% File: xgalley.dtx \RequirePackage{xparse} -\ProvidesExplPackage{xgalley}{2019-05-03}{} +\ProvidesExplPackage{xgalley}{2019-05-28}{} {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 cd2f1013847..dbdc37c17f5 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -64,7 +64,7 @@ %% and all files in that bundle must be distributed together. %% %% File: expl3.dtx -\def\ExplFileDate{2019-05-09}% +\def\ExplFileDate{2019-05-28}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -14156,6 +14156,7 @@ \int_const:Nn \c__fp_prec_hatii_int { 14 } \int_const:Nn \c__fp_prec_hat_int { 13 } \int_const:Nn \c__fp_prec_not_int { 12 } +\int_const:Nn \c__fp_prec_juxt_int { 11 } \int_const:Nn \c__fp_prec_times_int { 10 } \int_const:Nn \c__fp_prec_plus_int { 9 } \int_const:Nn \c__fp_prec_comp_int { 7 } @@ -14874,7 +14875,7 @@ { \exp_not:N \__fp_exp_after_array_f:w #2 \s__fp_stop \exp_not:N \exp_after:wN - \exp_not:N \__fp_parse_infix:NN + \exp_not:N \__fp_parse_infix_after_paren:NN \exp_not:N \exp_after:wN #1 \exp_not:N \exp:w \exp_not:N \__fp_parse_expand:w @@ -14900,7 +14901,7 @@ \fi: \exp_end_continue_f:w \fi: - \__fp_parse_infix:NN #1 ) + \__fp_parse_infix_after_paren:NN #1 ) } \cs_set_protected:Npn \__fp_tmp:w #1 #2 { @@ -15071,7 +15072,7 @@ \exp_after:wN \__fp_parse_infix_mark:NNN \else: \exp_after:wN \exp_after:wN - \exp_after:wN \__fp_parse_infix_mul:N + \exp_after:wN \__fp_parse_infix_juxt:N \fi: \else: \if_int_compare:w @@ -15079,7 +15080,7 @@ ( `#2 \if_int_compare:w `#2 > `Z - 32 \fi: ) / 26 = 3 \exp_stop_f: \exp_after:wN \exp_after:wN - \exp_after:wN \__fp_parse_infix_mul:N + \exp_after:wN \__fp_parse_infix_juxt:N \else: \exp_after:wN \__fp_parse_infix_check:NNN \cs:w @@ -15091,22 +15092,49 @@ #1 #2 } -\cs_new:Npx \__fp_parse_infix_check:NNN #1#2#3 +\cs_new:Npn \__fp_parse_infix_check:NNN #1#2#3 { - \exp_not:N \if_meaning:w \scan_stop: #1 - \exp_not:N \__kernel_msg_expandable_error:nnn + \if_meaning:w \scan_stop: #1 + \__kernel_msg_expandable_error:nnn { kernel } { fp-missing } { * } - \exp_not:N \exp_after:wN - \exp_not:c { __fp_parse_infix_*:N } - \exp_not:N \exp_after:wN #2 - \exp_not:N \exp_after:wN #3 - \exp_not:N \else: - \exp_not:N \exp_after:wN #1 - \exp_not:N \exp_after:wN #2 - \exp_not:N \exp:w - \exp_not:N \exp_after:wN - \exp_not:N \__fp_parse_expand:w - \exp_not:N \fi: + \exp_after:wN \__fp_parse_infix_mul:N + \exp_after:wN #2 + \exp_after:wN #3 + \else: + \exp_after:wN #1 + \exp_after:wN #2 + \exp:w \exp_after:wN \__fp_parse_expand:w + \fi: + } +\cs_new:Npn \__fp_parse_infix_after_paren:NN #1 #2 + { + \if_catcode:w \scan_stop: \exp_not:N #2 + \if_int_compare:w + \__fp_str_if_eq:nn { \s__fp_mark } { \exp_not:N #2 } + = 0 \exp_stop_f: + \exp_after:wN \exp_after:wN + \exp_after:wN \__fp_parse_infix_mark:NNN + \else: + \exp_after:wN \exp_after:wN + \exp_after:wN \__fp_parse_infix_mul:N + \fi: + \else: + \if_int_compare:w + \__fp_int_eval:w + ( `#2 \if_int_compare:w `#2 > `Z - 32 \fi: ) / 26 + = 3 \exp_stop_f: + \exp_after:wN \exp_after:wN + \exp_after:wN \__fp_parse_infix_mul:N + \else: + \exp_after:wN \__fp_parse_infix_check:NNN + \cs:w + __fp_parse_infix_ \token_to_str:N #2 :N + \exp_after:wN \exp_after:wN \exp_after:wN + \cs_end: + \fi: + \fi: + #1 + #2 } \cs_new:Npn \__fp_parse_infix_mark:NNN #1#2#3 { #3 #1 } \cs_new:Npn \__fp_parse_infix_end:N #1 @@ -15183,6 +15211,8 @@ } \exp_args:Nc \__fp_tmp:w { __fp_parse_infix_^:N } ^ \c__fp_prec_hatii_int \c__fp_prec_hat_int +\exp_args:Nc \__fp_tmp:w { __fp_parse_infix_juxt:N } * + \c__fp_prec_juxt_int \c__fp_prec_juxt_int \exp_args:Nc \__fp_tmp:w { __fp_parse_infix_/:N } / \c__fp_prec_times_int \c__fp_prec_times_int \exp_args:Nc \__fp_tmp:w { __fp_parse_infix_mul:N } * @@ -26454,6 +26484,75 @@ { \iow_shipout:Nn \c__sys_shell_stream_int {#1} } } \cs_generate_variant:Nn \sys_shell_shipout:n { x } +\cs_new:Npn \__file_str_cmp:nn #1#2 { \tex_strcmp:D {#1} {#2} } +\sys_if_engine_luatex:T + { + \cs_set:Npn \__file_str_cmp:nn #1#2 + { + \lua_now:e + { + l3kernel.strcmp + ( + " \__file_str_escape:n {#1}", + " \__file_str_escape:n {#2}" + ) + } + } + \cs_new:Npn \__file_str_escape:n #1 + { + \lua_escape:e + { \__kernel_tl_to_str:w \use:e { {#1} } } + } + } +\tl_new:N \l__file_first_tl +\tl_new:N \l__file_second_tl +\prg_new_protected_conditional:Npnn \file_compare_timestamp:nNn #1#2#3 + { T , F , TF } + { + \group_begin: + \file_get_full_name:nNTF {#1} \l__file_first_tl + { + \file_get_full_name:nNTF {#3} \l__file_second_tl + { + \if_int_compare:w + \__file_str_cmp:nn + { \__file_timestamp:n \exp_after:wN { \l__file_first_tl } } + { \__file_timestamp:n \exp_after:wN { \l__file_second_tl } } + #2 0 \exp_stop_f: + \group_end: + \prg_return_true: + \else: + \group_end: + \prg_return_false: + \fi: + } + { + \group_end: + \if_charcode:w #2 > + \prg_return_true: + \else: + \prg_return_false: + \fi: + } + } + { + \group_end: + \if_charcode:w #2 < + \prg_return_true: + \else: + \prg_return_false: + \fi: + } + } +\sys_if_engine_luatex:TF + { + \cs_new:Npn \__file_timestamp:n #1 + { + \lua_now:e + { l3kernel.filemoddate ( " \lua_escape:e {#1} " ) } + } + } + { \cs_new_eq:NN \__file_timestamp:n \tex_filemoddate:D } \cs_new_protected:Npn \ior_shell_open:Nn #1#2 { \sys_if_shell:TF diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index 6d8a56abcaa..8014aa50960 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 -\def\ExplFileDate{2019-05-09}% +\def\ExplFileDate{2019-05-28}% \let\ExplLoaderFileDate\ExplFileDate \begingroup \def\tempa{LaTeX2e}% diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua index 48b4a266506..e81e52a591a 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua @@ -64,7 +64,7 @@ local function elapsedtime() end l3kernel.elapsedtime = elapsedtime local function resettimer() - base_time = 0 + base_time = os_clock() end l3kernel.resettimer = resettimer local function filemdfivesum(name) diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index b8aaca40a4c..41b84801c47 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 -\def\ExplFileDate{2019-05-09}% +\def\ExplFileDate{2019-05-28}% \let\ExplLoaderFileDate\ExplFileDate \ProvidesPackage{expl3} [% diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def index 3bdc8505acb..20789461412 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def @@ -405,7 +405,7 @@ \int_if_exist:cTF { c__driver_graphics_ #2#1 _int } { \__driver_literal:x - { pdf:usexobj~@image \int_use:c { c__driver_graphics_ #2#1 _int } } + { pdf:usexobj~@graphic \int_use:c { c__driver_graphics_ #2#1 _int } } } { \__driver_graphics_include_auxiii:nnn {#2} {#1} {#3} } } @@ -417,7 +417,7 @@ \__driver_literal:x { pdf:#3~ - @image \int_use:c { c__driver_graphics_ #1#2 _int } ~ + @graphic \int_use:c { c__driver_graphics_ #1#2 _int } ~ \int_compare:nNnT \l_graphics_page_int > 1 { page ~ \int_use:N \l_graphics_page_int \c_space_tl } \tl_if_empty:NF \l_graphics_pagebox_tl diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index 23675e1c0a1..f51166f9231 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -823,6 +823,19 @@ def /driver.breaklink.write { + counttomark ~ 1 ~ sub ~ + index /_objdef ~ eq + { + counttomark ~ -2 ~ roll ~ + dup ~ wcheck ~ + { + readonly ~ + counttomark ~ 2 ~ roll + } + { pop ~ pop } + ifelse + } + if ~ counttomark ~ 1 ~ add ~ copy ~ pop ~ driver.currentrect /ANN ~ pdfmark @@ -850,11 +863,9 @@ Rect ~ 1 ~ get ~ sub ~ driver.baselineskip ~ div ~ round ~ cvi ~ 0 ~ gt { driver.breaklink } - { driver.pdfmark.obj } - ifelse + if } - { driver.pdfmark.obj } - ifelse ~ + if ~ end ~ SDict /driver.outerbox ~ undef ~ SDict /driver.baselineskip ~ undef ~ @@ -887,8 +898,6 @@ loop } def - /driver.pdfmark.obj - { /_objdef ~ exch ~ driver.link.obj ~ exch } def } \box_new:N \l__driver_pdf_content_box \box_new:N \l__driver_pdf_model_box @@ -936,13 +945,9 @@ \int_new:N \g__driver_pdf_link_sf_int \bool_new:N \g__driver_pdf_link_math_bool \bool_new:N \g__driver_pdf_link_bool -\tl_new:N \l__driver_breaklink_obj_tl -\tl_set:Nn \l__driver_breaklink_obj_tl - { /_objdef ~ { driver.obj \int_use:N \g__driver_pdf_link_int } } \tl_new:N \l__driver_breaklink_pdfmark_tl \tl_set:Nn \l__driver_breaklink_pdfmark_tl { pdfmark } \cs_new_protected:Npn \__driver_breaklink_postscript:n #1 { } -\cs_generate_variant:Nn \__driver_breaklink_postscript:n { x } \cs_new_eq:NN \__driver_breaklink_usebox:N \box_use:N \cs_new_protected:Npn \driver_pdf_link_begin_goto:nnw #1#2 { \__driver_pdf_link_begin:nw { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) >> } } @@ -956,7 +961,6 @@ \cs_new_protected:Npn \__driver_pdf_link_begin_aux:nw #1 { \bool_gset_true:N \g__driver_pdf_link_bool - \__driver_pdf_annotation:nnnn { 3pt } { 3pt } { 0pt } { } \__driver_postscript:n { /driver.link.dict ( #1 ) def } \tl_gset:Nn \g__driver_pdf_link_dict_tl {#1} @@ -1000,18 +1004,10 @@ } \int_gincr:N \g__driver_pdf_object_int \int_gset_eq:NN \g__driver_pdf_link_int \g__driver_pdf_object_int - \__driver_breaklink_postscript:x - { - /driver.link.obj - { - { driver.obj \int_use:N \g__driver_pdf_link_int \c_space_tl driver.cvs } - } - def - } \__driver_postscript:x { mark - \l__driver_breaklink_obj_tl + /_objdef { driver.obj \int_use:N \g__driver_pdf_link_int } \g__driver_pdf_link_dict_tl \c_space_tl driver.rect /ANN ~ \l__driver_breaklink_pdfmark_tl @@ -1106,7 +1102,6 @@ } } } - \tl_clear:N \l__driver_breaklink_obj_tl \tl_set:Nn \l__driver_breaklink_pdfmark_tl { driver.pdfmark } \cs_set_eq:NN \__driver_breaklink_postscript:n \__driver_postscript:n \cs_set_eq:NN \__driver_breaklink_usebox:N \hbox_unpack:N diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def index 25c63471e8f..3afb54a6b05 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def @@ -422,6 +422,45 @@ } \cs_new_eq:NN \driver_graphics_include_pdf:n \driver_graphics_include_jpg:n \cs_new_eq:NN \driver_graphics_include_png:n \driver_graphics_include_jpg:n +\sys_if_shell:T + { + \str_new:N \l__driver_dir_str + \str_new:N \l__driver_name_str + \str_new:N \l__driver_ext_str + \cs_new_protected:Npn \driver_graphics_getbb_eps:n #1 + { + \file_parse_full_name:nNNN {#1} + \l__driver_dir_str + \l__driver_name_str + \l__driver_ext_str + \exp_args:Nx \__driver_graphics_getbb_eps:nn + { + \l__driver_name_str - \str_tail:N \l__driver_ext_str + -converted-to.pdf + } + {#1} + } + \cs_new_protected:Npn \__driver_graphics_getbb_eps:nn #1#2 + { + \file_compare_timestamp:nNnT {#2} > {#1} + { + \sys_shell_now:n + { repstopdf ~ #2 ~ #1 } + } + \tl_set:Nn \l_graphics_name_tl {#1} + \driver_graphics_getbb_pdf:n {#1} + } + \cs_new_protected:Npn \driver_graphics_include_eps:n #1 + { + \file_parse_full_name:nNNN {#1} + \l__driver_dir_str \l__driver_name_str \l__driver_ext_str + \exp_args:Nx \driver_graphics_include_pdf:n + { + \l__driver_name_str - \str_tail:N \l__driver_ext_str + -converted-to.pdf + } + } + } %% File: l3drivers-pdf.dtx \cs_new_protected:Npx \driver_pdf_annotation:nnnn #1#2#3#4 { @@ -539,7 +578,7 @@ { \__driver_tmp:w { \tex_pdfextension:D obj ~ } - { \exp_not:N \tex_pdffeedback:D lastobj \scan_stop: } + { \exp_not:N \tex_pdffeedback:D lastobj } } { \__driver_tmp:w { \tex_pdfobj:D } { \tex_pdflastobj:D } } \group_end: @@ -579,6 +618,7 @@ \cs_new:Npn \__driver_exp_not_ii:nn #1#2 { \exp_not:n {#2} } \cs_new_protected:Npx \driver_pdf_compresslevel:n #1 { + \exp_not:N \tex_global:D \cs_if_exist:NTF \tex_pdfcompresslevel:D { \tex_pdfcompresslevel:D } { \tex_pdfvariable:D compresslevel } @@ -592,6 +632,7 @@ } \cs_new_protected:Npx \__driver_pdf_objcompresslevel:n #1 { + \exp_not:N \tex_global:D \cs_if_exist:NTF \tex_pdfobjcompresslevel:D { \tex_pdfobjcompresslevel:D } { \tex_pdfvariable:D objcompresslevel } diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index 111087f7509..49ee9115e3a 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -390,7 +390,7 @@ \int_if_exist:cTF { c__driver_graphics_ #2#1 _int } { \__driver_literal:x - { pdf:usexobj~@image \int_use:c { c__driver_graphics_ #2#1 _int } } + { pdf:usexobj~@graphic \int_use:c { c__driver_graphics_ #2#1 _int } } } { \__driver_graphics_include_auxiii:nnn {#2} {#1} {#3} } } @@ -402,7 +402,7 @@ \__driver_literal:x { pdf:#3~ - @image \int_use:c { c__driver_graphics_ #1#2 _int } ~ + @graphic \int_use:c { c__driver_graphics_ #1#2 _int } ~ \int_compare:nNnT \l_graphics_page_int > 1 { page ~ \int_use:N \l_graphics_page_int \c_space_tl } \tl_if_empty:NF \l_graphics_pagebox_tl diff --git a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty index c5a7c0c6a6c..4f76f142838 100644 --- a/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty +++ b/Master/texmf-dist/tex/latex/l3packages/l3keys2e/l3keys2e.sty @@ -32,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{l3keys2e}{2019-05-03}{} +\ProvidesExplPackage{l3keys2e}{2019-05-28}{} {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 612f3c0e235..65be7159a88 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xfp/xfp.sty @@ -33,7 +33,7 @@ \endinput } \RequirePackage{xparse} -\ProvidesExplPackage{xfp}{2019-05-03}{} +\ProvidesExplPackage{xfp}{2019-05-28}{} {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 d102c8ad839..33bfe8e6696 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xfrac/xfrac.sty @@ -33,7 +33,7 @@ \endinput } \RequirePackage{amstext,graphicx,l3keys2e,textcomp,xparse,xtemplate} -\ProvidesExplPackage{xfrac}{2019-05-03}{} +\ProvidesExplPackage{xfrac}{2019-05-28}{} {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 ff8f6bca7ca..96a9229784e 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xparse/xparse.sty @@ -32,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{xparse}{2019-05-03}{} +\ProvidesExplPackage{xparse}{2019-05-28}{} {L3 Experimental document command parser} \tl_new:N \l__xparse_arg_spec_tl \tl_new:N \l__xparse_args_tl @@ -464,7 +464,7 @@ { \iow_char:N \\ \l__xparse_function_tl } { \tl_to_str:n {#1} } \__xparse_bad_def:wn } - \tl_put_right:Nn \l__xparse_arg_spec_tl { > {#1} } + \tl_put_right:Nx \l__xparse_arg_spec_tl { > { \tl_trim_spaces:n {#1} } } \int_decr:N \l__xparse_current_arg_int \bool_set_false:N \l__xparse_grab_expandably_bool \__xparse_normalize_arg_spec_loop:n {#2} diff --git a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty index ecbef06db2f..08e2163a82d 100644 --- a/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty +++ b/Master/texmf-dist/tex/latex/l3packages/xtemplate/xtemplate.sty @@ -32,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{xtemplate}{2019-05-03}{} +\ProvidesExplPackage{xtemplate}{2019-05-28}{} {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~>~ } |