summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md13
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdfbin773062 -> 786373 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md14
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin590307 -> 590320 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1571265 -> 1573631 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin263181 -> 263275 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin384459 -> 384459 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin113533 -> 113533 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin140873 -> 140873 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin143207 -> 143207 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin107122 -> 107122 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin105090 -> 105090 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin140905 -> 140905 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin119094 -> 119094 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin152504 -> 152504 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin241016 -> 241016 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin145548 -> 145548 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin164409 -> 164409 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin197648 -> 197648 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin76183 -> 76251 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin279953 -> 279972 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin228253 -> 228269 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin217624 -> 217632 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin5990023 -> 5995281 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex4
-rw-r--r--Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro2
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx50
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx382
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx46
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3.ins6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3clist.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3debug.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3flag.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3int.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx161
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3msg.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3quark.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3regex.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3skip.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sort.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sys.dtx12
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx28
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3token.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx4
-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
127 files changed, 998 insertions, 505 deletions
diff --git a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
index 61b75641de9..242cacf93aa 100644
--- a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
@@ -6,6 +6,16 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-01-09]
+
+### Added
+- Support for referencing last link with `(x)dvipdfmx` (requires an up-to-date
+ backend)
+
+### Changed
+- Implementation of color wtih (x)dvipdfmx (requires an up-to-date
+ backend)
+
## [2020-09-24]
### Fixed
@@ -125,7 +135,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-09-24...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-01-09...HEAD
+[2021-01-09]: https://github.com/latex3/latex3/compare/2020-09-24...2021-01-09
[2020-09-24]: https://github.com/latex3/latex3/compare/2020-09-11...2020-09-24
[2020-09-11]: https://github.com/latex3/latex3/compare/2020-09-01...2020-09-11
[2020-09-01]: https://github.com/latex3/latex3/compare/2020-08-07...2020-09-01
diff --git a/Master/texmf-dist/doc/latex/l3backend/README.md b/Master/texmf-dist/doc/latex/l3backend/README.md
index 0d40ed996b1..21f57acd743 100644
--- a/Master/texmf-dist/doc/latex/l3backend/README.md
+++ b/Master/texmf-dist/doc/latex/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2020-09-24
+Release 2021-01-09
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
@@ -11,6 +11,6 @@ on an independent schedule.
-----
-<p>Copyright (C) 2019,2020 The LaTeX3 Project <br />
+<p>Copyright (C) 2019-2021 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
diff --git a/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf b/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
index 0be885472ac..f0a28c396f3 100644
--- a/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
index 10e05200813..ce020127f45 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,17 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2021-01-09]
+
+### Added
+- `\keyval_parse:nnn`
+
+### Changed
+- `\keyval_parse:NNn` is set equal to `\keyval_parse:nnn`
+
+### Fixed
+- Handling of encoding-specfic commands in `\text_purify:n`
+
## [2020-12-07]
### Fixed
@@ -815,7 +826,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step func­tions have been added for dim vari­ables,
e.g. `\dim_step_in­line:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2020-12-07...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2021-01-09...HEAD
+[2021-01-09]: https://github.com/latex3/latex3/compare/2020-12-07...2021-01-09
[2020-12-07]: https://github.com/latex3/latex3/compare/2020-12-05...2020-12-07
[2020-12-05]: https://github.com/latex3/latex3/compare/2020-12-03...2020-12-05
[2020-12-03]: https://github.com/latex3/latex3/compare/2020-10-27...2020-12-03
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index b4146044e67..00087c46d8f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/README.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2020-12-07
+Release 2021-01-09
Overview
--------
@@ -80,6 +80,6 @@ the [LaTeX-L list](#Discussion) should be used.
-----
-<p>Copyright (C) 1998-2012,2015-2020 The LaTeX3 Project <br />
+<p>Copyright (C) 1998-2012,2015-2021 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index d8f391aa0ed..f87cfdb041b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index d4129e66fd4..7d756df4619 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
index 2940d491477..bc2c61ff387 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -2,7 +2,7 @@
File: interfaces3.tex
-Copyright (C) 1990-2011,2017-2020 The LaTeX3 Project
+Copyright (C) 1990-2011,2017-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 this
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-12-07}
+\date{Released 2021-01-09}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index a55d29b254d..7cac6864c4e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
index 5d39e930745..107af7a97da 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
index 2e8b35dc525..36b89432353 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
index b9d2926fd4e..0e39a68409e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
index 068def0bfc5..c48bc3a25f6 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
index dbc31a5fdab..98d34ef070f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
index 8730edbf012..71958e1c4bc 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
index d61db5f17f2..bdec3b54d48 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
index 226e5aae4f8..6d8daca1e32 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
index d44db337be9..c17dbd55636 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
index 0d792547fac..2f102b2c54a 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
index 26130e3f1ff..3697b42045a 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
index e9c62ffafbc..637c1df8f06 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
index 6ba240b0591..7d690fd463b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
index 46ce3a046b6..47a2abf9e04 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
@@ -164,6 +164,7 @@ qrbill,qrbill,Marei Peischl,https://github.com/peiTeX/qrbill,https://github.com/
quark,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
randomwalk,randomwalk,Bruno Le Floch,https://github.com/blefloch/latex-randomwalk,https://github.com/blefloch/latex-randomwalk.git,https://github.com/blefloch/latex-randomwalk/issues,2013-03-16,2015-09-22,
recursion,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
+ref,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2020-12-24,2020-12-24,
regex,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2018-04-06,
reverse,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-28,2012-09-28,
right,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
@@ -175,6 +176,7 @@ sdaps,sdaps,Benjamin Berg,https://sdaps.org,https://github.com/sdaps/sdaps-class
seq,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
shipout,ltshipout,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex2e.git,https://github.com/latex3/latex2e/issues,2020-10-01,2020-10-01,
siunitx,siunitx,Joseph Wright,https://github.com/josephwright/siunitx,https://github.com/josephwright/siunitx.git,https://github.com/josephwright/siunitx/issues,2012-11-04,2012-11-04,
+skel,skeldoc,Magnus Lie Hetland,https://github.com/mlhetland/skeldoc.sty,https://github.com/mlhetland/skeldoc.sty.git,https://github.com/mlhetland/skeldoc.sty/issues,2021-01-04,2021-01-04,
skip,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2012-09-27,
sort,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2012-09-27,2017-02-13,
space,l3kernel,The LaTeX3 Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2018-05-12,2018-05-12,
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index 6bf8a501e97..a71383c327b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index 3538053a0be..81ae7f0b4ec 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
index ac90e607df7..c5013154a39 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
@@ -2,7 +2,7 @@
File: l3styleguide.tex
-Copyright (C) 2011,2012,2014-2020 The LaTeX3 Project
+Copyright (C) 2011,2012,2014-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 this
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-12-07}
+\date{Released 2021-01-09}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index d19e3d7bb45..9bf1317663f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
index 75552220057..3ae6759ea51 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
@@ -2,7 +2,7 @@
File: l3syntax-changes.tex
-Copyright (C) 2011,2012,2017-2020 The LaTeX3 Project
+Copyright (C) 2011,2012,2017-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 this
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-12-07}
+\date{Released 2021-01-09}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
index 1e22a89464f..8b35fa230c0 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
index bf2967e713e..88f1bc395c6 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
@@ -2,7 +2,7 @@
File: l3term-glossary.tex
-Copyright (C) 2018-2020 The LaTeX3 Project
+Copyright (C) 2018-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 this
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-12-07}
+\date{Released 2021-01-09}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index 2437a516783..05f9221ca1b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
index 00c11e871fb..b1349ddcb77 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -2,7 +2,7 @@
File: source3.tex
-Copyright (C) 1990-2012,2017-2020 The LaTeX3 Project
+Copyright (C) 1990-2012,2017-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 this
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2020-12-07}
+\date{Released 2021-01-09}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro b/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro
index d459f8d47ae..6bc37a2f3f3 100644
--- a/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro
+++ b/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro
@@ -6,7 +6,7 @@
%%
%% l3backend-header.dtx (with options: `header,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
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
index 8b01e543ce0..9fad72c75d0 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-basics.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-09-24}
+% \date{Released 2021-01-09}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2020-09-24}{}
+ {l3backend-dvipdfmx.def}{2021-01-09}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2020-09-24}{}
+ {l3backend-dvips.def}{2021-01-09}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2020-09-24}{}
+ {l3backend-dvisvgm.def}{2021-01-09}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2020-09-24}{}
+ {l3backend-luatex.def}{2021-01-09}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2020-09-24}{}
+ {l3backend-pdftex.def}{2021-01-09}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2020-09-24}{}
+ {l3backend-xetex.def}{2021-01-09}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
@@ -348,8 +348,9 @@
% required.
%
% \begin{macro}{\__kernel_backend_literal_pdf:n, \__kernel_backend_literal_pdf:x}
-% Equivalent to \texttt{pdf:content} but favored as the link to
-% the \pdfTeX{} primitive approach is clearer.
+% Undocumented but equivalent to \pdfTeX{}'s |literal| keyword. It's similar to
+% be not the same as the documented |contents| keyword as that adds a |q|/|Q|
+% pair.
% \begin{macrocode}
\cs_new_protected:Npn \__kernel_backend_literal_pdf:n #1
{ \__kernel_backend_literal:n { pdf:literal~ #1 } }
@@ -379,6 +380,35 @@
% \end{macro}
%
% \begin{macrocode}
+%<@@=sys>
+% \end{macrocode}
+%
+% \begin{macro}{\c__kernel_sys_dvipdfmx_version_int}
+% A short excursion into the |sys| module to set up the backend version
+% information.
+% \begin{macrocode}
+\group_begin:
+ \cs_set:Npn \@@_tmp:w #1 Version ~ #2 ~ #3 \q_stop {#2}
+ \sys_get_shell:nnNTF { extractbb~--version }
+ { \char_set_catcode_space:n { `\ } }
+ \l_@@_internal_tl
+ {
+ \int_const:Nn \c__kernel_sys_dvipdfmx_version_int
+ {
+ \exp_after:wN \@@_tmp:w \l_@@_internal_tl
+ \q_stop
+ }
+ }
+ { \int_const:Nn \c__kernel_sys_dvipdfmx_version_int { 0 } }
+\group_end:
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+% \begin{macrocode}
%</dvipdfmx|xetex>
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
index e233c729f3a..9fd7b70694e 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-box.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-09-24}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
index baefde5d3cb..f3087b0904d 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-color.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-09-24}
+% \date{Released 2021-01-09}
%
% \maketitle
%
@@ -60,59 +60,16 @@
%<@@=color>
% \end{macrocode}
%
-% Color support is split into parts: general color, separations, and color for
+% Color support is split into parts: collecting data from \LaTeXe{}, the color stack, general color, separations, and color for
% drawings. We have different approaches in each backend, and have some choices
% to make about \texttt{dvipdfmx}/\XeTeX{} in particular. Whilst it is in some ways
% convenient to use the same approach in multiple backends, the fact that
% \texttt{dvipdfmx}/\XeTeX{} is PDF-based means it (largely) sticks closer to
% direct PDF output.
%
-% \subsection{\texttt{dvipmdfx}/\XeTeX{}}
+% \subsection{Collecting information from \LaTeXe{}}
%
-% \begin{macrocode}
-%<*dvipdfmx|xetex>
-% \end{macrocode}
-%
-% These backends have the most possible approaches: it recognises both
-% \texttt{dvips}-based color specials and it's own format, plus one can
-% include PDF statements directly. The latter are not subject to the stack,
-% so are not suitable for general use. Of the two stack methods, the dedicated
-% one has been extended to cover color spaces, so it is used in preference to
-% the \texttt{dvips} one.
-%
-% The \LaTeXe{} backend code uses \texttt{dvips}-based code with
-% \texttt{dvipmdfx}/\XeTeX{}, and so we leave getting color from \LaTeXe{} to
-% a shared code path below.
-%
-% \begin{macro}
-% {
-% \@@_backend_select_cmyk:n ,
-% \@@_backend_select_gray:n ,
-% \@@_backend_select_rgb:n
-% }
-% \begin{macro}{\@@_backend_reset:}
-% \begin{macro}{color.sc, color.fc}
-% Push the data to the stack.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_select_cmyk:n #1
- {
- \__kernel_backend_literal:n { pdf: bc ~ [#1] }
- \group_insert_after:N \@@_backend_reset:
- }
-\cs_new_eq:NN \@@_backend_select_gray:n \@@_backend_select_cmyk:n
-\cs_new_eq:NN \@@_backend_select_rgb:n \@@_backend_select_cmyk:n
-\cs_new_protected:Npn \@@_backend_reset:
- { \__kernel_backend_literal:n { pdf: ec } }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</dvipdfmx|xetex>
-% \end{macrocode}
-%
-% \subsection{\texttt{dvips}-style}
+% \subsubsection{\texttt{dvips}-style}
%
% \begin{macrocode}
%<*dvisvgm|dvipdfmx|dvips|xetex>
@@ -128,7 +85,7 @@
\cs_new_protected:Npn \@@_backend_pickup:N #1 { }
\cs_if_exist:cT { ver@color.sty }
{
- \cs_set_protected:Npn \@@_backend_pickup:N #1
+ \cs_set_protected:Npn \@@_backend_pickup:N #1
{
\exp_args:NV \tl_if_head_is_space:nTF \current@color
{
@@ -154,49 +111,7 @@
%</dvisvgm|dvipdfmx|dvips|xetex>
% \end{macrocode}
%
-% \begin{macrocode}
-%<*dvisvgm|dvips>
-% \end{macrocode}
-%
-% \begin{macro}
-% {
-% \@@_backend_select_cmyk:n ,
-% \@@_backend_select_gray:n ,
-% \@@_backend_select_rgb:n ,
-% \@@_backend_select:n
-% }
-% \begin{macro}{\@@_backend_reset:}
-% \begin{macro}{color.sc, color.fc}
-% Push the data to the stack. In the case of \texttt{dvips} also saves the
-% drawing color in raw PostScript.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_select_cmyk:n #1
- { \@@_backend_select:n { cmyk ~ #1 } }
-\cs_new_protected:Npn \@@_backend_select_gray:n #1
- { \@@_backend_select:n { gray ~ #1 } }
-\cs_new_protected:Npn \@@_backend_select_rgb:n #1
- { \@@_backend_select:n { rgb ~ #1 } }
-\cs_new_protected:Npn \@@_backend_select:n #1
- {
- \__kernel_backend_literal:n { color~push~ #1 }
-%<*dvips>
- \__kernel_backend_postscript:n { /color.sc~ { ~ } ~def }
- \__kernel_backend_postscript:n { /color.fc~ { ~ } ~def }
-%</dvips>
- \group_insert_after:N \@@_backend_reset:
- }
-\cs_new_protected:Npn \@@_backend_reset:
- { \__kernel_backend_literal:n { color~pop } }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macrocode}
-%</dvisvgm|dvips>
-% \end{macrocode}
-%
-% \subsection{\LuaTeX{} and \pdfTeX{}}
+% \subsubsection{\LuaTeX{} and \pdfTeX{}}
%
% \begin{macrocode}
%<*luatex|pdftex>
@@ -247,9 +162,192 @@
% \end{macro}
% \end{macro}
%
+% \begin{macrocode}
+%</luatex|pdftex>
+% \end{macrocode}
+%
+% \subsection{The color stack}
+%
+% For PDF-based engines, we have a color stack available inside the specials.
+% This is used for concepts beyond color itself: it is needed to manage th graphics
+% state generally. The exact form depends on the engine, and for
+% \texttt{dvipdfmx}/\XeTeX{} the backend version.
+%
+% \subsubsection{\texttt{dvipdfmx}/\XeTeX{}}
+%
+% \begin{macrocode}
+%<*dvipdfmx|xetex>
+% \end{macrocode}
+%
+% \begin{macro}{\__kernel_color_stack_init:Nnn}
+% \begin{variable}{\g__color_stack_int}
+% In \texttt{(x)dvipdfmx}, the base color stack is not set up, so we have to
+% force that, as well as providing a mechanism more generally.
+% \begin{macrocode}
+\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)
+ }
+ }
+ }
+% \end{macrocode}
+% \end{variable}
+% \end{macro}
+%
+% \begin{macro}{\__kernel_color_stack_push:nn}
+% \begin{macro}{\__kernel_color_stack_pop:n}
+% Simple enough but needs a version check.
+% \begin{macrocode}
+\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
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</dvipdfmx|xetex>
+% \end{macrocode}
+%
+% \subsubsection{\LuaTeX and \pdfTeX{}}
+%
+% \begin{macrocode}
+%<*luatex|pdftex>
+% \end{macrocode}
+%
+% \begin{macro}{\__kernel_color_stack_init:Nnn}
+% \begin{macrocode}
+\cs_new_protected:Npn \__kernel_color_stack_init:Nnn #1#2#3
+ {
+ \int_const:Nn #1
+ {
+%<*luatex>
+ \tex_pdffeedback:D colorstackinit ~
+%</luatex>
+%<*pdftex>
+ \tex_pdfcolorstackinit:D
+%</pdftex>
+ \tl_if_blank:nF {#2} { #2 ~ }
+ {#3}
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\__kernel_color_stack_push:nn}
+% \begin{macro}{\__kernel_color_stack_pop:n}
+% \begin{macrocode}
+\cs_new_protected:Npn \__kernel_color_stack_push:nn #1#2
+ {
+%<*luatex>
+ \tex_pdfextension:D colorstack ~
+%</luatex>
+%<*pdftex>
+ \tex_pdfcolorstack:D
+%</pdftex>
+ \int_eval:n {#1} ~ push ~ {#2}
+ }
+\cs_new_protected:Npn \__kernel_color_stack_pop:n #1
+ {
+%<*luatex>
+ \tex_pdfextension:D colorstack ~
+%</luatex>
+%<*pdftex>
+ \tex_pdfcolorstack:D
+%</pdftex>
+ \int_eval:n {#1} ~ pop \scan_stop:
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</luatex|pdftex>
+% \end{macrocode}
+%
+% \subsection{General color}
+%
+% \subsubsection{\texttt{dvips}-style}
+%
+% \begin{macrocode}
+%<*dvips|dvisvgm>
+% \end{macrocode}
+%
+% \begin{macro}
+% {
+% \@@_backend_select_cmyk:n ,
+% \@@_backend_select_gray:n ,
+% \@@_backend_select_rgb:n ,
+% \@@_backend_select:n
+% }
+% \begin{macro}{\@@_backend_reset:}
+% \begin{macro}{color.sc, color.fc}
+% Push the data to the stack. In the case of \texttt{dvips} also saves the
+% drawing color in raw PostScript.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_backend_select_cmyk:n #1
+ { \@@_backend_select:n { cmyk ~ #1 } }
+\cs_new_protected:Npn \@@_backend_select_gray:n #1
+ { \@@_backend_select:n { gray ~ #1 } }
+\cs_new_protected:Npn \@@_backend_select_rgb:n #1
+ { \@@_backend_select:n { rgb ~ #1 } }
+\cs_new_protected:Npn \@@_backend_select:n #1
+ {
+ \__kernel_backend_literal:n { color~push~ #1 }
+%<*dvips>
+ \__kernel_backend_postscript:n { /color.sc~ { ~ } ~def }
+ \__kernel_backend_postscript:n { /color.fc~ { ~ } ~def }
+%</dvips>
+ \group_insert_after:N \@@_backend_reset:
+ }
+\cs_new_protected:Npn \@@_backend_reset:
+ { \__kernel_backend_literal:n { color~pop } }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</dvips|dvisvgm>
+% \end{macrocode}
+%
+% \subsubsection{\LuaTeX{} and \pdfTeX{}}
+%
+% \begin{macrocode}
+%<*dvipdfmx|luatex|pdftex|xetex>
+% \end{macrocode}
+%
% \begin{variable}{\l__kernel_color_stack_int}
-% \pdfTeX{} and \LuaTeX{} have multiple stacks available, and to track
-% which one is in use a variable is required.
+% \pdfTeX{}, \LuaTeX{} and recent \texttt{(x)dvipdfmx} have multiple stacks
+% available, and to track which one is in use a variable is required.
% \begin{macrocode}
\int_new:N \l__kernel_color_stack_int
% \end{macrocode}
@@ -272,31 +370,60 @@
{ \@@_backend_select:n { #1 ~ rg ~ #1 ~ RG } }
\cs_new_protected:Npn \@@_backend_select:n #1
{
-%<*luatex>
- \tex_pdfextension:D colorstack
-%</luatex>
-%<*pdftex>
- \tex_pdfcolorstack:D
-%</pdftex>
- \l__kernel_color_stack_int push {#1}
+ \__kernel_color_stack_push:nn \l__kernel_color_stack_int {#1}
\group_insert_after:N \@@_backend_reset:
}
\cs_new_protected:Npn \@@_backend_reset:
+ { \__kernel_color_stack_pop:n \l__kernel_color_stack_int }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</dvipdfmx|luatex|pdftex|xetex>
+% \end{macrocode}
+%
+% \subsubsection{\texttt{dvipmdfx}/\XeTeX{}}
+%
+% \begin{macrocode}
+%<*dvipdfmx|xetex>
+% \end{macrocode}
+%
+% These backends have the most possible approaches: it recognises both
+% \texttt{dvips}-based color specials and it's own format, plus one can
+% include PDF statements directly. Recent releases also have a color stack
+% approach similar to \pdfTeX{}. Of the stack methods, the dedicated
+% the most versatile is the latter as it can cover all of the use cases
+% we have. Thus it is used in preference to the \texttt{dvips}-style interface
+% or the \enquote{native} color specials (which have only one stack).
+%
+% \begin{macro}
+% {
+% \@@_backend_select_cmyk:n ,
+% \@@_backend_select_gray:n ,
+% \@@_backend_select_rgb:n
+% }
+% \begin{macro}{\@@_backend_reset:}
+% Push the data to the stack.
+% \begin{macrocode}
+\int_compare:nNnT \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
{
-%<*luatex>
- \tex_pdfextension:D colorstack
-%</luatex>
-%<*pdftex>
- \tex_pdfcolorstack:D
-%</pdftex>
- \l__kernel_color_stack_int pop \scan_stop:
+ \cs_gset_protected:Npn \@@_backend_select_cmyk:n #1
+ {
+ \__kernel_backend_literal:n { pdf: bc ~ [#1] }
+ \group_insert_after:N \@@_backend_reset:
+ }
+ \cs_gset_eq:NN \@@_backend_select_gray:n \@@_backend_select_cmyk:n
+ \cs_gset_eq:NN \@@_backend_select_rgb:n \@@_backend_select_cmyk:n
+ \cs_gset_protected:Npn \@@_backend_reset:
+ { \__kernel_backend_literal:n { pdf: ec } }
}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macrocode}
-%</luatex|pdftex>
+%</dvipdfmx|xetex>
% \end{macrocode}
%
% \subsection{Separations}
@@ -601,22 +728,12 @@
%
% \begin{macro}{\@@_backend_select_separation:nn, \@@_backend_select_devicen:nn}
% \begin{macro}{\@@_backend_select:n}
-% Different syntaxes here as the stacks are accessed very differently.
+% Although \texttt{(x)dvipdfmx} has a built-in approach to color spaces, that
+% can't be used with the generic color stacks. So we take an approach in which
+% we share the same code as for \pdfTeX{}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_select_separation:nn #1#2
-%<*dvipdfmx|xetex>
- { \@@_backend_select:n { @#1 ~ [#2] } }
-%</dvipdfmx|xetex>
-%<*luatex|pdftex>
{ \@@_backend_select:n { /#1 ~ cs ~ /#1 ~ CS ~ #2 ~ scn ~ #2 ~ SCN } }
-%</luatex|pdftex>
-%<*dvipdfmx|xetex>
-\cs_new_protected:Npn \@@_backend_select:n #1
- {
- \__kernel_backend_literal:n { pdf: bc ~ #1 }
- \group_insert_after:N \@@_backend_reset:
- }
-%</dvipdfmx|xetex>
\cs_new_eq:NN \@@_backend_select_devicen:nn \@@_backend_select_separation:nn
% \end{macrocode}
% \end{macro}
@@ -627,9 +744,7 @@
% \begin{macro}{\@@_backend_separation_init_CIELAB:nnn}
% Initialising the PDF structures needs two parts: creating an object
% containing the \enquote{real} name of the Separation, then adding a reference
-% to that to each page. The latter uses the internal name of the \texttt{cs}.
-% For \texttt{dvipdfmx}/\XeTeX{}, the backend does most of the work so we need a
-% simplified version. We use a separate object for the tint transformation
+% to that to each page. We use a separate object for the tint transformation
% following the model in the PDF reference.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_separation_init:nnnnn #1#2#3#4#5
@@ -648,30 +763,19 @@
/ \str_convert_pdfname:n {#1} ~ #2 ~
\pdf_object_last:
}
-%<*luatex|pdftex>
\use:x
{
- \pdfcoredict_gput:nnn
+ \pdfmanagement_add:nnn
{ Page / Resources / ColorSpace }
{ color \int_use:N \g_@@_model_int }
{ \pdf_object_last: }
}
-%</luatex|pdftex>
}
\cs_if_exist:NF \pdf_object_now:nn
{ \cs_gset_protected:Npn \@@_backend_separation_init:nnnnn #1#2#3#4#5 { } }
\cs_new_protected:Npn \@@_backend_separation_init:n #1
{
-%<*dvipdfmx|xetex>
- \__kernel_backend_literal:x
- {
- pdf:obj ~ @color \int_use:N \g_@@_model_int \c_space_tl
- [#1]
- }
-%</dvipdfmx|xetex>
-%<*luatex|pdftex>
\pdf_object_now:nx { array } {#1}
-%</luatex|pdftex>
}
% \end{macrocode}
% For CIELAB colors, we need one object per document for the illuminant,
@@ -746,15 +850,13 @@
#2 ~
\pdf_object_last:
}
-%<*luatex|pdftex>
\use:x
{
- \pdfcoredict_gput:nnn
+ \pdfmanagement_add:nnn
{ Page / Resources / ColorSpace }
{ color \int_use:N \g_@@_model_int }
{ \pdf_object_last: }
}
-%</luatex|pdftex>
}
\cs_if_exist:NF \pdf_object_now:nn
{ \cs_gset_protected:Npn \@@_backend_devicen_init:nnn #1#2#3 { } }
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
index 8de6910edf0..2951e215041 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-draw.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-09-24}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
index e72bbe9a588..7d288ac17d8 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-graphics.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-09-24}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
index e1584916888..80dac57f72b 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-header.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-09-24}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
index 58c7da7f086..e74ac8286b0 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-pdf.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-09-24}
+% \date{Released 2021-01-09}
%
% \maketitle
%
@@ -565,7 +565,6 @@
% question about the name of the hook: to be resolved at the \LaTeXe{}
% end.
% \begin{macrocode}
-%<*package>
\use_none:n
{
\cs_if_exist:NT \@makecol@hook
@@ -593,7 +592,6 @@
\cs_set_eq:NN \@@_breaklink_usebox:N \hbox_unpack:N
}
}
-%</package>
% \end{macrocode}
% \end{macro}
%
@@ -622,6 +620,7 @@
% Here, we need to turn the zoom into a scale. We also need to know where
% the current anchor point actually is: worked out in PostScript. For the
% rectangle version, we have a bit more PostScript: we need two points.
+% fitr without rule spec doesn't work, so it falls back to /Fit here.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_destination:nn #1#2
{
@@ -639,6 +638,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 }
@@ -883,6 +883,7 @@
{ fitbv } { fitbv }
{ fith } { fith }
{ fitv } { fitv }
+ { fitr } { fitr }
}
{ xyz ~ zoom \fp_eval:n { #2 * 10 } }
\scan_stop:
@@ -1406,6 +1407,13 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{variable}{\g_@@_backend_link_int}
+% To track annotations which are links.
+% \begin{macrocode}
+\int_new:N \g_@@_backend_link_int
+% \end{macrocode}
+% \end{variable}
+%
% \begin{macro}
% {\@@_backend_link_begin_goto:nnw, \@@_backend_link_begin_user:nnw}
% \begin{macro}{\@@_backend_link_begin:n}
@@ -1416,11 +1424,21 @@
{ \@@_backend_link_begin:n { #1 /Subtype /Link /A << /S /GoTo /D ( #2 ) >> } }
\cs_new_protected:Npn \@@_backend_link_begin_user:nnw #1#2
{ \@@_backend_link_begin:n {#1#2} }
-\cs_new_protected:Npn \@@_backend_link_begin:n #1
+\cs_new_protected:Npx \@@_backend_link_begin:n #1
{
- \@@_backend:n
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
{
- bann
+ \exp_not:N \int_gincr:N \exp_not:N \g_@@_backend_link_int
+ }
+ \@@_backend:x
+ {
+ bann ~
+ \int_compare:nNnF \c__kernel_sys_dvipdfmx_version_int < { 20201111 }
+ {
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g_@@_backend_link_int
+ \c_space_tl
+ }
<<
/Type /Annot
#1
@@ -1435,9 +1453,17 @@
% \end{macro}
%
% \begin{macro}{\@@_backend_link_last:}
-% Data not available.
+% Available using the backend mechanism with a suitably-recent
+% version.
% \begin{macrocode}
-\cs_new:Npn \@@_backend_link_last: { }
+\cs_new:Npx \@@_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_@@_backend_link_int
+ }
+ }
% \end{macrocode}
% \end{macro}
%
@@ -1453,6 +1479,7 @@
% Here, we need to turn the zoom into a scale. The method for \texttt{FitR}
% is from Alexander Grahn: the idea is to avoid needing to do any calculations
% in \TeX{} by using the backend data for \texttt{@xpos} and \texttt{@ypos}.
+% fitr without rule spec doesn't work, so it falls back to /Fit here.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_destination:nn #1#2
{
@@ -1470,6 +1497,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/source/latex/l3backend/l3backend.ins b/Master/texmf-dist/source/latex/l3backend/l3backend.ins
index 3babb97da13..ebce5ad0267 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend.ins
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend.ins
@@ -2,7 +2,7 @@
File l3backend.ins
-Copyright (C) 2019,2020 The LaTeX3 Project
+Copyright (C) 2019-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 this
@@ -35,7 +35,7 @@ license information is placed in the derived files.
\preamble
-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/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index 1f96c8298d6..b684859b760 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -2,7 +2,7 @@
%
%% File: expl3.dtx
%
-% 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 this
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2020-12-07}%
+\def\ExplFileDate{2021-01-09}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3.ins b/Master/texmf-dist/source/latex/l3kernel/l3.ins
index ad3b5267ddb..f567f2a8c65 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3.ins
+++ b/Master/texmf-dist/source/latex/l3kernel/l3.ins
@@ -2,7 +2,7 @@
File l3.ins
-Copyright (C) 2011,2012,2014-2020 The LaTeX3 Project
+Copyright (C) 2011,2012,2014-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 this
@@ -35,7 +35,7 @@ license information is placed in the derived files.
\preamble
-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
@@ -151,7 +151,7 @@ and all files in that bundle must be distributed together.
\def\MetaPrefix{--}
\preamble
-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/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index 82f1a25c026..dd95416e5aa 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
@@ -2,7 +2,7 @@
%
%% File: l3basics.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index 6643fb36be8..65397d52863 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
@@ -2,7 +2,7 @@
%
%% File: l3bootstrap.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index 572cb9b5a6e..eade06c7349 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
@@ -2,7 +2,7 @@
%
%% File: l3box.dtx
%
-% Copyright (C) 2005-2020 The LaTeX3 Project
+% Copyright (C) 2005-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index d5cefd0946f..1a3d67c01eb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -2,7 +2,7 @@
%
%% File: l3candidates.dtx
%
-% Copyright (C) 2012-2020 The LaTeX3 Project
+% Copyright (C) 2012-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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
index 5084481a356..1d393df1d40 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
@@ -2,7 +2,7 @@
%
%% File: l3cctab.dtx
%
-% Copyright (C) 2018-2020 The LaTeX3 Project
+% Copyright (C) 2018-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index 3c8d9149c0e..f88dd61968c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
@@ -3,7 +3,7 @@
%% File: l3clist.dtx
%
% Copyright (C) 2004-2011 Frank Mittelbach, The LaTeX3 Project
-% (C) 2012-2020 The LaTeX3 Project
+% (C) 2012-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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index c37a6d7c042..4c7784cdba7 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
@@ -2,7 +2,7 @@
%
%% File: l3coffins.dtx
%
-% Copyright (C) 2010-2020 The LaTeX3 Project
+% Copyright (C) 2010-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
index 6796bbafa69..8612fb93614 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3color-base.dtx
@@ -2,7 +2,7 @@
%
%% File: l3color-base.dtx
%
-% Copyright (C) 2011,2012,2014,2016-2020 The LaTeX3 Project
+% Copyright (C) 2011,2012,2014,2016-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
index 802ce32441d..bd46449673e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
@@ -2,7 +2,7 @@
%
%% File: l3debug.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index b112eb89aed..77183e8c73b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
@@ -2,7 +2,7 @@
%
%% File: l3deprecation.dtx
%
-% Copyright (C) 2017-2020 The LaTeX3 Project
+% Copyright (C) 2017-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index 76bbdfd3412..b0411437b3b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -2,7 +2,7 @@
%
%% File: l3doc.dtx
%
-% 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 this
@@ -31,7 +31,7 @@
\askforoverwritefalse
\preamble
-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
@@ -79,7 +79,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
% \maketitle
% \tableofcontents
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index f41250c05e0..4f5122da27e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
@@ -2,7 +2,7 @@
%
%% File l3dosctrip.dtx
%
-% Copyright (C) 2012,2014-2020 The LaTeX3 Project
+% Copyright (C) 2012,2014-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 this
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index a516c83742b..b842b242abd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
@@ -2,7 +2,7 @@
%
%% File: l3expan.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index cb523d6e461..a97a7a9a761 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
@@ -2,7 +2,7 @@
%
%% File: l3file.dtx
%
-% 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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index 4de5934170c..7a7546f27ce 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
@@ -2,7 +2,7 @@
%
%% File: l3flag.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index eb424f6907d..12eb3971900 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-assign.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
% \maketitle
%
% \begin{documentation}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
index 2d8e315ba84..149ccb46f9c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-aux.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index 1c6bfe0fe38..b040ac3e969 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-basics.dtx
%
-% Copyright (C) 2011-2014,2016-2020 The LaTeX3 Project
+% Copyright (C) 2011-2014,2016-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index c334df2d46b..8c4e5270f6a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-convert.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index 3f4f5cd07c6..3f7b065f05a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-expo.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index 9927e0b9cb1..dcccbe502ad 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-extended.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index 4e28c734879..0b220209a3d 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-logic.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index 1cde3d1e99e..4d72f67104f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-parse.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index f171d02bf27..b5d9012689e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-random.dtx
%
-% Copyright (C) 2016-2020 The LaTeX3 Project
+% Copyright (C) 2016-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index 66628c9d8c6..9a9ff30a580 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-round.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index 3a8eedaadee..456999ed1b8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-traps.dtx
%
-% Copyright (C) 2011-2014,2016-2020 The LaTeX3 Project
+% Copyright (C) 2011-2014,2016-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
% \maketitle
%
% \begin{documentation}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
index c65aa762de7..57ff263e7db 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp-trig.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index 898fca2a0a4..2319504a4ac 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fp.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index e98ceb52b4e..6847cb1e0c9 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
@@ -2,7 +2,7 @@
%
%% File: l3fparray.dtx
%
-% Copyright (C) 2018-2020 The LaTeX3 Project
+% Copyright (C) 2018-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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index cb1ab5db501..d5bfaf26b65 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
@@ -2,7 +2,7 @@
%
%% File: l3int.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index c261fa5c843..1dacedc38ba 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
@@ -2,7 +2,7 @@
%
%% File: l3intarray.dtx
%
-% Copyright (C) 2017-2020 The LaTeX3 Project
+% Copyright (C) 2017-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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index 22f33e1d41b..68771e076a8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
@@ -2,7 +2,7 @@
%
%% File: l3kernel-functions.dtx
%
-% Copyright (C) 2018-2020 The LaTeX3 Project
+% Copyright (C) 2018-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index d1f9f192687..860854cc779 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
@@ -2,7 +2,7 @@
%
%% File: l3keys.dtx
%
-% Copyright (C) 2006-2020 The LaTeX3 Project
+% Copyright (C) 2006-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
@@ -891,7 +891,45 @@
% \end{verbatim}
% are treated identically.
%
-% \begin{function}[EXP,updated = 2020-02-20]{\keyval_parse:NNn}
+% \begin{function}[rEXP, added=2020-12-19]{\keyval_parse:nnn}
+% \begin{syntax}
+% \cs{keyval_parse:nnn} \Arg{code_1} \Arg{code_2} \Arg{key--value list}
+% \end{syntax}
+% Parses the \meta{key--value list} into a series of \meta{keys} and
+% associated \meta{values}, or keys alone (if no \meta{value} was
+% given). \meta{code_1} receives each \meta{key} (with no \meta{value}) as a
+% trailing brace group, whereas \meta{code_2} is appended by two brace groups,
+% the \meta{key} and \meta{value}.
+% The order of the \meta{keys} in the \meta{key--value list}
+% is preserved. Thus
+% \begin{verbatim}
+% \keyval_parse:nnn
+% { \use_none:nn { code 1 } }
+% { \use_none:nnn { code 2 } }
+% { key1 = value1 , key2 = value2, key3 = , key4 }
+% \end{verbatim}
+% is converted into an input stream
+% \begin{verbatim}
+% \use_none:nnn { code 2 } { key1 } { value1 }
+% \use_none:nnn { code 2 } { key2 } { value2 }
+% \use_none:nnn { code 2 } { key3 } { }
+% \use_none:nn { code 1 } { key4 }
+% \end{verbatim}
+% Note that there is a difference between an empty value (an equals
+% sign followed by nothing) and a missing value (no equals sign at
+% all). Spaces are trimmed from the ends of the \meta{key} and \meta{value},
+% then one \emph{outer} set of braces is removed from the \meta{key}
+% and \meta{value} as part of the processing. If you need exactly the output
+% shown above, you'll need to either \texttt{x}-type or \texttt{e}-type expand
+% the function.
+% \begin{texnote}
+% The result of each list element is returned within \cs{exp_not:n}, which
+% means that the converted input stream does not expand further when
+% appearing in an \texttt{x}-type or \texttt{e}-type argument expansion.
+% \end{texnote}
+% \end{function}
+%
+% \begin{function}[rEXP,updated = 2020-12-19]{\keyval_parse:NNn}
% \begin{syntax}
% \cs{keyval_parse:NNn} \meta{function_1} \meta{function_2} \Arg{key--value list}
% \end{syntax}
@@ -920,6 +958,9 @@
% all). Spaces are trimmed from the ends of the \meta{key} and \meta{value},
% then one \emph{outer} set of braces is removed from the \meta{key}
% and \meta{value} as part of the processing.
+%
+% This shares the implementation of \cs{keyval_parse:nnn}, the difference is
+% only semantically.
% \begin{texnote}
% The result is returned within \cs{exp_not:n}, which means that the
% converted input stream does not expand further when appearing in an
@@ -969,30 +1010,31 @@
{
% \end{macrocode}
%
-% \begin{macro}[EXP]{\keyval_parse:NNn}
+% \begin{macro}[EXP]{\keyval_parse:nnn, \keyval_parse:NNn}
% The main function starts the first of two loops. The outer loop splits the
% key--value list at active commas, the inner loop will do so at other commas.
% The use of \cs{s_@@_mark} here prevents loss of braces from the key
% argument.
% \begin{macrocode}
- \cs_new:Npn \keyval_parse:NNn ##1 ##2 ##3
- { \@@_loop_active:NNw ##1 ##2 \s_@@_mark ##3 #1 \s_@@_tail #1 }
+ \cs_new:Npn \keyval_parse:nnn ##1 ##2 ##3
+ { \@@_loop_active:nnw {##1} {##2} \s_@@_mark ##3 #1 \s_@@_tail #1 }
+ \cs_new_eq:NN \keyval_parse:NNn \keyval_parse:nnn
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[EXP]{\@@_loop_active:NNw}
+% \begin{macro}[EXP]{\@@_loop_active:nnw}
% First a fast test for the end of the loop is done, it'll gobble everything
% up to a \cs{s_@@_tail}. The loop ending macro will gobble everything to the
-% last \cs{s_@@_mark} in this definition.
+% last comma in this definition.
% If the end isn't reached yet, start the second loop splitting at other
-% commas, and after that one iterate the current loop.
+% commas, the next iteration of this first loop will be inserted by the end of
+% \cs{@@_loop_other:nnw}.
% \begin{macrocode}
- \cs_new:Npn \@@_loop_active:NNw ##1 ##2 ##3 #1
+ \cs_new:Npn \@@_loop_active:nnw ##1 ##2 ##3 #1
{
\@@_if_recursion_tail:w ##3
\@@_end_loop_active:w \s_@@_tail
- \@@_loop_other:NNw ##1 ##2 ##3 , \s_@@_tail ,
- \@@_loop_active:NNw ##1 ##2 \s_@@_mark
+ \@@_loop_other:nnw {##1} {##2} ##3 , \s_@@_tail ,
}
% \end{macrocode}
% \end{macro}
@@ -1003,14 +1045,14 @@
% token following \cs{s_@@_mark} that followed the equals sign. Hence they
% also test for the presence of such an equals sign simultaneously.
% \begin{macrocode}
- \cs_new:Npn \@@_split_other:w ##1 = ##2 \s_@@_mark ##3 ##4 \s_@@_stop
+ \cs_new:Npn \@@_split_other:w ##1 = ##2 \s_@@_mark ##3
{ ##3 ##1 \s_@@_stop \s_@@_mark ##2 }
- \cs_new:Npn \@@_split_active:w ##1 #2 ##2 \s_@@_mark ##3 ##4 \s_@@_stop
+ \cs_new:Npn \@@_split_active:w ##1 #2 ##2 \s_@@_mark ##3
{ ##3 ##1 \s_@@_stop \s_@@_mark ##2 }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[EXP]{\@@_loop_other:NNw}
+% \begin{macro}[EXP]{\@@_loop_other:nnw}
% The second loop uses the same test for its end as the first loop, next it
% splits at the first active equals sign using \cs{@@_split_active:w}. The
% \cs{s_@@_nil} prevents accidental brace stripping and acts as a delimiter in
@@ -1018,16 +1060,15 @@
% number of necessary expansion steps for the expected average use case of
% other equals signs and hence perform better on average.
% \begin{macrocode}
- \cs_new:Npn \@@_loop_other:NNw ##1 ##2 ##3 ,
+ \cs_new:Npn \@@_loop_other:nnw ##1 ##2 ##3 ,
{
\@@_if_recursion_tail:w ##3
\@@_end_loop_other:w \s_@@_tail
\@@_split_active:w ##3 \s_@@_nil
\s_@@_mark \@@_split_active_auxi:w
#2 \s_@@_mark \@@_clean_up_active:w
- \s_@@_stop
- ##1 ##2
- \@@_loop_other:NNw ##1 ##2 \s_@@_mark
+ {##1} {##2}
+ \s_@@_mark
}
% \end{macrocode}
% \end{macro}
@@ -1050,7 +1091,6 @@
\@@_split_other:w ##1 \s_@@_nil
\s_@@_mark \@@_misplaced_equal_after_active_error:w
= \s_@@_mark \@@_split_active_auxii:w
- \s_@@_stop
}
% \end{macrocode}
% \cs{@@_split_active_auxii:w} gets the correct key name with a leading
@@ -1061,7 +1101,8 @@
\cs_new:Npn \@@_split_active_auxii:w
##1 \s_@@_nil \s_@@_mark \@@_misplaced_equal_after_active_error:w
\s_@@_stop \s_@@_mark
- { \@@_trim:nN { ##1 } \@@_split_active_auxiii:w }
+ ##2 \s_@@_nil #2 \s_@@_mark \@@_clean_up_active:w
+ { \@@_trim:nN {##1} \@@_split_active_auxiii:w ##2 \s_@@_nil }
% \end{macrocode}
% Next we test for a misplaced active equals sign in the value, if none is
% found \cs{@@_split_active_auxiv:w} will be called.
@@ -1071,8 +1112,7 @@
\@@_split_active:w ##2 \s_@@_nil
\s_@@_mark \@@_misplaced_equal_in_split_error:w
#2 \s_@@_mark \@@_split_active_auxiv:w
- \s_@@_stop
- { ##1 }
+ {##1}
}
% \end{macrocode}
% This runs the last test after sanitising the remainder of the previous one.
@@ -1086,16 +1126,15 @@
\@@_split_other:w ##1 \s_@@_nil
\s_@@_mark \@@_misplaced_equal_in_split_error:w
= \s_@@_mark \@@_split_active_auxv:w
- \s_@@_stop
}
% \end{macrocode}
% This last macro in this execution branch sanitises the last test, trims the
-% value and passes it to \cs{@@_pair:nnNN}.
+% value and passes it to \cs{@@_pair:nnnn}.
% \begin{macrocode}
\cs_new:Npn \@@_split_active_auxv:w
##1 \s_@@_nil \s_@@_mark \@@_misplaced_equal_in_split_error:w
\s_@@_stop \s_@@_mark
- { \@@_trim:nN { ##1 } \@@_pair:nnNN }
+ { \@@_trim:nN { ##1 } \@@_pair:nnnn }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1115,7 +1154,6 @@
\@@_split_other:w ##1 \s_@@_nil
\s_@@_mark \@@_split_other_auxi:w
= \s_@@_mark \@@_clean_up_other:w
- \s_@@_stop
}
% \end{macrocode}
% \end{macro}
@@ -1132,24 +1170,25 @@
{ \@@_trim:nN { ##1 } \@@_split_other_auxii:w }
% \end{macrocode}
% We know that the value doesn't contain misplaced active equals signs but we
-% have to test for others.
+% have to test for others. Also we need to sanitise the previous test, which
+% is done here and not earlier to avoid superfluous argument grabbing.
% \begin{macrocode}
- \cs_new:Npn \@@_split_other_auxii:w ##1 ##2 \s_@@_nil
+ \cs_new:Npn \@@_split_other_auxii:w
+ ##1 ##2 \s_@@_nil = \s_@@_mark \@@_clean_up_other:w
{
\@@_split_other:w ##2 \s_@@_nil
\s_@@_mark \@@_misplaced_equal_in_split_error:w
= \s_@@_mark \@@_split_other_auxiii:w
- \s_@@_stop
{ ##1 }
}
% \end{macrocode}
% \cs{@@_split_other_auxiii:w} sanitises the test for other equals signs,
-% trims the value and forwards it to \cs{@@_pair:nnNN}.
+% trims the value and forwards it to \cs{@@_pair:nnnn}.
% \begin{macrocode}
\cs_new:Npn \@@_split_other_auxiii:w
##1 \s_@@_nil \s_@@_mark \@@_misplaced_equal_in_split_error:w
\s_@@_stop \s_@@_mark
- { \@@_trim:nN { ##1 } \@@_pair:nnNN }
+ { \@@_trim:nN { ##1 } \@@_pair:nnnn }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1159,14 +1198,14 @@
% \cs{@@_clean_up_other:w} is the last branch that might exist. It is called
% if no equals sign was found, hence the only possibilities left are a blank
% list element, which is to be skipped, or a lonely key. If it's no empty list
-% element this will trim the key name and forward it to \cs{@@_key:nNN}.
+% element this will trim the key name and forward it to \cs{@@_key:nn}.
% \begin{macrocode}
\cs_new:Npn \@@_clean_up_other:w
##1 \s_@@_nil \s_@@_mark \@@_split_other_auxi:w \s_@@_stop \s_@@_mark
{
\@@_if_blank:w ##1 \s_@@_nil \s_@@_stop \@@_blank_true:w
- \s_@@_mark \s_@@_stop \use:n
- { \@@_trim:nN { ##1 } \@@_key:nNN }
+ \s_@@_mark \s_@@_stop
+ \@@_trim:nN { ##1 } \@@_key:nn
}
% \end{macrocode}
% \end{macro}
@@ -1174,21 +1213,26 @@
% \begin{macro}[EXP]{\@@_misplaced_equal_after_active_error:w}
% \begin{macro}[EXP]{\@@_misplaced_equal_in_split_error:w}
% All these two macros do is gobble the remainder of the current other loop
-% execution and throw an error.
+% execution and throw an error. Afterwards they have to insert the next loop
+% iteration.
% \begin{macrocode}
\cs_new:Npn \@@_misplaced_equal_after_active_error:w
\s_@@_mark ##1 \s_@@_stop \s_@@_mark ##2 \s_@@_nil
- \s_@@_mark ##3 \s_@@_nil ##4 ##5
+ = \s_@@_mark \@@_split_active_auxii:w
+ \s_@@_mark ##3 \s_@@_nil
+ #2 \s_@@_mark \@@_clean_up_active:w
{
\__kernel_msg_expandable_error:nn
{ kernel } { misplaced-equals-sign }
+ \@@_loop_other:nnw
}
\cs_new:Npn \@@_misplaced_equal_in_split_error:w
\s_@@_mark ##1 \s_@@_stop \s_@@_mark ##2 \s_@@_nil
- ##3 ##4 ##5
+ ##3 \s_@@_mark ##4 ##5
{
\__kernel_msg_expandable_error:nn
{ kernel } { misplaced-equals-sign }
+ \@@_loop_other:nnw
}
% \end{macrocode}
% \end{macro}
@@ -1197,21 +1241,20 @@
% \begin{macro}[EXP]{\@@_end_loop_other:w, \@@_end_loop_active:w}
% All that's left for the parsing loops are the macros which end the
% recursion. Both just gobble the remaining tokens of the respective loop
-% including the next recursion call.
+% including the next recursion call. \cs{@@_end_loop_other:w} also has to
+% insert the next iteration of the active loop.
% \begin{macrocode}
\cs_new:Npn \@@_end_loop_other:w
\s_@@_tail
- \@@_split_active:w ##1 \s_@@_nil
- \s_@@_mark \@@_split_active_auxi:w
+ \@@_split_active:w
+ \s_@@_mark \s_@@_tail
+ \s_@@_nil \s_@@_mark
+ \@@_split_active_auxi:w
#2 \s_@@_mark \@@_clean_up_active:w
- \s_@@_stop
- ##2 ##3
- \@@_loop_other:NNw ##4 \s_@@_mark
- { }
+ { \@@_loop_active:nnw }
\cs_new:Npn \@@_end_loop_active:w
\s_@@_tail
- \@@_loop_other:NNw ##1 , \s_@@_tail ,
- \@@_loop_active:NNw ##2 \s_@@_mark
+ \@@_loop_other:nnw ##1 \s_@@_mark \s_@@_tail , \s_@@_tail ,
{ }
% \end{macrocode}
% \end{macro}
@@ -1226,23 +1269,26 @@
\group_end:
% \end{macrocode}
%
-% \begin{macro}[EXP]{\@@_pair:nnNN, \@@_key:nNN}
+% \begin{macro}[EXP]{\@@_pair:nnnn, \@@_key:nn}
% These macros will be called on the parsed keys and values of the key--value
% list. All arguments are completely trimmed. They test for blank key names
-% and call the functions passed to \cs{keyval_parse:NNn} inside of
-% \cs{exp_not:n} with the correct arguments.
+% and call the functions passed to \cs{keyval_parse:nnn} inside of
+% \cs{exp_not:n} with the correct arguments. Afterwards they insert the next
+% iteration of the other loop.
% \begin{macrocode}
-\cs_new:Npn \@@_pair:nnNN #1 #2 #3 #4
+\cs_new:Npn \@@_pair:nnnn #1 #2 #3 #4
{
\@@_if_blank:w \s_@@_mark #2 \s_@@_nil \s_@@_stop \@@_blank_key_error:w
\s_@@_mark \s_@@_stop
\exp_not:n { #4 { #2 } { #1 } }
+ \@@_loop_other:nnw {#3} {#4}
}
-\cs_new:Npn \@@_key:nNN #1 #2 #3
+\cs_new:Npn \@@_key:nn #1 #2
{
\@@_if_blank:w \s_@@_mark #1 \s_@@_nil \s_@@_stop \@@_blank_key_error:w
\s_@@_mark \s_@@_stop
\exp_not:n { #2 { #1 } }
+ \@@_loop_other:nnw {#2}
}
% \end{macrocode}
% \end{macro}
@@ -1263,7 +1309,8 @@
% These macros will be called if the tests above didn't gobble them, they
% execute the branching.
% \begin{macrocode}
-\cs_new:Npn \@@_blank_true:w \s_@@_mark \s_@@_stop \use:n #1 #2 #3 { }
+\cs_new:Npn \@@_blank_true:w \s_@@_mark \s_@@_stop \@@_trim:nN #1 \@@_key:nn
+ { \@@_loop_other:nnw }
\cs_new:Npn \@@_blank_key_error:w \s_@@_mark \s_@@_stop \exp_not:n #1
{
\__kernel_msg_expandable_error:nn
@@ -1303,7 +1350,6 @@
\@@_trim_auxiii:w
#1 \s_@@_nil
\@@_trim_auxiv:w
- \s_@@_stop
}
\cs_new:Npn \@@_trim_auxi:w ##1 \s_@@_mark #1 ##2 \s_@@_mark ##3
{
@@ -1327,8 +1373,11 @@
% \end{macrocode}
% This is the one macro which differs from the original definition.
% \begin{macrocode}
- \cs_new:Npn \@@_trim_auxiv:w \s_@@_mark ##1 \s_@@_nil ##2 \s_@@_stop ##3
- { ##3 { ##1 } }
+ \cs_new:Npn \@@_trim_auxiv:w
+ \s_@@_mark ##1 \s_@@_nil
+ \@@_trim_auxiii:w \s_@@_nil \@@_trim_auxiii:w
+ ##2
+ { ##2 { ##1 } }
}
\@@_tmp:n { ~ }
\group_end:
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
index 257b01f4557..6bf78a7c4ce 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
@@ -2,7 +2,7 @@
%
%% File: l3legacy.dtx
%
-% Copyright (C) 2019,2020 The LaTeX3 Project
+% Copyright (C) 2019-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index d8456d8cb0b..80b3d855915 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
@@ -2,7 +2,7 @@
%
%% File: l3luatex.dtx
%
-% Copyright (C) 2010-2020 The LaTeX3 Project
+% Copyright (C) 2010-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index 19a89cf03f6..6e2ff77f361 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
@@ -2,7 +2,7 @@
%
%% File: l3msg.dtx
%
-% Copyright (C) 2009-2020 The LaTeX3 Project
+% Copyright (C) 2009-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index 45e4f74f1cf..24a3fad8040 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -2,7 +2,7 @@
%
%% File: l3names.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index 88cec672de8..539bb5489b8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
@@ -2,7 +2,7 @@
%
%% File: l3prg.dtx
%
-% Copyright (C) 2005-2020 The LaTeX3 Project
+% Copyright (C) 2005-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index 36a8be39389..ea5d85a3fa0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -2,7 +2,7 @@
%
%% File: l3prop.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index 427244ce5dc..17348c29ee2 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
@@ -2,7 +2,7 @@
%
%% File: l3quark.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index 85e9cf12b95..9d52a75857a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
@@ -2,7 +2,7 @@
%
%% File: l3regex.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index 4b9905e3bbf..a7c22d7331b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
@@ -2,7 +2,7 @@
%
%% File: l3seq.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index e6750a998f8..13d88972bc6 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
@@ -3,7 +3,7 @@
%% File: l3skip.dtx
%
% Copyright (C) 2004-2011 Frank Mittelbach, The LaTeX3 Project
-% (C) 2012-2020 The LaTeX3 Project
+% (C) 2012-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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index 47e12e7466c..a4fcbcfe6b4 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
@@ -2,7 +2,7 @@
%
%% File l3sort.dtx
%
-% Copyright (C) 2012-2020 The LaTeX3 Project
+% Copyright (C) 2012-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
index 8c540d7e076..66c23b73ada 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
@@ -2,7 +2,7 @@
%
%% File: l3str-convert.dtx
%
-% Copyright (C) 2013-2020 The LaTeX3 Project
+% Copyright (C) 2013-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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index 3152e7dae7f..bbe072d2a08 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
@@ -2,7 +2,7 @@
%
%% File: l3str.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index 9b50d089628..30a86af7d8a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
@@ -2,7 +2,7 @@
%
%% File: l3sys.dtx
%
-% Copyright (C) 2015-2020 The LaTeX3 Project
+% Copyright (C) 2015-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
@@ -975,10 +975,14 @@ end
\__kernel_tl_gset:Nx \g_@@_backend_tl
{
\sys_if_engine_xetex:TF
- { xdvipdfmx }
+ { xetex }
{
\sys_if_output_pdf:TF
- { pdfmode }
+ {
+ \sys_if_engine_pdftex:TF
+ { pdftex }
+ { luatex }
+ }
{ dvips }
}
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index 4d94fb2b78e..d1415b5a8ca 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
@@ -2,7 +2,7 @@
%
%% File: l3text-case.dtx
%
-% Copyright (C) 2020 The LaTeX3 Project
+% Copyright (C) 2020,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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
index 0166cc20f6a..0241a11e60c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
@@ -2,7 +2,7 @@
%
%% File: l3text-purify.dtx
%
-% Copyright (C) 2020 The LaTeX3 Project
+% Copyright (C) 2020,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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
@@ -94,7 +94,8 @@
% \begin{macro}[EXP]{\@@_purify_math_cmd:Nn}
% \begin{macro}[EXP]{\@@_purify_replace:N}
% \begin{macro}[EXP]{\@@_purify_replace:n}
-% \begin{macro}[EXP]{\@@_purify_expand:N, \@@_purify_protect:N}
+% \begin{macro}[EXP]{\@@_purify_expand:N, \@@_purify_protect:N, \@@_purify_encoding:N}
+% \begin{macro}[EXP]{\@@_purify_encoding_escape:NN}
% As in the other parts of the module, we start off with a standard
% \enquote{action} loop, with expansion applied up-front.
% \begin{macrocode}
@@ -288,15 +289,31 @@
{
\str_if_eq:nnTF {#1} { \protect }
{ \@@_purify_protect:N }
+ { \@@_purify_encoding:N #1 }
+ }
+\cs_new:Npn \@@_purify_protect:N #1
+ {
+ \@@_if_recursion_tail_stop_do:Nn #1 { \@@_purify_end:w }
+ \@@_purify_loop:w
+ }
+% \end{macrocode}
+% Handle encoding commands, as detailed for expansion.
+% \begin{macrocode}
+\cs_new:Npn \@@_purify_encoding:N #1
+ {
+ \bool_lazy_or:nnTF
+ { \cs_if_eq_p:NN #1 \@current@cmd }
+ { \cs_if_eq_p:NN #1 \@changed@cmd }
+ { \@@_purify_encoding_escape:NN }
{
\@@_if_expandable:NTF #1
{ \exp_after:wN \@@_purify_loop:w #1 }
{ \@@_purify_loop:w }
}
}
-\cs_new:Npn \@@_purify_protect:N #1
+\cs_new:Npn \@@_purify_encoding_escape:NN #1#2
{
- \@@_if_recursion_tail_stop_do:Nn #1 { \@@_purify_end:w }
+ \@@_purify_store:n {#1}
\@@_purify_loop:w
}
% \end{macrocode}
@@ -323,6 +340,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}
% {
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
index 38e52aa9db6..7dcf87b3de2 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
@@ -2,7 +2,7 @@
%
%% File: l3text.dtx
%
-% Copyright (C) 2020 The LaTeX3 Project
+% Copyright (C) 2020,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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index 69f73aab0c6..30ebe4814bf 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
@@ -2,7 +2,7 @@
%
%% File: l3tl-analysis.dtx
%
-% Copyright (C) 2011-2020 The LaTeX3 Project
+% Copyright (C) 2011-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 this
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index d335824821d..b31fe6e5e9f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
@@ -2,7 +2,7 @@
%
%% File: l3tl.dtx
%
-% 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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index b28987a8589..c01bf675a41 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
@@ -2,7 +2,7 @@
%
%% File: l3token.dtx
%
-% Copyright (C) 2005-2020 The LaTeX3 Project
+% Copyright (C) 2005-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index dd28393b471..76384b25a68 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
@@ -2,7 +2,7 @@
%
%% File: l3unicode.dtx
%
-% Copyright (C) 2018-2020 The LaTeX3 Project
+% Copyright (C) 2018-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 this
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2020-12-07}
+% \date{Released 2021-01-09}
%
% \maketitle
%
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