summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-01-10 21:49:38 +0000
committerKarl Berry <karl@freefriends.org>2021-01-10 21:49:38 +0000
commita4410f9e5a2763c12cda6a12dd8241265fd0d169 (patch)
tree0ac81c2a979e76affdf0bb702cc166c83be06557 /Master/texmf-dist/tex/latex
parent1a73c52220cf76a3e48179a1f63bc50f760ff759 (diff)
l3 (9jan21)
git-svn-id: svn://tug.org/texlive/trunk@57375 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def140
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def7
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def6
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def36
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def36
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def140
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex110
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.lua2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3debug.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88591.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885910.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885911.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885913.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885914.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885915.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885916.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88592.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88593.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88594.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88595.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88596.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88597.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88598.def2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88599.def2
30 files changed, 382 insertions, 145 deletions
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index 8643b498c4a..b64b2f1b028 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -11,7 +11,7 @@
%% l3backend-graphics.dtx (with options: `package,dvipdfmx')
%% l3backend-pdf.dtx (with options: `package,dvipdfmx')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2020-09-24}{}
+ {l3backend-dvipdfmx.def}{2021-01-09}{}
{L3 backend support: dvipdfmx}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -54,20 +54,25 @@
{ \__kernel_backend_literal:n { x:gsave } }
\cs_new_protected:Npn \__kernel_backend_scope_end:
{ \__kernel_backend_literal:n { x:grestore } }
+\group_begin:
+ \cs_set:Npn \__sys_tmp:w #1 Version ~ #2 ~ #3 \q_stop {#2}
+ \sys_get_shell:nnNTF { extractbb~--version }
+ { \char_set_catcode_space:n { `\ } }
+ \l__sys_internal_tl
+ {
+ \int_const:Nn \c__kernel_sys_dvipdfmx_version_int
+ {
+ \exp_after:wN \__sys_tmp:w \l__sys_internal_tl
+ \q_stop
+ }
+ }
+ { \int_const:Nn \c__kernel_sys_dvipdfmx_version_int { 0 } }
+\group_end:
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
- {
- \__kernel_backend_literal:n { pdf: bc ~ [#1] }
- \group_insert_after:N \__color_backend_reset:
- }
-\cs_new_eq:NN \__color_backend_select_gray:n \__color_backend_select_cmyk:n
-\cs_new_eq:NN \__color_backend_select_rgb:n \__color_backend_select_cmyk:n
-\cs_new_protected:Npn \__color_backend_reset:
- { \__kernel_backend_literal:n { pdf: ec } }
\cs_new_protected:Npn \__color_backend_pickup:N #1 { }
\cs_if_exist:cT { ver@color.sty }
{
- \cs_set_protected:Npn \__color_backend_pickup:N #1
+ \cs_set_protected:Npn \__color_backend_pickup:N #1
{
\exp_args:NV \tl_if_head_is_space:nTF \current@color
{
@@ -85,13 +90,71 @@
\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_select_separation:nn #1#2
- { \__color_backend_select:n { @#1 ~ [#2] } }
+\int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \int_new:N \g__color_stack_int
+ \cs_new_protected:Npn \__kernel_color_stack_init:Nnn #1#2#3
+ {
+ \int_gincr:N \g__color_stack_int
+ \int_const:Nn #1 { \g__color_stack_int }
+ \__kernel_backend_literal:x
+ {
+ pdfcolorstackinit ~
+ \int_use:N \g__color_stack_int \c_space_tl
+ \tl_if_blank:nF {#2} { #2 ~ }
+ (#3)
+ }
+ }
+ }
+\int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \cs_new_protected:Npn \__kernel_color_stack_push:nn #1#2
+ {
+ \__kernel_backend_literal:x
+ {
+ pdfcolorstack ~
+ \int_eval:n {#1} ~
+ push ~ (#2)
+ }
+ }
+ \cs_new_protected:Npn \__kernel_color_stack_pop:n #1
+ {
+ \__kernel_backend_literal:x
+ {
+ pdfcolorstack ~
+ \int_eval:n {#1} ~
+ pop
+ }
+ }
+ }
+\int_new:N \l__kernel_color_stack_int
+\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
+ { \__color_backend_select:n { #1 ~ k ~ #1 ~ K } }
+\cs_new_protected:Npn \__color_backend_select_gray:n #1
+ { \__color_backend_select:n { #1 ~ g ~ #1 ~ G } }
+\cs_new_protected:Npn \__color_backend_select_rgb:n #1
+ { \__color_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
- \__kernel_backend_literal:n { pdf: bc ~ #1 }
+ \__kernel_color_stack_push:nn \l__kernel_color_stack_int {#1}
\group_insert_after:N \__color_backend_reset:
}
+\cs_new_protected:Npn \__color_backend_reset:
+ { \__kernel_color_stack_pop:n \l__kernel_color_stack_int }
+\int_compare:nNnT \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \cs_gset_protected:Npn \__color_backend_select_cmyk:n #1
+ {
+ \__kernel_backend_literal:n { pdf: bc ~ [#1] }
+ \group_insert_after:N \__color_backend_reset:
+ }
+ \cs_gset_eq:NN \__color_backend_select_gray:n \__color_backend_select_cmyk:n
+ \cs_gset_eq:NN \__color_backend_select_rgb:n \__color_backend_select_cmyk:n
+ \cs_gset_protected:Npn \__color_backend_reset:
+ { \__kernel_backend_literal:n { pdf: ec } }
+ }
+\cs_new_protected:Npn \__color_backend_select_separation:nn #1#2
+ { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
\cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
{
@@ -109,16 +172,19 @@
/ \str_convert_pdfname:n {#1} ~ #2 ~
\pdf_object_last:
}
+ \use:x
+ {
+ \pdfmanagement_add:nnn
+ { Page / Resources / ColorSpace }
+ { color \int_use:N \g__color_model_int }
+ { \pdf_object_last: }
+ }
}
\cs_if_exist:NF \pdf_object_now:nn
{ \cs_gset_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { } }
\cs_new_protected:Npn \__color_backend_separation_init:n #1
{
- \__kernel_backend_literal:x
- {
- pdf:obj ~ @color \int_use:N \g__color_model_int \c_space_tl
- [#1]
- }
+ \pdf_object_now:nx { array } {#1}
}
\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3
{
@@ -178,6 +244,13 @@
#2 ~
\pdf_object_last:
}
+ \use:x
+ {
+ \pdfmanagement_add:nnn
+ { Page / Resources / ColorSpace }
+ { color \int_use:N \g__color_model_int }
+ { \pdf_object_last: }
+ }
}
\cs_if_exist:NF \pdf_object_now:nn
{ \cs_gset_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 { } }
@@ -621,15 +694,26 @@
}
\cs_new:Npn \__pdf_backend_annotation_last:
{ @pdf.obj \int_use:N \g__pdf_backend_annotation_int }
+\int_new:N \g__pdf_backend_link_int
\cs_new_protected:Npn \__pdf_backend_link_begin_goto:nnw #1#2
{ \__pdf_backend_link_begin:n { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) >> } }
\cs_new_protected:Npn \__pdf_backend_link_begin_user:nnw #1#2
{ \__pdf_backend_link_begin:n {#1#2} }
-\cs_new_protected:Npn \__pdf_backend_link_begin:n #1
+\cs_new_protected:Npx \__pdf_backend_link_begin:n #1
{
- \__pdf_backend:n
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \exp_not:N \int_gincr:N \exp_not:N \g__pdf_backend_link_int
+ }
+ \__pdf_backend:x
{
- bann
+ bann ~
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
+ \c_space_tl
+ }
<<
/Type /Annot
#1
@@ -638,7 +722,14 @@
}
\cs_new_protected:Npn \__pdf_backend_link_end:
{ \__pdf_backend:n { eann } }
-\cs_new:Npn \__pdf_backend_link_last: { }
+\cs_new:Npx \__pdf_backend_link_last:
+ {
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
+ }
+ }
\cs_new_protected:Npn \__pdf_backend_link_margin:n #1
{ \__kernel_backend_literal:x { dvipdfmx:config~g~ \dim_eval:n {#1} } }
\cs_new_protected:Npn \__pdf_backend_destination:nn #1#2
@@ -657,6 +748,7 @@
{ fitbv } { /FitBV ~ @xpos }
{ fith } { /FitH ~ @ypos }
{ fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
}
{ /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
]
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
index 32425e0870a..61f8f584ea8 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
@@ -11,7 +11,7 @@
%% l3backend-graphics.dtx (with options: `package,dvips')
%% l3backend-pdf.dtx (with options: `package,dvips')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2020-09-24}{}
+ {l3backend-dvips.def}{2021-01-09}{}
{L3 backend support: dvips}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -77,7 +77,7 @@
\cs_new_protected:Npn \__color_backend_pickup:N #1 { }
\cs_if_exist:cT { ver@color.sty }
{
- \cs_set_protected:Npn \__color_backend_pickup:N #1
+ \cs_set_protected:Npn \__color_backend_pickup:N #1
{
\exp_args:NV \tl_if_head_is_space:nTF \current@color
{
@@ -894,6 +894,7 @@
{ fitbv } { /FitBV ~ pdf.dest.x }
{ fith } { /FitH ~ pdf.dest.y }
{ fitv } { /FitV ~ pdf.dest.x }
+ { fitr } { /Fit }
}
{
/XYZ ~ pdf.dest.point ~ \fp_eval:n { (#2) / 100 }
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
index a85b91ed169..28a6be023e0 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -11,7 +11,7 @@
%% l3backend-graphics.dtx (with options: `package,dvisvgm')
%% l3backend-pdf.dtx (with options: `package,dvisvgm')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2020-09-24}{}
+ {l3backend-dvisvgm.def}{2021-01-09}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -89,7 +89,7 @@
\cs_new_protected:Npn \__color_backend_pickup:N #1 { }
\cs_if_exist:cT { ver@color.sty }
{
- \cs_set_protected:Npn \__color_backend_pickup:N #1
+ \cs_set_protected:Npn \__color_backend_pickup:N #1
{
\exp_args:NV \tl_if_head_is_space:nTF \current@color
{
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
index 80181c90df3..69caa65acef 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
@@ -11,7 +11,7 @@
%% l3backend-graphics.dtx (with options: `package,luatex')
%% l3backend-pdf.dtx (with options: `package,luatex')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-luatex.def}{2020-09-24}{}
+ {l3backend-luatex.def}{2021-01-09}{}
{L3 backend support: PDF output (LuaTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -103,6 +103,25 @@
}
}
}
+\cs_new_protected:Npn \__kernel_color_stack_init:Nnn #1#2#3
+ {
+ \int_const:Nn #1
+ {
+ \tex_pdffeedback:D colorstackinit ~
+ \tl_if_blank:nF {#2} { #2 ~ }
+ {#3}
+ }
+ }
+\cs_new_protected:Npn \__kernel_color_stack_push:nn #1#2
+ {
+ \tex_pdfextension:D colorstack ~
+ \int_eval:n {#1} ~ push ~ {#2}
+ }
+\cs_new_protected:Npn \__kernel_color_stack_pop:n #1
+ {
+ \tex_pdfextension:D colorstack ~
+ \int_eval:n {#1} ~ pop \scan_stop:
+ }
\int_new:N \l__kernel_color_stack_int
\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
{ \__color_backend_select:n { #1 ~ k ~ #1 ~ K } }
@@ -112,15 +131,11 @@
{ \__color_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
- \tex_pdfextension:D colorstack
- \l__kernel_color_stack_int push {#1}
+ \__kernel_color_stack_push:nn \l__kernel_color_stack_int {#1}
\group_insert_after:N \__color_backend_reset:
}
\cs_new_protected:Npn \__color_backend_reset:
- {
- \tex_pdfextension:D colorstack
- \l__kernel_color_stack_int pop \scan_stop:
- }
+ { \__kernel_color_stack_pop:n \l__kernel_color_stack_int }
\cs_new_protected:Npn \__color_backend_select_separation:nn #1#2
{ \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
@@ -142,7 +157,7 @@
}
\use:x
{
- \pdfcoredict_gput:nnn
+ \pdfmanagement_add:nnn
{ Page / Resources / ColorSpace }
{ color \int_use:N \g__color_model_int }
{ \pdf_object_last: }
@@ -214,7 +229,7 @@
}
\use:x
{
- \pdfcoredict_gput:nnn
+ \pdfmanagement_add:nnn
{ Page / Resources / ColorSpace }
{ color \int_use:N \g__color_model_int }
{ \pdf_object_last: }
@@ -574,6 +589,7 @@
{ fitbv } { fitbv }
{ fith } { fith }
{ fitv } { fitv }
+ { fitr } { fitr }
}
{ xyz ~ zoom \fp_eval:n { #2 * 10 } }
\scan_stop:
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
index fa05b1f7721..ec7b463b0a5 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
@@ -11,7 +11,7 @@
%% l3backend-graphics.dtx (with options: `package,pdftex')
%% l3backend-pdf.dtx (with options: `package,pdftex')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdftex.def}{2020-09-24}{}
+ {l3backend-pdftex.def}{2021-01-09}{}
{L3 backend support: PDF output (pdfTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -103,6 +103,25 @@
}
}
}
+\cs_new_protected:Npn \__kernel_color_stack_init:Nnn #1#2#3
+ {
+ \int_const:Nn #1
+ {
+ \tex_pdfcolorstackinit:D
+ \tl_if_blank:nF {#2} { #2 ~ }
+ {#3}
+ }
+ }
+\cs_new_protected:Npn \__kernel_color_stack_push:nn #1#2
+ {
+ \tex_pdfcolorstack:D
+ \int_eval:n {#1} ~ push ~ {#2}
+ }
+\cs_new_protected:Npn \__kernel_color_stack_pop:n #1
+ {
+ \tex_pdfcolorstack:D
+ \int_eval:n {#1} ~ pop \scan_stop:
+ }
\int_new:N \l__kernel_color_stack_int
\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
{ \__color_backend_select:n { #1 ~ k ~ #1 ~ K } }
@@ -112,15 +131,11 @@
{ \__color_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
- \tex_pdfcolorstack:D
- \l__kernel_color_stack_int push {#1}
+ \__kernel_color_stack_push:nn \l__kernel_color_stack_int {#1}
\group_insert_after:N \__color_backend_reset:
}
\cs_new_protected:Npn \__color_backend_reset:
- {
- \tex_pdfcolorstack:D
- \l__kernel_color_stack_int pop \scan_stop:
- }
+ { \__kernel_color_stack_pop:n \l__kernel_color_stack_int }
\cs_new_protected:Npn \__color_backend_select_separation:nn #1#2
{ \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
@@ -142,7 +157,7 @@
}
\use:x
{
- \pdfcoredict_gput:nnn
+ \pdfmanagement_add:nnn
{ Page / Resources / ColorSpace }
{ color \int_use:N \g__color_model_int }
{ \pdf_object_last: }
@@ -214,7 +229,7 @@
}
\use:x
{
- \pdfcoredict_gput:nnn
+ \pdfmanagement_add:nnn
{ Page / Resources / ColorSpace }
{ color \int_use:N \g__color_model_int }
{ \pdf_object_last: }
@@ -574,6 +589,7 @@
{ fitbv } { fitbv }
{ fith } { fith }
{ fitv } { fitv }
+ { fitr } { fitr }
}
{ xyz ~ zoom \fp_eval:n { #2 * 10 } }
\scan_stop:
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
index fa755e56742..9c90ca0c6fc 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
@@ -11,7 +11,7 @@
%% l3backend-graphics.dtx (with options: `package,xetex')
%% l3backend-pdf.dtx (with options: `package,xetex')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 The LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -25,7 +25,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xetex.def}{2020-09-24}{}
+ {l3backend-xetex.def}{2021-01-09}{}
{L3 backend support: XeTeX}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -54,20 +54,25 @@
{ \__kernel_backend_literal:n { x:gsave } }
\cs_new_protected:Npn \__kernel_backend_scope_end:
{ \__kernel_backend_literal:n { x:grestore } }
+\group_begin:
+ \cs_set:Npn \__sys_tmp:w #1 Version ~ #2 ~ #3 \q_stop {#2}
+ \sys_get_shell:nnNTF { extractbb~--version }
+ { \char_set_catcode_space:n { `\ } }
+ \l__sys_internal_tl
+ {
+ \int_const:Nn \c__kernel_sys_dvipdfmx_version_int
+ {
+ \exp_after:wN \__sys_tmp:w \l__sys_internal_tl
+ \q_stop
+ }
+ }
+ { \int_const:Nn \c__kernel_sys_dvipdfmx_version_int { 0 } }
+\group_end:
%% File: l3backend-color.dtx
-\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
- {
- \__kernel_backend_literal:n { pdf: bc ~ [#1] }
- \group_insert_after:N \__color_backend_reset:
- }
-\cs_new_eq:NN \__color_backend_select_gray:n \__color_backend_select_cmyk:n
-\cs_new_eq:NN \__color_backend_select_rgb:n \__color_backend_select_cmyk:n
-\cs_new_protected:Npn \__color_backend_reset:
- { \__kernel_backend_literal:n { pdf: ec } }
\cs_new_protected:Npn \__color_backend_pickup:N #1 { }
\cs_if_exist:cT { ver@color.sty }
{
- \cs_set_protected:Npn \__color_backend_pickup:N #1
+ \cs_set_protected:Npn \__color_backend_pickup:N #1
{
\exp_args:NV \tl_if_head_is_space:nTF \current@color
{
@@ -85,13 +90,71 @@
\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_select_separation:nn #1#2
- { \__color_backend_select:n { @#1 ~ [#2] } }
+\int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \int_new:N \g__color_stack_int
+ \cs_new_protected:Npn \__kernel_color_stack_init:Nnn #1#2#3
+ {
+ \int_gincr:N \g__color_stack_int
+ \int_const:Nn #1 { \g__color_stack_int }
+ \__kernel_backend_literal:x
+ {
+ pdfcolorstackinit ~
+ \int_use:N \g__color_stack_int \c_space_tl
+ \tl_if_blank:nF {#2} { #2 ~ }
+ (#3)
+ }
+ }
+ }
+\int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \cs_new_protected:Npn \__kernel_color_stack_push:nn #1#2
+ {
+ \__kernel_backend_literal:x
+ {
+ pdfcolorstack ~
+ \int_eval:n {#1} ~
+ push ~ (#2)
+ }
+ }
+ \cs_new_protected:Npn \__kernel_color_stack_pop:n #1
+ {
+ \__kernel_backend_literal:x
+ {
+ pdfcolorstack ~
+ \int_eval:n {#1} ~
+ pop
+ }
+ }
+ }
+\int_new:N \l__kernel_color_stack_int
+\cs_new_protected:Npn \__color_backend_select_cmyk:n #1
+ { \__color_backend_select:n { #1 ~ k ~ #1 ~ K } }
+\cs_new_protected:Npn \__color_backend_select_gray:n #1
+ { \__color_backend_select:n { #1 ~ g ~ #1 ~ G } }
+\cs_new_protected:Npn \__color_backend_select_rgb:n #1
+ { \__color_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
\cs_new_protected:Npn \__color_backend_select:n #1
{
- \__kernel_backend_literal:n { pdf: bc ~ #1 }
+ \__kernel_color_stack_push:nn \l__kernel_color_stack_int {#1}
\group_insert_after:N \__color_backend_reset:
}
+\cs_new_protected:Npn \__color_backend_reset:
+ { \__kernel_color_stack_pop:n \l__kernel_color_stack_int }
+\int_compare:nNnT \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \cs_gset_protected:Npn \__color_backend_select_cmyk:n #1
+ {
+ \__kernel_backend_literal:n { pdf: bc ~ [#1] }
+ \group_insert_after:N \__color_backend_reset:
+ }
+ \cs_gset_eq:NN \__color_backend_select_gray:n \__color_backend_select_cmyk:n
+ \cs_gset_eq:NN \__color_backend_select_rgb:n \__color_backend_select_cmyk:n
+ \cs_gset_protected:Npn \__color_backend_reset:
+ { \__kernel_backend_literal:n { pdf: ec } }
+ }
+\cs_new_protected:Npn \__color_backend_select_separation:nn #1#2
+ { \__color_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
\cs_new_eq:NN \__color_backend_select_devicen:nn \__color_backend_select_separation:nn
\cs_new_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5
{
@@ -109,16 +172,19 @@
/ \str_convert_pdfname:n {#1} ~ #2 ~
\pdf_object_last:
}
+ \use:x
+ {
+ \pdfmanagement_add:nnn
+ { Page / Resources / ColorSpace }
+ { color \int_use:N \g__color_model_int }
+ { \pdf_object_last: }
+ }
}
\cs_if_exist:NF \pdf_object_now:nn
{ \cs_gset_protected:Npn \__color_backend_separation_init:nnnnn #1#2#3#4#5 { } }
\cs_new_protected:Npn \__color_backend_separation_init:n #1
{
- \__kernel_backend_literal:x
- {
- pdf:obj ~ @color \int_use:N \g__color_model_int \c_space_tl
- [#1]
- }
+ \pdf_object_now:nx { array } {#1}
}
\cs_new_protected:Npn \__color_backend_separation_init_CIELAB:nnn #1#2#3
{
@@ -178,6 +244,13 @@
#2 ~
\pdf_object_last:
}
+ \use:x
+ {
+ \pdfmanagement_add:nnn
+ { Page / Resources / ColorSpace }
+ { color \int_use:N \g__color_model_int }
+ { \pdf_object_last: }
+ }
}
\cs_if_exist:NF \pdf_object_now:nn
{ \cs_gset_protected:Npn \__color_backend_devicen_init:nnn #1#2#3 { } }
@@ -667,15 +740,26 @@
}
\cs_new:Npn \__pdf_backend_annotation_last:
{ @pdf.obj \int_use:N \g__pdf_backend_annotation_int }
+\int_new:N \g__pdf_backend_link_int
\cs_new_protected:Npn \__pdf_backend_link_begin_goto:nnw #1#2
{ \__pdf_backend_link_begin:n { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) >> } }
\cs_new_protected:Npn \__pdf_backend_link_begin_user:nnw #1#2
{ \__pdf_backend_link_begin:n {#1#2} }
-\cs_new_protected:Npn \__pdf_backend_link_begin:n #1
+\cs_new_protected:Npx \__pdf_backend_link_begin:n #1
{
- \__pdf_backend:n
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ \exp_not:N \int_gincr:N \exp_not:N \g__pdf_backend_link_int
+ }
+ \__pdf_backend:x
{
- bann
+ bann ~
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
+ \c_space_tl
+ }
<<
/Type /Annot
#1
@@ -684,7 +768,14 @@
}
\cs_new_protected:Npn \__pdf_backend_link_end:
{ \__pdf_backend:n { eann } }
-\cs_new:Npn \__pdf_backend_link_last: { }
+\cs_new:Npx \__pdf_backend_link_last:
+ {
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
+ }
+ }
\cs_new_protected:Npn \__pdf_backend_link_margin:n #1
{ \__kernel_backend_literal:x { dvipdfmx:config~g~ \dim_eval:n {#1} } }
\cs_new_protected:Npn \__pdf_backend_destination:nn #1#2
@@ -703,6 +794,7 @@
{ fitbv } { /FitBV ~ @xpos }
{ fith } { /FitH ~ @ypos }
{ fitv } { /FitV ~ @xpos }
+ { fitr } { /Fit }
}
{ /XYZ ~ @xpos ~ @ypos ~ \fp_eval:n { (#2) / 100 } }
]
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 73bfa9ffd80..1a33daae9a2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -56,7 +56,7 @@
%% l3legacy.dtx (with options: `package')
%% l3deprecation.dtx (with options: `package,kernel')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
@@ -69,7 +69,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-12-07}%
+\def\ExplFileDate{2021-01-09}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -7582,10 +7582,14 @@
\__kernel_tl_gset:Nx \g__sys_backend_tl
{
\sys_if_engine_xetex:TF
- { xdvipdfmx }
+ { xetex }
{
\sys_if_output_pdf:TF
- { pdfmode }
+ {
+ \sys_if_engine_pdftex:TF
+ { pdftex }
+ { luatex }
+ }
{ dvips }
}
}
@@ -12486,48 +12490,46 @@
\group_begin:
\cs_set_protected:Npn \__keyval_tmp:NN #1#2
{
- \cs_new:Npn \keyval_parse:NNn ##1 ##2 ##3
- { \__keyval_loop_active:NNw ##1 ##2 \s__keyval_mark ##3 #1 \s__keyval_tail #1 }
- \cs_new:Npn \__keyval_loop_active:NNw ##1 ##2 ##3 #1
+ \cs_new:Npn \keyval_parse:nnn ##1 ##2 ##3
+ { \__keyval_loop_active:nnw {##1} {##2} \s__keyval_mark ##3 #1 \s__keyval_tail #1 }
+ \cs_new_eq:NN \keyval_parse:NNn \keyval_parse:nnn
+ \cs_new:Npn \__keyval_loop_active:nnw ##1 ##2 ##3 #1
{
\__keyval_if_recursion_tail:w ##3
\__keyval_end_loop_active:w \s__keyval_tail
- \__keyval_loop_other:NNw ##1 ##2 ##3 , \s__keyval_tail ,
- \__keyval_loop_active:NNw ##1 ##2 \s__keyval_mark
+ \__keyval_loop_other:nnw {##1} {##2} ##3 , \s__keyval_tail ,
}
- \cs_new:Npn \__keyval_split_other:w ##1 = ##2 \s__keyval_mark ##3 ##4 \s__keyval_stop
+ \cs_new:Npn \__keyval_split_other:w ##1 = ##2 \s__keyval_mark ##3
{ ##3 ##1 \s__keyval_stop \s__keyval_mark ##2 }
- \cs_new:Npn \__keyval_split_active:w ##1 #2 ##2 \s__keyval_mark ##3 ##4 \s__keyval_stop
+ \cs_new:Npn \__keyval_split_active:w ##1 #2 ##2 \s__keyval_mark ##3
{ ##3 ##1 \s__keyval_stop \s__keyval_mark ##2 }
- \cs_new:Npn \__keyval_loop_other:NNw ##1 ##2 ##3 ,
+ \cs_new:Npn \__keyval_loop_other:nnw ##1 ##2 ##3 ,
{
\__keyval_if_recursion_tail:w ##3
\__keyval_end_loop_other:w \s__keyval_tail
\__keyval_split_active:w ##3 \s__keyval_nil
\s__keyval_mark \__keyval_split_active_auxi:w
#2 \s__keyval_mark \__keyval_clean_up_active:w
- \s__keyval_stop
- ##1 ##2
- \__keyval_loop_other:NNw ##1 ##2 \s__keyval_mark
+ {##1} {##2}
+ \s__keyval_mark
}
\cs_new:Npn \__keyval_split_active_auxi:w ##1 \s__keyval_stop
{
\__keyval_split_other:w ##1 \s__keyval_nil
\s__keyval_mark \__keyval_misplaced_equal_after_active_error:w
= \s__keyval_mark \__keyval_split_active_auxii:w
- \s__keyval_stop
}
\cs_new:Npn \__keyval_split_active_auxii:w
##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_after_active_error:w
\s__keyval_stop \s__keyval_mark
- { \__keyval_trim:nN { ##1 } \__keyval_split_active_auxiii:w }
+ ##2 \s__keyval_nil #2 \s__keyval_mark \__keyval_clean_up_active:w
+ { \__keyval_trim:nN {##1} \__keyval_split_active_auxiii:w ##2 \s__keyval_nil }
\cs_new:Npn \__keyval_split_active_auxiii:w ##1 ##2 \s__keyval_nil
{
\__keyval_split_active:w ##2 \s__keyval_nil
\s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
#2 \s__keyval_mark \__keyval_split_active_auxiv:w
- \s__keyval_stop
- { ##1 }
+ {##1}
}
\cs_new:Npn \__keyval_split_active_auxiv:w
##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
@@ -12536,90 +12538,93 @@
\__keyval_split_other:w ##1 \s__keyval_nil
\s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
= \s__keyval_mark \__keyval_split_active_auxv:w
- \s__keyval_stop
}
\cs_new:Npn \__keyval_split_active_auxv:w
##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
\s__keyval_stop \s__keyval_mark
- { \__keyval_trim:nN { ##1 } \__keyval_pair:nnNN }
+ { \__keyval_trim:nN { ##1 } \__keyval_pair:nnnn }
\cs_new:Npn \__keyval_clean_up_active:w
##1 \s__keyval_nil \s__keyval_mark \__keyval_split_active_auxi:w \s__keyval_stop \s__keyval_mark
{
\__keyval_split_other:w ##1 \s__keyval_nil
\s__keyval_mark \__keyval_split_other_auxi:w
= \s__keyval_mark \__keyval_clean_up_other:w
- \s__keyval_stop
}
\cs_new:Npn \__keyval_split_other_auxi:w ##1 \s__keyval_stop
{ \__keyval_trim:nN { ##1 } \__keyval_split_other_auxii:w }
- \cs_new:Npn \__keyval_split_other_auxii:w ##1 ##2 \s__keyval_nil
+ \cs_new:Npn \__keyval_split_other_auxii:w
+ ##1 ##2 \s__keyval_nil = \s__keyval_mark \__keyval_clean_up_other:w
{
\__keyval_split_other:w ##2 \s__keyval_nil
\s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
= \s__keyval_mark \__keyval_split_other_auxiii:w
- \s__keyval_stop
{ ##1 }
}
\cs_new:Npn \__keyval_split_other_auxiii:w
##1 \s__keyval_nil \s__keyval_mark \__keyval_misplaced_equal_in_split_error:w
\s__keyval_stop \s__keyval_mark
- { \__keyval_trim:nN { ##1 } \__keyval_pair:nnNN }
+ { \__keyval_trim:nN { ##1 } \__keyval_pair:nnnn }
\cs_new:Npn \__keyval_clean_up_other:w
##1 \s__keyval_nil \s__keyval_mark \__keyval_split_other_auxi:w \s__keyval_stop \s__keyval_mark
{
\__keyval_if_blank:w ##1 \s__keyval_nil \s__keyval_stop \__keyval_blank_true:w
- \s__keyval_mark \s__keyval_stop \use:n
- { \__keyval_trim:nN { ##1 } \__keyval_key:nNN }
+ \s__keyval_mark \s__keyval_stop
+ \__keyval_trim:nN { ##1 } \__keyval_key:nn
}
\cs_new:Npn \__keyval_misplaced_equal_after_active_error:w
\s__keyval_mark ##1 \s__keyval_stop \s__keyval_mark ##2 \s__keyval_nil
- \s__keyval_mark ##3 \s__keyval_nil ##4 ##5
+ = \s__keyval_mark \__keyval_split_active_auxii:w
+ \s__keyval_mark ##3 \s__keyval_nil
+ #2 \s__keyval_mark \__keyval_clean_up_active:w
{
\__kernel_msg_expandable_error:nn
{ kernel } { misplaced-equals-sign }
+ \__keyval_loop_other:nnw
}
\cs_new:Npn \__keyval_misplaced_equal_in_split_error:w
\s__keyval_mark ##1 \s__keyval_stop \s__keyval_mark ##2 \s__keyval_nil
- ##3 ##4 ##5
+ ##3 \s__keyval_mark ##4 ##5
{
\__kernel_msg_expandable_error:nn
{ kernel } { misplaced-equals-sign }
+ \__keyval_loop_other:nnw
}
\cs_new:Npn \__keyval_end_loop_other:w
\s__keyval_tail
- \__keyval_split_active:w ##1 \s__keyval_nil
- \s__keyval_mark \__keyval_split_active_auxi:w
+ \__keyval_split_active:w
+ \s__keyval_mark \s__keyval_tail
+ \s__keyval_nil \s__keyval_mark
+ \__keyval_split_active_auxi:w
#2 \s__keyval_mark \__keyval_clean_up_active:w
- \s__keyval_stop
- ##2 ##3
- \__keyval_loop_other:NNw ##4 \s__keyval_mark
- { }
+ { \__keyval_loop_active:nnw }
\cs_new:Npn \__keyval_end_loop_active:w
\s__keyval_tail
- \__keyval_loop_other:NNw ##1 , \s__keyval_tail ,
- \__keyval_loop_active:NNw ##2 \s__keyval_mark
+ \__keyval_loop_other:nnw ##1 \s__keyval_mark \s__keyval_tail , \s__keyval_tail ,
{ }
}
\char_set_catcode_active:n { `\, }
\char_set_catcode_active:n { `\= }
\__keyval_tmp:NN , =
\group_end:
-\cs_new:Npn \__keyval_pair:nnNN #1 #2 #3 #4
+\cs_new:Npn \__keyval_pair:nnnn #1 #2 #3 #4
{
\__keyval_if_blank:w \s__keyval_mark #2 \s__keyval_nil \s__keyval_stop \__keyval_blank_key_error:w
\s__keyval_mark \s__keyval_stop
\exp_not:n { #4 { #2 } { #1 } }
+ \__keyval_loop_other:nnw {#3} {#4}
}
-\cs_new:Npn \__keyval_key:nNN #1 #2 #3
+\cs_new:Npn \__keyval_key:nn #1 #2
{
\__keyval_if_blank:w \s__keyval_mark #1 \s__keyval_nil \s__keyval_stop \__keyval_blank_key_error:w
\s__keyval_mark \s__keyval_stop
\exp_not:n { #2 { #1 } }
+ \__keyval_loop_other:nnw {#2}
}
\cs_new:Npn \__keyval_if_empty:w #1 \s__keyval_mark \s__keyval_stop { }
\cs_new:Npn \__keyval_if_blank:w \s__keyval_mark #1 { \__keyval_if_empty:w \s__keyval_mark }
\cs_new:Npn \__keyval_if_recursion_tail:w \s__keyval_mark #1 \s__keyval_tail { }
-\cs_new:Npn \__keyval_blank_true:w \s__keyval_mark \s__keyval_stop \use:n #1 #2 #3 { }
+\cs_new:Npn \__keyval_blank_true:w \s__keyval_mark \s__keyval_stop \__keyval_trim:nN #1 \__keyval_key:nn
+ { \__keyval_loop_other:nnw }
\cs_new:Npn \__keyval_blank_key_error:w \s__keyval_mark \s__keyval_stop \exp_not:n #1
{
\__kernel_msg_expandable_error:nn
@@ -12642,7 +12647,6 @@
\__keyval_trim_auxiii:w
#1 \s__keyval_nil
\__keyval_trim_auxiv:w
- \s__keyval_stop
}
\cs_new:Npn \__keyval_trim_auxi:w ##1 \s__keyval_mark #1 ##2 \s__keyval_mark ##3
{
@@ -12663,8 +12667,11 @@
##1 \s__keyval_nil
\__keyval_trim_auxiii:w
}
- \cs_new:Npn \__keyval_trim_auxiv:w \s__keyval_mark ##1 \s__keyval_nil ##2 \s__keyval_stop ##3
- { ##3 { ##1 } }
+ \cs_new:Npn \__keyval_trim_auxiv:w
+ \s__keyval_mark ##1 \s__keyval_nil
+ \__keyval_trim_auxiii:w \s__keyval_nil \__keyval_trim_auxiii:w
+ ##2
+ { ##2 { ##1 } }
}
\__keyval_tmp:n { ~ }
\group_end:
@@ -30879,15 +30886,28 @@
{
\str_if_eq:nnTF {#1} { \protect }
{ \__text_purify_protect:N }
+ { \__text_purify_encoding:N #1 }
+ }
+\cs_new:Npn \__text_purify_protect:N #1
+ {
+ \__text_if_recursion_tail_stop_do:Nn #1 { \__text_purify_end:w }
+ \__text_purify_loop:w
+ }
+\cs_new:Npn \__text_purify_encoding:N #1
+ {
+ \bool_lazy_or:nnTF
+ { \cs_if_eq_p:NN #1 \@current@cmd }
+ { \cs_if_eq_p:NN #1 \@changed@cmd }
+ { \__text_purify_encoding_escape:NN }
{
\__text_if_expandable:NTF #1
{ \exp_after:wN \__text_purify_loop:w #1 }
{ \__text_purify_loop:w }
}
}
-\cs_new:Npn \__text_purify_protect:N #1
+\cs_new:Npn \__text_purify_encoding_escape:NN #1#2
{
- \__text_if_recursion_tail_stop_do:Nn #1 { \__text_purify_end:w }
+ \__text_purify_store:n {#1}
\__text_purify_loop:w
}
\cs_new_protected:Npn \text_declare_purify_equivalent:Nn #1#2
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 4c46ec1083e..85131f78f0c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -6,7 +6,7 @@
%%
%% expl3.dtx (with options: `generic,loader')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-12-07}%
+\def\ExplFileDate{2021-01-09}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index 25f25219663..0e0330f336e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -6,7 +6,7 @@
%%
%% expl3.dtx (with options: `2ekernel,loader')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-12-07}%
+\def\ExplFileDate{2021-01-09}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua
index 5b23084328a..8218ea12d9b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua
@@ -9,7 +9,7 @@
-- l3sys.dtx (with options: `package,lua')
-- l3token.dtx (with options: `package,lua')
--
--- Copyright (C) 1990-2020 The LaTeX3 Project
+-- Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index 19aeabe2956..8dd408cbee4 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -6,7 +6,7 @@
%%
%% expl3.dtx (with options: `package,loader')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2020-12-07}%
+\def\ExplFileDate{2021-01-09}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
index d597ed9713c..b90ae791235 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
@@ -6,7 +6,7 @@
%%
%% l3debug.dtx (with options: `package')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def b/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
index 2984fcc0afb..d55d6b99413 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3deprecation.def
@@ -6,7 +6,7 @@
%%
%% l3deprecation.dtx (with options: `package,patches')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 0e0ce537e00..25c80b62148 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
@@ -6,7 +6,7 @@
%%
%% l3doc.dtx (with options: `class')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex b/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
index 376e7325765..1d2e8d72a2e 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
@@ -6,7 +6,7 @@
%%
%% l3docstrip.dtx (with options: `program')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88591.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88591.def
index 45c44f027f7..ca316ec0a35 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88591.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88591.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88591')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885910.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885910.def
index 948529059e4..ccb65d42a0d 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885910.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885910.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso885910')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885911.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885911.def
index 8499b3db482..22ca3b73747 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885911.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885911.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso885911')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885913.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885913.def
index e4a37283767..bd0013fa24d 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885913.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885913.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso885913')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885914.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885914.def
index 80b71c435db..06cd8059b46 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885914.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885914.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso885914')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885915.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885915.def
index c691fac5e6e..59a23d2eb62 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885915.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885915.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso885915')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885916.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885916.def
index a6f069150e4..0208439013a 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885916.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso885916.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso885916')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88592.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88592.def
index 9535a516311..f66a2b07ae7 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88592.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88592.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88592')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88593.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88593.def
index b94b703010b..2504eb7566f 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88593.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88593.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88593')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88594.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88594.def
index 4187032f3dc..a022191de7b 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88594.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88594.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88594')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88595.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88595.def
index e69031c44c1..0b1d0a636cd 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88595.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88595.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88595')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88596.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88596.def
index 2d821d5904c..9f64c9702bc 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88596.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88596.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88596')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88597.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88597.def
index 73218e58d49..06ab82da2e2 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88597.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88597.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88597')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88598.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88598.def
index c0e4dd6e6d6..d1d0e4bad79 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88598.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88598.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88598')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88599.def b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88599.def
index 914d367b892..1a4d5a3e145 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88599.def
+++ b/Master/texmf-dist/tex/latex/l3kernel/l3str-enc-iso88599.def
@@ -6,7 +6,7 @@
%%
%% l3str-convert.dtx (with options: `iso88599')
%%
-%% Copyright (C) 1990-2020 The LaTeX3 Project
+%% Copyright (C) 1990-2021 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