summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-06-03 21:26:23 +0000
committerKarl Berry <karl@freefriends.org>2020-06-03 21:26:23 +0000
commit810785e2302cd260eb73f01e897c5e5978963cb8 (patch)
treea832daf8f6a5bc8c0d1dc54758abb5561e93cdb9 /Master/texmf-dist/tex/latex
parent27b8d6a6263cb4e808d7f6ad452462f9f455e97c (diff)
l3 (3jun20)
git-svn-id: svn://tug.org/texlive/trunk@55406 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def14
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def32
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def18
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def24
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def18
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty17
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty89
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex93
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
20 files changed, 228 insertions, 101 deletions
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index 2e4d20ed039..a82491c6aaa 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2020-05-05}{}
+ {l3backend-dvipdfmx.def}{2020-06-03}{}
{L3 backend support: dvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -58,14 +58,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current@color } \q_stop #1
+ { \current@color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -74,14 +74,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
{ \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
{
\__color_backend_select:x
{ rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
}
-\cs_new_protected:Npn \__color_backend_spot:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
index bc6e7ba30f7..4c768d9628a 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2020-05-05}{}
+ {l3backend-dvips.def}{2020-06-03}{}
{L3 backend support: dvips}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -79,14 +79,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current@color } \q_stop #1
+ { \current@color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -95,14 +95,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
{ \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
{
\__color_backend_select:x
{ rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
}
-\cs_new_protected:Npn \__color_backend_spot:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
@@ -472,13 +472,28 @@
\cs_new_protected:Npn \__pdf_backend_object_write_array:nn #1#2
{
\__pdf_backend_pdfmark:x
- { #1 [ ~ \exp_not:n {#2} ~ ] ~ /PUTINTERVAL }
+ { #1 ~0~ [ ~ \exp_not:n {#2} ~ ] ~ /PUTINTERVAL }
}
\cs_new_protected:Npn \__pdf_backend_object_write_dict:nn #1#2
{
\__pdf_backend_pdfmark:x
{ #1 << \exp_not:n {#2} >> /PUT }
}
+\cs_new_protected:Npn \__pdf_backend_object_write_fstream:nn #1#2
+ {
+ \exp_args:Nx
+ \__pdf_backend_object_write_fstream:nnn {#1} #2
+ }
+\cs_new_protected:Npn \__pdf_backend_object_write_fstream:nnn #1#2#3
+ {
+ \__kernel_backend_postscript:n
+ {
+ SDict ~ begin ~
+ mark ~ #1 ~ << #2 >> /PUT ~ pdfmark ~
+ mark ~ #1 ~ ( #3 )~ ( r )~ file ~ /PUT ~ pdfmark ~
+ end
+ }
+ }
\cs_new_protected:Npn \__pdf_backend_object_write_stream:nn #1#2
{
\exp_args:Nx
@@ -488,7 +503,6 @@
{
\__kernel_backend_postscript:n
{
- [nobreak]
mark ~ #1 ~ ( #3 ) /PUT ~ pdfmark ~
mark ~ #1 ~ << #2 >> /PUT ~ pdfmark
}
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
index c548b96c3aa..06d084a246d 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2020-05-05}{}
+ {l3backend-dvisvgm.def}{2020-06-03}{}
{L3 backend support: dvisvgm}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -59,14 +59,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current@color } \q_stop #1
+ { \current@color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -75,14 +75,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
{ \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
{
\__color_backend_select:x
{ rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
}
-\cs_new_protected:Npn \__color_backend_spot:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
@@ -498,11 +498,11 @@
dvisvgm:img~
\dim_to_decimal:n { \l_graphics_ury_dim } ~
\dim_to_decimal:n { \l_graphics_ury_dim } ~
- \__graphics_backend_include_bitmap_quote:w #1 " #1 " \q_stop
+ \__graphics_backend_include_bitmap_quote:w #1 " #1 " \s__graphics_stop
}
}
\cs_new_eq:NN \__graphics_backend_include_jpg:n \__graphics_backend_include_png:n
-\cs_new:Npn \__graphics_backend_include_bitmap_quote:w #1 " #2 " #3 \q_stop
+\cs_new:Npn \__graphics_backend_include_bitmap_quote:w #1 " #2 " #3 \s__graphics_stop
{ " #2 " }
%% File: l3backend-pdf.dtx
\box_new:N \l__pdf_internal_box
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
index 17ebeeafbdd..1e89dc857e6 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdfmode.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdfmode.def}{2020-05-05}{}
+ {l3backend-pdfmode.def}{2020-06-03}{}
{L3 backend support: PDF mode}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -76,10 +76,10 @@
\cs_set_protected:Npn \__color_backend_pickup:N #1
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current@color } ~ 0 ~ 0 ~ 0 \q_stop #1
+ { \current@color } ~ 0 ~ 0 ~ 0 \s__color_stop #1
}
\cs_new_protected:Npn \__color_backend_pickup:w
- #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \q_stop #7
+ #1 ~ #2 ~ #3 ~ #4 ~ #5 ~ #6 \s__color_stop #7
{
\str_if_eq:nnTF {#2} { g }
{ \tl_set:Nn #7 { gray ~ #1 } }
@@ -104,39 +104,39 @@
}
}
\int_new:N \l__kernel_color_stack_int
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\use:x
{
- \__color_backend_cmyk_aux:nnnn
+ \__color_backend_cmyk:nnnn
{ \fp_eval:n {#1} }
{ \fp_eval:n {#2} }
{ \fp_eval:n {#3} }
{ \fp_eval:n {#4} }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk_aux:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
{
\__color_backend_select:n
{ #1 ~ #2 ~ #3 ~ #4 ~ k ~ #1 ~ #2 ~ #3 ~ #4 ~ K }
}
+\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
+ { \exp_args:Nx \__color_backend_gray:n { \fp_eval:n {#1} } }
\cs_new_protected:Npn \__color_backend_gray:n #1
- { \exp_args:Nx \__color_backend_gray_aux:n { \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_gray_aux:n #1
{ \__color_backend_select:n { #1 ~ g ~ #1 ~ G } }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__color_backend_rgb:w #1~ #2 ~ #3 \s__color_stop
{
\use:x
{
- \__color_backend_rgb_aux:nnn
+ \__color_backend_rgb:nnn
{ \fp_eval:n {#1} }
{ \fp_eval:n {#2} }
{ \fp_eval:n {#3} }
}
}
-\cs_new_protected:Npn \__color_backend_rgb_aux:nnn #1#2#3
+\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
{ \__color_backend_select:n { #1 ~ #2 ~ #3 ~ rg ~ #1 ~ #2 ~ #3 ~ RG } }
-\cs_new_protected:Npn \__color_backend_spot:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ sc ~ #2 ~ SC } }
\cs_new_protected:Npx \__color_backend_select:n #1
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def
index 8065a5ce5ca..e385c1bcf80 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xdvipdfmx.def
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xdvipdfmx.def}{2020-05-05}{}
+ {l3backend-xdvipdfmx.def}{2020-06-03}{}
{L3 backend support: xdvipdfmx}
\cs_new_eq:NN \__kernel_backend_literal:e \tex_special:D
\cs_new_protected:Npn \__kernel_backend_literal:n #1
@@ -58,14 +58,14 @@
}
{
\exp_last_unbraced:Nx \__color_backend_pickup:w
- { \current@color } \q_stop #1
+ { \current@color } \s__color_stop #1
}
}
- \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \q_stop #3
+ \cs_new_protected:Npn \__color_backend_pickup:w #1 ~ #2 \s__color_stop #3
{ \tl_set:Nn #3 { #1 ~ #2 } }
}
}
-\cs_new_protected:Npn \__color_backend_cmyk:nnnn #1#2#3#4
+\cs_new_protected:Npn \__color_backend_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
{
\__color_backend_select:x
{
@@ -74,14 +74,14 @@
\fp_eval:n {#3} ~ \fp_eval:n {#4}
}
}
-\cs_new_protected:Npn \__color_backend_gray:n #1
+\cs_new_protected:Npn \__color_backend_gray:w #1 \s__color_stop
{ \__color_backend_select:x { gray~ \fp_eval:n {#1} } }
-\cs_new_protected:Npn \__color_backend_rgb:nnn #1#2#3
+\cs_new_protected:Npn \__color_backend_rgb:w #1 ~ #2 ~ #3 \s__color_stop
{
\__color_backend_select:x
{ rgb~ \fp_eval:n {#1} ~ \fp_eval:n {#2} ~ \fp_eval:n {#3} }
}
-\cs_new_protected:Npn \__color_backend_spot:nn #1#2
+\cs_new_protected:Npn \__color_backend_spot:w #1 ~ #2 \s__color_stop
{ \__color_backend_select:n { #1 } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
@@ -480,12 +480,12 @@
\cs_new_protected:Npn \__graphics_backend_include_pdf:n #1
{
\tex_XeTeXpdffile:D
- \__graphics_backend_include_pdf_quote:w #1 "#1" \q_stop \c_space_tl
+ \__graphics_backend_include_pdf_quote:w #1 "#1" \s__graphics_stop \c_space_tl
\int_compare:nNnT \l_graphics_page_int > 0
{ page ~ \int_use:N \l_graphics_page_int \c_space_tl }
\exp_after:wN \__graphics_backend_getbb_pagebox:w \l_graphics_pagebox_tl
}
-\cs_new:Npn \__graphics_backend_include_pdf_quote:w #1 " #2 " #3 \q_stop
+\cs_new:Npn \__graphics_backend_include_pdf_quote:w #1 " #2 " #3 \s__graphics_stop
{ " #2 " }
%% File: l3backend-pdf.dtx
\box_new:N \l__pdf_internal_box
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
index e3131323517..460e957494e 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2020-05-18}{}
+\ProvidesExplPackage{l3benchmark}{2020-06-03}{}
{L3 Experimental benchmarking}
\sys_if_engine_luatex:TF
{
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
index 4b1c560d98e..fb13a807d29 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3cctab/l3cctab.sty
@@ -20,7 +20,7 @@
%%
%% File: l3cctab.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3cctab}{2020-05-18}{}
+\ProvidesExplPackage{l3cctab}{2020-06-03}{}
{L3 Experimental category code tables}
\int_new:N \g__cctab_allocate_int
\int_gset:Nn \g__cctab_allocate_int { -1 }
@@ -153,6 +153,21 @@
{ \__kernel_msg_error:nn { kernel } { cctab-extra-end } }
{ \__cctab_end: }
}
+\cs_new_protected:Npn \cctab_select:N #1
+ {
+ \__cctab_chk_if_valid:NT #1
+ {
+ \__cctab_begin:N #1
+ \group_insert_after:N \__cctab_end_fast:
+ }
+ }
+\cs_generate_variant:Nn \cctab_select:N { c }
+\cs_new_protected:Npx \__cctab_end_fast:
+ {
+ \int_gsub:Nn \exp_not:N \g__cctab_stack_int { 2 }
+ \sys_if_engine_luatex:T
+ { \seq_gpop:NN \exp_not:N \g__cctab_stack_seq \exp_not:N \l__cctab_tmp_tl }
+ }
\prg_new_eq_conditional:NNn \cctab_if_exist:N \cs_if_exist:N
{ TF , T , F , p }
\prg_new_eq_conditional:NNn \cctab_if_exist:c \cs_if_exist:c
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty b/Master/texmf-dist/tex/latex/l3experimental/l3color/l3color.sty
index d7829a472ac..86ebda3e33e 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
\RequirePackage{expl3}
-\ProvidesExplPackage{l3color}{2020-05-18}{}
+\ProvidesExplPackage{l3color}{2020-06-03}{}
{L3 Experimental color support}
\tl_new:N \l__color_internal_tl
\scan_new:N \s__color_mark
@@ -215,28 +215,95 @@
\fp_eval:n { #4 * #1 + #8 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #5 * #1 + #9 * ( 1 - #1 ) }
}
-\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \s__color_stop { \__color_parse_number:n {#1} }
+\cs_new:Npn \__color_parse_model_gray:w #1 , #2 \s__color_stop
+ { gray ~ \__color_parse_number:n {#1} }
\cs_new:Npn \__color_parse_model_rgb:w #1 , #2 , #3 , #4 \s__color_stop
{
+ rgb ~
\__color_parse_number:n {#1} ~
\__color_parse_number:n {#2} ~
\__color_parse_number:n {#3}
}
\cs_new:Npn \__color_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s__color_stop
{
+ cmyk ~
\__color_parse_number:n {#1} ~
\__color_parse_number:n {#2} ~
\__color_parse_number:n {#3} ~
\__color_parse_number:n {#4}
}
\cs_new:Npn \__color_parse_model_spot:w #1 , #2 \s__color_stop
- { \__color_parse_spot_aux:w #1 ! 100 ! \s__color_stop }
+ {
+ spot ~
+ \__color_parse_spot_aux:w #1 ! 100 ! \s__color_stop
+ }
\cs_new:Npn \__color_parse_spot_aux:w #1 ! #2 ! #3 \s__color_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
\cs_new:Npn \__color_parse_number:n #1
{ \__color_parse_number:w #1 . 0 . \s__color_stop }
\cs_new:Npn \__color_parse_number:w #1 . #2 . #3 \s__color_stop
{ \tl_if_blank:nTF {#1} { 0 } {#1} . #2 }
+\cs_new:Npn \__color_parse_model_Hsb:w #1 , #2 , #3 , #4 \s__color_stop
+ {
+ \exp_args:Ne \__color_parse_model_hsb:nnn { \fp_eval:n { #1 / 360 } }
+ {#2} {#3}
+ }
+\cs_new:Npn \__color_parse_model_hsb:nnn #1#2#3
+ {
+ rgb ~
+ \exp_args:Ne \__color_parse_model_hsb_aux:nnn
+ { \fp_eval:n { 6 * #1 } } {#2} {#3}
+ }
+\cs_new:Npn \__color_parse_model_hsb_aux:nnn #1#2#3
+ {
+ \exp_args:Nee \__color_parse_model_hsb_aux:nnnn
+ { \fp_eval:n { floor(#1) } } { \fp_eval:n { #1 - floor(#1) } }
+ {#2} {#3}
+ }
+\cs_new:Npn \__color_parse_model_hsb_aux:nnnn #1#2#3#4
+ {
+ \use:e
+ {
+ \exp_not:N \__color_parse_model_hsb_aux:nnnnn
+ { \__color_parse_number:n {#4} }
+ { \fp_eval:n { round(#4 * (1 - #3) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * #2 ) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * (1 - #2) ) ,5) } }
+ {#1}
+ }
+ }
+\cs_new:Npn \__color_parse_model_hsb_aux:nnnnn #1#2#3#4#5
+ { \use:c { __color_parse_model_hsb_ #5 :nnnn } {#1} {#2} {#3} {#4} }
+\cs_new:cpn { __color_parse_model_hsb_0:nnnn } #1#2#3#4 { #1 ~ #4 ~ #2 }
+\cs_new:cpn { __color_parse_model_hsb_1:nnnn } #1#2#3#4 { #3 ~ #1 ~ #2 }
+\cs_new:cpn { __color_parse_model_hsb_2:nnnn } #1#2#3#4 { #2 ~ #1 ~ #4 }
+\cs_new:cpn { __color_parse_model_hsb_3:nnnn } #1#2#3#4 { #2 ~ #3 ~ #1 }
+\cs_new:cpn { __color_parse_model_hsb_4:nnnn } #1#2#3#4 { #4 ~ #2 ~ #1 }
+\cs_new:cpn { __color_parse_model_hsb_5:nnnn } #1#2#3#4 { #1 ~ #2 ~ #3 }
+\cs_new:cpn { __color_parse_model_hsb_6:nnnn } #1#2#3#4 { #1 ~ #2 ~ #2 }
+\cs_new:Npn \__color_parse_model_HSB:w #1 , #2 , #3 , #4 \s__color_stop
+ {
+ \exp_args:Neee \__color_parse_model_hsb:nnn
+ { \fp_eval:n {#1 / 360} }
+ { \fp_eval:n {#2 / 255} }
+ { \fp_eval:n {#3 / 255} }
+ }
+\cs_new:Npn \__color_parse_model_HTML:w #1 , #2 \s__color_stop
+ { \__color_parse_model_HTML_aux:w #1 0 0 0 0 0 0 \s__color_stop }
+\cs_new:Npn \__color_parse_model_HTML_aux:w #1#2#3#4#5#6#7 \s__color_stop
+ {
+ rgb ~
+ \fp_eval:n { round(\int_from_hex:n {#1#2} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#3#4} / 255,5) } ~
+ \fp_eval:n { round(\int_from_hex:n {#5#6} / 255,5) }
+ }
+\cs_new:Npn \__color_parse_model_RGB:w #1 , #2 , #3 , #4 \s__color_stop
+ {
+ rgb ~
+ \fp_eval:n { round(#1 / 255,5) } ~
+ \fp_eval:n { round(#2 / 255,5) } ~
+ \fp_eval:n { round(#3 / 255,5) }
+ }
\tl_new:N \l_color_fixed_model_tl
\cs_new_protected:Npn \__color_check_model:N #1
{
@@ -277,11 +344,11 @@
\cs_if_exist:cTF { __color_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { #1 ~ \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s__color_stop }
+ { \use:c { __color_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s__color_stop }
\__color_check_model:N #3
}
{
- \__kernel_msg_error:nnn { color } { invalid-model } {#1}
+ \__kernel_msg_error:nnn { color } { unknown-model } {#1}
}
}
\tl_new:N \l__color_named_tl
@@ -347,18 +414,18 @@
\cs_new:Npn \__color_show_gray:w #1 \s__color_stop { #1 }
\cs_new:Npn \__color_show_rgb:w #1 ~ #2 ~ #3 \s__color_stop { #1 ,~ #2 ,~ #3 }
\cs_new:Npn \__color_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
-\__kernel_msg_new:nnnn { color } { invalid-model }
- { Invalid~color~model~'#1'. }
- {
- LaTeX~has~been~asked~to~use~a~color~model~called~'#1',~
- but~this~model~is~not~set~up.
- }
\__kernel_msg_new:nnnn { color } { unknown-color }
{ Unknown~color~'#1'. }
{
LaTeX~has~been~asked~to~use~a~color~named~'#1',~
but~this~has~never~been~defined.
}
+\__kernel_msg_new:nnnn { color } { unknown-model }
+ { Unknown~color~model~'#1'. }
+ {
+ LaTeX~has~been~asked~to~use~a~color~model~called~'#1',~
+ but~this~model~is~not~set~up.
+ }
\__kernel_msg_new:nnn { color } { show }
{
The~color~#1~
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index 2939b76fb99..76faead77f0 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -28,7 +28,7 @@
%%
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2020-05-18}{}
+\ProvidesExplPackage{l3draw}{2020-06-03}{}
{L3 Experimental core drawing support}
\RequirePackage { l3color }
\scan_new:N \s__draw_mark
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
index 35752a1defe..807a3339bf7 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
@@ -20,7 +20,7 @@
%%
%% File: l3graphics.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3graphics}{2020-05-18}{}
+\ProvidesExplPackage{l3graphics}{2020-06-03}{}
{L3 Experimental graphics inclusion support}
\ior_new:N \l__graphics_tmp_ior
\tl_new:N \l__graphics_tmp_tl
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty b/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
index e60cfed9fbf..255f388a75f 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3pdf/l3pdf.sty
@@ -20,7 +20,7 @@
%%
%% File: l3pdf.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3pdf}{2020-05-18}{}
+\ProvidesExplPackage{l3pdf}{2020-06-03}{}
{L3 Experimental core PDF support}
\scan_new:N \s__pdf_stop
\bool_new:N \g__pdf_init_bool
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 90025ff46e5..a0b0da8da52 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2020-05-18}{}
+\ProvidesExplPackage{l3str-format}{2020-06-03}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
index eb2f53c68e9..92c47b4066a 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
@@ -20,7 +20,7 @@
%%
%% File: l3sys-shell.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2020-05-18}{}
+\ProvidesExplPackage{l3sys-shell}{2020-06-03}{}
{L3 Experimental system shell functions}
\scan_new:N \s__sys_stop
\quark_new:N \q__sys_nil
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index e3c873bbf9b..af5f8feeb48 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -20,7 +20,7 @@
%%
%% File: xcoffins.dtx
\RequirePackage{xparse}
-\ProvidesExplPackage{xcoffins}{2020-05-18}{}
+\ProvidesExplPackage{xcoffins}{2020-06-03}{}
{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 d2811198790..7de602702be 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2020-05-18}{}
+\ProvidesExplPackage{l3galley}{2020-06-03}{}
{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 2812635e380..8b61537746d 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -20,7 +20,7 @@
%%
%% File: xgalley.dtx
\RequirePackage{xparse}
-\ProvidesExplPackage{xgalley}{2020-05-18}{}
+\ProvidesExplPackage{xgalley}{2020-06-03}{}
{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 5249b817c19..d1eab62be8b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -68,7 +68,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-05-15}%
+\def\ExplFileDate{2020-06-03}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -21066,25 +21066,27 @@
\bool_new:N \g__str_error_bool
\flag_new:n { str_byte }
\flag_new:n { str_error }
-\prg_new_conditional:Npnn \__str_if_contains_char:NN #1#2 { T , TF }
+\prg_new_conditional:Npnn \__str_if_contains_char:Nn #1#2 { T , TF }
{
- \exp_after:wN \__str_if_contains_char_aux:NN \exp_after:wN #2
- #1 { \prg_break:n { ? \fi: } }
+ \exp_after:wN \__str_if_contains_char_aux:nn \exp_after:wN {#1} {#2}
+ { \prg_break:n { ? \fi: } }
\prg_break_point:
\prg_return_false:
}
-\prg_new_conditional:Npnn \__str_if_contains_char:nN #1#2 { TF }
+\cs_new:Npn \__str_if_contains_char_aux:nn #1#2
+ { \__str_if_contains_char_auxi:nN {#2} #1 }
+\prg_new_conditional:Npnn \__str_if_contains_char:nn #1#2 { TF }
{
- \__str_if_contains_char_aux:NN #2 #1 { \prg_break:n { ? \fi: } }
+ \__str_if_contains_char_auxi:nN {#2} #1 { \prg_break:n { ? \fi: } }
\prg_break_point:
\prg_return_false:
}
-\cs_new:Npn \__str_if_contains_char_aux:NN #1#2
+\cs_new:Npn \__str_if_contains_char_auxi:nN #1#2
{
\if_charcode:w #1 #2
\exp_after:wN \__str_if_contains_char_true:
\fi:
- \__str_if_contains_char_aux:NN #1
+ \__str_if_contains_char_auxi:nN {#1}
}
\cs_new:Npn \__str_if_contains_char_true:
{ \prg_break:n { \prg_return_true: \use_none:n } }
@@ -21777,22 +21779,22 @@
\str_const:Nn \c__str_escape_name_not_str { ! " $ & ' } %$
\str_const:Nn \c__str_escape_name_str { {}/<>[] }
\cs_new_protected:Npn \__str_convert_escape_name:
- { \__str_convert_gmap:N \__str_escape_name_char:N }
-\cs_new:Npn \__str_escape_name_char:N #1
+ { \__str_convert_gmap:N \__str_escape_name_char:n }
+\cs_new:Npn \__str_escape_name_char:n #1
{
- \__str_if_escape_name:NTF #1 {#1}
+ \__str_if_escape_name:nTF {#1} {#1}
{ \c_hash_str \__str_output_hexadecimal:n {`#1} }
}
-\prg_new_conditional:Npnn \__str_if_escape_name:N #1 { TF }
+\prg_new_conditional:Npnn \__str_if_escape_name:n #1 { TF }
{
\if_int_compare:w `#1 < "2A \exp_stop_f:
- \__str_if_contains_char:NNTF \c__str_escape_name_not_str #1
+ \__str_if_contains_char:NnTF \c__str_escape_name_not_str {#1}
\prg_return_true: \prg_return_false:
\else:
\if_int_compare:w `#1 > "7E \exp_stop_f:
\prg_return_false:
\else:
- \__str_if_contains_char:NNTF \c__str_escape_name_str #1
+ \__str_if_contains_char:NnTF \c__str_escape_name_str {#1}
\prg_return_false: \prg_return_true:
\fi:
\fi:
@@ -21805,8 +21807,8 @@
{
\__str_if_escape_string:NTF #1
{
- \__str_if_contains_char:NNT
- \c__str_escape_string_str #1
+ \__str_if_contains_char:NnT
+ \c__str_escape_string_str {#1}
{ \c_backslash_str }
#1
}
@@ -21830,22 +21832,22 @@
\fi:
}
\cs_new_protected:Npn \__str_convert_escape_url:
- { \__str_convert_gmap:N \__str_escape_url_char:N }
-\cs_new:Npn \__str_escape_url_char:N #1
+ { \__str_convert_gmap:N \__str_escape_url_char:n }
+\cs_new:Npn \__str_escape_url_char:n #1
{
- \__str_if_escape_url:NTF #1 {#1}
+ \__str_if_escape_url:nTF {#1} {#1}
{ \c_percent_str \__str_output_hexadecimal:n { `#1 } }
}
-\prg_new_conditional:Npnn \__str_if_escape_url:N #1 { TF }
+\prg_new_conditional:Npnn \__str_if_escape_url:n #1 { TF }
{
\if_int_compare:w `#1 < "41 \exp_stop_f:
- \__str_if_contains_char:nNTF { "-.<> } #1
+ \__str_if_contains_char:nnTF { "-.<> } {#1}
\prg_return_true: \prg_return_false:
\else:
\if_int_compare:w `#1 > "7E \exp_stop_f:
\prg_return_false:
\else:
- \__str_if_contains_char:nNTF { [ ] } #1
+ \__str_if_contains_char:nnTF { [ ] } {#1}
\prg_return_false: \prg_return_true:
\fi:
\fi:
@@ -22330,6 +22332,43 @@
\prg_break:
}
\group_end:
+\cs_new:Npn \str_convert_pdfname:n #1
+ {
+ \exp_args:Ne \tl_to_str:n
+ { \str_map_function:nN {#1} \__str_convert_pdfname:n }
+ }
+\bool_lazy_or:nnTF
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ {
+ \cs_new:Npn \__str_convert_pdfname:n #1
+ {
+ \int_compare:nNnTF { `#1 } > { "7F }
+ { \__str_convert_pdfname_bytes:n {#1} }
+ { \__str_escape_name_char:n {#1} }
+ }
+ \cs_new:Npn \__str_convert_pdfname_bytes:n #1
+ {
+ \exp_args:Ne \__str_convert_pdfname_bytes_aux:n
+ { \char_to_utfviii_bytes:n {`#1} }
+ }
+ \cs_new:Npn \__str_convert_pdfname_bytes_aux:n #1
+ { \__str_convert_pdfname_bytes_aux:nnnn #1 }
+ \cs_new:Npx \__str_convert_pdfname_bytes_aux:nnnn #1#2#3#4
+ {
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#1}
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#2}
+ \exp_not:N \tl_if_blank:nF {#3}
+ {
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#3}
+ \exp_not:N \tl_if_blank:nF {#4}
+ {
+ \c_hash_str \exp_not:N \__str_output_hexadecimal:n {#4}
+ }
+ }
+ }
+ }
+ { \cs_new_eq:NN \__str_convert_pdfname:n \__str_escape_name_char:n }
%% File: l3tl-analysis.dtx
\scan_new:N \s__tl
\cs_new_eq:NN \l__tl_analysis_token ?
@@ -26656,15 +26695,7 @@
{ \__color_select:w #1 \s__color_stop }
\cs_generate_variant:Nn \__color_select:n { V }
\cs_new_protected:Npn \__color_select:w #1 ~ #2 \s__color_stop
- { \use:c { __color_select_ #1 :w } #2 \s__color_stop }
-\cs_new_protected:Npn \__color_select_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s__color_stop
- { \__color_backend_cmyk:nnnn {#1} {#2} {#3} {#4} }
-\cs_new_protected:Npn \__color_select_gray:w #1 \s__color_stop
- { \__color_backend_gray:n {#1} }
-\cs_new_protected:Npn \__color_select_rgb:w #1 ~ #2 ~ #3 \s__color_stop
- { \__color_backend_rgb:nnn {#1} {#2} {#3} }
-\cs_new_protected:Npn \__color_select_spot:w #1 ~ #2 \s__color_stop
- { \__color_backend_spot:nn {#1} {#2} }
+ { \use:c { __color_backend_ #1 :w } #2 \s__color_stop }
\tl_new:N \l__color_current_tl
\tl_set:Nn \l__color_current_tl { gray~0 }
%% File: l3coffins.dtx
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index e3eba08c2c6..cb8d09c4f0d 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-05-15}%
+\def\ExplFileDate{2020-06-03}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\def\tempa{LaTeX2e}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index c0cbe0e53ab..538c3fddab2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-05-15}%
+\def\ExplFileDate{2020-06-03}%
\let\ExplLoaderFileDate\ExplFileDate
\everyjob\expandafter{\the\everyjob
\message{L3 programming layer <\ExplFileDate>}%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 8878c82ddf8..4ded77abe6b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-05-15}%
+\def\ExplFileDate{2020-06-03}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%