diff options
Diffstat (limited to 'Master/texmf-dist/tex')
43 files changed, 782 insertions, 497 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty index 87c8790e3d3..ce3c1e0bd07 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty @@ -6,7 +6,7 @@ %% %% l3benchmark.dtx (with options: `package') %% -%% Copyright (C) 2018 The LaTeX3 Project +%% Copyright (C) 2018,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 @@ -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: l3benchmark.dtx Copyright (C) 2011,2012,2014-2018 The LaTeX3 Project +%% File: l3benchmark.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3benchmark}{2018-11-19}{} +\ProvidesExplPackage{l3benchmark}{2019-01-28}{} {L3 Experimental benchmarking} \sys_if_engine_luatex:TF { diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty index b94484a9d1a..246a3d4f508 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty @@ -6,7 +6,7 @@ %% %% l3cctab.dtx (with options: `package') %% -%% Copyright (C) 2018 The LaTeX3 Project +%% Copyright (C) 2018,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 @@ -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: l3cctab.dtx Copyright (C) 2018 The LaTeX3 Project +%% File: l3cctab.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3cctab}{2018-11-19}{} +\ProvidesExplPackage{l3cctab}{2019-01-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 5caa1a16b60..ed1644c6a95 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty @@ -6,7 +6,7 @@ %% %% l3color.dtx (with options: `package') %% -%% Copyright (C) 2017-2018 The LaTeX3 Project +%% Copyright (C) 2017-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 @@ -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: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project +%% File: l3color.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3color}{2018-11-19}{} +\ProvidesExplPackage{l3color}{2019-01-28}{} {L3 Experimental color support} \tl_new:N \l__color_tmp_tl \prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty index 7568542ba7c..484f1ac6dc6 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty @@ -13,7 +13,7 @@ %% l3draw-state.dtx (with options: `package') %% l3draw-transforms.dtx (with options: `package') %% -%% Copyright (C) 2018 The LaTeX3 Project +%% Copyright (C) 2018,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 @@ -25,12 +25,12 @@ %% This file is part of the "l3experimental bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3draw}{2018-11-19}{} +\ProvidesExplPackage{l3draw}{2019-01-28}{} {L3 Experimental core drawing support} \RequirePackage { l3color } -%% File: l3draw-boxes.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw-boxes.dtx \box_new:N \l__draw_tmp_box \cs_new_protected:Npn \draw_box_use:N #1 { @@ -90,7 +90,7 @@ { \box_ht:N \l__draw_tmp_box } \group_end: } -%% File: l3draw-paths.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw-paths.dtx \tl_new:N \l__draw_path_tmp_tl \fp_new:N \l__draw_path_tmpa_fp \fp_new:N \l__draw_path_tmpb_fp @@ -703,7 +703,7 @@ \dim_gset_eq:NN \g__draw_path_lasty_dim \l__draw_path_lasty_dim \group_end: } -%% File: l3draw-points.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw-points.dtx \cs_new:Npn \__draw_point_process:nn #1#2 { \__draw_point_process_auxi:fn @@ -1088,7 +1088,7 @@ } { \__draw_point_to_dim:n { (#1, #2) } } } -%% File: l3draw-scopes.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw-scopes.dtx \dim_new:N \g__draw_xmax_dim \dim_new:N \g__draw_xmin_dim \dim_new:N \g__draw_ymax_dim @@ -1199,7 +1199,7 @@ \draw_path_scope_end: \__draw_scope_bb_end: } -%% File: l3draw-softpath.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw-softpath.dtx \tl_new:N \g__draw_softpath_main_tl \tl_new:N \l__draw_softpath_internal_tl \bool_new:N \g__draw_softpath_corners_bool @@ -1523,7 +1523,7 @@ \tl_build_gclear:N \g__draw_softpath_main_tl \__draw_softpath_add:o \l__draw_softpath_main_tl } -%% File: l3draw-state.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw-state.dtx \dim_new:N \g__draw_linewidth_dim \dim_new:N \l_draw_default_linewidth_dim \dim_set:Nn \l_draw_default_linewidth_dim { 0.4pt } @@ -1581,7 +1581,7 @@ { \use:c { driver_draw_color_ #1 _rgb:nnn } {#2} {#3} {#4} } \cs_new_protected:Npn \__draw_color_spot:nw #1#2 ~ #3 \q_stop { \use:c { driver_draw_color_ #1 _spot:nn } {#2} {#3} } -%% File: l3draw-transforms.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3draw-transforms.dtx \bool_new:N \l__draw_matrix_active_bool \fp_new:N \l__draw_matrix_a_fp \fp_new:N \l__draw_matrix_b_fp 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 bba4a7b3ffa..aee9f535e4d 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `package') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \RequirePackage{expl3} -\ProvidesExplPackage{l3str-convert}{2018-11-19}{} +\ProvidesExplPackage{l3str-convert}{2019-01-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 844fb028955..7d880561227 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88591') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 81b47155a32..7f838672207 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso885910') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 68b46305ae7..6b271131cc1 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso885911') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 9dc2da1d44a..4f95aec07a7 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso885913') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 5f4000f9d43..7925d571336 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso885914') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 d903dd492d8..da46de43466 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso885915') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 094b24b1aac..b0083c8050c 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso885916') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 a5f331647aa..42519770cce 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88592') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 2fa465e0b21..7d5d80d61cc 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88593') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 9b75283b92a..10491b14483 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88594') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 6576297ed22..1166a482191 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88595') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 fcfd76af39e..92438f3aea6 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88596') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 b555c1cba02..2c0c5e7760e 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88597') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 f6f79b7e4a3..50615dfc038 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88598') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 85cb0026d4b..3d421b2a6c9 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `iso88599') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \__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 a6d0b4297cd..2ae9485ab91 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `utf16') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \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 ee3840d6686..76ded8b28d6 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `utf32') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \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 ac07909cf81..10b3902661a 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `utf8') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \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 5d8c5972cd5..e4cb1e9a2c6 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `hex') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \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 625bcdc4feb..926b3ef9e75 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `name') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \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 d5397540d78..68c16ea5db7 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `string') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \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 94db0c22f09..ebc2dc2548a 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 @@ -6,7 +6,7 @@ %% %% l3str-convert.dtx (with options: `url') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-2018 The LaTeX3 Project +%% File: l3str-convert.dtx Copyright (C) 2013-2019 The LaTeX3 Project \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 83aff2b089a..be29201b572 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty @@ -6,7 +6,7 @@ %% %% l3str-format.dtx (with options: `package') %% -%% Copyright (C) 2011-2017 The LaTeX3 Project +%% Copyright (C) 2011-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 @@ -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-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project +%% File: l3str-format.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3str-format}{2018-11-19}{} +\ProvidesExplPackage{l3str-format}{2019-01-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 87b1b13a41c..6839781c44f 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 @@ -6,7 +6,7 @@ %% %% l3sys-shell.dtx (with options: `package') %% -%% Copyright (C) 2018 The LaTeX3 Project +%% Copyright (C) 2018,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 @@ -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: l3sys-shell.dtx Copyright(C) 2018 The LaTeX3 Project +%% File: l3sys-shell.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3sys-shell}{2018-11-19}{} +\ProvidesExplPackage{l3sys-shell}{2019-01-28}{} {L3 Experimental system shell functions} \cs_new:Npn \__sys_path_to_win:n #1 { @@ -134,7 +134,11 @@ { \sys_if_shell_unrestricted:T { - \exp_not:N \tl_set_from_shell:Nnn \exp_not:N \l__sys_tmp_tl + \exp_not:N \sys_shell_get:nnN + { + \sys_if_platform_unix:T { pwd } + \sys_if_platform_windows:T { cd } + } { \char_set_catcode_other:N \exp_not:N \\ \char_set_catcode_other:N \exp_not:N \# @@ -142,10 +146,7 @@ \char_set_catcode_other:N \exp_not:N \% \char_set_catcode_space:N \exp_not:N \ % } - { - \sys_if_platform_unix:T { pwd } - \sys_if_platform_windows:T { cd } - } + \exp_not:N \l__sys_tmp_tl \str_set:NV #1 \exp_not:N \l__sys_tmp_tl } } @@ -153,7 +154,11 @@ { \sys_if_shell_unrestricted:T { - \exp_not:N \tl_set_from_shell:Nnn \exp_not:N \l__sys_tmp_tl + \exp_not:N \sys_shell_get:nnN + { + \sys_if_platform_unix:T { ls~-1~ #1 } + \sys_if_platform_windows:T { dir~/b~ #1 } + } { \ExplSyntaxOff \char_set_catcode_other:N \exp_not:N \\ @@ -162,10 +167,7 @@ \char_set_catcode_other:N \exp_not:N \% \char_set_catcode_other:n { 13 } } - { - \sys_if_platform_unix:T { ls~-1~ #1 } - \sys_if_platform_windows:T { dir~/b~ #1 } - } + \exp_not:N \l__sys_tmp_tl \str_set:NV \exp_not:N \l__sys_tmp_tl \exp_not:N \l__sys_tmp_tl \seq_set_split:NnV #2 { \char_generate:nn { `\^^M } { 12 } } \exp_not:N \l__sys_tmp_tl diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty index dc2c8b88d66..c496c5c7f82 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty @@ -6,7 +6,7 @@ %% %% xcoffins.dtx (with options: `package') %% -%% Copyright (C) 2010-2017 The LaTeX3 Project +%% Copyright (C) 2010-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 @@ -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: xcoffins.dtx Copyright(C) 2010-2012,2014,2016-2018 The LaTeX3 Project +%% File: xcoffins.dtx \RequirePackage{xparse} -\ProvidesExplPackage{xcoffins}{2018-11-19}{} +\ProvidesExplPackage{xcoffins}{2019-01-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 cc75515bc8f..1e696d7690f 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -6,7 +6,7 @@ %% %% l3galley.dtx (with options: `package') %% -%% Copyright (C) 2010-2017 The LaTeX3 Project +%% Copyright (C) 2010-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 @@ -18,8 +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: l3galley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach -%% (C) 2010-2018 The LaTeX3 Project +%% File: l3galley.dtx \RequirePackage{expl3}[2018/02/21] \@ifpackagelater{expl3}{2018/02/21} {} @@ -33,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{l3galley}{2018-11-19}{} +\ProvidesExplPackage{l3galley}{2019-01-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 7fb3391310f..67eebe67f18 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty @@ -6,7 +6,7 @@ %% %% xgalley.dtx (with options: `package') %% -%% Copyright (C) 2010-2017 The LaTeX3 Project +%% Copyright (C) 2010-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 @@ -18,10 +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: xgalley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach -%% (C) 2010-2012,2014,2016-2018 The LaTeX3 Project +%% File: xgalley.dtx \RequirePackage{xparse} -\ProvidesExplPackage{xgalley}{2018-11-19}{} +\ProvidesExplPackage{xgalley}{2019-01-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 2345b6effe0..736147cc2ef 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex @@ -50,7 +50,7 @@ %% l3candidates.dtx (with options: `package') %% l3deprecation.dtx (with options: `package') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -62,8 +62,8 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: expl3.dtx Copyright (C) 1990-2019 The LaTeX3 Project -\def\ExplFileDate{2019-01-13}% +%% File: expl3.dtx +\def\ExplFileDate{2019-01-28}% \begingroup \def\next{\endgroup}% \expandafter\ifx\csname PackageError\endcsname\relax @@ -120,7 +120,7 @@ \ExplFileDate\space L3 programming layer (code)% }% -%% File: l3bootstrap.dtx Copyright (C) 2011-2019 The LaTeX3 project +%% File: l3bootstrap.dtx \begingroup \csname protected\endcsname\gdef\GetIdInfo {% @@ -360,7 +360,7 @@ \tex_endlinechar:D = 32 \scan_stop: \bool_set_true:N \l__kernel_expl_bool } -%% File: l3names.dtx Copyright (C) 1990-2019 The LaTeX3 project +%% File: l3names.dtx \let \tex_global:D \global \let \tex_let:D \let \begingroup @@ -2108,7 +2108,7 @@ } \__kernel_primitives: \tex_endgroup:D -%% File: l3basics.dtx Copyright (C) 1990-2019 The LaTeX3 project +%% File: l3basics.dtx \tex_let:D \if_true: \tex_iftrue:D \tex_let:D \if_false: \tex_iffalse:D \tex_let:D \or: \tex_or:D @@ -3195,7 +3195,7 @@ \cs_new_eq:NN \prg_break_point: \prg_do_nothing: \cs_new:Npn \prg_break: #1 \prg_break_point: { } \cs_new:Npn \prg_break:n #1#2 \prg_break_point: {#1} -%% File: l3expan.dtx Copyright (C) 1990-2019 The LaTeX3 project +%% File: l3expan.dtx \cs_new:Npn \__exp_arg_next:nnn #1#2#3 { #2 \::: { #3 {#1} } } \cs_new:Npn \__exp_arg_next:Nnn #1#2#3 { #2 \::: { #3 #1 } } \cs_new:Npn \::: #1 {#1} @@ -4094,7 +4094,7 @@ } } \cs_new:Npn \__cs_args_generate:n #1 { \exp_not:c { :: #1 } } -%% File: l3tl.dtx Copyright (C) 1990-2019 The LaTeX3 Project +%% File: l3tl.dtx \cs_new_protected:Npn \tl_new:N #1 { \__kernel_chk_if_free_cs:N #1 @@ -4269,109 +4269,92 @@ \cs_generate_variant:Nn \tl_gput_right:Nx { c } \tl_const:Nx \c__tl_rescan_marker_tl { : \token_to_str:N : } \cs_new_protected:Npn \tl_set_rescan:Nnn - { \__tl_set_rescan:NNnn \tl_set:Nn } + { \__tl_set_rescan:NNnn \tl_set:No } \cs_new_protected:Npn \tl_gset_rescan:Nnn - { \__tl_set_rescan:NNnn \tl_gset:Nn } -\cs_new_protected:Npn \tl_rescan:nn - { \__tl_set_rescan:NNnn \prg_do_nothing: \use:n } + { \__tl_set_rescan:NNnn \tl_gset:No } +\cs_new_protected:Npn \tl_rescan:nn #1#2 + { + \tl_set_rescan:Nnn \l__tl_internal_a_tl {#1} {#2} + \exp_after:wN \tl_clear:N \exp_after:wN \l__tl_internal_a_tl + \l__tl_internal_a_tl + } \cs_new_protected:Npn \__tl_set_rescan:NNnn #1#2#3#4 { - \tl_if_empty:nTF {#4} - { - \group_begin: - #3 - \group_end: - #1 #2 { } - } - { - \group_begin: - \exp_args:No \tex_everyeof:D - { \c__tl_rescan_marker_tl \exp_not:N } - \int_compare:nNnT \tex_endlinechar:D = { 32 } - { \int_set:Nn \tex_endlinechar:D { -1 } } - \tex_newlinechar:D \tex_endlinechar:D - #3 \scan_stop: - \exp_args:No \__tl_set_rescan:n { \tl_to_str:n {#4} } - \exp_args:NNNo - \group_end: - #1 #2 \l__tl_internal_a_tl - } + \if_false: { \fi: + \group_begin: + \int_set_eq:NN \tex_tracingnesting:D \c_zero_int + \exp_args:No \tex_everyeof:D { \c__tl_rescan_marker_tl } + \int_compare:nNnT \tex_endlinechar:D = { 32 } + { \int_set:Nn \tex_endlinechar:D { -1 } } + \int_set_eq:NN \tex_newlinechar:D \tex_endlinechar:D + #3 \scan_stop: + \exp_args:No \__tl_set_rescan:nNN { \tl_to_str:n {#4} } #1 #2 + \if_false: } \fi: } -\cs_new_protected:Npn \__tl_set_rescan_multi:n #1 +\cs_new_protected:Npn \__tl_set_rescan_multi:nNN #1#2#3 { - \tl_set:Nx \l__tl_internal_a_tl - { - \exp_after:wN \__tl_rescan:w - \exp_after:wN \prg_do_nothing: - \tex_scantokens:D {#1} - } + \exp_after:wN \__tl_rescan:NNw + \exp_after:wN #2 + \exp_after:wN #3 + \exp_after:wN \prg_do_nothing: + \tex_scantokens:D {#1} } \exp_args:Nno \use:nn - { \cs_new:Npn \__tl_rescan:w #1 } \c__tl_rescan_marker_tl - { \exp_not:o {#1} } + { \cs_new:Npn \__tl_rescan:NNw #1#2#3 } \c__tl_rescan_marker_tl + { + \group_end: + #1 #2 {#3} + } \cs_generate_variant:Nn \tl_set_rescan:Nnn { Nno , Nnx } \cs_generate_variant:Nn \tl_set_rescan:Nnn { c , cno , cnx } \cs_generate_variant:Nn \tl_gset_rescan:Nnn { Nno , Nnx } \cs_generate_variant:Nn \tl_gset_rescan:Nnn { c , cno } -\group_begin: - \tex_catcode:D `\^^@ = 12 \scan_stop: - \cs_new_protected:Npn \__tl_set_rescan:n #1 - { - \int_compare:nNnTF \tex_newlinechar:D < 0 - { \use_ii:nn } - { - \char_set_lccode:nn { 0 } { \tex_newlinechar:D } - \tex_lowercase:D { \__tl_set_rescan:NnTF ^^@ } {#1} - } - { \__tl_set_rescan_multi:n } - { \__tl_set_rescan_single:nn { ' } } - {#1} - } - \cs_new_protected:Npn \__tl_set_rescan:NnTF #1#2 - { \tl_if_in:nnTF {#2} {#1} } - \cs_new_protected:Npn \__tl_set_rescan_single:nn #1 - { - \int_compare:nNnTF - { \char_value_catcode:n { `#1 } / 3 } = 4 - { \__tl_set_rescan_single_aux:nn {#1} } - { - \int_compare:nNnTF { `#1 } < { `\~ } - { - \char_set_lccode:nn { 0 } { `#1 + 1 } - \tex_lowercase:D { \__tl_set_rescan_single:nn { ^^@ } } - } - { \__tl_set_rescan_single_aux:nn { } } - } - } - \cs_new_protected:Npn \__tl_set_rescan_single_aux:nn #1#2 - { - \int_set:Nn \tex_endlinechar:D { -1 } - \use:x - { - \exp_not:N \use:n - { - \exp_not:n { \cs_set:Npn \__tl_rescan:w ##1 } - \exp_after:wN \__tl_rescan:w - \exp_after:wN \prg_do_nothing: - \tex_scantokens:D {#1} - } - \c__tl_rescan_marker_tl - } - { \exp_not:o {##1} } - \tl_set:Nx \l__tl_internal_a_tl +\cs_new_protected:Npn \__tl_set_rescan:nNN #1 + { + \int_compare:nNnTF \tex_newlinechar:D < 0 + { \use_ii:nn } + { + \exp_args:Nnf \tl_if_in:nnTF {#1} + { \char_generate:nn { \tex_newlinechar:D } { 12 } } + } + { \__tl_set_rescan_multi:nNN } { - \int_compare:nNnT - { - \char_value_catcode:n - { \exp_last_unbraced:Nf ` { \str_head:n {#2} } ~ } - } - = { 10 } { ~ } - \exp_after:wN \__tl_rescan:w - \exp_after:wN \prg_do_nothing: - \tex_scantokens:D { #2 #1 } + \int_set:Nn \tex_endlinechar:D { -1 } + \__tl_set_rescan_single:nnNN { `' } } - } -\group_end: + {#1} + } +\cs_new_protected:Npn \__tl_set_rescan_single:nnNN #1 + { + \int_compare:nNnTF + { \char_value_catcode:n {#1} / 2 } = 6 + { + \exp_args:Nf \__tl_set_rescan_single_aux:nnNN + { \char_generate:nn {#1} { \char_value_catcode:n {#1} } } + } + { + \int_compare:nNnTF {#1} < { `\~ } + { + \exp_args:Nf \__tl_set_rescan_single:nnNN + { \int_eval:n { #1 + 1 } } + } + { \__tl_set_rescan_multi:nNN } + } + } +\cs_new_protected:Npn \__tl_set_rescan_single_aux:nnNN #1#2#3#4 + { + \exp_args:Nno \use:nn + { \cs_set:Npn \__tl_rescan:NNw ##1##2##3 #1 } + \c__tl_rescan_marker_tl + { + \group_end: + ##1 ##2 { \use_none:n ##3 } + } + \exp_after:wN \__tl_rescan:NNw + \exp_after:wN #3 + \exp_after:wN #4 + \tex_scantokens:D { #1 #2 #1 } + } \cs_new_protected:Npn \tl_replace_once:Nnn { \__tl_replace:NnNNNnn \q_mark ? \__tl_replace_wrap:w \tl_set:Nx } \cs_new_protected:Npn \tl_greplace_once:Nnn @@ -5114,7 +5097,7 @@ \tl_new:N \g_tmpb_tl \tl_new:N \l_tmpa_tl \tl_new:N \l_tmpb_tl -%% File: l3str.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3str.dtx \group_begin: \cs_set_protected:Npn \__str_tmp:n #1 { @@ -5761,7 +5744,7 @@ \cs_new:Npn \str_if_eq_x:nnF { \str_if_eq:eeF } \__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \str_if_eq:eeTF } \cs_new:Npn \str_if_eq_x:nnTF { \str_if_eq:eeTF } -%% File: l3quark.dtx Copyright (C) 1990-2019 The LaTeX3 Project +%% File: l3quark.dtx \__kernel_patch:nnNNpn { \__kernel_chk_var_scope:NN q #1 } { } \cs_new_protected:Npn \quark_new:N #1 { @@ -5879,7 +5862,7 @@ } \scan_new:N \s_stop \cs_new:Npn \use_none_delimit_by_s_stop:w #1 \s_stop { } -%% File: l3seq.dtx Copyright (C) 1990-2019 The LaTeX3 Project +%% File: l3seq.dtx \scan_new:N \s__seq \cs_new:Npn \__seq_item:n { @@ -6429,7 +6412,7 @@ \seq_new:N \l_tmpb_seq \seq_new:N \g_tmpa_seq \seq_new:N \g_tmpb_seq -%% File: l3int.dtx Copyright (C) 1990-2019 The LaTeX3 Project +%% File: l3int.dtx \cs_new_eq:NN \int_value:w \tex_number:D \cs_new_eq:NN \__int_eval:w \tex_numexpr:D \cs_new_eq:NN \__int_eval_end: \tex_relax:D @@ -7343,7 +7326,7 @@ { \exp_stop_f: } } \cs_new_eq:NN \__int_value:w \int_value:w -%% File: l3flag.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3flag.dtx \cs_new_protected:Npn \flag_new:n #1 { \cs_new:cpn { flag~#1 } ##1 ; @@ -7418,7 +7401,7 @@ \cs:w flag~#1 \exp_after:wN \cs_end: \int_value:w \flag_height:n {#1} ; } -%% File: l3prg.dtx Copyright (C) 2005-2019 The LaTeX3 Project +%% File: l3prg.dtx \cs_new_eq:NN \if_bool:N \tex_ifodd:D \cs_new_eq:NN \if_predicate:w \tex_ifodd:D \cs_new_protected:Npn \bool_new:N #1 { \cs_new_eq:NN #1 \c_false_bool } @@ -7719,7 +7702,7 @@ \cs_new:Npn \__prg_break: #1 \__prg_break_point: { } \__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \prg_break:n } \cs_new:Npn \__prg_break:n #1#2 \__prg_break_point: {#1} -%% File: l3sys.dtx Copyright (C) 2015-2019 The LaTeX3 Project +%% File: l3sys.dtx \str_const:Nx \c_sys_jobname_str { \tex_jobname:D } \int_const:Nn \c_sys_minute_int { \int_mod:nn { \tex_time:D } { 60 } } @@ -7776,9 +7759,7 @@ { \str_if_eq_p:Vn \c_sys_output_str { pdf } } \__sys_const:nn { sys_if_rand_exist } { \cs_if_exist_p:N \tex_uniformdeviate:D } -%% File: l3clist.dtx Copyright (C) 2004-2011,2019 Frank Mittelbach, -%% The LaTeX3 project -%% (C) 2012-2019 The LaTeX3 Project +%% File: l3clist.dtx \cs_new_eq:NN \c_empty_clist \c_empty_tl \tl_new:N \l__clist_internal_clist \cs_new_protected:Npn \__clist_tmp:w { } @@ -8366,7 +8347,7 @@ \clist_new:N \l_tmpb_clist \clist_new:N \g_tmpa_clist \clist_new:N \g_tmpb_clist -%% File: l3token.dtx Copyright (C) 2005-2019 The LaTeX3 Project +%% File: l3token.dtx \cs_new_protected:Npn \char_set_catcode:nn #1#2 { \tex_catcode:D \int_eval:n {#1} = \int_eval:n {#2} \exp_stop_f: } \cs_new:Npn \char_value_catcode:n #1 @@ -8572,12 +8553,7 @@ \char_set_catcode_math_toggle:n { 0 } \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } \char_set_catcode_alignment:n { 0 } - \tl_put_right:Nn \l__char_tmp_tl - { - \or: - \__kernel_exp_not:w \exp_after:wN - { \exp_after:wN ^^@ \exp_after:wN } - } + \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } \tl_put_right:Nn \l__char_tmp_tl { \or: } \char_set_catcode_parameter:n { 0 } \tl_put_right:Nn \l__char_tmp_tl { \or: ^^@ } @@ -8614,12 +8590,14 @@ \cs_new:Npn \__char_generate_aux:nnw #1#2#3 \exp_end: { #3 + \if_false: { \fi: \exp_after:wN \exp_after:wN \exp_after:wN \exp_end: \exp_after:wN \exp_after:wN \if_case:w #2 \exp_last_unbraced:Nv \exp_stop_f: { c__char_ \__char_int_to_roman:w #1 _tl } + \or: } \fi: } \fi: @@ -9054,7 +9032,7 @@ } { \scan_stop: } } -%% File: l3prop.dtx Copyright (C) 1990-2019 The LaTeX3 Project +%% File: l3prop.dtx \scan_new:N \s__prop \cs_new:Npn \__prop_pair:wn #1 \s__prop #2 { \__kernel_msg_expandable_error:nn { kernel } { misused-prop } } @@ -9367,7 +9345,7 @@ { } { } } } -%% File: l3msg.dtx Copyright (C) 2009-2019 The LaTeX3 Project +%% File: l3msg.dtx \tl_new:N \l__msg_tmp_tl \str_new:N \l__msg_name_str \str_new:N \l__msg_text_str @@ -10371,7 +10349,7 @@ } } } -%% File: l3file.dtx Copyright (C) 1990-2019 The LaTeX3 Project +%% File: l3file.dtx \tl_new:N \l__ior_internal_tl \int_const:Nn \c_term_ior { 16 } \seq_new:N \g__ior_streams_seq @@ -11035,6 +11013,44 @@ } \cs_new:Npn \__file_name_quote_aux:n #1 { \token_if_eq_charcode:NNT #1 " { + 1 } } +\tl_const:Nx \c__file_marker_tl { : \token_to_str:N : } +\cs_new_protected:Npn \file_get:nnN #1#2#3 + { + \file_get:nnNF {#1} {#2} #3 + { \__kernel_file_missing:n {#1} } + } +\prg_new_protected_conditional:Npnn \file_get:nnN #1#2#3 { T , F , TF } + { + \file_get_full_name:nN {#1} \l__file_full_name_str + \str_if_empty:NTF \l__file_full_name_str + { \prg_return_false: } + { + \exp_args:NV \__file_get_aux:nnN + \l__file_full_name_str + {#2} #3 + \prg_return_true: + } + } +\cs_new_protected:Npn \__file_get_aux:nnN #1#2#3 + { + \if_false: { \fi: + \group_begin: + \int_set_eq:NN \tex_tracingnesting:D \c_zero_int + \exp_args:No \tex_everyeof:D { \c__file_marker_tl } + #2 \scan_stop: + \exp_after:wN \__file_get_do:Nw + \exp_after:wN #3 + \exp_after:wN \prg_do_nothing: + \tex_input:D #1 \scan_stop: + \if_false: } \fi: + } +\exp_args:Nno \use:nn + { \cs_new_protected:Npn \__file_get_do:Nw #1#2 } + { \c__file_marker_tl } + { + \group_end: + \tl_set:No #1 {#2} + } \cs_new_protected:Npn \file_get_full_name:nN #1#2 { \__kernel_file_name_sanitize:nN {#1} \l__file_base_name_str @@ -11232,8 +11248,7 @@ which~will~be~wrapped~using~#1. \tl_if_empty:nF {#3} { ~ It~was~called~with~argument~'#3'. } } -%% File: l3skip.dtx Copyright (C) 2004-2011,2019 Frank Mittelbach, The LaTeX3 Project -%% (C) 2012-2019 The LaTeX3 Project +%% File: l3skip.dtx \cs_new_eq:NN \if_dim:w \tex_ifdim:D \cs_new_eq:NN \__dim_eval:w \tex_dimexpr:D \cs_new_eq:NN \__dim_eval_end: \tex_relax:D @@ -11854,7 +11869,7 @@ \muskip_new:N \l_tmpb_muskip \muskip_new:N \g_tmpa_muskip \muskip_new:N \g_tmpb_muskip -%% File: l3keys.dtx Copyright (C) 2006-2019 The LaTeX3 Project +%% File: l3keys.dtx \tl_new:N \l__keyval_key_tl \tl_new:N \l__keyval_value_tl \tl_new:N \l__keyval_sanitise_tl @@ -12803,7 +12818,7 @@ { is~undefined. } { has~the~properties: #2 . } } -%% File: l3intarray.dtx Copyright (C) 2017-2019 The LaTeX3 Project +%% File: l3intarray.dtx \cs_new_eq:NN \__intarray_entry:w \tex_fontdimen:D \cs_new_eq:NN \__intarray_count:w \tex_hyphenchar:D \int_new:N \l__intarray_loop_int @@ -13034,8 +13049,8 @@ { \intarray_gset_rand:Nnn #1 {#2} {#3} } } } -%% File: l3fp.dtx Copyright (C) 2011-2019 The LaTeX3 Project -%% File: l3fp-aux.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp.dtx +%% File: l3fp-aux.dtx \cs_new_eq:NN \__fp_int_eval:w \tex_numexpr:D \cs_new_eq:NN \__fp_int_eval_end: \scan_stop: \cs_new_eq:NN \__fp_int_to_roman:w \tex_romannumeral:D @@ -13444,7 +13459,7 @@ '\token_to_str:N \fp_to_tl:N',~or~other~ conversion~functions. } -%% File: l3fp-traps.dtx Copyright (C) 2011-2014,2016-2019 The LaTeX3 Project +%% File: l3fp-traps.dtx \flag_new:n { fp_invalid_operation } \flag_new:n { fp_division_by_zero } \flag_new:n { fp_overflow } @@ -13614,7 +13629,7 @@ { Invalid~operation~ (#1) #3 (#2) } \__kernel_msg_new:nnn { kernel } { fp-unknown-type } { Unknown~type~for~'#1' } -%% File: l3fp-round.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp-round.dtx \cs_new:Npn \__fp_parse_word_trunc:N { \__fp_parse_function:NNN \__fp_round_o:Nw \__fp_round_to_zero:NNN } \cs_new:Npn \__fp_parse_word_floor:N @@ -13893,7 +13908,7 @@ \exp_after:wN \__fp_exp_after_o:w \exp:w \exp_end_continue_f:w \__fp_sanitize:Nw #1#2; {1000}{0000}{0000}{0000}; } -%% File: l3fp-parse.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp-parse.dtx \int_const:Nn \c__fp_prec_func_int { 16 } \int_const:Nn \c__fp_prec_hatii_int { 14 } \int_const:Nn \c__fp_prec_hat_int { 13 } @@ -15225,7 +15240,7 @@ \__kernel_msg_new:nnn { kernel } { fp-robust-cmd } { Robust~command~#1 invalid~in~fp~expression! } } -%% File: l3fp-assign.dtx Copyright (C) 2011-2019 The LaTeX3 project +%% File: l3fp-assign.dtx \cs_new_protected:Npn \fp_new:N #1 { \cs_new_eq:NN #1 \c_zero_fp } \cs_generate_variant:Nn \fp_new:N {c} @@ -15283,7 +15298,7 @@ \fp_new:N \l_tmpb_fp \fp_new:N \g_tmpa_fp \fp_new:N \g_tmpb_fp -%% File: l3fp-logic.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp-logic.dtx \cs_new:Npn \__fp_parse_word_max:N { \__fp_parse_function:NNN \__fp_minmax_o:Nw 2 } \cs_new:Npn \__fp_parse_word_min:N @@ -15691,7 +15706,7 @@ \__fp_exp_after_array_f:w #3 \s__fp_stop #4 #1 } -%% File: l3fp-basics.dtx Copyright (C) 2011-2014,2016-2019 The LaTeX3 Project +%% File: l3fp-basics.dtx \cs_new:Npn \__fp_parse_word_abs:N { \__fp_parse_unary_function:NNN \__fp_set_sign_o:w 0 } \cs_new:Npn \__fp_parse_word_logb:N @@ -16512,7 +16527,7 @@ } \__fp_tmp:w + \__fp_tmp:w - -%% File: l3fp-extended.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp-extended.dtx \tl_const:Nn \c__fp_one_fixed_tl { {10000} {0000} {0000} {0000} {0000} {0000} ; } \cs_new:Npn \__fp_fixed_continue:wn #1; #2 { #2 #1; } @@ -16951,7 +16966,7 @@ \exp_after:wN \__fp_basics_pack_low:NNNNNw \int_value:w \__fp_int_eval:w 1 #3#4 + 1 ; } -%% File: l3fp-expo.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp-expo.dtx \cs_new:Npn \__fp_parse_word_exp:N { \__fp_parse_unary_function:NNN \__fp_exp_o:w ? } \cs_new:Npn \__fp_parse_word_ln:N @@ -17624,7 +17639,7 @@ 1 \fi: } -%% File: l3fp-trig.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp-trig.dtx \tl_map_inline:nn { {acos} {acsc} {asec} {asin} @@ -18500,7 +18515,7 @@ { \__fp_asin_auxi_o:NnNww #1 {#3} #4 } } } -%% File: l3fp-convert.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3fp-convert.dtx \cs_new:Npn \__fp_tuple_convert:Nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 ; { \int_case:nnF { \__fp_array_count:n {#2} } @@ -18812,7 +18827,7 @@ } \exp_not:N \__fp_array_to_clist_loop:Nw } -%% File: l3fp-random.dtx Copyright (C) 2016-2019 The LaTeX3 Project +%% File: l3fp-random.dtx \cs_new:Npn \__fp_parse_word_rand:N { \__fp_parse_function:NNN \__fp_rand_o:Nw ? } \cs_new:Npn \__fp_parse_word_randint:N @@ -19104,7 +19119,7 @@ \fi: } } -%% File: l3fparray.dtx Copyright (C) 2018-2019 The LaTeX3 Project +%% File: l3fparray.dtx \int_new:N \g__fp_array_int \int_new:N \l__fp_array_loop_int \cs_new_protected:Npn \fparray_new:Nn #1#2 @@ -19271,7 +19286,7 @@ } \cs_new:Npn \__fp_array_item_normal:w #1 #2#3#4#5 #6 ; #7 ; #8 ; #9 { #9 \s__fp \__fp_chk:w 1 #1 {#8} #7 {#2#3#4#5} {#6} ; } -%% File l3sort.dtx (C) Copyright 2012-2019 The LaTeX3 Project +%% File l3sort.dtx \seq_new:N \g__sort_internal_seq \tl_new:N \g__sort_internal_tl \int_new:N \l__sort_length_int @@ -19687,7 +19702,7 @@ \iow_char:N\\sort_return_swapped: ~multiple~times.~ Exactly~one~of~these~should~be~called. } -%% File: l3tl-analysis.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3tl-analysis.dtx \scan_new:N \s__tl \cs_new_eq:NN \l__tl_analysis_token ? \cs_new_eq:NN \l__tl_analysis_char_token ? @@ -20126,7 +20141,7 @@ { \tl_analysis_show:n } \cs_new_protected:Npn \tl_show_analysis:n #1 { \tl_analysis_show:n {#1} } -%% File: l3regex.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3regex.dtx \cs_new_eq:NN \__regex_int_eval:w \tex_numexpr:D \cs_new_protected:Npn \__regex_standard_escapechar: { \int_set:Nn \tex_escapechar:D { `\\ } } @@ -23397,7 +23412,7 @@ } } { } -%% File: l3box.dtx Copyright (C) 2005-2019 The LaTeX3 Project +%% File: l3box.dtx \cs_new_eq:NN \__box_dim_eval:w \tex_dimexpr:D \__kernel_patch_args:nNNpn { @@ -23435,13 +23450,13 @@ \cs_generate_variant:Nn \box_set_eq:NN { c , Nc , cc } \cs_generate_variant:Nn \box_gset_eq:NN { c , Nc , cc } \__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { } -\cs_new_protected:Npn \box_set_eq_clear:NN #1#2 +\cs_new_protected:Npn \box_set_eq_drop:NN #1#2 { \tex_setbox:D #1 \tex_box:D #2 } \__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { } -\cs_new_protected:Npn \box_gset_eq_clear:NN #1#2 +\cs_new_protected:Npn \box_gset_eq_drop:NN #1#2 { \tex_global:D \tex_setbox:D #1 \tex_box:D #2 } -\cs_generate_variant:Nn \box_set_eq_clear:NN { c , Nc , cc } -\cs_generate_variant:Nn \box_gset_eq_clear:NN { c , Nc , cc } +\cs_generate_variant:Nn \box_set_eq_drop:NN { c , Nc , cc } +\cs_generate_variant:Nn \box_gset_eq_drop:NN { c , Nc , cc } \prg_new_eq_conditional:NNn \box_if_exist:N \cs_if_exist:N { TF , T , F , p } \prg_new_eq_conditional:NNn \box_if_exist:c \cs_if_exist:c @@ -23453,14 +23468,32 @@ \cs_generate_variant:Nn \box_dp:N { c } \cs_generate_variant:Nn \box_wd:N { c } \cs_new_protected:Npn \box_set_dp:Nn #1#2 + { + \tex_setbox:D #1 = \tex_copy:D #1 + \box_dp:N #1 \__box_dim_eval:n {#2} + } +\cs_generate_variant:Nn \box_set_dp:Nn { c } +\cs_new_protected:Npn \box_gset_dp:Nn #1#2 { \box_dp:N #1 \__box_dim_eval:n {#2} } +\cs_generate_variant:Nn \box_gset_dp:Nn { c } \cs_new_protected:Npn \box_set_ht:Nn #1#2 + { + \tex_setbox:D #1 = \tex_copy:D #1 + \box_ht:N #1 \__box_dim_eval:n {#2} + } +\cs_generate_variant:Nn \box_set_ht:Nn { c } +\cs_new_protected:Npn \box_gset_ht:Nn #1#2 { \box_ht:N #1 \__box_dim_eval:n {#2} } +\cs_generate_variant:Nn \box_gset_ht:Nn { c } \cs_new_protected:Npn \box_set_wd:Nn #1#2 - { \box_wd:N #1 \__box_dim_eval:n {#2} } -\cs_generate_variant:Nn \box_set_ht:Nn { c } -\cs_generate_variant:Nn \box_set_dp:Nn { c } + { + \tex_setbox:D #1 = \tex_copy:D #1 + \box_wd:N #1 \__box_dim_eval:n {#2} + } \cs_generate_variant:Nn \box_set_wd:Nn { c } +\cs_new_protected:Npn \box_gset_wd:Nn #1#2 + { \box_wd:N #1 \__box_dim_eval:n {#2} } +\cs_generate_variant:Nn \box_gset_wd:Nn { c } \cs_new_eq:NN \box_use_drop:N \tex_box:D \cs_new_eq:NN \box_use:N \tex_copy:D \cs_generate_variant:Nn \box_use_drop:N { c } @@ -23620,9 +23653,9 @@ \cs_new_protected:Npn \hbox_overlap_right:n #1 { \hbox_to_zero:n { #1 \tex_hss:D } } \cs_new_eq:NN \hbox_unpack:N \tex_unhcopy:D -\cs_new_eq:NN \hbox_unpack_clear:N \tex_unhbox:D +\cs_new_eq:NN \hbox_unpack_drop:N \tex_unhbox:D \cs_generate_variant:Nn \hbox_unpack:N { c } -\cs_generate_variant:Nn \hbox_unpack_clear:N { c } +\cs_generate_variant:Nn \hbox_unpack_drop:N { c } \cs_new_protected:Npn \vbox:n #1 { \tex_vbox:D { \color_group_begin: #1 \par \color_group_end: } } \cs_new_protected:Npn \vbox_top:n #1 @@ -23719,9 +23752,9 @@ \cs_generate_variant:Nn \vbox_set_to_ht:Nnw { c } \cs_generate_variant:Nn \vbox_gset_to_ht:Nnw { c } \cs_new_eq:NN \vbox_unpack:N \tex_unvcopy:D -\cs_new_eq:NN \vbox_unpack_clear:N \tex_unvbox:D +\cs_new_eq:NN \vbox_unpack_drop:N \tex_unvbox:D \cs_generate_variant:Nn \vbox_unpack:N { c } -\cs_generate_variant:Nn \vbox_unpack_clear:N { c } +\cs_generate_variant:Nn \vbox_unpack_drop:N { c } \__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { } \cs_new_protected:Npn \vbox_set_split_to_ht:NNn #1#2#3 { \tex_setbox:D #1 \tex_vsplit:D #2 to \__box_dim_eval:n {#3} } @@ -23746,8 +23779,14 @@ \dim_new:N \l__box_right_new_dim \box_new:N \l__box_internal_box \cs_new_protected:Npn \box_rotate:Nn #1#2 + { \__box_rotate:NnN #1 {#2} \hbox_set:Nn } +\cs_generate_variant:Nn \box_rotate:Nn { c } +\cs_new_protected:Npn \box_grotate:Nn #1#2 + { \__box_rotate:NnN #1 {#2} \hbox_gset:Nn } +\cs_generate_variant:Nn \box_grotate:Nn { c } +\cs_new_protected:Npn \__box_rotate:NnN #1#2#3 { - \hbox_set:Nn #1 + #3 #1 { \fp_set:Nn \l__box_angle_fp {#2} \fp_set:Nn \l__box_sin_fp { sind ( \l__box_angle_fp ) } @@ -23859,7 +23898,19 @@ \fp_new:N \l__box_scale_y_fp \cs_new_protected:Npn \box_resize_to_wd_and_ht_plus_dp:Nnn #1#2#3 { - \hbox_set:Nn #1 + \__box_resize_to_wd_and_ht_plus_dp:NnnN #1 {#2} {#3} + \hbox_set:Nn + } +\cs_generate_variant:Nn \box_resize_to_wd_and_ht_plus_dp:Nnn { c } +\cs_new_protected:Npn \box_gresize_to_wd_and_ht_plus_dp:Nnn #1#2#3 + { + \__box_resize_to_wd_and_ht_plus_dp:NnnN #1 {#2} {#3} + \hbox_gset:Nn + } +\cs_generate_variant:Nn \box_gresize_to_wd_and_ht_plus_dp:Nnn { c } +\cs_new_protected:Npn \__box_resize_to_wd_and_ht_plus_dp:NnnN #1#2#3#4 + { + #4 #1 { \__box_resize_set_corners:N #1 \fp_set:Nn \l__box_scale_x_fp @@ -23872,7 +23923,6 @@ \__box_resize:N #1 } } -\cs_generate_variant:Nn \box_resize_to_wd_and_ht_plus_dp:Nnn { c } \cs_new_protected:Npn \__box_resize_set_corners:N #1 { \dim_set:Nn \l__box_top_dim { \box_ht:N #1 } @@ -23896,8 +23946,14 @@ { \fp_to_dim:n { \fp_abs:n { #2 } * \dim_to_fp:n { #3 } } } } \cs_new_protected:Npn \box_resize_to_ht:Nn #1#2 + { \__box_resize_to_ht:NnN #1 {#2} \hbox_set:Nn } +\cs_generate_variant:Nn \box_resize_to_ht:Nn { c } +\cs_new_protected:Npn \box_gresize_to_ht:Nn #1#2 + { \__box_resize_to_ht:NnN #1 {#2} \hbox_gset:Nn } +\cs_generate_variant:Nn \box_gresize_to_ht:Nn { c } +\cs_new_protected:Npn \__box_resize_to_ht:NnN #1#2#3 { - \hbox_set:Nn #1 + #3 #1 { \__box_resize_set_corners:N #1 \fp_set:Nn \l__box_scale_y_fp @@ -23909,8 +23965,13 @@ \__box_resize:N #1 } } -\cs_generate_variant:Nn \box_resize_to_ht:Nn { c } \cs_new_protected:Npn \box_resize_to_ht_plus_dp:Nn #1#2 + { \__box_resize_to_ht_plus_dp:NnN #1 {#2} \hbox_set:Nn } +\cs_generate_variant:Nn \box_resize_to_ht_plus_dp:Nn { c } +\cs_new_protected:Npn \box_gresize_to_ht_plus_dp:Nn #1#2 + { \__box_resize_to_ht_plus_dp:NnN #1 {#2} \hbox_gset:Nn } +\cs_generate_variant:Nn \box_gresize_to_ht_plus_dp:Nn { c } +\cs_new_protected:Npn \__box_resize_to_ht_plus_dp:NnN #1#2#3 { \hbox_set:Nn #1 { @@ -23924,10 +23985,15 @@ \__box_resize:N #1 } } -\cs_generate_variant:Nn \box_resize_to_ht_plus_dp:Nn { c } \cs_new_protected:Npn \box_resize_to_wd:Nn #1#2 + { \__box_resize_to_wd:NnN #1 {#2} \hbox_set:Nn } +\cs_generate_variant:Nn \box_resize_to_wd:Nn { c } +\cs_new_protected:Npn \box_gresize_to_wd:Nn #1#2 + { \__box_resize_to_wd:NnN #1 {#2} \hbox_gset:Nn } +\cs_generate_variant:Nn \box_gresize_to_wd:Nn { c } +\cs_new_protected:Npn \__box_resize_to_wd:NnN #1#2#3 { - \hbox_set:Nn #1 + #3 #1 { \__box_resize_set_corners:N #1 \fp_set:Nn \l__box_scale_x_fp @@ -23936,10 +24002,15 @@ \__box_resize:N #1 } } -\cs_generate_variant:Nn \box_resize_to_wd:Nn { c } \cs_new_protected:Npn \box_resize_to_wd_and_ht:Nnn #1#2#3 + { \__box_resize_to_wd_and_ht:NnnN #1 {#2} {#3} \hbox_set:Nn } +\cs_generate_variant:Nn \box_resize_to_wd_and_ht:Nnn { c } +\cs_new_protected:Npn \box_gresize_to_wd_and_ht:Nnn #1#2#3 + { \__box_resize_to_wd_and_ht:NnnN #1 {#2} {#3} \hbox_gset:Nn } +\cs_generate_variant:Nn \box_gresize_to_wd_and_ht:Nnn { c } +\cs_new_protected:Npn \__box_resize_to_wd_and_ht:NnnN #1#2#3#4 { - \hbox_set:Nn #1 + #4 #1 { \__box_resize_set_corners:N #1 \fp_set:Nn \l__box_scale_x_fp @@ -23952,18 +24023,22 @@ \__box_resize:N #1 } } -\cs_generate_variant:Nn \box_resize_to_wd_and_ht:Nnn { c } \cs_new_protected:Npn \box_scale:Nnn #1#2#3 + { \__box_scale:NnnN #1 {#2} {#3} \hbox_set:Nn } +\cs_generate_variant:Nn \box_scale:Nnn { c } +\cs_new_protected:Npn \box_gscale:Nnn #1#2#3 + { \__box_scale:NnnN #1 {#2} {#3} \hbox_gset:Nn } +\cs_generate_variant:Nn \box_gscale:Nnn { c } +\cs_new_protected:Npn \__box_scale:NnnN #1#2#3#4 { - \hbox_set:Nn #1 + #4 #1 { \fp_set:Nn \l__box_scale_x_fp {#2} \fp_set:Nn \l__box_scale_y_fp {#3} - \__box_scale_aux:N #1 + \__box_scale:N #1 } } -\cs_generate_variant:Nn \box_scale:Nnn { c } -\cs_new_protected:Npn \__box_scale_aux:N #1 +\cs_new_protected:Npn \__box_scale:N #1 { \dim_set:Nn \l__box_top_dim { \box_ht:N #1 } \dim_set:Nn \l__box_bottom_dim { -\box_dp:N #1 } @@ -23978,21 +24053,33 @@ \__box_resize_common:N #1 } \cs_new_protected:Npn \box_autosize_to_wd_and_ht:Nnn #1#2#3 - { \__box_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 } } + { \__box_autosize:NnnnN #1 {#2} {#3} { \box_ht:N #1 } \hbox_set:Nn } +\cs_generate_variant:Nn \box_autosize_to_wd_and_ht:Nnn { c } +\cs_new_protected:Npn \box_gautosize_to_wd_and_ht:Nnn #1#2#3 + { \__box_autosize:NnnnN #1 {#2} {#3} { \box_ht:N #1 } \hbox_gset:Nn } \cs_generate_variant:Nn \box_autosize_to_wd_and_ht:Nnn { c } \cs_new_protected:Npn \box_autosize_to_wd_and_ht_plus_dp:Nnn #1#2#3 - { \__box_autosize:Nnnn #1 {#2} {#3} { \box_ht:N #1 + \box_dp:N #1 } } + { + \__box_autosize:NnnnN #1 {#2} {#3} { \box_ht:N #1 + \box_dp:N #1 } + \hbox_set:Nn + } \cs_generate_variant:Nn \box_autosize_to_wd_and_ht_plus_dp:Nnn { c } -\cs_new_protected:Npn \__box_autosize:Nnnn #1#2#3#4 +\cs_new_protected:Npn \box_gautosize_to_wd_and_ht_plus_dp:Nnn #1#2#3 { - \hbox_set:Nn #1 + \__box_autosize:NnnnN #1 {#2} {#3} { \box_ht:N #1 + \box_dp:N #1 } + \hbox_gset:Nn + } +\cs_generate_variant:Nn \box_gautosize_to_wd_and_ht_plus_dp:Nnn { c } +\cs_new_protected:Npn \__box_autosize:NnnnN #1#2#3#4#5 + { + #5 #1 { \fp_set:Nn \l__box_scale_x_fp { ( #2 ) / \box_wd:N #1 } \fp_set:Nn \l__box_scale_y_fp { ( #3 ) / ( #4 ) } \fp_compare:nNnTF \l__box_scale_x_fp > \l__box_scale_y_fp { \fp_set_eq:NN \l__box_scale_x_fp \l__box_scale_y_fp } { \fp_set_eq:NN \l__box_scale_y_fp \l__box_scale_x_fp } - \__box_scale_aux:N #1 + \__box_scale:N #1 } } \cs_new_protected:Npn \__box_resize_common:N #1 @@ -24032,7 +24119,23 @@ } } } -%% File: l3color-base.dtx Copyright (C) 2011,2012,2014,2016-2019 The LaTeX3 Project +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \box_set_eq_drop:N } +\cs_new_protected:Npn \box_set_eq_clear:NN #1#2 + { \tex_setbox:D #1 \tex_box:D #2 } +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \box_gset_eq_drop:N } +\cs_new_protected:Npn \box_gset_eq_clear:NN #1#2 + { \tex_global:D \tex_setbox:D #1 \tex_box:D #2 } +\cs_generate_variant:Nn \box_set_eq_clear:NN { c , Nc , cc } +\cs_generate_variant:Nn \box_gset_eq_clear:NN { c , Nc , cc } +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \hbox_unpack_drop:N } +\cs_new_protected:Npn \hbox_unpack_clear:N + { \hbox_unpack_drop:N } +\cs_generate_variant:Nn \hbox_unpack_clear:N { c } +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \vbox_unpack_drop:N } +\cs_new_protected:Npn \vbox_unpack_clear:N + { \vbox_unpack_drop:N } +\cs_generate_variant:Nn \vbox_unpack_clear:N { c } +%% File: l3color-base.dtx \cs_new_eq:NN \color_group_begin: \group_begin: \cs_new_eq:NN \color_group_end: \group_end: \cs_new_protected:Npn \color_ensure_current: @@ -24055,7 +24158,7 @@ { \driver_color_spot:nn {#1} {#2} } \tl_new:N \l__color_current_tl \tl_set:Nn \l__color_current_tl { gray~0 } -%% File: l3coffins.dtx Copyright (C) 2010-2019 The LaTeX3 Project +%% File: l3coffins.dtx \box_new:N \l__coffin_internal_box \dim_new:N \l__coffin_internal_dim \tl_new:N \l__coffin_internal_tl @@ -24094,7 +24197,7 @@ { \cs_if_exist:NTF #1 { - \cs_if_exist:cTF { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \cs_if_exist:cTF { coffin ~ \__coffin_to_value:N #1 ~ poles } { \prg_return_true: } { \prg_return_false: } } @@ -24120,15 +24223,24 @@ } } \cs_generate_variant:Nn \coffin_clear:N { c } +\cs_new_protected:Npn \coffin_gclear:N #1 + { + \__coffin_if_exist:NT #1 + { + \box_gclear:N #1 + \__coffin_greset_structure:N #1 + } + } +\cs_generate_variant:Nn \coffin_gclear:N { c } \cs_new_protected:Npn \coffin_new:N #1 { \box_new:N #1 \debug_suspend: - \prop_clear_new:c { l__coffin_corners_ \__coffin_to_value:N #1 _prop } - \prop_clear_new:c { l__coffin_poles_ \__coffin_to_value:N #1 _prop } - \prop_gset_eq:cN { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \prop_gclear_new:c { coffin ~ \__coffin_to_value:N #1 ~ corners } + \prop_gclear_new:c { coffin ~ \__coffin_to_value:N #1 ~ poles } + \prop_gset_eq:cN { coffin ~ \__coffin_to_value:N #1 ~ corners } \c__coffin_corners_prop - \prop_gset_eq:cN { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_gset_eq:cN { coffin ~ \__coffin_to_value:N #1 ~ poles } \c__coffin_poles_prop \debug_resume: } @@ -24142,26 +24254,47 @@ \color_ensure_current: #2 } - \__coffin_reset_structure:N #1 - \__coffin_update_poles:N #1 - \__coffin_update_corners:N #1 + \__coffin_update:N #1 } } \cs_generate_variant:Nn \hcoffin_set:Nn { c } +\cs_new_protected:Npn \hcoffin_gset:Nn #1#2 + { + \__coffin_if_exist:NT #1 + { + \hbox_gset:Nn #1 + { + \color_ensure_current: + #2 + } + \__coffin_gupdate:N #1 + } + } +\cs_generate_variant:Nn \hcoffin_gset:Nn { c } \cs_new_protected:Npn \vcoffin_set:Nnn #1#2#3 { + \__coffin_set_vertical:NnnNN #1 {#2} {#3} + \vbox_set:Nn \__coffin_update:N + } +\cs_generate_variant:Nn \vcoffin_set:Nnn { c } +\cs_new_protected:Npn \vcoffin_gset:Nnn #1#2#3 + { + \__coffin_set_vertical:NnnNN #1 {#2} {#3} + \vbox_gset:Nn \__coffin_gupdate:N + } +\cs_generate_variant:Nn \vcoffin_gset:Nnn { c } +\cs_new_protected:Npn \__coffin_set_vertical:NnnNN #1#2#3#4#5 + { \__coffin_if_exist:NT #1 { - \vbox_set:Nn #1 + #4 #1 { \dim_set:Nn \tex_hsize:D {#2} \dim_set_eq:NN \linewidth \tex_hsize:D \dim_set_eq:NN \columnwidth \tex_hsize:D #3 } - \__coffin_reset_structure:N #1 - \__coffin_update_poles:N #1 - \__coffin_update_corners:N #1 + #5 #1 \vbox_set_top:Nn \l__coffin_internal_box { \vbox_unpack:N #1 } \__coffin_set_pole:Nnx #1 { T } { @@ -24176,7 +24309,6 @@ \box_clear:N \l__coffin_internal_box } } -\cs_generate_variant:Nn \vcoffin_set:Nnn { c } \cs_new_protected:Npn \hcoffin_set:Nw #1 { \__coffin_if_exist:NT #1 @@ -24185,28 +24317,52 @@ \cs_set_protected:Npn \hcoffin_set_end: { \hbox_set_end: - \__coffin_reset_structure:N #1 - \__coffin_update_poles:N #1 - \__coffin_update_corners:N #1 + \__coffin_update:N #1 } } } -\cs_new_protected:Npn \hcoffin_set_end: { } \cs_generate_variant:Nn \hcoffin_set:Nw { c } +\cs_new_protected:Npn \hcoffin_gset:Nw #1 + { + \__coffin_if_exist:NT #1 + { + \hbox_gset:Nw #1 \color_ensure_current: + \cs_set_protected:Npn \hcoffin_gset_end: + { + \hbox_gset_end: + \__coffin_gupdate:N #1 + } + } + } +\cs_generate_variant:Nn \hcoffin_gset:Nw { c } +\cs_new_protected:Npn \hcoffin_set_end: { } +\cs_new_protected:Npn \hcoffin_gset_end: { } \cs_new_protected:Npn \vcoffin_set:Nnw #1#2 { + \__coffin_set_vertical:NnNNNNw #1 {#2} \vbox_set:Nw + \vcoffin_set_end: + \vbox_set_end: \__coffin_update:N + } +\cs_generate_variant:Nn \vcoffin_set:Nnw { c } +\cs_new_protected:Npn \vcoffin_gset:Nnw #1#2 + { + \__coffin_set_vertical:NnNNNNw #1 {#2} \vbox_gset:Nw + \vcoffin_gset_end: + \vbox_gset_end: \__coffin_gupdate:N + } +\cs_generate_variant:Nn \vcoffin_gset:Nnw { c } +\cs_new_protected:Npn \__coffin_set_vertical:NnNNNNw #1#2#3#4#5#6 + { \__coffin_if_exist:NT #1 { - \vbox_set:Nw #1 + #3 #1 \dim_set:Nn \tex_hsize:D {#2} \dim_set_eq:NN \linewidth \tex_hsize:D \dim_set_eq:NN \columnwidth \tex_hsize:D - \cs_set_protected:Npn \vcoffin_set_end: + \cs_set_protected:Npn #4 { - \vbox_set_end: - \__coffin_reset_structure:N #1 - \__coffin_update_poles:N #1 - \__coffin_update_corners:N #1 + #5 + #6 #1 \vbox_set_top:Nn \l__coffin_internal_box { \vbox_unpack:N #1 } \__coffin_set_pole:Nnx #1 { T } { @@ -24223,22 +24379,38 @@ } } \cs_new_protected:Npn \vcoffin_set_end: { } -\cs_generate_variant:Nn \vcoffin_set:Nnw { c } +\cs_new_protected:Npn \vcoffin_gset_end: { } \cs_new_protected:Npn \coffin_set_eq:NN #1#2 { \__coffin_if_exist:NT #1 { \box_set_eq:NN #1 #2 - \__coffin_set_eq_structure:NN #1 #2 + \prop_set_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ corners } + { coffin ~ \__coffin_to_value:N #2 ~ corners } + \prop_set_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ poles } + { coffin ~ \__coffin_to_value:N #2 ~ poles } } } \cs_generate_variant:Nn \coffin_set_eq:NN { c , Nc , cc } +\cs_new_protected:Npn \coffin_gset_eq:NN #1#2 + { + \__coffin_if_exist:NT #1 + { + \box_gset_eq:NN #1 #2 + \prop_gset_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ corners } + { coffin ~ \__coffin_to_value:N #2 ~ corners } + \prop_gset_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ poles } + { coffin ~ \__coffin_to_value:N #2 ~ poles } + } + } +\cs_generate_variant:Nn \coffin_gset_eq:NN { c , Nc , cc } \coffin_new:N \c_empty_coffin -\tex_setbox:D \c_empty_coffin = \tex_hbox:D { } \coffin_new:N \l__coffin_aligned_coffin \coffin_new:N \l__coffin_aligned_internal_coffin \coffin_new:N \l_tmpa_coffin \coffin_new:N \l_tmpb_coffin +\coffin_new:N \g_tmpa_coffin +\coffin_new:N \g_tmpb_coffin \cs_new_eq:NN \coffin_dp:N \box_dp:N \cs_new_eq:NN \coffin_dp:c \box_dp:c \cs_new_eq:NN \coffin_ht:N \box_ht:N @@ -24248,7 +24420,7 @@ \cs_new_protected:Npn \__coffin_get_pole:NnN #1#2#3 { \prop_get:cnNF - { l__coffin_poles_ \__coffin_to_value:N #1 _prop } {#2} #3 + { coffin ~ \__coffin_to_value:N #1 ~ poles } {#2} #3 { \__kernel_msg_error:nnxx { kernel } { unknown-coffin-pole } { \exp_not:n {#2} } { \token_to_str:N #1 } @@ -24257,30 +24429,30 @@ } \cs_new_protected:Npn \__coffin_reset_structure:N #1 { - \prop_set_eq:cN { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \prop_set_eq:cN { coffin ~ \__coffin_to_value:N #1 ~ corners } \c__coffin_corners_prop - \prop_set_eq:cN { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_set_eq:cN { coffin ~ \__coffin_to_value:N #1 ~ poles } \c__coffin_poles_prop } -\cs_new_protected:Npn \__coffin_set_eq_structure:NN #1#2 +\cs_new_protected:Npn \__coffin_greset_structure:N #1 { - \prop_set_eq:cc { l__coffin_corners_ \__coffin_to_value:N #1 _prop } - { l__coffin_corners_ \__coffin_to_value:N #2 _prop } - \prop_set_eq:cc { l__coffin_poles_ \__coffin_to_value:N #1 _prop } - { l__coffin_poles_ \__coffin_to_value:N #2 _prop } - } -\cs_new_protected:Npn \__coffin_gset_eq_structure:NN #1#2 - { - \prop_gset_eq:cc { l__coffin_corners_ \__coffin_to_value:N #1 _prop } - { l__coffin_corners_ \__coffin_to_value:N #2 _prop } - \prop_gset_eq:cc { l__coffin_poles_ \__coffin_to_value:N #1 _prop } - { l__coffin_poles_ \__coffin_to_value:N #2 _prop } + \prop_gset_eq:cN { coffin ~ \__coffin_to_value:N #1 ~ corners } + \c__coffin_corners_prop + \prop_gset_eq:cN { coffin ~ \__coffin_to_value:N #1 ~ poles } + \c__coffin_poles_prop } \cs_new_protected:Npn \coffin_set_horizontal_pole:Nnn #1#2#3 + { \__coffin_set_horizontal_pole:NnnN #1 {#2} {#3} \prop_put:cnx } +\cs_generate_variant:Nn \coffin_set_horizontal_pole:Nnn { c } +\cs_new_protected:Npn \coffin_gset_horizontal_pole:Nnn #1#2#3 + { \__coffin_set_horizontal_pole:NnnN #1 {#2} {#3} \prop_gput:cnx } +\cs_generate_variant:Nn \coffin_gset_horizontal_pole:Nnn { c } +\cs_new_protected:Npn \__coffin_set_horizontal_pole:NnnN #1#2#3#4 { \__coffin_if_exist:NT #1 { - \__coffin_set_pole:Nnx #1 {#2} + #4 { coffin ~ \__coffin_to_value:N #1 ~ poles } + {#2} { { 0pt } { \dim_eval:n {#3} } { 1000pt } { 0pt } @@ -24288,10 +24460,17 @@ } } \cs_new_protected:Npn \coffin_set_vertical_pole:Nnn #1#2#3 + { \__coffin_set_vertical_pole:NnnN #1 {#2} {#3} \prop_put:cnx } +\cs_generate_variant:Nn \coffin_set_vertical_pole:Nnn { c } +\cs_new_protected:Npn \coffin_gset_vertical_pole:Nnn #1#2#3 + { \__coffin_set_vertical_pole:NnnN #1 {#2} {#3} \prop_gput:cnx } + \cs_generate_variant:Nn \coffin_gset_vertical_pole:Nnn { c } +\cs_new_protected:Npn \__coffin_set_vertical_pole:NnnN #1#2#3#4 { \__coffin_if_exist:NT #1 { - \__coffin_set_pole:Nnx #1 {#2} + #4 { coffin ~ \__coffin_to_value:N #1 ~ poles } + {#2} { { \dim_eval:n {#3} } { 0pt } { 0pt } { 1000pt } @@ -24300,63 +24479,93 @@ } \cs_new_protected:Npn \__coffin_set_pole:Nnn #1#2#3 { - \prop_put:cnn { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_put:cnn { coffin ~ \__coffin_to_value:N #1 ~ poles } {#2} {#3} } -\cs_generate_variant:Nn \coffin_set_horizontal_pole:Nnn { c } -\cs_generate_variant:Nn \coffin_set_vertical_pole:Nnn { c } \cs_generate_variant:Nn \__coffin_set_pole:Nnn { Nnx } +\cs_new_protected:Npn \__coffin_update:N #1 + { + \__coffin_reset_structure:N #1 + \__coffin_update_corners:N #1 + \__coffin_update_poles:N #1 + } +\cs_new_protected:Npn \__coffin_gupdate:N #1 + { + \__coffin_greset_structure:N #1 + \__coffin_gupdate_corners:N #1 + \__coffin_gupdate_poles:N #1 + } \cs_new_protected:Npn \__coffin_update_corners:N #1 + { \__coffin_update_corners:NN #1 \prop_put:Nnx } +\cs_new_protected:Npn \__coffin_gupdate_corners:N #1 + { \__coffin_update_corners:NN #1 \prop_gput:Nnx } +\cs_new_protected:Npn \__coffin_update_corners:NN #1#2 + { + \exp_args:Nc \__coffin_update_corners:NNN + { coffin ~ \__coffin_to_value:N #1 ~ corners } + #1 #2 + } +\cs_new_protected:Npn \__coffin_update_corners:NNN #1#2#3 { - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + #3 #1 { tl } - { { 0pt } { \dim_eval:n { \box_ht:N #1 } } } - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + { { 0pt } { \dim_eval:n { \box_ht:N #2 } } } + #3 #1 { tr } { - { \dim_eval:n { \box_wd:N #1 } } - { \dim_eval:n { \box_ht:N #1 } } + { \dim_eval:n { \box_wd:N #2 } } + { \dim_eval:n { \box_ht:N #2 } } } - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + #3 #1 { bl } - { { 0pt } { \dim_eval:n { -\box_dp:N #1 } } } - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + { { 0pt } { \dim_eval:n { -\box_dp:N #2 } } } + #3 #1 { br } { - { \dim_eval:n { \box_wd:N #1 } } - { \dim_eval:n { -\box_dp:N #1 } } + { \dim_eval:n { \box_wd:N #2 } } + { \dim_eval:n { -\box_dp:N #2 } } } } \cs_new_protected:Npn \__coffin_update_poles:N #1 + { \__coffin_update_poles:NN #1 \prop_put:Nnx } +\cs_new_protected:Npn \__coffin_gupdate_poles:N #1 + { \__coffin_update_poles:NN #1 \prop_gput:Nnx } +\cs_new_protected:Npn \__coffin_update_poles:NN #1#2 { - \prop_put:cnx { l__coffin_poles_ \__coffin_to_value:N #1 _prop } { hc } + \exp_args:Nc \__coffin_update_poles:NNN + { coffin ~ \__coffin_to_value:N #1 ~ poles } + #1 #2 + } +\cs_new_protected:Npn \__coffin_update_poles:NNN #1#2#3 + { + #3 #1 { hc } { - { \dim_eval:n { 0.5 \box_wd:N #1 } } + { \dim_eval:n { 0.5 \box_wd:N #2 } } { 0pt } { 0pt } { 1000pt } } - \prop_put:cnx { l__coffin_poles_ \__coffin_to_value:N #1 _prop } { r } + #3 #1 { r } { - { \dim_eval:n { \box_wd:N #1 } } + { \dim_eval:n { \box_wd:N #2 } } { 0pt } { 0pt } { 1000pt } } - \prop_put:cnx { l__coffin_poles_ \__coffin_to_value:N #1 _prop } { vc } + #3 #1 { vc } { { 0pt } - { \dim_eval:n { ( \box_ht:N #1 - \box_dp:N #1 ) / 2 } } + { \dim_eval:n { ( \box_ht:N #2 - \box_dp:N #2 ) / 2 } } { 1000pt } { 0pt } } - \prop_put:cnx { l__coffin_poles_ \__coffin_to_value:N #1 _prop } { t } + #3 #1 { t } { { 0pt } - { \dim_eval:n { \box_ht:N #1 } } + { \dim_eval:n { \box_ht:N #2 } } { 1000pt } { 0pt } } - \prop_put:cnx { l__coffin_poles_ \__coffin_to_value:N #1 _prop } { b } + #3 #1 { b } { { 0pt } - { \dim_eval:n { -\box_dp:N #1 } } + { \dim_eval:n { -\box_dp:N #2 } } { 1000pt } { 0pt } } @@ -24475,6 +24684,18 @@ } \cs_new_protected:Npn \coffin_join:NnnNnnnn #1#2#3#4#5#6#7#8 { + \__coffin_join:NnnNnnnnN #1 {#2} {#3} #4 {#5} {#6} {#7} {#8} + \coffin_set_eq:NN + } +\cs_generate_variant:Nn \coffin_join:NnnNnnnn { c , Nnnc , cnnc } +\cs_new_protected:Npn \coffin_gjoin:NnnNnnnn #1#2#3#4#5#6#7#8 + { + \__coffin_join:NnnNnnnnN #1 {#2} {#3} #4 {#5} {#6} {#7} {#8} + \coffin_gset_eq:NN + } +\cs_generate_variant:Nn \coffin_gjoin:NnnNnnnn { c , Nnnc , cnnc } +\cs_new_protected:Npn \__coffin_join:NnnNnnnnN #1#2#3#4#5#6#7#8#9 + { \__coffin_align:NnnNnnnnN #1 {#2} {#3} #4 {#5} {#6} {#7} {#8} \l__coffin_aligned_coffin \hbox_set:Nn \l__coffin_aligned_coffin @@ -24490,9 +24711,8 @@ \__coffin_reset_structure:N \l__coffin_aligned_coffin \prop_clear:c { - l__coffin_corners_ - \__coffin_to_value:N \l__coffin_aligned_coffin - _prop + coffin ~ \__coffin_to_value:N \l__coffin_aligned_coffin + \c_space_tl corners } \__coffin_update_poles:N \l__coffin_aligned_coffin \dim_compare:nNnTF \l__coffin_offset_x_dim < \c_zero_dim @@ -24511,11 +24731,22 @@ { \l__coffin_offset_x_dim } { \l__coffin_offset_y_dim } } \__coffin_update_vertical_poles:NNN #1 #4 \l__coffin_aligned_coffin - \coffin_set_eq:NN #1 \l__coffin_aligned_coffin + #9 #1 \l__coffin_aligned_coffin } -\cs_generate_variant:Nn \coffin_join:NnnNnnnn { c , Nnnc , cnnc } \cs_new_protected:Npn \coffin_attach:NnnNnnnn #1#2#3#4#5#6#7#8 { + \__coffin_attach:NnnNnnnnN #1 {#2} {#3} #4 {#5} {#6} {#7} {#8} + \coffin_set_eq:NN + } +\cs_generate_variant:Nn \coffin_attach:NnnNnnnn { c , Nnnc , cnnc } +\cs_new_protected:Npn \coffin_gattach:NnnNnnnn #1#2#3#4#5#6#7#8 + { + \__coffin_gattach:NnnNnnnnN #1 {#2} {#3} #4 {#5} {#6} {#7} {#8} + \coffin_gset_eq:NN + } +\cs_generate_variant:Nn \coffin_gattach:NnnNnnnn { c , Nnnc , cnnc } +\cs_new_protected:Npn \__coffin_attach:NnnNnnnnN #1#2#3#4#5#6#7#8#9 + { \__coffin_align:NnnNnnnnN #1 {#2} {#3} #4 {#5} {#6} {#7} {#8} \l__coffin_aligned_coffin \box_set_ht:Nn \l__coffin_aligned_coffin { \box_ht:N #1 } @@ -24524,10 +24755,10 @@ \__coffin_reset_structure:N \l__coffin_aligned_coffin \prop_set_eq:cc { - l__coffin_corners_ - \__coffin_to_value:N \l__coffin_aligned_coffin _prop + coffin ~ \__coffin_to_value:N \l__coffin_aligned_coffin + \c_space_tl corners } - { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + { coffin ~ \__coffin_to_value:N #1 ~ corners } \__coffin_update_poles:N \l__coffin_aligned_coffin \__coffin_offset_poles:Nnn #1 { 0pt } { 0pt } \__coffin_offset_poles:Nnn #4 @@ -24535,7 +24766,7 @@ \__coffin_update_vertical_poles:NNN #1 #4 \l__coffin_aligned_coffin \coffin_set_eq:NN #1 \l__coffin_aligned_coffin } -\cs_new_protected:Npn \coffin_attach_mark:NnnNnnnn #1#2#3#4#5#6#7#8 +\cs_new_protected:Npn \__coffin_attach_mark:NnnNnnnn #1#2#3#4#5#6#7#8 { \__coffin_align:NnnNnnnnN #1 {#2} {#3} #4 {#5} {#6} {#7} {#8} \l__coffin_aligned_coffin @@ -24544,7 +24775,6 @@ \box_set_wd:Nn \l__coffin_aligned_coffin { \box_wd:N #1 } \box_set_eq:NN #1 \l__coffin_aligned_coffin } -\cs_generate_variant:Nn \coffin_attach:NnnNnnnn { c , Nnnc , cnnc } \cs_new_protected:Npn \__coffin_align:NnnNnnnnN #1#2#3#4#5#6#7#8#9 { \__coffin_calculate_intersection:Nnn #4 {#5} {#6} @@ -24566,7 +24796,7 @@ } \cs_new_protected:Npn \__coffin_offset_poles:Nnn #1#2#3 { - \prop_map_inline:cn { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:cn { coffin ~ \__coffin_to_value:N #1 ~ poles } { \__coffin_offset_pole:Nnnnnnn #1 {##1} ##2 {#2} {#3} } } \cs_new_protected:Npn \__coffin_offset_pole:Nnnnnnn #1#2#3#4#5#6#7#8 @@ -24585,15 +24815,15 @@ } \cs_new_protected:Npn \__coffin_offset_corners:Nnn #1#2#3 { - \prop_map_inline:cn { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:cn { coffin ~ \__coffin_to_value:N #1 ~ corners } { \__coffin_offset_corner:Nnnnn #1 {##1} ##2 {#2} {#3} } } \cs_new_protected:Npn \__coffin_offset_corner:Nnnnn #1#2#3#4#5#6 { \prop_put:cnx { - l__coffin_corners_ - \__coffin_to_value:N \l__coffin_aligned_coffin _prop + coffin ~ \__coffin_to_value:N \l__coffin_aligned_coffin + \c_space_tl corners } { #1 - #2 } { @@ -24636,10 +24866,12 @@ { { 0pt } {#6} { 1000pt } { 0pt } } } } +\coffin_new:N \c__coffin_empty_coffin +\tex_setbox:D \c__coffin_empty_coffin = \tex_hbox:D { } \cs_new_protected:Npn \coffin_typeset:Nnnnn #1#2#3#4#5 { \mode_leave_vertical: - \__coffin_align:NnnNnnnnN \c_empty_coffin { H } { l } + \__coffin_align:NnnNnnnnN \c__coffin_empty_coffin { H } { l } #1 {#2} {#3} {#4} {#5} \l__coffin_aligned_coffin \box_use_drop:N \l__coffin_aligned_coffin } @@ -24698,7 +24930,7 @@ \color {#4} \rule { 1pt } { 1pt } } - \coffin_attach_mark:NnnNnnnn #1 {#2} {#3} + \__coffin_attach_mark:NnnNnnnn #1 {#2} {#3} \l__coffin_display_pole_coffin { hc } { vc } { 0pt } { 0pt } \hcoffin_set:Nn \l__coffin_display_coord_coffin { @@ -24714,7 +24946,7 @@ { #3 #2 } \l__coffin_internal_tl \quark_if_no_value:NTF \l__coffin_internal_tl { - \coffin_attach_mark:NnnNnnnn #1 {#2} {#3} + \__coffin_attach_mark:NnnNnnnn #1 {#2} {#3} \l__coffin_display_coord_coffin { l } { vc } { 1pt } { 0pt } } @@ -24730,7 +24962,7 @@ } \cs_new_protected:Npn \__coffin_mark_handle_aux:nnnnNnn #1#2#3#4#5#6#7 { - \coffin_attach_mark:NnnNnnnn #5 {#6} {#7} + \__coffin_attach_mark:NnnNnnnn #5 {#6} {#7} \l__coffin_display_coord_coffin {#1} {#2} { #3 \l__coffin_display_offset_dim } { #4 \l__coffin_display_offset_dim } @@ -24744,7 +24976,7 @@ \rule { 1pt } { 1pt } } \prop_set_eq:Nc \l__coffin_display_poles_prop - { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + { coffin ~ \__coffin_to_value:N #1 ~ poles } \__coffin_get_pole:NnN #1 { H } \l__coffin_pole_a_tl \__coffin_get_pole:NnN #1 { T } \l__coffin_pole_b_tl \tl_if_eq:NNT \l__coffin_pole_a_tl \l__coffin_pole_b_tl @@ -24855,7 +25087,7 @@ } { \prop_map_function:cN - { l__coffin_poles_ \__coffin_to_value:N #2 _prop } + { coffin ~ \__coffin_to_value:N #2 ~ poles } \msg_show_item_unbraced:nn } { } @@ -24882,7 +25114,7 @@ Size~of~coffin~#1 : #2 \\ Poles~of~coffin~#1 : #3 . } -%% File: l3luatex.dtx Copyright (C) 2010-2019 The LaTeX3 Project +%% File: l3luatex.dtx \cs_new_eq:NN \__lua_escape:n \tex_luaescapestring:D \cs_new_eq:NN \__lua_now:n \tex_directlua:D \cs_new_eq:NN \__lua_shipout:n \tex_latelua:D @@ -24931,7 +25163,7 @@ \cs_new:Npn \lua_escape_x:n #1 { \__lua_escape:n {#1} } \__kernel_patch_deprecation:nnNNpn { 2019-12-31 } { \lua_shipout_e:n } \cs_new_protected:Npn \lua_shipout_x:n #1 { \__lua_shipout:n {#1} } -%% File: l3unicode.dtx Copyright (C) 2018-2019 The LaTeX3 Project +%% File: l3unicode.dtx \ior_new:N \g__char_data_ior \bool_lazy_or:nnTF { \sys_if_engine_luatex_p: } { \sys_if_engine_xetex_p: } { @@ -25070,7 +25302,7 @@ \ior_close:N \g__char_data_ior \group_end: } -%% File: l3candidates.dtx Copyright (C) 2012-2019 The LaTeX3 Project +%% File: l3candidates.dtx \cs_new_protected:Npn \mode_leave_vertical: { \if_mode_vertical: @@ -25080,7 +25312,16 @@ \cs_new_protected:Npn \box_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 +\cs_new_protected:Npn \box_gclip:N #1 + { \hbox_gset:Nn #1 { \driver_box_use_clip:N #1 } } +\cs_generate_variant:Nn \box_gclip:N { c } +\cs_new_protected:Npn \box_set_trim:Nnnnn #1#2#3#4#5 + { \__box_set_trim:NnnnnN #1 {#2} {#3} {#4} {#5} \box_set_eq:NN } +\cs_generate_variant:Nn \box_set_trim:Nnnnn { c } +\cs_new_protected:Npn \box_gset_trim:Nnnnn #1#2#3#4#5 + { \__box_set_trim:NnnnnN #1 {#2} {#3} {#4} {#5} \box_gset_eq:NN } +\cs_generate_variant:Nn \box_gset_trim:Nnnnn { c } +\cs_new_protected:Npn \__box_set_trim:NnnnnN #1#2#3#4#5#6 { \hbox_set:Nn \l__box_internal_box { @@ -25093,7 +25334,7 @@ \hbox_set:Nn \l__box_internal_box { \box_move_down:nn \c_zero_dim - { \box_use:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } } \box_set_dp:Nn \l__box_internal_box { \box_dp:N #1 - (#3) } } @@ -25101,7 +25342,7 @@ \hbox_set:Nn \l__box_internal_box { \box_move_down:nn { (#3) - \box_dp:N #1 } - { \box_use:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } } \box_set_dp:Nn \l__box_internal_box \c_zero_dim } @@ -25110,7 +25351,7 @@ \hbox_set:Nn \l__box_internal_box { \box_move_up:nn \c_zero_dim - { \box_use:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } } \box_set_ht:Nn \l__box_internal_box { \box_ht:N \l__box_internal_box - (#5) } @@ -25119,14 +25360,19 @@ \hbox_set:Nn \l__box_internal_box { \box_move_up:nn { (#5) - \box_ht:N \l__box_internal_box } - { \box_use:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } } \box_set_ht:Nn \l__box_internal_box \c_zero_dim } - \box_set_eq:NN #1 \l__box_internal_box + #6 #1 \l__box_internal_box } -\cs_generate_variant:Nn \box_trim:Nnnnn { c } -\cs_new_protected:Npn \box_viewport:Nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \box_set_viewport:Nnnnn #1#2#3#4#5 + { \__box_set_viewport:NnnnnN #1 {#2} {#3} {#4} {#5} \box_set_eq:NN } +\cs_generate_variant:Nn \box_set_viewport:Nnnnn { c } +\cs_new_protected:Npn \box_gset_viewport:Nnnnn #1#2#3#4#5 + { \__box_set_viewport:NnnnnN #1 {#2} {#3} {#4} {#5} \box_gset_eq:NN } +\cs_generate_variant:Nn \box_gset_viewport:Nnnnn { c } +\cs_new_protected:Npn \__box_set_viewport:NnnnnN #1#2#3#4#5#6 { \hbox_set:Nn \l__box_internal_box { @@ -25139,13 +25385,13 @@ \hbox_set:Nn \l__box_internal_box { \box_move_down:nn \c_zero_dim - { \box_use:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } } \box_set_dp:Nn \l__box_internal_box { - \__box_dim_eval:n {#3} } } { \hbox_set:Nn \l__box_internal_box - { \box_move_down:nn {#3} { \box_use:N \l__box_internal_box } } + { \box_move_down:nn {#3} { \box_use_drop:N \l__box_internal_box } } \box_set_dp:Nn \l__box_internal_box \c_zero_dim } \dim_compare:nNnTF {#5} > \c_zero_dim @@ -25153,7 +25399,7 @@ \hbox_set:Nn \l__box_internal_box { \box_move_up:nn \c_zero_dim - { \box_use:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } } \box_set_ht:Nn \l__box_internal_box { @@ -25166,35 +25412,44 @@ \hbox_set:Nn \l__box_internal_box { \box_move_up:nn { - \__box_dim_eval:n {#5} } - { \box_use:N \l__box_internal_box } + { \box_use_drop:N \l__box_internal_box } } \box_set_ht:Nn \l__box_internal_box \c_zero_dim } - \box_set_eq:NN #1 \l__box_internal_box + #6 #1 \l__box_internal_box } -\cs_generate_variant:Nn \box_viewport:Nnnnn { c } \fp_new:N \l__coffin_sin_fp \fp_new:N \l__coffin_cos_fp \prop_new:N \l__coffin_bounding_prop +\prop_new:N \l__coffin_corners_prop +\prop_new:N \l__coffin_poles_prop \dim_new:N \l__coffin_bounding_shift_dim \dim_new:N \l__coffin_left_corner_dim \dim_new:N \l__coffin_right_corner_dim \dim_new:N \l__coffin_bottom_corner_dim \dim_new:N \l__coffin_top_corner_dim \cs_new_protected:Npn \coffin_rotate:Nn #1#2 + { \__coffin_rotate:NnNN #1 {#2} \box_rotate:Nn \prop_set_eq:cN } +\cs_new_protected:Npn \coffin_grotate:Nn #1#2 + { \__coffin_rotate:NnNN #1 {#2} \box_grotate:Nn \prop_gset_eq:cN } +\cs_new_protected:Npn \__coffin_rotate:NnNN #1#2#3#4 { \fp_set:Nn \l__coffin_sin_fp { sind ( #2 ) } \fp_set:Nn \l__coffin_cos_fp { cosd ( #2 ) } - \prop_map_inline:cn { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \prop_set_eq:Nc \l__coffin_corners_prop + { coffin ~ \__coffin_to_value:N #1 ~ corners } + \prop_set_eq:Nc \l__coffin_poles_prop + { coffin ~ \__coffin_to_value:N #1 ~ poles } + \prop_map_inline:Nn \l__coffin_corners_prop { \__coffin_rotate_corner:Nnnn #1 {##1} ##2 } - \prop_map_inline:cn { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:Nn \l__coffin_poles_prop { \__coffin_rotate_pole:Nnnnnn #1 {##1} ##2 } \__coffin_set_bounding:N #1 \prop_map_inline:Nn \l__coffin_bounding_prop { \__coffin_rotate_bounding:nnn {##1} ##2 } \__coffin_find_corner_maxima:N #1 \__coffin_find_bounding_shift: - \box_rotate:Nn #1 {#2} + #3 #1 {#2} \hbox_set:Nn \l__coffin_internal_box { \tex_kern:D @@ -25209,11 +25464,15 @@ \box_set_dp:Nn \l__coffin_internal_box { 0 pt } \box_set_wd:Nn \l__coffin_internal_box { \l__coffin_right_corner_dim - \l__coffin_left_corner_dim } - \hbox_set:Nn #1 { \box_use:N \l__coffin_internal_box } - \prop_map_inline:cn { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \hbox_set:Nn #1 { \box_use_drop:N \l__coffin_internal_box } + \prop_map_inline:Nn \l__coffin_corners_prop { \__coffin_shift_corner:Nnnn #1 {##1} ##2 } - \prop_map_inline:cn { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:Nn \l__coffin_poles_prop { \__coffin_shift_pole:Nnnnnn #1 {##1} ##2 } + #4 { coffin ~ \__coffin_to_value:N #1 ~ corners } + \l__coffin_corners_prop + #4 { coffin ~ \__coffin_to_value:N #1 ~ poles } + \l__coffin_poles_prop } \cs_generate_variant:Nn \coffin_rotate:Nn { c } \cs_new_protected:Npn \__coffin_set_bounding:N #1 @@ -25243,7 +25502,7 @@ \cs_new_protected:Npn \__coffin_rotate_corner:Nnnn #1#2#3#4 { \__coffin_rotate_vector:nnNN {#3} {#4} \l__coffin_x_dim \l__coffin_y_dim - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _prop } {#2} + \prop_put:Nnx \l__coffin_corners_prop {#2} { { \dim_use:N \l__coffin_x_dim } { \dim_use:N \l__coffin_y_dim } } } \cs_new_protected:Npn \__coffin_rotate_pole:Nnnnnn #1#2#3#4#5#6 @@ -25251,7 +25510,7 @@ \__coffin_rotate_vector:nnNN {#3} {#4} \l__coffin_x_dim \l__coffin_y_dim \__coffin_rotate_vector:nnNN {#5} {#6} \l__coffin_x_prime_dim \l__coffin_y_prime_dim - \__coffin_set_pole:Nnx #1 {#2} + \prop_put:Nnx \l__coffin_poles_prop {#2} { { \dim_use:N \l__coffin_x_dim } { \dim_use:N \l__coffin_y_dim } { \dim_use:N \l__coffin_x_prime_dim } @@ -25283,7 +25542,7 @@ \dim_set:Nn \l__coffin_right_corner_dim { -\c_max_dim } \dim_set:Nn \l__coffin_bottom_corner_dim { \c_max_dim } \dim_set:Nn \l__coffin_left_corner_dim { \c_max_dim } - \prop_map_inline:cn { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:Nn \l__coffin_corners_prop { \__coffin_find_corner_maxima_aux:nn ##2 } } \cs_new_protected:Npn \__coffin_find_corner_maxima_aux:nn #1#2 @@ -25310,7 +25569,7 @@ } \cs_new_protected:Npn \__coffin_shift_corner:Nnnn #1#2#3#4 { - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _ prop } {#2} + \prop_put:Nnx \l__coffin_corners_prop {#2} { { \dim_eval:n { #3 - \l__coffin_left_corner_dim } } { \dim_eval:n { #4 - \l__coffin_bottom_corner_dim } } @@ -25318,7 +25577,7 @@ } \cs_new_protected:Npn \__coffin_shift_pole:Nnnnnn #1#2#3#4#5#6 { - \prop_put:cnx { l__coffin_poles_ \__coffin_to_value:N #1 _ prop } {#2} + \prop_put:Nnx \l__coffin_poles_prop {#2} { { \dim_eval:n { #3 - \l__coffin_left_corner_dim } } { \dim_eval:n { #4 - \l__coffin_bottom_corner_dim } } @@ -25331,6 +25590,20 @@ \dim_new:N \l__coffin_scaled_width_dim \cs_new_protected:Npn \coffin_resize:Nnn #1#2#3 { + \__coffin_resize:NnnNN #1 {#2} {#3} + \box_resize_to_wd_and_ht_plus_dp:Nnn + \prop_set_eq:cN + } +\cs_generate_variant:Nn \coffin_resize:Nnn { c } +\cs_new_protected:Npn \coffin_gresize:Nnn #1#2#3 + { + \__coffin_resize:NnnNN #1 {#2} {#3} + \box_gresize_to_wd_and_ht_plus_dp:Nnn + \prop_gset_eq:cN + } +\cs_generate_variant:Nn \coffin_gresize:Nnn { c } +\cs_new_protected:Npn \__coffin_resize:NnnNN #1#2#3#4#5 + { \fp_set:Nn \l__coffin_scale_x_fp { \dim_to_fp:n {#2} / \dim_to_fp:n { \coffin_wd:N #1 } } \fp_set:Nn \l__coffin_scale_y_fp @@ -25338,41 +25611,52 @@ \dim_to_fp:n {#3} / \dim_to_fp:n { \coffin_ht:N #1 + \coffin_dp:N #1 } } - \box_resize_to_wd_and_ht_plus_dp:Nnn #1 {#2} {#3} - \__coffin_resize_common:Nnn #1 {#2} {#3} + #4 #1 {#2} {#3} + \__coffin_resize_common:NnnN #1 {#2} {#3} #5 } -\cs_generate_variant:Nn \coffin_resize:Nnn { c } -\cs_new_protected:Npn \__coffin_resize_common:Nnn #1#2#3 +\cs_new_protected:Npn \__coffin_resize_common:NnnN #1#2#3#4 { - \prop_map_inline:cn { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \prop_set_eq:Nc \l__coffin_corners_prop + { coffin ~ \__coffin_to_value:N #1 ~ corners } + \prop_set_eq:Nc \l__coffin_poles_prop + { coffin ~ \__coffin_to_value:N #1 ~ poles } + \prop_map_inline:Nn \l__coffin_corners_prop { \__coffin_scale_corner:Nnnn #1 {##1} ##2 } - \prop_map_inline:cn { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:Nn \l__coffin_poles_prop { \__coffin_scale_pole:Nnnnnn #1 {##1} ##2 } \fp_compare:nNnT \l__coffin_scale_x_fp < \c_zero_fp { - \prop_map_inline:cn - { l__coffin_corners_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:Nn \l__coffin_corners_prop { \__coffin_x_shift_corner:Nnnn #1 {##1} ##2 } - \prop_map_inline:cn - { l__coffin_poles_ \__coffin_to_value:N #1 _prop } + \prop_map_inline:Nn \l__coffin_poles_prop { \__coffin_x_shift_pole:Nnnnnn #1 {##1} ##2 } } + #4 { coffin ~ \__coffin_to_value:N #1 ~ corners } + \l__coffin_corners_prop + #4 { coffin ~ \__coffin_to_value:N #1 ~ poles } + \l__coffin_poles_prop } \cs_new_protected:Npn \coffin_scale:Nnn #1#2#3 + { \__coffin_scale:NnnNN #1 {#2} {#3} \box_scale:Nnn \prop_set_eq:cN } +\cs_generate_variant:Nn \coffin_scale:Nnn { c } +\cs_new_protected:Npn \coffin_gscale:Nnn #1#2#3 + { \__coffin_scale:NnnNN #1 {#2} {#3} \box_gscale:Nnn \prop_gset_eq:cN } +\cs_generate_variant:Nn \coffin_gscale:Nnn { c } +\cs_new_protected:Npn \__coffin_scale:NnnNN #1#2#3#4#5 { \fp_set:Nn \l__coffin_scale_x_fp {#2} \fp_set:Nn \l__coffin_scale_y_fp {#3} - \box_scale:Nnn #1 { \l__coffin_scale_x_fp } { \l__coffin_scale_y_fp } + #4 #1 { \l__coffin_scale_x_fp } { \l__coffin_scale_y_fp } \dim_set:Nn \l__coffin_internal_dim { \coffin_ht:N #1 + \coffin_dp:N #1 } \dim_set:Nn \l__coffin_scaled_total_height_dim { \fp_abs:n { \l__coffin_scale_y_fp } \l__coffin_internal_dim } \dim_set:Nn \l__coffin_scaled_width_dim { -\fp_abs:n { \l__coffin_scale_x_fp } \coffin_wd:N #1 } - \__coffin_resize_common:Nnn #1 + \__coffin_resize_common:NnnN #1 { \l__coffin_scaled_width_dim } { \l__coffin_scaled_total_height_dim } + #5 } -\cs_generate_variant:Nn \coffin_scale:Nnn { c } \cs_new_protected:Npn \__coffin_scale_vector:nnNN #1#2#3#4 { \dim_set:Nn #3 @@ -25383,13 +25667,13 @@ \cs_new_protected:Npn \__coffin_scale_corner:Nnnn #1#2#3#4 { \__coffin_scale_vector:nnNN {#3} {#4} \l__coffin_x_dim \l__coffin_y_dim - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _prop } {#2} + \prop_put:Nnx \l__coffin_corners_prop {#2} { { \dim_use:N \l__coffin_x_dim } { \dim_use:N \l__coffin_y_dim } } } \cs_new_protected:Npn \__coffin_scale_pole:Nnnnnn #1#2#3#4#5#6 { \__coffin_scale_vector:nnNN {#3} {#4} \l__coffin_x_dim \l__coffin_y_dim - \__coffin_set_pole:Nnx #1 {#2} + \prop_put:Nnx \l__coffin_poles_prop {#2} { { \dim_use:N \l__coffin_x_dim } { \dim_use:N \l__coffin_y_dim } {#5} {#6} @@ -25397,14 +25681,14 @@ } \cs_new_protected:Npn \__coffin_x_shift_corner:Nnnn #1#2#3#4 { - \prop_put:cnx { l__coffin_corners_ \__coffin_to_value:N #1 _prop } {#2} + \prop_put:Nnx \l__coffin_corners_prop {#2} { { \dim_eval:n { #3 + \box_wd:N #1 } } {#4} } } \cs_new_protected:Npn \__coffin_x_shift_pole:Nnnnnn #1#2#3#4#5#6 { - \prop_put:cnx { l__coffin_poles_ \__coffin_to_value:N #1 _prop } {#2} + \prop_put:Nnx \l__coffin_poles_prop {#2} { { \dim_eval:n { #3 + \box_wd:N #1 } } {#4} {#5} {#6} @@ -25877,6 +26161,51 @@ \tex_shellescape:D } } +\tl_new:N \l__sys_internal_tl +\tl_const:Nx \c__sys_marker_tl { : \token_to_str:N : } +\cs_new_protected:Npn \sys_shell_get:nnN #1#2#3 + { + \sys_shell_get:nnNF {#1} {#2} #3 + { \tl_clear:N #3 } + } +\prg_new_protected_conditional:Npnn \sys_shell_get:nnN #1#2#3 { T , F , TF } + { + \sys_if_shell:TF + { \exp_args:No \__sys_get:nnN { \tl_to_str:n {#1} } {#2} #3 } + { \prg_return_false: } + } +\cs_new_protected:Npn \__sys_get:nnN #1#2#3 + { + \tl_if_in:nnTF {#1} { " } + { + \__kernel_msg_error:nnx + { kernel } { quote-in-shell } {#1} + \prg_return_false: + } + { + \if_false: { \fi: + \group_begin: + \int_set_eq:NN \tex_tracingnesting:D \c_zero_int + \exp_args:No \tex_everyeof:D { \c__sys_marker_tl } + #2 \scan_stop: + \exp_after:wN \__sys_get_do:Nw + \exp_after:wN #3 + \exp_after:wN \prg_do_nothing: + \tex_input:D | "#1" \scan_stop: + \if_false: } \fi: + \prg_return_true: + } + } +\exp_args:Nno \use:nn + { \cs_new_protected:Npn \__sys_get_do:Nw #1#2 } + { \c__sys_marker_tl } + { + \group_end: + \tl_set:No #1 {#2} + } +\__kernel_msg_new:nnnn { kernel } { quote-in-shell } + { Quotes~in~shell~command~'#1'. } + { Shell~commands~cannot~contain~quotes~("). } \sys_if_engine_luatex:TF { \str_const:Nx \c_sys_platform_str @@ -25988,84 +26317,40 @@ \cs_new:Npn \__tl_act_count_space:n #1 { 1 + } \cs_new:Npn \__tl_act_count_group:nn #1 #2 { 2 + \tl_count_tokens:n {#2} + } -\cs_new_protected:Npn \tl_set_from_file:Nnn - { \__tl_set_from_file:NNnn \tl_set:Nn } -\cs_new_protected:Npn \tl_gset_from_file:Nnn - { \__tl_set_from_file:NNnn \tl_gset:Nn } -\cs_generate_variant:Nn \tl_set_from_file:Nnn { c } -\cs_generate_variant:Nn \tl_gset_from_file:Nnn { c } -\cs_new_protected:Npn \__tl_set_from_file:NNnn #1#2#3#4 +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \file_get:nnN } +\cs_new_protected:Npn \tl_set_from_file:Nnn #1#2#3 + { \file_get:nnN {#2} {#3} #1 } +\cs_generate_variant:Nn \tl_set_from_file:Nnn { c } +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \file_get:nnN } +\cs_new_protected:Npn \tl_gset_from_file:Nnn #1#2#3 { - \file_get_full_name:nN {#4} \l__tl_file_name_str - \str_if_empty:NTF \l__tl_file_name_str - { \__kernel_file_missing:n {#4} } - { - \exp_args:NV \__tl_set_from:nNNn - \l__tl_file_name_str - #1 #2 {#3} - } + \group_begin: + \file_get:nnN {#3} {#2} \l__tl_internal_a_tl + \tl_gset_eq:NN #1 \l__tl_internal_a_tl + \group_end: } -\exp_args:Nno \use:nn - { \cs_new_protected:Npn \__tl_from_file_do:w #1 } - { \c__tl_rescan_marker_tl } - { \tl_set:No \l__tl_internal_a_tl {#1} } -\cs_new_protected:Npn \__tl_set_from:nNNn #1#2#3#4 +\cs_generate_variant:Nn \tl_gset_from_file:Nnn { c } +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \file_get:nnN } +\cs_new_protected:Npn \tl_set_from_file_x:Nnn #1#2#3 { \group_begin: - \exp_args:No \tex_everyeof:D - { \c__tl_rescan_marker_tl \exp_not:N } - #4 \scan_stop: - \exp_after:wN \__tl_from_file_do:w - \exp_after:wN \prg_do_nothing: - \tex_input:D #1 \scan_stop: + \file_get:nnN {#3} {#2} \l__tl_internal_a_tl + #2 \scan_stop: + \tl_set:Nx \l__tl_internal_a_tl { \l__tl_internal_a_tl } \exp_args:NNNo \group_end: - #2 #3 \l__tl_internal_a_tl + \tl_set:Nn #1 \l__tl_internal_a_tl } -\cs_new_protected:Npn \tl_set_from_file_x:Nnn - { \__tl_set_from_file_x:NNnn \tl_set:Nn } -\cs_new_protected:Npn \tl_gset_from_file_x:Nnn - { \__tl_set_from_file_x:NNnn \tl_gset:Nn } -\cs_generate_variant:Nn \tl_set_from_file_x:Nnn { c } -\cs_generate_variant:Nn \tl_gset_from_file_x:Nnn { c } -\cs_new_protected:Npn \__tl_set_from_file_x:NNnn #1#2#3#4 +\cs_generate_variant:Nn \tl_set_from_file_x:Nnn { c } +\__kernel_patch_deprecation:nnNNpn { 2020-12-31 } { \file_get:nnN } +\cs_new_protected:Npn \tl_gset_from_file_x:Nnn #1#2#3 { - \file_get_full_name:nN {#4} \l__tl_file_name_str - \str_if_empty:NTF \l__tl_file_name_str - { \__kernel_file_missing:n {#4} } - { - \group_begin: - \tex_everyeof:D { \exp_not:N } - #3 \scan_stop: - \tl_set:Nx \l__tl_internal_a_tl - { \tex_input:D \l__tl_file_name_str \c_space_token } - \exp_args:NNNo \group_end: - #1 #2 \l__tl_internal_a_tl - } - } -\str_new:N \l__tl_file_name_str -\cs_new_protected:Npn \tl_set_from_shell:Nnn - { \__tl_set_from_shell:NNnn \tl_set:Nn } -\cs_generate_variant:Nn \tl_set_from_shell:Nnn { c } -\cs_new_protected:Npn \tl_gset_from_shell:Nnn - { \__tl_set_from_shell:NNnn \tl_gset:Nn } -\cs_generate_variant:Nn \tl_gset_from_shell:Nnn { c } -\cs_new_protected:Npn \__tl_set_from_shell:NNnn #1#2#3#4 - { - \sys_if_shell:TF - { - \tl_set:Nn \l__tl_internal_a_tl {#4} - \tl_if_in:NnTF \l__tl_internal_a_tl { " } - { - \__kernel_msg_error:nnx - { kernel } { quote-in-shell } {#4} - } - { \__tl_set_from:nNNn { | " #4 " } #1 #2 {#3} } - } - { #1 #2 { } } + \group_begin: + \file_get:nnN {#3} {#2} \l__tl_internal_a_tl + #2 \scan_stop: + \tl_gset:Nx #1 { \l__tl_internal_a_tl } + \group_end: } -\__kernel_msg_new:nnnn { kernel } { quote-in-shell } - { Quotes~in~shell~command~'#1'. } - { Shell~commands~cannot~contain~quotes~("). } +\cs_generate_variant:Nn \tl_gset_from_file_x:Nnn { c } \cs_new:Npn \char_lower_case:N #1 { \__char_change_case:nNN { lower } \char_value_lccode:n #1 } \cs_new:Npn \char_upper_case:N #1 @@ -27307,7 +27592,7 @@ \tl_put_right:Nn \l__peek_collect_tl {#1} \exp_after:wN \__peek_true_remove:w } -%% File: l3deprecation.dtx (C) Copyright 2017-2019 The LaTeX3 Project +%% File: l3deprecation.dtx \cs_new_protected:Npn \__kernel_deprecation_error:Nnn #1#2#3 { \tex_protected:D \tex_outer:D \tex_edef:D #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex index ad278a3ee5e..a261d8479a9 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex @@ -6,7 +6,7 @@ %% %% expl3.dtx (with options: `generic,loader') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,8 +18,8 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: expl3.dtx Copyright (C) 1990-2019 The LaTeX3 Project -\def\ExplFileDate{2019-01-13}% +%% File: expl3.dtx +\def\ExplFileDate{2019-01-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 ce5ca6c348f..32c32a2af07 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua @@ -18,7 +18,7 @@ -- This file is part of the "l3kernel bundle" (The Work in LPPL) -- and all files in that bundle must be distributed together. -- --- File: l3luatex.dtx Copyright (C) 2010-2019 The LaTeX3 Project +-- File: l3luatex.dtx l3kernel = l3kernel or { } local io = io local kpse = kpse diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty index bead3b912d3..e99ddd19f45 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty +++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty @@ -6,7 +6,7 @@ %% %% expl3.dtx (with options: `package,loader') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,8 +18,8 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: expl3.dtx Copyright (C) 1990-2019 The LaTeX3 Project -\def\ExplFileDate{2019-01-13}% +%% File: expl3.dtx +\def\ExplFileDate{2019-01-28}% \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 5544bd831be..cf71077feaf 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls +++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls @@ -6,7 +6,7 @@ %% %% l3doc.dtx (with options: `class') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,7 +18,7 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3doc.dtx Copyright (C) 1990-2019 The LaTeX3 project +%% File: l3doc.dtx \RequirePackage{expl3,xparse,calc} \ProvidesExplClass{l3doc}{2018-04-30}{} {L3 Experimental documentation class} @@ -1388,10 +1388,10 @@ { \llap { - \hbox_unpack_clear:N \l__codedoc_macro_index_box + \hbox_unpack_drop:N \l__codedoc_macro_index_box \vtop to \baselineskip { - \vbox_unpack_clear:N \l__codedoc_macro_box + \vbox_unpack_drop:N \l__codedoc_macro_box \vss } } @@ -1431,7 +1431,7 @@ \__codedoc_if_macro_internal:nF {#1} { \seq_gput_right:Nn \g_doc_macros_seq {#1} } \hbox_set:Nw \l__codedoc_macro_index_box - \hbox_unpack_clear:N \l__codedoc_macro_index_box + \hbox_unpack_drop:N \l__codedoc_macro_index_box \int_gincr:N \c@CodelineNo \__codedoc_special_index:nn {#1} { main } \int_gdecr:N \c@CodelineNo @@ -1443,7 +1443,7 @@ { \vbox_set:Nn \l__codedoc_macro_box { - \vbox_unpack_clear:N \l__codedoc_macro_box + \vbox_unpack_drop:N \l__codedoc_macro_box \hbox { \llap { \__codedoc_print_macroname:nN {#1} #2 \ } } } \int_incr:N \l__codedoc_macro_int diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex b/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex index 5a660691c17..a7978ddf13e 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex +++ b/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex @@ -6,7 +6,7 @@ %% %% l3docstrip.dtx (with options: `program') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,7 +18,7 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File l3dosctrip.dtx Copyright (C) 2012,2014-2019 The LaTeX3 Project +%% File l3dosctrip.dtx \input docstrip % \def\checkOption<#1{% \ifcase diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def index a29c510f511..bf2801a5f87 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def @@ -6,7 +6,7 @@ %% %% l3drivers.dtx (with options: `package,dvipdfmx') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx \ProvidesExplFile - {l3dvidpfmx.def}{2019-01-13}{} + {l3dvipdfmx.def}{2019-01-28}{} {L3 Experimental driver: dvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def index f631830e073..4a5360acf1d 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def @@ -6,7 +6,7 @@ %% %% l3drivers.dtx (with options: `package,dvips') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx \ProvidesExplFile - {l3dvips.def}{2019-01-13}{} + {l3dvips.def}{2019-01-28}{} {L3 Experimental driver: dvips} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def index 88d29744ea5..3de26c06f55 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def @@ -6,7 +6,7 @@ %% %% l3drivers.dtx (with options: `package,dvisvgm') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx \ProvidesExplFile - {l3dvisvgm.def}{2019-01-13}{} + {l3dvisvgm.def}{2019-01-28}{} {L3 Experimental driver: dvisvgm} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def index 290f78ba9d4..b450be1a246 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def @@ -6,7 +6,7 @@ %% %% l3drivers.dtx (with options: `package,pdfmode') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx \ProvidesExplFile - {l3pdfmode.def}{2019-01-13}{} + {l3pdfmode.def}{2019-01-28}{} {L3 Experimental driver: PDF mode} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def index b7638254deb..2c554d054f4 100644 --- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def +++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def @@ -6,7 +6,7 @@ %% %% l3drivers.dtx (with options: `package,xdvipdfmx') %% -%% Copyright (C) 1990-2018 The LaTeX3 Project +%% Copyright (C) 1990-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 @@ -18,9 +18,9 @@ %% This file is part of the "l3kernel bundle" (The Work in LPPL) %% and all files in that bundle must be distributed together. %% -%% File: l3drivers.dtx Copyright (C) 2011-2019 The LaTeX3 Project +%% File: l3drivers.dtx \ProvidesExplFile - {l3xdvidpfmx.def}{2019-01-13}{} + {l3xdvipdfmx.def}{2019-01-28}{} {L3 Experimental driver: xdvipdfmx} \cs_new_eq:NN \__driver_literal:e \tex_special:D \cs_new_protected:Npn \__driver_literal:n #1 |