summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty24
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty839
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex346
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3basics.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3box.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3clist.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def126
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvips.def136
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def108
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3expan.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3file.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3fp.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3int.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3keys.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3msg.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3names.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def73
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prg.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3prop.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3quark.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3seq.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3skip.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str.sty7
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3tl.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3token.sty50
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def126
59 files changed, 1154 insertions, 1703 deletions
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index 9b5e7cabac5..5d1bf6553e0 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
@@ -20,7 +20,7 @@
%%
%% File: l3color.dtx Copyright(C) 2017-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2018/02/21}{}
+\ProvidesExplPackage{l3color}{2018/03/05}{}
{L3 Experimental color support}
\tl_new:N \l__color_tmp_tl
\prg_new_conditional:Npnn \__color_if_defined:n #1 { T, F, TF }
@@ -86,6 +86,8 @@
\tl_new:N \l__color_next_value_tl
\cs_new_protected:Npn \color_parse:nN #1#2
{
+ \driver_color_pickup:N \l__color_current_tl
+ \tl_set_eq:cN { l__color_named_ . _tl } \l__color_current_tl
\group_begin:
\seq_map_inline:Nn \l_char_active_seq
{
@@ -101,6 +103,7 @@
\tl_if_exist:cTF { l__color_named_ #1 _tl }
{ \tl_set_eq:Nc #2 { l__color_named_ #1 _tl } }
{ \__color_parse:Nw #2#1 ! \q_stop }
+ \__color_check_model:N #2
}
\cs_new_protected:Npn \__color_parse:Nw #1#2 ! #3 \q_stop
{
@@ -228,17 +231,11 @@
\cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \q_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
\tl_new:N \l_color_fixed_model_tl
-\cs_new_protected:Npn \__color_select:
- {
- \__color_finalise:N \l__color_current_tl
- \tl_set_eq:cN { l__color_named_ . _tl } \l__color_current_tl
- \__color_select:V \l__color_current_tl
- }
-\cs_new_protected:Npn \__color_finalise:N #1
+\cs_new_protected:Npn \__color_check_model:N #1
{
\tl_if_empty:NF \l_color_fixed_model_tl
{
- \exp_after:wN \__color_finalise:w #1 \q_stop
+ \exp_after:wN \__color_check_model:w #1 \q_stop
\tl_if_eq:NNF \l__color_model_tl \l_color_fixed_model_tl
{
\__color_convert:VVN \l__color_model_tl \l_color_fixed_model_tl
@@ -248,11 +245,16 @@
{ \l_color_fixed_model_tl \c_space_tl \l__color_value_tl }
}
}
-\cs_new_protected:Npn \__color_finalise:w #1 ~ #2 \q_stop
+\cs_new_protected:Npn \__color_check_model:w #1 ~ #2 \q_stop
{
\tl_set:Nn \l__color_model_tl {#1}
\tl_set:Nn \l__color_value_tl {#2}
}
+\cs_new_protected:Npn \__color_select:
+ {
+ \tl_set_eq:cN { l__color_named_ . _tl } \l__color_current_tl
+ \__color_select:V \l__color_current_tl
+ }
\cs_new_protected:Npn \color_select:n #1
{
\color_parse:nN {#1} \l__color_current_tl
@@ -269,6 +271,7 @@
{
\tl_set:Nx #3
{ #1 ~ \use:c { __color_parse_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop }
+ \__color_check_model:N #3
}
{
\__kernel_msg_error:nnn { color } { invalid-model } {#1}
@@ -315,6 +318,7 @@
\color_set:nnn { green } { rgb } { 0 , 1 , 0 }
\color_set:nnn { blue } { rgb } { 0 , 0 , 1 }
\tl_new:c { l__color_named_._tl }
+\tl_set_eq:cN { l__color_named_._tl } \l__color_current_tl
\cs_new_protected:Npn \color_show:n #1
{
\msg_show:nnxxxx { LaTeX / color } { show }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index d485673b419..7375cf33197 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -5,6 +5,7 @@
%% The original source files were:
%%
%% l3draw.dtx (with options: `package')
+%% l3draw-boxes.dtx (with options: `package')
%% l3draw-paths.dtx (with options: `package')
%% l3draw-points.dtx (with options: `package')
%% l3draw-scopes.dtx (with options: `package')
@@ -26,9 +27,69 @@
%%
%% File: l3draw.dtx Copyright(C) 2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2018/02/21}{}
+\ProvidesExplPackage{l3draw}{2018/03/05}{}
{L3 Experimental core drawing support}
\RequirePackage { l3color }
+%% File: l3draw-boxes.dtx Copyright(C) 2018 The LaTeX3 Project
+\box_new:N \l__draw_tmp_box
+\cs_new_protected:Npn \draw_box_use:N #1
+ {
+ \__draw_box_use:Nnnnn #1
+ { 0pt } { -\box_dp:N #1 } { \box_wd:N #1 } { \box_ht:N #1 }
+ }
+\cs_new_protected:Npn \__draw_box_use:Nnnnn #1#2#3#4#5
+ {
+ \bool_if:NT \l_draw_bb_update_bool
+ {
+ \__draw_point_process:nn
+ { \__draw_path_update_limits:nn }
+ { \draw_point_transform:n { #2 , #3 } }
+ \__draw_point_process:nn
+ { \__draw_path_update_limits:nn }
+ { \draw_point_transform:n { #4 , #3 } }
+ \__draw_point_process:nn
+ { \__draw_path_update_limits:nn }
+ { \draw_point_transform:n { #4 , #5 } }
+ \__draw_point_process:nn
+ { \__draw_path_update_limits:nn }
+ { \draw_point_transform:n { #2 , #5 } }
+ }
+ \group_begin:
+ \hbox_set:Nn \l__draw_tmp_box
+ {
+ \use:x
+ {
+ \driver_draw_box_use:Nnnnn #1
+ { \fp_use:N \l__draw_matrix_a_fp }
+ { \fp_use:N \l__draw_matrix_b_fp }
+ { \fp_use:N \l__draw_matrix_c_fp }
+ { \fp_use:N \l__draw_matrix_d_fp }
+ }
+ }
+ \hbox_set:Nn \l__draw_tmp_box
+ {
+ \tex_kern:D \l__draw_xshift_dim
+ \box_move_up:nn { \l__draw_yshift_dim }
+ { \box_use_drop:N \l__draw_tmp_box }
+ }
+ \box_set_ht:Nn \l__draw_tmp_box { 0pt }
+ \box_set_dp:Nn \l__draw_tmp_box { 0pt }
+ \box_set_wd:Nn \l__draw_tmp_box { 0pt }
+ \box_use_drop:N \l__draw_tmp_box
+ \group_end:
+ }
+\cs_new_protected:Npn \draw_coffin_use:Nnn #1#2#3
+ {
+ \group_begin:
+ \hbox_set:Nn \l__draw_tmp_box
+ { \coffin_typeset:Nnnnn #1 {#2} {#3} { 0pt } { 0pt } }
+ \__draw_box_use:Nnnnn \l__draw_tmp_box
+ { \box_wd:N \l__draw_tmp_box - \coffin_wd:N #1 }
+ { -\box_dp:N \l__draw_tmp_box }
+ { \box_wd:N \l__draw_tmp_box }
+ { \box_ht:N \l__draw_tmp_box }
+ \group_end:
+ }
%% File: l3draw-paths.dtx Copyright(C) 2018 The LaTeX3 Project
\tl_new:N \l__draw_path_tmp_tl
\fp_new:N \l__draw_path_tmpa_fp
@@ -49,7 +110,7 @@
{ \dim_max:nn \g__draw_path_ymax_dim {#2} }
\dim_gset:Nn \g__draw_path_ymin_dim
{ \dim_min:nn \g__draw_path_ymin_dim {#2} }
- \bool_if:NT \l__draw_update_bb_bool
+ \bool_if:NT \l_draw_bb_update_bool
{
\dim_gset:Nn \g__draw_xmax_dim
{ \dim_max:nn \g__draw_xmax_dim {#1} }
@@ -76,11 +137,7 @@
\dim_new:N \l__draw_corner_xarc_dim
\dim_new:N \l__draw_corner_yarc_dim
\bool_new:N \l__draw_corner_arc_bool
-\cs_new_protected:Npn \draw_path_corner_arc:n #1
- {
- \__draw_point_process:nn { \__draw_path_corner_arc:nn } {#1}
- }
-\cs_new_protected:Npn \__draw_path_corner_arc:nn #1#2
+\cs_new_protected:Npn \draw_path_corner_arc:nn #1#2
{
\dim_set:Nn \l__draw_corner_xarc_dim {#1}
\dim_set:Nn \l__draw_corner_yarc_dim {#2}
@@ -151,6 +208,23 @@
\__draw_path_mark_corner:
\__draw_softpath_closepath:
}
+\cs_new_protected:Npn \draw_path_canvas_moveto:n #1
+ { \__draw_point_process:nn { \__draw_path_moveto:nn } {#1} }
+\cs_new_protected:Npn \draw_path_canvas_lineto:n #1
+ { \__draw_point_process:nn { \__draw_path_lineto:nn } {#1} }
+\cs_new_protected:Npn \draw_path_canvas_curveto:nnn #1#2#3
+ {
+ \__draw_point_process:nnn
+ {
+ \__draw_point_process:nn
+ {
+ \__draw_path_mark_corner:
+ \__draw_path_curveto:nnnnnn
+ }
+ {#1}
+ }
+ {#2} {#3}
+ }
\cs_new_protected:Npn \draw_path_curveto:nn #1#2
{
\__draw_point_process:nnn
@@ -413,7 +487,9 @@
{
\__draw_point_process:nnn
{
- \bool_if:NTF \l__draw_corner_arc_bool
+ \bool_lazy_or:nnTF
+ { \l__draw_corner_arc_bool }
+ { \l__draw_matrix_active_bool }
{ \__draw_path_rectangle_rounded:nnnn }
{ \__draw_path_rectangle:nnnn }
}
@@ -447,24 +523,53 @@
\cs_new_protected:Npn \draw_path_grid:nnnn #1#2#3#4
{
\__draw_point_process:nnn
- { \__draw_path_grid:nnnnnn {#1} {#2} }
+ {
+ \__draw_path_grid_auxi:ffnnnn
+ { \dim_eval:n { \dim_abs:n {#1} } }
+ { \dim_eval:n { \dim_abs:n {#2} } }
+ }
{#3} {#4}
}
-\cs_new_protected:Npn \__draw_path_grid:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \__draw_path_grid_auxi:nnnnnn #1#2#3#4#5#6
+ {
+ \dim_compare:nNnTF {#3} > {#5}
+ { \__draw_path_grid_auxii:nnnnnn {#1} {#2} {#5} {#4} {#3} {#6} }
+ { \__draw_path_grid_auxii:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} }
+ }
+\cs_generate_variant:Nn \__draw_path_grid_auxi:nnnnnn { ff }
+\cs_new_protected:Npn \__draw_path_grid_auxii:nnnnnn #1#2#3#4#5#6
+ {
+ \dim_compare:nNnTF {#4} > {#6}
+ { \__draw_path_grid_auxiii:nnnnnn {#1} {#2} {#3} {#6} {#5} {#4} }
+ { \__draw_path_grid_auxiii:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} }
+ }
+\cs_new_protected:Npn \__draw_path_grid_auxiii:nnnnnn #1#2#3#4#5#6
+ {
+ \__draw_path_grid_auxiv:ffnnnnnn
+ { \fp_to_dim:n { #1 * trunc(#3/(#1)) } }
+ { \fp_to_dim:n { #2 * trunc(#4/(#2)) } }
+ {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+\cs_new_protected:Npn \__draw_path_grid_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8
{
\dim_step_inline:nnnn
- {#3} { \dim_compare:nNnF {#3} < {#5} { - } \dim_abs:n {#1} } {#5}
+ {#1}
+ {#3}
+ {#7}
{
- \draw_path_moveto:n { ##1 , #4 }
- \draw_path_lineto:n { ##1 , #6 }
+ \draw_path_moveto:n { ##1 , #6 }
+ \draw_path_lineto:n { ##1 , #8 }
}
\dim_step_inline:nnnn
- {#4} { \dim_compare:nNnF {#4} < {#6} { - } \dim_abs:n {#2} } {#6}
+ {#2}
+ {#4}
+ {#8}
{
- \draw_path_moveto:n { #3 , ##1 }
- \draw_path_lineto:n { #5 , ##1 }
+ \draw_path_moveto:n { #5 , ##1 }
+ \draw_path_lineto:n { #7 , ##1 }
}
}
+\cs_generate_variant:Nn \__draw_path_grid_auxiv:nnnnnnnn { ff }
\bool_new:N \l__draw_path_use_clip_bool
\bool_new:N \l__draw_path_use_fill_bool
\bool_new:N \l__draw_path_use_stroke_bool
@@ -500,8 +605,9 @@
{ \ERROR }
}
}
+ \__draw_softpath_round_corners:
\bool_lazy_and:nnT
- { \l__draw_update_bb_bool }
+ { \l_draw_bb_update_bool }
{ \l__draw_path_use_stroke_bool }
{ \__draw_path_use_stroke_bb: }
\bool_if:NTF \l__draw_path_use_clear_bool
@@ -526,6 +632,11 @@
{
\bool_set_true:N \l__draw_path_use_stroke_bool
}
+\cs_new_protected:Npn \__draw_path_use_action_fillstroke:
+ {
+ \bool_set_true:N \l__draw_path_use_fill_bool
+ \bool_set_true:N \l__draw_path_use_stroke_bool
+ }
\cs_new_protected:Npn \__draw_path_use_stroke_bb:
{
\__draw_path_use_stroke_bb_aux:NnN x { max } +
@@ -548,6 +659,51 @@
}
}
}
+\dim_new:N \l__draw_path_lastx_dim
+\dim_new:N \l__draw_path_lasty_dim
+\dim_new:N \l__draw_path_xmax_dim
+\dim_new:N \l__draw_path_xmin_dim
+\dim_new:N \l__draw_path_ymax_dim
+\dim_new:N \l__draw_path_ymin_dim
+\dim_new:N \l__draw_softpath_lastx_dim
+\dim_new:N \l__draw_softpath_lasty_dim
+\bool_new:N \l__draw_softpath_corners_bool
+\cs_new_protected:Npn \draw_path_scope_begin:
+ {
+ \group_begin:
+ \dim_set_eq:NN \l__draw_path_lastx_dim \g__draw_path_lastx_dim
+ \dim_set_eq:NN \l__draw_path_lasty_dim \g__draw_path_lasty_dim
+ \dim_set_eq:NN \l__draw_path_xmax_dim \g__draw_path_xmax_dim
+ \dim_set_eq:NN \l__draw_path_xmin_dim \g__draw_path_xmin_dim
+ \dim_set_eq:NN \l__draw_path_ymax_dim \g__draw_path_ymax_dim
+ \dim_set_eq:NN \l__draw_path_ymin_dim \g__draw_path_ymin_dim
+ \dim_set_eq:NN \l__draw_softpath_lastx_dim \g__draw_softpath_lastx_dim
+ \dim_set_eq:NN \l__draw_softpath_lasty_dim \g__draw_softpath_lasty_dim
+ \__draw_path_reset_limits:
+ \__draw_softpath_concat:n { }
+ \tl_set_eq:NN \l__draw_softpath_main_tl \g__draw_softpath_main_tl
+ \bool_set_eq:NN
+ \l__draw_softpath_corners_bool
+ \g__draw_softpath_corners_bool
+ \__draw_softpath_clear:
+ }
+\cs_new_protected:Npn \draw_path_scope_end:
+ {
+ \bool_gset_eq:NN
+ \g__draw_softpath_corners_bool
+ \l__draw_softpath_corners_bool
+ \__draw_softpath_clear:
+ \tl_gset_eq:NN \g__draw_softpath_main_tl \l__draw_softpath_main_tl
+ \dim_gset_eq:NN \g__draw_softpath_lastx_dim \l__draw_softpath_lastx_dim
+ \dim_gset_eq:NN \g__draw_softpath_lasty_dim \l__draw_softpath_lasty_dim
+ \dim_gset_eq:NN \g__draw_path_xmax_dim \l__draw_path_xmax_dim
+ \dim_gset_eq:NN \g__draw_path_xmin_dim \l__draw_path_xmin_dim
+ \dim_gset_eq:NN \g__draw_path_ymax_dim \l__draw_path_ymax_dim
+ \dim_gset_eq:NN \g__draw_path_ymin_dim \l__draw_path_ymin_dim
+ \dim_gset_eq:NN \g__draw_path_lastx_dim \l__draw_path_lastx_dim
+ \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
\cs_new:Npn \__draw_point_process:nn #1#2
{
@@ -701,27 +857,22 @@
\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnnn { f }
\cs_new:Npn \draw_point_interpolate_distance:nnn #1#2#3
{
- \__draw_point_process:nnn
- { \__draw_point_interpolate_distance:nnnnn {#1} }
- {#2} {#3}
- }
-\cs_new:Npn \__draw_point_interpolate_distance:nnnnn #1#2#3#4#5
- {
- \__draw_point_interpolate_distance_aux:nnnnnnn
- { \fp_eval:n { #4 - #2 } }
- { \fp_eval:n { #5 - #3 } }
- {#2} {#3} {#4} {#5} {#1}
+ \__draw_point_process:nn
+ { \__draw_point_interpolate_distance:nnnn {#1} {#3} }
+ {#2}
}
-\cs_new:Npn \__draw_point_interpolate_distance_aux:nnnnnnn #1#2#3#4#5#6#7
+\cs_new:Npn \__draw_point_interpolate_distance:nnnn #1#2#3#4
{
- \__draw_point_interpolate_distance_aux:fnnnn
- { \fp_eval:n { (#7) / (sqrt ( #1 * #1 + #2 * #2 )) } }
- {#3} {#4} {#5} {#6}
+ \__draw_point_process:nn
+ {
+ \__draw_point_interpolate_distance:fnnnn
+ { \fp_eval:n {#1} } {#3} {#4}
+ }
+ { \draw_point_unit_vector:n { ( #2 ) - ( #3 , #4 ) } }
}
-\cs_generate_variant:Nn \__draw_point_interpolate_distance_aux:nnnnnnn { ff }
-\cs_new:Npn \__draw_point_interpolate_distance_aux:nnnnn #1#2#3#4#5
+\cs_new:Npn \__draw_point_interpolate_distance:nnnnn #1#2#3#4#5
{ \__draw_point_to_dim:n { #2 + #1 * #4 , #3 + #1 * #5 } }
-\cs_generate_variant:Nn \__draw_point_interpolate_distance_aux:nnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_distance:nnnnn { f }
\cs_new:Npn \draw_point_interpolate_arcaxes:nnnnnn #1#2#3#4#5#6
{
\__draw_point_process:nnn
@@ -897,20 +1048,20 @@
}
\cs_new:Npn \__draw_point_transform:nn #1#2
{
- \bool_if:NTF \l__draw_transformcm_active_bool
+ \bool_if:NTF \l__draw_matrix_active_bool
{
\__draw_point_to_dim:n
{
(
- \l__draw_transformcm_aa_fp * #1
- + \l__draw_transformcm_ba_fp * #2
- + \l__draw_transformcm_xshift_dim
+ \l__draw_matrix_a_fp * #1
+ + \l__draw_matrix_c_fp * #2
+ + \l__draw_xshift_dim
)
,
(
- \l__draw_transformcm_ab_fp * #1
- + \l__draw_transformcm_bb_fp * #2
- + \l__draw_transformcm_yshift_dim
+ \l__draw_matrix_b_fp * #1
+ + \l__draw_matrix_d_fp * #2
+ + \l__draw_yshift_dim
)
}
}
@@ -918,8 +1069,7 @@
\__draw_point_to_dim:n
{
(#1, #2)
- + ( \l__draw_transformcm_xshift_dim ,
- \l__draw_transformcm_yshift_dim )
+ + ( \l__draw_xshift_dim , \l__draw_yshift_dim )
}
}
}
@@ -930,18 +1080,18 @@
}
\cs_new:Npn \__draw_point_transform_noshift:nn #1#2
{
- \bool_if:NTF \l__draw_transformcm_active_bool
+ \bool_if:NTF \l__draw_matrix_active_bool
{
\__draw_point_to_dim:n
{
(
- \l__draw_transformcm_aa_fp * #1
- + \l__draw_transformcm_ba_fp * #2
+ \l__draw_matrix_a_fp * #1
+ + \l__draw_matrix_c_fp * #2
)
,
(
- \l__draw_transformcm_ab_fp * #1
- + \l__draw_transformcm_bb_fp * #2
+ \l__draw_matrix_b_fp * #1
+ + \l__draw_matrix_d_fp * #2
)
}
}
@@ -952,37 +1102,106 @@
\dim_new:N \g__draw_xmin_dim
\dim_new:N \g__draw_ymax_dim
\dim_new:N \g__draw_ymin_dim
-\bool_new:N \l__draw_update_bb_bool
+\bool_new:N \l_draw_bb_update_bool
\box_new:N \l__draw_main_box
+\int_new:N \g__draw_id_int
+\cs_new_protected:Npn \__draw_reset_bb:
+ {
+ \dim_gset:Nn \g__draw_xmax_dim { -\c_max_dim }
+ \dim_gset:Nn \g__draw_xmin_dim { \c_max_dim }
+ \dim_gset:Nn \g__draw_ymax_dim { -\c_max_dim }
+ \dim_gset:Nn \g__draw_ymin_dim { \c_max_dim }
+ }
\cs_new_protected:Npn \draw_begin:
{
- \vbox_set:Nw \l__draw_main_box
- \driver_draw_begin:
- \dim_gset:Nn \g__draw_xmax_dim { -\c_max_dim }
- \dim_gset:Nn \g__draw_xmin_dim { \c_max_dim }
- \dim_gset:Nn \g__draw_ymax_dim { -\c_max_dim }
- \dim_gset:Nn \g__draw_ymin_dim { \c_max_dim }
- \bool_set_true:N \l__draw_update_bb_bool
- \draw_transform_reset:
- \draw_linewidth:n { \l_draw_default_linewidth_dim }
+ \group_begin:
+ \int_gincr:N \g__draw_id_int
+ \hbox_set:Nw \l__draw_main_box
+ \driver_draw_begin:
+ \__draw_reset_bb:
+ \__draw_path_reset_limits:
+ \bool_set_true:N \l_draw_bb_update_bool
+ \draw_transform_matrix_reset:
+ \draw_transform_shift_reset:
+ \__draw_softpath_clear:
+ \draw_linewidth:n { \l_draw_default_linewidth_dim }
+ \draw_color:n { . }
}
\cs_new_protected:Npn \draw_end:
{
- \driver_draw_end:
- \vbox_set_end:
- \hbox_set:Nn \l__draw_main_box
- {
- \skip_horizontal:n { -\g__draw_xmin_dim }
- \box_move_down:nn { \g__draw_ymin_dim }
- { \box_use_drop:N \l__draw_main_box }
- }
- \box_set_ht:Nn \l__draw_main_box
- { \g__draw_ymax_dim - \g__draw_ymin_dim }
- \box_set_dp:Nn \l__draw_main_box { 0pt }
- \box_set_wd:Nn \l__draw_main_box
- { \g__draw_xmax_dim - \g__draw_xmin_dim }
- \mode_leave_vertical:
- \box_use_drop:N \l__draw_main_box
+ \driver_draw_end:
+ \hbox_set_end:
+ \dim_compare:nNnT \g__draw_xmin_dim = \c_max_dim
+ {
+ \dim_gzero:N \g__draw_xmax_dim
+ \dim_gzero:N \g__draw_xmin_dim
+ \dim_gzero:N \g__draw_ymax_dim
+ \dim_gzero:N \g__draw_ymin_dim
+ }
+ \hbox_set:Nn \l__draw_main_box
+ {
+ \skip_horizontal:n { -\g__draw_xmin_dim }
+ \box_move_down:nn { \g__draw_ymin_dim }
+ { \box_use_drop:N \l__draw_main_box }
+ }
+ \box_set_ht:Nn \l__draw_main_box
+ { \g__draw_ymax_dim - \g__draw_ymin_dim }
+ \box_set_dp:Nn \l__draw_main_box { 0pt }
+ \box_set_wd:Nn \l__draw_main_box
+ { \g__draw_xmax_dim - \g__draw_xmin_dim }
+ \mode_leave_vertical:
+ \box_use_drop:N \l__draw_main_box
+ \group_end:
+ }
+\dim_new:N \l__draw_linewidth_dim
+\tl_new:N \l__draw_fill_color_tl
+\tl_new:N \l__draw_stroke_color_tl
+\cs_new_protected:Npn \draw_scope_begin:
+ {
+ \driver_draw_scope_begin:
+ \group_begin:
+ \dim_set_eq:NN \l__draw_linewidth_dim \g__draw_linewidth_dim
+ \draw_path_scope_begin:
+ }
+\cs_new_protected:Npn \draw_scope_end:
+ {
+ \draw_path_scope_end:
+ \dim_gset_eq:NN \g__draw_linewidth_dim \l__draw_linewidth_dim
+ \group_end:
+ \driver_draw_scope_end:
+ }
+\dim_new:N \l__draw_xmax_dim
+\dim_new:N \l__draw_xmin_dim
+\dim_new:N \l__draw_ymax_dim
+\dim_new:N \l__draw_ymin_dim
+\cs_new_protected:Npn \__draw_scope_bb_begin:
+ {
+ \group_begin:
+ \dim_set_eq:NN \l__draw_xmax_dim \g__draw_xmax_dim
+ \dim_set_eq:NN \l__draw_xmin_dim \g__draw_xmin_dim
+ \dim_set_eq:NN \l__draw_ymax_dim \g__draw_ymax_dim
+ \dim_set_eq:NN \l__draw_ymin_dim \g__draw_ymin_dim
+ \__draw_reset_bb:
+ }
+\cs_new_protected:Npn \__draw_scope_bb_end:
+ {
+ \dim_gset_eq:NN \g__draw_xmax_dim \l__draw_xmax_dim
+ \dim_gset_eq:NN \g__draw_xmin_dim \l__draw_xmin_dim
+ \dim_gset_eq:NN \g__draw_ymax_dim \l__draw_ymax_dim
+ \dim_gset_eq:NN \g__draw_ymin_dim \l__draw_ymin_dim
+ \group_end:
+ }
+\cs_new_protected:Npn \draw_suspend_begin:
+ {
+ \__draw_scope_bb_begin:
+ \draw_path_scope_begin:
+ \draw_transform_matrix_reset:
+ \draw_transform_shift_reset:
+ }
+\cs_new_protected:Npn \draw_suspend_end:
+ {
+ \draw_path_scope_end:
+ \__draw_scope_bb_end:
}
%% File: l3draw-softpath.dtx Copyright(C) 2018 The LaTeX3 Project
\tl_new:N \g__draw_softpath_main_tl
@@ -990,6 +1209,7 @@
\tl_new:N \g__draw_softpath_buffer_b_tl
\int_new:N \g__draw_softpath_buffer_a_int
\int_new:N \g__draw_softpath_buffer_b_int
+\bool_new:N \g__draw_softpath_corners_bool
\cs_new_protected:Npn \__draw_softpath_add:n #1
{
\int_compare:nNnTF \g__draw_softpath_buffer_a_int < { 40 }
@@ -1032,16 +1252,6 @@
\int_gzero:N \g__draw_softpath_buffer_b_int
\tl_gclear:N \g__draw_softpath_buffer_b_tl
}
-\cs_new_protected:Npn \__draw_softpath_get:N #1
- {
- \__draw_softpath_concat:n { }
- \tl_set_eq:NN #1 \g__draw_softpath_main_tl
- }
-\cs_new_protected:Npn \__draw_softpath_set_eq:N #1
- {
- \tl_gset_eq:NN \g__draw_softpath_main_tl #1
- \__draw_softpath_reset_buffers:
- }
\cs_new_protected:Npn \__draw_softpath_use:
{
\g__draw_softpath_main_tl
@@ -1053,6 +1263,7 @@
\tl_gclear:N \g__draw_softpath_main_tl
\tl_gclear:N \g__draw_softpath_buffer_a_tl
\tl_gclear:N \g__draw_softpath_buffer_b_tl
+ \bool_gset_false:N \g__draw_softpath_corners_bool
}
\cs_new_protected:Npn \__draw_softpath_use_clear:
{
@@ -1108,6 +1319,7 @@
{
\__draw_softpath_add:n
{ \__draw_softpath_roundpoint_op:nn {#1} {#2} }
+ \bool_gset_true:N \g__draw_softpath_corners_bool
}
\cs_generate_variant:Nn \__draw_softpath_roundpoint:nn { VV }
\cs_new_protected:Npn \__draw_softpath_close_op:nn #1#2
@@ -1116,8 +1328,10 @@
{ \__draw_softpath_curveto_opi:nnNnnNnn {#1} {#2} }
\cs_new_protected:Npn \__draw_softpath_curveto_opi:nnNnnNnn #1#2#3#4#5#6#7#8
{ \driver_draw_curveto:nnnnnn {#1} {#2} {#4} {#5} {#7} {#8} }
-\cs_new_protected:Npn \__draw_softpath_curveto_opii:nn #1#2 { }
-\cs_new_protected:Npn \__draw_softpath_curveto_opiii:nn #1#2 { }
+\cs_new_protected:Npn \__draw_softpath_curveto_opii:nn #1#2
+ { \__draw_softpath_curveto_opii:nn }
+\cs_new_protected:Npn \__draw_softpath_curveto_opiii:nn #1#2
+ { \__draw_softpath_curveto_opiii:nn }
\cs_new_protected:Npn \__draw_softpath_lineto_op:nn #1#2
{ \driver_draw_lineto:nn {#1} {#2} }
\cs_new_protected:Npn \__draw_softpath_moveto_op:nn #1#2
@@ -1128,6 +1342,235 @@
\cs_new_protected:Npn \__draw_softpath_rectangle_opi:nnNnn #1#2#3#4#5
{ \driver_draw_rectangle:nnnn {#1} {#2} {#4} {#5} }
\cs_new_protected:Npn \__draw_softpath_rectangle_opii:nn #1#2 { }
+\tl_new:N \l__draw_softpath_main_tl
+\tl_new:N \l__draw_softpath_part_tl
+\tl_new:N \l__draw_softpath_curve_end_tl
+\fp_new:N \l__draw_softpath_lastx_fp
+\fp_new:N \l__draw_softpath_lasty_fp
+\dim_new:N \l__draw_softpath_corneri_dim
+\dim_new:N \l__draw_softpath_cornerii_dim
+\tl_new:N \l__draw_softpath_first_tl
+\tl_new:N \l__draw_softpath_move_tl
+\fp_const:Nn \c__draw_softpath_arc_fp { 4/3 * (sqrt(2) - 1) }
+\cs_new_protected:Npn \__draw_softpath_round_corners:
+ {
+ \bool_if:NT \g__draw_softpath_corners_bool
+ {
+ \group_begin:
+ \tl_clear:N \l__draw_softpath_main_tl
+ \tl_clear:N \l__draw_softpath_part_tl
+ \fp_zero:N \l__draw_softpath_lastx_fp
+ \fp_zero:N \l__draw_softpath_lasty_fp
+ \tl_clear:N \l__draw_softpath_first_tl
+ \tl_clear:N \l__draw_softpath_move_tl
+ \__draw_softpath_concat:n { }
+ \exp_after:wN \__draw_softpath_round_loop:Nnn
+ \g__draw_softpath_main_tl
+ \q_recursion_tail ? ?
+ \q_recursion_stop
+ \group_end:
+ }
+ \bool_gset_false:N \g__draw_softpath_corners_bool
+ }
+\cs_new_protected:Npn \__draw_softpath_round_loop:Nnn #1#2#3
+ {
+ \quark_if_recursion_tail_stop_do:Nn #1 { \__draw_softpath_round_end: }
+ \token_if_eq_meaning:NNTF #1 \__draw_softpath_roundpoint_op:nn
+ { \__draw_softpath_round_action:nn {#2} {#3} }
+ {
+ \tl_if_empty:NT \l__draw_softpath_first_tl
+ { \tl_set:Nn \l__draw_softpath_first_tl { {#2} {#3} } }
+ \fp_set:Nn \l__draw_softpath_lastx_fp {#2}
+ \fp_set:Nn \l__draw_softpath_lasty_fp {#3}
+ \token_if_eq_meaning:NNTF #1 \__draw_softpath_moveto_op:nn
+ {
+ \tl_put_right:No \l__draw_softpath_main_tl
+ \l__draw_softpath_move_tl
+ \tl_put_right:No \l__draw_softpath_main_tl
+ \l__draw_softpath_part_tl
+ \tl_set:Nn \l__draw_softpath_move_tl { #1 {#2} {#3} }
+ \tl_clear:N \l__draw_softpath_first_tl
+ \tl_clear:N \l__draw_softpath_part_tl
+ }
+ { \tl_put_right:Nn \l__draw_softpath_part_tl { #1 {#2} {#3} } }
+ \__draw_softpath_round_loop:Nnn
+ }
+ }
+\cs_new_protected:Npn \__draw_softpath_round_action:nn #1#2
+ {
+ \dim_set:Nn \l__draw_softpath_corneri_dim {#1}
+ \dim_set:Nn \l__draw_softpath_cornerii_dim {#2}
+ \bool_lazy_and:nnTF
+ { \dim_compare_p:nNn \l__draw_softpath_corneri_dim = { 0pt } }
+ { \dim_compare_p:nNn \l__draw_softpath_cornerii_dim = { 0pt } }
+ { \__draw_softpath_round_loop:Nnn }
+ { \__draw_softpath_round_action:Nnn }
+ }
+\cs_new_protected:Npn \__draw_softpath_round_action:Nnn #1#2#3
+ {
+ \tl_if_empty:NT \l__draw_softpath_first_tl
+ { \tl_set:Nn \l__draw_softpath_first_tl { {#2} {#3} } }
+ \token_if_eq_meaning:NNTF #1 \__draw_softpath_curveto_opi:nn
+ { \__draw_softpath_round_action_curveto:NnnNnn }
+ {
+ \token_if_eq_meaning:NNTF #1 \__draw_softpath_close_op:nn
+ { \__draw_softpath_round_action_close: }
+ {
+ \token_if_eq_meaning:NNTF #1 \__draw_softpath_lineto_op:nn
+ { \__draw_softpath_round_lookahead:NnnNnn }
+ { \__draw_softpath_round_loop:Nnn }
+ }
+ }
+ #1 {#2} {#3}
+ }
+\cs_new_protected:Npn \__draw_softpath_round_action_curveto:NnnNnn
+ #1#2#3#4#5#6
+ {
+ \tl_put_right:Nn \l__draw_softpath_part_tl
+ { #1 {#2} {#3} #4 {#5} {#6} }
+ \fp_set:Nn \l__draw_softpath_lastx_fp {#5}
+ \fp_set:Nn \l__draw_softpath_lasty_fp {#6}
+ \__draw_softpath_round_lookahead:NnnNnn
+ }
+\cs_new_protected:Npn \__draw_softpath_round_action_close:
+ {
+ \bool_lazy_and:nnTF
+ { ! \tl_if_empty_p:N \l__draw_softpath_first_tl }
+ { ! \tl_if_empty_p:N \l__draw_softpath_move_tl }
+ {
+ \exp_after:wN \__draw_softpath_round_close:nn
+ \l__draw_softpath_first_tl
+ }
+ { \__draw_softpath_round_loop:Nnn }
+ }
+\cs_new_protected:Npn \__draw_softpath_round_lookahead:NnnNnn #1#2#3#4#5#6
+ {
+ \bool_lazy_any:nTF
+ {
+ { \token_if_eq_meaning_p:NN #4 \__draw_softpath_lineto_op:nn }
+ { \token_if_eq_meaning_p:NN #4 \__draw_softpath_curveto_opi:nn }
+ { \token_if_eq_meaning_p:NN #4 \__draw_softpath_close_op:nn }
+ }
+ {
+ \__draw_softpath_round_calc:nnnNnn
+ \__draw_softpath_round_loop:Nnn {#5} {#6}
+ }
+ {
+ \token_if_eq_meaning:NNTF #4 \__draw_softpath_roundpoint_op:nn
+ { \__draw_softpath_round_roundpoint:NnnNnnNnn }
+ { \__draw_softpath_round_loop:Nnn }
+ }
+ #1 {#2} {#3}
+ #4 {#5} {#6}
+ }
+\cs_new_protected:Npn \__draw_softpath_round_roundpoint:NnnNnnNnn
+ #1#2#3#4#5#6#7#8#9
+ {
+ \__draw_softpath_round_calc:nnnNnn
+ \__draw_softpath_round_loop:Nnn
+ {#8} {#9} #1 {#2} {#3}
+ #4 {#5} {#6} #7 {#8} {#9}
+ }
+\cs_new_protected:Npn \__draw_softpath_round_calc:nnnNnn #1#2#3#4#5#6
+ {
+ \tl_set:Nx \l__draw_softpath_curve_end_tl
+ {
+ \draw_point_interpolate_distance:nnn
+ \l__draw_softpath_cornerii_dim
+ { #5 , #6 } { #2 , #3 }
+ }
+ \tl_put_right:Nx \l__draw_softpath_part_tl
+ {
+ \exp_not:N #4
+ \__draw_softpath_round_calc:fVnnnn
+ {
+ \draw_point_interpolate_distance:nnn
+ \l__draw_softpath_corneri_dim
+ { #5 , #6 }
+ {
+ \l__draw_softpath_lastx_fp ,
+ \l__draw_softpath_lasty_fp
+ }
+ }
+ \l__draw_softpath_curve_end_tl
+ {#5} {#6} {#2} {#3}
+ }
+ \fp_set:Nn \l__draw_softpath_lastx_fp {#5}
+ \fp_set:Nn \l__draw_softpath_lasty_fp {#6}
+ #1
+ }
+\cs_new:Npn \__draw_softpath_round_calc:nnnnnn #1#2#3#4#5#6
+ {
+ \__draw_softpath_round_calc:nnnnw {#3} {#4} {#5} {#6}
+ #1 \q_mark #2 \q_stop
+ }
+\cs_generate_variant:Nn \__draw_softpath_round_calc:nnnnnn { fV }
+\cs_new:Npn \__draw_softpath_round_calc:nnnnw
+ #1#2#3#4 #5 , #6 \q_mark #7 , #8 \q_stop
+ {
+ {#5} {#6}
+ \exp_not:N \__draw_softpath_curveto_opi:nn
+ {
+ \fp_to_dim:n
+ { #5 + \c__draw_softpath_arc_fp * ( #1 - #5 ) }
+ }
+ {
+ \fp_to_dim:n
+ { #6 + \c__draw_softpath_arc_fp * ( #2 - #6 ) }
+ }
+ \exp_not:N \__draw_softpath_curveto_opii:nn
+ {
+ \fp_to_dim:n
+ { #7 + \c__draw_softpath_arc_fp * ( #1 - #7 ) }
+ }
+ {
+ \fp_to_dim:n
+ { #8 + \c__draw_softpath_arc_fp* ( #2 - #8 ) }
+ }
+ \exp_not:N \__draw_softpath_curveto_opiii:nn
+ {#7} {#8}
+ }
+\cs_new_protected:Npn \__draw_softpath_round_close:nn #1#2
+ {
+ \use:x
+ {
+ \__draw_softpath_round_calc:nnnNnn
+ {
+ \tl_set:Nx \exp_not:N \l__draw_softpath_move_tl
+ {
+ \__draw_softpath_moveto_op:nn
+ \exp_not:N \exp_after:wN
+ \exp_not:N \__draw_softpath_round_close:w
+ \exp_not:N \l__draw_softpath_curve_end_tl
+ \exp_not:N \q_stop
+ }
+ \use:x
+ {
+ \exp_not:N \exp_not:N \exp_not:N \use_i:nnnn
+ {
+ \__draw_softpath_round_loop:Nnn
+ \__draw_softpath_close_op:nn
+ \exp_not:N \exp_after:wN
+ \exp_not:N \__draw_softpath_round_close:w
+ \exp_not:N \l__draw_softpath_curve_end_tl
+ \exp_not:N \q_stop
+ }
+ }
+ }
+ {#1} {#2}
+ \__draw_softpath_lineto_op:nn
+ \exp_after:wN \use_none:n \l__draw_softpath_move_tl
+ }
+ }
+\cs_new:Npn \__draw_softpath_round_close:w #1 , #2 \q_stop { {#1} {#2} }
+\cs_new_protected:Npn \__draw_softpath_round_end:
+ {
+ \tl_put_right:No \l__draw_softpath_main_tl
+ \l__draw_softpath_move_tl
+ \tl_put_right:No \l__draw_softpath_main_tl
+ \l__draw_softpath_part_tl
+ \tl_gset_eq:NN \g__draw_softpath_main_tl \l__draw_softpath_main_tl
+ }
%% File: l3draw-state.dtx Copyright(C) 2018 The LaTeX3 Project
\dim_new:N \g__draw_linewidth_dim
\dim_new:N \g__draw_inner_linewidth_dim
@@ -1141,7 +1584,7 @@
\cs_new_protected:Npn \draw_inner_linewidth:n #1
{ \dim_gset:Nn \g__draw_inner_linewidth_dim { \fp_to_dim:n {#1} } }
\cs_new_protected:Npn \draw_miterlimit:n #1
- { \driver_draw_miterlimit:n { \fp_to_dim:n {#1} } }
+ { \driver_draw_miterlimit:n { \fp_eval:n {#1} } }
\cs_new_protected:Npn \draw_cap_butt: { \driver_draw_cap_butt: }
\cs_new_protected:Npn \draw_cap_rectangle: { \driver_draw_cap_rectangle: }
\cs_new_protected:Npn \draw_cap_round: { \driver_draw_cap_round: }
@@ -1151,10 +1594,7 @@
\cs_new_protected:Npn \draw_join_miter: { \driver_draw_join_miter: }
\cs_new_protected:Npn \draw_join_round: { \driver_draw_join_round: }
\tl_new:N \l__draw_color_tmp_tl
-\tl_new:N \g__draw_fill_color_tl
-\tl_new:N \g__draw_stroke_color_tl
-\cs_new_protected:Npn \draw_color:n #1
- { \__draw_color:nn { } {#1} }
+\cs_new_eq:NN \draw_color:n \color_select:n
\cs_new_protected:Npn \draw_color_fill:n #1
{ \__draw_color:nn { fill } {#1} }
\cs_new_protected:Npn \draw_color_stroke:n #1
@@ -1162,16 +1602,7 @@
\cs_new_protected:Npn \__draw_color:nn #1#2
{
\color_parse:nN {#2} \l__draw_color_tmp_tl
- \tl_if_blank:nTF {#1}
- {
- \tl_gset_eq:NN \g__draw_fill_color_tl \l__draw_color_tmp_tl
- \tl_gset_eq:NN \g__draw_stroke_color_tl \l__draw_color_tmp_tl
- \__draw_color_aux:Vn \l__draw_color_tmp_tl { color }
- }
- {
- \tl_gset_eq:cN { g__draw_ #1 _color_tl } \l__draw_color_tmp_tl
- \__draw_color_aux:Vn \l__draw_color_tmp_tl { #1 }
- }
+ \__draw_color_aux:Vn \l__draw_color_tmp_tl {#1}
}
\cs_new_protected:Npn \__draw_color_aux:nn #1#2
{ \__draw_color:nw {#2} #1 \q_stop }
@@ -1179,104 +1610,96 @@
\cs_new_protected:Npn \__draw_color:nw #1#2 ~ #3 \q_stop
{ \use:c { __draw_color_ #2 :nw } {#1} #3 \q_stop }
\cs_new_protected:Npn \__draw_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \q_stop
- { \use:c { driver_draw_ #1 _cmyk:nnnn } {#2} {#3} {#4} {#5} }
+ { \use:c { driver_draw_color_ #1 _cmyk:nnnn } {#2} {#3} {#4} {#5} }
\cs_new_protected:Npn \__draw_color_gray:nw #1#2 \q_stop
- { \use:c { driver_draw_ #1 _gray:n } {#2} }
+ { \use:c { driver_draw_color_ #1 _gray:n } {#2} }
\cs_new_protected:Npn \__draw_color_rgb:nw #1#2 ~ #3 ~ #4 \q_stop
- { \use:c { driver_draw_ #1 _rgb:nnn } {#2} {#3} {#4} }
+ { \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_ #1 _spot:nn } {#2} {#3} }
+ { \use:c { driver_draw_color_ #1 _spot:nn } {#2} {#3} }
%% File: l3draw-transforms.dtx Copyright(C) 2018 The LaTeX3 Project
-\bool_new:N \l__draw_transformcm_active_bool
-\fp_new:N \l__draw_transformcm_aa_fp
-\fp_new:N \l__draw_transformcm_ab_fp
-\fp_new:N \l__draw_transformcm_ba_fp
-\fp_new:N \l__draw_transformcm_bb_fp
-\dim_new:N \l__draw_transformcm_xshift_dim
-\dim_new:N \l__draw_transformcm_yshift_dim
-\cs_new_protected:Npn \draw_transform_reset:
- {
- \fp_set:Nn \l__draw_transformcm_aa_fp { 1}
- \fp_zero:N \l__draw_transformcm_ab_fp
- \fp_zero:N \l__draw_transformcm_ba_fp
- \fp_set:Nn \l__draw_transformcm_bb_fp { 1 }
- \dim_zero:N \l__draw_transformcm_xshift_dim
- \dim_zero:N \l__draw_transformcm_yshift_dim
- }
-\draw_transform_reset:
-\cs_new_protected:Npn \draw_transform:nnnnn #1#2#3#4#5
- {
- \__draw_point_process:nn
- { \__draw_transform:nnnnnnn {#1} {#2} {#3} {#4} }
- {#5}
- }
-\cs_new_protected:Npn \__draw_transform:nnnnnnn #1#2#3#4#5#6
- {
- \fp_set:Nn \l__draw_transformcm_aa_fp {#1}
- \fp_set:Nn \l__draw_transformcm_ab_fp {#2}
- \fp_set:Nn \l__draw_transformcm_ba_fp {#3}
- \fp_set:Nn \l__draw_transformcm_bb_fp {#4}
- \dim_set:Nn \l__draw_transformcm_xshift_dim {#5}
- \dim_set:Nn \l__draw_transformcm_yshift_dim {#6}
+\bool_new:N \l__draw_matrix_active_bool
+\fp_new:N \l__draw_matrix_a_fp
+\fp_new:N \l__draw_matrix_b_fp
+\fp_new:N \l__draw_matrix_c_fp
+\fp_new:N \l__draw_matrix_d_fp
+\dim_new:N \l__draw_xshift_dim
+\dim_new:N \l__draw_yshift_dim
+\cs_new_protected:Npn \draw_transform_matrix_reset:
+ {
+ \fp_set:Nn \l__draw_matrix_a_fp { 1 }
+ \fp_zero:N \l__draw_matrix_b_fp
+ \fp_zero:N \l__draw_matrix_c_fp
+ \fp_set:Nn \l__draw_matrix_d_fp { 1 }
+ }
+\cs_new_protected:Npn \draw_transform_shift_reset:
+ {
+ \dim_zero:N \l__draw_xshift_dim
+ \dim_zero:N \l__draw_yshift_dim
+ }
+\draw_transform_matrix_reset:
+\draw_transform_shift_reset:
+\cs_new_protected:Npn \draw_transform_matrix:nnnn #1#2#3#4
+ {
+ \fp_set:Nn \l__draw_matrix_a_fp {#1}
+ \fp_set:Nn \l__draw_matrix_b_fp {#2}
+ \fp_set:Nn \l__draw_matrix_c_fp {#3}
+ \fp_set:Nn \l__draw_matrix_d_fp {#4}
\bool_lazy_all:nTF
{
- { \fp_compare_p:nNn \l__draw_transformcm_aa_fp = \c_one_fp }
- { \fp_compare_p:nNn \l__draw_transformcm_ab_fp = \c_zero_fp }
- { \fp_compare_p:nNn \l__draw_transformcm_ba_fp = \c_zero_fp }
- { \fp_compare_p:nNn \l__draw_transformcm_bb_fp = \c_one_fp }
+ { \fp_compare_p:nNn \l__draw_matrix_a_fp = \c_one_fp }
+ { \fp_compare_p:nNn \l__draw_matrix_b_fp = \c_zero_fp }
+ { \fp_compare_p:nNn \l__draw_matrix_c_fp = \c_zero_fp }
+ { \fp_compare_p:nNn \l__draw_matrix_d_fp = \c_one_fp }
}
- { \bool_set_false:N \l__draw_transformcm_active_bool }
- { \bool_set_true:N \l__draw_transformcm_active_bool }
+ { \bool_set_false:N \l__draw_matrix_active_bool }
+ { \bool_set_true:N \l__draw_matrix_active_bool }
}
-\cs_new_protected:Npn \draw_transform_concat:nnnnn #1#2#3#4#5
+\cs_new_protected:Npn \draw_transform_shift:n #1
{
\__draw_point_process:nn
- { \__draw_transform_concat:nnnnnn {#1} {#2} {#3} {#4} }
- {#5}
+ { \__draw_transform_shift:nn } {#1}
}
-\cs_new_protected:Npn \__draw_transform_concat:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \__draw_transform_shift:nn #1#2
+ {
+ \dim_set:Nn \l__draw_xshift_dim {#1}
+ \dim_set:Nn \l__draw_yshift_dim {#2}
+ }
+\cs_new_protected:Npn \draw_transform_matrix_concat:nnnn #1#2#3#4
{
\use:x
{
- \__draw_transform_concat_aux:nnnnnn
+ \__draw_transform_concat:nnnn
{ \fp_eval:n {#1} }
{ \fp_eval:n {#2} }
{ \fp_eval:n {#3} }
{ \fp_eval:n {#4} }
- {#5}
- {#6}
}
}
-\cs_new_protected:Npn \__draw_transform_concat_aux:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \__draw_transform_concat:nnnn #1#2#3#4
{
\use:x
{
- \__draw_transform:nnnnnnn
- { #1 * \l__draw_transformcm_aa_fp + #2 * \l__draw_transformcm_ba_fp }
- { #1 * \l__draw_transformcm_ab_fp + #2 * \l__draw_transformcm_bb_fp }
- { #3 * \l__draw_transformcm_aa_fp + #4 * \l__draw_transformcm_ba_fp }
- { #3 * \l__draw_transformcm_ab_fp + #4 * \l__draw_transformcm_bb_fp }
- {
- \fp_to_dim:n
- {
- \l__draw_transformcm_xshift_dim
- + \l__draw_transformcm_aa_fp * #5
- + \l__draw_transformcm_ba_fp * #6
- }
- }
- {
- \fp_to_dim:n
- {
- \l__draw_transformcm_yshift_dim
- + \l__draw_transformcm_ab_fp * #5
- + \l__draw_transformcm_bb_fp * #6
- }
- }
+ \draw_transform_matrix:nnnn
+ { #1 * \l__draw_matrix_a_fp + #2 * \l__draw_matrix_c_fp }
+ { #1 * \l__draw_matrix_b_fp + #2 * \l__draw_matrix_d_fp }
+ { #3 * \l__draw_matrix_a_fp + #4 * \l__draw_matrix_c_fp }
+ { #3 * \l__draw_matrix_b_fp + #4 * \l__draw_matrix_d_fp }
}
}
-\cs_new_protected:Npn \draw_transform_invert:
+\cs_new_protected:Npn \draw_transform_shift_concat:n #1
{
- \bool_if:NT \l__draw_transformcm_active_bool
+ \__draw_point_process:nn
+ { \__draw_transform_shift_concat:nn } {#1}
+ }
+\cs_new_protected:Npn \__draw_transform_shift_concat:nn #1#2
+ {
+ \dim_set:Nn \l__draw_xshift_dim { \l__draw_xshift_dim + #1 }
+ \dim_set:Nn \l__draw_yshift_dim { \l__draw_yshift_dim + #2 }
+ }
+\cs_new_protected:Npn \draw_transform_matrix_invert:
+ {
+ \bool_if:NT \l__draw_matrix_active_bool
{
\__draw_transform_invert:f
{
@@ -1284,41 +1707,30 @@
{
1 /
(
- \l__draw_transformcm_aa_fp * \l__draw_transformcm_bb_fp
- - \l__draw_transformcm_ab_fp * \l__draw_transformcm_ba_fp
+ \l__draw_matrix_a_fp * \l__draw_matrix_d_fp
+ - \l__draw_matrix_b_fp * \l__draw_matrix_c_fp
)
}
}
}
- \dim_set:Nn \l__draw_transformcm_xshift_dim
- {
- \fp_to_dim:n
- {
- -\l__draw_transformcm_xshift_dim * \l__draw_transformcm_aa_fp
- -\l__draw_transformcm_yshift_dim * \l__draw_transformcm_ba_fp
- }
- }
- \dim_set:Nn \l__draw_transformcm_yshift_dim
- {
- \fp_to_dim:n
- {
- -\l__draw_transformcm_xshift_dim * \l__draw_transformcm_ab_fp
- -\l__draw_transformcm_yshift_dim * \l__draw_transformcm_bb_fp
- }
- }
}
\cs_new_protected:Npn \__draw_transform_invert:n #1
{
- \fp_set:Nn \l__draw_transformcm_aa_fp
- { \l__draw_transformcm_bb_fp * #1 }
- \fp_set:Nn \l__draw_transformcm_ab_fp
- { -\l__draw_transformcm_ab_fp * #1 }
- \fp_set:Nn \l__draw_transformcm_ba_fp
- { -\l__draw_transformcm_ba_fp * #1 }
- \fp_set:Nn \l__draw_transformcm_bb_fp
- { \l__draw_transformcm_aa_fp * #1 }
+ \fp_set:Nn \l__draw_matrix_a_fp
+ { \l__draw_matrix_d_fp * #1 }
+ \fp_set:Nn \l__draw_matrix_b_fp
+ { -\l__draw_matrix_b_fp * #1 }
+ \fp_set:Nn \l__draw_matrix_c_fp
+ { -\l__draw_matrix_c_fp * #1 }
+ \fp_set:Nn \l__draw_matrix_d_fp
+ { \l__draw_matrix_a_fp * #1 }
}
\cs_generate_variant:Nn \__draw_transform_invert:n { f }
+\cs_new_protected:Npn \draw_transform_shift_invert:
+ {
+ \dim_set:Nn \l__draw_xshift_dim { -\l__draw_xshift_dim }
+ \dim_set:Nn \l__draw_yshift_dim { -\l__draw_yshift_dim }
+ }
\cs_new_protected:Npn \draw_transform_triangle:nnn #1#2#3
{
\__draw_point_process:nnn
@@ -1333,15 +1745,40 @@
{
\use:x
{
- \__draw_transform:nnnnnnn
+ \draw_transform_matrix:nnnn
{ #3 - #1 }
{ #4 - #2 }
{ #5 - #1 }
{ #6 - #2 }
- {#1}
- {#2}
+ \draw_transform_shift:n { #1 , #2 }
}
}
+\cs_new_protected:Npn \draw_transform_scale:n #1
+ { \draw_transform_matrix_concat:nnnn { #1 } { 0 } { 0 } { #1 } }
+\cs_new_protected:Npn \draw_transform_xscale:n #1
+ { \draw_transform_matrix_concat:nnnn { #1 } { 0 } { 0 } { 1 } }
+\cs_new_protected:Npn \draw_transform_yscale:n #1
+ { \draw_transform_matrix_concat:nnnn { 1 } { 0 } { 0 } { #1 } }
+\cs_new_protected:Npn \draw_transform_xshift:n #1
+ { \draw_transform_shift_concat:n { #1 , 0 } }
+\cs_new_protected:Npn \draw_transform_yshift:n #1
+ { \draw_transform_shift_concat:n { 0 , #1 } }
+\cs_new_protected:Npn \draw_transform_xslant:n #1
+ { \draw_transform_matrix_concat:nnnn { 1 } { 0 } { #1 } { 1 } }
+\cs_new_protected:Npn \draw_transform_yslant:n #1
+ { \draw_transform_matrix_concat:nnnn { 1 } { #1 } { 0 } { 1 } }
+\cs_new_protected:Npn \draw_transform_rotate:n #1
+ { \__draw_transform_rotate:f { \fp_eval:n {#1} } }
+\cs_new_protected:Npn \__draw_transform_rotate:n #1
+ {
+ \__draw_transform_rotate:ff
+ { \fp_eval:n { cosd(#1) } }
+ { \fp_eval:n { sind(#1) } }
+ }
+\cs_generate_variant:Nn \__draw_transform_rotate:n { f }
+\cs_new_protected:Npn \__draw_transform_rotate:nn #1#2
+ { \draw_transform_matrix_concat:nnnn {#1} {#2} { -#2 } { #1 } }
+\cs_generate_variant:Nn \__draw_transform_rotate:nn { ff }
%%
%%
%% End of file `l3draw.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
index 021b453f912..711e7bcd2d2 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-convert.sty
@@ -18,9 +18,9 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-convert}{2018/02/21}{}
+\ProvidesExplPackage{l3str-convert}{2018/03/05}{}
{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 60be5c7f1b2..844fb028955 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88591.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 a651b227cc1..81b47155a32 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885910.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 1a48cc8bec3..68b46305ae7 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885911.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 948072f8ac6..9dc2da1d44a 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885913.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 6faf3e101b2..5f4000f9d43 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885914.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 f6846a10f99..d903dd492d8 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885915.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 ef5c375d337..094b24b1aac 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso885916.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 9b036d2488f..a5f331647aa 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88592.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 f7014f192af..2fa465e0b21 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88593.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 d388165099a..9b75283b92a 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88594.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 d9f12eed1da..6576297ed22 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88595.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 0431f27c25d..fcfd76af39e 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88596.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 d7358bdb9b1..b555c1cba02 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88597.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 68f7b576f29..f6f79b7e4a3 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88598.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 4ac243c585c..85cb0026d4b 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-iso88599.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 5cb922bcdd2..66d5ec7a527 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf16.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 7084d5597e5..3c37226eebc 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf32.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 eaf3d0a6a4b..486b12974a6 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-enc-utf8.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 a6f3e978931..98932ef5521 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-hex.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 9edf8df871a..f22018c7357 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-name.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 e008b1ee5ad..133f06d086e 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-string.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 f27189e72d6..eeff559146d 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-esc-url.def
@@ -18,7 +18,7 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-convert.dtx Copyright (C) 2013-2017 The LaTeX3 Project
+%% File: l3str-convert.dtx Copyright (C) 2013-2018 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 6ed2b3f9273..855c67ce144 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -18,9 +18,9 @@
%% This file is part of the "l3experimental bundle" (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
-%% File: l3str-format.dtx Copyright (C) 2012-2017 The LaTeX3 Project
+%% File: l3str-format.dtx Copyright (C) 2012-2018 The LaTeX3 Project
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2018/02/21}{}
+\ProvidesExplPackage{l3str-format}{2018/03/05}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index 355a3334d29..b09b2eb70fa 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -20,7 +20,7 @@
%%
%% File: xcoffins.dtx Copyright(C) 2010-2012,2014,2016,2017 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2018/02/21}{}
+\ProvidesExplPackage{xcoffins}{2018/03/05}{}
{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 927b2888eab..8eda49a62f0 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: l3galley.dtx Copyright (C) 1999-2001, 2004-2009 Frank Mittelbach
-%% (C) 2010-2017 The LaTeX3 Project
+%% (C) 2010-2018 The LaTeX3 Project
\RequirePackage{expl3}[2018/02/21]
\@ifpackagelater{expl3}{2018/02/21}
{}
@@ -33,7 +33,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2018/02/21}{}
+\ProvidesExplPackage{l3galley}{2018/03/05}{}
{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 06d3bf6ecb5..c7ca5f1732a 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -19,9 +19,9 @@
%% 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-2017 The LaTeX3 Project
+%% (C) 2010-2012,2014,2016-2018 The LaTeX3 Project
\RequirePackage{xparse}
-\ProvidesExplPackage{xgalley}{2018/02/21}{}
+\ProvidesExplPackage{xgalley}{2018/03/05}{}
{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 9aa19a4ba78..adfba18d086 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -42,8 +42,8 @@
%% l3tl-analysis.dtx (with options: `package')
%% l3regex.dtx (with options: `package')
%% l3box.dtx (with options: `package')
-%% l3coffins.dtx (with options: `package')
%% l3color-base.dtx (with options: `package')
+%% l3coffins.dtx (with options: `package')
%% l3sys.dtx (with options: `package')
%% l3deprecation.dtx (with options: `package')
%% l3candidates.dtx (with options: `package')
@@ -61,8 +61,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-2017 The LaTeX3 Project
-\def\ExplFileDate{2018/02/21}%
+%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
+\def\ExplFileDate{2018/03/05}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -3859,10 +3859,6 @@
\tl_new:N \g_tmpb_tl
\tl_new:N \l_tmpa_tl
\tl_new:N \l_tmpb_tl
-\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } { \tex_lowercase:D }
-\cs_new_protected:Npn \tl_to_lowercase:n #1 { \tex_lowercase:D {#1} }
-\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } { \tex_uppercase:D }
-\cs_new_protected:Npn \tl_to_uppercase:n #1 { \tex_uppercase:D {#1} }
%% File: l3str.dtx Copyright (C) 2011-2018 The LaTeX3 Project
\group_begin:
\cs_set_protected:Npn \__str_tmp:n #1
@@ -9720,8 +9716,6 @@
\str_if_empty:NT #2
{ \tl_set:Nn #2 { \q_no_value } }
}
-\__kernel_patch_deprecation:nnNNpn { 2017-12-31 } { \ior_str_get:NN }
-\cs_new_protected:Npn \ior_get_str:NN { \ior_str_get:NN }
\__kernel_patch_deprecation:nnNNpn { 2018-12-31 } { \file_log_list: }
\cs_new_protected:Npn \file_list: { \file_log_list: }
\__kernel_patch_deprecation:nnNNpn { 2018-12-31 } { \ior_show_list: }
@@ -11270,7 +11264,7 @@
{ is~undefined. }
{ has~the~properties: #2 . }
}
-%% File: l3fp.dtx Copyright (C) 2011-2017 The LaTeX3 Project
+%% File: l3fp.dtx Copyright (C) 2011-2018 The LaTeX3 Project
%% File: l3fp-aux.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\cs_new:Npn \__fp_use_none_stop_f:n #1 { \exp_stop_f: }
\cs_new:Npn \__fp_use_s:n #1 { #1; }
@@ -11469,6 +11463,8 @@
{#1} #2
}
\cs_new_eq:NN \__fp_exp_after_stop_f:nw \use_none:nn
+\cs_new:Npn \__fp_exp_after_tuple_o:w
+ { \__fp_exp_after_tuple_f:nw { \exp_after:wN \exp_stop_f: } }
\cs_new:Npn \__fp_exp_after_tuple_f:nw #1 \s__fp_tuple \__fp_tuple_chk:w #2 ;
{
\exp_after:wN \s__fp_tuple
@@ -11787,7 +11783,7 @@
\cs_generate_variant:Nn \__fp_invalid_operation_o:nw { f }
\cs_new:Npn \__fp_error:nnnn
{ \__kernel_msg_expandable_error:nnnnn { kernel } }
-\cs_generate_variant:Nn \__fp_error:nnnn { nnf, nff }
+\cs_generate_variant:Nn \__fp_error:nnnn { nnf, nff , nfff }
\__kernel_msg_new:nnnn { kernel } { unknown-fpu-exception }
{
The~FPU~exception~'#1'~is~not~known:~
@@ -11837,50 +11833,13 @@
{ \__fp_parse_function:NNN \__fp_round_o:Nw \__fp_round_to_pinf:NNN }
\cs_new:Npn \__fp_parse_word_round:N #1#2
{
- \if_meaning:w + #2
- \__fp_parse_round:Nw \__fp_round_to_pinf:NNN
- \else:
- \if_meaning:w 0 #2
- \__fp_parse_round:Nw \__fp_round_to_zero:NNN
- \else:
- \if_meaning:w - #2
- \__fp_parse_round:Nw \__fp_round_to_ninf:NNN
- \fi:
- \fi:
- \fi:
\__fp_parse_function:NNN
\__fp_round_o:Nw \__fp_round_to_nearest:NNN #1
#2
}
-\__kernel_debug:TF
- {
- \__kernel_deprecation_code:nn
- {
- \cs_set_eq:NN \__fp_parse_round:Nw
- \__fp_parse_round_deprecation_error:Nw
- }
- {
- \cs_set_eq:NN \__fp_parse_round:Nw
- \__fp_parse_round_no_error:Nw
- }
- \cs_new:Npn \__fp_parse_round_deprecation_error:Nw
- #1 #2 \__fp_round_to_nearest:NNN #3#4
- {
- \__fp_error:nnfn { fp-deprecated } { round#4() }
- {
- \str_case:nn {#2}
- { { + } { ceil } { 0 } { trunc } { - } { floor } }
- } { }
- #2 #1 #3
- }
- \cs_new:Npn \__fp_parse_round_no_error:Nw
- #1 #2 \__fp_round_to_nearest:NNN #3#4 { #2 #1 #3 }
- \cs_new_eq:NN \__fp_parse_round:Nw \__fp_parse_round_no_error:Nw
- }
- {
- \cs_new:Npn \__fp_parse_round:Nw
- #1 #2 \__fp_round_to_nearest:NNN #3#4 { #2 #1 #3 }
- }
+\cs_new:Npn \__fp_parse_round:Nw #1 #2 \__fp_round_to_nearest:NNN #3#4
+ { #2 #1 #3 }
+
\int_const:Nn \c__fp_five_int { 5 }
\cs_new:Npn \__fp_round_return_one:
{ \exp_after:wN 1 \exp_after:wN \exp_stop_f: \exp:w }
@@ -12934,15 +12893,23 @@
\__fp_parse_expand:w #1
\s__fp_mark \__fp_parse_infix_end:N
\s__fp_stop
+ \exp_end:
}
\cs_new:Npn \__fp_parse_after:ww
- #1@ \__fp_parse_infix_end:N \s__fp_stop
- { \exp_end: #1 }
+ #1@ \__fp_parse_infix_end:N \s__fp_stop #2 { #2 #1 }
\cs_new:Npn \__fp_parse_o:n #1
{
- \exp_after:wN \exp_after:wN
- \exp_after:wN \__fp_exp_after_o:w
- \__fp_parse:n {#1}
+ \exp:w
+ \exp_after:wN \__fp_parse_after:ww
+ \exp:w
+ \__fp_parse_operand:Nw \c__fp_prec_end_int
+ \__fp_parse_expand:w #1
+ \s__fp_mark \__fp_parse_infix_end:N
+ \s__fp_stop
+ {
+ \exp_end_continue_f:w
+ \__fp_exp_after_any_f:nw { \exp_after:wN \exp_stop_f: }
+ }
}
\cs_new:Npn \__fp_parse_operand:Nw #1
{
@@ -13283,7 +13250,7 @@
\if_meaning:w \c_zero_fp #3
0
\else:
- \if_case:w \__fp_compare_back:ww #8 #2 \exp_stop_f:
+ \if_case:w \__fp_compare_back_any:ww #8 #2 \exp_stop_f:
#5 \or: #6 \or: #7 \else: #4
\fi:
\fi:
@@ -13561,9 +13528,12 @@
\exp_after:wN \__fp_compare_return:w
\exp:w \exp_end_continue_f:w \__fp_parse:n {#1}
}
-\cs_new:Npn \__fp_compare_return:w \s__fp \__fp_chk:w #1#2;
+\cs_new:Npn \__fp_compare_return:w #1#2#3;
{
- \if_meaning:w 0 #1
+ \if_charcode:w 0
+ \__fp_if_type_fp:NTwFw
+ #1 { \use_i_delimit_by_q_stop:nw #3 \q_stop }
+ \s__fp 1 \q_stop
\prg_return_false:
\else:
\prg_return_true:
@@ -13582,9 +13552,26 @@
}
\cs_new:Npn \__fp_compare_aux:wn #1; #2
{
- \exp_after:wN \__fp_compare_back:ww
+ \exp_after:wN \__fp_compare_back_any:ww
\exp:w \exp_end_continue_f:w \__fp_parse:n {#2} #1;
}
+\cs_new:Npn \__fp_compare_back_any:ww #1#2; #3
+ {
+ \__fp_if_type_fp:NTwFw
+ #1 { \__fp_if_type_fp:NTwFw #3 \use_i:nn \s__fp \use_ii:nn \q_stop }
+ \s__fp \use_ii:nn \q_stop
+ \__fp_compare_back:ww
+ {
+ \cs:w
+ __fp
+ \__fp_type_from_scan:N #1
+ _compare_back
+ \__fp_type_from_scan:N #3
+ :ww
+ \cs_end:
+ }
+ #1#2 ; #3
+ }
\cs_new:Npn \__fp_compare_back:ww
\s__fp \__fp_chk:w #1 #2 #3;
\s__fp \__fp_chk:w #4 #5 #6;
@@ -13613,6 +13600,34 @@
\exp_stop_f:
}
\cs_new:Npn \__fp_compare_nan:w #1 \fi: \exp_stop_f: { 2 \exp_stop_f: }
+\cs_new:Npn \__fp_compare_back_tuple:ww #1; #2; { 2 }
+\cs_new:Npn \__fp_tuple_compare_back:ww #1; #2; { 2 }
+\cs_new:Npn \__fp_tuple_compare_back_tuple:ww
+ \s__fp_tuple \__fp_tuple_chk:w #1;
+ \s__fp_tuple \__fp_tuple_chk:w #2;
+ {
+ \int_compare:nNnTF { \__fp_array_count:n {#1} } = { \__fp_array_count:n {#2} }
+ {
+ \__int_value:w 0
+ \__fp_tuple_compare_back_loop:w
+ #1 { \s__fp \__prg_break: } ; @
+ #2 { \s__fp \__prg_break: } ;
+ \__prg_break_point:
+ \exp_stop_f:
+ }
+ { 2 }
+ }
+\cs_new:Npn \__fp_tuple_compare_back_loop:w #1#2 ; #3 @ #4#5 ;
+ {
+ \use_none:n #1
+ \use_none:n #4
+ \if_int_compare:w
+ \__fp_compare_back_any:ww #1 #2 ; #4 #5 ; = 0 \exp_stop_f:
+ \else:
+ 2 \exp_after:wN \__prg_break:
+ \fi:
+ \__fp_tuple_compare_back_loop:w #3 @
+ }
\cs_new:Npn \__fp_compare_npos:nwnw #1#2; #3#4;
{
\if_int_compare:w #1 = #3 \exp_stop_f:
@@ -13697,7 +13712,20 @@
\exp:w \exp_end_continue_f:w \__fp_parse:n {#3}
}
\cs_generate_variant:Nn \fp_step_function:nnnN { nnnc }
-\cs_new:Npn \__fp_step:wwwN #1 ; \s__fp \__fp_chk:w #2#3#4 ; #5; #6
+\cs_new:Npn \__fp_step:wwwN #1#2; #3#4; #5#6; #7
+ {
+ \__fp_if_type_fp:NTwFw #1 { } \s__fp \__prg_break: \q_stop
+ \__fp_if_type_fp:NTwFw #3 { } \s__fp \__prg_break: \q_stop
+ \__fp_if_type_fp:NTwFw #5 { } \s__fp \__prg_break: \q_stop
+ \use_i:nnnn { \__fp_step_fp:wwwN #1#2; #3#4; #5#6; #7 }
+ \__prg_break_point:
+ \use:n
+ {
+ \__fp_error:nfff { fp-step-tuple } { \fp_to_tl:n { #1#2 ; } }
+ { \fp_to_tl:n { #3#4 ; } } { \fp_to_tl:n { #5#6 ; } }
+ }
+ }
+\cs_new:Npn \__fp_step_fp:wwwN #1 ; \s__fp \__fp_chk:w #2#3#4 ; #5; #6
{
\token_if_eq_meaning:NNTF #2 1
{
@@ -13758,6 +13786,8 @@
\fp_step_function:nnnN {#3} {#4} {#5} #2
\__prg_break_point:Nn \scan_stop: { \int_gdecr:N \g__prg_map_int }
}
+\__kernel_msg_new:nnn { kernel } { fp-step-tuple }
+ { Tuple~argument~in~fp_step_...~{#1}{#2}{#3}. }
\__kernel_msg_new:nnn { kernel } { fp-bad-step }
{ Invalid~step~size~#2~in~step~function~#3. }
\__kernel_msg_new:nnn { kernel } { fp-tiny-step }
@@ -13809,7 +13839,7 @@
{ \fi: \fi: #2 }
\cs_new:Npn \__fp_minmax_break_o:w #1 \fi: \fi: #2 \s__fp #3; #4;
{ \fi: \__fp_exp_after_o:w \s__fp #3; }
-\cs_new:cpn { __fp_not_o:w } #1 \s__fp \__fp_chk:w #2#3; @
+\cs_new:Npn \__fp_not_o:w #1 \s__fp \__fp_chk:w #2#3; @
{
\if_meaning:w 0 #2
\exp_after:wN \exp_after:wN \exp_after:wN \c_one_fp
@@ -13817,6 +13847,7 @@
\exp_after:wN \exp_after:wN \exp_after:wN \c_zero_fp
\fi:
}
+\cs_new:Npn \__fp_tuple_not_o:w #1 @ { \exp_after:wN \c_zero_fp }
\group_begin:
\char_set_catcode_letter:N &
\char_set_catcode_letter:N |
@@ -13827,19 +13858,36 @@
\fi:
\__fp_exp_after_o:w
}
+ \cs_new:Npn \__fp_&_tuple_o:ww #1 \s__fp \__fp_chk:w #2#3;
+ {
+ \if_meaning:w 0 #2 #1
+ \__fp_and_return:wNw \s__fp \__fp_chk:w #2#3;
+ \fi:
+ \__fp_exp_after_tuple_o:w
+ }
+ \cs_new:Npn \__fp_tuple_&_o:ww #1; { \__fp_exp_after_o:w }
+ \cs_new:Npn \__fp_tuple_&_tuple_o:ww #1; { \__fp_exp_after_tuple_o:w }
\cs_new:Npn \__fp_|_o:ww { \__fp_&_o:ww \else: }
+ \cs_new:Npn \__fp_|_tuple_o:ww { \__fp_&_tuple_o:ww \else: }
+ \cs_new:Npn \__fp_tuple_|_o:ww #1; #2; { \__fp_exp_after_tuple_o:w #1; }
+ \cs_new:Npn \__fp_tuple_|_tuple_o:ww #1; #2; { \__fp_exp_after_tuple_o:w #1; }
\group_end:
-\cs_new:Npn \__fp_and_return:wNw #1; \fi: #2#3; { \fi: #2 #1; }
-\cs_new:Npn \__fp_ternary:NwwN #1 #2@ #3@ #4
+\cs_new:Npn \__fp_and_return:wNw #1; \fi: #2;
+ { \fi: \__fp_exp_after_o:w #1; }
+\cs_new:Npn \__fp_ternary:NwwN #1 #2#3@ #4@ #5
{
- \if_meaning:w \__fp_parse_infix_::N #4
- \__fp_ternary_loop:Nw
- #2
- \s__fp \__fp_chk:w { \__fp_ternary_loop_break:w } ;
- \__fp_ternary_break_point:n { \exp_after:wN \__fp_ternary_auxi:NwwN }
+ \if_meaning:w \__fp_parse_infix_::N #5
+ \if_charcode:w 0
+ \__fp_if_type_fp:NTwFw
+ #2 { \use_i:nn \use_i_delimit_by_q_stop:nw #3 \q_stop }
+ \s__fp 1 \q_stop
+ \exp_after:wN \exp_after:wN \exp_after:wN \__fp_ternary_auxii:NwwN
+ \else:
+ \exp_after:wN \exp_after:wN \exp_after:wN \__fp_ternary_auxi:NwwN
+ \fi:
\exp_after:wN #1
\exp:w \exp_end_continue_f:w
- \__fp_exp_after_array_f:w #3 \s__fp_stop
+ \__fp_exp_after_array_f:w #4 \s__fp_stop
\exp_after:wN @
\exp:w
\__fp_parse_operand:Nw \c__fp_prec_colon_int
@@ -13850,25 +13898,11 @@
\exp_after:wN \__fp_parse_continue:NwN
\exp_after:wN #1
\exp:w \exp_end_continue_f:w
- \__fp_exp_after_array_f:w #3 \s__fp_stop
- \exp_after:wN #4
+ \__fp_exp_after_array_f:w #4 \s__fp_stop
+ \exp_after:wN #5
\exp_after:wN #1
\fi:
}
-\cs_new:Npn \__fp_ternary_loop_break:w
- #1 \fi: #2 \__fp_ternary_break_point:n #3
- {
- 0 = 0 \exp_stop_f: \fi:
- \exp_after:wN \__fp_ternary_auxii:NwwN
- }
-\cs_new:Npn \__fp_ternary_loop:Nw \s__fp \__fp_chk:w #1#2;
- {
- \if_int_compare:w #1 > 0 \exp_stop_f:
- \exp_after:wN \__fp_ternary_map_break:
- \fi:
- \__fp_ternary_loop:Nw
- }
-\cs_new:Npn \__fp_ternary_map_break: #1 \__fp_ternary_break_point:n #2 {#2}
\cs_new:Npn \__fp_ternary_auxi:NwwN #1#2@#3@#4
{
\exp_after:wN \__fp_parse_continue:NwN
@@ -21184,26 +21218,29 @@
}
\cs_generate_variant:Nn \__box_show:NNnn { NNff }
\cs_new_protected:Npn \hbox:n #1
- { \tex_hbox:D \scan_stop: { \group_begin: #1 \group_end: } }
+ { \tex_hbox:D \scan_stop: { \color_group_begin: #1 \color_group_end: } }
\__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { }
\cs_new_protected:Npn \hbox_set:Nn #1#2
- { \tex_setbox:D #1 \tex_hbox:D { \group_begin: #2 \group_end: } }
+ { \tex_setbox:D #1 \tex_hbox:D { \color_group_begin: #2 \color_group_end: } }
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \hbox_gset:Nn #1#2
- { \tex_global:D \tex_setbox:D #1 \tex_hbox:D { \group_begin: #2 \group_end: } }
+ {
+ \tex_global:D \tex_setbox:D #1 \tex_hbox:D
+ { \color_group_begin: #2 \color_group_end: }
+ }
\cs_generate_variant:Nn \hbox_set:Nn { c }
\cs_generate_variant:Nn \hbox_gset:Nn { c }
\__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { }
\cs_new_protected:Npn \hbox_set_to_wd:Nnn #1#2#3
{
\tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2}
- { \group_begin: #3 \group_end: }
+ { \color_group_begin: #3 \color_group_end: }
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \hbox_gset_to_wd:Nnn #1#2#3
{
\tex_global:D \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2}
- { \group_begin: #3 \group_end: }
+ { \color_group_begin: #3 \color_group_end: }
}
\cs_generate_variant:Nn \hbox_set_to_wd:Nnn { c }
\cs_generate_variant:Nn \hbox_gset_to_wd:Nnn { c }
@@ -21212,20 +21249,20 @@
{
\tex_setbox:D #1 \tex_hbox:D
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \hbox_gset:Nw #1
{
\tex_global:D \tex_setbox:D #1 \tex_hbox:D
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\cs_generate_variant:Nn \hbox_set:Nw { c }
\cs_generate_variant:Nn \hbox_gset:Nw { c }
\cs_new_protected:Npn \hbox_set_end:
{
- \group_end:
+ \color_group_end:
\c_group_end_token
}
\cs_new_eq:NN \hbox_gset_end: \hbox_set_end:
@@ -21234,24 +21271,24 @@
{
\tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2}
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \hbox_gset_to_wd:Nnw #1#2
{
\tex_global:D \tex_setbox:D #1 \tex_hbox:D to \__dim_eval:n {#2}
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\cs_generate_variant:Nn \hbox_set_to_wd:Nnw { c }
\cs_generate_variant:Nn \hbox_gset_to_wd:Nnw { c }
\cs_new_protected:Npn \hbox_to_wd:nn #1#2
{
\tex_hbox:D to \__dim_eval:n {#1}
- { \group_begin: #2 \group_end: }
+ { \color_group_begin: #2 \color_group_end: }
}
\cs_new_protected:Npn \hbox_to_zero:n #1
- { \tex_hbox:D to \c_zero_dim { \group_begin: #1 \group_end: } }
+ { \tex_hbox:D to \c_zero_dim { \color_group_begin: #1 \color_group_end: } }
\cs_new_protected:Npn \hbox_overlap_left:n #1
{ \hbox_to_zero:n { \tex_hss:D #1 } }
\cs_new_protected:Npn \hbox_overlap_right:n #1
@@ -21261,30 +21298,30 @@
\cs_generate_variant:Nn \hbox_unpack:N { c }
\cs_generate_variant:Nn \hbox_unpack_clear:N { c }
\cs_new_protected:Npn \vbox:n #1
- { \tex_vbox:D { \group_begin: #1 \par \group_end: } }
+ { \tex_vbox:D { \color_group_begin: #1 \color_group_end: } }
\cs_new_protected:Npn \vbox_top:n #1
- { \tex_vtop:D { \group_begin: #1 \par \group_end: } }
+ { \tex_vtop:D { \color_group_begin: #1 \color_group_end: } }
\cs_new_protected:Npn \vbox_to_ht:nn #1#2
{
\tex_vbox:D to \__dim_eval:n {#1}
- { \group_begin: #2 \par \group_end: }
+ { \color_group_begin: #2 \color_group_end: }
}
\cs_new_protected:Npn \vbox_to_zero:n #1
{
\tex_vbox:D to \c_zero_dim
- { \group_begin: #1 \par \group_end: }
+ { \color_group_begin: #1 \color_group_end: }
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_local:N #1 } { }
\cs_new_protected:Npn \vbox_set:Nn #1#2
{
\tex_setbox:D #1 \tex_vbox:D
- { \group_begin: #2 \par \group_end: }
+ { \color_group_begin: #2 \color_group_end: }
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \vbox_gset:Nn #1#2
{
\tex_global:D \tex_setbox:D #1 \tex_vbox:D
- { \group_begin: #2 \par \group_end: }
+ { \color_group_begin: #2 \color_group_end: }
}
\cs_generate_variant:Nn \vbox_set:Nn { c }
\cs_generate_variant:Nn \vbox_gset:Nn { c }
@@ -21292,13 +21329,13 @@
\cs_new_protected:Npn \vbox_set_top:Nn #1#2
{
\tex_setbox:D #1 \tex_vtop:D
- { \group_begin: #2 \par \group_end: }
+ { \color_group_begin: #2 \color_group_end: }
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \vbox_gset_top:Nn #1#2
{
\tex_global:D \tex_setbox:D #1 \tex_vtop:D
- { \group_begin: #2 \par \group_end: }
+ { \color_group_begin: #2 \color_group_end: }
}
\cs_generate_variant:Nn \vbox_set_top:Nn { c }
\cs_generate_variant:Nn \vbox_gset_top:Nn { c }
@@ -21306,13 +21343,13 @@
\cs_new_protected:Npn \vbox_set_to_ht:Nnn #1#2#3
{
\tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2}
- { \group_begin: #3 \par \group_end: }
+ { \color_group_begin: #3 \color_group_end: }
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \vbox_gset_to_ht:Nnn #1#2#3
{
\tex_global:D \tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2}
- { \group_begin: #3 \par \group_end: }
+ { \color_group_begin: #3 \color_group_end: }
}
\cs_generate_variant:Nn \vbox_set_to_ht:Nnn { c }
\cs_generate_variant:Nn \vbox_gset_to_ht:Nnn { c }
@@ -21321,21 +21358,20 @@
{
\tex_setbox:D #1 \tex_vbox:D
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \vbox_gset:Nw #1
{
\tex_global:D \tex_setbox:D #1 \tex_vbox:D
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\cs_generate_variant:Nn \vbox_set:Nw { c }
\cs_generate_variant:Nn \vbox_gset:Nw { c }
\cs_new_protected:Npn \vbox_set_end:
{
- \par
- \group_end:
+ \color_group_end:
\c_group_end_token
}
\cs_new_eq:NN \vbox_gset_end: \vbox_set_end:
@@ -21344,14 +21380,14 @@
{
\tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2}
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\__kernel_patch:nnNNpn { \__kernel_chk_var_global:N #1 } { }
\cs_new_protected:Npn \vbox_gset_to_ht:Nnw #1#2
{
\tex_global:D \tex_setbox:D #1 \tex_vbox:D to \__dim_eval:n {#2}
\c_group_begin_token
- \group_begin:
+ \color_group_begin:
}
\cs_generate_variant:Nn \vbox_set_to_ht:Nnw { c }
\cs_generate_variant:Nn \vbox_gset_to_ht:Nnw { c }
@@ -21675,7 +21711,34 @@
\__kernel_patch_deprecation:nnNNpn
{ 2018-12-31 } { \box_use_drop:c }
\cs_new_protected:Npn \box_use_clear:c { \box_use_drop:c }
-%% File: l3coffins.dtx Copyright(C) 2010-2017 The LaTeX3 Project
+%% File: l3color-base.dtx Copyright(C) 2011,2012,2014,2016-2018 The LaTeX3 Project
+\cs_new_eq:NN \color_group_begin: \group_begin:
+\cs_new_protected:Npn \color_group_end:
+ {
+ \par
+ \group_end:
+ }
+\cs_new_protected:Npn \color_ensure_current:
+ {
+ \driver_color_pickup:N \l__color_current_tl
+ \__color_select:V \l__color_current_tl
+ }
+\cs_new_protected:Npn \__color_select:n #1
+ { \__color_select:w #1 \q_stop }
+\cs_generate_variant:Nn \__color_select:n { V }
+\cs_new_protected:Npn \__color_select:w #1 ~ #2 \q_stop
+ { \use:c { __color_select_ #1 :w } #2 \q_stop }
+\cs_new_protected:Npn \__color_select_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop
+ { \driver_color_cmyk:nnnn {#1} {#2} {#3} {#4} }
+\cs_new_protected:Npn \__color_select_gray:w #1 \q_stop
+ { \driver_color_gray:n {#1} }
+\cs_new_protected:Npn \__color_select_rgb:w #1 ~ #2 ~ #3 \q_stop
+ { \driver_color_rgb:nnn {#1} {#2} {#3} }
+\cs_new_protected:Npn \__color_select_spot:w #1 ~ #2 \q_stop
+ { \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-2018 The LaTeX3 Project
\box_new:N \l__coffin_internal_box
\dim_new:N \l__coffin_internal_dim
\tl_new:N \l__coffin_internal_tl
@@ -21853,9 +21916,7 @@
}
\cs_generate_variant:Nn \coffin_set_eq:NN { c , Nc , cc }
\coffin_new:N \c_empty_coffin
-\debug_suspend:
-\hbox_set:Nn \c_empty_coffin { }
-\debug_resume:
+\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
@@ -22477,34 +22538,6 @@
Size~of~coffin~#1 : #2 \\
Poles~of~coffin~#1 : #3 .
}
-%% File: l3color-base.dtx Copyright(C) 2011,2012,2014,2016-2018 The LaTeX3 Project
-\cs_new_eq:NN \color_group_begin: \group_begin:
-\cs_new_protected:Npn \color_group_end:
- {
- \par
- \group_end:
- }
-\cs_new_protected:Npn \color_ensure_current:
- {
- \driver_color_pickup:N \l__color_current_tl
- \__color_select:V \l__color_current_tl
- \group_insert_after:N \driver_color_reset:
- }
-\cs_new_protected:Npn \__color_select:n #1
- { \__color_select:w #1 \q_stop }
-\cs_generate_variant:Nn \__color_select:n { V }
-\cs_new_protected:Npn \__color_select:w #1 ~ #2 \q_stop
- { \use:c { __color_select_ #1 :w } #2 \q_stop }
-\cs_new_protected:Npn \__color_select_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop
- { \driver_color_cmyk:nnnn {#1} {#2} {#3} {#4} }
-\cs_new_protected:Npn \__color_select_gray:w #1 \q_stop
- { \driver_color_gray:n {#1} }
-\cs_new_protected:Npn \__color_select_rgb:w #1 ~ #2 ~ #3 \q_stop
- { \driver_color_rgb:nnn {#1} {#2} {#3} }
-\cs_new_protected:Npn \__color_select_spot:w #1 ~ #2 \q_stop
- { \driver_color_spot:nn {#1} {#2} }
-\tl_new:N \l__color_current_tl
-\tl_set:Nn \l__color_current_tl { gray~0 }
%% File: l3sys.dtx Copyright (C) 2015-2017 The LaTeX3 Project
\str_const:Nx \c_sys_jobname_str { \tex_jobname:D }
\int_const:Nn \c_sys_minute_int
@@ -22602,6 +22635,8 @@
{ \tl_to_str:n {#3} } { \token_to_str:N #1 } { \tl_to_str:n {#2} }
}
}
+\__deprecation_error:Nnn \file_if_exist_input:nT { \file_if_exist:nT and~ \file_input:n } { 2018-03-05 }
+\__deprecation_error:Nnn \file_if_exist_input:nTF { \file_if_exist:nT and~ \file_input:n } { 2018-03-05 }
\__deprecation_error:Nnn \c_job_name_tl { \c_sys_jobname_str } { 2017-01-01 }
\__deprecation_error:Nnn \dim_case:nnn { \dim_case:nnF } { 2015-07-14 }
\__deprecation_error:Nnn \int_case:nnn { \int_case:nnF } { 2015-07-14 }
@@ -22611,6 +22646,7 @@
\__deprecation_error:Nnn \int_to_binary:n { \int_to_bin:n } { 2016-01-05 }
\__deprecation_error:Nnn \int_to_hexadecimal:n { \int_to_hex:n } { 2016-01-05 }
\__deprecation_error:Nnn \int_to_octal:n { \int_to_oct:n } { 2016-01-05 }
+\__deprecation_error:Nnn \ior_get_str:NN { \ior_str_get:NN } { 2018-03-05 }
\__deprecation_error:Nnn \luatex_if_engine_p: { \sys_if_engine_luatex_p: } { 2017-01-01 }
\__deprecation_error:Nnn \luatex_if_engine:F { \sys_if_engine_luatex:F } { 2017-01-01 }
\__deprecation_error:Nnn \luatex_if_engine:T { \sys_if_engine_luatex:T } { 2017-01-01 }
@@ -22629,6 +22665,8 @@
\__deprecation_error:Nnn \str_case_x:nnn { \str_case_x:nnF } { 2015-07-14 }
\__deprecation_error:Nnn \tl_case:cnn { \tl_case:cnF } { 2015-07-14 }
\__deprecation_error:Nnn \tl_case:Nnn { \tl_case:NnF } { 2015-07-14 }
+\__deprecation_error:Nnn \tl_to_lowercase:n { \tex_lowercase:D } { 2018-03-05 }
+\__deprecation_error:Nnn \tl_to_uppercase:n { \tex_uppercase:D } { 2018-03-05 }
\__deprecation_error:Nnn \xetex_if_engine_p: { \sys_if_engine_xetex_p: } { 2017-01-01 }
\__deprecation_error:Nnn \xetex_if_engine:F { \sys_if_engine_xetex:F } { 2017-01-01 }
\__deprecation_error:Nnn \xetex_if_engine:T { \sys_if_engine_xetex:T } { 2017-01-01 }
@@ -23063,22 +23101,6 @@
{#2}
{ \__file_input:V \l__file_full_name_str }
}
-\__kernel_patch_deprecation:nnNNpn { 2017-12-31 }
- { \file_if_exist:nTF and~ \file_input:n }
-\cs_new_protected:Npn \file_if_exist_input:nTF #1#2#3
- {
- \file_get_full_name:nN {#1} \l__file_full_name_str
- \str_if_empty:NTF \l__file_full_name_str
- {#3} { #2 \__file_input:V \l__file_full_name_str }
- }
-\__kernel_patch_deprecation:nnNNpn { 2017-12-31 }
- { \file_if_exist:nT and~ \file_input:n }
-\cs_new_protected:Npn \file_if_exist_input:nT #1#2
- {
- \file_get_full_name:nN {#1} \l__file_full_name_str
- \str_if_empty:NF \l__file_full_name_str
- { #2 \__file_input:V \l__file_full_name_str }
- }
\cs_new_protected:Npn \file_input_stop: { \tex_endinput:D }
\cs_if_exist:NTF \pdftex_uniformdeviate:D
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 09c9c25667e..3c97eedcba2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -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-2017 The LaTeX3 Project
-\def\ExplFileDate{2018/02/21}%
+%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
+\def\ExplFileDate{2018/03/05}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index a64a5919bfd..8199ce752f8 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -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-2017 The LaTeX3 Project
-\def\ExplFileDate{2018/02/21}%
+%% File: expl3.dtx Copyright (C) 1990-2018 The LaTeX3 Project
+\def\ExplFileDate{2018/03/05}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty b/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
deleted file mode 100644
index 6513f7bea98..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3basics.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3basics.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3basics,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3basics}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3basics.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty b/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
deleted file mode 100644
index de805c07768..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3bootstrap.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3bootstrap.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3bootstrap,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3bootstrap}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3bootstrap.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty b/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
deleted file mode 100644
index c183f86ce4e..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3box.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3box.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3box,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3box}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3box.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty b/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
deleted file mode 100644
index 31ef689d272..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3candidates.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3candidates.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3candidates,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3candidates}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3candidates.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty b/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
deleted file mode 100644
index 25cb92d0d00..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3clist.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3clist.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3clist,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3clist}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3clist.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty b/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
deleted file mode 100644
index 2d25931277b..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3coffins.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3coffins.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3coffins,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3coffins}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3coffins.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 522760bb24c..7fd9385704c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx Copyright (C) 1990-2018 The LaTeX3 project
\RequirePackage{expl3,xparse,calc}
-\ProvidesExplClass{l3doc}{2018/02/21}{}
+\ProvidesExplClass{l3doc}{2018/03/05}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
index 60fac7b2529..cbeff0221d8 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvipdfmx.def
@@ -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: l3drivers.dtx Copyright(C) 2011-2017 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
{l3dvidpfmx.def}{2017/03/18}{}
{L3 Experimental driver: dvipdfmx}
@@ -51,10 +51,13 @@
\cs_new_protected:Npn \driver_color_rgb:nnn #1#2#3
{ \__driver_color_select:n { rgb~ #1 ~ #2 ~ #3 } }
\cs_new_protected:Npn \driver_color_spot:nn #1#2
- { \__driver_color_select:n { color~push~\c_space_tl #1 } }
+ { \__driver_color_select:n { \c_space_tl #1 } }
\cs_new_protected:Npn \__driver_color_select:n #1
- { \tex_special:D { color~push~ #1 } }
-\cs_new_protected:Npn \driver_color_reset:
+ {
+ \tex_special:D { color~push~ #1 }
+ \group_insert_after:N \__driver_color_reset:
+ }
+\cs_new_protected:Npn \__driver_color_reset:
{ \tex_special:D { color~pop } }
\cs_new_protected:Npn \__driver_literal:n #1
{ \tex_special:D { pdf:literal~ #1 } }
@@ -282,58 +285,97 @@
{ \__driver_draw_literal:n { 1 ~ j } }
\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_color_fill_cmyk:nnnn #1#2#3#4
+ { \__driver_color_fill_select:n { #1 ~ #2 ~ #3 ~ #4 ~ k } }
+\cs_new_protected:Npn \driver_draw_color_stroke_cmyk:nnnn #1#2#3#4
+ { \__driver_color_select:n { #1 ~ #2 ~ #3 ~ #4 ~ K } }
+\cs_new_protected:Npn \driver_draw_color_fill_gray:n #1
+ { \__driver_color_fill_select:n { #1 ~ g } }
+\cs_new_protected:Npn \driver_draw_color_stroke_gray:n #1
+ { \__driver_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \driver_draw_color_fill_rgb:nnn #1#2#3
+ { \__driver_color_fill_select:n { #1 ~ #2 ~ #3 ~ rg } }
+\cs_new_protected:Npn \driver_draw_color_stroke_rgb:nnn #1#2#3
+ { \__driver_color_select:n { #1 ~ #2 ~ #3 ~ RG } }
+\cs_new_eq:NN \__driver_color_fill_select:n \__driver_draw_literal:n
+\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4
{
- \__driver_draw_literal:n
- { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
+ \__driver_draw_cm_decompose:nnnnN {#1} {#2} {#3} {#4}
+ \__driver_draw_cm:nnnn
}
-\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__driver_draw_cm:nnnn #1#2#3#4
{
- \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ k }
+ \tex_special:D
+ {
+ x:rotate~
+ \fp_compare:nNnTF {#1} = \c_zero_fp
+ { 0 }
+ { \fp_eval:n { round ( -#1 , 5 ) } }
+ }
+ \tex_special:D
+ {
+ x:scale~
+ \fp_eval:n { round ( #2 , 5 ) } ~
+ \fp_eval:n { round ( #3 , 5 ) }
+ }
+ \tex_special:D
+ {
+ x:rotate~
+ \fp_compare:nNnTF {#4} = \c_zero_fp
+ { 0 }
+ { \fp_eval:n { round ( -#4 , 5 ) } }
+ }
}
-\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ K } }
-\cs_new_protected:Npn \driver_draw_color_gray:n #1
- { \__driver_draw_literal:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \driver_draw_fill_gray:n #1
- { \__driver_draw_literal:n { #1 ~ g } }
-\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
- { \__driver_draw_literal:n { #1 ~ G } }
-\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__driver_draw_cm_decompose:nnnnN #1#2#3#4#5
{
- \__driver_draw_literal:n
- { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG }
+ \use:x
+ {
+ \__driver_draw_cm_decompose_auxi:nnnnN
+ { \fp_eval:n { (#1 + #4) / 2 } }
+ { \fp_eval:n { (#1 - #4) / 2 } }
+ { \fp_eval:n { (#3 + #2) / 2 } }
+ { \fp_eval:n { (#3 - #2) / 2 } }
+ }
+ #5
}
-\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ rg } }
-\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ RG } }
-\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \__driver_draw_cm_decompose_auxi:nnnnN #1#2#3#4#5
{
- \__driver_draw_literal:x
+ \use:x
{
- #1 ~ #2 ~ #3 ~ #4 ~
- \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
- cm
+ \__driver_draw_cm_decompose_auxii:nnnnN
+ { \fp_eval:n { 2 * sqrt ( #1 * #1 + #4 * #4 ) } }
+ { \fp_eval:n { 2 * sqrt ( #2 * #2 + #3 * #3 ) } }
+ { \fp_eval:n { atand ( #3 , #2 ) } }
+ { \fp_eval:n { atand ( #4 , #1 ) } }
}
+ #5
}
-\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \__driver_draw_cm_decompose_auxii:nnnnN #1#2#3#4#5
{
- \hbox_set:Nn \l__driver_tmp_box
+ \use:x
{
- \tex_kern:D \__dim_eval:n {#6}
- \__driver_scope_begin:
- \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
- { 0pt } { 0pt }
- \box_move_up:nn {#7} { \box_use:N #1 }
- \__driver_scope_end:
+ \__driver_draw_cm_decompose_auxiii:nnnnN
+ { \fp_eval:n { ( #4 - #3 ) / 2 } }
+ { \fp_eval:n { ( #1 + #2 ) / 2 } }
+ { \fp_eval:n { ( #1 - #2 ) / 2 } }
+ { \fp_eval:n { ( #4 + #3 ) / 2 } }
}
- \box_set_wd:Nn \l__driver_tmp_box { 0pt }
- \box_set_ht:Nn \l__driver_tmp_box { 0pt }
- \box_set_dp:Nn \l__driver_tmp_box { 0pt }
- \box_use:N \l__driver_tmp_box
+ #5
+ }
+\cs_new_protected:Npn \__driver_draw_cm_decompose_auxiii:nnnnN #1#2#3#4#5
+ {
+ \fp_compare:nNnTF { abs( #2 ) } > { abs ( #3 ) }
+ { #5 {#1} {#2} {#3} {#4} }
+ { #5 {#1} {#3} {#2} {#4} }
+ }
+\cs_new_protected:Npn \driver_draw_box_use:Nnnnn #1#2#3#4#5
+ {
+ \__driver_scope_begin:
+ \tex_special:D { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
+ \hbox_overlap_right:n { \box_use:N #1 }
+ \tex_special:D { pdf:etrans }
+ \__driver_scope_end:
}
-\box_new:N \l__driver_tmp_box
%%
%%
%% End of file `l3dvipdfmx.def'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
index ad402056269..858d736bd45 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvips.def
@@ -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: l3drivers.dtx Copyright(C) 2011-2017 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
{l3dvips.def}{2017/03/18}{}
{L3 Experimental driver: dvips}
@@ -51,10 +51,14 @@
\cs_new_protected:Npn \driver_color_rgb:nnn #1#2#3
{ \__driver_color_select:n { rgb~ #1 ~ #2 ~ #3 } }
\cs_new_protected:Npn \driver_color_spot:nn #1#2
- { \__driver_color_select:n { color~push~\c_space_tl #1 } }
+ { \__driver_color_select:n { \c_space_tl #1 } }
\cs_new_protected:Npn \__driver_color_select:n #1
- { \tex_special:D { color~push~ #1 } }
-\cs_new_protected:Npn \driver_color_reset:
+ {
+ \tex_special:D { color~push~ #1 }
+ \tex_special:D { ps::/l3fc~{ }~def }
+ \group_insert_after:N \__driver_color_reset:
+ }
+\cs_new_protected:Npn \__driver_color_reset:
{ \tex_special:D { color~pop } }
\cs_new_protected:Npn \__driver_literal:n #1
{
@@ -128,20 +132,21 @@
\tex_special:D { PSfile = #1 }
}
\cs_new_protected:Npn \__driver_draw_literal:n #1
- { \tex_special:D { ps:: ~ #1 } }
+ { \tex_special:D { ps:: #1 } }
\cs_generate_variant:Nn \__driver_draw_literal:n { x }
\cs_new_protected:Npn \driver_draw_begin:
{
- \tex_special:D { ps::[begin] }
- \tex_special:D { ps::~save }
- \tex_special:D { ps::~/l3x~currentpoint~/l3y~exch~def~def }
- \tex_special:D { ps::~@beginspecial }
+ \__driver_draw_literal:n { [begin] }
+ \__driver_draw_literal:n { save }
+ \__driver_draw_literal:n { /l3x~currentpoint~/l3y~exch~def~def }
+ \__driver_draw_literal:n { @beginspecial }
+ \__driver_draw_literal:n { /l3fc~{ }~def }
}
\cs_new_protected:Npn \driver_draw_end:
{
- \tex_special:D { ps::~@endspecial }
- \tex_special:D { ps::~restore }
- \tex_special:D { ps::[end] }
+ \__driver_draw_literal:n { @endspecial }
+ \__driver_draw_literal:n { restore }
+ \__driver_draw_literal:n { [end] }
}
\cs_new_protected:Npn \driver_draw_scope_begin:
{ \__driver_draw_literal:n { save } }
@@ -185,9 +190,7 @@
{ \__driver_draw_literal:n { closepath } }
\cs_new_protected:Npn \driver_draw_stroke:
{
- \__driver_draw_literal:n { currentdict~/l3sc~known~{gsave~l3sc}~if }
- \__driver_draw_literal:n { stroke }
- \__driver_draw_literal:n { currentdict~/l3sc~known~{grestore}~if }
+ \__driver_draw_literal:n { stroke }
\bool_if:NT \g__driver_draw_clip_bool
{
\__driver_draw_literal:x
@@ -206,13 +209,14 @@
}
\cs_new_protected:Npn \driver_draw_fill:
{
- \__driver_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if }
+ \__driver_draw_literal:n { gsave }
+ \__driver_draw_literal:n { l3fc }
\__driver_draw_literal:x
{
\bool_if:NT \g__driver_draw_eor_bool { eo }
fill
}
- \__driver_draw_literal:n { currentdict~/l3fc~known~{grestore}~if }
+ \__driver_draw_literal:n { grestore }
\bool_if:NT \g__driver_draw_clip_bool
{
\__driver_draw_literal:x
@@ -226,16 +230,15 @@
}
\cs_new_protected:Npn \driver_draw_fillstroke:
{
- \__driver_draw_literal:n { currentdict~/l3fc~known~{gsave~l3fc}~if }
+ \__driver_draw_literal:n { gsave }
+ \__driver_draw_literal:n { l3fc }
\__driver_draw_literal:x
{
\bool_if:NT \g__driver_draw_eor_bool { eo }
fill
}
- \__driver_draw_literal:n { currentdict~/l3fc~known~{grestore}~if }
- \__driver_draw_literal:n { currentdict~/l3sc~known~{gsave~l3sc}~if }
+ \__driver_draw_literal:n { grestore }
\__driver_draw_literal:n { stroke }
- \__driver_draw_literal:n { currentdict~/l3sc~known~{grestore}~if }
\bool_if:NT \g__driver_draw_clip_bool
{
\__driver_draw_literal:x
@@ -294,74 +297,37 @@
{ \__driver_draw_literal:n { 1 ~ setlinejoin } }
\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ setlinejoin } }
-\cs_new_protected:Npn \__driver_draw_color_reset:
- {
- \__driver_draw_literal:n { currentdic~/l3fc~known~{ /l3fc~ { } ~def }~if }
- \__driver_draw_literal:n { currentdic~/l3sc~known~{ /l3sc~ { } ~def }~if }
- }
-\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
- {
- \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ setcmykcolor }
- \__driver_draw_color_reset:
- }
-\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
- {
- \__driver_draw_literal:n
- { /l3fc ~ { #1 ~ #2 ~ #3 ~ #4 ~ setcmykcolor ~ } ~ def }
- }
-\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
- {
- \__driver_draw_literal:n
- { /l3sc ~ { #1 ~ #2 ~ #3 ~ #4 ~ setcmykcolor ~ } ~ def }
- }
-\cs_new_protected:Npn \driver_draw_color_gray:n #1
- {
- \__driver_draw_literal:n { #1 ~ setgray }
- \__driver_draw_color_reset:
- }
-\cs_new_protected:Npn \driver_draw_fill_gray:n #1
- { \__driver_draw_literal:n { /l3fc ~ { #1 ~ setgray } ~ def } }
-\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
- { \__driver_draw_literal:n { /l3sc ~ { #1 ~ setgray } ~ def } }
-\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
- {
- \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ setrgbcolor }
- \__driver_draw_color_reset:
- }
-\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
- {
- \__driver_draw_literal:n
- { /l3fc ~ { #1 ~ #2 ~ #3 ~ setrgbcolor } ~ def }
- }
-\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
- {
- \__driver_draw_literal:n
- { /l3sc ~ { #1 ~ #2 ~ #3 ~ setrgbcolor } ~ def }
- }
-\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_color_fill_cmyk:nnnn #1#2#3#4
+ { \__driver_draw_fill:n { #1 ~ #2 ~ #3 ~ #4 ~ setcmykcolor } }
+\cs_new_protected:Npn \driver_draw_color_stroke_cmyk:nnnn #1#2#3#4
+ { \__driver_draw_stroke:n { cmyk ~ #1 ~ #2 ~ #3 ~ #4 } }
+\cs_new_protected:Npn \driver_draw_color_fill_gray:n #1
+ { \__driver_draw_fill:n { #1 ~ setgray } }
+\cs_new_protected:Npn \driver_draw_color_stroke_gray:n #1
+ { \__driver_draw_stroke:n { gray ~ #1 } }
+\cs_new_protected:Npn \driver_draw_color_fill_rgb:nnn #1#2#3
+ { \__driver_draw_fill:n { #1 ~ #2 ~ #3 ~ setrgbcolor } }
+\cs_new_protected:Npn \driver_draw_color_stroke_rgb:nnn #1#2#3
+ { \__driver_draw_stroke:n { rgb ~ #1 ~ #2 ~ #3 } }
+\cs_new_protected:Npn \__driver_draw_color_fill:n #1
+ { \__driver_draw_literal:n { /l3fc ~ { #1 } ~ def } }
+\cs_new_protected:Npn \__driver_draw_color_stroke:n #1
{
- \__driver_draw_literal:x
- {
- [
- #1 ~ #2 ~ #3 ~ #4 ~
- \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
- ] ~
- concat
- }
+ \tex_special:D { color~push~#1 }
+ \group_insert_after:N \__driver_color_reset:
}
-\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4
+ { \__driver_draw_literal:n { [#1 ~ #2 ~ #3 ~ #4 ~ 0 ~ 0 ] ~ concat } }
+\cs_new_protected:Npn \driver_draw_box_use:Nnnnn #1#2#3#4#5
{
\__driver_scope_begin:
- \tex_special:D { ps::[end] }
- \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7}
- \tex_special:D { ps::~72~Resolution~div~72~VResolution~div~neg~scale }
- \tex_special:D { ps::~magscale~{1~DVImag~div~dup~scale}~if }
- \tex_special:D { ps::~l3x~neg~l3y~neg~translate }
- \box_set_wd:Nn #1 { 0pt }
- \box_set_ht:Nn #1 { 0pt }
- \box_set_dp:Nn #1 { 0pt }
- \box_use:N #1
- \tex_special:D { ps::[begin] }
+ \__driver_draw_literal:n { [end] }
+ \driver_draw_cm:nnnn {#2} {#3} {#4} {#5}
+ \__driver_draw_literal:n { 72~Resolution~div~72~VResolution~div~neg~scale }
+ \__driver_draw_literal:n { magscale~{1~DVImag~div~dup~scale}~if }
+ \__driver_draw_literal:n { l3x~neg~l3y~neg~translate }
+ \hbox_overlap_right:n { \box_use:N #1 }
+ \__driver_draw_literal:n { [begin] }
\__driver_scope_end:
}
%%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
index 0274ecdaea7..3cd59d4ffa3 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3dvisvgm.def
@@ -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: l3drivers.dtx Copyright(C) 2011-2017 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
{l3dvisvgm.def}{2017/03/18}{}
{L3 Experimental driver: dvisvgm}
@@ -51,10 +51,13 @@
\cs_new_protected:Npn \driver_color_rgb:nnn #1#2#3
{ \__driver_color_select:n { rgb~ #1 ~ #2 ~ #3 } }
\cs_new_protected:Npn \driver_color_spot:nn #1#2
- { \__driver_color_select:n { color~push~\c_space_tl #1 } }
+ { \__driver_color_select:n { \c_space_tl #1 } }
\cs_new_protected:Npn \__driver_color_select:n #1
- { \tex_special:D { color~push~ #1 } }
-\cs_new_protected:Npn \driver_color_reset:
+ {
+ \tex_special:D { color~push~ #1 }
+ \group_insert_after:N \__driver_color_reset:
+ }
+\cs_new_protected:Npn \__driver_color_reset:
{ \tex_special:D { color~pop } }
\cs_new_protected:Npn \__driver_literal:n #1
{ \tex_special:D { dvisvgm:raw~ #1 { ?nl } } }
@@ -349,92 +352,57 @@
{ \__driver_draw_scope:n { stroke-linejoin="round" } }
\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_scope:n { stroke-linejoin="bevel" } }
-\cs_new_protected:Npn \__driver_draw_color_cmyk_aux:NNnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \driver_draw_color_stroke_cmyk:nnnn #1#2#3#4
{
\use:x
{
- \__driver_draw_color_rgb_auxii:nnn
- { \fp_eval:n { -100 * ( (#3) * ( 1 - (#6) ) - 1 ) } }
- { \fp_eval:n { -100 * ( (#4) * ( 1 - (#6) ) + #6 - 1 ) } }
- { \fp_eval:n { -100 * ( (#5) * ( 1 - (#6) ) + #6 - 1 ) } }
+ \__driver_draw_color_fill:nnn
+ { \fp_eval:n { -100 * ( (#1) * ( 1 - (#4) ) - 1 ) } }
+ { \fp_eval:n { -100 * ( (#2) * ( 1 - (#4) ) + #4 - 1 ) } }
+ { \fp_eval:n { -100 * ( (#3) * ( 1 - (#4) ) + #4 - 1 ) } }
}
- #1 #2
}
-\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn
- { \__driver_draw_color_cmyk_aux:NNnnnnn \c_true_bool \c_true_bool }
-\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn
- { \__driver_draw_color_cmyk_aux:NNnnnnn \c_false_bool \c_true_bool }
-\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn
- { \__driver_draw_color_cmyk_aux:NNnnnnn \c_true_bool \c_false_bool }
-\cs_new_protected:Npn \__driver_draw_color_gray_aux:NNn #1#2#3
+\cs_new_eq:NN \driver_draw_color_stroke_cmyk:nnnn \driver_color_cmyk:nnnn
+\cs_new_protected:Npn \driver_draw_color_gray:n #1
{
\use:x
{
- \__driver_draw_color_gray_aux:nNN
- { \fp_eval:n { 100 * (#3)} }
+ \__driver_draw_color_gray_aux:n
+ { \fp_eval:n { 100 * (#3) } }
}
- #1 #2
}
-\cs_new_protected:Npn \__driver_draw_color_gray_aux:nNN #1
- { \__driver_draw_color_rgb_auxii:nnnNN {#1} {#1} {#1} }
-\cs_generate_variant:Nn \__driver_draw_color_gray_aux:nNN { x }
-\cs_new_protected:Npn \driver_draw_color_gray:n
- { \__driver_draw_color_gray_aux:NNn \c_true_bool \c_true_bool }
-\cs_new_protected:Npn \driver_draw_fill_gray:n
- { \__driver_draw_color_gray_aux:NNn \c_false_bool \c_true_bool }
-\cs_new_protected:Npn \driver_draw_stroke_gray:n
- { \__driver_draw_color_gray_aux:NNn \c_true_bool \c_false_bool }
-\cs_new_protected:Npn \__driver_draw_color_rgb_auxi:NNnnn #1#2#3#4#5
+\cs_new_protected:Npn \__driver_draw_color_gray_aux:n #1
+ { \__driver_draw_color_fill:nnn {#1} {#1} {#1} }
+\cs_new_eq:NN \driver_draw_color_stroke_gray:n \driver_color_gray:n
+\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
{
\use:x
{
- \__driver_draw_color_rgb_auxii:nnnNN
+ \__driver_draw_color_fill:nnn
+ { \fp_eval:n { 100 * (#1) } }
+ { \fp_eval:n { 100 * (#2) } }
{ \fp_eval:n { 100 * (#3) } }
- { \fp_eval:n { 100 * (#4) } }
- { \fp_eval:n { 100 * (#5) } }
}
- #1 #2
}
-\cs_new_protected:Npn \__driver_draw_color_rgb_auxii:nnnNN #1#2#3#4#5
+\cs_new_protected:Npn \__driver_draw_color_fill:nnn #1#2#3
{
\__driver_draw_scope:x
{
- \bool_if:NT #4
- {
- fill =
- "
- rgb
- (
- #1 \c_percent_str ,
- #2 \c_percent_str ,
- #3 \c_percent_str
- )
- "
- \bool_if:NT #5 { ~ }
- }
- \bool_if:NT #5
- {
- stroke =
- "
- rgb
- (
- #1 \c_percent_str ,
- #2 \c_percent_str ,
- #3 \c_percent_str
- )
- "
- }
+ fill =
+ "
+ rgb
+ (
+ #1 \c_percent_str ,
+ #2 \c_percent_str ,
+ #3 \c_percent_str
+ )
+ "
}
}
-\cs_new_protected:Npn \driver_draw_color_rgb:nnn
- { \__driver_draw_color_rgb_auxi:NNnnn \c_true_bool \c_true_bool }
-\cs_new_protected:Npn \driver_draw_fill_rgb:nnn
- { \__driver_draw_color_rgb_auxi:NNnnn \c_false_bool \c_true_bool }
-\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn
- { \__driver_draw_color_rgb_auxi:NNnnn \c_true_bool \c_false_bool }
-\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_eq:NN \driver_draw_color_stroke_rgb:nnn \driver_color_rgb:nnn
+\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4
{
- \__driver_draw_scope:x
+ \__driver_draw_scope:n
{
transform =
"
@@ -442,7 +410,7 @@
(
\fp_eval:n {#1} , \fp_eval:n {#2} ,
\fp_eval:n {#3} , \fp_eval:n {#4} ,
- \dim_to_decimal:n {#5} , \dim_to_decimal:n {#6}
+ 0pt , 0pt
)
"
}
@@ -450,7 +418,7 @@
\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
{
\__driver_scope_begin:
- \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5} {#6} {#7}
+ \driver_draw_cm:nnnn {#2} {#3} {#4} {#5}
\__driver_literal:n
{
< g~
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty b/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
deleted file mode 100644
index 07f85a89444..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3expan.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3expan.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3expan,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3expan}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3expan.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty b/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
deleted file mode 100644
index 5a9b4dd8f12..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3file.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3file.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3file,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3file}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3file.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty b/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
deleted file mode 100644
index 329b88718cd..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3fp.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3fp.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3fp,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3fp}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3fp.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty b/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
deleted file mode 100644
index fe63078628d..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3int.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3int.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3int,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3int}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3int.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty b/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
deleted file mode 100644
index 99870da46cd..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3keys.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3keys.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3keys,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3keys}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3keys.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
deleted file mode 100644
index 823be11785b..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3msg.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3msg.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3msg,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3msg}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3msg.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty b/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
deleted file mode 100644
index 4070330e1c1..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3names.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3names.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3names,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3names}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3names.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
index 11e0b7afb70..d321543bcae 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3pdfmode.def
@@ -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: l3drivers.dtx Copyright(C) 2011-2017 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
{l3pdfmode.def}{2017/03/18}{}
{L3 Experimental driver: PDF mode}
@@ -73,8 +73,9 @@
{ \luatex_pdfextension:D colorstack }
{ \pdftex_pdfcolorstack:D }
\exp_not:N \l__driver_color_stack_int push {#1}
+ \group_insert_after:N \exp_not:N \__driver_color_reset:
}
-\cs_new_protected:Npx \driver_color_reset:
+\cs_new_protected:Npx \__driver_color_reset:
{
\cs_if_exist:NTF \luatex_pdfextension:D
{ \luatex_pdfextension:D colorstack }
@@ -326,58 +327,30 @@
{ \__driver_draw_literal:n { 1 ~ j } }
\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_color_fill_cmyk:nnnn #1#2#3#4
+ { \__driver_color_fill_select:n { #1 ~ #2 ~ #3 ~ #4 ~ k } }
+\cs_new_protected:Npn \driver_draw_color_stroke_cmyk:nnnn #1#2#3#4
+ { \__driver_color_select:n { #1 ~ #2 ~ #3 ~ #4 ~ K } }
+\cs_new_protected:Npn \driver_draw_color_fill_gray:n #1
+ { \__driver_color_fill_select:n { #1 ~ g } }
+\cs_new_protected:Npn \driver_draw_color_stroke_gray:n #1
+ { \__driver_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \driver_draw_color_fill_rgb:nnn #1#2#3
+ { \__driver_color_fill_select:n { #1 ~ #2 ~ #3 ~ rg } }
+\cs_new_protected:Npn \driver_draw_color_stroke_rgb:nnn #1#2#3
+ { \__driver_color_select:n { #1 ~ #2 ~ #3 ~ RG } }
+\cs_new_eq:NN \__driver_color_fill_select:n \__driver_color_select:n
+\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4
{
- \__driver_draw_literal:n
- { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
+ \__driver_matrix:n { #1 ~ #2 ~ #3 ~ #4 }
}
-\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_box_use:Nnnnn #1#2#3#4#5
{
- \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ k }
- }
-\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ K } }
-\cs_new_protected:Npn \driver_draw_color_gray:n #1
- { \__driver_draw_literal:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \driver_draw_fill_gray:n #1
- { \__driver_draw_literal:n { #1 ~ g } }
-\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
- { \__driver_draw_literal:n { #1 ~ G } }
-\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
- {
- \__driver_draw_literal:n
- { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG }
- }
-\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ rg } }
-\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ RG } }
-\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
- {
- \__driver_draw_literal:x
- {
- #1 ~ #2 ~ #3 ~ #4 ~
- \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
- cm
- }
- }
-\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
- {
- \hbox_set:Nn \l__driver_tmp_box
- {
- \tex_kern:D \__dim_eval:n {#6}
- \__driver_scope_begin:
- \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
- { 0pt } { 0pt }
- \box_move_up:nn {#7} { \box_use:N #1 }
- \__driver_scope_end:
- }
- \box_set_wd:Nn \l__driver_tmp_box { 0pt }
- \box_set_ht:Nn \l__driver_tmp_box { 0pt }
- \box_set_dp:Nn \l__driver_tmp_box { 0pt }
- \box_use:N \l__driver_tmp_box
+ \__driver_scope_begin:
+ \driver_draw_cm:nnnn {#2} {#3} {#4} {#5}
+ \hbox_overlap_right:n { \box_use:N #1 }
+ \__driver_scope_end:
}
-\box_new:N \l__driver_tmp_box
%%
%%
%% End of file `l3pdfmode.def'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
deleted file mode 100644
index 4c13ce414b5..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prg.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3prg.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3prg,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3prg}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3prg.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty b/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
deleted file mode 100644
index 2df08dc0dcd..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3prop.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3prop.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3prop,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3prop}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3prop.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty b/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
deleted file mode 100644
index 6c861dae9b2..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3quark.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3quark.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3quark,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3quark}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3quark.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty b/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
deleted file mode 100644
index fa005ddd817..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3seq.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3seq.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3seq,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3seq}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3seq.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty b/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
deleted file mode 100644
index d92c579985a..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3skip.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3skip.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3skip,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3skip}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3skip.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str.sty b/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
index 37a522d22b0..966ecdc1625 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str.sty
@@ -31,18 +31,15 @@
\typeout{** }
\typeout{** Its functionality is now only provided as part of the expl3 package.}
\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
+\typeout{** The old packages will be removed entirely at the end of 2018.}
\typeout{** }
\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
\typeout{** }
\typeout{*******************************************************************}
-\PackageError
+\PackageWarning
\old@liii@module@name{This package is obsolete ---
use 'expl3' instead}
- \@ehc
\RequirePackage{expl3}
%%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty b/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
deleted file mode 100644
index 664667d568e..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3tl.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3tl.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3tl,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3tl}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3tl.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty b/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
deleted file mode 100644
index ec042d51175..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3token.sty
+++ /dev/null
@@ -1,50 +0,0 @@
-%%
-%% This is file `l3token.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3oldmodules.dtx (with options: `l3token,oldmodules')
-%%
-%% Copyright (C) 1990-2018 The LaTeX3 Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3oldmodules.dtx Copyright (C) 2014-2018 The LaTeX3 Project
-\def\old@liii@module@name
-{l3token}
-\ProvidesPackage\old@liii@module@name
- [%
- 2017/03/18 Obsolete L3 package
- ]
-\typeout{*****************************************************************}
-\typeout{** }
-\typeout{** Package \old@liii@module@name\space is obsolete and has been removed!}
-\typeout{** }
-\typeout{** Its functionality is now only provided as part of the expl3 package.}
-\typeout{** }
-\typeout{** After showing you an error message you can hit <return> we will continue}
-\typeout{** for now by loading expl3 for you. However, the old packages will be}
-\typeout{** removed entirely at the end of 2017.}
-\typeout{** }
-\typeout{** Therefore, please replace '\string\usepackage{\old@liii@module@name}'}
-\typeout{** with '\string\usepackage{expl3}' in your documents as soon as possible.}
-\typeout{** }
-\typeout{*******************************************************************}
-\PackageError
- \old@liii@module@name{This package is obsolete ---
- use 'expl3' instead}
- \@ehc
-\RequirePackage{expl3}
-
-%%
-%%
-%% End of file `l3token.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
index a3448270a51..d72da1a8865 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3xdvipdfmx.def
@@ -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: l3drivers.dtx Copyright(C) 2011-2017 The LaTeX3 Project
+%% File: l3drivers.dtx Copyright(C) 2011-2018 The LaTeX3 Project
\ProvidesExplFile
{l3xdvidpfmx.def}{2017/03/18}{}
{L3 Experimental driver: xdvipdfmx}
@@ -51,10 +51,13 @@
\cs_new_protected:Npn \driver_color_rgb:nnn #1#2#3
{ \__driver_color_select:n { rgb~ #1 ~ #2 ~ #3 } }
\cs_new_protected:Npn \driver_color_spot:nn #1#2
- { \__driver_color_select:n { color~push~\c_space_tl #1 } }
+ { \__driver_color_select:n { \c_space_tl #1 } }
\cs_new_protected:Npn \__driver_color_select:n #1
- { \tex_special:D { color~push~ #1 } }
-\cs_new_protected:Npn \driver_color_reset:
+ {
+ \tex_special:D { color~push~ #1 }
+ \group_insert_after:N \__driver_color_reset:
+ }
+\cs_new_protected:Npn \__driver_color_reset:
{ \tex_special:D { color~pop } }
\cs_new_protected:Npn \__driver_literal:n #1
{ \tex_special:D { pdf:literal~ #1 } }
@@ -325,58 +328,97 @@
{ \__driver_draw_literal:n { 1 ~ j } }
\cs_new_protected:Npn \driver_draw_join_bevel:
{ \__driver_draw_literal:n { 2 ~ j } }
-\cs_new_protected:Npn \driver_draw_color_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \driver_draw_color_fill_cmyk:nnnn #1#2#3#4
+ { \__driver_color_fill_select:n { #1 ~ #2 ~ #3 ~ #4 ~ k } }
+\cs_new_protected:Npn \driver_draw_color_stroke_cmyk:nnnn #1#2#3#4
+ { \__driver_color_select:n { #1 ~ #2 ~ #3 ~ #4 ~ K } }
+\cs_new_protected:Npn \driver_draw_color_fill_gray:n #1
+ { \__driver_color_fill_select:n { #1 ~ g } }
+\cs_new_protected:Npn \driver_draw_color_stroke_gray:n #1
+ { \__driver_color_select:n { #1 ~ G } }
+\cs_new_protected:Npn \driver_draw_color_fill_rgb:nnn #1#2#3
+ { \__driver_color_fill_select:n { #1 ~ #2 ~ #3 ~ rg } }
+\cs_new_protected:Npn \driver_draw_color_stroke_rgb:nnn #1#2#3
+ { \__driver_color_select:n { #1 ~ #2 ~ #3 ~ RG } }
+\cs_new_eq:NN \__driver_color_fill_select:n \__driver_draw_literal:n
+\cs_new_protected:Npn \driver_draw_cm:nnnn #1#2#3#4
{
- \__driver_draw_literal:n
- { #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
+ \__driver_draw_cm_decompose:nnnnN {#1} {#2} {#3} {#4}
+ \__driver_draw_cm:nnnn
}
-\cs_new_protected:Npn \driver_draw_fill_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__driver_draw_cm:nnnn #1#2#3#4
{
- \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ k }
+ \tex_special:D
+ {
+ x:rotate~
+ \fp_compare:nNnTF {#1} = \c_zero_fp
+ { 0 }
+ { \fp_eval:n { round ( -#1 , 5 ) } }
+ }
+ \tex_special:D
+ {
+ x:scale~
+ \fp_eval:n { round ( #2 , 5 ) } ~
+ \fp_eval:n { round ( #3 , 5 ) }
+ }
+ \tex_special:D
+ {
+ x:rotate~
+ \fp_compare:nNnTF {#4} = \c_zero_fp
+ { 0 }
+ { \fp_eval:n { round ( -#4 , 5 ) } }
+ }
}
-\cs_new_protected:Npn \driver_draw_stroke_cmyk:nnnn #1#2#3#4
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ #4 ~ K } }
-\cs_new_protected:Npn \driver_draw_color_gray:n #1
- { \__driver_draw_literal:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \driver_draw_fill_gray:n #1
- { \__driver_draw_literal:n { #1 ~ g } }
-\cs_new_protected:Npn \driver_draw_stroke_gray:n #1
- { \__driver_draw_literal:n { #1 ~ G } }
-\cs_new_protected:Npn \driver_draw_color_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__driver_draw_cm_decompose:nnnnN #1#2#3#4#5
{
- \__driver_draw_literal:n
- { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG }
+ \use:x
+ {
+ \__driver_draw_cm_decompose_auxi:nnnnN
+ { \fp_eval:n { (#1 + #4) / 2 } }
+ { \fp_eval:n { (#1 - #4) / 2 } }
+ { \fp_eval:n { (#3 + #2) / 2 } }
+ { \fp_eval:n { (#3 - #2) / 2 } }
+ }
+ #5
}
-\cs_new_protected:Npn \driver_draw_fill_rgb:nnn #1#2#3
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ rg } }
-\cs_new_protected:Npn \driver_draw_stroke_rgb:nnn #1#2#3
- { \__driver_draw_literal:n { #1 ~ #2 ~ #3 ~ RG } }
-\cs_new_protected:Npn \driver_draw_transformcm:nnnnnn #1#2#3#4#5#6
+\cs_new_protected:Npn \__driver_draw_cm_decompose_auxi:nnnnN #1#2#3#4#5
{
- \__driver_draw_literal:x
+ \use:x
{
- #1 ~ #2 ~ #3 ~ #4 ~
- \dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
- cm
+ \__driver_draw_cm_decompose_auxii:nnnnN
+ { \fp_eval:n { 2 * sqrt ( #1 * #1 + #4 * #4 ) } }
+ { \fp_eval:n { 2 * sqrt ( #2 * #2 + #3 * #3 ) } }
+ { \fp_eval:n { atand ( #3 , #2 ) } }
+ { \fp_eval:n { atand ( #4 , #1 ) } }
}
+ #5
}
-\cs_new_protected:Npn \driver_draw_hbox:Nnnnnnn #1#2#3#4#5#6#7
+\cs_new_protected:Npn \__driver_draw_cm_decompose_auxii:nnnnN #1#2#3#4#5
{
- \hbox_set:Nn \l__driver_tmp_box
+ \use:x
{
- \tex_kern:D \__dim_eval:n {#6}
- \__driver_scope_begin:
- \driver_draw_transformcm:nnnnnn {#2} {#3} {#4} {#5}
- { 0pt } { 0pt }
- \box_move_up:nn {#7} { \box_use:N #1 }
- \__driver_scope_end:
+ \__driver_draw_cm_decompose_auxiii:nnnnN
+ { \fp_eval:n { ( #4 - #3 ) / 2 } }
+ { \fp_eval:n { ( #1 + #2 ) / 2 } }
+ { \fp_eval:n { ( #1 - #2 ) / 2 } }
+ { \fp_eval:n { ( #4 + #3 ) / 2 } }
}
- \box_set_wd:Nn \l__driver_tmp_box { 0pt }
- \box_set_ht:Nn \l__driver_tmp_box { 0pt }
- \box_set_dp:Nn \l__driver_tmp_box { 0pt }
- \box_use:N \l__driver_tmp_box
+ #5
+ }
+\cs_new_protected:Npn \__driver_draw_cm_decompose_auxiii:nnnnN #1#2#3#4#5
+ {
+ \fp_compare:nNnTF { abs( #2 ) } > { abs ( #3 ) }
+ { #5 {#1} {#2} {#3} {#4} }
+ { #5 {#1} {#3} {#2} {#4} }
+ }
+\cs_new_protected:Npn \driver_draw_box_use:Nnnnn #1#2#3#4#5
+ {
+ \__driver_scope_begin:
+ \tex_special:D { pdf:btrans~matrix~ #2 ~ #3 ~ #4 ~ #5 ~ 0 ~ 0 }
+ \hbox_overlap_right:n { \box_use:N #1 }
+ \tex_special:D { pdf:etrans }
+ \__driver_scope_end:
}
-\box_new:N \l__driver_tmp_box
%%
%%
%% End of file `l3xdvipdfmx.def'.