summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-01-05 21:44:47 +0000
committerKarl Berry <karl@freefriends.org>2024-01-05 21:44:47 +0000
commit6a01d0fdf35acd93acf101e457f2a7b728e31f9a (patch)
tree691ecc30cec73b12097647aab94e2a13759fbde8
parent2e36941df7aa3a67dbb90bd5b6ba181989b959a9 (diff)
l3 (5jan24)
git-svn-id: svn://tug.org/texlive/trunk@69310 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md10
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdfbin934856 -> 910529 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md12
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdfbin308820 -> 308420 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdfbin682740 -> 684116 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdfbin518932 -> 518609 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdfbin383921 -> 383526 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdfbin313872 -> 313477 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdfbin368314 -> 367974 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdfbin348328 -> 347930 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdfbin394766 -> 394367 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdfbin409197 -> 408796 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdfbin299916 -> 299509 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md34
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md5
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin623156 -> 623018 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1774220 -> 1776647 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3doc.pdfbin563591 -> 563777 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin151750 -> 150985 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin396222 -> 396222 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin122959 -> 122959 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin150919 -> 150919 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin148747 -> 148747 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin114754 -> 114754 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin112524 -> 112524 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin151591 -> 151591 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin128344 -> 128344 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin163484 -> 163484 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin250159 -> 250159 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin150302 -> 150302 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin170102 -> 170102 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin205020 -> 205020 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt1
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv4
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin82696 -> 82696 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin296516 -> 296516 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin243162 -> 243162 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin218315 -> 218315 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin7510840 -> 7514579 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex4
-rw-r--r--Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro148
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx18
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-box.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx56
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx28
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx24
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx176
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx26
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx49
-rw-r--r--Master/texmf-dist/source/latex/l3backend/l3backend.ins6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx114
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx201
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx18
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx60
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx21
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3str/l3str.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx46
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.ins4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3.ins8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx35
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx172
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx34
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3clist.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx34
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3color.dtx48
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3debug.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx19
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx140
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx34
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3flag.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3int.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx82
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3msg.dtx36
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx64
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3quark.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3regex.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3skip.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sort.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx36
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sys.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx86
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx8
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text.dtx38
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx24
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx17
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3token.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx76
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def60
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def56
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def28
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def38
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua2
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def38
-rw-r--r--Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def60
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty285
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty14
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty4
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty10
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty42
-rw-r--r--Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty6
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex576
-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/l3bitset.sty26
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3debug.def10
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/l3doc.cls118
-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
184 files changed, 2061 insertions, 1932 deletions
diff --git a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
index ddccab9d202..0adcd7fb840 100644
--- a/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3backend/CHANGELOG.md
@@ -6,6 +6,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-01-04]
+
+### Changed
+- Documentation tweaks
+
## [2023-11-09]
### Changed
@@ -133,7 +138,7 @@ this project uses date-based 'snapshot' version identifiers.
## [2021-08-04]
-## Changed
+### Changed
- Only use `pdfmanagement` module if active
## [2021-07-12]
@@ -316,7 +321,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/2023-11-09...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-01-04...HEAD
+[2024-01-04]: https://github.com/latex3/latex3/compare/2023-11-09...2024-01-04
[2023-11-09]: https://github.com/latex3/latex3/compare/2023-11-04...2023-11-09
[2023-11-04]: https://github.com/latex3/latex3/compare/2023-10-23...2023-11-04
[2023-10-23]: https://github.com/latex3/latex3/compare/2023-10-10...2023-10-23
diff --git a/Master/texmf-dist/doc/latex/l3backend/README.md b/Master/texmf-dist/doc/latex/l3backend/README.md
index 0dd36a404ce..ad12f364be4 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 2023-11-09
+Release 2024-01-04
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-2023 The LaTeX Project <br />
+<p>Copyright (C) 2019-2024 The LaTeX 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 dc7099b579b..3617a446d20 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/l3experimental/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
index d6e3645c595..449a9889a6f 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
@@ -7,6 +7,15 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-01-04]
+
+### Changed
+- Apply transformation matrix to drawing shifts
+
+### Fixed
+- Remove a stray scaling in `\draw_path_rectangle:nn` (issue \#1386)
+- Correct baseline calculations in some `l3draw` cases (issue \#1400)
+
## [2023-12-08]
### Added
@@ -293,7 +302,8 @@ this project uses date-based 'snapshot' version identifiers.
- New `l3color` module using `xcolor`-like expression syntax
- New `l3draw` module, based on `pgf` layer of the TikZ system
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-12-08...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-01-04...HEAD
+[2024-01-04]: https://github.com/latex3/latex3/compare/2023-12-08...2024-01-04
[2023-12-08]: https://github.com/latex3/latex3/compare/2023-11-01...2023-12-08
[2023-11-01]: https://github.com/latex3/latex3/compare/2023-10-10...2023-11-01
[2023-10-10]: https://github.com/latex3/latex3/compare/2023-05-11...2023-10-10
diff --git a/Master/texmf-dist/doc/latex/l3experimental/README.md b/Master/texmf-dist/doc/latex/l3experimental/README.md
index 52c7d97926b..1a4d3a46506 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/README.md
+++ b/Master/texmf-dist/doc/latex/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2023-12-08
+Release 2024-01-04
Overview
--------
@@ -124,6 +124,6 @@ the [LaTeX-L list](#Discussion) should be used.
-----
-<p>Copyright (C) 1998-2004,2008-2012,2014-2023 The LaTeX Project <br />
+<p>Copyright (C) 1998-2004,2008-2012,2014-2024 The LaTeX 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/l3experimental/l3benchmark/l3benchmark.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
index 83471b67fd7..9da3c2ae156 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
index c2e80fc3405..db5ed768363 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
index 6b8a5e9a929..4beda52c984 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
index 66ce45d7109..42212b3f649 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
index 096288c14ad..0898e6463c6 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
index 83b57b975b2..367a84e099a 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
index 3152e29a00d..1d1c41221ab 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
index 98b321ae283..bee04ded965 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
index bd9bf88c833..a633e46628b 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
index e1964e85ee2..50375b414b3 100644
--- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
+++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.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 726d6472981..0c9d02efe4f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,17 +7,35 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
-## [2023-12-11]
+## [2024-01-04]
+
+### Added
+- Documentation for `\bitset_show_named_index:N` (issue \#1372)
+- `\bitset_log_named_index:N`
+- `\tl_build_get_intermediate:NN`
+- Support for `.default:n` values for the `unknown` handler (see issue \#67)
+
+### Changed
+- Improved method to suppress `l3bitset` where required
+- Clarify behavior of `\tl_if_novalue:n(TF)` (see issue \#1402)
-## [2023-12-12]
+### Deprecated
+- `\tl_build_get:NN` in favor of `\tl_build_get_intermediate:NN`
### Fixed
-- Support for deprecated `pdf` module functions (issue \#1373)
-- Generate stub `l3bitset` for transitional support
+- Handling of `documented-as` variants in `l3doc` indexing
+ (see issue \#1345)
+- Missing trailing `TF` in single variant of conditional functions (issue \#1398)
+
+## [2023-12-11]
### Changed
- Use keyval handler for `l3doc` class options
+### Fixed
+- Support for deprecated `pdf` module functions (issue \#1373)
+- Generate stub `l3bitset` for transitional support
+
## [2023-12-08]
### Added
@@ -35,7 +53,7 @@ this project uses date-based 'snapshot' version identifiers.
- Documentation for `\c_nan_fp`
- `\str_case_e:en(TF)`
-### Changes
+### Changed
- Speed up `\str_(g)set:Nn`, `\str_const:Nn`, `\str_(g)put_left:Nn`,
and `\str_(g)put_right:Nn`
@@ -1617,9 +1635,9 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-12-11...HEAD
-[2023-12-11]: https://github.com/latex3/latex3/compare/2023-12-12...2023-12-11
-[2023-12-12]: https://github.com/latex3/latex3/compare/2023-12-08...2023-12-12
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-01-04...HEAD
+[2024-01-04]: https://github.com/latex3/latex3/compare/2023-12-11...2024-01-04
+[2023-12-11]: https://github.com/latex3/latex3/compare/2023-12-08...2023-12-11
[2023-12-08]: https://github.com/latex3/latex3/compare/2023-11-09...2023-12-08
[2023-11-09]: https://github.com/latex3/latex3/compare/2023-11-01...2023-11-09
[2023-11-01]: https://github.com/latex3/latex3/compare/2023-10-23...2023-11-01
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index 3ad1051d463..1173d3966fa 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 2023-12-11
+Release 2024-01-04
Overview
--------
@@ -30,6 +30,7 @@ The `l3kernel` bundle requires the e-TeX extensions and a number of additional
particular, the functionality equivalent to the following pdfTeX primitives must
be available
+- `\ifincsname`
- `\ifpdfprimitive`
- `\pdfcreationdate`
- `\pdfelapsedtime`
@@ -90,6 +91,6 @@ by e-mail: <latex-team@latex-project.org>.
-----
-<p>Copyright (C) 1998-2012,2015-2023 The LaTeX Project <br />
+<p>Copyright (C) 1998-2012,2015-2024 The LaTeX 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 6981f1fc340..123d474f9be 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 b7598e70825..3144931ce49 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 f9f461a2888..06b8b3d8a6d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -2,7 +2,7 @@
File: interface3.tex
-Copyright (C) 1990-2011,2017-2023 The LaTeX Project
+Copyright (C) 1990-2011,2017-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -29,7 +29,7 @@ for those people who are interested.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% This document typesets the LaTeX3 interface descriptions a single document.
-% This produces quite a large file (more than 170 pages currently).
+% This produces quite a large file (more than 360 pages as of Dec 2023).
%
% There is also a full version of the sources (source3.tex) which additionally
% also typesets the command implementations.
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
index 2ca0d9cbc40..9201da42ef5 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index 887d4d52475..cb2d544930c 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 2c87f4f00ca..0a5bc3794d4 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 2caf5448b96..ca854aca2dd 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 7bf6c3b5b72..abc710c5e83 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 7e790309acf..67c3c65908b 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 c0e7744a125..aeae2e688f6 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 09a8a17473e..33026d2cdcf 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 e17d4ba600c..cab5c11273d 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 ee3855783fc..c5a3d300a54 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 8673d4a0784..5a5517c002b 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 00fff384ee3..95f1aa0ee5e 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 dcac23758dd..1b8dc9af299 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 1a3a1038f61..bfb59818be2 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 5ff84d3990f..eddbad6dca3 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/l3obsolete.txt b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
index ea76ffdcbbe..2066ef6f0c1 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3obsolete.txt
@@ -68,6 +68,7 @@ Function Date deprecated
\text_titlecase:nn 2023-07-08
\tl_build_clear:N 2023-10-18
\tl_build_gclear:N 2023-10-18
+\tl_build_get:NN 2023-12-14
\tl_case:cn 2023-05-23
\tl_case:cnF 2023-05-23
\tl_case:cnT 2023-05-23
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
index 1baf489209b..e3512672ffe 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.csv
@@ -12,7 +12,7 @@ alloc,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https
ampersand,l3kernel,The LaTeX 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,
apfs,apfontspec,Qing Lee,https://github.com/CTeX-org/apfontspec,https://github.com/CTeX-org/apfontspec.git,https://github.com/CTeX-org/apfontspec/issues,2020-05-17,2020-05-17,
arch,archaeologie,Lukas C. Bossert,http://www.biblatex-archaeologie.de,https://github.com/LukasCBossert/biblatex-archaeologie.git,https://github.com/LukasCBossert/biblatex-archaeologie/issues,2017-03-24,2017-03-24,
-arsenal,arsenal,Boris Veytsman,https://github.com/borisveytsman/arsenal,https://github.com/borisveytsman/arsenal,https://github.com/borisveytsman/arsenal/issues
+arsenal,arsenal,Boris Veytsman,https://github.com/borisveytsman/arsenal,https://github.com/borisveytsman/arsenal,https://github.com/borisveytsman/arsenal/issues,2023-09-04,2023-09-04,
array,hobby,Andrew Stacey,https://github.com/loopspace/hobby,https://github.com/loopspace/hobby,https://github.com/loopspace/hobby/issues,2013-03-16,2020-10-29,
atsign,l3kernel,The LaTeX 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,
avm,langsci-avm,Felix Kopecky,https://ctan.org/pkg/langsci-avm,https://github.com/langsci/langsci-avm,https://github.com/langsci/langsci-avm/issues,2020-03-11,2020-03-11,
@@ -123,7 +123,7 @@ intarray,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,ht
ior,l3kernel,The LaTeX 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,
iot,iot,Island of TeX,https://islandoftex.gitlab.io,https://gitlab.com/islandoftex/texmf,https://gitlab.com/groups/islandoftex/texmf/-/issues,2023-07-18,2023-07-18,
iow,l3kernel,The LaTeX 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,
-iwonamath,iwonamath,Boris Veytsman,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath/issues
+iwonamath,iwonamath,Boris Veytsman,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath,https://github.com/borisveytsman/iwonamath/issues,2023-09-04,2023-09-04,
jiazhu,jiazhu,Qing Lee,https://github.com/CTeX-org/ctex-kit,https://github.com/CTeX-org/ctex-kit.git,https://github.com/CTeX-org/ctex-kit/issues,2020-05-17,2020-05-17,
job,l3kernel,The LaTeX Project,https://www.latex-project.org/latex3.html,https://github.com/latex3/latex3.git,https://github.com/latex3/latex3/issues,2021-04-23,2021-04-23,
kernel,l3kernel,The LaTeX 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,
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index f174ef9e0f3..4a23b2563d6 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 6bf6d1bc460..7e379d5eae0 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 9f8d8733c89..c66e0df5d19 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-2023 The LaTeX Project
+Copyright (C) 2011,2012,2014-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index 63f01138b71..5fc4a897089 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 db3fab7f7b0..1fbac1e5b42 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-2023 The LaTeX Project
+Copyright (C) 2011,2012,2017-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
index 8e3ca84f081..2e4db4a60c9 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 e3277b964ea..f26cf48fbe7 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-2023 The LaTeX Project
+Copyright (C) 2018-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index fc0be1908bf..8485500fb3d 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 0df48640b48..5aae34aba21 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-2023 The LaTeX Project
+Copyright (C) 1990-2012,2017-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -29,7 +29,7 @@ for those people who are interested.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% This document typesets the LaTeX3 sources as a single document.
-% This produces quite a large file (more than 780 pages).
+% This produces quite a large file (more than 1670 pages as of Dec 2023).
%
% There is also a shorter version (interface3.tex) that only typesets the
% command % interface descriptions.
diff --git a/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro b/Master/texmf-dist/dvips/l3backend/l3backend-dvips.pro
index e01c550d02a..574b83c8b1a 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) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -100,8 +100,8 @@ false setglobal
pdf.dest.y pdf.tmpc mul add
pdf.dev.x add
pdf.dest.x pdf.tmpb mul
- pdf.dest.y pdf.tmpd mul add
- pdf.dev.y add
+ pdf.dest.y pdf.tmpd mul add
+ pdf.dev.y add
}
def
/pdf.bordertracking false def
@@ -249,83 +249,83 @@ false setglobal
{
counttomark /pdf.count exch def
{
- pdf.count 0 eq { exit } if
- counttomark 2 roll
- 1 index /Rect eq
- {
- dup 4 array copy
- dup dup
- 1 get
- pdf.outerbox pdf.rect.ht
- pdf.linkmargin 2 mul add sub
- 3 exch put
- dup
- pdf.outerbox 2 get
- pdf.linkmargin add
- 2 exch put
- dup dup
- 3 get
- pdf.outerbox pdf.rect.ht
- pdf.linkmargin 2 mul add add
- 1 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
- {
- pdf.currentrect
- dup
- pdf.outerbox 0 get
- pdf.linkmargin sub
- 0 exch put
- dup
- pdf.outerbox 2 get
- pdf.linkmargin add
- 2 exch put
- dup dup
- 1 get
- pdf.baselineskip add
- 1 exch put
- dup dup
- 3 get
- pdf.baselineskip add
- 3 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
+ pdf.count 0 eq { exit } if
+ counttomark 2 roll
+ 1 index /Rect eq
+ {
+ dup 4 array copy
+ dup dup
+ 1 get
+ pdf.outerbox pdf.rect.ht
+ pdf.linkmargin 2 mul add sub
+ 3 exch put
+ dup
+ pdf.outerbox 2 get
+ pdf.linkmargin add
+ 2 exch put
+ dup dup
+ 3 get
+ pdf.outerbox pdf.rect.ht
+ pdf.linkmargin 2 mul add add
+ 1 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
+ {
+ pdf.currentrect
+ dup
+ pdf.outerbox 0 get
+ pdf.linkmargin sub
+ 0 exch put
+ dup
+ pdf.outerbox 2 get
+ pdf.linkmargin add
+ 2 exch put
+ dup dup
+ 1 get
+ pdf.baselineskip add
+ 1 exch put
+ dup dup
+ 3 get
+ pdf.baselineskip add
+ 3 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
}
1 index 3 get
pdf.linkmargin 2 mul add
pdf.outerbox pdf.rect.ht add
2 index 1 get sub
pdf.baselineskip div round cvi 1 sub
- exch
- repeat
- pdf.currentrect
- dup
- pdf.outerbox 0 get
- pdf.linkmargin sub
- 0 exch put
- dup dup
- 1 get
- pdf.baselineskip add
- 1 exch put
- dup dup
- 3 get
- pdf.baselineskip add
- 3 exch put
- dup 2 index 2 get 2 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
- SDict /pdf.pdfmark.good false put
- exit
- }
- { pdf.count 2 sub /pdf.count exch def }
- ifelse
- }
- loop
- }
- if
- /ANN
-}
- def
+ exch
+ repeat
+ pdf.currentrect
+ dup
+ pdf.outerbox 0 get
+ pdf.linkmargin sub
+ 0 exch put
+ dup dup
+ 1 get
+ pdf.baselineskip add
+ 1 exch put
+ dup dup
+ 3 get
+ pdf.baselineskip add
+ 3 exch put
+ dup 2 index 2 get 2 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
+ SDict /pdf.pdfmark.good false put
+ exit
+ }
+ { pdf.count 2 sub /pdf.count exch def }
+ ifelse
+ }
+ loop
+ }
+ if
+ /ANN
+ }
+ def
/pdf.breaklink.write
{
counttomark 1 sub
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-basics.dtx
index add8305061a..948a9eadfcd 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-basics} package\\ Backend basics^^A
+% The \pkg{l3backend-basics} module\\ Backend basics^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2023-11-09}{}
+ {l3backend-dvipdfmx.def}{2024-01-04}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2023-11-09}{}
+ {l3backend-dvips.def}{2024-01-04}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2023-11-09}{}
+ {l3backend-dvisvgm.def}{2024-01-04}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2023-11-09}{}
+ {l3backend-luatex.def}{2024-01-04}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2023-11-09}{}
+ {l3backend-pdftex.def}{2024-01-04}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2023-11-09}{}
+ {l3backend-xetex.def}{2024-01-04}{}
{L3 backend support: XeTeX}
%</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 cf91e71bed1..7dbacb0044d 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-box} package\\ Backend box support^^A
+% The \pkg{l3backend-box} package\\ Backend box support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -118,9 +118,9 @@
{ \fp_eval:n { round ( -(#2) , 5 ) } } ~
rotate
}
- \__kernel_backend_align_end:
- \box_use:N #1
- \__kernel_backend_scope_end:
+ \__kernel_backend_align_end:
+ \box_use:N #1
+ \__kernel_backend_scope_end:
}
% \end{macrocode}
% \end{macro}
@@ -217,8 +217,8 @@
\c_space_tl
\fp_use:N \l_@@_backend_cos_fp
}
- \box_use:N #1
- \__kernel_backend_scope_end:
+ \box_use:N #1
+ \__kernel_backend_scope_end:
}
\fp_new:N \l_@@_backend_cos_fp
\fp_new:N \l_@@_backend_sin_fp
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-color.dtx
index cca4f543836..94a09ae9160 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-color} package\\ Backend color support^^A
+% The \pkg{l3backend-color} module\\ Backend color support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -169,7 +169,6 @@
% \@@_backend_select:n
% }
% \begin{macro}{\@@_backend_reset:}
-% \begin{macro}{color.sc}
% Push the data to the stack. In the case of \texttt{dvips} also saves the
% drawing color in raw PostScript. The |spot| model is for handling data
% in classical format.
@@ -194,7 +193,6 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \begin{macrocode}
%</dvips|dvisvgm>
@@ -467,9 +465,9 @@
% \begin{macrocode}
\cs_new:Npn \@@_backend_separation_init:nnn #1#2#3
{
- \exp_args:Ne \@@_backend_separation_init:nnnn
- { \@@_backend_separation_init_count:n {#2} }
- {#1} {#2} {#3}
+ \exp_args:Ne \@@_backend_separation_init:nnnn
+ { \@@_backend_separation_init_count:n {#2} }
+ {#1} {#2} {#3}
}
\cs_new:Npn \@@_backend_separation_init_count:n #1
{ \int_eval:n { 0 \@@_backend_separation_init_count:w #1 ~ \s_@@_stop } }
@@ -531,15 +529,15 @@
% \begin{macrocode}
\cs_new:Npn \@@_backend_separation_init:nw #1#2 ~ #3 ~ #4 \s_@@_stop
{
- #2 ~ #3 ~
- 2 ~ index ~ 2 ~ index ~ lt ~
- { ~ pop ~ exch ~ pop ~ } ~
- { ~
- 2 ~ index ~ 1 ~ index ~ gt ~
- { ~ exch ~ pop ~ exch ~ pop ~ } ~
- { ~ pop ~ pop ~ } ~
- ifelse ~
- }
+ #2 ~ #3 ~
+ 2 ~ index ~ 2 ~ index ~ lt ~
+ { ~ pop ~ exch ~ pop ~ } ~
+ { ~
+ 2 ~ index ~ 1 ~ index ~ gt ~
+ { ~ exch ~ pop ~ exch ~ pop ~ } ~
+ { ~ pop ~ pop ~ } ~
+ ifelse ~
+ }
ifelse ~
#1 ~ 1 ~ roll ~
\tl_if_blank:nF {#4}
@@ -795,9 +793,9 @@
{
/Lab ~
<<
- /WhitePoint ~
- [ \tl_use:c { c_@@_model_whitepoint_CIELAB_ #1 _tl } ]
- /Range ~ [ \c_@@_model_range_CIELAB_tl ]
+ /WhitePoint ~
+ [ \tl_use:c { c_@@_model_whitepoint_CIELAB_ #1 _tl } ]
+ /Range ~ [ \c_@@_model_range_CIELAB_tl ]
>>
}
}
@@ -841,7 +839,7 @@
]
}
{ {#3} }
- }
+ }
\use:e
{
\pdf_object_new:n { color \int_use:N \g_@@_model_int }
@@ -1207,14 +1205,14 @@
\__kernel_backend_scope:n
{
stroke =
- "
- rgb
- (
- #1 \c_percent_str ,
- #2 \c_percent_str ,
- #3 \c_percent_str
- )
- "
+ "
+ rgb
+ (
+ #1 \c_percent_str ,
+ #2 \c_percent_str ,
+ #3 \c_percent_str
+ )
+ "
}
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-draw.dtx
index 46b0e2af1dd..93a4c09b44e 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-draw} package\\ Backend drawing support^^A
+% The \pkg{l3backend-draw} package\\ Backend drawing support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -141,11 +141,11 @@
}
\cs_new_protected:Npn \@@_backend_rectangle:nnnn #1#2#3#4
{
- \@@_backend_literal:e
- {
- \dim_to_decimal_in_bp:n {#4} ~ \dim_to_decimal_in_bp:n {#3} ~
- \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
- moveto~dup~0~rlineto~exch~0~exch~rlineto~neg~0~rlineto~closepath
+ \@@_backend_literal:e
+ {
+ \dim_to_decimal_in_bp:n {#4} ~ \dim_to_decimal_in_bp:n {#3} ~
+ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
+ moveto~dup~0~rlineto~exch~0~exch~rlineto~neg~0~rlineto~closepath
}
}
\cs_new_protected:Npn \@@_backend_curveto:nnnnnn #1#2#3#4#5#6
@@ -157,7 +157,7 @@
\dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
curveto
}
- }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -451,10 +451,10 @@
\dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
c
}
- }
+ }
\cs_new_protected:Npn \@@_backend_rectangle:nnnn #1#2#3#4
{
- \@@_backend_literal:e
+ \@@_backend_literal:e
{
\dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
\dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
@@ -698,7 +698,7 @@
{ \fp_eval:n { atand ( #3 , #2 ) } }
{ \fp_eval:n { atand ( #4 , #1 ) } }
}
- #5
+ #5
}
\cs_new_protected:Npn \@@_backend_cm_decompose_auxii:nnnnN #1#2#3#4#5
{
@@ -1022,8 +1022,8 @@
{
\__kernel_backend_scope:n
{
- transform =
- " matrix ( #1 , #2 , #3 , #4 , 0pt , 0pt ) "
+ transform =
+ " matrix ( #1 , #2 , #3 , #4 , 0pt , 0pt ) "
}
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-graphics.dtx
index ce2e00a4058..b1b7e6ea896 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-graphics} package\\ Backend graphics support^^A
+% The \pkg{l3backend-graphics} module\\ Backend graphics support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -83,7 +83,7 @@
%<*dvips>
% \end{macrocode}
%
-% \begin{variable}{\l_graphics_search_ext_seq}
+% \begin{variable}[no-user-doc]{\l_graphics_search_ext_seq}
% \begin{macrocode}
\@@_backend_loaded:n
{ \seq_set_from_clist:Nn \l_graphics_search_ext_seq { .eps , .ps } }
@@ -137,7 +137,7 @@
%<*luatex|pdftex>
% \end{macrocode}
%
-% \begin{variable}{\l_graphics_search_ext_seq}
+% \begin{variable}[no-user-doc]{\l_graphics_search_ext_seq}
% \begin{macrocode}
\@@_backend_loaded:n
{
@@ -320,7 +320,7 @@
}
}
{#1}
- }
+ }
\cs_new_eq:NN \@@_backend_getbb_ps:n \@@_backend_getbb_eps:n
\cs_new_protected:Npn \@@_backend_getbb_eps:nn #1#2
{
@@ -376,13 +376,13 @@
%<*dvipdfmx|xetex>
% \end{macrocode}
%
-% \begin{variable}{\l_graphics_search_ext_seq}
+% \begin{variable}[no-user-doc]{\l_graphics_search_ext_seq}
% \begin{macrocode}
\@@_backend_loaded:n
{
\seq_set_from_clist:Nn \l_graphics_search_ext_seq
{ .pdf , .eps , .ps , .png , .jpg , .jpeg , .bmp }
- }
+ }
% \end{macrocode}
% \end{variable}
%
@@ -481,7 +481,7 @@
\tl_if_empty:NF \l_@@_decodearray_str
{ :D \l_@@_decodearray_str }
\bool_if:NT \l_@@_interpolate_bool
- { :I }
+ { :I }
}
{#1} {#2}
}
@@ -686,7 +686,7 @@
%<*dvisvgm>
% \end{macrocode}
%
-% \begin{variable}{\l_graphics_search_ext_seq}
+% \begin{variable}[no-user-doc]{\l_graphics_search_ext_seq}
% \begin{macrocode}
\@@_backend_loaded:n
{
@@ -768,7 +768,7 @@
{ \@@_backend_getbb_svg_auxiv:Nw #2 }
{ \@@_backend_getbb_svg_auxv:Nw #2 }
}
- }
+ }
##2 \s_@@_stop
}
}
@@ -777,7 +777,7 @@
\@@_backend_getbb_svg_auxii:w #3
\tl_to_str:n {#1} = \tl_to_str:n {#1} =
\s_@@_stop
- }
+ }
}
\cs_new_protected:Npn \@@_backend_getbb_svg_auxii:w { }
\cs_new_protected:Npn \@@_backend_getbb_svg_auxiii:Nw #1 ' #2 ' #3 \s_@@_stop
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-header.dtx
index 8fe469e6395..a16f8cee31a 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-header} package\\ Backend graphics support^^A
+% The \pkg{l3backend-header} module\\ Backend graphics support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -59,24 +59,24 @@
%<*dvips&header>
% \end{macrocode}
%
-% \begin{macro}{color.sc}
+% \begin{macro}[no-user-doc]{color.sc}
% Empty definition for color at the top level.
-% \begin{macrocode}
+% \begin{macrocode}
/color.sc { } def
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{TeXcolorseparation, separation}
+% \begin{macro}[int]{TeXcolorseparation, separation}
% Support for separation/spot colors: this strange naming is so
% things work with the color stack.
-% \begin{macrocode}
+% \begin{macrocode}
TeXDict begin
/TeXcolorseparation { setcolor } def
end
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{pdf.globaldict}
+% \begin{macro}[int]{pdf.globaldict}
% A small global dictionary for backend use.
% \begin{macrocode}
true setglobal
@@ -85,7 +85,7 @@ false setglobal
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}
+% \begin{macro}[int]
% {
% pdf.cvs ,
% pdf.dvi.pt ,
@@ -103,7 +103,7 @@ false setglobal
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{pdf.linkmargin, pdf.linkdp.pad, pdf.linkht.pad}
+% \begin{macro}[int]{pdf.linkmargin, pdf.linkdp.pad, pdf.linkht.pad}
% Settings which are defined up-front in |SDict|.
% \begin{macrocode}
/pdf.linkmargin { 1 pdf.pt.dvi } def
@@ -112,7 +112,7 @@ false setglobal
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}
+% \begin{macro}[int]
% {
% pdf.rect ,
% pdf.save.ll ,
@@ -167,7 +167,7 @@ false setglobal
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}
+% \begin{macro}[int]
% {
% pdf.dest.anchor ,
% pdf.dest.x ,
@@ -219,14 +219,14 @@ false setglobal
pdf.dest.y pdf.tmpc mul add
pdf.dev.x add
pdf.dest.x pdf.tmpb mul
- pdf.dest.y pdf.tmpd mul add
- pdf.dev.y add
+ pdf.dest.y pdf.tmpd mul add
+ pdf.dev.y add
}
def
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}
+% \begin{macro}[int]
% {
% pdf.bordertracking ,
% pdf.bordertracking.begin ,
@@ -388,7 +388,7 @@ false setglobal
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}
+% \begin{macro}[int]
% {
% pdf.breaklink ,
% pdf.breaklink.write ,
@@ -409,83 +409,83 @@ false setglobal
{
counttomark /pdf.count exch def
{
- pdf.count 0 eq { exit } if
- counttomark 2 roll
- 1 index /Rect eq
- {
- dup 4 array copy
- dup dup
- 1 get
- pdf.outerbox pdf.rect.ht
- pdf.linkmargin 2 mul add sub
- 3 exch put
- dup
- pdf.outerbox 2 get
- pdf.linkmargin add
- 2 exch put
- dup dup
- 3 get
- pdf.outerbox pdf.rect.ht
- pdf.linkmargin 2 mul add add
- 1 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
- {
- pdf.currentrect
- dup
- pdf.outerbox 0 get
- pdf.linkmargin sub
- 0 exch put
- dup
- pdf.outerbox 2 get
- pdf.linkmargin add
- 2 exch put
- dup dup
- 1 get
- pdf.baselineskip add
- 1 exch put
- dup dup
- 3 get
- pdf.baselineskip add
- 3 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
+ pdf.count 0 eq { exit } if
+ counttomark 2 roll
+ 1 index /Rect eq
+ {
+ dup 4 array copy
+ dup dup
+ 1 get
+ pdf.outerbox pdf.rect.ht
+ pdf.linkmargin 2 mul add sub
+ 3 exch put
+ dup
+ pdf.outerbox 2 get
+ pdf.linkmargin add
+ 2 exch put
+ dup dup
+ 3 get
+ pdf.outerbox pdf.rect.ht
+ pdf.linkmargin 2 mul add add
+ 1 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
+ {
+ pdf.currentrect
+ dup
+ pdf.outerbox 0 get
+ pdf.linkmargin sub
+ 0 exch put
+ dup
+ pdf.outerbox 2 get
+ pdf.linkmargin add
+ 2 exch put
+ dup dup
+ 1 get
+ pdf.baselineskip add
+ 1 exch put
+ dup dup
+ 3 get
+ pdf.baselineskip add
+ 3 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
}
1 index 3 get
pdf.linkmargin 2 mul add
pdf.outerbox pdf.rect.ht add
2 index 1 get sub
pdf.baselineskip div round cvi 1 sub
- exch
- repeat
- pdf.currentrect
- dup
- pdf.outerbox 0 get
- pdf.linkmargin sub
- 0 exch put
- dup dup
- 1 get
- pdf.baselineskip add
- 1 exch put
- dup dup
- 3 get
- pdf.baselineskip add
- 3 exch put
- dup 2 index 2 get 2 exch put
- /pdf.currentrect exch def
- pdf.breaklink.write
- SDict /pdf.pdfmark.good false put
- exit
- }
- { pdf.count 2 sub /pdf.count exch def }
- ifelse
- }
- loop
- }
- if
- /ANN
-}
- def
+ exch
+ repeat
+ pdf.currentrect
+ dup
+ pdf.outerbox 0 get
+ pdf.linkmargin sub
+ 0 exch put
+ dup dup
+ 1 get
+ pdf.baselineskip add
+ 1 exch put
+ dup dup
+ 3 get
+ pdf.baselineskip add
+ 3 exch put
+ dup 2 index 2 get 2 exch put
+ /pdf.currentrect exch def
+ pdf.breaklink.write
+ SDict /pdf.pdfmark.good false put
+ exit
+ }
+ { pdf.count 2 sub /pdf.count exch def }
+ ifelse
+ }
+ loop
+ }
+ if
+ /ANN
+ }
+ def
/pdf.breaklink.write
{
counttomark 1 sub
@@ -509,7 +509,7 @@ false setglobal
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}
+% \begin{macro}[int]
% {
% pdf.pdfmark ,
% pdf.pdfmark.good ,
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
index 440becf7608..728b18ca6de 100644
--- a/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
+++ b/Master/texmf-dist/source/latex/l3backend/l3backend-opacity.dtx
@@ -2,7 +2,7 @@
%
%% File: l3backend-opacity.dtx
%
-% Copyright (C) 2021-2023 The LaTeX Project
+% Copyright (C) 2021-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-opacity} package\\ Backend opacity support^^A
+% The \pkg{l3backend-opacity} module\\ Backend opacity support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -169,10 +169,10 @@
% same as color.
% \begin{macrocode}
\cs_new_protected:Npn \@@_backend_select:n #1
- {
- \exp_args:Ne \@@_backend_select_aux:n
- { \fp_eval:n { min(max(0,#1),1) } }
- }
+ {
+ \exp_args:Ne \@@_backend_select_aux:n
+ { \fp_eval:n { min(max(0,#1),1) } }
+ }
\cs_new_protected:Npn \@@_backend_select_aux:n #1
{
\tl_set:Nn \l_@@_backend_fill_tl {#1}
@@ -196,15 +196,15 @@
\cs_gset_protected:Npn \@@_backend_select_aux:n #1 { }
}
\cs_new_protected:Npn \@@_backend_reset:
- {
+ {
%<*dvipdfmx|xetex>
- \__kernel_backend_literal_pdf:n
+ \__kernel_backend_literal_pdf:n
{ /opacity1 ~ gs }
%</dvipdfmx|xetex>
%<*luatex|pdftex>
\__kernel_color_backend_stack_pop:n \c_@@_backend_stack_int
%</luatex|pdftex>
- }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -240,12 +240,12 @@
{ opacity.stroke #1 }
{ << /CA ~ #2 >> }
%<*dvipdfmx|xetex>
- \__kernel_backend_literal_pdf:n
+ \__kernel_backend_literal_pdf:n
%</dvipdfmx|xetex>
%<*luatex|pdftex>
- \__kernel_color_backend_stack_push:nn \c_@@_backend_stack_int
+ \__kernel_color_backend_stack_push:nn \c_@@_backend_stack_int
%</luatex|pdftex>
- { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
+ { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
\group_insert_after:N \@@_backend_reset:
}
}
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx b/Master/texmf-dist/source/latex/l3backend/l3backend-pdf.dtx
index e787ab7c25b..19ab02daaa4 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3backend-pdf} package\\ Backend PDF features^^A
+% The \pkg{l3backend-pdf} module\\ Backend PDF features^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-11-09}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -388,16 +388,6 @@
% \begin{macro}{\@@_backend_link_minima:}
% \begin{macro}{\@@_backend_link_outerbox:n}
% \begin{macro}{\@@_backend_link_sf_save:, \@@_backend_link_sf_restore:}
-% \begin{macro}
-% {
-% pdf.linkdp.pad ,
-% pdf.linkht.pad ,
-% pdf.llx, pdf.lly ,
-% pdf.ury, pdf.ury ,
-% pdf.link.dict ,
-% pdf.outerbox ,
-% pdf.baselineskip
-% }
% Links are crated like annotations but with dedicated code to allow for
% adjusting the size of the rectangle. In contrast to \pkg{hyperref}, we
% grab the link content as a box which can then unbox: this allows the same
@@ -470,9 +460,9 @@
\hbox_set:Nn \l_@@_backend_model_box { Gg }
\exp_args:Ne \@@_backend_link_outerbox:n
{
- \int_if_odd:nTF { \value { page } }
- { \oddsidemargin }
- { \evensidemargin }
+ \int_if_odd:nTF { \value { page } }
+ { \oddsidemargin }
+ { \evensidemargin }
}
\box_move_down:nn { \box_dp:N \l_@@_backend_content_box }
{ \hbox:n { \__kernel_backend_postscript:n { pdf.save.linkll } } }
@@ -569,9 +559,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
-% \begin{macro}{\@makecol@hook}
% Hooks to allow link breaking: something will be needed in format mode
% at some stage. At present this code is disabled as there is an open
% question about the name of the hook: to be resolved at the \LaTeXe{}
@@ -605,7 +593,6 @@
}
}
% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\@@_backend_link_last:}
% The same as annotations, but with a custom integer.
@@ -711,7 +698,7 @@
\__kernel_backend_literal_postscript:n
{
/setdistillerparams ~ where
- { pop << /CompressPages ~ false >> setdistillerparams }
+ { pop << /CompressPages ~ false >> setdistillerparams }
if
}
}
@@ -723,7 +710,7 @@
\__kernel_backend_literal_postscript:n
{
/setdistillerparams ~ where
- { pop << /CompressStreams ~ false >> setdistillerparams }
+ { pop << /CompressStreams ~ false >> setdistillerparams }
if
}
}
@@ -1336,7 +1323,7 @@
% \begin{macro}{\@@_backend_object_last:}
% \begin{macrocode}
\cs_new:Npn \@@_backend_object_last:
- { @pdf.obj \int_use:N \g_@@_backend_object_int }
+ { @pdf.obj \int_use:N \g_@@_backend_object_int }
% \end{macrocode}
% \end{macro}
%
@@ -1379,7 +1366,7 @@
% \begin{macro}{\@@_backend_annotation_last:}
% \begin{macrocode}
\cs_new:Npn \@@_backend_annotation_last:
- { @pdf.obj \int_use:N \g_@@_backend_annotation_int }
+ { @pdf.obj \int_use:N \g_@@_backend_annotation_int }
% \end{macrocode}
% \end{macro}
%
@@ -1405,14 +1392,14 @@
\exp_not:N \int_gincr:N \exp_not:N \g_@@_backend_link_int
\@@_backend:e
{
- bann ~
- @pdf.lnk
- \exp_not:N \int_use:N \exp_not:N \g_@@_backend_link_int
- \c_space_tl
- <<
- /Type /Annot
- #1
- >>
+ bann ~
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g_@@_backend_link_int
+ \c_space_tl
+ <<
+ /Type /Annot
+ #1
+ >>
}
}
\cs_new_protected:Npn \@@_backend_link_end:
diff --git a/Master/texmf-dist/source/latex/l3backend/l3backend.ins b/Master/texmf-dist/source/latex/l3backend/l3backend.ins
index 5b8945f0127..e24c41d2365 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-2023 The LaTeX Project
+Copyright (C) 2019-2024 The LaTeX 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) 2019-2023 The LaTeX Project
+Copyright (C) 2019-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of
the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -142,7 +142,7 @@ and all files in that bundle must be distributed together.
\def\MetaPrefix{--}
\preamble
-Copyright (C) 2023 The LaTeX Project
+Copyright (C) 2023,2024 The LaTeX 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/l3experimental/l3benchmark/l3benchmark.dtx b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
index bc21191d4b8..2eb979c6603 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
@@ -2,7 +2,7 @@
%
%% File: l3benchmark.dtx
%
-% Copyright (C) 2011-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -122,7 +122,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2023-12-08}{}
+\ProvidesExplPackage{l3benchmark}{2024-01-04}{}
{L3 Experimental benchmarking}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins
index cfef0f0600d..2c4c6908df3 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.ins
@@ -2,7 +2,7 @@
File: l3benchmark.ins
-Copyright (C) 2011,2018-2023 The LaTeX Project
+Copyright (C) 2011,2018-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2018-2023 The LaTeX Project
+Copyright (C) 2018-2024 The LaTeX 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/l3experimental/l3draw/l3draw-boxes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
index b8f68e90a83..8f481aada9b 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-boxes.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
index cf2c2091cb1..6e71f93adee 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-layers.dtx
%
-% Copyright (C) 2019-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
index 53032f4d611..735db2d23e6 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-paths.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -235,9 +235,9 @@
}
\cs_new_protected:Npn \@@_path_moveto:nn #1#2
{
- \@@_path_update_limits:nn {#1} {#2}
- \@@_softpath_moveto:nn {#1} {#2}
- \@@_path_update_last:nn {#1} {#2}
+ \@@_path_update_limits:nn {#1} {#2}
+ \@@_softpath_moveto:nn {#1} {#2}
+ \@@_path_update_last:nn {#1} {#2}
}
\cs_new_protected:Npn \draw_path_lineto:n #1
{
@@ -247,10 +247,10 @@
}
\cs_new_protected:Npn \@@_path_lineto:nn #1#2
{
- \@@_path_mark_corner:
- \@@_path_update_limits:nn {#1} {#2}
- \@@_softpath_lineto:nn {#1} {#2}
- \@@_path_update_last:nn {#1} {#2}
+ \@@_path_mark_corner:
+ \@@_path_update_limits:nn {#1} {#2}
+ \@@_softpath_lineto:nn {#1} {#2}
+ \@@_path_update_last:nn {#1} {#2}
}
\cs_new_protected:Npn \draw_path_curveto:nnn #1#2#3
{
@@ -265,11 +265,11 @@
}
\cs_new_protected:Npn \@@_path_curveto:nnnnnn #1#2#3#4#5#6
{
- \@@_path_update_limits:nn {#1} {#2}
- \@@_path_update_limits:nn {#3} {#4}
- \@@_path_update_limits:nn {#5} {#6}
- \@@_softpath_curveto:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6}
- \@@_path_update_last:nn {#5} {#6}
+ \@@_path_update_limits:nn {#1} {#2}
+ \@@_path_update_limits:nn {#3} {#4}
+ \@@_path_update_limits:nn {#5} {#6}
+ \@@_softpath_curveto:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6}
+ \@@_path_update_last:nn {#5} {#6}
}
% \end{macrocode}
% \end{macro}
@@ -348,32 +348,32 @@
\fp_set:Nn \l_@@_path_tmpb_fp { \c_@@_path_curveto_b_fp * #2 }
\use:e
{
- \@@_path_mark_corner:
- \@@_path_curveto:nnnnnn
- {
- \fp_to_dim:n
- {
- \c_@@_path_curveto_a_fp * \g_@@_path_lastx_dim
- + \l_@@_path_tmpa_fp
- }
- }
- {
- \fp_to_dim:n
- {
- \c_@@_path_curveto_a_fp * \g_@@_path_lasty_dim
- + \l_@@_path_tmpb_fp
- }
- }
- {
- \fp_to_dim:n
- { \c_@@_path_curveto_a_fp * #3 + \l_@@_path_tmpa_fp }
- }
- {
- \fp_to_dim:n
- { \c_@@_path_curveto_a_fp * #4 + \l_@@_path_tmpb_fp }
- }
- {#3}
- {#4}
+ \@@_path_mark_corner:
+ \@@_path_curveto:nnnnnn
+ {
+ \fp_to_dim:n
+ {
+ \c_@@_path_curveto_a_fp * \g_@@_path_lastx_dim
+ + \l_@@_path_tmpa_fp
+ }
+ }
+ {
+ \fp_to_dim:n
+ {
+ \c_@@_path_curveto_a_fp * \g_@@_path_lasty_dim
+ + \l_@@_path_tmpb_fp
+ }
+ }
+ {
+ \fp_to_dim:n
+ { \c_@@_path_curveto_a_fp * #3 + \l_@@_path_tmpa_fp }
+ }
+ {
+ \fp_to_dim:n
+ { \c_@@_path_curveto_a_fp * #4 + \l_@@_path_tmpb_fp }
+ }
+ {#3}
+ {#4}
}
}
\fp_const:Nn \c_@@_path_curveto_a_fp { 1 / 3 }
@@ -390,8 +390,8 @@
% \begin{macro}
% {
% \@@_path_arc_auxi:nnnnNnn,
-% \@@_path_arc_auxi:fnnnNnn,
-% \@@_path_arc_auxi:fnfnNnn
+% \@@_path_arc_auxi:enenNnn,
+% \@@_path_arc_auxi:eennNnn
% }
% \begin{macro}{\@@_path_arc_auxii:nnnNnnnn}
% \begin{macro}{\@@_path_arc_auxiii:nn}
@@ -416,7 +416,7 @@
{ \fp_eval:n {#2} }
{ \fp_to_dim:n {#3} }
{ \fp_to_dim:n {#4} }
- }
+ }
}
\cs_new_protected:Npn \@@_path_arc:nnnn #1#2#3#4
{
@@ -432,14 +432,14 @@
{
\fp_compare:nNnTF \l_@@_path_arc_delta_fp > { 115 }
{
- \@@_path_arc_auxi:ffnnNnn
+ \@@_path_arc_auxi:eennNnn
{ \fp_to_decimal:N \l_@@_path_arc_start_fp }
{ \fp_eval:n { \l_@@_path_arc_start_fp #3 90 } }
{ 90 } {#2}
#3 {#4} {#5}
}
{
- \@@_path_arc_auxi:ffnnNnn
+ \@@_path_arc_auxi:eennNnn
{ \fp_to_decimal:N \l_@@_path_arc_start_fp }
{ \fp_eval:n { \l_@@_path_arc_start_fp #3 60 } }
{ 60 } {#2}
@@ -447,7 +447,7 @@
}
}
\@@_path_mark_corner:
- \@@_path_arc_auxi:fnfnNnn
+ \@@_path_arc_auxi:enenNnn
{ \fp_to_decimal:N \l_@@_path_arc_start_fp }
{#2}
{ \fp_eval:n { abs( \l_@@_path_arc_start_fp - #2 ) } }
@@ -488,10 +488,10 @@
}
}
}
-\cs_generate_variant:Nn \@@_path_arc_auxi:nnnnNnn { fnf , ff }
+\cs_generate_variant:Nn \@@_path_arc_auxi:nnnnNnn { ene , ee }
% \end{macrocode}
% We can now calculate the required points. As everything here is
-% non-expandable, that is best done by using \texttt{x}-type expansion
+% non-expandable, that is best done by using \texttt{e}-type expansion
% to build up the tokens. The three points are calculated out-of-order,
% since finding the second control point needs the position of the end
% point. Once the points are found, fire-off the fundamental path
@@ -708,7 +708,7 @@
{ \@@_path_rectangle_rounded:nnnn }
{ \@@_path_rectangle:nnnn }
}
- { \draw_point_transform:n {#1} }
+ {#1}
{#2}
}
\cs_new_protected:Npn \@@_path_rectangle:nnnn #1#2#3#4
@@ -752,12 +752,12 @@
% \begin{macro}{\draw_path_grid:nnnn}
% \begin{macro}
% {
-% \@@_path_grid_auxi:nnnnnn, \@@_path_grid_auxi:ffnnnn,
+% \@@_path_grid_auxi:nnnnnn, \@@_path_grid_auxi:eennnn,
% \@@_path_grid_auxii:nnnnnn,
-% \@@_path_grid_auxiii:nnnnnn, \@@_path_grid_auxiiii:ffnnnn
+% \@@_path_grid_auxiii:nnnnnn, \@@_path_grid_auxiiii:eennnn
% }
% \begin{macro}
-% {\@@_path_grid_auxiv:nnnnnnnn, \@@_path_grid_auxiv:ffnnnnnn}
+% {\@@_path_grid_auxiv:nnnnnnnn, \@@_path_grid_auxiv:eennnnnn}
% The main complexity here is lining up the grid correctly.
% To keep it simple, we tidy up the argument ordering first.
% \begin{macrocode}
@@ -765,7 +765,7 @@
{
\@@_point_process:nnn
{
- \@@_path_grid_auxi:ffnnnn
+ \@@_path_grid_auxi:eennnn
{ \dim_eval:n { \dim_abs:n {#1} } }
{ \dim_eval:n { \dim_abs:n {#2} } }
}
@@ -777,7 +777,7 @@
{ \@@_path_grid_auxii:nnnnnn {#1} {#2} {#5} {#4} {#3} {#6} }
{ \@@_path_grid_auxii:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} }
}
-\cs_generate_variant:Nn \@@_path_grid_auxi:nnnnnn { ff }
+\cs_generate_variant:Nn \@@_path_grid_auxi:nnnnnn { ee }
\cs_new_protected:Npn \@@_path_grid_auxii:nnnnnn #1#2#3#4#5#6
{
\dim_compare:nNnTF {#4} > {#6}
@@ -786,7 +786,7 @@
}
\cs_new_protected:Npn \@@_path_grid_auxiii:nnnnnn #1#2#3#4#5#6
{
- \@@_path_grid_auxiv:ffnnnnnn
+ \@@_path_grid_auxiv:eennnnnn
{ \fp_to_dim:n { #1 * trunc(#3/(#1)) } }
{ \fp_to_dim:n { #2 * trunc(#4/(#2)) } }
{#1} {#2} {#3} {#4} {#5} {#6}
@@ -810,7 +810,7 @@
\draw_path_lineto:n { #7 , ##1 }
}
}
-\cs_generate_variant:Nn \@@_path_grid_auxiv:nnnnnnnn { ff }
+\cs_generate_variant:Nn \@@_path_grid_auxiv:nnnnnnnn { ee }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -864,7 +864,7 @@
\@@_path_reset_limits:
}
{ \@@_path_use:n { #1 , clear } }
- }
+ }
% \end{macrocode}
% Map over the actions and set up the data: mainly just booleans,
% but with the possibility to cover more complex cases. The business end
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
index f7228732377..19e69d4b388 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-points.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -70,10 +70,10 @@
% \item \cs{pgfpointadd}, \cs{pgfpointdiff},
% \cs{pgfpointscale}: Can be given explicitly.
% \item \cs{pgfextractx}, \cs{pgfextracty}: Available by applying
-% \cs{use_i:nn}/\cs{use_ii:nn} or similar to the \texttt{x}-type
+% \cs{use_i:nn}/\cs{use_ii:nn} or similar to the \texttt{e}-type
% expansion of a point expression.
% \item \cs{pgfgetlastxy}: Unused in the entire \pkg{pgf} core, may be
-% emulated by \texttt{x}-type expansion of a point expression, then using
+% emulated by \texttt{e}-type expansion of a point expression, then using
% the result.
% \end{itemize}
% In addition, equivalents of the following \emph{may} be added in future but
@@ -93,16 +93,18 @@
% \subsection{Support functions}
%
% \begin{macro}[EXP]{\@@_point_process:nn}
-% \begin{macro}[EXP]{\@@_point_process_auxi:nn}
+% \begin{macro}[EXP]{\@@_point_process_auxi:nn, \@@_point_process_auxi:en}
% \begin{macro}[EXP]{\@@_point_process_auxii:nw}
% \begin{macro}[EXP]{\@@_point_process:nnn}
-% \begin{macro}[EXP]{\@@_point_process_auxiii:nnn}
+% \begin{macro}[EXP]{\@@_point_process_auxiii:nnn, \@@_point_process_auxiii:een}
% \begin{macro}[EXP]{\@@_point_process_auxiv:nw}
% \begin{macro}[EXP]{\@@_point_process:nnnn}
-% \begin{macro}[EXP]{\@@_point_process_auxv:nnnn}
+% \begin{macro}[EXP]
+% {\@@_point_process_auxv:nnnn, \@@_point_process_auxv:eeen}
% \begin{macro}[EXP]{\@@_point_process_auxvi:nw}
% \begin{macro}[EXP]{\@@_point_process:nnnnn}
-% \begin{macro}[EXP]{\@@_point_process_auxvii:nnnnn}
+% \begin{macro}[EXP]
+% {\@@_point_process_auxvii:nnnnn, \@@_point_process_auxvii:eeeen}
% \begin{macro}[EXP]{\@@_point_process_auxviii:nw}
% Execute whatever code is passed to extract the $x$ and $y$ co-ordinates.
% The first argument here should itself absorb two arguments. There is
@@ -111,28 +113,30 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_process:nn #1#2
{
- \exp_args:Nf \@@_point_process_auxi:nn
+ \@@_point_process_auxi:en
{ \draw_point:n {#2} }
{#1}
}
\cs_new:Npn \@@_point_process_auxi:nn #1#2
{ \@@_point_process_auxii:nw {#2} #1 \s_@@_stop }
+\cs_generate_variant:Nn \@@_point_process_auxi:nn { e }
\cs_new:Npn \@@_point_process_auxii:nw #1 #2 , #3 \s_@@_stop
{ #1 {#2} {#3} }
\cs_new:Npn \@@_point_process:nnn #1#2#3
{
- \exp_args:Nff \@@_point_process_auxiii:nnn
+ \@@_point_process_auxiii:een
{ \draw_point:n {#2} }
{ \draw_point:n {#3} }
{#1}
}
\cs_new:Npn \@@_point_process_auxiii:nnn #1#2#3
{ \@@_point_process_auxiv:nw {#3} #1 \s_@@_mark #2 \s_@@_stop }
+\cs_generate_variant:Nn \@@_point_process_auxiii:nnn { ee }
\cs_new:Npn \@@_point_process_auxiv:nw #1 #2 , #3 \s_@@_mark #4 , #5 \s_@@_stop
{ #1 {#2} {#3} {#4} {#5} }
\cs_new:Npn \@@_point_process:nnnn #1#2#3#4
{
- \exp_args:Nfff \@@_point_process_auxv:nnnn
+ \@@_point_process_auxv:eeen
{ \draw_point:n {#2} }
{ \draw_point:n {#3} }
{ \draw_point:n {#4} }
@@ -140,12 +144,13 @@
}
\cs_new:Npn \@@_point_process_auxv:nnnn #1#2#3#4
{ \@@_point_process_auxvi:nw {#4} #1 \s_@@_mark #2 \s_@@_mark #3 \s_@@_stop }
+\cs_generate_variant:Nn \@@_point_process_auxv:nnnn { eee }
\cs_new:Npn \@@_point_process_auxvi:nw
#1 #2 , #3 \s_@@_mark #4 , #5 \s_@@_mark #6 , #7 \s_@@_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} }
\cs_new:Npn \@@_point_process:nnnnn #1#2#3#4#5
{
- \exp_args:Nffff \@@_point_process_auxvii:nnnnn
+ \@@_point_process_auxvii:eeeen
{ \draw_point:n {#2} }
{ \draw_point:n {#3} }
{ \draw_point:n {#4} }
@@ -157,6 +162,7 @@
\@@_point_process_auxviii:nw
{#5} #1 \s_@@_mark #2 \s_@@_mark #3 \s_@@_mark #4 \s_@@_stop
}
+\cs_generate_variant:Nn \@@_point_process_auxvii:nnnnn { eeee }
\cs_new:Npn \@@_point_process_auxviii:nw
#1 #2 , #3 \s_@@_mark #4 , #5 \s_@@_mark #6 , #7 \s_@@_mark #8 , #9 \s_@@_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9} }
@@ -177,15 +183,15 @@
% \subsection{Basic points}
%
% \begin{macro}[EXP]{\draw_point:n}
-% \begin{macro}[EXP]{\@@_point_to_dim:n, \@@_point_to_dim:f}
+% \begin{macro}[EXP]{\@@_point_to_dim:n, \@@_point_to_dim:e}
% \begin{macro}[EXP]{\@@_point_to_dim:w}
% Co-ordinates are always returned as two dimensions.
% \begin{macrocode}
\cs_new:Npn \draw_point:n #1
- { \@@_point_to_dim:f { \fp_eval:n {#1} } }
+ { \@@_point_to_dim:e { \fp_eval:n {#1} } }
\cs_new:Npn \@@_point_to_dim:n #1
{ \@@_point_to_dim:w #1 }
-\cs_generate_variant:Nn \@@_point_to_dim:n { f }
+\cs_generate_variant:Nn \@@_point_to_dim:n { e }
\cs_new:Npn \@@_point_to_dim:w ( #1 , ~ #2 ) { #1pt , #2pt }
% \end{macrocode}
% \end{macro}
@@ -195,7 +201,7 @@
%
% \begin{macro}[EXP]{\draw_point_polar:nn}
% \begin{macro}[EXP]{\draw_point_polar:nnn}
-% \begin{macro}[EXP]{\@@_draw_polar:nnn, \@@_draw_polar:fnn}
+% \begin{macro}[EXP]{\@@_draw_polar:nnn, \@@_draw_polar:enn}
% Polar co-ordinates may have either one or two lengths, so there is a need
% to do a simple split before the calculation. As the angle gets used twice,
% save on any expression evaluation there and force expansion.
@@ -203,10 +209,10 @@
\cs_new:Npn \draw_point_polar:nn #1#2
{ \draw_point_polar:nnn {#1} {#1} {#2} }
\cs_new:Npn \draw_point_polar:nnn #1#2#3
- { \@@_draw_polar:fnn { \fp_eval:n {#3} } {#1} {#2} }
+ { \@@_draw_polar:enn { \fp_eval:n {#3} } {#1} {#2} }
\cs_new:Npn \@@_draw_polar:nnn #1#2#3
{ \draw_point:n { cosd(#1) * (#2) , sind(#1) * (#3) } }
-\cs_generate_variant:Nn \@@_draw_polar:nnn { f }
+\cs_generate_variant:Nn \@@_draw_polar:nnn { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -218,7 +224,7 @@
%
% \begin{macro}[EXP]{\draw_point_unit_vector:n}
% \begin{macro}[EXP]{\@@_point_unit_vector:nn}
-% \begin{macro}[EXP]{\@@_point_unit_vector:nnn}
+% \begin{macro}[EXP]{\@@_point_unit_vector:nnn, \@@_point_unit_vector:enn}
% The outcome is the normalised vector from $(0,0)$ in the direction of
% the point, \emph{i.e.}
% \[
@@ -232,7 +238,7 @@
{ \@@_point_process:nn { \@@_point_unit_vector:nn } {#1} }
\cs_new:Npn \@@_point_unit_vector:nn #1#2
{
- \exp_args:Nf \@@_point_unit_vector:nnn
+ \@@_point_unit_vector:nnn
{ \fp_eval:n { (sqrt(#1 * #1 + #2 * #2)) } }
{#1} {#2}
}
@@ -245,6 +251,7 @@
{ ( #2 , #3 ) / #1 }
}
}
+\cs_generate_variant:Nn \@@_point_unit_vector:nnn { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -256,7 +263,7 @@
% \begin{macro}[EXP]{\@@_point_intersect_lines:nnnnnn}
% \begin{macro}[EXP]{\@@_point_intersect_lines:nnnnnnnn}
% \begin{macro}[EXP]
-% {\@@_point_intersect_lines_aux:nnnnnn, \@@_point_intersect_lines_aux:ffffff}
+% {\@@_point_intersect_lines_aux:nnnnnn, \@@_point_intersect_lines_aux:eeeeee}
% The intersection point~$P$ between a line joining points $(x_{1}, y_{1})$
% and $(x_{2}, y_{2})$ with a second line joining points $(x_{3}, y_{3})$
% and $(x_{4}, y_{4})$ can be calculated using the formulae
@@ -300,7 +307,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_intersect_lines:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_intersect_lines_aux:ffffff
+ \@@_point_intersect_lines_aux:eeeeee
{ \fp_eval:n { #1 * #4 - #2 * #3 } }
{ \fp_eval:n { #5 * #8 - #6 * #7 } }
{ \fp_eval:n { #1 - #3 } }
@@ -316,7 +323,7 @@
/ ( #4 * #5 - #6 * #3 )
}
}
-\cs_generate_variant:Nn \@@_point_intersect_lines_aux:nnnnnn { ffffff }
+\cs_generate_variant:Nn \@@_point_intersect_lines_aux:nnnnnn { eeeeee }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -328,29 +335,29 @@
% \begin{macro}[EXP]
% {
% \@@_point_intersect_circles_auxii:nnnnnnn,
-% \@@_point_intersect_circles_auxii:ffnnnnn,
+% \@@_point_intersect_circles_auxii:eennnnn,
% \@@_point_intersect_circles_auxiii:nnnnnnn,
-% \@@_point_intersect_circles_auxiii:ffnnnnn
+% \@@_point_intersect_circles_auxiii:eennnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_intersect_circles_auxiv:nnnnnnnn,
-% \@@_point_intersect_circles_auxiv:fnnnnnnn
+% \@@_point_intersect_circles_auxiv:ennnnnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_intersect_circles_auxv:nnnnnnnnn,
-% \@@_point_intersect_circles_auxv:ffnnnnnnn
+% \@@_point_intersect_circles_auxv:eennnnnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_intersect_circles_auxvi:nnnnnnnn,
-% \@@_point_intersect_circles_auxvi:fnnnnnnn
+% \@@_point_intersect_circles_auxvi:ennnnnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_intersect_circles_auxvii:nnnnnnn,
-% \@@_point_intersect_circles_auxvii:fffnnnn
+% \@@_point_intersect_circles_auxvii:eeennnn
% }
% Another long expansion chain to get the values in the right places.
% We have two circles, the first with center $(a, b)$ and radius~$r$,
@@ -383,7 +390,7 @@
}
\cs_new:Npn \@@_point_intersect_circles_auxi:nnnnnnn #1#2#3#4#5#6#7
{
- \@@_point_intersect_circles_auxii:ffnnnnn
+ \@@_point_intersect_circles_auxii:eennnnn
{ \fp_eval:n {#1} } { \fp_eval:n {#2} } {#4} {#5} {#6} {#7} {#3}
}
% \end{macrocode}
@@ -403,19 +410,19 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_intersect_circles_auxii:nnnnnnn #1#2#3#4#5#6#7
{
- \@@_point_intersect_circles_auxiii:ffnnnnn
+ \@@_point_intersect_circles_auxiii:eennnnn
{ \fp_eval:n { #5 - #3 } }
{ \fp_eval:n { #6 - #4 } }
{#1} {#2} {#3} {#4} {#7}
}
-\cs_generate_variant:Nn \@@_point_intersect_circles_auxii:nnnnnnn { ff }
+\cs_generate_variant:Nn \@@_point_intersect_circles_auxii:nnnnnnn { ee }
\cs_new:Npn \@@_point_intersect_circles_auxiii:nnnnnnn #1#2#3#4#5#6#7
{
- \@@_point_intersect_circles_auxiv:fnnnnnnn
+ \@@_point_intersect_circles_auxiv:ennnnnnn
{ \fp_eval:n { sqrt( #1 * #1 + #2 * #2 ) } }
{#1} {#2} {#3} {#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \@@_point_intersect_circles_auxiii:nnnnnnn { ff }
+\cs_generate_variant:Nn \@@_point_intersect_circles_auxiii:nnnnnnn { ee }
% \end{macrocode}
% We now have $p$: we pre-calculate $1/p$ as it is needed a few times and
% is relatively expensive. We also need $r^{2}$ twice so deal with that
@@ -423,19 +430,19 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_intersect_circles_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_intersect_circles_auxv:ffnnnnnnn
+ \@@_point_intersect_circles_auxv:eennnnnnn
{ \fp_eval:n { 1 / #1 } }
{ \fp_eval:n { #4 * #4 } }
{#1} {#2} {#3} {#5} {#6} {#7} {#8}
}
-\cs_generate_variant:Nn \@@_point_intersect_circles_auxiv:nnnnnnnn { f }
+\cs_generate_variant:Nn \@@_point_intersect_circles_auxiv:nnnnnnnn { e }
\cs_new:Npn \@@_point_intersect_circles_auxv:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \@@_point_intersect_circles_auxvi:fnnnnnnn
+ \@@_point_intersect_circles_auxvi:ennnnnnn
{ \fp_eval:n { 0.5 * #1 * ( #2 + #3 * #3 - #6 * #6 ) } }
{#1} {#2} {#4} {#5} {#7} {#8} {#9}
}
-\cs_generate_variant:Nn \@@_point_intersect_circles_auxv:nnnnnnnnn { ff }
+\cs_generate_variant:Nn \@@_point_intersect_circles_auxv:nnnnnnnnn { ee }
% \end{macrocode}
% We now have all of the intermediate values we require, with one division
% carried out up-front to avoid doing this expensive step twice:
@@ -455,19 +462,19 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_intersect_circles_auxvi:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_intersect_circles_auxvii:fffnnnn
+ \@@_point_intersect_circles_auxvii:eeennnn
{ \fp_eval:n { #1 * #2 } }
{ \int_if_odd:nTF {#8} { 1 } { -1 } }
{ \fp_eval:n { sqrt ( #3 - #1 * #1 ) * #2 } }
{#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \@@_point_intersect_circles_auxvi:nnnnnnnn { f }
+\cs_generate_variant:Nn \@@_point_intersect_circles_auxvi:nnnnnnnn { e }
\cs_new:Npn \@@_point_intersect_circles_auxvii:nnnnnnn #1#2#3#4#5#6#7
{
\draw_point:n
{ #6 + #4 * #1 + #2 * #3 * #5 , #7 + #5 * #1 + -1 * #2 * #3 * #4 }
}
-\cs_generate_variant:Nn \@@_point_intersect_circles_auxvii:nnnnnnn { fff }
+\cs_generate_variant:Nn \@@_point_intersect_circles_auxvii:nnnnnnn { eee }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -482,19 +489,19 @@
% \begin{macro}[EXP]
% {
% \@@_point_intersect_line_circle_auxii:nnnnnnnn,
-% \@@_point_intersect_line_circle_auxii:fnnnnnnn,
+% \@@_point_intersect_line_circle_auxii:ennnnnnn,
% \@@_point_intersect_line_circle_auxiii:nnnnnnnn,
-% \@@_point_intersect_line_circle_auxiii:fffnnnnn
+% \@@_point_intersect_line_circle_auxiii:eeennnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_intersect_line_circle_auxiv:nnnnnnnn,
-% \@@_point_intersect_line_circle_auxiv:ffnnnnnn
+% \@@_point_intersect_line_circle_auxiv:eennnnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_intersect_line_circle_auxv:nnnnn,
-% \@@_point_intersect_line_circle_auxv:fnnnn
+% \@@_point_intersect_line_circle_auxv:ennnn
% }
% The intersection points~$P_{1}$ and~$P_{2}$ between
% a line joining points $(x_{1}, y_{1})$ and $(x_{2}, y_{2})$
@@ -531,7 +538,7 @@
}
\cs_new:Npn \@@_point_intersect_line_circle_auxi:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_intersect_line_circle_auxii:fnnnnnnn
+ \@@_point_intersect_line_circle_auxii:ennnnnnn
{ \fp_eval:n {#1} } {#3} {#4} {#5} {#6} {#7} {#8} {#2}
}
% \end{macrocode}
@@ -552,24 +559,24 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_intersect_line_circle_auxii:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_intersect_line_circle_auxiii:fffnnnnn
+ \@@_point_intersect_line_circle_auxiii:eeennnnn
{ \fp_eval:n { (#4-#2)*(#4-#2)+(#5-#3)*(#5-#3) } }
{ \fp_eval:n { 2*((#4-#2)*(#2-#6)+(#5-#3)*(#3-#7)) } }
{ \fp_eval:n { (#6*#6+#7*#7)+(#2*#2+#3*#3)-(2*(#6*#2+#7*#3))-(#1*#1) } }
{#2} {#3} {#4} {#5} {#8}
}
-\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxii:nnnnnnnn { f }
+\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxii:nnnnnnnn { e }
% \end{macrocode}
% then we can get $d = b^{2} - 4\times a \times c$ and the usage of $n$.
% \begin{macrocode}
\cs_new:Npn \@@_point_intersect_line_circle_auxiii:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_intersect_line_circle_auxiv:ffnnnnnn
+ \@@_point_intersect_line_circle_auxiv:eennnnnn
{ \fp_eval:n { #2 * #2 - 4 * #1 * #3 } }
{ \int_if_odd:nTF {#8} { 1 } { -1 } }
{#1} {#2} {#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxiii:nnnnnnnn { fff }
+\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxiii:nnnnnnnn { eee }
% \end{macrocode}
% We now have all of the intermediate values we require, with one division
% carried out up-front to avoid doing this expensive step twice:
@@ -590,17 +597,17 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_intersect_line_circle_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_intersect_line_circle_auxv:fnnnn
+ \@@_point_intersect_line_circle_auxv:ennnn
{ \fp_eval:n { (-1 * #4 + #2 * sqrt(#1)) / (2 * #3) } }
{#5} {#6} {#7} {#8}
}
-\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxiv:nnnnnnnn { ff }
+\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxiv:nnnnnnnn { ee }
\cs_new:Npn \@@_point_intersect_line_circle_auxv:nnnnn #1#2#3#4#5
{
\draw_point:n
{ #2 + #1 * (#4 - #2), #3 + #1 * (#5 - #3) }
}
-\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxv:nnnnn { f }
+\cs_generate_variant:Nn \@@_point_intersect_line_circle_auxv:nnnnn { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -614,30 +621,30 @@
% \begin{macro}[EXP]
% {
% \@@_point_interpolate_line_aux:nnnnn,
-% \@@_point_interpolate_line_aux:fnnnn,
+% \@@_point_interpolate_line_aux:ennnn,
% }
% \begin{macro}[EXP]
% {
% \@@_point_interpolate_line_aux:nnnnnn,
-% \@@_point_interpolate_line_aux:fnnnnn,
+% \@@_point_interpolate_line_aux:ennnnn,
% }
% Simple maths after expansion.
% \begin{macrocode}
\cs_new:Npn \draw_point_interpolate_line:nnn #1#2#3
{
\@@_point_process:nnn
- { \@@_point_interpolate_line_aux:fnnnn { \fp_eval:n {#1} } }
+ { \@@_point_interpolate_line_aux:ennnn { \fp_eval:n {#1} } }
{#2} {#3}
}
\cs_new:Npn \@@_point_interpolate_line_aux:nnnnn #1#2#3#4#5
{
- \@@_point_interpolate_line_aux:fnnnnn { \fp_eval:n { 1 - #1 } }
+ \@@_point_interpolate_line_aux:ennnnn { \fp_eval:n { 1 - #1 } }
{#1} {#2} {#3} {#4} {#5}
}
-\cs_generate_variant:Nn \@@_point_interpolate_line_aux:nnnnn { f }
+\cs_generate_variant:Nn \@@_point_interpolate_line_aux:nnnnn { e }
\cs_new:Npn \@@_point_interpolate_line_aux:nnnnnn #1#2#3#4#5#6
{ \draw_point:n { #2 * #3 + #1 * #5 , #2 * #4 + #1 * #6 } }
-\cs_generate_variant:Nn \@@_point_interpolate_line_aux:nnnnnn { f }
+\cs_generate_variant:Nn \@@_point_interpolate_line_aux:nnnnnn { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -648,7 +655,7 @@
% \begin{macro}[EXP]
% {
% \@@_point_interpolate_distance:nnnnnn,
-% \@@_point_interpolate_distance:fnnnnn,
+% \@@_point_interpolate_distance:ennnnn,
% }
% Same idea but using the normalised length to obtain the scale factor.
% The start point is needed twice, so we force evaluation, but the end
@@ -664,14 +671,14 @@
{
\@@_point_process:nn
{
- \@@_point_interpolate_distance:fnnnn
+ \@@_point_interpolate_distance:ennnn
{ \fp_eval:n {#1} } {#3} {#4}
}
{ \draw_point_unit_vector:n { ( #2 ) - ( #3 , #4 ) } }
}
\cs_new:Npn \@@_point_interpolate_distance:nnnnn #1#2#3#4#5
{ \draw_point:n { #2 + #1 * #4 , #3 + #1 * #5 } }
-\cs_generate_variant:Nn \@@_point_interpolate_distance:nnnnn { f }
+\cs_generate_variant:Nn \@@_point_interpolate_distance:nnnnn { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -683,17 +690,17 @@
% \begin{macro}[EXP]
% {
% \@@_point_interpolate_arcaxes_auxii:nnnnnnnnn,
-% \@@_point_interpolate_arcaxes_auxii:fnnnnnnnn
+% \@@_point_interpolate_arcaxes_auxii:ennnnnnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_interpolate_arcaxes_auxiii:nnnnnnn,
-% \@@_point_interpolate_arcaxes_auxiii:fnnnnnn
+% \@@_point_interpolate_arcaxes_auxiii:ennnnnn
% }
% \begin{macro}[EXP]
% {
% \@@_point_interpolate_arcaxes_auxiv:nnnnnnnn,
-% \@@_point_interpolate_arcaxes_auxiv:ffnnnnnn
+% \@@_point_interpolate_arcaxes_auxiv:eennnnnn
% }
% Finding a point on an ellipse arc is relatively easy: find the correct
% angle between the two given, use the sine and cosine of that angle,
@@ -708,7 +715,7 @@
}
\cs_new:Npn \@@_point_interpolate_arcaxes_auxi:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \@@_point_interpolate_arcaxes_auxii:fnnnnnnnn
+ \@@_point_interpolate_arcaxes_auxii:ennnnnnnn
{ \fp_eval:n {#1} } {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9}
}
% \end{macrocode}
@@ -730,25 +737,25 @@
% \begin{macrocode}
\cs_new:Npn \@@_point_interpolate_arcaxes_auxii:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \@@_point_interpolate_arcaxes_auxiii:fnnnnnn
+ \@@_point_interpolate_arcaxes_auxiii:ennnnnn
{ \fp_eval:n { #1 * (#3) + ( 1 - #1 ) * (#2) } }
{#4} {#5} {#6} {#7} {#8} {#9}
}
-\cs_generate_variant:Nn \@@_point_interpolate_arcaxes_auxii:nnnnnnnnn { f }
+\cs_generate_variant:Nn \@@_point_interpolate_arcaxes_auxii:nnnnnnnnn { e }
\cs_new:Npn \@@_point_interpolate_arcaxes_auxiii:nnnnnnn #1#2#3#4#5#6#7
{
- \@@_point_interpolate_arcaxes_auxiv:ffnnnnnn
+ \@@_point_interpolate_arcaxes_auxiv:eennnnnn
{ \fp_eval:n { cosd (#1) } }
{ \fp_eval:n { sind (#1) } }
{#2} {#3} {#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \@@_point_interpolate_arcaxes_auxiii:nnnnnnn { f }
+\cs_generate_variant:Nn \@@_point_interpolate_arcaxes_auxiii:nnnnnnn { e }
\cs_new:Npn \@@_point_interpolate_arcaxes_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8
{
\draw_point:n
{ #3 + #1 * #5 + #2 * #7 , #4 + #1 * #6 + #2 * #8 }
}
-\cs_generate_variant:Nn \@@_point_interpolate_arcaxes_auxiv:nnnnnnnn { ff }
+\cs_generate_variant:Nn \@@_point_interpolate_arcaxes_auxiv:nnnnnnnn { ee }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -761,25 +768,25 @@
% \begin{macro}[EXP]
% {
% \draw_point_interpolate_curve_auxii:nnnnnnnnn,
-% \draw_point_interpolate_curve_auxii:fnnnnnnnn,
+% \draw_point_interpolate_curve_auxii:ennnnnnnn,
% }
% \begin{macro}[EXP]
% {
% \draw_point_interpolate_curve_auxiii:nnnnnn,
-% \draw_point_interpolate_curve_auxiii:fnnnnn,
+% \draw_point_interpolate_curve_auxiii:ennnnn,
% }
% \begin{macro}[EXP]{\draw_point_interpolate_curve_auxiv:nnnnnn}
% \begin{macro}[EXP]
% {
% \draw_point_interpolate_curve_auxv:nnw,
-% \draw_point_interpolate_curve_auxv:ffw,
+% \draw_point_interpolate_curve_auxv:eew,
% }
% \begin{macro}[EXP]{\draw_point_interpolate_curve_auxvi:n}
% \begin{macro}[EXP]{\draw_point_interpolate_curve_auxvii:nnnnnnnn}
% \begin{macro}[EXP]
% {
% \draw_point_interpolate_curve_auxviii:nnnnnn,
-% \draw_point_interpolate_curve_auxviii:ffnnnn,
+% \draw_point_interpolate_curve_auxviii:eennnn,
% }
% Here we start with a proportion of the curve ($p$) and four points
% \begin{enumerate}
@@ -798,7 +805,7 @@
}
\cs_new:Npn \@@_point_interpolate_curve_auxi:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \@@_point_interpolate_curve_auxii:fnnnnnnnn
+ \@@_point_interpolate_curve_auxii:ennnnnnnn
{ \fp_eval:n {#1} }
{#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9}
}
@@ -831,15 +838,15 @@
\cs_new:Npn \@@_point_interpolate_curve_auxii:nnnnnnnnn
#1#2#3#4#5#6#7#8#9
{
- \@@_point_interpolate_curve_auxiii:fnnnnn
+ \@@_point_interpolate_curve_auxiii:ennnnn
{ \fp_eval:n { 1 - #1 } }
{#1}
{ {#2} {#3} } { {#4} {#5} } { {#6} {#7} } { {#8} {#9} }
}
-\cs_generate_variant:Nn \@@_point_interpolate_curve_auxii:nnnnnnnnn { f }
+\cs_generate_variant:Nn \@@_point_interpolate_curve_auxii:nnnnnnnnn { e }
% \begin{macrocode}
% We need to do the first cycle, but haven't got enough arguments to keep
-% everything in play at once. So her ewe use a but of argument re-ordering
+% everything in play at once. So here we use a bit of argument re-ordering
% and a single auxiliary to get the job done.
% \begin{macrocode}
\cs_new:Npn \@@_point_interpolate_curve_auxiii:nnnnnn #1#2#3#4#5#6
@@ -850,10 +857,10 @@
\prg_do_nothing:
\@@_point_interpolate_curve_auxvi:n { {#1} {#2} }
}
-\cs_generate_variant:Nn \@@_point_interpolate_curve_auxiii:nnnnnn { f }
+\cs_generate_variant:Nn \@@_point_interpolate_curve_auxiii:nnnnnn { e }
\cs_new:Npn \@@_point_interpolate_curve_auxiv:nnnnnn #1#2#3#4#5#6
{
- \@@_point_interpolate_curve_auxv:ffw
+ \@@_point_interpolate_curve_auxv:eew
{ \fp_eval:n { #1 * #3 + #2 * #5 } }
{ \fp_eval:n { #1 * #4 + #2 * #6 } }
}
@@ -864,7 +871,7 @@
\prg_do_nothing:
#4 { #5 {#1} {#2} }
}
-\cs_generate_variant:Nn \@@_point_interpolate_curve_auxv:nnw { ff }
+\cs_generate_variant:Nn \@@_point_interpolate_curve_auxv:nnw { ee }
% \begin{macrocode}
% Get the arguments back into the right places and to the second and
% third cycles directly.
@@ -873,7 +880,7 @@
{ \@@_point_interpolate_curve_auxvii:nnnnnnnn #1 }
\cs_new:Npn \@@_point_interpolate_curve_auxvii:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \@@_point_interpolate_curve_auxviii:ffffnn
+ \@@_point_interpolate_curve_auxviii:eeeenn
{ \fp_eval:n { #1 * #5 + #2 * #3 } }
{ \fp_eval:n { #1 * #6 + #2 * #4 } }
{ \fp_eval:n { #1 * #7 + #2 * #5 } }
@@ -885,7 +892,7 @@
\draw_point:n
{ #5 * #3 + #6 * #1 , #5 * #4 + #6 * #2 }
}
-\cs_generate_variant:Nn \@@_point_interpolate_curve_auxviii:nnnnnn { ffff }
+\cs_generate_variant:Nn \@@_point_interpolate_curve_auxviii:nnnnnn { eeee }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -954,14 +961,14 @@
% \end{macrocode}
%
% \begin{macro}[EXP]{\draw_point_vec:nn}
-% \begin{macro}[EXP]{\@@_point_vec:nn, \@@_point_vec:ff}
+% \begin{macro}[EXP]{\@@_point_vec:nn, \@@_point_vec:ee}
% \begin{macro}[EXP]{\draw_point_vec:nnn}
-% \begin{macro}[EXP]{\@@_point_vec:nnn, \@@_point_vec:fff}
+% \begin{macro}[EXP]{\@@_point_vec:nnn, \@@_point_vec:eee}
% Force a single evaluation of each factor, then use these to work out the
% underlying point.
% \begin{macrocode}
\cs_new:Npn \draw_point_vec:nn #1#2
- { \@@_point_vec:ff { \fp_eval:n {#1} } { \fp_eval:n {#2} } }
+ { \@@_point_vec:ee { \fp_eval:n {#1} } { \fp_eval:n {#2} } }
\cs_new:Npn \@@_point_vec:nn #1#2
{
\draw_point:n
@@ -970,26 +977,26 @@
#1 * \l_@@_xvec_y_dim + #2 * \l_@@_yvec_y_dim
}
}
-\cs_generate_variant:Nn \@@_point_vec:nn { ff }
+\cs_generate_variant:Nn \@@_point_vec:nn { ee }
\cs_new:Npn \draw_point_vec:nnn #1#2#3
{
- \@@_point_vec:fff
+ \@@_point_vec:eee
{ \fp_eval:n {#1} } { \fp_eval:n {#2} } { \fp_eval:n {#3} }
}
\cs_new:Npn \@@_point_vec:nnn #1#2#3
{
\draw_point:n
{
- #1 * \l_@@_xvec_x_dim
- + #2 * \l_@@_yvec_x_dim
- + #3 * \l_@@_zvec_x_dim
+ #1 * \l_@@_xvec_x_dim
+ + #2 * \l_@@_yvec_x_dim
+ + #3 * \l_@@_zvec_x_dim
,
#1 * \l_@@_xvec_y_dim
+ #2 * \l_@@_yvec_y_dim
+ #3 * \l_@@_zvec_y_dim
}
}
-\cs_generate_variant:Nn \@@_point_vec:nnn { fff }
+\cs_generate_variant:Nn \@@_point_vec:nnn { eee }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -998,22 +1005,22 @@
%
% \begin{macro}[EXP]{\draw_point_vec_polar:nn}
% \begin{macro}[EXP]{\draw_point_vec_polar:nnn}
-% \begin{macro}[EXP]{\@@_point_vec_polar:nnn, \@@_point_vec_polar:fnn}
+% \begin{macro}[EXP]{\@@_point_vec_polar:nnn, \@@_point_vec_polar:enn}
% Much the same as the core polar approach.
% \begin{macrocode}
\cs_new:Npn \draw_point_vec_polar:nn #1#2
{ \draw_point_vec_polar:nnn {#1} {#1} {#2} }
\cs_new:Npn \draw_point_vec_polar:nnn #1#2#3
- { \@@_draw_vec_polar:fnn { \fp_eval:n {#3} } {#1} {#2} }
+ { \@@_draw_vec_polar:enn { \fp_eval:n {#3} } {#1} {#2} }
\cs_new:Npn \@@_draw_vec_polar:nnn #1#2#3
{
\draw_point:n
{
cosd(#1) * (#2) * \l_@@_xvec_x_dim ,
sind(#1) * (#3) * \l_@@_yvec_y_dim
- }
+ }
}
-\cs_generate_variant:Nn \@@_draw_vec_polar:nnn { f }
+\cs_generate_variant:Nn \@@_draw_vec_polar:nnn { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
index ae8869d6b79..7906bc12e95 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-scopes.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -210,7 +210,7 @@
{ 0pt }
}
\box_set_ht:Nn \l_@@_main_box
- { \g_@@_ymax_dim + #1 }
+ { \g_@@_ymax_dim - #1 }
}
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
index 56a7c78d9db..0b8f731ca5a 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-softpath.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -109,12 +109,10 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_softpath_use:
{
- \tl_build_gend:N \g_@@_softpath_main_tl
- \tl_set_eq:NN \l_@@_softpath_tmp_tl \g_@@_softpath_main_tl
+ \tl_build_get_intermediate:NN
+ \g_@@_softpath_main_tl
+ \l_@@_softpath_tmp_tl
\l_@@_softpath_tmp_tl
- \tl_build_gbegin:N \g_@@_softpath_main_tl
- \exp_args:NNV \tl_build_gput_right:Nn
- \g_@@_softpath_main_tl \l_@@_softpath_tmp_tl
}
\cs_new_protected:Npn \@@_softpath_clear:
{
@@ -330,7 +328,7 @@
% \begin{macro}{\@@_softpath_round_roundpoint:NnnNnnNnn}
% \begin{macro}{\@@_softpath_round_calc:NnnNnn}
% \begin{macro}[EXP]
-% {\@@_softpath_round_calc:nnnnnn, \@@_softpath_round_calc:fVnnnn}
+% {\@@_softpath_round_calc:nnnnnn, \@@_softpath_round_calc:eVnnnn}
% \begin{macro}[EXP]{\@@_softpath_round_calc:nnnnw}
% \begin{macro}{\@@_softpath_round_close:nn}
% \begin{macro}[EXP]{\@@_softpath_round_close:w}
@@ -509,7 +507,7 @@
\tl_put_right:Ne \l_@@_softpath_part_tl
{
\exp_not:N #4
- \@@_softpath_round_calc:fVnnnn
+ \@@_softpath_round_calc:eVnnnn
{
\draw_point_interpolate_distance:nnn
\l_@@_softpath_corneri_dim
@@ -535,7 +533,7 @@
\@@_softpath_round_calc:nnnnw {#3} {#4} {#5} {#6}
#1 \s_@@_mark #2 \s_@@_stop
}
-\cs_generate_variant:Nn \@@_softpath_round_calc:nnnnnn { fV }
+\cs_generate_variant:Nn \@@_softpath_round_calc:nnnnnn { eV }
% \end{macrocode}
% The calculations themselves are relatively straight-forward, as we use a
% quadratic Bézier curve.
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
index c288fe0c584..e3f6dba4528 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-state.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
index 8115e1c4fcf..df9f07af18a 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw-transforms.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -154,10 +154,7 @@
{ \@@_transform_shift_absolute:nn } {#1}
}
\cs_new_protected:Npn \@@_transform_shift_absolute:nn #1#2
- {
- \dim_set:Nn \l_@@_xshift_dim {#1}
- \dim_set:Nn \l_@@_yshift_dim {#2}
- }
+ { \@@_transform_shift:nnnn { 0pt } { 0pt } {#1} {#2} }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -199,8 +196,10 @@
}
\cs_new_protected:Npn \@@_transform_shift:nn #1#2
{
- \dim_set:Nn \l_@@_xshift_dim { \l_@@_xshift_dim + #1 }
- \dim_set:Nn \l_@@_yshift_dim { \l_@@_yshift_dim + #2 }
+ \@@_transform_shift:nnnn
+ \l_@@_xshift_dim
+ \l_@@_yshift_dim
+ {#1} {#2}
}
% \end{macrocode}
% \end{macro}
@@ -208,8 +207,35 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\@@_transform_shift:nnnn}
+% Apply the current transformation matrix to the shift, then store
+% the resulting values: we may or may not have a none-zero starting
+% point here.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_transform_shift:nnnn #1#2#3#4
+ {
+ \dim_set:Nn \l_@@_xshift_dim
+ {
+ \fp_to_dim:n
+ {
+ #1 +
+ ( #3 * \l_@@_matrix_a_fp + #4 * \l_@@_matrix_b_fp )
+ }
+ }
+ \dim_set:Nn \l_@@_yshift_dim
+ {
+ \fp_to_dim:n
+ {
+ #2 +
+ ( #3 * \l_@@_matrix_c_fp + #4 * \l_@@_matrix_d_fp )
+ }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\draw_transform_matrix_invert:}
-% \begin{macro}{\@@_transform_invert:n, \@@_transform_invert:f}
+% \begin{macro}{\@@_transform_invert:n, \@@_transform_invert:e}
% \begin{macro}{\draw_transform_shift_invert:}
% Standard mathematics: calculate the inverse matrix and use that, then
% undo the shifts.
@@ -218,7 +244,7 @@
{
\bool_if:NT \l_@@_matrix_active_bool
{
- \@@_transform_invert:f
+ \@@_transform_invert:e
{
\fp_eval:n
{
@@ -242,7 +268,7 @@
\fp_set:Nn \l_@@_matrix_d_fp
{ \l_@@_matrix_a_fp * #1 }
}
-\cs_generate_variant:Nn \@@_transform_invert:n { f }
+\cs_generate_variant:Nn \@@_transform_invert:n { e }
\cs_new_protected:Npn \draw_transform_shift_invert:
{
\dim_set:Nn \l_@@_xshift_dim { -\l_@@_xshift_dim }
@@ -312,24 +338,24 @@
% \begin{macro}{\draw_transform_rotate:n}
% \begin{macro}
% {
-% \@@_transform_rotate:n, \@@_transform_rotate:f,
-% \@@_transform_rotate:nn, \@@_transform_rotate:ff
+% \@@_transform_rotate:n, \@@_transform_rotate:e,
+% \@@_transform_rotate:nn, \@@_transform_rotate:ee
% }
% Slightly more involved: evaluate the angle only once, and the sine and
% cosine only once.
% \begin{macrocode}
\cs_new_protected:Npn \draw_transform_rotate:n #1
- { \@@_transform_rotate:f { \fp_eval:n {#1} } }
+ { \@@_transform_rotate:e { \fp_eval:n {#1} } }
\cs_new_protected:Npn \@@_transform_rotate:n #1
{
- \@@_transform_rotate:ff
+ \@@_transform_rotate:ee
{ \fp_eval:n { cosd(#1) } }
{ \fp_eval:n { sind(#1) } }
}
-\cs_generate_variant:Nn \@@_transform_rotate:n { f }
+\cs_generate_variant:Nn \@@_transform_rotate:n { e }
\cs_new_protected:Npn \@@_transform_rotate:nn #1#2
{ \draw_transform_matrix:nnnn {#1} {#2} { -#2 } { #1 } }
-\cs_generate_variant:Nn \@@_transform_rotate:nn { ff }
+\cs_generate_variant:Nn \@@_transform_rotate:nn { ee }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
index e0cbdff3d42..2fae7afc746 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
@@ -2,7 +2,7 @@
%
%% File: l3draw.dtx
%
-% Copyright(C) 2018-2023 The LaTeX Project
+% Copyright(C) 2018-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -50,10 +50,10 @@
\newcommand*\demo@common{%
\setkeys{lst}
{%
- basicstyle = \small\ttfamily,
- basewidth = 0.51em,
- gobble = 5,
- language = [LaTeX]{TeX},
+ basicstyle = \small\ttfamily,
+ basewidth = 0.51em,
+ gobble = 5,
+ language = [LaTeX]{TeX},
}%
}
\newcommand*\demo@input{%
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -259,7 +259,7 @@
% will appear. Note that these all apply \emph{globally}, though some are
% rest at the start of each drawing (\cs{draw_begin:}).
%
-% \begin{variable}{\g_draw_linewidth_default_dim}
+% \begin{variable}{\l_draw_default_linewidth_dim}
% The default value of the linewidth for stokes, set at the start
% of every drawing (\cs{draw_begin:}).
% \end{variable}
@@ -369,7 +369,7 @@
% \end{syntax}
% Creates a scope for localisation of state settings within a drawing.
% A scope forms a \TeX{} group but will also localise global state
-% variables (such as \cs{g_draw_linewidth_default_dim}), and driver-level
+% variables (such as \cs{l_draw_default_linewidth_dim}), and driver-level
% concepts such as the termination of lines.
% \begin{demo}
% \draw_begin:
@@ -1046,7 +1046,8 @@
% \end{syntax}
% Applies the transformation \meta{vector} to points.
% The basic applies the vector in addition to those active; the
-% |absolute| version overwrites any active vector.
+% |absolute| version overwrites any active vector. Any active
+% transformation matrix is applied to the shifts each time they are adjusted.
% This assignment is local.
% \end{function}
%
@@ -1180,7 +1181,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2023-12-08}{}
+\ProvidesExplPackage{l3draw}{2024-01-04}{}
{L3 Experimental core drawing support}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.ins b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.ins
index 7183607c2dd..d4e505ef75f 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.ins
@@ -2,7 +2,7 @@
File: l3draw.ins
-Copyright (C) 2018-2023 The LaTeX Project
+Copyright (C) 2018-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2018-2023 The LaTeX Project
+Copyright (C) 2018-2024 The LaTeX 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/l3experimental/l3graphics/l3graphics.dtx b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
index 5a45b88d9c8..9f59b4ec057 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx
@@ -2,7 +2,7 @@
%
%% File: l3graphics.dtx
%
-% Copyright (C) 2017-2023 The LaTeX Project
+% Copyright (C) 2017-2024 The LaTeX 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 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -184,7 +184,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3graphics}{2023-12-08}{}
+\ProvidesExplPackage{l3graphics}{2024-01-04}{}
{L3 Experimental graphics inclusion support}
% \end{macrocode}
%
@@ -237,7 +237,7 @@
{ art , bleed , crop , media , trim }
{
\tl_set:Ne \l_@@_pagebox_tl
- { \l_keys_choice_tl box }
+ { \l_keys_choice_tl box }
} ,
pagebox .initial:n =
crop ,
@@ -536,8 +536,8 @@
\exp_args:Ne \str_tail:n
{ \str_casefold:V \l_@@_ext_str }
}
- }
- { \@@_include_auxi:e { \l_@@_type_str } }
+ }
+ { \@@_include_auxi:e { \l_@@_type_str } }
}
\cs_new_protected:Npn \@@_include_auxi:n #1
{
@@ -553,7 +553,7 @@
{
\tl_set_eq:NN \l_@@_final_name_str \l_@@_full_name_str
\str_set:Ne \l_@@_full_name_str
- { \exp_args:NV \__kernel_file_name_quote:n \l_@@_full_name_str }
+ { \exp_args:NV \__kernel_file_name_quote:n \l_@@_full_name_str }
\exp_args:NnV \use:c { @@_backend_getbb_ #1 :n }
\l_@@_full_name_str
\seq_gput_right:NV \g_@@_record_seq \l_@@_final_name_str
@@ -601,7 +601,7 @@
\box_set_dp:Nn \l_@@_internal_box { 0pt }
\box_set_ht:Nn \l_@@_internal_box
{ \l_@@_ury_dim - \l_@@_lly_dim }
- \box_set_wd:Nn \l_@@_internal_box
+ \box_set_wd:Nn \l_@@_internal_box
{ \l_@@_urx_dim - \l_@@_llx_dim }
\box_use_drop:N \l_@@_internal_box
}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.ins b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.ins
index 40f03e569d0..8798dce73cd 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.ins
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File l3graphics.ins Copyright (C) 2017,2019-2023 The LaTeX Project
+File l3graphics.ins Copyright (C) 2017,2019-2024 The LaTeX 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 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2019-2023 The LaTeX Project
+Copyright (C) 2019-2024 The LaTeX 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/l3experimental/l3opacity/l3opacity.dtx b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
index 9ed6f5e6a4b..f4abdacd814 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
@@ -2,7 +2,7 @@
%
%% File: l3opacity.dtx
%
-% Copyright (C) 2021-2023 The LaTeX Project
+% Copyright (C) 2021-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@
% \fi
%
% \title{^^A
-% The \textsf{l3opacity} package\\ Experimental opacity (transparency) support^^A
+% The \pkg{l3opacity} package\\ Experimental opacity (transparency) support^^A
% }
%
% \author{^^A
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -96,7 +96,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3opacity}{2023-12-08}{}
+\ProvidesExplPackage{l3opacity}{2024-01-04}{}
{L3 Experimental opacity support}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.ins b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.ins
index 1a5e5de20ac..58b33fff7c0 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.ins
@@ -2,7 +2,7 @@
File: l3opacity.ins
-Copyright (C) 2021-2023 The LaTeX Project
+Copyright (C) 2021-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2021-2023 The LaTeX Project
+Copyright (C) 2021-2024 The LaTeX 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/l3experimental/l3str/l3str-format.dtx b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
index 03a61452396..6304ce3ec23 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
@@ -2,7 +2,7 @@
%
%% File: l3str-format.dtx
%
-% Copyright (C) 2012-2023 The LaTeX Project
+% Copyright (C) 2012-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -36,7 +36,7 @@
%
%
% \title{^^A
-% The \textsf{l3str-format} package: formatting strings of characters^^A
+% The \pkg{l3str-format} package\\ Formatting strings of characters^^A
% }
%
% \author{^^A
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -166,7 +166,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2023-12-08}{}
+\ProvidesExplPackage{l3str-format}{2024-01-04}{}
{L3 Experimental string formatting}
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str.ins b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str.ins
index fa070c69ec6..fd774363041 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str.ins
@@ -2,7 +2,7 @@
File l3str.ins
-Copyright (C) 2011-2017,2019-2023 The LaTeX Project
+Copyright (C) 2011-2017,2019-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2011-2023 The LaTeX Project
+Copyright (C) 2011-2024 The LaTeX 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/l3experimental/l3sys-shell/l3sys-shell.dtx b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
index 4c05998e374..ad1733ab77d 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.dtx
@@ -2,7 +2,7 @@
%
%% File: l3sys-shell.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -151,7 +151,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3sys-shell}{2023-12-08}{}
+\ProvidesExplPackage{l3sys-shell}{2024-01-04}{}
{L3 Experimental system shell functions}
% \end{macrocode}
%
@@ -201,7 +201,7 @@
\token_if_eq_meaning:NNTF #1 /
{ \c_backslash_str }
{#1}
- \@@_path_to_win:N
+ \@@_path_to_win:N
}
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.ins b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.ins
index c546801d052..8e5e7169d90 100644
--- a/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/l3sys-shell/l3sys-shell.ins
@@ -2,7 +2,7 @@
File: l3sys-shell.ins
-Copyright (C) 2018-2023 The LaTeX Project
+Copyright (C) 2018-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2018-2023 The LaTeX Project
+Copyright (C) 2018-2024 The LaTeX 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/l3experimental/xcoffins/xcoffins.dtx b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
index 9ca534e86c7..a18ade7abd8 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
@@ -2,7 +2,7 @@
%
%% File: xcoffins.dtx
%
-% Copyright (C) 2010-2023 The LaTeX Project
+% Copyright (C) 2010-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -41,7 +41,7 @@
% \fi
%
% \title{^^A
-% The \textsf{xcoffins} package\\ Design-level coffins^^A
+% The \pkg{xcoffins} package\\ Design-level coffins^^A
% }
%
% \author{^^A
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -672,7 +672,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2023-12-08}{}
+\ProvidesExplPackage{xcoffins}{2024-01-04}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
@@ -859,9 +859,9 @@
% \begin{macrocode}
\NewDocumentCommand \TypesetCoffin
{
- m
- > { \SplitArgument { 1 } { , } } O { H , l }
- > { \SplitArgument { 1 } { , } } D ( ) { 0 pt , 0 pt }
+ m
+ > { \SplitArgument { 1 } { , } } O { H , l }
+ > { \SplitArgument { 1 } { , } } D ( ) { 0 pt , 0 pt }
}
{ \coffin_typeset:Nnnnn #1 #2 #3 }
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.ins b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.ins
index 224e77b5d68..326f21e4a59 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.ins
@@ -2,7 +2,7 @@
File: xcoffins.ins
-Copyright (C) 2010,2011,2012,2016,2017,2019-2023 The LaTeX Project
+Copyright (C) 2010,2011,2012,2016,2017,2019-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2010-2023 The LaTeX Project
+Copyright (C) 2010-2024 The LaTeX 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/l3experimental/xgalley/l3galley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
index 7b150d5dc5c..3bafa455b4b 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
@@ -3,7 +3,7 @@
%% File: l3galley.dtx
%
% Copyright (C) 1999-2001,2004-2009 Frank Mittelbach
-% (C) 2010-2023 The LaTeX Project
+% (C) 2010-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{l3galley} package\\ Galley code^^A
+% The \pkg{l3galley} package\\ Galley code^^A
% }
%
% \author{^^A
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -686,7 +686,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2023-12-08}{}
+\ProvidesExplPackage{l3galley}{2024-01-04}{}
{L3 Experimental galley code}
% \end{macrocode}
%
@@ -1323,27 +1323,27 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_display_penalty:N #1
{
- \tl_if_empty:NF #1
- {
- \tl_gput_right:Ne \g_galley_restore_running_tl
- {
- \int_gset:Nn \exp_not:N \g_galley_penalty_int
- { \int_use:N \g_galley_penalty_int }
- }
- \int_gset:Nn \g_galley_penalty_int {#1}
- }
+ \tl_if_empty:NF #1
+ {
+ \tl_gput_right:Ne \g_galley_restore_running_tl
+ {
+ \int_gset:Nn \exp_not:N \g_galley_penalty_int
+ { \int_use:N \g_galley_penalty_int }
+ }
+ \int_gset:Nn \g_galley_penalty_int {#1}
+ }
}
\cs_new_protected:Npn \@@_display_vspace:N #1
{
- \tl_if_empty:NF #1
- {
- \tl_gput_right:Ne \g_galley_restore_running_tl
- {
- \skip_gset:Nn \exp_not:N \g_galley_vspace_skip
- { \skip_use:N \g_galley_vspace_skip }
- }
- \skip_gset:Nn \g_galley_vspace_int {#1}
- }
+ \tl_if_empty:NF #1
+ {
+ \tl_gput_right:Ne \g_galley_restore_running_tl
+ {
+ \skip_gset:Nn \exp_not:N \g_galley_vspace_skip
+ { \skip_use:N \g_galley_vspace_skip }
+ }
+ \skip_gset:Nn \g_galley_vspace_int {#1}
+ }
}
% \end{macrocode}
% The \cs{par} token at the end of the display needs to go in at the same
@@ -1896,7 +1896,7 @@
\seq_get_right:NNF \g_@@_tmpb_seq \l_@@_tmp_tl
{ \tl_clear:N \l_@@_tmp_tl }
\tl_if_empty:NT \l_@@_tmp_tl
- { \tl_set:Nn \l_@@_tmp_tl { 0pt } }
+ { \tl_set:Nn \l_@@_tmp_tl { 0pt } }
\int_set:Nn \l_@@_tmp_int
{
\seq_count:N \g_@@_tmpa_seq
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
index eb704906db8..76e8242f4e9 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
@@ -3,7 +3,7 @@
%% File: xgalley.dtx
%
% Copyright (C) 1999-2001,2004-2009 Frank Mittelbach
-% (C) 2010-2012,2014,2016-2023 The LaTeX Project
+% (C) 2010-2012,2014,2016-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \textsf{xgalley} package\\ Galley^^A
+% The \pkg{xgalley} package\\ Galley^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-08}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -731,7 +731,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2023-12-08}{}
+\ProvidesExplPackage{xgalley}{2024-01-04}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
% \end{macrocode}
@@ -829,7 +829,7 @@
lines : integer = 1
}
\DeclareTemplateInterface { parshape } { initial } { 0 }
- {
+ {
indent : length = 0pt ,
on-left-side : boolean = true ,
lines : integer = 2
diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.ins b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.ins
index 82ae4c77288..53ecd1bbdca 100644
--- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.ins
+++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.ins
@@ -2,7 +2,7 @@
File: xgalley.ins
-Copyright (C) 2010-2012,2016,2017,2019-2023 The LaTeX Project
+Copyright (C) 2010-2012,2016,2017,2019-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,7 +34,7 @@ license information is placed in the derived files.
\preamble
-Copyright (C) 2010-2023 The LaTeX Project
+Copyright (C) 2010-2024 The LaTeX 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 7c6ffe952be..c62a81f8ad4 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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{2023-12-11}%
+\def\ExplFileDate{2024-01-04}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3.ins b/Master/texmf-dist/source/latex/l3kernel/l3.ins
index 7f1d882f8cd..776e777c465 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-2023 The LaTeX Project
+Copyright (C) 2011,2012,2014-2024 The LaTeX 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-2023 The LaTeX Project
+Copyright (C) 1990-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of
the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -152,14 +152,12 @@ and all files in that bundle must be distributed together.
\generate{\file{l3names.def} {\from{l3names.dtx} {names}}}
-\generate{\file{l3bitset.sty} {\from{l3bitset.dtx} {stub}}}
-
% Lua code
\def\MetaPrefix{--}
\preamble
-Copyright (C) 1990-2023 The LaTeX Project
+Copyright (C) 1990-2024 The LaTeX 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 716edf4c7c7..761aa46a792 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3basics} package\\ Basic definitions^^A
+% The \pkg{l3basics} module\\ Basic definitions^^A
% }
%
% \author{^^A
@@ -43,17 +43,17 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
% \begin{documentation}
%
-% As the name suggest this package holds some basic definitions which
-% are needed by most or all other packages in this set.
+% As the name suggests, this module holds some basic definitions which
+% are needed by most or all other modules in this set.
%
-% Here we describe those functions that are used all over the place. With
-% that we mean functions dealing with the construction and testing of
+% Here we describe those functions that are used all over the place.
+% By that, we mean functions dealing with the construction and testing of
% control sequences. Furthermore the basic parts of conditional
% processing are covered; conditional processing dealing with specific
% data types is described in the modules specific for the respective
@@ -957,7 +957,7 @@
% \begin{function}[EXP]
% {
% \use_i:nn, \use_ii:nn ,
-% \use_i:nnn , \use_ii:nnn , \use_iii:nnn , \use_i_ii:nnn ,
+% \use_i:nnn , \use_ii:nnn , \use_iii:nnn ,
% \use_i:nnnn, \use_ii:nnnn, \use_iii:nnnn, \use_iv:nnnn ,
% \use_i:nnnnn, \use_ii:nnnnn, \use_iii:nnnnn, \use_iv:nnnnn ,
% \use_v:nnnnn ,
@@ -966,7 +966,7 @@
% \use_i:nnnnnnn, \use_ii:nnnnnnn, \use_iii:nnnnnnn, \use_iv:nnnnnnn ,
% \use_v:nnnnnnn , \use_vi:nnnnnnn , \use_vii:nnnnnnn ,
% \use_i:nnnnnnnn, \use_ii:nnnnnnnn, \use_iii:nnnnnnnn, \use_iv:nnnnnnnn ,
-% \use_v:nnnnnnnn , \use_vi:nnnnnnnn , \use_vii:nnnnnnnn , \use_vii:nnnnnnnn ,
+% \use_v:nnnnnnnn , \use_vi:nnnnnnnn , \use_vii:nnnnnnnn , \use_viii:nnnnnnnn ,
% \use_i:nnnnnnnnn, \use_ii:nnnnnnnnn, \use_iii:nnnnnnnnn, \use_iv:nnnnnnnnn ,
% \use_v:nnnnnnnnn , \use_vi:nnnnnnnnn , \use_vii:nnnnnnnnn , \use_viii:nnnnnnnnn ,
% \use_ix:nnnnnnnnn
@@ -1678,7 +1678,7 @@
%
% \begin{macro}[EXP]
% {
-% \use_i:nnn , \use_ii:nnn , \use_iii:nnn , \use_i_ii:nnn ,
+% \use_i:nnn , \use_ii:nnn , \use_iii:nnn ,
% \use_i:nnnn, \use_ii:nnnn, \use_iii:nnnn, \use_iv:nnnn ,
% \use_i:nnnnn, \use_ii:nnnnn, \use_iii:nnnnn, \use_iv:nnnnn ,
% \use_v:nnnnn ,
@@ -1687,7 +1687,7 @@
% \use_i:nnnnnnn, \use_ii:nnnnnnn, \use_iii:nnnnnnn, \use_iv:nnnnnnn ,
% \use_v:nnnnnnn , \use_vi:nnnnnnn , \use_vii:nnnnnnn ,
% \use_i:nnnnnnnn, \use_ii:nnnnnnnn, \use_iii:nnnnnnnn, \use_iv:nnnnnnnn ,
-% \use_v:nnnnnnnn , \use_vi:nnnnnnnn , \use_vii:nnnnnnnn , \use_vii:nnnnnnnn ,
+% \use_v:nnnnnnnn , \use_vi:nnnnnnnn , \use_vii:nnnnnnnn , \use_viii:nnnnnnnn ,
% \use_i:nnnnnnnnn, \use_ii:nnnnnnnnn, \use_iii:nnnnnnnnn, \use_iv:nnnnnnnnn ,
% \use_v:nnnnnnnnn , \use_vi:nnnnnnnnn , \use_vii:nnnnnnnnn , \use_viii:nnnnnnnnn ,
% \use_ix:nnnnnnnnn
@@ -1697,7 +1697,6 @@
\cs_set:Npn \use_i:nnn #1#2#3 {#1}
\cs_set:Npn \use_ii:nnn #1#2#3 {#2}
\cs_set:Npn \use_iii:nnn #1#2#3 {#3}
-\cs_set:Npn \use_i_ii:nnn #1#2#3 {#1#2}
\cs_set:Npn \use_i:nnnn #1#2#3#4 {#1}
\cs_set:Npn \use_ii:nnnn #1#2#3#4 {#2}
\cs_set:Npn \use_iii:nnnn #1#2#3#4 {#3}
@@ -1740,6 +1739,12 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}[EXP]{\use_i_ii:nnn}
+% \begin{macrocode}
+\cs_set:Npn \use_i_ii:nnn #1#2#3 {#1#2}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[EXP]{\use_ii_i:nn}
% \begin{macrocode}
\cs_set:Npn \use_ii_i:nn #1#2 { #2 #1 }
@@ -2656,9 +2661,9 @@
\cs_set:Npn \@@_tmp:w #1#2
{
\cs_set_protected:Npn #1 ##1
- {
- \__kernel_chk_if_free_cs:N ##1
- #2 ##1
+ {
+ \__kernel_chk_if_free_cs:N ##1
+ #2 ##1
}
}
\@@_tmp:w \cs_new_nopar:Npn \cs_gset_nopar:Npn
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
index 545d7c3357f..d362d59adb0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bitset.dtx
@@ -2,7 +2,7 @@
%
%% File: l3bitset.dtx
%
-% Copyright (C) 2020-2023 The LaTeX Project
+% Copyright (C) 2020-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -30,7 +30,7 @@
%</driver>
% \fi
% \title{^^A
-% The \pkg{l3bitset} package\\ Bitsets^^A
+% The \pkg{l3bitset} module\\ Bitsets^^A
% }
%
% \author{^^A
@@ -42,13 +42,13 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
% \begin{documentation}
%
-% This package defines and implements the data type \texttt{bitset}, a vector of
+% This module defines and implements the data type \texttt{bitset}, a vector of
% bits. The size of the vector may grow dynamically.
% Individual bits can be set and unset by names pointing to an index position.
% The names |1|, |2|, |3|, \ldots\ are predeclared and point to the
@@ -64,11 +64,11 @@
% The bitset is stored as a string (but one shouldn't rely on the internal
% representation) and so the vector size is theoretically
% unlimited, only restricted by \TeX-memory. But the functions to set and clear
-% bits uses integer functions for the index so bitsets can't be longer
+% bits use integer functions for the index so bitsets can't be longer
% than $2^{31} - 1$.
% The export function
% \cs{bitset_to_arabic:N} can use functions from the \texttt{int} module only if
-% the largest index used for this bitset is smaller then $32$, for longer
+% the largest index used for this bitset is smaller than $32$, for longer
% bitsets \texttt{fp} is used and this is slower.
%
% \section{Creating bitsets}
@@ -79,8 +79,8 @@
% \cs{bitset_new:N} \meta{bitset var} \\
% \cs{bitset_new:Nn} \meta{bitset var}
% ~~\{
-% ~~~~\meta{name1} |=| \meta{index1} |,|
-% ~~~~\meta{name2} |=| \meta{index2} |,| \ldots{}
+% ~~~~\meta{name_1} |=| \meta{index_1} |,|
+% ~~~~\meta{name_2} |=| \meta{index_2} |,| \ldots{}
% ~~\}
% \end{syntax}
% Creates a new \meta{bitset var} or raises an error if the name is already taken.
@@ -101,7 +101,7 @@
%
% \meta{index\ldots} should be a positive number or an
% \meta{integer expression} which evaluates to a positive number.
-% The expression is evaluated when the index is used, not a declaration time.
+% The expression is evaluated when the index is used, not at declaration time.
% The names \meta{name\ldots}
% should be unique. Using a number as name, e.g.~|10=1|, is allowed, it
% then overwrites the predeclared name |10|,
@@ -117,8 +117,8 @@
% \begin{syntax}
% \cs{bitset_addto_named_index:Nn} \meta{bitset var}
% ~~\{
-% ~~~~\meta{name1} |=| \meta{index1} |,|
-% ~~~~\meta{name2} |=| \meta{index2} |,| \ldots{}
+% ~~~~\meta{name_1} |=| \meta{index_1} |,|
+% ~~~~\meta{name_2} |=| \meta{index_2} |,| \ldots{}
% ~~\}
% \end{syntax}
% This extends or changes the name--index pairs for \meta{bitset var}
@@ -145,7 +145,7 @@
% print = 3
% }
% \end{verbatim}
-% it is possible to set bit $3$ by using any of this alternatives:
+% it is possible to set bit $3$ by using any of these alternatives:
% \begin{verbatim}
% \bitset_set_true:Nn \l_pdfannot_F_bitset {Print}
% \bitset_set_true:Nn \l_pdfannot_F_bitset {print}
@@ -156,7 +156,7 @@
% {\bitset_if_exist:N, \bitset_if_exist:c}
% \begin{syntax}
% \cs{bitset_if_exist_p:N} \meta{bitset var}
-% \cs{bitset_if_exist:NTF} \meta{bitset var} \Arg{true code} \Arg{false code}%
+% \cs{bitset_if_exist:NTF} \meta{bitset var} \Arg{true code} \Arg{false code}
% \end{syntax}
% Tests whether the \meta{bitset var} exist.
% \end{function}
@@ -172,7 +172,7 @@
% \cs{bitset_set_true:Nn} \meta{bitset var} \Arg{name}
% \end{syntax}
% This sets the bit of the index position represented by \Arg{name} to $1$.
-% \Arg{name} should be either one of the predeclared names
+% \meta{name} should be either one of the predeclared names
% |1|, |2|, |3|, \ldots, or one of the names added manually.
% Index position are 1-based.
% If needed the length of the bit vector is enlarged.
@@ -188,7 +188,7 @@
% \end{syntax}
% This unsets the bit of the index position represented by \Arg{name} (sets
% it to $0$).
-% \Arg{name} should be either one of the predeclared names
+% \meta{name} should be either one of the predeclared names
% |1|, |2|, |3|, \ldots, or one of the names added manually.
% The index is $1$-based. If the index position is larger
% than the current length of the bit vector
@@ -213,8 +213,8 @@
% \cs{bitset_item:Nn} \meta{bitset var} \Arg{name}
% \end{syntax}
% \cs{bitset_item:Nn} outputs \texttt{1} if the bit with
-% the index number represented by \Arg{name} is set and \texttt{0} otherwise.
-% \Arg{name} is either one of the predeclared names
+% the index number represented by \meta{name} is set and \texttt{0} otherwise.
+% \meta{name} is either one of the predeclared names
% |1|, |2|, |3|, \ldots, or one of the names added manually.
% \end{function}
%
@@ -236,8 +236,8 @@
% This leaves the current value of the bitset expressed as
% a decimal number in the input stream. If no bit has been set yet,
% the output is zero. The function uses \cs{int_from_bin:n} if the largest
-% index that have been set or unset is smaller then $32$, and a slower implementation
-% based on \cs{fp_eval:n} otherwise.
+% index that have been set or unset is smaller than $32$, and a slower
+% implementation based on \cs{fp_eval:n} otherwise.
% \end{function}
%
% \begin{function}[added = 2023-11-15]
@@ -245,7 +245,8 @@
% \begin{syntax}
% \cs{bitset_show:N} \meta{bitset var}
% \end{syntax}
-% Displays the binary and decimal value of the \meta{bitset var} on the terminal,
+% Displays the binary and decimal values of the \meta{bitset var}
+% on the terminal.
% \end{function}
%
% \begin{function}[added = 2023-11-15]
@@ -253,7 +254,30 @@
% \begin{syntax}
% \cs{bitset_log:N} \meta{bitset var}
% \end{syntax}
-% Writes the value of the \meta{bitset var} in the log file.
+% Writes the binary and decimal values of the \meta{bitset var}
+% in the log file.
+% \end{function}
+%
+% \begin{function}[added = 2023-11-15]
+% {
+% \bitset_show_named_index:N, \bitset_show_named_index:c
+% }
+% \begin{syntax}
+% \cs{bitset_show_named_index:N} \meta{bitset var}
+% \end{syntax}
+% Displays declared name--index pairs of the \meta{bitset var}
+% on the terminal.
+% \end{function}
+%
+% \begin{function}[added = 2023-12-11]
+% {
+% \bitset_log_named_index:N, \bitset_log_named_index:c
+% }
+% \begin{syntax}
+% \cs{bitset_log_named_index:N} \meta{bitset var}
+% \end{syntax}
+% Writes declared name--index pairs of the \meta{bitset var}
+% in the log file.
% \end{function}
%
% \end{documentation}
@@ -270,6 +294,15 @@
%<@@=bitset>
% \end{macrocode}
%
+% Transitional support.
+% \begin{macrocode}
+\cs_if_exist:NT \@expl@finalise@setup@@@@
+ {
+ \tl_gput_right:Nn \@expl@finalise@setup@@@@
+ { \declare@file@substitution { l3bitset.sty } { null.tex } }
+ }
+% \end{macrocode}
+%
% A bitset is a string variable.
% \begin{macro}{\bitset_new:N, \bitset_new:c}
% \begin{macro}{\bitset_new:Nn, \bitset_new:cn}
@@ -280,40 +313,27 @@
\cs_gset_eq:NN #1 \c_zero_str
\prop_new:c { g__bitset_ \cs_to_str:N #1 _name_prop }
}
-
\cs_new_protected:Npn \bitset_new:Nn #1 #2
{
\__kernel_chk_if_free_cs:N #1
\cs_gset_eq:NN #1 \c_zero_str
\prop_new:c { g__bitset_ \cs_to_str:N #1 _name_prop }
\prop_gset_from_keyval:cn
- { g__bitset_ \cs_to_str:N #1 _name_prop }
- {#2}
+ { g__bitset_ \cs_to_str:N #1 _name_prop }
+ {#2}
}
\cs_generate_variant:Nn \bitset_new:N { c }
+\cs_generate_variant:Nn \bitset_new:Nn { c }
% \end{macrocode}
% \end{macro}
% \end{macro}
%
-% \begin{variable}{\l_@@_tmp_prop}
-% A scratch prop to be able to extend the names properties.
-% \begin{macrocode}
-\prop_new:N \l_@@_tmp_prop
-% \end{macrocode}
-% \end{variable}
-%
% \begin{macro}{\bitset_addto_named_index:Nn}
% \begin{macrocode}
\cs_new_protected:Npn \bitset_addto_named_index:Nn #1#2
{
- \prop_set_from_keyval:Nn \l_@@_tmp_prop {#2}
- \prop_map_inline:Nn \l_@@_tmp_prop
- {
- \prop_gput:cnn
- { g_@@_ \cs_to_str:N #1 _name_prop }
- {##1}
- {##2}
- }
+ \prop_gput_from_keyval:cn
+ { g_@@_ \cs_to_str:N #1 _name_prop } { #2 }
}
% \end{macrocode}
% \end{macro}
@@ -329,6 +349,7 @@
\bitset_if_exist:c \str_if_exist:c { p , T , F , TF }
% \end{macrocode}
% \end{macro}
+%
% \begin{macro}{\@@_set_true:Nn, \@@_gset_true:Nn, \@@_set_false:Nn, \@@_gset_false:Nn}
% \begin{macro}{\@@_set:NNnN}
% The internal command uses only numbers (integer expressions) for the
@@ -358,12 +379,12 @@
}
}
{
- #1 #2
+ #1 #2
{
\str_range:Nnn #2 { 1 } { -1 - (#3) }
#4
\str_range:Nnn #2 { 1 - (#3) } { -1 }
- }
+ }
}
}
}
@@ -379,7 +400,7 @@
%
% \begin{macro}[TF]{\@@_test_digits:n}
% \begin{macro}{\@@_test_digits_end:n}
-% \begin{macro}{\@@_test_digits:wn}
+% \begin{macro}{\@@_test_digits:w}
% \url{https://chat.stackexchange.com/transcript/message/56878159#56878159}
% \begin{macrocode}
\prg_new_protected_conditional:Npnn \@@_test_digits:n #1 { TF }
@@ -468,14 +489,16 @@
\cs_generate_variant:Nn \bitset_gclear:N { c }
% \end{macrocode}
% \end{macro}
-% \begin{macro}
+%
+% \begin{macro}[EXP]
% {
% \bitset_to_arabic:N, \bitset_to_arabic:c,
% \bitset_to_bin:N, \bitset_to_bin:c,
% }
+% \begin{macro}[EXP]{\@@_to_int:nN}
% The naming of the commands follow the names in the \texttt{int} module.
% \cs{bitset_to_arabic:N} uses \cs{int_from_bin:n} if the string is shorter
-% then $32$ and the slower \cs{fp_eval} for larger bitsets.
+% than $32$ and the slower \cs{fp_eval:n} for larger bitsets.
% \begin{macrocode}
\cs_new:Npn \bitset_to_arabic:N #1
{
@@ -486,13 +509,11 @@
#1 \q_recursion_tail \q_recursion_stop
}
}
-
\cs_new:Npn \@@_to_int:nN #1#2
{
\quark_if_recursion_tail_stop_do:Nn #2 {#1}
\exp_args:Nf \@@_to_int:nN { \fp_eval:n { #1 * 2 + #2 } }
}
-
\cs_new:Npn \bitset_to_bin:N #1
{
#1
@@ -501,6 +522,8 @@
\cs_generate_variant:Nn \bitset_to_bin:N { c }
% \end{macrocode}
% \end{macro}
+% \end{macro}
+%
% \begin{macro}
% {
% \bitset_item:Nn, \bitset_item:cn
@@ -518,10 +541,10 @@
{ 0 - ( \prop_item:cn { g_@@_ \cs_to_str:N #1 _name_prop } {#2} ) }
+0
}
- }
- {
- 0
- }
+ }
+ {
+ 0
+ }
}
\cs_generate_variant:Nn \bitset_item:Nn { c }
% \end{macrocode}
@@ -537,28 +560,40 @@
\cs_generate_variant:Nn \bitset_show:N { c }
\cs_new_protected:Npn \bitset_log:N { \@@_show:NN \msg_log:nneeee }
\cs_generate_variant:Nn \bitset_log:N { c }
-\cs_new_protected:Npn \bitset_show_named_index:N { \@@_show_named_index:NN \msg_show:nneeee }
-\cs_generate_variant:Nn \bitset_show_named_index:N { c }
\cs_new_protected:Npn \@@_show:NN #1#2
{
\__kernel_chk_defined:NT #2
{
#1 { bitset } { show }
- { \token_to_str:N #2 }
- { \bitset_to_bin:N #2 }
- { \bitset_to_arabic:N #2 }
- { }
+ { \token_to_str:N #2 }
+ { \bitset_to_bin:N #2 }
+ { \bitset_to_arabic:N #2 }
+ { }
}
}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}
+% {
+% \bitset_show_named_index:N, \bitset_show_named_index:c,
+% \bitset_log_named_index:N, \bitset_log_named_index:c
+% }
+% \begin{macrocode}
+\cs_new_protected:Npn \bitset_show_named_index:N
+ { \@@_show_named_index:NN \msg_show:nneeee }
+\cs_generate_variant:Nn \bitset_show_named_index:N { c }
+\cs_new_protected:Npn \bitset_log_named_index:N
+ { \@@_show_named_index:NN \msg_log:nneeee }
+\cs_generate_variant:Nn \bitset_log_named_index:N { c }
\cs_new_protected:Npn \@@_show_named_index:NN #1#2
{
\__kernel_chk_defined:NT #2
{
#1 { bitset } { show-names }
- { \token_to_str:N #2 }
- { \prop_map_function:cN { g_@@_ \cs_to_str:N #2 _name_prop } \msg_show_item:nn }
- { }
- { }
+ { \token_to_str:N #2 }
+ { \prop_map_function:cN { g_@@_ \cs_to_str:N #2 _name_prop } \msg_show_item:nn }
+ { } { }
}
}
% \end{macrocode}
@@ -566,7 +601,7 @@
%
% \subsection{Messages}
% \begin{macrocode}
- \msg_new:nnn { bitset } { show }
+\msg_new:nnn { bitset } { show }
{
The~bitset~#1~has~the~representation: \\
>~binary:~#2 \\
@@ -589,21 +624,6 @@
%</package>
% \end{macrocode}
%
-% \subsection{Stub package}
-%
-% \begin{macrocode}
-%<*stub>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ProvidesExplPackage{l3bitset}{2023-12-11}{}
- {L3 Experimental bitset support}
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</stub>
-% \end{macrocode}
-%
% \end{implementation}
%
% \PrintIndex
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index 1b9a6e18e6c..1e8af0f79e4 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3bootstrap} package\\ Bootstrap code^^A
+% The \pkg{l3bootstrap} module\\ Bootstrap code^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index 25de02e6fb5..82041737ef6 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-2023 The LaTeX Project
+% Copyright (C) 2005-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3box} package\\ Boxes^^A
+% The \pkg{l3box} module\\ Boxes^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -1493,10 +1493,10 @@
% Put a horizontal box directly into the input stream.
% \begin{macrocode}
\cs_new_protected:Npn \hbox_to_wd:nn #1#2
- {
- \tex_hbox:D to \@@_dim_eval:n {#1}
- { \color_group_begin: #2 \color_group_end: }
- }
+ {
+ \tex_hbox:D to \@@_dim_eval:n {#1}
+ { \color_group_begin: #2 \color_group_end: }
+ }
\cs_new_protected:Npn \hbox_to_zero:n #1
{
\tex_hbox:D to \c_zero_dim
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index 044f23b41d5..05e3fdc23a0 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-2023 The LaTeX Project
+% Copyright (C) 2012-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3candidates} package\\ Experimental additions to
+% The \pkg{l3candidates} module\\ Experimental additions to
% \pkg{l3kernel}^^A
% }
%
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -101,19 +101,6 @@
% \end{texnote}
% \end{function}
%
-% \section{Additions to \pkg{l3tl}}
-%
-% \begin{function}[added = 2018-04-01]{\tl_build_get:NN}
-% \begin{syntax}
-% \cs{tl_build_get:NN} \meta{tl~var_1} \meta{tl~var_2}
-% \end{syntax}
-% Stores the contents of the \meta{tl~var_1} in the \meta{tl~var_2}.
-% The \meta{tl~var_1} must have been set up with \cs{tl_build_begin:N}
-% or \cs{tl_build_gbegin:N}. The \meta{tl~var_2} is a
-% \enquote{normal} token list variable, assigned locally using
-% \cs{tl_set:Nn}.
-% \end{function}
-%
% \end{documentation}
%
% \begin{implementation}
@@ -154,21 +141,6 @@
% \end{macro}
% \end{macro}
%
-% \subsection{Additions to \pkg{l3tl}}
-%
-% \subsubsection{Building a token list}
-%
-% \begin{macrocode}
-%<@@=tl>
-% \end{macrocode}
-%
-% \begin{macro}{\tl_build_get:NN}
-% \begin{macrocode}
-\cs_new_protected:Npn \tl_build_get:NN
- { \@@_build_get:NNN \__kernel_tl_set:Ne }
-% \end{macrocode}
-% \end{macro}
-%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
index 03e6b6f8b52..325d4616dfa 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-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3cctab} package\\ Category code tables^^A
+% The \pkg{l3cctab} module\\ Category code tables^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index 4783ba761f4..7b64db9863a 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 LaTeX Project
-% (C) 2012-2023 The LaTeX Project
+% (C) 2012-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3clist} package\\ Comma separated lists^^A
+% The \pkg{l3clist} module\\ Comma separated lists^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index 217fd933c2a..e3d23ea5375 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-2023 The LaTeX Project
+% Copyright (C) 2010-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3coffins} package\\ Coffin code layer^^A
+% The \pkg{l3coffins} module\\ Coffin code layer^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -871,7 +871,7 @@
\box_set_eq:NN #1 #2
\prop_set_eq:cc { coffin ~ \@@_to_value:N #1 ~ corners }
{ coffin ~ \@@_to_value:N #2 ~ corners }
- \prop_set_eq:cc { coffin ~ \@@_to_value:N #1 ~ poles }
+ \prop_set_eq:cc { coffin ~ \@@_to_value:N #1 ~ poles }
{ coffin ~ \@@_to_value:N #2 ~ poles }
}
}
@@ -883,7 +883,7 @@
\box_gset_eq:NN #1 #2
\prop_gset_eq:cc { coffin ~ \@@_to_value:N #1 ~ corners }
{ coffin ~ \@@_to_value:N #2 ~ corners }
- \prop_gset_eq:cc { coffin ~ \@@_to_value:N #1 ~ poles }
+ \prop_gset_eq:cc { coffin ~ \@@_to_value:N #1 ~ poles }
{ coffin ~ \@@_to_value:N #2 ~ poles }
}
}
@@ -1266,7 +1266,7 @@
{
( \dim_to_fp:n {#7} / \dim_to_fp:n {#8} )
* ( \dim_to_fp:n {#4} - \dim_to_fp:n {#6} )
- + \dim_to_fp:n {#5}
+ + \dim_to_fp:n {#5}
}
}
}
@@ -1606,13 +1606,13 @@
\cs_new_protected:Npn \@@_find_corner_maxima_aux:nn #1#2
{
\dim_set:Nn \l_@@_left_corner_dim
- { \dim_min:nn { \l_@@_left_corner_dim } {#1} }
+ { \dim_min:nn { \l_@@_left_corner_dim } {#1} }
\dim_set:Nn \l_@@_right_corner_dim
- { \dim_max:nn { \l_@@_right_corner_dim } {#1} }
+ { \dim_max:nn { \l_@@_right_corner_dim } {#1} }
\dim_set:Nn \l_@@_bottom_corner_dim
- { \dim_min:nn { \l_@@_bottom_corner_dim } {#2} }
+ { \dim_min:nn { \l_@@_bottom_corner_dim } {#2} }
\dim_set:Nn \l_@@_top_corner_dim
- { \dim_max:nn { \l_@@_top_corner_dim } {#2} }
+ { \dim_max:nn { \l_@@_top_corner_dim } {#2} }
}
% \end{macrocode}
% \end{macro}
@@ -1915,13 +1915,13 @@
% The coffin structure is reset, and the corners are cleared: only
% those from the two parent coffins are needed.
% \begin{macrocode}
- \@@_reset_structure:N \l_@@_aligned_coffin
- \prop_clear:c
- {
- coffin ~ \@@_to_value:N \l_@@_aligned_coffin
- \c_space_tl corners
- }
- \@@_update_poles:N \l_@@_aligned_coffin
+ \@@_reset_structure:N \l_@@_aligned_coffin
+ \prop_clear:c
+ {
+ coffin ~ \@@_to_value:N \l_@@_aligned_coffin
+ \c_space_tl corners
+ }
+ \@@_update_poles:N \l_@@_aligned_coffin
% \end{macrocode}
% The structures of the parent coffins are now transferred to the new
% coffin, which requires that the appropriate offsets are applied. That
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
index 2fa59821b4e..7f9e36e6dfd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
@@ -2,7 +2,7 @@
%
%% File: l3color.dtx
%
-% Copyright (C) 2017-2023 The LaTeX Project
+% Copyright (C) 2017-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3color} package\\ Color support^^A
+% The \pkg{l3color} module\\ Color support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -779,9 +779,9 @@
\cs_new:Npn \@@_convert_rgb_cmyk:w #1 ~ #2 ~ #3 \s_@@_stop
{
\exp_args:Neee \@@_convert_rgb_cmyk:nnn
- { \fp_eval:n { 1 - #1 } }
- { \fp_eval:n { 1 - #2 } }
- { \fp_eval:n { 1 - #3 } }
+ { \fp_eval:n { 1 - #1 } }
+ { \fp_eval:n { 1 - #2 } }
+ { \fp_eval:n { 1 - #3 } }
}
\cs_new:Npn \@@_convert_rgb_cmyk:nnn #1#2#3
{
@@ -875,9 +875,9 @@
\cs_new_protected:Npn \@@_parse_set_eq:Nn #1#2
{
\tl_if_empty:NTF \l_color_fixed_model_tl
- { \exp_args:Nv \@@_parse_set_eq:nNn { l_@@_named_ #2 _tl } }
- { \exp_args:NV \@@_parse_set_eq:nNn \l_color_fixed_model_tl }
- #1 {#2}
+ { \exp_args:Nv \@@_parse_set_eq:nNn { l_@@_named_ #2 _tl } }
+ { \exp_args:NV \@@_parse_set_eq:nNn \l_color_fixed_model_tl }
+ #1 {#2}
}
% \end{macrocode}
% Here, we have to allow for the case where there is a fixed model:
@@ -894,8 +894,8 @@
\tl_set_eq:Nc \l_@@_model_tl { l_@@_named_ #3 _tl }
\prop_get:cVN { l_@@_named_ #3 _prop } \l_@@_model_tl
\l_@@_value_tl
- \@@_convert:nnN
- \l_@@_model_tl {#1} \l_@@_value_tl
+ \@@_convert:nnN
+ \l_@@_model_tl {#1} \l_@@_value_tl
\tl_set:Ne #2
{
{#1}
@@ -1190,11 +1190,11 @@
\use:e
{
\exp_not:N \@@_parse_model_hsb_aux:nnnnn
- { \@@_parse_number:n {#4} }
- { \fp_eval:n { round(#4 * (1 - #3) ,5) } }
- { \fp_eval:n { round(#4 * ( 1 - #3 * #2 ) ,5) } }
- { \fp_eval:n { round(#4 * ( 1 - #3 * (1 - #2) ) ,5) } }
- {#1}
+ { \@@_parse_number:n {#4} }
+ { \fp_eval:n { round(#4 * (1 - #3) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * #2 ) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * (1 - #2) ) ,5) } }
+ {#1}
}
}
\cs_new:Npn \@@_parse_model_hsb_aux:nnnnn #1#2#3#4#5
@@ -2317,10 +2317,10 @@
\tl_const:cn { c_@@_fallback_ #1 _tl } { cmyk }
\cs_new:cpn { @@_convert_ #1 _cmyk:w } ##1 \s_@@_stop
{
- \fp_eval:n {##1 * #3} ~
- \fp_eval:n {##1 * #4} ~
- \fp_eval:n {##1 * #5} ~
- \fp_eval:n {##1 * #6}
+ \fp_eval:n {##1 * #3} ~
+ \fp_eval:n {##1 * #4} ~
+ \fp_eval:n {##1 * #5} ~
+ \fp_eval:n {##1 * #6}
}
\cs_new:cpn { @@_convert_cmyk_ #1 :w } ##1 \s_@@_stop { 1 }
\prop_gput:Nnn \g_@@_alternative_values_prop {#1} { #3 , #4 , #5 , #6 }
@@ -2332,9 +2332,9 @@
\tl_const:cn { c_@@_fallback_ #1 _tl } { rgb }
\cs_new:cpn { @@_convert_ #1 _rgb:w } ##1 \s_@@_stop
{
- \fp_eval:n {##1 * #3} ~
- \fp_eval:n {##1 * #4} ~
- \fp_eval:n {##1 * #5}
+ \fp_eval:n {##1 * #3} ~
+ \fp_eval:n {##1 * #4} ~
+ \fp_eval:n {##1 * #5}
}
\cs_new:cpn { @@_convert_rgb_ #1 :w } ##1 \s_@@_stop { 1 }
\prop_gput:Nnn \g_@@_alternative_values_prop {#1} { #3 , #4 , #5 }
@@ -2495,7 +2495,7 @@
{#2}
\clist_map_break:n { \use_none:nnnn }
}
- }
+ }
}
{
\str_if_eq:nnF {##1} { none }
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
index 884ecdf6ac8..423ffd55776 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3debug} package\\ Debugging support^^A
+% The \pkg{l3debug} module\\ Debugging support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -128,7 +128,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2023-12-11}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-01-04}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
@@ -165,12 +165,12 @@
% \begin{macro}{\debug_on:n, \debug_off:n, \@@_all_on:, \@@_all_off:}
% \begin{macrocode}
\cs_set_protected:Npn \debug_on:n #1
- {
+ {
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
- {
+ {
\cs_if_exist_use:cF { @@_ ##1 _on: }
{ \msg_error:nnn { debug } { debug } {##1} }
- }
+ }
}
\cs_set_protected:Npn \debug_off:n #1
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index f046e4a2634..59007c67253 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-2023 The LaTeX Project
+% Copyright (C) 2017-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3deprecation} package\\ Deprecation errors^^A
+% The \pkg{l3deprecation} module\\ Deprecation errors^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -129,9 +129,9 @@
\__kernel_deprecation_error:Nnn #4 {#2} {#1}
}
{ \tex_let:D #4 \scan_stop: }
- \cs_if_eq:NNTF #3 \cs_gset_protected:Npn
- { \@@_warn_once:nnNnn {#1} {#2} #4 {#5} {#6} }
- { \@@_patch_aux:Nn #3 { #4 #5 {#6} } }
+ \cs_if_eq:NNTF #3 \cs_gset_protected:Npn
+ { \@@_warn_once:nnNnn {#1} {#2} #4 {#5} {#6} }
+ { \@@_patch_aux:Nn #3 { #4 #5 {#6} } }
}
% \end{macrocode}
% In case we want a warning, the \meta{function} is defined to produce
@@ -729,6 +729,13 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\tl_build_get:NN}
+% \begin{macrocode}
+\__kernel_patch_deprecation:nnNNpn { 2023-10-25 } { \tl_build_get_intermediate:NN }
+\cs_new_protected:Npn \tl_build_get:NN { \tl_build_get_intermediate:NN }
+% \end{macrocode}
+% \end{macro}
+%
% \subsection{Deprecated \pkg{l3token} functions}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index 983df56fab5..d24fcce4f85 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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-2023 The LaTeX Project
+Copyright (C) 1990-2024 The LaTeX Project
It may be distributed and/or modified under the conditions of
the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2023-12-11}{}
+\ProvidesExplClass{l3doc}{2024-01-04}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
% \maketitle
% \tableofcontents
%
@@ -1443,11 +1443,11 @@ and all files in that bundle must be distributed together.
\bool_gset_true:N \g_@@_typeset_documentation_bool
\bool_gset_true:N \g_@@_typeset_implementation_bool
} ,
- onlydoc .code:n =
- {
- \bool_gset_true:N \g_@@_typeset_documentation_bool
- \bool_gset_false:N \g_@@_typeset_implementation_bool
- } ,
+ onlydoc .code:n =
+ {
+ \bool_gset_true:N \g_@@_typeset_documentation_bool
+ \bool_gset_false:N \g_@@_typeset_implementation_bool
+ } ,
check .bool_gset:N = \g_@@_checkfunc_bool ,
checktest .bool_gset:N = \g_@@_checktest_bool ,
kernel .bool_gset:N = \g_@@_kernel_bool ,
@@ -2015,28 +2015,28 @@ and all files in that bundle must be distributed together.
% Indexing.
% \begin{macrocode}
\bool_if:NT \l_@@_allow_indexing_bool
- {
- \bool_if:NF \l_@@_cmd_noindex_bool
- {
- \quark_if_no_value:NF \l_@@_cmd_index_tl
- {
- \__kernel_tl_set:Ne \l_@@_cmd_tl
- { \c_backslash_str \exp_not:o { \l_@@_cmd_index_tl } }
- }
- \exp_args:No \@@_key_get:n { \l_@@_cmd_tl }
- \quark_if_no_value:NF \l_@@_cmd_module_tl
+ {
+ \bool_if:NF \l_@@_cmd_noindex_bool
{
- \__kernel_tl_set:Ne \l_@@_index_module_tl
- { \tl_to_str:N \l_@@_cmd_module_tl }
+ \quark_if_no_value:NF \l_@@_cmd_index_tl
+ {
+ \__kernel_tl_set:Ne \l_@@_cmd_tl
+ { \c_backslash_str \exp_not:o { \l_@@_cmd_index_tl } }
+ }
+ \exp_args:No \@@_key_get:n { \l_@@_cmd_tl }
+ \quark_if_no_value:NF \l_@@_cmd_module_tl
+ {
+ \__kernel_tl_set:Ne \l_@@_index_module_tl
+ { \tl_to_str:N \l_@@_cmd_module_tl }
+ }
+ \@@_special_index_module:ooonN
+ { \l_@@_index_key_tl }
+ { \l_@@_index_macro_tl }
+ { \l_@@_index_module_tl }
+ { usage }
+ \l_@@_index_internal_bool
}
- \@@_special_index_module:ooonN
- { \l_@@_index_key_tl }
- { \l_@@_index_macro_tl }
- { \l_@@_index_module_tl }
- { usage }
- \l_@@_index_internal_bool
- }
- }
+ }
}
\cs_generate_variant:Nn \@@_cmd:nn { no }
% \end{macrocode}
@@ -2729,7 +2729,10 @@ and all files in that bundle must be distributed together.
\@@_typeset_aux:n { \@@_get_function_name:n {#1} }
:
\int_compare:nTF { \seq_count:N \g_@@_variants_seq == 1 }
- { \seq_use:Nn \g_@@_variants_seq { } }
+ {
+ \seq_use:Nn \g_@@_variants_seq { }
+ \bool_if:NT #2 { \@@_typeset_TF: }
+ }
{
\hbox_set:Nn \l_tmpa_box
{ \seq_use:Nn \g__@@_variants_seq { \textrm| \nolinebreak[2] } }
@@ -2997,10 +3000,13 @@ and all files in that bundle must be distributed together.
% \end{macro}
%
% \begin{macro}{\@@_macro_save_names:}
+% \begin{macro}[EXP]{\@@_macro_save_names_aux:w}
% The list of names defined in a set of \env{macro} environments is
% eventually used to display on which page they are documented. If
% the |documented-as| key is given, use that, otherwise find names in
-% \cs{l_@@_names_block_tl}.
+% \cs{l_@@_names_block_tl}. The |documented-as| needs to be detokenized
+% without adding a space, so it has to be treated in a slightly awkward
+% way.
% \begin{macrocode}
\cs_new_protected:Npn \@@_macro_save_names:
{
@@ -3008,13 +3014,19 @@ and all files in that bundle must be distributed together.
{ \@@_names_block_base_map:N \@@_macro_save_names_aux:n }
{
\seq_gput_right:Ne \g_@@_nested_names_seq
- { \tl_to_str:N \l_@@_macro_documented_tl }
+ {
+ \exp_after:wN \@@_macro_save_names_aux:w
+ \l_@@_macro_documented_tl \q_@@_stop
+ }
}
}
+\cs_new:Npn \@@_macro_save_names_aux:w #1#2 \q_@@_stop
+ { \token_to_str:N #1 \tl_to_str:n {#2} }
\cs_new_protected:Npn \@@_macro_save_names_aux:n #1
{ \seq_gput_right:Nn \g_@@_nested_names_seq {#1} }
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_macro_exclude_index:}
% Some control sequences in a \env{macrocode} environment shouldn't
@@ -3316,21 +3328,21 @@ and all files in that bundle must be distributed together.
\cs_new_protected:Npn \@@_macro_end_check_tested:
{
\bool_lazy_all:nT
- {
- { \g_@@_checktest_bool }
- { ! \l_@@_macro_var_bool }
- { ! \l_@@_macro_tested_bool }
- }
- {
- \seq_set_filter:NNn \l_@@_tmpa_seq \l_@@_names_seq
- { ! \@@_if_macro_internal_p:n {##1} }
- \seq_gput_right:Ne \g_@@_not_tested_seq
- {
- \seq_use:Nn \l_@@_tmpa_seq { , }
- \bool_if:NTF \l_@@_macro_pTF_bool {~(pTF)}
- { \bool_if:NT \l_@@_macro_TF_bool {~(TF)} }
- }
- }
+ {
+ { \g_@@_checktest_bool }
+ { ! \l_@@_macro_var_bool }
+ { ! \l_@@_macro_tested_bool }
+ }
+ {
+ \seq_set_filter:NNn \l_@@_tmpa_seq \l_@@_names_seq
+ { ! \@@_if_macro_internal_p:n {##1} }
+ \seq_gput_right:Ne \g_@@_not_tested_seq
+ {
+ \seq_use:Nn \l_@@_tmpa_seq { , }
+ \bool_if:NTF \l_@@_macro_pTF_bool {~(pTF)}
+ { \bool_if:NT \l_@@_macro_TF_bool {~(TF)} }
+ }
+ }
}
% \end{macrocode}
% \end{macro}
@@ -3535,17 +3547,17 @@ and all files in that bundle must be distributed together.
\providecommand\Hy@footnote@currentHref{}
\prop_new:N\g_@@_fnmark_prop
\cs_new_protected:Npn \@@_fn_store:
- {
- \prop_gput:Nee\g_@@_fnmark_prop
- {fn\int_use:N\c@footnote}{{\Hy@footnote@currentHref}{\int_use:N\c@footnote}}
- }
+ {
+ \prop_gput:Nee\g_@@_fnmark_prop
+ {fn\int_use:N\c@footnote}{{\Hy@footnote@currentHref}{\int_use:N\c@footnote}}
+ }
\cs_new_protected:Npn \@@_fn_restore:n #1
- {
- \prop_get:NnN \g_@@_fnmark_prop {fn#1}\l_@@_tmpa_tl
- \tl_gset:Ne\Hy@footnote@currentHref
- {\exp_last_unbraced:NV\use_i:nn \l_@@_tmpa_tl }
- \setcounter{footnote}{\exp_last_unbraced:NV\use_ii:nn \l_@@_tmpa_tl}
- }
+ {
+ \prop_get:NnN \g_@@_fnmark_prop {fn#1}\l_@@_tmpa_tl
+ \tl_gset:Ne\Hy@footnote@currentHref
+ {\exp_last_unbraced:NV\use_i:nn \l_@@_tmpa_tl }
+ \setcounter{footnote}{\exp_last_unbraced:NV\use_ii:nn \l_@@_tmpa_tl}
+ }
\cs_generate_variant:Nn \hook_gput_next_code:nn {ne}
\cs_new_protected:Npn \@@_fn_footnote:nn #1 #2
@@ -3656,7 +3668,7 @@ and all files in that bundle must be distributed together.
% (which may not be the case).
% \begin{macrocode}
\cs_if_exist:NT \MaybeStop
- { \RenewCommandCopy \MaybeStop \StopEventually }
+ { \RenewCommandCopy \MaybeStop \StopEventually }
% \end{macrocode}
%
% \begin{macrocode}
@@ -4664,13 +4676,13 @@ and all files in that bundle must be distributed together.
{
\title
{
- The~\pkg{#1}~package \\ #2
+ The~\pkg{#1}~package \\ #2
}
\author
{
- The~\LaTeX3~Project\thanks{E-mail:~
- \href{mailto:latex-l@listserv.uni-heidelberg.de}
- {latex-l@listserv.uni-heidelberg.de}}
+ The~\LaTeX3~Project\thanks{E-mail:~
+ \href{mailto:latex-l@listserv.uni-heidelberg.de}
+ {latex-l@listserv.uni-heidelberg.de}}
}
\date{Released~\ExplFileDate}
\maketitle
@@ -4686,8 +4698,8 @@ and all files in that bundle must be distributed together.
{
\clist_map_inline:nn
{
- asin, acos, atan, acot,
- asinh, acosh, atanh, acoth, round, floor, ceil
+ asin, acos, atan, acot,
+ asinh, acosh, atanh, acoth, round, floor, ceil
}
{ \exp_args:Nc \DeclareMathOperator{#1}{#1} }
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index 0d21cb48330..9e28f867c25 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-2023 The LaTeX Project
+% Copyright (C) 2012-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -51,7 +51,7 @@
% \fi
%
% \title{^^A
-% The \pkg{l3docstrip} package\\ Code extraction and manipulation^^A
+% The \pkg{l3docstrip} module\\ Code extraction and manipulation^^A
% }
%
% \author{^^A
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index e4b8a9967d1..dd682a37d82 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3expan} package\\ Argument expansion^^A
+% The \pkg{l3expan} module\\ Argument expansion^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -1525,7 +1525,7 @@
\cs_new:Npn \exp_last_two_unbraced:Noo #1#2#3
{ \exp_after:wN \@@_last_two_unbraced:noN \exp_after:wN {#3} {#2} #1 }
\cs_new:Npn \@@_last_two_unbraced:noN #1#2#3
- { \exp_after:wN #3 #2 #1 }
+ { \exp_after:wN #3 #2 #1 }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index d33fe899d8d..c715b4da659 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3file} package\\ File and I/O operations^^A
+% The \pkg{l3file} module\\ File and I/O operations^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -2158,12 +2158,12 @@
% \end{macrocode}
% Sanity check.
% \begin{macrocode}
- \int_compare:nNnT { \l_@@_line_target_int } < 0
- {
- \tl_set:Nn \l_@@_newline_tl { \iow_newline: }
- \int_set:Nn \l_@@_line_target_int
- { \l_iow_line_count_int + 1 }
- }
+ \int_compare:nNnT { \l_@@_line_target_int } < 0
+ {
+ \tl_set:Nn \l_@@_newline_tl { \iow_newline: }
+ \int_set:Nn \l_@@_line_target_int
+ { \l_iow_line_count_int + 1 }
+ }
% \end{macrocode}
% There is then a loop over the input, which stores the wrapped
% result in \cs{l_@@_wrap_tl}. After the loop, the resulting text is
@@ -3372,7 +3372,7 @@
{ \file_full_name:n {#1} }
{ \file_full_name:n {#3} }
#2
- }
+ }
\prg_generate_conditional_variant:Nnn \file_compare_timestamp:nNn
{ nNV , V , VNV } { p , T , F , TF }
\cs_new:Npn \@@_compare_timestamp:nnN #1#2#3
@@ -3388,11 +3388,11 @@
{
\tl_if_blank:nTF {#2}
{
- \if_charcode:w #3 >
- \prg_return_true:
- \else:
- \prg_return_false:
- \fi:
+ \if_charcode:w #3 >
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
}
{
\if_int_compare:w
@@ -3825,8 +3825,8 @@
{
\exp_args:NV \@@_kernel_dependency_compare:nnn
\c__kernel_expl_date_tl {#1}
- }
- { \@@_kernel_dependency_compare:nnn { 0000-00-00 } {#1} }
+ }
+ { \@@_kernel_dependency_compare:nnn { 0000-00-00 } {#1} }
}
\cs_new_protected:Npn \@@_kernel_dependency_compare:nnn #1 #2 #3
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index d0203d52090..05768ae069d 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3flag} package\\ Expandable flags^^A
+% The \pkg{l3flag} module\\ Expandable flags^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -61,7 +61,7 @@
% to zero requires non-expandable assignments.
%
% Flag variables are always local. They are referenced by a \meta{flag
-% name} such as \texttt{@@_missing}. The \meta{flag name} is used as
+% name} such as \texttt{fp_overflow}. The \meta{flag name} is used as
% part of \cs{use:c} constructions hence is expanded at point of use.
% It must expand to character tokens only, with no spaces.
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index f5d3e6bb387..57845378898 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-assign} package\\
+% The \pkg{l3fp-assign} module\\
% Floating point expressions^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
% \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 20c68b29642..1efa9da7cb6 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-aux} package\\ Support for floating points^^A
+% The \pkg{l3fp-aux} module\\ Support for floating points^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -906,7 +906,7 @@
#2#3#4; {#5} ;
}
\cs_new:Npn \@@_basics_pack_weird_high:NNNNNNNNw
- 1 #1#2#3#4 #5#6#7#8 #9; { ; {#1#2#3#4} {#5#6#7#8} {#9} }
+ 1 #1#2#3#4 #5#6#7#8 #9; { ; {#1#2#3#4} {#5#6#7#8} {#9} }
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index 7d2c3527d2f..f50bded4d40 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-basics} package\\
+% The \pkg{l3fp-basics} module\\
% Floating point arithmetic^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index 4a1c9f22110..30cff3bb388 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-convert} package\\ Floating point conversion^^A
+% The \pkg{l3fp-convert} module\\ Floating point conversion^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index bf385275ef9..3a7616d3b94 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-expo} package\\
+% The \pkg{l3fp-expo} module\\
% Floating point exponential-related functions^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index 9350c1c41b3..d65b1a1160b 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-extended} package\\
+% The \pkg{l3fp-extended} module\\
% Manipulating numbers with extended precision, for internal use^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
index 3ed473a097c..d140af67582 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-functions.dtx
@@ -30,7 +30,7 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-functions} package\\ Floating point functions^^A
+% The \pkg{l3fp-functions} module\\ Floating point functions^^A
% }
%
% \author{^^A
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index 004290b05d9..31cd180c395 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-logic} package\\
+% The \pkg{l3fp-logic} module\\
% Floating point conditionals^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index 0bc68619033..a4d2979c1ef 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-parse} package\\
+% The \pkg{l3fp-parse} module\\
% Floating point expression parsing^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index 28a9d11dde2..95671bce219 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-2023 The LaTeX Project
+% Copyright (C) 2016-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-random} package\\
+% The \pkg{l3fp-random} module\\
% Floating point random numbers
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -434,10 +434,10 @@
\cs_new:Npn \@@_randint_auxiv_o:ww #1#2#3#4#5 ; #6#7#8#9
{
\if_int_compare:w
- \if_int_compare:w #1#2 > #6#7 \exp_stop_f: 1 \else:
+ \if_int_compare:w #1#2 > #6#7 \exp_stop_f: 1 \else:
\if_int_compare:w #1#2 < #6#7 \exp_stop_f: - \fi: \fi:
- #3#4 > #8#9 \exp_stop_f:
- \@@_use_i_until_s:nw
+ #3#4 > #8#9 \exp_stop_f:
+ \@@_use_i_until_s:nw
\fi:
\@@_randint_auxv_o:w {#1}{#2}{#3}{#4}#5
}
@@ -567,8 +567,8 @@
\exp_after:wN \@@_randint_wide_auxii:w
\int_value:w \@@_int_eval:w #5 * #3 + #6 * #1 +
(#5 * #4 + #6 * #3 + #7 * #1 +
- (#5 * #2 + #7 * #3 +
- (16384 * #6 + #7) * (16384 * #4 + #2) / 268435456) / 16384
+ (#5 * #2 + #7 * #3 +
+ (16384 * #6 + #7) * (16384 * #4 + #2) / 268435456) / 16384
) / 16384 \exp_after:wN ;
\int_value:w \@@_int_eval:w (#5 + #6) * 16384 + #7 ;
#1 ; #5 ;
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index 4fbc3929223..8061147f0a1 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-round} package\\ Rounding floating points^^A
+% The \pkg{l3fp-round} module\\ Rounding floating points^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
index 596eb65a223..22b9585e5d0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-symbolic.dtx
@@ -30,7 +30,7 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-symbolic} package\\ Symbolic expressions^^A
+% The \pkg{l3fp-symbolic} module\\ Symbolic expressions^^A
% }
%
% \author{^^A
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -599,8 +599,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\fp_set_variable:nn}
-% \begin{macro}{\@@_set_variable:nn}
+% \begin{variable}{@@_symbolic}
+% \begin{macro}{\fp_set_variable:nn, \@@_set_variable:nn}
% Refuse invalid identifiers. If the variable does not exist yet,
% define it just as in \cs{fp_new_variable:n} (but without unnecessary
% checks). Then evaluate~|#2|. If the result contains the
@@ -642,7 +642,7 @@
}
% \end{macrocode}
% \end{macro}
-% \end{macro}
+% \end{variable}
%
% \subsection{Messages}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index e2ce4ea35a8..983fb911710 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-traps} package\\
+% The \pkg{l3fp-traps} module\\
% Trapping floating-point exceptions^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
% \maketitle
%
% \begin{documentation}
@@ -74,10 +74,10 @@
%
% \begin{variable}[module = fp]
% {
-% flag fp_invalid_operation,
-% flag fp_division_by_zero,
-% flag fp_overflow,
-% flag fp_underflow
+% fp_invalid_operation,
+% fp_division_by_zero,
+% fp_overflow,
+% fp_underflow
% }
% Flags to denote exceptions.
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
index 9c329e4b95b..78e1403da0d 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-trig} package\\
+% The \pkg{l3fp-trig} module\\
% Floating point trigonometric functions^^A
% }
% \author{^^A
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
index 46fe0c19c3c..cf76b2747be 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-types.dtx
@@ -30,7 +30,7 @@
% \fi
%
% \title{^^A
-% The \pkg{l3fp-types} package\\ Floating point types^^A
+% The \pkg{l3fp-types} module\\ Floating point types^^A
% }
%
% \author{^^A
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index 3da05f4d198..4f4fee8af60 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -37,7 +37,7 @@
%
%
% \title{^^A
-% The \pkg{l3fp} package\\ Floating points^^A
+% The \pkg{l3fp} module\\ Floating points^^A
% }
%
% \author{^^A
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -909,10 +909,10 @@
%
% \begin{variable}[module = fp]
% {
-% flag fp_overflow,
-% flag fp_underflow,
-% flag fp_invalid_operation,
-% flag fp_division_by_zero
+% fp_overflow,
+% fp_underflow,
+% fp_invalid_operation,
+% fp_division_by_zero
% }
% Flags denoting the occurrence of various floating-point exceptions.
% \end{variable}
@@ -1567,7 +1567,7 @@
%
% \section{Disclaimer and roadmap}
%
-% The package may break down if the escape character is among
+% This module may break if the escape character is among
% |0123456789_+|, or if it receives a \TeX{} primitive conditional affected
% by \cs{exp_not:N}.
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index 61c5fce7457..6f8e1c4c0e1 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-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 @@
%
%
% \title{^^A
-% The \pkg{l3fparray} package\\ Fast global floating point arrays^^A
+% The \pkg{l3fparray} module\\ Fast global floating point arrays^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index b3282ff9da9..e0be12a51e0 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3int} package\\ Integers^^A
+% The \pkg{l3int} module\\ Integers^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index 130da0503eb..c29930bd797 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-2023 The LaTeX Project
+% Copyright (C) 2017-2024 The LaTeX 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 @@
%
%
% \title{^^A
-% The \pkg{l3intarray} package\\ Fast global integer arrays^^A
+% The \pkg{l3intarray} module\\ Fast global integer arrays^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -151,7 +151,7 @@
% $2^{30}-1$). In contrast to \pkg{l3seq} sequences the access to
% individual entries is done in constant time rather than linear time,
% but only integers can be stored. More precisely, the primitive
-% \tn{fontdimen} stores dimensions but the \pkg{l3intarray} package
+% \tn{fontdimen} stores dimensions but the \pkg{l3intarray} module
% transparently converts these from/to integers. Assignments are always
% global.
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index b9602fd17cd..509abeedd64 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-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3kernel-functions} package\\ Kernel-reserved functions^^A
+% The \pkg{l3kernel-functions} module\\ Kernel-reserved functions^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index c300e3e5ee3..9919abfd869 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-2023 The LaTeX Project
+% Copyright (C) 2006-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3keys} package\\ Key--value interfaces^^A
+% The \pkg{l3keys} module\\ Key--value interfaces^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -775,12 +775,14 @@
% If a key has not previously been defined (is unknown), \cs{keys_set:nn}
% looks for a special \texttt{unknown} key for the same module, and if this is
% not defined raises an error indicating that the key name was unknown. This
-% mechanism can be used for example to issue custom error texts.
+% mechanism can be used for example to issue custom error texts. The
+% \texttt{unknown} key also supports the \texttt{.default:n} property.
% \begin{verbatim}
% \keys_define:nn { mymodule }
% {
% unknown .code:n =
-% You~tried~to~set~key~'\l_keys_key_str'~to~'#1'.
+% You~tried~to~set~key~'\l_keys_key_str'~to~'#1'. ,
+% unknown .default:V = \c_novalue_tl
% }
% \end{verbatim}
%
@@ -1344,9 +1346,9 @@
% \begin{macrocode}
\cs_new:Npn \@@_misplaced_equal_after_active_error:w
\s_@@_mark ##1 \s_@@_stop \s_@@_mark ##2 \s_@@_nil
- = \s_@@_mark \@@_split_active_auxii:w
- \s_@@_mark ##3 \s_@@_nil
- #2 \s_@@_mark \@@_clean_up_active:w
+ = \s_@@_mark \@@_split_active_auxii:w
+ \s_@@_mark ##3 \s_@@_nil
+ #2 \s_@@_mark \@@_clean_up_active:w
{
\msg_expandable_error:nn
{ keyval } { misplaced-equals-sign }
@@ -1813,28 +1815,29 @@
% \end{macro}
%
% \begin{macro}{\@@_property_find:n}
-% \begin{macro}
+% \begin{macro}[EXP]{\@@_property_find_auxi:w}
+% \begin{macro}{\@@_property_find_auxii:w}
+% \begin{macro}[EXP]
% {
-% \@@_property_find_auxi:w ,
-% \@@_property_find_auxii:w ,
% \@@_property_find_auxiii:w ,
% \@@_property_find_auxiv:w
% }
+% \begin{macro}{\@@_property_find_err:w}
% Searching for a property means finding the last |.| in the input,
-% and storing the text before and after it. Everything is turned into
-% strings, so there is no problem using an \texttt{e}-type expansion. Since
-% \cs{@@_trim_spaces:n} will turn its argument into a string anyway, this
-% function uses \cs{cs_set_nopar:Npe} instead of \cs{tl_set:Ne} to gain some
-% speed.
+% and storing the text before and after it. Everything is first turned into
+% strings, so there is no problem using \cs{cs_set_nopar:Npe} instead of
+% \cs{str_set:Ne} to set \cs{l_keys_path_str}. To gain further speed, brace
+% tricks are used and \cs{@@_property_find_auxiv:w} is defined as expandable.
+% Since spaces will already be trimmed from the module we can omit it from the
+% argument to \cs{@@_trim_spaces:n}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_property_find:n #1
{
- \cs_set_nopar:Npe \l_@@_property_str { \@@_trim_spaces:n { #1 } }
- \exp_after:wN \@@_property_find_auxi:w \l_@@_property_str
+ \exp_after:wN \@@_property_find_auxi:w \tl_to_str:n {#1}
\s_@@_nil \@@_property_find_auxii:w
. \s_@@_nil \@@_property_find_err:w
}
-\cs_new_protected:Npn \@@_property_find_auxi:w #1 . #2 \s_@@_nil #3
+\cs_new:Npn \@@_property_find_auxi:w #1 . #2 \s_@@_nil #3
{
#3 #1 \s_@@_mark #2 \s_@@_nil #3
}
@@ -1843,22 +1846,24 @@
\@@_property_find_err:w
{
\cs_set_nopar:Npe \l_keys_path_str
- { \str_if_empty:NF \l_@@_module_str { \l_@@_module_str / } #1 }
- \@@_property_find_auxi:w #2 \s_@@_nil \@@_property_find_auxiii:w . \s_@@_nil
- \@@_property_find_auxiv:w
+ {
+ \str_if_empty:NF \l_@@_module_str { \l_@@_module_str / }
+ \exp_after:wN \@@_trim_spaces:n \tex_expanded:D {{
+ #1
+ \if_false: }}} \fi:
+ \@@_property_find_auxi:w #2 \s_@@_nil \@@_property_find_auxiii:w
+ . \s_@@_nil \@@_property_find_auxiv:w
}
-\cs_new_protected:Npn \@@_property_find_auxiii:w #1 \s_@@_mark
+\cs_new:Npn \@@_property_find_auxiii:w #1 \s_@@_mark #2 . #3 \s_@@_nil #4
{
- \cs_set_nopar:Npe \l_keys_path_str { \l_keys_path_str . #1 }
- \@@_property_find_auxi:w
+ . #1 #4 #2 \s_@@_mark #3 \s_@@_nil #4
}
-\cs_new_protected:Npn \@@_property_find_auxiv:w
+\cs_new:Npn \@@_property_find_auxiv:w
#1 \s_@@_nil \@@_property_find_auxiii:w
\s_@@_mark \s_@@_nil \@@_property_find_auxiv:w
{
+ \if_false: {{{ \fi: }}}
\cs_set_nopar:Npe \l_@@_property_str { . #1 }
- \cs_set_nopar:Npe \l_keys_path_str
- { \exp_after:wN \@@_trim_spaces:n \exp_after:wN { \l_keys_path_str } }
\tl_set_eq:NN \l_keys_path_tl \l_keys_path_str
}
\cs_new_protected:Npn \@@_property_find_err:w
@@ -1870,6 +1875,9 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_define_code:n}
% \begin{macro}[EXP]{\@@_define_code:w}
@@ -2154,8 +2162,8 @@
\@@_default_set:n { true }
\cs_if_exist:cF { if#1 }
{
- \cs:w newif \exp_after:wN \cs_end:
- \cs:w if#1 \cs_end:
+ \cs:w newif \exp_after:wN \cs_end:
+ \cs:w if#1 \cs_end:
}
}
% \end{macrocode}
@@ -3242,7 +3250,19 @@
{
\cs_if_exist:cTF
{ \c_@@_code_root_str \l_@@_module_str / unknown }
- { \@@_execute:no { \l_@@_module_str / unknown } \l_keys_value_tl }
+ {
+ \bool_if:NT \l_@@_no_value_bool
+ {
+ \cs_if_exist:cT
+ { \c_@@_default_root_str \l_@@_module_str / unknown }
+ {
+ \tl_set_eq:Nc
+ \l_keys_value_tl
+ { \c_@@_default_root_str \l_@@_module_str / unknown }
+ }
+ }
+ \@@_execute:no { \l_@@_module_str / unknown } \l_keys_value_tl
+ }
{
\msg_error:nnee { keys } { unknown }
\l_keys_path_str \l_@@_module_str
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
index 2311d28bbae..8f72634dc5b 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-2023 The LaTeX Project
+% Copyright (C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3legacy} package\\ Interfaces to legacy concepts^^A
+% The \pkg{l3legacy} module\\ Interfaces to legacy concepts^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index d3be98cb598..59e49857e76 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-2023 The LaTeX Project
+% Copyright (C) 2010-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3luatex} package\\ \LuaTeX-specific functions^^A
+% The \pkg{l3luatex} module\\ \LuaTeX-specific functions^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index f9c4dd99459..b504e402f7e 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-2023 The LaTeX Project
+% Copyright (C) 2009-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3msg} package\\ Messages^^A
+% The \pkg{l3msg} module\\ Messages^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -936,9 +936,9 @@
{ \use:c { \c_@@_text_prefix_tl #2 / #3 } #4 }
{ \c_@@_continue_text_tl }
{
- \c_@@_no_info_text_tl
- \tl_if_empty:NF #5
- { \\ \\ #5 }
+ \c_@@_no_info_text_tl
+ \tl_if_empty:NF #5
+ { \\ \\ #5 }
}
}
{
@@ -946,9 +946,9 @@
{ \use:c { \c_@@_text_prefix_tl #2 / #3 } #4 }
{ \c_@@_help_text_tl }
{
- \use:c { \c_@@_more_text_prefix_tl #2 / #3 } #4
- \tl_if_empty:NF #5
- { \\ \\ #5 }
+ \use:c { \c_@@_more_text_prefix_tl #2 / #3 } #4
+ \tl_if_empty:NF #5
+ { \\ \\ #5 }
}
}
}
@@ -1189,7 +1189,7 @@
{ nnVV , nnVn , nnnV , nnne , nnnx , nnee , nnxx }
\cs_generate_variant:cn { msg_ #1 :nnnnn }
{ nnnee , nnnxx , nneee , nnxxx }
- \cs_generate_variant:cn { msg_ #1 :nnnnnn } { nneeee , nnxxxx }
+ \cs_generate_variant:cn { msg_ #1 :nnnnnn } { nneeee , nnxxxx }
}
% \end{macrocode}
% \end{macro}
@@ -1403,14 +1403,14 @@
{
( \l_@@_name_str )
\prg_replicate:nn
- {
- \str_count:N \l_@@_text_str
- - \str_count:N \l_@@_name_str
- }
+ {
+ \str_count:N \l_@@_text_str
+ - \str_count:N \l_@@_name_str
+ }
{ ~ }
- }
- { } #1
- #1 { }
+ }
+ { } #1
+ #1 { }
}
\@@_class_new:nn { warning }
{
@@ -2042,7 +2042,7 @@
\msg_new:nnnn { kernel } { no-elapsed-time }
{ No~clock~detected~for~#1. }
{ The~current~engine~provides~no~way~to~access~the~system~time. }
- }
+ }
\msg_new:nnnn { kernel } { non-base-function }
{ Function~'#1'~is~not~a~base~function }
{
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index c1478161d67..58c7828ac9e 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3names} package\\ Namespace for primitives^^A
+% The \pkg{l3names} module\\ Namespace for primitives^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -117,7 +117,7 @@
%<*names|package>
% \end{macrocode}
%
-% In the current incarnation of this package, all \TeX{} primitives
+% In the current incarnation of this module, all \TeX{} primitives
% are given a new name of the form |\tex_|\emph{oldname}|:D|.
% But first three special cases which have symbolic original names.
% These are given modified new names, so that they may be entered
@@ -1096,7 +1096,7 @@
\@@_primitive:NN \Umathoverbarrule \tex_Umathoverbarrule:D
\@@_primitive:NN \Umathoverbarvgap \tex_Umathoverbarvgap:D
\@@_primitive:NN \Umathoverdelimiterbgap
- \tex_Umathoverdelimiterbgap:D
+ \tex_Umathoverdelimiterbgap:D
\@@_primitive:NN \Umathoverdelimitervgap
\tex_Umathoverdelimitervgap:D
\@@_primitive:NN \Umathpunctbinspacing \tex_Umathpunctbinspacing:D
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
index 09013a7a7fc..863d3681c35 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
@@ -2,7 +2,7 @@
%
%% File: l3pdf.dtx
%
-% Copyright(C) 2019-2023 The LaTeX Project
+% Copyright(C) 2019-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3pdf} package\\ Core PDF support^^A
+% The \pkg{l3pdf} module\\ Core PDF support^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -382,37 +382,37 @@
\prg_new_conditional:Npnn \pdf_version_compare:Nn #1#2 { p , T , F , TF }
{ \use:c { @@_version_compare_ #1 :w } #2 . . \s_@@_stop }
\cs_new:cpn { @@_version_compare_=:w } #1 . #2 . #3 \s_@@_stop
- {
- \bool_lazy_and:nnTF
- { \int_compare_p:nNn \@@_backend_version_major: = {#1} }
- { \int_compare_p:nNn \@@_backend_version_minor: = {#2} }
- { \prg_return_true: }
- { \prg_return_false: }
- }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn \@@_backend_version_major: = {#1} }
+ { \int_compare_p:nNn \@@_backend_version_minor: = {#2} }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
\cs_new:cpn { @@_version_compare_<:w } #1 . #2 . #3 \s_@@_stop
- {
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \@@_backend_version_major: < {#1} }
- {
- \bool_lazy_and_p:nn
- { \int_compare_p:nNn \@@_backend_version_major: = {#1} }
- { \int_compare_p:nNn \@@_backend_version_minor: < {#2} }
- }
- { \prg_return_true: }
- { \prg_return_false: }
- }
+ {
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn \@@_backend_version_major: < {#1} }
+ {
+ \bool_lazy_and_p:nn
+ { \int_compare_p:nNn \@@_backend_version_major: = {#1} }
+ { \int_compare_p:nNn \@@_backend_version_minor: < {#2} }
+ }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
\cs_new:cpn { @@_version_compare_>:w } #1 . #2 . #3 \s_@@_stop
- {
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \@@_backend_version_major: > {#1} }
- {
- \bool_lazy_and_p:nn
- { \int_compare_p:nNn \@@_backend_version_major: = {#1} }
- { \int_compare_p:nNn \@@_backend_version_minor: > {#2} }
- }
- { \prg_return_true: }
- { \prg_return_false: }
- }
+ {
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn \@@_backend_version_major: > {#1} }
+ {
+ \bool_lazy_and_p:nn
+ { \int_compare_p:nNn \@@_backend_version_major: = {#1} }
+ { \int_compare_p:nNn \@@_backend_version_minor: > {#2} }
+ }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index 668bf41d08e..866537f9049 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-2023 The LaTeX Project
+% Copyright (C) 2005-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3prg} package\\ Control structures^^A
+% The \pkg{l3prg} module\\ Control structures^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index 91e8c07fbf7..f8bb23e765c 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3prop} package\\ Property lists^^A
+% The \pkg{l3prop} module\\ Property lists^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index 10fa3584aa0..80b953353ff 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3quark} package\\ Quarks and scan marks^^A
+% The \pkg{l3quark} module\\ Quarks and scan marks^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index 900a1c2c82a..37245cb0b92 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3regex} package\\ Regular expressions in \TeX{}^^A
+% The \pkg{l3regex} module\\ Regular expressions in \TeX{}^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -52,7 +52,7 @@
% {\begin{itemize}\def\\{\char`\\}\def\makelabel##1{\hss\llap{\ttfamily##1}}}
% {\end{itemize}}
%
-% The \pkg{l3regex} package provides regular expression testing,
+% The \pkg{l3regex} module provides regular expression testing,
% extraction of submatches, splitting, and replacement, all acting
% on token lists. The syntax of regular expressions is mostly a subset
% of the \textsc{pcre} syntax (and very close to \textsc{posix}),
@@ -1377,7 +1377,7 @@
% in the input stream.
% \begin{macrocode}
\cs_new_protected:Npn \@@_break_true:w
- #1 \@@_break_point:TF #2 #3 {#2}
+ #1 \@@_break_point:TF #2 #3 {#2}
\cs_new_protected:Npn \@@_break_point:TF #1 #2 { #2 }
% \end{macrocode}
% \end{macro}
@@ -3510,6 +3510,7 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{variable}{@@_cs}
% \begin{macro}+\@@_compile_}:+
% \begin{macro}{\@@_compile_end_cs:}
% \begin{macro}[EXP]{\@@_compile_cs_aux:Nn, \@@_compile_cs_aux:NNnnnN}
@@ -3592,6 +3593,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{variable}
%
% \subsubsection{Raw token lists with \cs[no-index]{u}}
%
@@ -5354,7 +5356,7 @@
\int_set:Nn \l_@@_curr_pos_int
{ \l_@@_start_pos_int - 1 }
\int_set_eq:NN \l_@@_curr_char_int \l_@@_last_char_success_int
- \tl_build_get:NN \l_@@_matched_analysis_tl \l_@@_internal_a_tl
+ \tl_build_get_intermediate:NN \l_@@_matched_analysis_tl \l_@@_internal_a_tl
\exp_args:NNf \@@_match_once_init_aux:
\tl_map_inline:nn
{ \exp_after:wN \l_@@_internal_a_tl \l_@@_curr_analysis_tl }
@@ -8113,7 +8115,7 @@
\cs_new_protected:Npn \@@_trace_push:nnN #1#2#3
{ \@@_trace:nne {#1} {#2} { entering~ \token_to_str:N #3 } }
\cs_new_protected:Npn \@@_trace_pop:nnN #1#2#3
- { \@@_trace:nne {#1} {#2} { leaving~ \token_to_str:N #3 } }
+ { \@@_trace:nne {#1} {#2} { leaving~ \token_to_str:N #3 } }
\cs_new_protected:Npn \@@_trace:nne #1#2#3
{
\int_compare:nNnF
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index c32985545ae..debdd813974 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3seq} package\\ Sequences and stacks^^A
+% The \pkg{l3seq} module\\ Sequences and stacks^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -1565,10 +1565,10 @@
\if_false: { \fi: }
\tl_set:Nn \l_@@_internal_b_tl {##1}
#1 #2
- { \if_false: } \fi:
- \exp_not:o {#2}
- \tl_if_eq:NNT \l_@@_internal_a_tl \l_@@_internal_b_tl
- { \use_none:nn }
+ { \if_false: } \fi:
+ \exp_not:o {#2}
+ \tl_if_eq:NNT \l_@@_internal_a_tl \l_@@_internal_b_tl
+ { \use_none:nn }
}
\@@_wrap_item:n {##1}
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index cac06a49eaf..226debac9d7 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 LaTeX Project
-% (C) 2012-2023 The LaTeX Project
+% (C) 2012-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3skip} package\\ Dimensions and skips^^A
+% The \pkg{l3skip} module\\ Dimensions and skips^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -2269,8 +2269,8 @@
\prg_new_conditional:Npnn \skip_if_eq:nn #1#2 { p , T , F , TF }
{
\str_if_eq:eeTF { \skip_eval:n {#1} } { \skip_eval:n {#2} }
- { \prg_return_true: }
- { \prg_return_false: }
+ { \prg_return_true: }
+ { \prg_return_false: }
}
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index ab7531a3131..71d28c44332 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-2023 The LaTeX Project
+% Copyright (C) 2012-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3sort} package\\ Sorting functions^^A
+% The \pkg{l3sort} module\\ Sorting functions^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
index ff4cacf868d..90eb26afbbc 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-2023 The LaTeX Project
+% Copyright (C) 2013-2024 The LaTeX 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 @@
%
%
% \title{^^A
-% The \pkg{l3str-convert} package\\ String encoding conversions^^A
+% The \pkg{l3str-convert} module\\ String encoding conversions^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -469,14 +469,14 @@
% \begin{macrocode}
\group_begin:
\__kernel_tl_set:Ne \l_@@_internal_tl { \tl_to_str:n { 0123456789ABCDEF } }
- \tl_map_inline:Nn \l_@@_internal_tl
- {
- \tl_map_inline:Nn \l_@@_internal_tl
- {
- \tl_const:ce { c_@@_byte_ \int_eval:n {"#1##1} _tl }
- { \char_generate:nn { "#1##1 } { 12 } #1 ##1 }
- }
- }
+ \tl_map_inline:Nn \l_@@_internal_tl
+ {
+ \tl_map_inline:Nn \l_@@_internal_tl
+ {
+ \tl_const:ce { c_@@_byte_ \int_eval:n {"#1##1} _tl }
+ { \char_generate:nn { "#1##1 } { 12 } #1 ##1 }
+ }
+ }
\group_end:
\tl_const:cn { c_@@_byte_-1_tl } { { } \use_none:n { } }
% \end{macrocode}
@@ -1818,10 +1818,10 @@
%
% \begin{variable}
% {
-% \l_@@_missing_flag ,
-% \l_@@_extra_flag ,
-% \l_@@_overlong_flag ,
-% \l_@@_overflow_flag ,
+% @@_missing ,
+% @@_extra ,
+% @@_overlong ,
+% @@_overflow ,
% }
% When decoding a string that is purportedly in the \textsc{utf-8}
% encoding, four different errors can occur, signalled by a specific
@@ -2148,9 +2148,9 @@
%
% \begin{variable}
% {
-% \l_@@_missing_flag ,
-% \l_@@_extra_flag ,
-% \l_@@_end_flag ,
+% @@_missing ,
+% @@_extra ,
+% @@_end ,
% }
% When encoding a Unicode string to \textsc{utf-16}, only one error
% can occur: code points in the range $[\hexnum{D800},
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index fa26d53426c..dbb21805167 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3str} package\\ Strings^^A
+% The \pkg{l3str} module\\ Strings^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -2051,9 +2051,9 @@
\int_compare:nNnTF {`#2} < { "E0 }
{ \@@_change_case_codepoint:nNN }
{
- \int_compare:nNnTF {`#2} < { "F0 }
- { \@@_change_case_codepoint:nNNN }
- { \@@_change_case_codepoint:nNNNNN }
+ \int_compare:nNnTF {`#2} < { "F0 }
+ { \@@_change_case_codepoint:nNNN }
+ { \@@_change_case_codepoint:nNNNNN }
}
{#1} #2
}
@@ -2113,7 +2113,7 @@
{
\codepoint_str_generate:n {#2}
\tl_if_blank:nF {#3}
- { \codepoint_str_generate:n {#3} }
+ { \codepoint_str_generate:n {#3} }
}
}
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index 8ae4bbb18d7..0195a6e781c 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-2023 The LaTeX Project
+% Copyright (C) 2015-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3sys} package\\ System/runtime functions^^A
+% The \pkg{l3sys} module\\ System/runtime functions^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -1147,14 +1147,14 @@ end
\sys_if_engine_xetex:TF
{ xetex }
{
- \sys_if_output_pdf:TF
+ \sys_if_output_pdf:TF
{
\sys_if_engine_pdftex:TF
{ pdftex }
{ luatex }
}
{ dvips }
- }
+ }
}
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index b09f9f21082..e5d854ff18c 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-2023 The LaTeX Project
+% Copyright (C) 2020-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3text-case} package\\ Text processing (case changing)^^A
+% The \pkg{l3text-case} module\\ Text processing (case changing)^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -238,7 +238,7 @@
% \begin{macrocode}
\cs_new:Npn \@@_change_case:nnnn #1#2#3#4
{
- \__kernel_exp_not:w \exp_after:wN
+ \__kernel_exp_not:w \exp_after:wN
{
\exp:w
\exp_args:Ne \@@_change_case_auxi:nnnn
@@ -402,10 +402,10 @@
\token_if_eq_meaning:NNTF #4 #5
{
\@@_use_i_delimit_by_q_recursion_stop:nw
- {
- \@@_change_case_store:n {#4}
- \@@_change_case_math_loop:nnnNw {#1} {#2} {#3} #6
- }
+ {
+ \@@_change_case_store:n {#4}
+ \@@_change_case_math_loop:nnnNw {#1} {#2} {#3} #6
+ }
}
{ \@@_change_case_math_search:nnnNNN {#1} {#2} {#3} #4 }
}
@@ -494,8 +494,8 @@
\cs_new:Npn \@@_change_case_exclude:nnnNnn #1#2#3#4#5#6
{
\tl_if_blank:nTF {#5}
- { \@@_change_case_store:n { #4 {#6} } }
- {
+ { \@@_change_case_store:n { #4 {#6} } }
+ {
\@@_change_case_store:o
{
\exp_after:wN #4
@@ -592,7 +592,7 @@
{
\@@_change_case_store:v
{ c_@@_ #1 case_ \token_to_str:N #6 _tl }
- \use:c { @@_change_case_next_ #2 :nnn } {#2} {#4} {#5}
+ \use:c { @@_change_case_next_ #2 :nnn } {#2} {#4} {#5}
}
{
\@@_change_case_store:n {#6}
@@ -786,10 +786,10 @@
\codepoint_generate:nn {#2}
{ \char_value_catcode:n {#2} }
\tl_if_blank:nF {#3}
- {
- \codepoint_generate:nn {#3}
- { \char_value_catcode:n {#3} }
- }
+ {
+ \codepoint_generate:nn {#3}
+ { \char_value_catcode:n {#3} }
+ }
}
}
}
@@ -982,10 +982,10 @@
\@@_codepoint_compare:nNnTF {#5} = { "00DF }
{
\@@_change_case_store:e
- {
- \codepoint_generate:nn { "1E9E }
- { \@@_change_case_catcode:nn {#5} { "1E9E } }
- }
+ {
+ \codepoint_generate:nn { "1E9E }
+ { \@@_change_case_catcode:nn {#5} { "1E9E } }
+ }
\use:c { @@_change_case_next_ #2 :nnn }
{#2} {#3} {#4}
}
@@ -1482,7 +1482,7 @@
\else:
\if_int_compare:w #1 = "1FCF \exp_stop_f:
\prg_return_true:
- \else:
+ \else:
\if_int_compare:w #1 = "1FDD \exp_stop_f:
\prg_return_true:
\else:
@@ -1745,15 +1745,15 @@
\cs_new:Npn \@@_change_case_breathing:nnnnnnw #1#2#3#4#5#6#7 \q_mark
{
\tl_if_blank:nTF {#7}
- {
- \@@_change_case_breathing_aux:nnnnnn
- {#1} {#2} {#3} {#4} {#5} {#6}
- }
- {
- \@@_codepoint_process:nN
- { \@@_change_case_breathing:nnnnnnw {#1} {#2} {#3} {#4} {#5} }
- #7 \q_mark
- }
+ {
+ \@@_change_case_breathing_aux:nnnnnn
+ {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+ {
+ \@@_codepoint_process:nN
+ { \@@_change_case_breathing:nnnnnnw {#1} {#2} {#3} {#4} {#5} }
+ #7 \q_mark
+ }
}
\cs_new:Npn \@@_change_case_breathing_aux:nnnnnn #1#2#3#4#5#6
{
@@ -1786,12 +1786,12 @@
}
\cs_new:Npn \@@_change_case_breathing_dialytika:nnnn #1#2#3#4
{
- \@@_change_case_if_takes_dialytika:nTF {#4}
- {
- \@@_change_case_upper_el_dialytika:n {#4}
- \@@_change_case_loop:nnnw {#1} {#2} {#3}
- }
- { \@@_change_case_loop:nnnw {#1} {#2} {#3} #4 }
+ \@@_change_case_if_takes_dialytika:nTF {#4}
+ {
+ \@@_change_case_upper_el_dialytika:n {#4}
+ \@@_change_case_loop:nnnw {#1} {#2} {#3}
+ }
+ { \@@_change_case_loop:nnnw {#1} {#2} {#3} #4 }
}
% \end{macrocode}
% \end{macro}
@@ -1972,7 +1972,7 @@
\tl_if_head_is_N_type:nTF {#4}
{ \@@_change_case_lower_lt:nnnN }
{ \@@_change_case_loop:nnnw }
- {#1} {#2} {#3} #4 \q_@@_recursion_stop
+ {#1} {#2} {#3} #4 \q_@@_recursion_stop
}
\cs_new:Npn \@@_change_case_lower_lt:nnnN #1#2#3#4
{
@@ -2021,7 +2021,7 @@
% combining char: drop it if present.
% \begin{macrocode}
\cs_new:Npn \@@_change_case_upper_lt:nnnnn #1#2#3#4#5
- {
+ {
\exp_args:Ne \@@_change_case_upper_lt_aux:nnnnn
{
\int_case:nn { \@@_codepoint_from_chars:Nw #5 }
@@ -2031,7 +2031,7 @@
{ "012F } { "012E }
}
}
- {#2} {#3} {#4} {#5}
+ {#2} {#3} {#4} {#5}
}
\cs_new:Npn \@@_change_case_upper_lt_aux:nnnnn #1#2#3#4#5
{
@@ -2320,11 +2320,11 @@
% for the Unicode engines
% \begin{macrocode}
\bool_lazy_or:nnF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
- {
- \text_declare_uppercase_mapping:nn { "01F0 } { \v { J } }
- }
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ {
+ \text_declare_uppercase_mapping:nn { "01F0 } { \v { J } }
+ }
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
index 6dbb1a99508..bec0df29432 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
@@ -2,7 +2,7 @@
%
%% File: l3text-map.dtx
%
-% Copyright (C) 2022-2023 The LaTeX Project
+% Copyright (C) 2022-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3text-map} package\\ Text processing (mapping)^^A
+% The \pkg{l3text-map} module\\ Text processing (mapping)^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
index 854cbb7e265..6f8be11b3ac 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-2023 The LaTeX Project
+% Copyright (C) 2020-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3text-purify} package\\ Text processing (purification)^^A
+% The \pkg{l3text-purify} module\\ Text processing (purification)^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -174,7 +174,7 @@
\token_if_eq_meaning:NNTF #1 #2
{
\@@_use_i_delimit_by_q_recursion_stop:nw
- { \@@_purify_math_start:NNw #2 #3 }
+ { \@@_purify_math_start:NNw #2 #3 }
}
{ \@@_purify_math_search:NNN #1 }
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
index d47eb598253..61de77d6ab7 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-2023 The LaTeX Project
+% Copyright (C) 2020-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3text} package\\ Text processing^^A
+% The \pkg{l3text} module\\ Text processing^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -605,15 +605,15 @@
\if_catcode:w \exp_not:N #1 \c_space_token
10
\else:
- \if_catcode:w \exp_not:N #1 \c_catcode_letter_token
- 11
- \else:
- \if_catcode:w \exp_not:N #1 \c_catcode_other_token
- 12
- \else:
- 13
- \fi:
- \fi:
+ \if_catcode:w \exp_not:N #1 \c_catcode_letter_token
+ 11
+ \else:
+ \if_catcode:w \exp_not:N #1 \c_catcode_other_token
+ 12
+ \else:
+ 13
+ \fi:
+ \fi:
\fi:
\fi:
\fi:
@@ -683,9 +683,9 @@
\int_compare:nNnTF { `#2 } < { "E0 }
{ \@@_codepoint_process:nNN }
{
- \int_compare:nNnTF { `#2 } < { "F0 }
- { \@@_codepoint_process:nNNN }
- { \@@_codepoint_process:nNNNN }
+ \int_compare:nNnTF { `#2 } < { "F0 }
+ { \@@_codepoint_process:nNNN }
+ { \@@_codepoint_process:nNNNN }
}
{#1} #2
}
@@ -1045,10 +1045,10 @@
\token_if_eq_meaning:NNTF #1 #2
{
\@@_use_i_delimit_by_q_recursion_stop:nw
- {
- \@@_expand_store:n {#1}
- \@@_expand_math_loop:Nw #3
- }
+ {
+ \@@_expand_store:n {#1}
+ \@@_expand_math_loop:Nw #3
+ }
}
{ \@@_expand_math_search:NNN #1 }
}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index 14d7bcacb93..99469d92c40 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-2023 The LaTeX Project
+% Copyright (C) 2011-2024 The LaTeX 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 @@
%
%
% \title{^^A
-% The \pkg{l3tl-analysis} package\\ Analysing token lists^^A
+% The \pkg{l3tl-analysis} module\\ Analysing token lists^^A
% }
%
% \author{^^A
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
index ad8e56b7395..645f052d15e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-build.dtx
@@ -2,7 +2,7 @@
%
%% File: l3tl-build.dtx
%
-% Copyright (C) 2018-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3tl-build} package\\ Piecewise \texttt{tl} constructions^^A
+% The \pkg{l3tl-build} module\\ Piecewise \texttt{tl} constructions^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -106,6 +106,17 @@
% \texttt{tl} functions.
% \end{function}
%
+% \begin{function}[added = 2023-12-14]{\tl_build_get_intermediate:NN}
+% \begin{syntax}
+% \cs{tl_build_get_intermediate:NN} \meta{tl~var_1} \meta{tl~var_2}
+% \end{syntax}
+% Stores the contents of the \meta{tl~var_1} in the \meta{tl~var_2}.
+% The \meta{tl~var_1} must have been set up with \cs{tl_build_begin:N}
+% or \cs{tl_build_gbegin:N}. The \meta{tl~var_2} is a
+% \enquote{normal} token list variable, assigned locally using
+% \cs{tl_set:Nn}.
+% \end{function}
+%
% \end{documentation}
%
% \begin{implementation}
@@ -294,6 +305,13 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\tl_build_get_intermediate:NN}
+% \begin{macrocode}
+\cs_new_protected:Npn \tl_build_get_intermediate:NN
+ { \@@_build_get:NNN \__kernel_tl_set:Ne }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_build_get:NNN}
% \begin{macro}{\@@_build_get:w, \@@_build_get_end:w}
% The idea is to expand the \meta{tl~var} then the \meta{next~tl} and
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index 682f2cdcf58..0249c36aefe 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-2023 The LaTeX Project
+% Copyright (C) 1990-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3tl} package\\ Token lists^^A
+% The \pkg{l3tl} module\\ Token lists^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -330,8 +330,13 @@
% \cs{tl_if_novalue_p:n} \Arg{token list}
% \cs{tl_if_novalue:nTF} \Arg{token list} \Arg{true code} \Arg{false code}
% \end{syntax}
-% Tests if the \meta{token list} is exactly equal to the special
-% \cs{c_novalue_tl} marker. This function is intended to allow construction
+% Tests if the \meta{token list} and the special \cs{c_novalue_tl} marker
+% contain the same list of tokens, both in respect of character codes and
+% category codes. This means that
+% \cs{exp_args:No} \cs{tl_if_novalue:nTF} \{ \cs{c_novalue_tl} \} is
+% logically \texttt{true} but \cs{tl_if_novalue:nTF} \{ \cs{c_novalue_tl} \}
+% is logically \texttt{false}.
+% This function is intended to allow construction
% of flexible document interface structures in which missing optional
% arguments are detected.
% \end{function}
@@ -2361,7 +2366,7 @@
\else:
\prg_return_false:
\fi:
- }
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index 30ae67a2052..1f3113a659a 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-2023 The LaTeX Project
+% Copyright (C) 2005-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3token} package\\ Token manipulation^^A
+% The \pkg{l3token} module\\ Token manipulation^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index f2b1983c416..df2a5189dbc 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-2023 The LaTeX Project
+% Copyright (C) 2018-2024 The LaTeX 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 @@
% \fi
%
% \title{^^A
-% The \pkg{l3unicode} package\\ Unicode support functions^^A
+% The \pkg{l3unicode} module\\ Unicode support functions^^A
% }
%
% \author{^^A
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2023-12-11}
+% \date{Released 2024-01-04}
%
% \maketitle
%
@@ -172,7 +172,7 @@
{ ~ }
{ \char_generate:nn {#1} { 12 } }
}
- \cs_new:Npn \codepoint_generate:nn #1#2
+ \cs_new:Npn \codepoint_generate:nn #1#2
{
\int_compare:nNnTF {#1} = { `\ }
{ ~ }
@@ -245,11 +245,11 @@
}
}
}
- \cs_new:Npn \@@_generate:n #1
- {
- \__kernel_exp_not:w \exp_after:wN \exp_after:wN \exp_after:wN
- { \char_generate:nn {#1} { 13 } }
- }
+ \cs_new:Npn \@@_generate:n #1
+ {
+ \__kernel_exp_not:w \exp_after:wN \exp_after:wN \exp_after:wN
+ { \char_generate:nn {#1} { 13 } }
+ }
}
% \end{macrocode}
% \end{macro}
@@ -304,7 +304,7 @@
\@@_to_bytes_outputi:nw
{
\@@_to_bytes_auxii:Nnn F
- {#1} { 64 * 64 * 64 }
+ {#1} { 64 * 64 * 64 }
}
\@@_to_bytes_outputii:nw
{
@@ -628,18 +628,18 @@
% \begin{macrocode}
\cs_set_protected:Npe \@@_data_auxv:nnnnw #1#2#3#4#5 Last> #6 \q_stop
{
- \exp_not:N \tl_if_blank:nTF {#6}
- {
- \exp_not:N \@@_range:nnn {#1} { category }
- { \exp_not:V \l_@@_category_Cn_tl }
- \exp_not:N \@@_range:nnn {#1} { uppercase } { 0 }
- \exp_not:N \@@_range:nnn {#1} { lowercase } { 0 }
- }
- {
- \exp_not:N \@@_range:nnn {#1} { category } {#2}
- \exp_not:N \@@_range:nnn {#1} { uppercase } {#3}
- \exp_not:N \@@_range:nnn {#1} { lowercase } {#4}
- }
+ \exp_not:N \tl_if_blank:nTF {#6}
+ {
+ \exp_not:N \@@_range:nnn {#1} { category }
+ { \exp_not:V \l_@@_category_Cn_tl }
+ \exp_not:N \@@_range:nnn {#1} { uppercase } { 0 }
+ \exp_not:N \@@_range:nnn {#1} { lowercase } { 0 }
+ }
+ {
+ \exp_not:N \@@_range:nnn {#1} { category } {#2}
+ \exp_not:N \@@_range:nnn {#1} { uppercase } {#3}
+ \exp_not:N \@@_range:nnn {#1} { lowercase } {#4}
+ }
}
% \end{macrocode}
% Calculated the length of the range and the space remaining in the current
@@ -676,20 +676,20 @@
\int_compare:nNnT { \clist_count:c { l_@@_ #3 _block_clist } }
= \c_@@_block_size_int
{ \@@_save_blocks:nn {#3} { 1 } }
- \int_compare:nNnF
- { \int_div_truncate:nn { #2 - #1 } \c_@@_block_size_int } = 0
- {
- \tl_set:ce { l_@@_ #3 _block_clist }
- {
- \exp_args:NNe \use:nn \use_none:n
- { \prg_replicate:nn { \c_@@_block_size_int } { , #4 } }
- }
- \@@_save_blocks:nn {#3}
- { \int_div_truncate:nn { (#2 - #1) } \c_@@_block_size_int }
- }
- \prg_replicate:nn
- { \int_mod:nn { #2 - #1 } \c_@@_block_size_int }
- { \clist_put_right:ce { l_@@_ #3 _block_clist } {#4} }
+ \int_compare:nNnF
+ { \int_div_truncate:nn { #2 - #1 } \c_@@_block_size_int } = 0
+ {
+ \tl_set:ce { l_@@_ #3 _block_clist }
+ {
+ \exp_args:NNe \use:nn \use_none:n
+ { \prg_replicate:nn { \c_@@_block_size_int } { , #4 } }
+ }
+ \@@_save_blocks:nn {#3}
+ { \int_div_truncate:nn { (#2 - #1) } \c_@@_block_size_int }
+ }
+ \prg_replicate:nn
+ { \int_mod:nn { #2 - #1 } \c_@@_block_size_int }
+ { \clist_put_right:ce { l_@@_ #3 _block_clist } {#4} }
}
% \end{macrocode}
% To allow rapid comparison, each completed block is stored locally as a
@@ -742,13 +742,13 @@
\@@_range:nnn { 110000 } {##1} { 0 }
\@@_finalise_blocks:n {##1}
}
- }
+ }
\cs_set_protected:Npn \@@_finalise_blocks:n #1
{
\cs_gset_eq:cc { c_@@_ #1 _index_intarray } { g_@@_ #1 _index_intarray }
\cs_undefine:c { g_@@_ #1 _index_intarray }
\intarray_new:cn { g_@@_ #1 _blocks_intarray }
- { ( \tl_use:c { l_@@_ #1 _block_tl } - 1 ) * \c_@@_block_size_int }
+ { ( \tl_use:c { l_@@_ #1 _block_tl } - 1 ) * \c_@@_block_size_int }
\int_step_inline:nn { \tl_use:c { l_@@_ #1 _block_tl } - 1 }
{
\exp_args:Nv \@@_finalise_blocks:nnn
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
index 6b4f83c5dde..afe957ed7e7 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def
@@ -12,7 +12,7 @@
%% l3backend-pdf.dtx (with options: `package,dvipdfmx')
%% l3backend-opacity.dtx (with options: `package,dvipdfmx')
%%
-%% Copyright (C) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvipdfmx.def}{2023-11-09}{}
+ {l3backend-dvipdfmx.def}{2024-01-04}{}
{L3 backend support: dvipdfmx}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -147,9 +147,9 @@
{
/Lab ~
<<
- /WhitePoint ~
- [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
- /Range ~ [ \c__color_model_range_CIELAB_tl ]
+ /WhitePoint ~
+ [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
+ /Range ~ [ \c__color_model_range_CIELAB_tl ]
>>
}
}
@@ -183,7 +183,7 @@
]
}
{ {#3} }
- }
+ }
\use:e
{
\pdf_object_new:n { color \int_use:N \g__color_model_int }
@@ -332,10 +332,10 @@
\dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
c
}
- }
+ }
\cs_new_protected:Npn \__draw_backend_rectangle:nnnn #1#2#3#4
{
- \__draw_backend_literal:e
+ \__draw_backend_literal:e
{
\dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
\dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
@@ -452,7 +452,7 @@
{ \fp_eval:n { atand ( #3 , #2 ) } }
{ \fp_eval:n { atand ( #4 , #1 ) } }
}
- #5
+ #5
}
\cs_new_protected:Npn \__draw_backend_cm_decompose_auxii:nnnnN #1#2#3#4#5
{
@@ -497,7 +497,7 @@
{
\seq_set_from_clist:Nn \l_graphics_search_ext_seq
{ .pdf , .eps , .ps , .png , .jpg , .jpeg , .bmp }
- }
+ }
\__graphics_backend_loaded:n
{
\cs_new_eq:NN \__graphics_backend_getbb_eps:n \__graphics_read_bb:n
@@ -549,7 +549,7 @@
\tl_if_empty:NF \l__graphics_decodearray_str
{ :D \l__graphics_decodearray_str }
\bool_if:NT \l__graphics_interpolate_bool
- { :I }
+ { :I }
}
{#1} {#2}
}
@@ -655,7 +655,7 @@
}
\cs_generate_variant:Nn \__pdf_backend_object_now:nn { ne }
\cs_new:Npn \__pdf_backend_object_last:
- { @pdf.obj \int_use:N \g__pdf_backend_object_int }
+ { @pdf.obj \int_use:N \g__pdf_backend_object_int }
\cs_new:Npn \__pdf_backend_pageobject_ref:n #1
{ @page #1 }
\int_new:N \g__pdf_backend_annotation_int
@@ -673,7 +673,7 @@
}
}
\cs_new:Npn \__pdf_backend_annotation_last:
- { @pdf.obj \int_use:N \g__pdf_backend_annotation_int }
+ { @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 ) >> } }
@@ -684,14 +684,14 @@
\exp_not:N \int_gincr:N \exp_not:N \g__pdf_backend_link_int
\__pdf_backend:e
{
- bann ~
- @pdf.lnk
- \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
- \c_space_tl
- <<
- /Type /Annot
- #1
- >>
+ bann ~
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
+ \c_space_tl
+ <<
+ /Type /Annot
+ #1
+ >>
}
}
\cs_new_protected:Npn \__pdf_backend_link_end:
@@ -806,10 +806,10 @@
\tl_new:N \l__opacity_backend_fill_tl
\tl_new:N \l__opacity_backend_stroke_tl
\cs_new_protected:Npn \__opacity_backend_select:n #1
- {
- \exp_args:Ne \__opacity_backend_select_aux:n
- { \fp_eval:n { min(max(0,#1),1) } }
- }
+ {
+ \exp_args:Ne \__opacity_backend_select_aux:n
+ { \fp_eval:n { min(max(0,#1),1) } }
+ }
\cs_new_protected:Npn \__opacity_backend_select_aux:n #1
{
\tl_set:Nn \l__opacity_backend_fill_tl {#1}
@@ -828,10 +828,10 @@
\cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
}
\cs_new_protected:Npn \__opacity_backend_reset:
- {
- \__kernel_backend_literal_pdf:n
+ {
+ \__kernel_backend_literal_pdf:n
{ /opacity1 ~ gs }
- }
+ }
\cs_new_protected:Npn \__opacity_backend_fill:n #1
{
\__opacity_backend_fill_stroke:ee
@@ -857,8 +857,8 @@
\pdfmanagement_add:nnn { Page / Resources / ExtGState }
{ opacity.stroke #1 }
{ << /CA ~ #2 >> }
- \__kernel_backend_literal_pdf:n
- { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
+ \__kernel_backend_literal_pdf:n
+ { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
\group_insert_after:N \__opacity_backend_reset:
}
}
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
index 3e4cfa337cd..6db01a86274 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvips.def
@@ -12,7 +12,7 @@
%% l3backend-pdf.dtx (with options: `package,dvips')
%% l3backend-opacity.dtx (with options: `package,dvips')
%%
-%% Copyright (C) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvips.def}{2023-11-09}{}
+ {l3backend-dvips.def}{2024-01-04}{}
{L3 backend support: dvips}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -185,9 +185,9 @@
}
\cs_new:Npn \__color_backend_separation_init:nnn #1#2#3
{
- \exp_args:Ne \__color_backend_separation_init:nnnn
- { \__color_backend_separation_init_count:n {#2} }
- {#1} {#2} {#3}
+ \exp_args:Ne \__color_backend_separation_init:nnnn
+ { \__color_backend_separation_init_count:n {#2} }
+ {#1} {#2} {#3}
}
\cs_new:Npn \__color_backend_separation_init_count:n #1
{ \int_eval:n { 0 \__color_backend_separation_init_count:w #1 ~ \s__color_stop } }
@@ -225,15 +225,15 @@
{ \int_eval:n { #1 * 2 } ~ index ~ }
\cs_new:Npn \__color_backend_separation_init:nw #1#2 ~ #3 ~ #4 \s__color_stop
{
- #2 ~ #3 ~
- 2 ~ index ~ 2 ~ index ~ lt ~
- { ~ pop ~ exch ~ pop ~ } ~
- { ~
- 2 ~ index ~ 1 ~ index ~ gt ~
- { ~ exch ~ pop ~ exch ~ pop ~ } ~
- { ~ pop ~ pop ~ } ~
- ifelse ~
- }
+ #2 ~ #3 ~
+ 2 ~ index ~ 2 ~ index ~ lt ~
+ { ~ pop ~ exch ~ pop ~ } ~
+ { ~
+ 2 ~ index ~ 1 ~ index ~ gt ~
+ { ~ exch ~ pop ~ exch ~ pop ~ } ~
+ { ~ pop ~ pop ~ } ~
+ ifelse ~
+ }
ifelse ~
#1 ~ 1 ~ roll ~
\tl_if_blank:nF {#4}
@@ -365,9 +365,9 @@
{ \fp_eval:n { round ( -(#2) , 5 ) } } ~
rotate
}
- \__kernel_backend_align_end:
- \box_use:N #1
- \__kernel_backend_scope_end:
+ \__kernel_backend_align_end:
+ \box_use:N #1
+ \__kernel_backend_scope_end:
}
\cs_new_protected:Npn \__box_backend_scale:Nnn #1#2#3
{
@@ -418,11 +418,11 @@
}
\cs_new_protected:Npn \__draw_backend_rectangle:nnnn #1#2#3#4
{
- \__draw_backend_literal:e
- {
- \dim_to_decimal_in_bp:n {#4} ~ \dim_to_decimal_in_bp:n {#3} ~
- \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
- moveto~dup~0~rlineto~exch~0~exch~rlineto~neg~0~rlineto~closepath
+ \__draw_backend_literal:e
+ {
+ \dim_to_decimal_in_bp:n {#4} ~ \dim_to_decimal_in_bp:n {#3} ~
+ \dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
+ moveto~dup~0~rlineto~exch~0~exch~rlineto~neg~0~rlineto~closepath
}
}
\cs_new_protected:Npn \__draw_backend_curveto:nnnnnn #1#2#3#4#5#6
@@ -434,7 +434,7 @@
\dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
curveto
}
- }
+ }
\cs_new_protected:Npn \__draw_backend_evenodd_rule:
{ \bool_gset_true:N \g__draw_draw_eor_bool }
\cs_new_protected:Npn \__draw_backend_nonzero_rule:
@@ -787,9 +787,9 @@
\hbox_set:Nn \l__pdf_backend_model_box { Gg }
\exp_args:Ne \__pdf_backend_link_outerbox:n
{
- \int_if_odd:nTF { \value { page } }
- { \oddsidemargin }
- { \evensidemargin }
+ \int_if_odd:nTF { \value { page } }
+ { \oddsidemargin }
+ { \evensidemargin }
}
\box_move_down:nn { \box_dp:N \l__pdf_backend_content_box }
{ \hbox:n { \__kernel_backend_postscript:n { pdf.save.linkll } } }
@@ -981,7 +981,7 @@
\__kernel_backend_literal_postscript:n
{
/setdistillerparams ~ where
- { pop << /CompressPages ~ false >> setdistillerparams }
+ { pop << /CompressPages ~ false >> setdistillerparams }
if
}
}
@@ -993,7 +993,7 @@
\__kernel_backend_literal_postscript:n
{
/setdistillerparams ~ where
- { pop << /CompressStreams ~ false >> setdistillerparams }
+ { pop << /CompressStreams ~ false >> setdistillerparams }
if
}
}
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
index f129e35165f..f4b98af1bec 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-dvisvgm.def
@@ -12,7 +12,7 @@
%% l3backend-pdf.dtx (with options: `package,dvisvgm')
%% l3backend-opacity.dtx (with options: `package,dvisvgm')
%%
-%% Copyright (C) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-dvisvgm.def}{2023-11-09}{}
+ {l3backend-dvisvgm.def}{2024-01-04}{}
{L3 backend support: dvisvgm}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -181,14 +181,14 @@
\__kernel_backend_scope:n
{
stroke =
- "
- rgb
- (
- #1 \c_percent_str ,
- #2 \c_percent_str ,
- #3 \c_percent_str
- )
- "
+ "
+ rgb
+ (
+ #1 \c_percent_str ,
+ #2 \c_percent_str ,
+ #3 \c_percent_str
+ )
+ "
}
}
\cs_new_protected:Npn \__color_backend_fill_separation:nn #1#2 { }
@@ -450,8 +450,8 @@
{
\__kernel_backend_scope:n
{
- transform =
- " matrix ( #1 , #2 , #3 , #4 , 0pt , 0pt ) "
+ transform =
+ " matrix ( #1 , #2 , #3 , #4 , 0pt , 0pt ) "
}
}
\cs_new_protected:Npn \__draw_backend_box_use:Nnnnn #1#2#3#4#5
@@ -544,7 +544,7 @@
{ \__graphics_backend_getbb_svg_auxiv:Nw #2 }
{ \__graphics_backend_getbb_svg_auxv:Nw #2 }
}
- }
+ }
##2 \s__graphics_stop
}
}
@@ -553,7 +553,7 @@
\__graphics_backend_getbb_svg_auxii:w #3
\tl_to_str:n {#1} = \tl_to_str:n {#1} =
\s__graphics_stop
- }
+ }
}
\cs_new_protected:Npn \__graphics_backend_getbb_svg_auxii:w { }
\cs_new_protected:Npn \__graphics_backend_getbb_svg_auxiii:Nw #1 ' #2 ' #3 \s__graphics_stop
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
index 9a258eedb44..7130f0ed0c6 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.def
@@ -12,7 +12,7 @@
%% l3backend-pdf.dtx (with options: `package,luatex')
%% l3backend-opacity.dtx (with options: `package,luatex')
%%
-%% Copyright (C) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-luatex.def}{2023-11-09}{}
+ {l3backend-luatex.def}{2024-01-04}{}
{L3 backend support: PDF output (LuaTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -203,9 +203,9 @@
{
/Lab ~
<<
- /WhitePoint ~
- [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
- /Range ~ [ \c__color_model_range_CIELAB_tl ]
+ /WhitePoint ~
+ [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
+ /Range ~ [ \c__color_model_range_CIELAB_tl ]
>>
}
}
@@ -239,7 +239,7 @@
]
}
{ {#3} }
- }
+ }
\use:e
{
\pdf_object_new:n { color \int_use:N \g__color_model_int }
@@ -365,8 +365,8 @@
\c_space_tl
\fp_use:N \l__box_backend_cos_fp
}
- \box_use:N #1
- \__kernel_backend_scope_end:
+ \box_use:N #1
+ \__kernel_backend_scope_end:
}
\fp_new:N \l__box_backend_cos_fp
\fp_new:N \l__box_backend_sin_fp
@@ -410,10 +410,10 @@
\dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
c
}
- }
+ }
\cs_new_protected:Npn \__draw_backend_rectangle:nnnn #1#2#3#4
{
- \__draw_backend_literal:e
+ \__draw_backend_literal:e
{
\dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
\dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
@@ -613,7 +613,7 @@
}
}
{#1}
- }
+ }
\cs_new_eq:NN \__graphics_backend_getbb_ps:n \__graphics_backend_getbb_eps:n
\cs_new_protected:Npn \__graphics_backend_getbb_eps:nn #1#2
{
@@ -848,10 +848,10 @@
\tl_new:N \l__opacity_backend_fill_tl
\tl_new:N \l__opacity_backend_stroke_tl
\cs_new_protected:Npn \__opacity_backend_select:n #1
- {
- \exp_args:Ne \__opacity_backend_select_aux:n
- { \fp_eval:n { min(max(0,#1),1) } }
- }
+ {
+ \exp_args:Ne \__opacity_backend_select_aux:n
+ { \fp_eval:n { min(max(0,#1),1) } }
+ }
\cs_new_protected:Npn \__opacity_backend_select_aux:n #1
{
\tl_set:Nn \l__opacity_backend_fill_tl {#1}
@@ -870,9 +870,9 @@
\cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
}
\cs_new_protected:Npn \__opacity_backend_reset:
- {
+ {
\__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int
- }
+ }
\cs_new_protected:Npn \__opacity_backend_fill:n #1
{
\__opacity_backend_fill_stroke:ee
@@ -898,8 +898,8 @@
\pdfmanagement_add:nnn { Page / Resources / ExtGState }
{ opacity.stroke #1 }
{ << /CA ~ #2 >> }
- \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
- { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
+ \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+ { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
\group_insert_after:N \__opacity_backend_reset:
}
}
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua
index b05c93a2b53..ef34f055780 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-luatex.lua
@@ -7,7 +7,7 @@
-- l3backend-color.dtx (with options: `lua')
-- l3backend-opacity.dtx (with options: `lua')
--
--- Copyright (C) 2023 The LaTeX Project
+-- Copyright (C) 2023,2024 The LaTeX 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/l3backend/l3backend-pdftex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
index 8db284d7615..d53a8f49dae 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
@@ -12,7 +12,7 @@
%% l3backend-pdf.dtx (with options: `package,pdftex')
%% l3backend-opacity.dtx (with options: `package,pdftex')
%%
-%% Copyright (C) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-pdftex.def}{2023-11-09}{}
+ {l3backend-pdftex.def}{2024-01-04}{}
{L3 backend support: PDF output (pdfTeX)}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -203,9 +203,9 @@
{
/Lab ~
<<
- /WhitePoint ~
- [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
- /Range ~ [ \c__color_model_range_CIELAB_tl ]
+ /WhitePoint ~
+ [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
+ /Range ~ [ \c__color_model_range_CIELAB_tl ]
>>
}
}
@@ -239,7 +239,7 @@
]
}
{ {#3} }
- }
+ }
\use:e
{
\pdf_object_new:n { color \int_use:N \g__color_model_int }
@@ -364,8 +364,8 @@
\c_space_tl
\fp_use:N \l__box_backend_cos_fp
}
- \box_use:N #1
- \__kernel_backend_scope_end:
+ \box_use:N #1
+ \__kernel_backend_scope_end:
}
\fp_new:N \l__box_backend_cos_fp
\fp_new:N \l__box_backend_sin_fp
@@ -409,10 +409,10 @@
\dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
c
}
- }
+ }
\cs_new_protected:Npn \__draw_backend_rectangle:nnnn #1#2#3#4
{
- \__draw_backend_literal:e
+ \__draw_backend_literal:e
{
\dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
\dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
@@ -612,7 +612,7 @@
}
}
{#1}
- }
+ }
\cs_new_eq:NN \__graphics_backend_getbb_ps:n \__graphics_backend_getbb_eps:n
\cs_new_protected:Npn \__graphics_backend_getbb_eps:nn #1#2
{
@@ -847,10 +847,10 @@
\tl_new:N \l__opacity_backend_fill_tl
\tl_new:N \l__opacity_backend_stroke_tl
\cs_new_protected:Npn \__opacity_backend_select:n #1
- {
- \exp_args:Ne \__opacity_backend_select_aux:n
- { \fp_eval:n { min(max(0,#1),1) } }
- }
+ {
+ \exp_args:Ne \__opacity_backend_select_aux:n
+ { \fp_eval:n { min(max(0,#1),1) } }
+ }
\cs_new_protected:Npn \__opacity_backend_select_aux:n #1
{
\tl_set:Nn \l__opacity_backend_fill_tl {#1}
@@ -869,9 +869,9 @@
\cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
}
\cs_new_protected:Npn \__opacity_backend_reset:
- {
+ {
\__kernel_color_backend_stack_pop:n \c__opacity_backend_stack_int
- }
+ }
\cs_new_protected:Npn \__opacity_backend_fill:n #1
{
\__opacity_backend_fill_stroke:ee
@@ -897,8 +897,8 @@
\pdfmanagement_add:nnn { Page / Resources / ExtGState }
{ opacity.stroke #1 }
{ << /CA ~ #2 >> }
- \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
- { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
+ \__kernel_color_backend_stack_push:nn \c__opacity_backend_stack_int
+ { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
\group_insert_after:N \__opacity_backend_reset:
}
}
diff --git a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
index 912f09d4248..1c208ea2c34 100644
--- a/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
+++ b/Master/texmf-dist/tex/latex/l3backend/l3backend-xetex.def
@@ -12,7 +12,7 @@
%% l3backend-pdf.dtx (with options: `package,xetex')
%% l3backend-opacity.dtx (with options: `package,xetex')
%%
-%% Copyright (C) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -26,7 +26,7 @@
%%
%% File: l3backend-basics.dtx
\ProvidesExplFile
- {l3backend-xetex.def}{2023-11-09}{}
+ {l3backend-xetex.def}{2024-01-04}{}
{L3 backend support: XeTeX}
\cs_if_exist:NTF \__kernel_dependency_version_check:nn
{
@@ -147,9 +147,9 @@
{
/Lab ~
<<
- /WhitePoint ~
- [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
- /Range ~ [ \c__color_model_range_CIELAB_tl ]
+ /WhitePoint ~
+ [ \tl_use:c { c__color_model_whitepoint_CIELAB_ #1 _tl } ]
+ /Range ~ [ \c__color_model_range_CIELAB_tl ]
>>
}
}
@@ -183,7 +183,7 @@
]
}
{ {#3} }
- }
+ }
\use:e
{
\pdf_object_new:n { color \int_use:N \g__color_model_int }
@@ -332,10 +332,10 @@
\dim_to_decimal_in_bp:n {#5} ~ \dim_to_decimal_in_bp:n {#6} ~
c
}
- }
+ }
\cs_new_protected:Npn \__draw_backend_rectangle:nnnn #1#2#3#4
{
- \__draw_backend_literal:e
+ \__draw_backend_literal:e
{
\dim_to_decimal_in_bp:n {#1} ~ \dim_to_decimal_in_bp:n {#2} ~
\dim_to_decimal_in_bp:n {#3} ~ \dim_to_decimal_in_bp:n {#4} ~
@@ -452,7 +452,7 @@
{ \fp_eval:n { atand ( #3 , #2 ) } }
{ \fp_eval:n { atand ( #4 , #1 ) } }
}
- #5
+ #5
}
\cs_new_protected:Npn \__draw_backend_cm_decompose_auxii:nnnnN #1#2#3#4#5
{
@@ -497,7 +497,7 @@
{
\seq_set_from_clist:Nn \l_graphics_search_ext_seq
{ .pdf , .eps , .ps , .png , .jpg , .jpeg , .bmp }
- }
+ }
\__graphics_backend_loaded:n
{
\cs_new_eq:NN \__graphics_backend_getbb_eps:n \__graphics_read_bb:n
@@ -532,7 +532,7 @@
\tl_if_empty:NF \l__graphics_decodearray_str
{ :D \l__graphics_decodearray_str }
\bool_if:NT \l__graphics_interpolate_bool
- { :I }
+ { :I }
}
{#1} {#2}
}
@@ -709,7 +709,7 @@
}
\cs_generate_variant:Nn \__pdf_backend_object_now:nn { ne }
\cs_new:Npn \__pdf_backend_object_last:
- { @pdf.obj \int_use:N \g__pdf_backend_object_int }
+ { @pdf.obj \int_use:N \g__pdf_backend_object_int }
\cs_new:Npn \__pdf_backend_pageobject_ref:n #1
{ @page #1 }
\int_new:N \g__pdf_backend_annotation_int
@@ -727,7 +727,7 @@
}
}
\cs_new:Npn \__pdf_backend_annotation_last:
- { @pdf.obj \int_use:N \g__pdf_backend_annotation_int }
+ { @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 ) >> } }
@@ -738,14 +738,14 @@
\exp_not:N \int_gincr:N \exp_not:N \g__pdf_backend_link_int
\__pdf_backend:e
{
- bann ~
- @pdf.lnk
- \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
- \c_space_tl
- <<
- /Type /Annot
- #1
- >>
+ bann ~
+ @pdf.lnk
+ \exp_not:N \int_use:N \exp_not:N \g__pdf_backend_link_int
+ \c_space_tl
+ <<
+ /Type /Annot
+ #1
+ >>
}
}
\cs_new_protected:Npn \__pdf_backend_link_end:
@@ -853,10 +853,10 @@
\tl_new:N \l__opacity_backend_fill_tl
\tl_new:N \l__opacity_backend_stroke_tl
\cs_new_protected:Npn \__opacity_backend_select:n #1
- {
- \exp_args:Ne \__opacity_backend_select_aux:n
- { \fp_eval:n { min(max(0,#1),1) } }
- }
+ {
+ \exp_args:Ne \__opacity_backend_select_aux:n
+ { \fp_eval:n { min(max(0,#1),1) } }
+ }
\cs_new_protected:Npn \__opacity_backend_select_aux:n #1
{
\tl_set:Nn \l__opacity_backend_fill_tl {#1}
@@ -875,10 +875,10 @@
\cs_gset_protected:Npn \__opacity_backend_select_aux:n #1 { }
}
\cs_new_protected:Npn \__opacity_backend_reset:
- {
- \__kernel_backend_literal_pdf:n
+ {
+ \__kernel_backend_literal_pdf:n
{ /opacity1 ~ gs }
- }
+ }
\cs_new_protected:Npn \__opacity_backend_fill:n #1
{
\__opacity_backend_fill_stroke:ee
@@ -904,8 +904,8 @@
\pdfmanagement_add:nnn { Page / Resources / ExtGState }
{ opacity.stroke #1 }
{ << /CA ~ #2 >> }
- \__kernel_backend_literal_pdf:n
- { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
+ \__kernel_backend_literal_pdf:n
+ { /opacity.fill #1 ~ gs /opacity.stroke #2 ~ gs }
\group_insert_after:N \__opacity_backend_reset:
}
}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
index 61df68cb427..433092f94e3 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
@@ -6,7 +6,7 @@
%%
%% l3benchmark.dtx (with options: `package')
%%
-%% Copyright (C) 2018-2023 The LaTeX Project
+%% Copyright (C) 2018-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2023-12-08}{}
+\ProvidesExplPackage{l3benchmark}{2024-01-04}{}
{L3 Experimental benchmarking}
\fp_new:N \g_benchmark_duration_target_fp
\fp_gset:Nn \g_benchmark_duration_target_fp { 1 }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
index bca4f693965..15e008bfbe1 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
@@ -14,7 +14,7 @@
%% l3draw-state.dtx (with options: `package')
%% l3draw-transforms.dtx (with options: `package')
%%
-%% Copyright (C) 2018-2023 The LaTeX Project
+%% Copyright (C) 2018-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -29,7 +29,7 @@
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2023-12-08}{}
+\ProvidesExplPackage{l3draw}{2024-01-04}{}
{L3 Experimental core drawing support}
\scan_new:N \s__draw_mark
\scan_new:N \s__draw_stop
@@ -287,9 +287,9 @@
}
\cs_new_protected:Npn \__draw_path_moveto:nn #1#2
{
- \__draw_path_update_limits:nn {#1} {#2}
- \__draw_softpath_moveto:nn {#1} {#2}
- \__draw_path_update_last:nn {#1} {#2}
+ \__draw_path_update_limits:nn {#1} {#2}
+ \__draw_softpath_moveto:nn {#1} {#2}
+ \__draw_path_update_last:nn {#1} {#2}
}
\cs_new_protected:Npn \draw_path_lineto:n #1
{
@@ -299,10 +299,10 @@
}
\cs_new_protected:Npn \__draw_path_lineto:nn #1#2
{
- \__draw_path_mark_corner:
- \__draw_path_update_limits:nn {#1} {#2}
- \__draw_softpath_lineto:nn {#1} {#2}
- \__draw_path_update_last:nn {#1} {#2}
+ \__draw_path_mark_corner:
+ \__draw_path_update_limits:nn {#1} {#2}
+ \__draw_softpath_lineto:nn {#1} {#2}
+ \__draw_path_update_last:nn {#1} {#2}
}
\cs_new_protected:Npn \draw_path_curveto:nnn #1#2#3
{
@@ -317,11 +317,11 @@
}
\cs_new_protected:Npn \__draw_path_curveto:nnnnnn #1#2#3#4#5#6
{
- \__draw_path_update_limits:nn {#1} {#2}
- \__draw_path_update_limits:nn {#3} {#4}
- \__draw_path_update_limits:nn {#5} {#6}
- \__draw_softpath_curveto:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6}
- \__draw_path_update_last:nn {#5} {#6}
+ \__draw_path_update_limits:nn {#1} {#2}
+ \__draw_path_update_limits:nn {#3} {#4}
+ \__draw_path_update_limits:nn {#5} {#6}
+ \__draw_softpath_curveto:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6}
+ \__draw_path_update_last:nn {#5} {#6}
}
\cs_new_protected:Npn \draw_path_close:
{
@@ -354,32 +354,32 @@
\fp_set:Nn \l__draw_path_tmpb_fp { \c__draw_path_curveto_b_fp * #2 }
\use:e
{
- \__draw_path_mark_corner:
- \__draw_path_curveto:nnnnnn
- {
- \fp_to_dim:n
- {
- \c__draw_path_curveto_a_fp * \g__draw_path_lastx_dim
- + \l__draw_path_tmpa_fp
- }
- }
- {
- \fp_to_dim:n
- {
- \c__draw_path_curveto_a_fp * \g__draw_path_lasty_dim
- + \l__draw_path_tmpb_fp
- }
- }
- {
- \fp_to_dim:n
- { \c__draw_path_curveto_a_fp * #3 + \l__draw_path_tmpa_fp }
- }
- {
- \fp_to_dim:n
- { \c__draw_path_curveto_a_fp * #4 + \l__draw_path_tmpb_fp }
- }
- {#3}
- {#4}
+ \__draw_path_mark_corner:
+ \__draw_path_curveto:nnnnnn
+ {
+ \fp_to_dim:n
+ {
+ \c__draw_path_curveto_a_fp * \g__draw_path_lastx_dim
+ + \l__draw_path_tmpa_fp
+ }
+ }
+ {
+ \fp_to_dim:n
+ {
+ \c__draw_path_curveto_a_fp * \g__draw_path_lasty_dim
+ + \l__draw_path_tmpb_fp
+ }
+ }
+ {
+ \fp_to_dim:n
+ { \c__draw_path_curveto_a_fp * #3 + \l__draw_path_tmpa_fp }
+ }
+ {
+ \fp_to_dim:n
+ { \c__draw_path_curveto_a_fp * #4 + \l__draw_path_tmpb_fp }
+ }
+ {#3}
+ {#4}
}
}
\fp_const:Nn \c__draw_path_curveto_a_fp { 1 / 3 }
@@ -395,7 +395,7 @@
{ \fp_eval:n {#2} }
{ \fp_to_dim:n {#3} }
{ \fp_to_dim:n {#4} }
- }
+ }
}
\cs_new_protected:Npn \__draw_path_arc:nnnn #1#2#3#4
{
@@ -411,14 +411,14 @@
{
\fp_compare:nNnTF \l__draw_path_arc_delta_fp > { 115 }
{
- \__draw_path_arc_auxi:ffnnNnn
+ \__draw_path_arc_auxi:eennNnn
{ \fp_to_decimal:N \l__draw_path_arc_start_fp }
{ \fp_eval:n { \l__draw_path_arc_start_fp #3 90 } }
{ 90 } {#2}
#3 {#4} {#5}
}
{
- \__draw_path_arc_auxi:ffnnNnn
+ \__draw_path_arc_auxi:eennNnn
{ \fp_to_decimal:N \l__draw_path_arc_start_fp }
{ \fp_eval:n { \l__draw_path_arc_start_fp #3 60 } }
{ 60 } {#2}
@@ -426,7 +426,7 @@
}
}
\__draw_path_mark_corner:
- \__draw_path_arc_auxi:fnfnNnn
+ \__draw_path_arc_auxi:enenNnn
{ \fp_to_decimal:N \l__draw_path_arc_start_fp }
{#2}
{ \fp_eval:n { abs( \l__draw_path_arc_start_fp - #2 ) } }
@@ -459,7 +459,7 @@
}
}
}
-\cs_generate_variant:Nn \__draw_path_arc_auxi:nnnnNnn { fnf , ff }
+\cs_generate_variant:Nn \__draw_path_arc_auxi:nnnnNnn { ene , ee }
\cs_new_protected:Npn \__draw_path_arc_auxii:nnnNnnnn #1#2#3#4#5#6#7#8
{
\tl_clear:N \l__draw_path_tmp_tl
@@ -605,7 +605,7 @@
{ \__draw_path_rectangle_rounded:nnnn }
{ \__draw_path_rectangle:nnnn }
}
- { \draw_point_transform:n {#1} }
+ {#1}
{#2}
}
\cs_new_protected:Npn \__draw_path_rectangle:nnnn #1#2#3#4
@@ -636,7 +636,7 @@
{
\__draw_point_process:nnn
{
- \__draw_path_grid_auxi:ffnnnn
+ \__draw_path_grid_auxi:eennnn
{ \dim_eval:n { \dim_abs:n {#1} } }
{ \dim_eval:n { \dim_abs:n {#2} } }
}
@@ -648,7 +648,7 @@
{ \__draw_path_grid_auxii:nnnnnn {#1} {#2} {#5} {#4} {#3} {#6} }
{ \__draw_path_grid_auxii:nnnnnn {#1} {#2} {#3} {#4} {#5} {#6} }
}
-\cs_generate_variant:Nn \__draw_path_grid_auxi:nnnnnn { ff }
+\cs_generate_variant:Nn \__draw_path_grid_auxi:nnnnnn { ee }
\cs_new_protected:Npn \__draw_path_grid_auxii:nnnnnn #1#2#3#4#5#6
{
\dim_compare:nNnTF {#4} > {#6}
@@ -657,7 +657,7 @@
}
\cs_new_protected:Npn \__draw_path_grid_auxiii:nnnnnn #1#2#3#4#5#6
{
- \__draw_path_grid_auxiv:ffnnnnnn
+ \__draw_path_grid_auxiv:eennnnnn
{ \fp_to_dim:n { #1 * trunc(#3/(#1)) } }
{ \fp_to_dim:n { #2 * trunc(#4/(#2)) } }
{#1} {#2} {#3} {#4} {#5} {#6}
@@ -681,7 +681,7 @@
\draw_path_lineto:n { #7 , ##1 }
}
}
-\cs_generate_variant:Nn \__draw_path_grid_auxiv:nnnnnnnn { ff }
+\cs_generate_variant:Nn \__draw_path_grid_auxiv:nnnnnnnn { ee }
\bool_new:N \l__draw_path_use_clip_bool
\bool_new:N \l__draw_path_use_fill_bool
\bool_new:N \l__draw_path_use_stroke_bool
@@ -702,7 +702,7 @@
\__draw_path_reset_limits:
}
{ \__draw_path_use:n { #1 , clear } }
- }
+ }
\cs_new_protected:Npn \__draw_path_use:n #1
{
\bool_set_false:N \l__draw_path_use_clip_bool
@@ -820,28 +820,30 @@
%% File: l3draw-points.dtx
\cs_new:Npn \__draw_point_process:nn #1#2
{
- \exp_args:Nf \__draw_point_process_auxi:nn
+ \__draw_point_process_auxi:en
{ \draw_point:n {#2} }
{#1}
}
\cs_new:Npn \__draw_point_process_auxi:nn #1#2
{ \__draw_point_process_auxii:nw {#2} #1 \s__draw_stop }
+\cs_generate_variant:Nn \__draw_point_process_auxi:nn { e }
\cs_new:Npn \__draw_point_process_auxii:nw #1 #2 , #3 \s__draw_stop
{ #1 {#2} {#3} }
\cs_new:Npn \__draw_point_process:nnn #1#2#3
{
- \exp_args:Nff \__draw_point_process_auxiii:nnn
+ \__draw_point_process_auxiii:een
{ \draw_point:n {#2} }
{ \draw_point:n {#3} }
{#1}
}
\cs_new:Npn \__draw_point_process_auxiii:nnn #1#2#3
{ \__draw_point_process_auxiv:nw {#3} #1 \s__draw_mark #2 \s__draw_stop }
+\cs_generate_variant:Nn \__draw_point_process_auxiii:nnn { ee }
\cs_new:Npn \__draw_point_process_auxiv:nw #1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_stop
{ #1 {#2} {#3} {#4} {#5} }
\cs_new:Npn \__draw_point_process:nnnn #1#2#3#4
{
- \exp_args:Nfff \__draw_point_process_auxv:nnnn
+ \__draw_point_process_auxv:eeen
{ \draw_point:n {#2} }
{ \draw_point:n {#3} }
{ \draw_point:n {#4} }
@@ -849,12 +851,13 @@
}
\cs_new:Npn \__draw_point_process_auxv:nnnn #1#2#3#4
{ \__draw_point_process_auxvi:nw {#4} #1 \s__draw_mark #2 \s__draw_mark #3 \s__draw_stop }
+\cs_generate_variant:Nn \__draw_point_process_auxv:nnnn { eee }
\cs_new:Npn \__draw_point_process_auxvi:nw
#1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_mark #6 , #7 \s__draw_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} }
\cs_new:Npn \__draw_point_process:nnnnn #1#2#3#4#5
{
- \exp_args:Nffff \__draw_point_process_auxvii:nnnnn
+ \__draw_point_process_auxvii:eeeen
{ \draw_point:n {#2} }
{ \draw_point:n {#3} }
{ \draw_point:n {#4} }
@@ -866,27 +869,28 @@
\__draw_point_process_auxviii:nw
{#5} #1 \s__draw_mark #2 \s__draw_mark #3 \s__draw_mark #4 \s__draw_stop
}
+\cs_generate_variant:Nn \__draw_point_process_auxvii:nnnnn { eeee }
\cs_new:Npn \__draw_point_process_auxviii:nw
#1 #2 , #3 \s__draw_mark #4 , #5 \s__draw_mark #6 , #7 \s__draw_mark #8 , #9 \s__draw_stop
{ #1 {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9} }
\cs_new:Npn \draw_point:n #1
- { \__draw_point_to_dim:f { \fp_eval:n {#1} } }
+ { \__draw_point_to_dim:e { \fp_eval:n {#1} } }
\cs_new:Npn \__draw_point_to_dim:n #1
{ \__draw_point_to_dim:w #1 }
-\cs_generate_variant:Nn \__draw_point_to_dim:n { f }
+\cs_generate_variant:Nn \__draw_point_to_dim:n { e }
\cs_new:Npn \__draw_point_to_dim:w ( #1 , ~ #2 ) { #1pt , #2pt }
\cs_new:Npn \draw_point_polar:nn #1#2
{ \draw_point_polar:nnn {#1} {#1} {#2} }
\cs_new:Npn \draw_point_polar:nnn #1#2#3
- { \__draw_draw_polar:fnn { \fp_eval:n {#3} } {#1} {#2} }
+ { \__draw_draw_polar:enn { \fp_eval:n {#3} } {#1} {#2} }
\cs_new:Npn \__draw_draw_polar:nnn #1#2#3
{ \draw_point:n { cosd(#1) * (#2) , sind(#1) * (#3) } }
-\cs_generate_variant:Nn \__draw_draw_polar:nnn { f }
+\cs_generate_variant:Nn \__draw_draw_polar:nnn { e }
\cs_new:Npn \draw_point_unit_vector:n #1
{ \__draw_point_process:nn { \__draw_point_unit_vector:nn } {#1} }
\cs_new:Npn \__draw_point_unit_vector:nn #1#2
{
- \exp_args:Nf \__draw_point_unit_vector:nnn
+ \__draw_point_unit_vector:nnn
{ \fp_eval:n { (sqrt(#1 * #1 + #2 * #2)) } }
{#1} {#2}
}
@@ -899,6 +903,7 @@
{ ( #2 , #3 ) / #1 }
}
}
+\cs_generate_variant:Nn \__draw_point_unit_vector:nnn { e }
\cs_new:Npn \draw_point_intersect_lines:nnnn #1#2#3#4
{
\__draw_point_process:nnnnn
@@ -907,7 +912,7 @@
}
\cs_new:Npn \__draw_point_intersect_lines:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_intersect_lines_aux:ffffff
+ \__draw_point_intersect_lines_aux:eeeeee
{ \fp_eval:n { #1 * #4 - #2 * #3 } }
{ \fp_eval:n { #5 * #8 - #6 * #7 } }
{ \fp_eval:n { #1 - #3 } }
@@ -923,7 +928,7 @@
/ ( #4 * #5 - #6 * #3 )
}
}
-\cs_generate_variant:Nn \__draw_point_intersect_lines_aux:nnnnnn { ffffff }
+\cs_generate_variant:Nn \__draw_point_intersect_lines_aux:nnnnnn { eeeeee }
\cs_new:Npn \draw_point_intersect_circles:nnnnn #1#2#3#4#5
{
\__draw_point_process:nnn
@@ -932,54 +937,54 @@
}
\cs_new:Npn \__draw_point_intersect_circles_auxi:nnnnnnn #1#2#3#4#5#6#7
{
- \__draw_point_intersect_circles_auxii:ffnnnnn
+ \__draw_point_intersect_circles_auxii:eennnnn
{ \fp_eval:n {#1} } { \fp_eval:n {#2} } {#4} {#5} {#6} {#7} {#3}
}
\cs_new:Npn \__draw_point_intersect_circles_auxii:nnnnnnn #1#2#3#4#5#6#7
{
- \__draw_point_intersect_circles_auxiii:ffnnnnn
+ \__draw_point_intersect_circles_auxiii:eennnnn
{ \fp_eval:n { #5 - #3 } }
{ \fp_eval:n { #6 - #4 } }
{#1} {#2} {#3} {#4} {#7}
}
-\cs_generate_variant:Nn \__draw_point_intersect_circles_auxii:nnnnnnn { ff }
+\cs_generate_variant:Nn \__draw_point_intersect_circles_auxii:nnnnnnn { ee }
\cs_new:Npn \__draw_point_intersect_circles_auxiii:nnnnnnn #1#2#3#4#5#6#7
{
- \__draw_point_intersect_circles_auxiv:fnnnnnnn
+ \__draw_point_intersect_circles_auxiv:ennnnnnn
{ \fp_eval:n { sqrt( #1 * #1 + #2 * #2 ) } }
{#1} {#2} {#3} {#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiii:nnnnnnn { ff }
+\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiii:nnnnnnn { ee }
\cs_new:Npn \__draw_point_intersect_circles_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_intersect_circles_auxv:ffnnnnnnn
+ \__draw_point_intersect_circles_auxv:eennnnnnn
{ \fp_eval:n { 1 / #1 } }
{ \fp_eval:n { #4 * #4 } }
{#1} {#2} {#3} {#5} {#6} {#7} {#8}
}
-\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiv:nnnnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_intersect_circles_auxiv:nnnnnnnn { e }
\cs_new:Npn \__draw_point_intersect_circles_auxv:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \__draw_point_intersect_circles_auxvi:fnnnnnnn
+ \__draw_point_intersect_circles_auxvi:ennnnnnn
{ \fp_eval:n { 0.5 * #1 * ( #2 + #3 * #3 - #6 * #6 ) } }
{#1} {#2} {#4} {#5} {#7} {#8} {#9}
}
-\cs_generate_variant:Nn \__draw_point_intersect_circles_auxv:nnnnnnnnn { ff }
+\cs_generate_variant:Nn \__draw_point_intersect_circles_auxv:nnnnnnnnn { ee }
\cs_new:Npn \__draw_point_intersect_circles_auxvi:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_intersect_circles_auxvii:fffnnnn
+ \__draw_point_intersect_circles_auxvii:eeennnn
{ \fp_eval:n { #1 * #2 } }
{ \int_if_odd:nTF {#8} { 1 } { -1 } }
{ \fp_eval:n { sqrt ( #3 - #1 * #1 ) * #2 } }
{#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvi:nnnnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvi:nnnnnnnn { e }
\cs_new:Npn \__draw_point_intersect_circles_auxvii:nnnnnnn #1#2#3#4#5#6#7
{
\draw_point:n
{ #6 + #4 * #1 + #2 * #3 * #5 , #7 + #5 * #1 + -1 * #2 * #3 * #4 }
}
-\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvii:nnnnnnn { fff }
+\cs_generate_variant:Nn \__draw_point_intersect_circles_auxvii:nnnnnnn { eee }
\cs_new:Npn \draw_point_intersect_line_circle:nnnnn #1#2#3#4#5
{
\__draw_point_process:nnnn
@@ -988,54 +993,54 @@
}
\cs_new:Npn \__draw_point_intersect_line_circle_auxi:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_intersect_line_circle_auxii:fnnnnnnn
+ \__draw_point_intersect_line_circle_auxii:ennnnnnn
{ \fp_eval:n {#1} } {#3} {#4} {#5} {#6} {#7} {#8} {#2}
}
\cs_new:Npn \__draw_point_intersect_line_circle_auxii:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_intersect_line_circle_auxiii:fffnnnnn
+ \__draw_point_intersect_line_circle_auxiii:eeennnnn
{ \fp_eval:n { (#4-#2)*(#4-#2)+(#5-#3)*(#5-#3) } }
{ \fp_eval:n { 2*((#4-#2)*(#2-#6)+(#5-#3)*(#3-#7)) } }
{ \fp_eval:n { (#6*#6+#7*#7)+(#2*#2+#3*#3)-(2*(#6*#2+#7*#3))-(#1*#1) } }
{#2} {#3} {#4} {#5} {#8}
}
-\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxii:nnnnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxii:nnnnnnnn { e }
\cs_new:Npn \__draw_point_intersect_line_circle_auxiii:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_intersect_line_circle_auxiv:ffnnnnnn
+ \__draw_point_intersect_line_circle_auxiv:eennnnnn
{ \fp_eval:n { #2 * #2 - 4 * #1 * #3 } }
{ \int_if_odd:nTF {#8} { 1 } { -1 } }
{#1} {#2} {#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiii:nnnnnnnn { fff }
+\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiii:nnnnnnnn { eee }
\cs_new:Npn \__draw_point_intersect_line_circle_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_intersect_line_circle_auxv:fnnnn
+ \__draw_point_intersect_line_circle_auxv:ennnn
{ \fp_eval:n { (-1 * #4 + #2 * sqrt(#1)) / (2 * #3) } }
{#5} {#6} {#7} {#8}
}
-\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiv:nnnnnnnn { ff }
+\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxiv:nnnnnnnn { ee }
\cs_new:Npn \__draw_point_intersect_line_circle_auxv:nnnnn #1#2#3#4#5
{
\draw_point:n
{ #2 + #1 * (#4 - #2), #3 + #1 * (#5 - #3) }
}
-\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxv:nnnnn { f }
+\cs_generate_variant:Nn \__draw_point_intersect_line_circle_auxv:nnnnn { e }
\cs_new:Npn \draw_point_interpolate_line:nnn #1#2#3
{
\__draw_point_process:nnn
- { \__draw_point_interpolate_line_aux:fnnnn { \fp_eval:n {#1} } }
+ { \__draw_point_interpolate_line_aux:ennnn { \fp_eval:n {#1} } }
{#2} {#3}
}
\cs_new:Npn \__draw_point_interpolate_line_aux:nnnnn #1#2#3#4#5
{
- \__draw_point_interpolate_line_aux:fnnnnn { \fp_eval:n { 1 - #1 } }
+ \__draw_point_interpolate_line_aux:ennnnn { \fp_eval:n { 1 - #1 } }
{#1} {#2} {#3} {#4} {#5}
}
-\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnn { e }
\cs_new:Npn \__draw_point_interpolate_line_aux:nnnnnn #1#2#3#4#5#6
{ \draw_point:n { #2 * #3 + #1 * #5 , #2 * #4 + #1 * #6 } }
-\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_line_aux:nnnnnn { e }
\cs_new:Npn \draw_point_interpolate_distance:nnn #1#2#3
{
\__draw_point_process:nn
@@ -1046,14 +1051,14 @@
{
\__draw_point_process:nn
{
- \__draw_point_interpolate_distance:fnnnn
+ \__draw_point_interpolate_distance:ennnn
{ \fp_eval:n {#1} } {#3} {#4}
}
{ \draw_point_unit_vector:n { ( #2 ) - ( #3 , #4 ) } }
}
\cs_new:Npn \__draw_point_interpolate_distance:nnnnn #1#2#3#4#5
{ \draw_point:n { #2 + #1 * #4 , #3 + #1 * #5 } }
-\cs_generate_variant:Nn \__draw_point_interpolate_distance:nnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_distance:nnnnn { e }
\cs_new:Npn \draw_point_interpolate_arcaxes:nnnnnn #1#2#3#4#5#6
{
\__draw_point_process:nnnn
@@ -1062,30 +1067,30 @@
}
\cs_new:Npn \__draw_point_interpolate_arcaxes_auxi:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \__draw_point_interpolate_arcaxes_auxii:fnnnnnnnn
+ \__draw_point_interpolate_arcaxes_auxii:ennnnnnnn
{ \fp_eval:n {#1} } {#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9}
}
\cs_new:Npn \__draw_point_interpolate_arcaxes_auxii:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \__draw_point_interpolate_arcaxes_auxiii:fnnnnnn
+ \__draw_point_interpolate_arcaxes_auxiii:ennnnnn
{ \fp_eval:n { #1 * (#3) + ( 1 - #1 ) * (#2) } }
{#4} {#5} {#6} {#7} {#8} {#9}
}
-\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxii:nnnnnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxii:nnnnnnnnn { e }
\cs_new:Npn \__draw_point_interpolate_arcaxes_auxiii:nnnnnnn #1#2#3#4#5#6#7
{
- \__draw_point_interpolate_arcaxes_auxiv:ffnnnnnn
+ \__draw_point_interpolate_arcaxes_auxiv:eennnnnn
{ \fp_eval:n { cosd (#1) } }
{ \fp_eval:n { sind (#1) } }
{#2} {#3} {#4} {#5} {#6} {#7}
}
-\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiii:nnnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiii:nnnnnnn { e }
\cs_new:Npn \__draw_point_interpolate_arcaxes_auxiv:nnnnnnnn #1#2#3#4#5#6#7#8
{
\draw_point:n
{ #3 + #1 * #5 + #2 * #7 , #4 + #1 * #6 + #2 * #8 }
}
-\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiv:nnnnnnnn { ff }
+\cs_generate_variant:Nn \__draw_point_interpolate_arcaxes_auxiv:nnnnnnnn { ee }
\cs_new:Npn \draw_point_interpolate_curve:nnnnnn #1#2#3#4#5
{
\__draw_point_process:nnnnn
@@ -1094,19 +1099,19 @@
}
\cs_new:Npn \__draw_point_interpolate_curve_auxi:nnnnnnnnn #1#2#3#4#5#6#7#8#9
{
- \__draw_point_interpolate_curve_auxii:fnnnnnnnn
+ \__draw_point_interpolate_curve_auxii:ennnnnnnn
{ \fp_eval:n {#1} }
{#2} {#3} {#4} {#5} {#6} {#7} {#8} {#9}
}
\cs_new:Npn \__draw_point_interpolate_curve_auxii:nnnnnnnnn
#1#2#3#4#5#6#7#8#9
{
- \__draw_point_interpolate_curve_auxiii:fnnnnn
+ \__draw_point_interpolate_curve_auxiii:ennnnn
{ \fp_eval:n { 1 - #1 } }
{#1}
{ {#2} {#3} } { {#4} {#5} } { {#6} {#7} } { {#8} {#9} }
}
-\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxii:nnnnnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxii:nnnnnnnnn { e }
\cs_new:Npn \__draw_point_interpolate_curve_auxiii:nnnnnn #1#2#3#4#5#6
{
\__draw_point_interpolate_curve_auxiv:nnnnnn {#1} {#2} #3 #4
@@ -1115,10 +1120,10 @@
\prg_do_nothing:
\__draw_point_interpolate_curve_auxvi:n { {#1} {#2} }
}
-\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxiii:nnnnnn { f }
+\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxiii:nnnnnn { e }
\cs_new:Npn \__draw_point_interpolate_curve_auxiv:nnnnnn #1#2#3#4#5#6
{
- \__draw_point_interpolate_curve_auxv:ffw
+ \__draw_point_interpolate_curve_auxv:eew
{ \fp_eval:n { #1 * #3 + #2 * #5 } }
{ \fp_eval:n { #1 * #4 + #2 * #6 } }
}
@@ -1129,12 +1134,12 @@
\prg_do_nothing:
#4 { #5 {#1} {#2} }
}
-\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxv:nnw { ff }
+\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxv:nnw { ee }
\cs_new:Npn \__draw_point_interpolate_curve_auxvi:n #1
{ \__draw_point_interpolate_curve_auxvii:nnnnnnnn #1 }
\cs_new:Npn \__draw_point_interpolate_curve_auxvii:nnnnnnnn #1#2#3#4#5#6#7#8
{
- \__draw_point_interpolate_curve_auxviii:ffffnn
+ \__draw_point_interpolate_curve_auxviii:eeeenn
{ \fp_eval:n { #1 * #5 + #2 * #3 } }
{ \fp_eval:n { #1 * #6 + #2 * #4 } }
{ \fp_eval:n { #1 * #7 + #2 * #5 } }
@@ -1146,7 +1151,7 @@
\draw_point:n
{ #5 * #3 + #6 * #1 , #5 * #4 + #6 * #2 }
}
-\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxviii:nnnnnn { ffff }
+\cs_generate_variant:Nn \__draw_point_interpolate_curve_auxviii:nnnnnn { eeee }
\dim_new:N \l__draw_xvec_x_dim
\dim_new:N \l__draw_xvec_y_dim
\dim_new:N \l__draw_yvec_x_dim
@@ -1172,7 +1177,7 @@
\draw_yvec:n { 0cm , 1cm }
\draw_zvec:n { -0.385cm , -0.385cm }
\cs_new:Npn \draw_point_vec:nn #1#2
- { \__draw_point_vec:ff { \fp_eval:n {#1} } { \fp_eval:n {#2} } }
+ { \__draw_point_vec:ee { \fp_eval:n {#1} } { \fp_eval:n {#2} } }
\cs_new:Npn \__draw_point_vec:nn #1#2
{
\draw_point:n
@@ -1181,39 +1186,39 @@
#1 * \l__draw_xvec_y_dim + #2 * \l__draw_yvec_y_dim
}
}
-\cs_generate_variant:Nn \__draw_point_vec:nn { ff }
+\cs_generate_variant:Nn \__draw_point_vec:nn { ee }
\cs_new:Npn \draw_point_vec:nnn #1#2#3
{
- \__draw_point_vec:fff
+ \__draw_point_vec:eee
{ \fp_eval:n {#1} } { \fp_eval:n {#2} } { \fp_eval:n {#3} }
}
\cs_new:Npn \__draw_point_vec:nnn #1#2#3
{
\draw_point:n
{
- #1 * \l__draw_xvec_x_dim
- + #2 * \l__draw_yvec_x_dim
- + #3 * \l__draw_zvec_x_dim
+ #1 * \l__draw_xvec_x_dim
+ + #2 * \l__draw_yvec_x_dim
+ + #3 * \l__draw_zvec_x_dim
,
#1 * \l__draw_xvec_y_dim
+ #2 * \l__draw_yvec_y_dim
+ #3 * \l__draw_zvec_y_dim
}
}
-\cs_generate_variant:Nn \__draw_point_vec:nnn { fff }
+\cs_generate_variant:Nn \__draw_point_vec:nnn { eee }
\cs_new:Npn \draw_point_vec_polar:nn #1#2
{ \draw_point_vec_polar:nnn {#1} {#1} {#2} }
\cs_new:Npn \draw_point_vec_polar:nnn #1#2#3
- { \__draw_draw_vec_polar:fnn { \fp_eval:n {#3} } {#1} {#2} }
+ { \__draw_draw_vec_polar:enn { \fp_eval:n {#3} } {#1} {#2} }
\cs_new:Npn \__draw_draw_vec_polar:nnn #1#2#3
{
\draw_point:n
{
cosd(#1) * (#2) * \l__draw_xvec_x_dim ,
sind(#1) * (#3) * \l__draw_yvec_y_dim
- }
+ }
}
-\cs_generate_variant:Nn \__draw_draw_vec_polar:nnn { f }
+\cs_generate_variant:Nn \__draw_draw_vec_polar:nnn { e }
\cs_new:Npn \draw_point_transform:n #1
{
\__draw_point_process:nn
@@ -1358,7 +1363,7 @@
{ 0pt }
}
\box_set_ht:Nn \l__draw_main_box
- { \g__draw_ymax_dim + #1 }
+ { \g__draw_ymax_dim - #1 }
}
\bool_new:N \l__draw_baseline_bool
\dim_new:N \l__draw_baseline_dim
@@ -1440,12 +1445,10 @@
\cs_generate_variant:Nn \__draw_softpath_add:n { o, e }
\cs_new_protected:Npn \__draw_softpath_use:
{
- \tl_build_gend:N \g__draw_softpath_main_tl
- \tl_set_eq:NN \l__draw_softpath_tmp_tl \g__draw_softpath_main_tl
+ \tl_build_get_intermediate:NN
+ \g__draw_softpath_main_tl
+ \l__draw_softpath_tmp_tl
\l__draw_softpath_tmp_tl
- \tl_build_gbegin:N \g__draw_softpath_main_tl
- \exp_args:NNV \tl_build_gput_right:Nn
- \g__draw_softpath_main_tl \l__draw_softpath_tmp_tl
}
\cs_new_protected:Npn \__draw_softpath_clear:
{
@@ -1685,7 +1688,7 @@
\tl_put_right:Ne \l__draw_softpath_part_tl
{
\exp_not:N #4
- \__draw_softpath_round_calc:fVnnnn
+ \__draw_softpath_round_calc:eVnnnn
{
\draw_point_interpolate_distance:nnn
\l__draw_softpath_corneri_dim
@@ -1707,7 +1710,7 @@
\__draw_softpath_round_calc:nnnnw {#3} {#4} {#5} {#6}
#1 \s__draw_mark #2 \s__draw_stop
}
-\cs_generate_variant:Nn \__draw_softpath_round_calc:nnnnnn { fV }
+\cs_generate_variant:Nn \__draw_softpath_round_calc:nnnnnn { eV }
\cs_new:Npn \__draw_softpath_round_calc:nnnnw
#1#2#3#4 #5 , #6 \s__draw_mark #7 , #8 \s__draw_stop
{
@@ -1853,10 +1856,7 @@
{ \__draw_transform_shift_absolute:nn } {#1}
}
\cs_new_protected:Npn \__draw_transform_shift_absolute:nn #1#2
- {
- \dim_set:Nn \l__draw_xshift_dim {#1}
- \dim_set:Nn \l__draw_yshift_dim {#2}
- }
+ { \__draw_transform_shift:nnnn { 0pt } { 0pt } {#1} {#2} }
\cs_new_protected:Npn \draw_transform_matrix:nnnn #1#2#3#4
{
\use:e
@@ -1886,14 +1886,35 @@
}
\cs_new_protected:Npn \__draw_transform_shift:nn #1#2
{
- \dim_set:Nn \l__draw_xshift_dim { \l__draw_xshift_dim + #1 }
- \dim_set:Nn \l__draw_yshift_dim { \l__draw_yshift_dim + #2 }
+ \__draw_transform_shift:nnnn
+ \l__draw_xshift_dim
+ \l__draw_yshift_dim
+ {#1} {#2}
+ }
+\cs_new_protected:Npn \__draw_transform_shift:nnnn #1#2#3#4
+ {
+ \dim_set:Nn \l__draw_xshift_dim
+ {
+ \fp_to_dim:n
+ {
+ #1 +
+ ( #3 * \l__draw_matrix_a_fp + #4 * \l__draw_matrix_b_fp )
+ }
+ }
+ \dim_set:Nn \l__draw_yshift_dim
+ {
+ \fp_to_dim:n
+ {
+ #2 +
+ ( #3 * \l__draw_matrix_c_fp + #4 * \l__draw_matrix_d_fp )
+ }
+ }
}
\cs_new_protected:Npn \draw_transform_matrix_invert:
{
\bool_if:NT \l__draw_matrix_active_bool
{
- \__draw_transform_invert:f
+ \__draw_transform_invert:e
{
\fp_eval:n
{
@@ -1917,7 +1938,7 @@
\fp_set:Nn \l__draw_matrix_d_fp
{ \l__draw_matrix_a_fp * #1 }
}
-\cs_generate_variant:Nn \__draw_transform_invert:n { f }
+\cs_generate_variant:Nn \__draw_transform_invert:n { e }
\cs_new_protected:Npn \draw_transform_shift_invert:
{
\dim_set:Nn \l__draw_xshift_dim { -\l__draw_xshift_dim }
@@ -1960,17 +1981,17 @@
\cs_new_protected:Npn \draw_transform_yslant:n #1
{ \draw_transform_matrix:nnnn { 1 } { #1 } { 0 } { 1 } }
\cs_new_protected:Npn \draw_transform_rotate:n #1
- { \__draw_transform_rotate:f { \fp_eval:n {#1} } }
+ { \__draw_transform_rotate:e { \fp_eval:n {#1} } }
\cs_new_protected:Npn \__draw_transform_rotate:n #1
{
- \__draw_transform_rotate:ff
+ \__draw_transform_rotate:ee
{ \fp_eval:n { cosd(#1) } }
{ \fp_eval:n { sind(#1) } }
}
-\cs_generate_variant:Nn \__draw_transform_rotate:n { f }
+\cs_generate_variant:Nn \__draw_transform_rotate:n { e }
\cs_new_protected:Npn \__draw_transform_rotate:nn #1#2
{ \draw_transform_matrix:nnnn {#1} {#2} { -#2 } { #1 } }
-\cs_generate_variant:Nn \__draw_transform_rotate:nn { ff }
+\cs_generate_variant:Nn \__draw_transform_rotate:nn { ee }
%%
%%
%% End of file `l3draw.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
index 680dec98458..e3f59fdfb17 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty
@@ -6,7 +6,7 @@
%%
%% l3graphics.dtx (with options: `package')
%%
-%% Copyright (C) 2019-2023 The LaTeX Project
+%% Copyright (C) 2019-2024 The LaTeX 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: l3graphics.dtx
-\ProvidesExplPackage{l3graphics}{2023-12-08}{}
+\ProvidesExplPackage{l3graphics}{2024-01-04}{}
{L3 Experimental graphics inclusion support}
\dim_new:N \l__graphics_internal_dim
\ior_new:N \l__graphics_internal_ior
@@ -38,7 +38,7 @@
{ art , bleed , crop , media , trim }
{
\tl_set:Ne \l__graphics_pagebox_tl
- { \l_keys_choice_tl box }
+ { \l_keys_choice_tl box }
} ,
pagebox .initial:n =
crop ,
@@ -203,8 +203,8 @@
\exp_args:Ne \str_tail:n
{ \str_casefold:V \l__graphics_ext_str }
}
- }
- { \__graphics_include_auxi:e { \l__graphics_type_str } }
+ }
+ { \__graphics_include_auxi:e { \l__graphics_type_str } }
}
\cs_new_protected:Npn \__graphics_include_auxi:n #1
{
@@ -220,7 +220,7 @@
{
\tl_set_eq:NN \l__graphics_final_name_str \l__graphics_full_name_str
\str_set:Ne \l__graphics_full_name_str
- { \exp_args:NV \__kernel_file_name_quote:n \l__graphics_full_name_str }
+ { \exp_args:NV \__kernel_file_name_quote:n \l__graphics_full_name_str }
\exp_args:NnV \use:c { __graphics_backend_getbb_ #1 :n }
\l__graphics_full_name_str
\seq_gput_right:NV \g__graphics_record_seq \l__graphics_final_name_str
@@ -268,7 +268,7 @@
\box_set_dp:Nn \l__graphics_internal_box { 0pt }
\box_set_ht:Nn \l__graphics_internal_box
{ \l__graphics_ury_dim - \l__graphics_lly_dim }
- \box_set_wd:Nn \l__graphics_internal_box
+ \box_set_wd:Nn \l__graphics_internal_box
{ \l__graphics_urx_dim - \l__graphics_llx_dim }
\box_use_drop:N \l__graphics_internal_box
}
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty b/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
index d2a45de3d1d..fd33b834ec2 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
@@ -6,7 +6,7 @@
%%
%% l3opacity.dtx (with options: `package')
%%
-%% Copyright (C) 2021-2023 The LaTeX Project
+%% Copyright (C) 2021-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -20,7 +20,7 @@
%%
%% File: l3opacity.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3opacity}{2023-12-08}{}
+\ProvidesExplPackage{l3opacity}{2024-01-04}{}
{L3 Experimental opacity support}
\cs_new_protected:Npn \opacity_select:n #1
{ \__opacity_select:nN {#1} \__opacity_backend_select:n }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
index 5e53ab2beb7..e4037a20166 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
@@ -6,7 +6,7 @@
%%
%% l3str-format.dtx (with options: `package')
%%
-%% Copyright (C) 2011-2023 The LaTeX Project
+%% Copyright (C) 2011-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2023-12-08}{}
+\ProvidesExplPackage{l3str-format}{2024-01-04}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
index 1865433e9c2..2524684f225 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty
@@ -6,7 +6,7 @@
%%
%% l3sys-shell.dtx (with options: `package')
%%
-%% Copyright (C) 2018-2023 The LaTeX Project
+%% Copyright (C) 2018-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -20,7 +20,7 @@
%%
%% File: l3sys-shell.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3sys-shell}{2023-12-08}{}
+\ProvidesExplPackage{l3sys-shell}{2024-01-04}{}
{L3 Experimental system shell functions}
\scan_new:N \s__sys_stop
\quark_new:N \q__sys_nil
@@ -45,7 +45,7 @@
\token_if_eq_meaning:NNTF #1 /
{ \c_backslash_str }
{#1}
- \__sys_path_to_win:N
+ \__sys_path_to_win:N
}
}
\cs_new_protected:Npe \sys_shell_cp:nn #1#2
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
index 6e38dd28685..a88eff7c577 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
@@ -6,7 +6,7 @@
%%
%% xcoffins.dtx (with options: `package')
%%
-%% Copyright (C) 2010-2023 The LaTeX Project
+%% Copyright (C) 2010-2024 The LaTeX 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: xcoffins.dtx
-\ProvidesExplPackage{xcoffins}{2023-12-08}{}
+\ProvidesExplPackage{xcoffins}{2024-01-04}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
@@ -132,9 +132,9 @@
}
\NewDocumentCommand \TypesetCoffin
{
- m
- > { \SplitArgument { 1 } { , } } O { H , l }
- > { \SplitArgument { 1 } { , } } D ( ) { 0 pt , 0 pt }
+ m
+ > { \SplitArgument { 1 } { , } } O { H , l }
+ > { \SplitArgument { 1 } { , } } D ( ) { 0 pt , 0 pt }
}
{ \coffin_typeset:Nnnnn #1 #2 #3 }
\NewDocumentCommand \RotateCoffin { m m }
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
index 0dc2d406ee9..b470a77a520 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
@@ -6,7 +6,7 @@
%%
%% l3galley.dtx (with options: `package')
%%
-%% Copyright (C) 2010-2023 The LaTeX Project
+%% Copyright (C) 2010-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2023-12-08}{}
+\ProvidesExplPackage{l3galley}{2024-01-04}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
@@ -298,27 +298,27 @@
}
\cs_new_protected:Npn \__galley_display_penalty:N #1
{
- \tl_if_empty:NF #1
- {
- \tl_gput_right:Ne \g_galley_restore_running_tl
- {
- \int_gset:Nn \exp_not:N \g_galley_penalty_int
- { \int_use:N \g_galley_penalty_int }
- }
- \int_gset:Nn \g_galley_penalty_int {#1}
- }
+ \tl_if_empty:NF #1
+ {
+ \tl_gput_right:Ne \g_galley_restore_running_tl
+ {
+ \int_gset:Nn \exp_not:N \g_galley_penalty_int
+ { \int_use:N \g_galley_penalty_int }
+ }
+ \int_gset:Nn \g_galley_penalty_int {#1}
+ }
}
\cs_new_protected:Npn \__galley_display_vspace:N #1
{
- \tl_if_empty:NF #1
- {
- \tl_gput_right:Ne \g_galley_restore_running_tl
- {
- \skip_gset:Nn \exp_not:N \g_galley_vspace_skip
- { \skip_use:N \g_galley_vspace_skip }
- }
- \skip_gset:Nn \g_galley_vspace_int {#1}
- }
+ \tl_if_empty:NF #1
+ {
+ \tl_gput_right:Ne \g_galley_restore_running_tl
+ {
+ \skip_gset:Nn \exp_not:N \g_galley_vspace_skip
+ { \skip_use:N \g_galley_vspace_skip }
+ }
+ \skip_gset:Nn \g_galley_vspace_int {#1}
+ }
}
\cs_new_protected:Npn \galley_display_end:
{
@@ -605,7 +605,7 @@
\seq_get_right:NNF \g__galley_tmpb_seq \l__galley_tmp_tl
{ \tl_clear:N \l__galley_tmp_tl }
\tl_if_empty:NT \l__galley_tmp_tl
- { \tl_set:Nn \l__galley_tmp_tl { 0pt } }
+ { \tl_set:Nn \l__galley_tmp_tl { 0pt } }
\int_set:Nn \l__galley_tmp_int
{
\seq_count:N \g__galley_tmpa_seq
diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
index cbd2e55be0c..137eef00f13 100644
--- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
+++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
@@ -6,7 +6,7 @@
%%
%% xgalley.dtx (with options: `package')
%%
-%% Copyright (C) 2010-2023 The LaTeX Project
+%% Copyright (C) 2010-2024 The LaTeX 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: xgalley.dtx
-\ProvidesExplPackage{xgalley}{2023-12-08}{}
+\ProvidesExplPackage{xgalley}{2024-01-04}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
@@ -63,7 +63,7 @@
lines : integer = 1
}
\DeclareTemplateInterface { parshape } { initial } { 0 }
- {
+ {
indent : length = 0pt ,
on-left-side : boolean = true ,
lines : integer = 2
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index df7931e4764..d94bece9e6c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -63,7 +63,7 @@
%% l3legacy.dtx (with options: `package')
%% l3deprecation.dtx (with options: `package')
%%
-%% Copyright (C) 1990-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -76,7 +76,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2023-12-11}%
+\def\ExplFileDate{2024-01-04}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -1174,7 +1174,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_primitive:NN \Umathoverbarrule \tex_Umathoverbarrule:D
\__kernel_primitive:NN \Umathoverbarvgap \tex_Umathoverbarvgap:D
\__kernel_primitive:NN \Umathoverdelimiterbgap
- \tex_Umathoverdelimiterbgap:D
+ \tex_Umathoverdelimiterbgap:D
\__kernel_primitive:NN \Umathoverdelimitervgap
\tex_Umathoverdelimitervgap:D
\__kernel_primitive:NN \Umathpunctbinspacing \tex_Umathpunctbinspacing:D
@@ -1565,7 +1565,6 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_set:Npn \use_i:nnn #1#2#3 {#1}
\cs_set:Npn \use_ii:nnn #1#2#3 {#2}
\cs_set:Npn \use_iii:nnn #1#2#3 {#3}
-\cs_set:Npn \use_i_ii:nnn #1#2#3 {#1#2}
\cs_set:Npn \use_i:nnnn #1#2#3#4 {#1}
\cs_set:Npn \use_ii:nnnn #1#2#3#4 {#2}
\cs_set:Npn \use_iii:nnnn #1#2#3#4 {#3}
@@ -1605,6 +1604,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_set:Npn \use_vii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#7}
\cs_set:Npn \use_viii:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#8}
\cs_set:Npn \use_ix:nnnnnnnnn #1#2#3#4#5#6#7#8#9 {#9}
+\cs_set:Npn \use_i_ii:nnn #1#2#3 {#1#2}
\cs_set:Npn \use_ii_i:nn #1#2 { #2 #1 }
\cs_set:Npn \use_none_delimit_by_q_nil:w #1 \q_nil { }
\cs_set:Npn \use_none_delimit_by_q_stop:w #1 \q_stop { }
@@ -1984,9 +1984,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_set:Npn \__cs_tmp:w #1#2
{
\cs_set_protected:Npn #1 ##1
- {
- \__kernel_chk_if_free_cs:N ##1
- #2 ##1
+ {
+ \__kernel_chk_if_free_cs:N ##1
+ #2 ##1
}
}
\__cs_tmp:w \cs_new_nopar:Npn \cs_gset_nopar:Npn
@@ -2653,7 +2653,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \exp_last_two_unbraced:Noo #1#2#3
{ \exp_after:wN \__exp_last_two_unbraced:noN \exp_after:wN {#3} {#2} #1 }
\cs_new:Npn \__exp_last_two_unbraced:noN #1#2#3
- { \exp_after:wN #3 #2 #1 }
+ { \exp_after:wN #3 #2 #1 }
\cs_new_eq:NN \__kernel_exp_not:w \tex_unexpanded:D
\cs_new:Npn \exp_not:c #1 { \exp_after:wN \exp_not:N \cs:w #1 \cs_end: }
\cs_new:Npn \exp_not:o #1 { \__kernel_exp_not:w \exp_after:wN {#1} }
@@ -3840,7 +3840,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\prg_return_false:
\fi:
- }
+ }
\exp_args:Nno \use:n
{ \prg_new_conditional:Npnn \tl_if_blank:n #1 { p , T , F , TF } }
{
@@ -4646,6 +4646,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
#2 #1
\exp_args:Nc \__tl_build_end_loop:NN { \cs_to_str:N #1 ' } #2
}
+\cs_new_protected:Npn \tl_build_get_intermediate:NN
+ { \__tl_build_get:NNN \__kernel_tl_set:Ne }
\cs_new_protected:Npn \__tl_build_get:NNN #1#2#3
{ #1 #3 { \if_false: { \fi: \exp_after:wN \__tl_build_get:w #2 } } }
\cs_new:Npn \__tl_build_get:w #1 \__tl_build_last:NNn #2#3#4
@@ -5321,9 +5323,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_compare:nNnTF {`#2} < { "E0 }
{ \__str_change_case_codepoint:nNN }
{
- \int_compare:nNnTF {`#2} < { "F0 }
- { \__str_change_case_codepoint:nNNN }
- { \__str_change_case_codepoint:nNNNNN }
+ \int_compare:nNnTF {`#2} < { "F0 }
+ { \__str_change_case_codepoint:nNNN }
+ { \__str_change_case_codepoint:nNNNNN }
}
{#1} #2
}
@@ -5383,7 +5385,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\codepoint_str_generate:n {#2}
\tl_if_blank:nF {#3}
- { \codepoint_str_generate:n {#3} }
+ { \codepoint_str_generate:n {#3} }
}
}
}
@@ -5607,10 +5609,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\if_false: { \fi: }
\tl_set:Nn \l__seq_internal_b_tl {##1}
#1 #2
- { \if_false: } \fi:
- \exp_not:o {#2}
- \tl_if_eq:NNT \l__seq_internal_a_tl \l__seq_internal_b_tl
- { \use_none:nn }
+ { \if_false: } \fi:
+ \exp_not:o {#2}
+ \tl_if_eq:NNT \l__seq_internal_a_tl \l__seq_internal_b_tl
+ { \use_none:nn }
}
\__seq_wrap_item:n {##1}
}
@@ -7867,14 +7869,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
\sys_if_engine_xetex:TF
{ xetex }
{
- \sys_if_output_pdf:TF
+ \sys_if_output_pdf:TF
{
\sys_if_engine_pdftex:TF
{ pdftex }
{ luatex }
}
{ dvips }
- }
+ }
}
}
\__sys_finalise:n
@@ -9869,9 +9871,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \use:c { \c__msg_text_prefix_tl #2 / #3 } #4 }
{ \c__msg_continue_text_tl }
{
- \c__msg_no_info_text_tl
- \tl_if_empty:NF #5
- { \\ \\ #5 }
+ \c__msg_no_info_text_tl
+ \tl_if_empty:NF #5
+ { \\ \\ #5 }
}
}
{
@@ -9879,9 +9881,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \use:c { \c__msg_text_prefix_tl #2 / #3 } #4 }
{ \c__msg_help_text_tl }
{
- \use:c { \c__msg_more_text_prefix_tl #2 / #3 } #4
- \tl_if_empty:NF #5
- { \\ \\ #5 }
+ \use:c { \c__msg_more_text_prefix_tl #2 / #3 } #4
+ \tl_if_empty:NF #5
+ { \\ \\ #5 }
}
}
}
@@ -10023,7 +10025,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ nnVV , nnVn , nnnV , nnne , nnnx , nnee , nnxx }
\cs_generate_variant:cn { msg_ #1 :nnnnn }
{ nnnee , nnnxx , nneee , nnxxx }
- \cs_generate_variant:cn { msg_ #1 :nnnnnn } { nneeee , nnxxxx }
+ \cs_generate_variant:cn { msg_ #1 :nnnnnn } { nneeee , nnxxxx }
}
\__msg_class_new:nn { fatal }
{
@@ -10069,14 +10071,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
( \l__msg_name_str )
\prg_replicate:nn
- {
- \str_count:N \l__msg_text_str
- - \str_count:N \l__msg_name_str
- }
+ {
+ \str_count:N \l__msg_text_str
+ - \str_count:N \l__msg_name_str
+ }
{ ~ }
- }
- { } #1
- #1 { }
+ }
+ { } #1
+ #1 { }
}
\__msg_class_new:nn { warning }
{
@@ -10390,7 +10392,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\msg_new:nnnn { kernel } { no-elapsed-time }
{ No~clock~detected~for~#1. }
{ The~current~engine~provides~no~way~to~access~the~system~time. }
- }
+ }
\msg_new:nnnn { kernel } { non-base-function }
{ Function~'#1'~is~not~a~base~function }
{
@@ -11193,12 +11195,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_tl_set:Ne \l__iow_newline_tl { \tl_to_str:N \l__iow_newline_tl }
\int_set:Nn \l__iow_line_target_int
{ \l_iow_line_count_int - \str_count:N \l__iow_newline_tl + 1 }
- \int_compare:nNnT { \l__iow_line_target_int } < 0
- {
- \tl_set:Nn \l__iow_newline_tl { \iow_newline: }
- \int_set:Nn \l__iow_line_target_int
- { \l_iow_line_count_int + 1 }
- }
+ \int_compare:nNnT { \l__iow_line_target_int } < 0
+ {
+ \tl_set:Nn \l__iow_newline_tl { \iow_newline: }
+ \int_set:Nn \l__iow_line_target_int
+ { \l_iow_line_count_int + 1 }
+ }
\__iow_wrap_do:
\exp_args:NNf \group_end:
#4 { \tl_to_str:N \l__iow_wrap_tl }
@@ -11871,7 +11873,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \file_full_name:n {#1} }
{ \file_full_name:n {#3} }
#2
- }
+ }
\prg_generate_conditional_variant:Nnn \file_compare_timestamp:nNn
{ nNV , V , VNV } { p , T , F , TF }
\cs_new:Npn \__file_compare_timestamp:nnN #1#2#3
@@ -11887,11 +11889,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\tl_if_blank:nTF {#2}
{
- \if_charcode:w #3 >
- \prg_return_true:
- \else:
- \prg_return_false:
- \fi:
+ \if_charcode:w #3 >
+ \prg_return_true:
+ \else:
+ \prg_return_false:
+ \fi:
}
{
\if_int_compare:w
@@ -12132,8 +12134,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\exp_args:NV \__file_kernel_dependency_compare:nnn
\c__kernel_expl_date_tl {#1}
- }
- { \__file_kernel_dependency_compare:nnn { 0000-00-00 } {#1} }
+ }
+ { \__file_kernel_dependency_compare:nnn { 0000-00-00 } {#1} }
}
\cs_new_protected:Npn \__file_kernel_dependency_compare:nnn #1 #2 #3
{
@@ -12742,8 +12744,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_new_conditional:Npnn \skip_if_eq:nn #1#2 { p , T , F , TF }
{
\str_if_eq:eeTF { \skip_eval:n {#1} } { \skip_eval:n {#2} }
- { \prg_return_true: }
- { \prg_return_false: }
+ { \prg_return_true: }
+ { \prg_return_false: }
}
\cs_set_protected:Npn \__skip_tmp:w #1
{
@@ -12950,9 +12952,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\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 \__keyval_split_active_auxii:w
- \s__keyval_mark ##3 \s__keyval_nil
- #2 \s__keyval_mark \__keyval_clean_up_active:w
+ = \s__keyval_mark \__keyval_split_active_auxii:w
+ \s__keyval_mark ##3 \s__keyval_nil
+ #2 \s__keyval_mark \__keyval_clean_up_active:w
{
\msg_expandable_error:nn
{ keyval } { misplaced-equals-sign }
@@ -13149,12 +13151,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new_protected:Npn \__keys_property_find:n #1
{
- \cs_set_nopar:Npe \l__keys_property_str { \__keys_trim_spaces:n { #1 } }
- \exp_after:wN \__keys_property_find_auxi:w \l__keys_property_str
+ \exp_after:wN \__keys_property_find_auxi:w \tl_to_str:n {#1}
\s__keys_nil \__keys_property_find_auxii:w
. \s__keys_nil \__keys_property_find_err:w
}
-\cs_new_protected:Npn \__keys_property_find_auxi:w #1 . #2 \s__keys_nil #3
+\cs_new:Npn \__keys_property_find_auxi:w #1 . #2 \s__keys_nil #3
{
#3 #1 \s__keys_mark #2 \s__keys_nil #3
}
@@ -13163,22 +13164,24 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__keys_property_find_err:w
{
\cs_set_nopar:Npe \l_keys_path_str
- { \str_if_empty:NF \l__keys_module_str { \l__keys_module_str / } #1 }
- \__keys_property_find_auxi:w #2 \s__keys_nil \__keys_property_find_auxiii:w . \s__keys_nil
- \__keys_property_find_auxiv:w
+ {
+ \str_if_empty:NF \l__keys_module_str { \l__keys_module_str / }
+ \exp_after:wN \__keys_trim_spaces:n \tex_expanded:D {{
+ #1
+ \if_false: }}} \fi:
+ \__keys_property_find_auxi:w #2 \s__keys_nil \__keys_property_find_auxiii:w
+ . \s__keys_nil \__keys_property_find_auxiv:w
}
-\cs_new_protected:Npn \__keys_property_find_auxiii:w #1 \s__keys_mark
+\cs_new:Npn \__keys_property_find_auxiii:w #1 \s__keys_mark #2 . #3 \s__keys_nil #4
{
- \cs_set_nopar:Npe \l_keys_path_str { \l_keys_path_str . #1 }
- \__keys_property_find_auxi:w
+ . #1 #4 #2 \s__keys_mark #3 \s__keys_nil #4
}
-\cs_new_protected:Npn \__keys_property_find_auxiv:w
+\cs_new:Npn \__keys_property_find_auxiv:w
#1 \s__keys_nil \__keys_property_find_auxiii:w
\s__keys_mark \s__keys_nil \__keys_property_find_auxiv:w
{
+ \if_false: {{{ \fi: }}}
\cs_set_nopar:Npe \l__keys_property_str { . #1 }
- \cs_set_nopar:Npe \l_keys_path_str
- { \exp_after:wN \__keys_trim_spaces:n \exp_after:wN { \l_keys_path_str } }
\tl_set_eq:NN \l_keys_path_tl \l_keys_path_str
}
\cs_new_protected:Npn \__keys_property_find_err:w
@@ -13365,8 +13368,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__keys_default_set:n { true }
\cs_if_exist:cF { if#1 }
{
- \cs:w newif \exp_after:wN \cs_end:
- \cs:w if#1 \cs_end:
+ \cs:w newif \exp_after:wN \cs_end:
+ \cs:w if#1 \cs_end:
}
}
\cs_new_protected:Npn \__keys_meta_make:n #1
@@ -14021,7 +14024,19 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\cs_if_exist:cTF
{ \c__keys_code_root_str \l__keys_module_str / unknown }
- { \__keys_execute:no { \l__keys_module_str / unknown } \l_keys_value_tl }
+ {
+ \bool_if:NT \l__keys_no_value_bool
+ {
+ \cs_if_exist:cT
+ { \c__keys_default_root_str \l__keys_module_str / unknown }
+ {
+ \tl_set_eq:Nc
+ \l_keys_value_tl
+ { \c__keys_default_root_str \l__keys_module_str / unknown }
+ }
+ }
+ \__keys_execute:no { \l__keys_module_str / unknown } \l_keys_value_tl
+ }
{
\msg_error:nnee { keys } { unknown }
\l_keys_path_str \l__keys_module_str
@@ -14818,7 +14833,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
#2#3#4; {#5} ;
}
\cs_new:Npn \__fp_basics_pack_weird_high:NNNNNNNNw
- 1 #1#2#3#4 #5#6#7#8 #9; { ; {#1#2#3#4} {#5#6#7#8} {#9} }
+ 1 #1#2#3#4 #5#6#7#8 #9; { ; {#1#2#3#4} {#5#6#7#8} {#9} }
\cs_new:Npn \__fp_decimate:nNnnnn #1
{
\cs:w
@@ -20624,10 +20639,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_randint_auxiv_o:ww #1#2#3#4#5 ; #6#7#8#9
{
\if_int_compare:w
- \if_int_compare:w #1#2 > #6#7 \exp_stop_f: 1 \else:
+ \if_int_compare:w #1#2 > #6#7 \exp_stop_f: 1 \else:
\if_int_compare:w #1#2 < #6#7 \exp_stop_f: - \fi: \fi:
- #3#4 > #8#9 \exp_stop_f:
- \__fp_use_i_until_s:nw
+ #3#4 > #8#9 \exp_stop_f:
+ \__fp_use_i_until_s:nw
\fi:
\__fp_randint_auxv_o:w {#1}{#2}{#3}{#4}#5
}
@@ -20723,8 +20738,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\exp_after:wN \__fp_randint_wide_auxii:w
\int_value:w \__fp_int_eval:w #5 * #3 + #6 * #1 +
(#5 * #4 + #6 * #3 + #7 * #1 +
- (#5 * #2 + #7 * #3 +
- (16384 * #6 + #7) * (16384 * #4 + #2) / 268435456) / 16384
+ (#5 * #2 + #7 * #3 +
+ (16384 * #6 + #7) * (16384 * #4 + #2) / 268435456) / 16384
) / 16384 \exp_after:wN ;
\int_value:w \__fp_int_eval:w (#5 + #6) * 16384 + #7 ;
#1 ; #5 ;
@@ -21476,34 +21491,32 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__fp_array_item_normal:w #1 #2#3#4#5 #6 ; #7 ; #8 ; #9
{ #9 \s__fp \__fp_chk:w 1 #1 {#8} #7 {#2#3#4#5} {#6} ; }
%% File: l3bitset.dtx
+\cs_if_exist:NT \@expl@finalise@setup@@
+ {
+ \tl_gput_right:Nn \@expl@finalise@setup@@
+ { \declare@file@substitution { l3bitset.sty } { null.tex } }
+ }
\cs_new_protected:Npn \bitset_new:N #1
{
\__kernel_chk_if_free_cs:N #1
\cs_gset_eq:NN #1 \c_zero_str
\prop_new:c { g__bitset_ \cs_to_str:N #1 _name_prop }
}
-
\cs_new_protected:Npn \bitset_new:Nn #1 #2
{
\__kernel_chk_if_free_cs:N #1
\cs_gset_eq:NN #1 \c_zero_str
\prop_new:c { g__bitset_ \cs_to_str:N #1 _name_prop }
\prop_gset_from_keyval:cn
- { g__bitset_ \cs_to_str:N #1 _name_prop }
- {#2}
+ { g__bitset_ \cs_to_str:N #1 _name_prop }
+ {#2}
}
\cs_generate_variant:Nn \bitset_new:N { c }
-\prop_new:N \l__bitset_tmp_prop
+\cs_generate_variant:Nn \bitset_new:Nn { c }
\cs_new_protected:Npn \bitset_addto_named_index:Nn #1#2
{
- \prop_set_from_keyval:Nn \l__bitset_tmp_prop {#2}
- \prop_map_inline:Nn \l__bitset_tmp_prop
- {
- \prop_gput:cnn
- { g__bitset_ \cs_to_str:N #1 _name_prop }
- {##1}
- {##2}
- }
+ \prop_gput_from_keyval:cn
+ { g__bitset_ \cs_to_str:N #1 _name_prop } { #2 }
}
\prg_new_eq_conditional:NNn
\bitset_if_exist:N \str_if_exist:N { p , T , F , TF }
@@ -21531,12 +21544,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
{
- #1 #2
+ #1 #2
{
\str_range:Nnn #2 { 1 } { -1 - (#3) }
#4
\str_range:Nnn #2 { 1 - (#3) } { -1 }
- }
+ }
}
}
}
@@ -21609,13 +21622,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1 \q_recursion_tail \q_recursion_stop
}
}
-
\cs_new:Npn \__bitset_to_int:nN #1#2
{
\quark_if_recursion_tail_stop_do:Nn #2 {#1}
\exp_args:Nf \__bitset_to_int:nN { \fp_eval:n { #1 * 2 + #2 } }
}
-
\cs_new:Npn \bitset_to_bin:N #1
{
#1
@@ -21632,41 +21643,44 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ 0 - ( \prop_item:cn { g__bitset_ \cs_to_str:N #1 _name_prop } {#2} ) }
+0
}
- }
- {
- 0
- }
+ }
+ {
+ 0
+ }
}
\cs_generate_variant:Nn \bitset_item:Nn { c }
\cs_new_protected:Npn \bitset_show:N { \__bitset_show:NN \msg_show:nneeee }
\cs_generate_variant:Nn \bitset_show:N { c }
\cs_new_protected:Npn \bitset_log:N { \__bitset_show:NN \msg_log:nneeee }
\cs_generate_variant:Nn \bitset_log:N { c }
-\cs_new_protected:Npn \bitset_show_named_index:N { \__bitset_show_named_index:NN \msg_show:nneeee }
-\cs_generate_variant:Nn \bitset_show_named_index:N { c }
\cs_new_protected:Npn \__bitset_show:NN #1#2
{
\__kernel_chk_defined:NT #2
{
#1 { bitset } { show }
- { \token_to_str:N #2 }
- { \bitset_to_bin:N #2 }
- { \bitset_to_arabic:N #2 }
- { }
+ { \token_to_str:N #2 }
+ { \bitset_to_bin:N #2 }
+ { \bitset_to_arabic:N #2 }
+ { }
}
}
+\cs_new_protected:Npn \bitset_show_named_index:N
+ { \__bitset_show_named_index:NN \msg_show:nneeee }
+\cs_generate_variant:Nn \bitset_show_named_index:N { c }
+\cs_new_protected:Npn \bitset_log_named_index:N
+ { \__bitset_show_named_index:NN \msg_log:nneeee }
+\cs_generate_variant:Nn \bitset_log_named_index:N { c }
\cs_new_protected:Npn \__bitset_show_named_index:NN #1#2
{
\__kernel_chk_defined:NT #2
{
#1 { bitset } { show-names }
- { \token_to_str:N #2 }
- { \prop_map_function:cN { g__bitset_ \cs_to_str:N #2 _name_prop } \msg_show_item:nn }
- { }
- { }
+ { \token_to_str:N #2 }
+ { \prop_map_function:cN { g__bitset_ \cs_to_str:N #2 _name_prop } \msg_show_item:nn }
+ { } { }
}
}
- \msg_new:nnn { bitset } { show }
+\msg_new:nnn { bitset } { show }
{
The~bitset~#1~has~the~representation: \\
>~binary:~#2 \\
@@ -22591,14 +22605,14 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\group_begin:
\__kernel_tl_set:Ne \l__str_internal_tl { \tl_to_str:n { 0123456789ABCDEF } }
- \tl_map_inline:Nn \l__str_internal_tl
- {
- \tl_map_inline:Nn \l__str_internal_tl
- {
- \tl_const:ce { c__str_byte_ \int_eval:n {"#1##1} _tl }
- { \char_generate:nn { "#1##1 } { 12 } #1 ##1 }
- }
- }
+ \tl_map_inline:Nn \l__str_internal_tl
+ {
+ \tl_map_inline:Nn \l__str_internal_tl
+ {
+ \tl_const:ce { c__str_byte_ \int_eval:n {"#1##1} _tl }
+ { \char_generate:nn { "#1##1 } { 12 } #1 ##1 }
+ }
+ }
\group_end:
\tl_const:cn { c__str_byte_-1_tl } { { } \use_none:n { } }
\cs_new:Npn \__str_output_byte:n #1
@@ -24666,7 +24680,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__regex_use_none_delimit_by_q_nil:w #1 \q__regex_nil { }
\__kernel_quark_new_conditional:Nn \__regex_quark_if_nil:N { F }
\cs_new_protected:Npn \__regex_break_true:w
- #1 \__regex_break_point:TF #2 #3 {#2}
+ #1 \__regex_break_point:TF #2 #3 {#2}
\cs_new_protected:Npn \__regex_break_point:TF #1 #2 { #2 }
\cs_new_protected:Npn \__regex_item_reverse:n #1
{
@@ -26939,7 +26953,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_set:Nn \l__regex_curr_pos_int
{ \l__regex_start_pos_int - 1 }
\int_set_eq:NN \l__regex_curr_char_int \l__regex_last_char_success_int
- \tl_build_get:NN \l__regex_matched_analysis_tl \l__regex_internal_a_tl
+ \tl_build_get_intermediate:NN \l__regex_matched_analysis_tl \l__regex_internal_a_tl
\exp_args:NNf \__regex_match_once_init_aux:
\tl_map_inline:nn
{ \exp_after:wN \l__regex_internal_a_tl \l__regex_curr_analysis_tl }
@@ -28563,7 +28577,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__regex_trace_push:nnN #1#2#3
{ \__regex_trace:nne {#1} {#2} { entering~ \token_to_str:N #3 } }
\cs_new_protected:Npn \__regex_trace_pop:nnN #1#2#3
- { \__regex_trace:nne {#1} {#2} { leaving~ \token_to_str:N #3 } }
+ { \__regex_trace:nne {#1} {#2} { leaving~ \token_to_str:N #3 } }
\cs_new_protected:Npn \__regex_trace:nne #1#2#3
{
\int_compare:nNnF
@@ -28792,10 +28806,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_generate_variant:Nn \hbox_set_to_wd:Nnw { c }
\cs_generate_variant:Nn \hbox_gset_to_wd:Nnw { c }
\cs_new_protected:Npn \hbox_to_wd:nn #1#2
- {
- \tex_hbox:D to \__box_dim_eval:n {#1}
- { \color_group_begin: #2 \color_group_end: }
- }
+ {
+ \tex_hbox:D to \__box_dim_eval:n {#1}
+ { \color_group_begin: #2 \color_group_end: }
+ }
\cs_new_protected:Npn \hbox_to_zero:n #1
{
\tex_hbox:D to \c_zero_dim
@@ -29461,9 +29475,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__color_convert_rgb_cmyk:w #1 ~ #2 ~ #3 \s__color_stop
{
\exp_args:Neee \__color_convert_rgb_cmyk:nnn
- { \fp_eval:n { 1 - #1 } }
- { \fp_eval:n { 1 - #2 } }
- { \fp_eval:n { 1 - #3 } }
+ { \fp_eval:n { 1 - #1 } }
+ { \fp_eval:n { 1 - #2 } }
+ { \fp_eval:n { 1 - #3 } }
}
\cs_new:Npn \__color_convert_rgb_cmyk:nnn #1#2#3
{
@@ -29511,9 +29525,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__color_parse_set_eq:Nn #1#2
{
\tl_if_empty:NTF \l_color_fixed_model_tl
- { \exp_args:Nv \__color_parse_set_eq:nNn { l__color_named_ #2 _tl } }
- { \exp_args:NV \__color_parse_set_eq:nNn \l_color_fixed_model_tl }
- #1 {#2}
+ { \exp_args:Nv \__color_parse_set_eq:nNn { l__color_named_ #2 _tl } }
+ { \exp_args:NV \__color_parse_set_eq:nNn \l_color_fixed_model_tl }
+ #1 {#2}
}
\cs_new_protected:Npn \__color_parse_set_eq:nNn #1#2#3
{
@@ -29525,8 +29539,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_set_eq:Nc \l__color_model_tl { l__color_named_ #3 _tl }
\prop_get:cVN { l__color_named_ #3 _prop } \l__color_model_tl
\l__color_value_tl
- \__color_convert:nnN
- \l__color_model_tl {#1} \l__color_value_tl
+ \__color_convert:nnN
+ \l__color_model_tl {#1} \l__color_value_tl
\tl_set:Ne #2
{
{#1}
@@ -29722,11 +29736,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
\use:e
{
\exp_not:N \__color_parse_model_hsb_aux:nnnnn
- { \__color_parse_number:n {#4} }
- { \fp_eval:n { round(#4 * (1 - #3) ,5) } }
- { \fp_eval:n { round(#4 * ( 1 - #3 * #2 ) ,5) } }
- { \fp_eval:n { round(#4 * ( 1 - #3 * (1 - #2) ) ,5) } }
- {#1}
+ { \__color_parse_number:n {#4} }
+ { \fp_eval:n { round(#4 * (1 - #3) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * #2 ) ,5) } }
+ { \fp_eval:n { round(#4 * ( 1 - #3 * (1 - #2) ) ,5) } }
+ {#1}
}
}
\cs_new:Npn \__color_parse_model_hsb_aux:nnnnn #1#2#3#4#5
@@ -30420,10 +30434,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_const:cn { c__color_fallback_ #1 _tl } { cmyk }
\cs_new:cpn { __color_convert_ #1 _cmyk:w } ##1 \s__color_stop
{
- \fp_eval:n {##1 * #3} ~
- \fp_eval:n {##1 * #4} ~
- \fp_eval:n {##1 * #5} ~
- \fp_eval:n {##1 * #6}
+ \fp_eval:n {##1 * #3} ~
+ \fp_eval:n {##1 * #4} ~
+ \fp_eval:n {##1 * #5} ~
+ \fp_eval:n {##1 * #6}
}
\cs_new:cpn { __color_convert_cmyk_ #1 :w } ##1 \s__color_stop { 1 }
\prop_gput:Nnn \g__color_alternative_values_prop {#1} { #3 , #4 , #5 , #6 }
@@ -30435,9 +30449,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_const:cn { c__color_fallback_ #1 _tl } { rgb }
\cs_new:cpn { __color_convert_ #1 _rgb:w } ##1 \s__color_stop
{
- \fp_eval:n {##1 * #3} ~
- \fp_eval:n {##1 * #4} ~
- \fp_eval:n {##1 * #5}
+ \fp_eval:n {##1 * #3} ~
+ \fp_eval:n {##1 * #4} ~
+ \fp_eval:n {##1 * #5}
}
\cs_new:cpn { __color_convert_rgb_ #1 :w } ##1 \s__color_stop { 1 }
\prop_gput:Nnn \g__color_alternative_values_prop {#1} { #3 , #4 , #5 }
@@ -30522,7 +30536,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{#2}
\clist_map_break:n { \use_none:nnnn }
}
- }
+ }
}
{
\str_if_eq:nnF {##1} { none }
@@ -31171,37 +31185,37 @@ Type H <return> for immediate help}\def~{\errmessage{%
\prg_new_conditional:Npnn \pdf_version_compare:Nn #1#2 { p , T , F , TF }
{ \use:c { __pdf_version_compare_ #1 :w } #2 . . \s__pdf_stop }
\cs_new:cpn { __pdf_version_compare_=:w } #1 . #2 . #3 \s__pdf_stop
- {
- \bool_lazy_and:nnTF
- { \int_compare_p:nNn \__pdf_backend_version_major: = {#1} }
- { \int_compare_p:nNn \__pdf_backend_version_minor: = {#2} }
- { \prg_return_true: }
- { \prg_return_false: }
- }
+ {
+ \bool_lazy_and:nnTF
+ { \int_compare_p:nNn \__pdf_backend_version_major: = {#1} }
+ { \int_compare_p:nNn \__pdf_backend_version_minor: = {#2} }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
\cs_new:cpn { __pdf_version_compare_<:w } #1 . #2 . #3 \s__pdf_stop
- {
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \__pdf_backend_version_major: < {#1} }
- {
- \bool_lazy_and_p:nn
- { \int_compare_p:nNn \__pdf_backend_version_major: = {#1} }
- { \int_compare_p:nNn \__pdf_backend_version_minor: < {#2} }
- }
- { \prg_return_true: }
- { \prg_return_false: }
- }
+ {
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn \__pdf_backend_version_major: < {#1} }
+ {
+ \bool_lazy_and_p:nn
+ { \int_compare_p:nNn \__pdf_backend_version_major: = {#1} }
+ { \int_compare_p:nNn \__pdf_backend_version_minor: < {#2} }
+ }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
\cs_new:cpn { __pdf_version_compare_>:w } #1 . #2 . #3 \s__pdf_stop
- {
- \bool_lazy_or:nnTF
- { \int_compare_p:nNn \__pdf_backend_version_major: > {#1} }
- {
- \bool_lazy_and_p:nn
- { \int_compare_p:nNn \__pdf_backend_version_major: = {#1} }
- { \int_compare_p:nNn \__pdf_backend_version_minor: > {#2} }
- }
- { \prg_return_true: }
- { \prg_return_false: }
- }
+ {
+ \bool_lazy_or:nnTF
+ { \int_compare_p:nNn \__pdf_backend_version_major: > {#1} }
+ {
+ \bool_lazy_and_p:nn
+ { \int_compare_p:nNn \__pdf_backend_version_major: = {#1} }
+ { \int_compare_p:nNn \__pdf_backend_version_minor: > {#2} }
+ }
+ { \prg_return_true: }
+ { \prg_return_false: }
+ }
\cs_new_protected:Npn \pdf_version_gset:n #1
{ \__pdf_version_gset:w #1 . . \s__pdf_stop }
\cs_new_protected:Npn \pdf_version_min_gset:n #1
@@ -31504,7 +31518,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\box_set_eq:NN #1 #2
\prop_set_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ corners }
{ coffin ~ \__coffin_to_value:N #2 ~ corners }
- \prop_set_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ poles }
+ \prop_set_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ poles }
{ coffin ~ \__coffin_to_value:N #2 ~ poles }
}
}
@@ -31516,7 +31530,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\box_gset_eq:NN #1 #2
\prop_gset_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ corners }
{ coffin ~ \__coffin_to_value:N #2 ~ corners }
- \prop_gset_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ poles }
+ \prop_gset_eq:cc { coffin ~ \__coffin_to_value:N #1 ~ poles }
{ coffin ~ \__coffin_to_value:N #2 ~ poles }
}
}
@@ -31742,7 +31756,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
( \dim_to_fp:n {#7} / \dim_to_fp:n {#8} )
* ( \dim_to_fp:n {#4} - \dim_to_fp:n {#6} )
- + \dim_to_fp:n {#5}
+ + \dim_to_fp:n {#5}
}
}
}
@@ -31917,13 +31931,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \__coffin_find_corner_maxima_aux:nn #1#2
{
\dim_set:Nn \l__coffin_left_corner_dim
- { \dim_min:nn { \l__coffin_left_corner_dim } {#1} }
+ { \dim_min:nn { \l__coffin_left_corner_dim } {#1} }
\dim_set:Nn \l__coffin_right_corner_dim
- { \dim_max:nn { \l__coffin_right_corner_dim } {#1} }
+ { \dim_max:nn { \l__coffin_right_corner_dim } {#1} }
\dim_set:Nn \l__coffin_bottom_corner_dim
- { \dim_min:nn { \l__coffin_bottom_corner_dim } {#2} }
+ { \dim_min:nn { \l__coffin_bottom_corner_dim } {#2} }
\dim_set:Nn \l__coffin_top_corner_dim
- { \dim_max:nn { \l__coffin_top_corner_dim } {#2} }
+ { \dim_max:nn { \l__coffin_top_corner_dim } {#2} }
}
\cs_new_protected:Npn \__coffin_find_bounding_shift:
{
@@ -32089,13 +32103,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\dim_compare:nNnT \l__coffin_internal_dim < \c_zero_dim
{ \__kernel_kern:n { -\l__coffin_internal_dim } }
}
- \__coffin_reset_structure:N \l__coffin_aligned_coffin
- \prop_clear:c
- {
- coffin ~ \__coffin_to_value:N \l__coffin_aligned_coffin
- \c_space_tl corners
- }
- \__coffin_update_poles:N \l__coffin_aligned_coffin
+ \__coffin_reset_structure:N \l__coffin_aligned_coffin
+ \prop_clear:c
+ {
+ coffin ~ \__coffin_to_value:N \l__coffin_aligned_coffin
+ \c_space_tl corners
+ }
+ \__coffin_update_poles:N \l__coffin_aligned_coffin
\dim_compare:nNnTF \l__coffin_offset_x_dim < \c_zero_dim
{
\__coffin_offset_poles:Nnn #1 { -\l__coffin_offset_x_dim } { 0pt }
@@ -32602,7 +32616,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ ~ }
{ \char_generate:nn {#1} { 12 } }
}
- \cs_new:Npn \codepoint_generate:nn #1#2
+ \cs_new:Npn \codepoint_generate:nn #1#2
{
\int_compare:nNnTF {#1} = { `\ }
{ ~ }
@@ -32675,11 +32689,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
}
- \cs_new:Npn \__codepoint_generate:n #1
- {
- \__kernel_exp_not:w \exp_after:wN \exp_after:wN \exp_after:wN
- { \char_generate:nn {#1} { 13 } }
- }
+ \cs_new:Npn \__codepoint_generate:n #1
+ {
+ \__kernel_exp_not:w \exp_after:wN \exp_after:wN \exp_after:wN
+ { \char_generate:nn {#1} { 13 } }
+ }
}
\cs_new:Npn \__kernel_codepoint_to_bytes:n #1
{
@@ -32709,7 +32723,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__codepoint_to_bytes_outputi:nw
{
\__codepoint_to_bytes_auxii:Nnn F
- {#1} { 64 * 64 * 64 }
+ {#1} { 64 * 64 * 64 }
}
\__codepoint_to_bytes_outputii:nw
{
@@ -32898,18 +32912,18 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_set_protected:Npe \__codepoint_data_auxv:nnnnw #1#2#3#4#5 Last> #6 \q_stop
{
- \exp_not:N \tl_if_blank:nTF {#6}
- {
- \exp_not:N \__codepoint_range:nnn {#1} { category }
- { \exp_not:V \l__codepoint_category_Cn_tl }
- \exp_not:N \__codepoint_range:nnn {#1} { uppercase } { 0 }
- \exp_not:N \__codepoint_range:nnn {#1} { lowercase } { 0 }
- }
- {
- \exp_not:N \__codepoint_range:nnn {#1} { category } {#2}
- \exp_not:N \__codepoint_range:nnn {#1} { uppercase } {#3}
- \exp_not:N \__codepoint_range:nnn {#1} { lowercase } {#4}
- }
+ \exp_not:N \tl_if_blank:nTF {#6}
+ {
+ \exp_not:N \__codepoint_range:nnn {#1} { category }
+ { \exp_not:V \l__codepoint_category_Cn_tl }
+ \exp_not:N \__codepoint_range:nnn {#1} { uppercase } { 0 }
+ \exp_not:N \__codepoint_range:nnn {#1} { lowercase } { 0 }
+ }
+ {
+ \exp_not:N \__codepoint_range:nnn {#1} { category } {#2}
+ \exp_not:N \__codepoint_range:nnn {#1} { uppercase } {#3}
+ \exp_not:N \__codepoint_range:nnn {#1} { lowercase } {#4}
+ }
}
\cs_set_protected:Npn \__codepoint_range:nnn #1
{
@@ -32936,20 +32950,20 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_compare:nNnT { \clist_count:c { l__codepoint_ #3 _block_clist } }
= \c__codepoint_block_size_int
{ \__codepoint_save_blocks:nn {#3} { 1 } }
- \int_compare:nNnF
- { \int_div_truncate:nn { #2 - #1 } \c__codepoint_block_size_int } = 0
- {
- \tl_set:ce { l__codepoint_ #3 _block_clist }
- {
- \exp_args:NNe \use:nn \use_none:n
- { \prg_replicate:nn { \c__codepoint_block_size_int } { , #4 } }
- }
- \__codepoint_save_blocks:nn {#3}
- { \int_div_truncate:nn { (#2 - #1) } \c__codepoint_block_size_int }
- }
- \prg_replicate:nn
- { \int_mod:nn { #2 - #1 } \c__codepoint_block_size_int }
- { \clist_put_right:ce { l__codepoint_ #3 _block_clist } {#4} }
+ \int_compare:nNnF
+ { \int_div_truncate:nn { #2 - #1 } \c__codepoint_block_size_int } = 0
+ {
+ \tl_set:ce { l__codepoint_ #3 _block_clist }
+ {
+ \exp_args:NNe \use:nn \use_none:n
+ { \prg_replicate:nn { \c__codepoint_block_size_int } { , #4 } }
+ }
+ \__codepoint_save_blocks:nn {#3}
+ { \int_div_truncate:nn { (#2 - #1) } \c__codepoint_block_size_int }
+ }
+ \prg_replicate:nn
+ { \int_mod:nn { #2 - #1 } \c__codepoint_block_size_int }
+ { \clist_put_right:ce { l__codepoint_ #3 _block_clist } {#4} }
}
\cs_set_protected:Npn \__codepoint_save_blocks:nn #1#2
{
@@ -32990,13 +33004,13 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__codepoint_range:nnn { 110000 } {##1} { 0 }
\__codepoint_finalise_blocks:n {##1}
}
- }
+ }
\cs_set_protected:Npn \__codepoint_finalise_blocks:n #1
{
\cs_gset_eq:cc { c__codepoint_ #1 _index_intarray } { g__codepoint_ #1 _index_intarray }
\cs_undefine:c { g__codepoint_ #1 _index_intarray }
\intarray_new:cn { g__codepoint_ #1 _blocks_intarray }
- { ( \tl_use:c { l__codepoint_ #1 _block_tl } - 1 ) * \c__codepoint_block_size_int }
+ { ( \tl_use:c { l__codepoint_ #1 _block_tl } - 1 ) * \c__codepoint_block_size_int }
\int_step_inline:nn { \tl_use:c { l__codepoint_ #1 _block_tl } - 1 }
{
\exp_args:Nv \__codepoint_finalise_blocks:nnn
@@ -33330,15 +33344,15 @@ Type H <return> for immediate help}\def~{\errmessage{%
\if_catcode:w \exp_not:N #1 \c_space_token
10
\else:
- \if_catcode:w \exp_not:N #1 \c_catcode_letter_token
- 11
- \else:
- \if_catcode:w \exp_not:N #1 \c_catcode_other_token
- 12
- \else:
- 13
- \fi:
- \fi:
+ \if_catcode:w \exp_not:N #1 \c_catcode_letter_token
+ 11
+ \else:
+ \if_catcode:w \exp_not:N #1 \c_catcode_other_token
+ 12
+ \else:
+ 13
+ \fi:
+ \fi:
\fi:
\fi:
\fi:
@@ -33387,9 +33401,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\int_compare:nNnTF { `#2 } < { "E0 }
{ \__text_codepoint_process:nNN }
{
- \int_compare:nNnTF { `#2 } < { "F0 }
- { \__text_codepoint_process:nNNN }
- { \__text_codepoint_process:nNNNN }
+ \int_compare:nNnTF { `#2 } < { "F0 }
+ { \__text_codepoint_process:nNNN }
+ { \__text_codepoint_process:nNNNN }
}
{#1} #2
}
@@ -33598,10 +33612,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\token_if_eq_meaning:NNTF #1 #2
{
\__text_use_i_delimit_by_q_recursion_stop:nw
- {
- \__text_expand_store:n {#1}
- \__text_expand_math_loop:Nw #3
- }
+ {
+ \__text_expand_store:n {#1}
+ \__text_expand_math_loop:Nw #3
+ }
}
{ \__text_expand_math_search:NNN #1 }
}
@@ -33912,7 +33926,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ \__text_change_case:nnnn {#1} {#1} {#2} {#3} }
\cs_new:Npn \__text_change_case:nnnn #1#2#3#4
{
- \__kernel_exp_not:w \exp_after:wN
+ \__kernel_exp_not:w \exp_after:wN
{
\exp:w
\exp_args:Ne \__text_change_case_auxi:nnnn
@@ -34052,10 +34066,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\token_if_eq_meaning:NNTF #4 #5
{
\__text_use_i_delimit_by_q_recursion_stop:nw
- {
- \__text_change_case_store:n {#4}
- \__text_change_case_math_loop:nnnNw {#1} {#2} {#3} #6
- }
+ {
+ \__text_change_case_store:n {#4}
+ \__text_change_case_math_loop:nnnNw {#1} {#2} {#3} #6
+ }
}
{ \__text_change_case_math_search:nnnNNN {#1} {#2} {#3} #4 }
}
@@ -34133,8 +34147,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__text_change_case_exclude:nnnNnn #1#2#3#4#5#6
{
\tl_if_blank:nTF {#5}
- { \__text_change_case_store:n { #4 {#6} } }
- {
+ { \__text_change_case_store:n { #4 {#6} } }
+ {
\__text_change_case_store:o
{
\exp_after:wN #4
@@ -34215,7 +34229,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{
\__text_change_case_store:v
{ c__text_ #1 case_ \token_to_str:N #6 _tl }
- \use:c { __text_change_case_next_ #2 :nnn } {#2} {#4} {#5}
+ \use:c { __text_change_case_next_ #2 :nnn } {#2} {#4} {#5}
}
{
\__text_change_case_store:n {#6}
@@ -34387,10 +34401,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\codepoint_generate:nn {#2}
{ \char_value_catcode:n {#2} }
\tl_if_blank:nF {#3}
- {
- \codepoint_generate:nn {#3}
- { \char_value_catcode:n {#3} }
- }
+ {
+ \codepoint_generate:nn {#3}
+ { \char_value_catcode:n {#3} }
+ }
}
}
}
@@ -34472,10 +34486,10 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__text_codepoint_compare:nNnTF {#5} = { "00DF }
{
\__text_change_case_store:e
- {
- \codepoint_generate:nn { "1E9E }
- { \__text_change_case_catcode:nn {#5} { "1E9E } }
- }
+ {
+ \codepoint_generate:nn { "1E9E }
+ { \__text_change_case_catcode:nn {#5} { "1E9E } }
+ }
\use:c { __text_change_case_next_ #2 :nnn }
{#2} {#3} {#4}
}
@@ -34879,7 +34893,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\else:
\if_int_compare:w #1 = "1FCF \exp_stop_f:
\prg_return_true:
- \else:
+ \else:
\if_int_compare:w #1 = "1FDD \exp_stop_f:
\prg_return_true:
\else:
@@ -35083,15 +35097,15 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new:Npn \__text_change_case_breathing:nnnnnnw #1#2#3#4#5#6#7 \q_mark
{
\tl_if_blank:nTF {#7}
- {
- \__text_change_case_breathing_aux:nnnnnn
- {#1} {#2} {#3} {#4} {#5} {#6}
- }
- {
- \__text_codepoint_process:nN
- { \__text_change_case_breathing:nnnnnnw {#1} {#2} {#3} {#4} {#5} }
- #7 \q_mark
- }
+ {
+ \__text_change_case_breathing_aux:nnnnnn
+ {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+ {
+ \__text_codepoint_process:nN
+ { \__text_change_case_breathing:nnnnnnw {#1} {#2} {#3} {#4} {#5} }
+ #7 \q_mark
+ }
}
\cs_new:Npn \__text_change_case_breathing_aux:nnnnnn #1#2#3#4#5#6
{
@@ -35118,12 +35132,12 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
\cs_new:Npn \__text_change_case_breathing_dialytika:nnnn #1#2#3#4
{
- \__text_change_case_if_takes_dialytika:nTF {#4}
- {
- \__text_change_case_upper_el_dialytika:n {#4}
- \__text_change_case_loop:nnnw {#1} {#2} {#3}
- }
- { \__text_change_case_loop:nnnw {#1} {#2} {#3} #4 }
+ \__text_change_case_if_takes_dialytika:nTF {#4}
+ {
+ \__text_change_case_upper_el_dialytika:n {#4}
+ \__text_change_case_loop:nnnw {#1} {#2} {#3}
+ }
+ { \__text_change_case_loop:nnnw {#1} {#2} {#3} #4 }
}
\cs_new:Npn \__text_change_case_title_el:nnnnn #1#2#3#4#5
{ \__text_change_case_codepoint:nnnnn {#1} {#2} {#3} {#4} {#5} }
@@ -35244,7 +35258,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\tl_if_head_is_N_type:nTF {#4}
{ \__text_change_case_lower_lt:nnnN }
{ \__text_change_case_loop:nnnw }
- {#1} {#2} {#3} #4 \q__text_recursion_stop
+ {#1} {#2} {#3} #4 \q__text_recursion_stop
}
\cs_new:Npn \__text_change_case_lower_lt:nnnN #1#2#3#4
{
@@ -35277,7 +35291,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__text_change_case_loop:nnnw {#1} {#2} {#3} #4
}
\cs_new:Npn \__text_change_case_upper_lt:nnnnn #1#2#3#4#5
- {
+ {
\exp_args:Ne \__text_change_case_upper_lt_aux:nnnnn
{
\int_case:nn { \__text_codepoint_from_chars:Nw #5 }
@@ -35287,7 +35301,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
{ "012F } { "012E }
}
}
- {#2} {#3} {#4} {#5}
+ {#2} {#3} {#4} {#5}
}
\cs_new:Npn \__text_change_case_upper_lt_aux:nnnnn #1#2#3#4#5
{
@@ -35511,11 +35525,11 @@ Type H <return> for immediate help}\def~{\errmessage{%
}
}
\bool_lazy_or:nnF
- { \sys_if_engine_luatex_p: }
- { \sys_if_engine_xetex_p: }
- {
- \text_declare_uppercase_mapping:nn { "01F0 } { \v { J } }
- }
+ { \sys_if_engine_luatex_p: }
+ { \sys_if_engine_xetex_p: }
+ {
+ \text_declare_uppercase_mapping:nn { "01F0 } { \v { J } }
+ }
%% File: l3text-map.dtx
\cs_new:Npn \text_map_function:nN #1#2
{ \exp_args:Ne \__text_map_function:nN { \text_expand:n {#1} } #2 }
@@ -35929,7 +35943,7 @@ Type H <return> for immediate help}\def~{\errmessage{%
\token_if_eq_meaning:NNTF #1 #2
{
\__text_use_i_delimit_by_q_recursion_stop:nw
- { \__text_purify_math_start:NNw #2 #3 }
+ { \__text_purify_math_start:NNw #2 #3 }
}
{ \__text_purify_math_search:NNN #1 }
}
@@ -36448,8 +36462,6 @@ Type H <return> for immediate help}\def~{\errmessage{%
#1 #2 { #3 }
\__seq_pop_item_def:
}
-\cs_new_protected:Npn \tl_build_get:NN
- { \__tl_build_get:NNN \__kernel_tl_set:Ne }
%% File: l3legacy.dtx
\prg_new_conditional:Npnn \legacy_if:n #1 { p , T , F , TF }
{
@@ -36489,9 +36501,9 @@ Type H <return> for immediate help}\def~{\errmessage{%
\__kernel_deprecation_error:Nnn #4 {#2} {#1}
}
{ \tex_let:D #4 \scan_stop: }
- \cs_if_eq:NNTF #3 \cs_gset_protected:Npn
- { \__deprecation_warn_once:nnNnn {#1} {#2} #4 {#5} {#6} }
- { \__deprecation_patch_aux:Nn #3 { #4 #5 {#6} } }
+ \cs_if_eq:NNTF #3 \cs_gset_protected:Npn
+ { \__deprecation_warn_once:nnNnn {#1} {#2} #4 {#5} {#6} }
+ { \__deprecation_patch_aux:Nn #3 { #4 #5 {#6} } }
}
\cs_new_protected:Npn \__deprecation_warn_once:nnNnn #1#2#3#4#5
{
@@ -36862,6 +36874,8 @@ Type H <return> for immediate help}\def~{\errmessage{%
\cs_new_protected:Npn \tl_build_clear:N { \tl_build_begin:N }
\__kernel_patch_deprecation:nnNNpn { 2023-10-18 } { \tl_build_gbegin:N }
\cs_new_protected:Npn \tl_build_gclear:N { \tl_build_gbegin:N }
+\__kernel_patch_deprecation:nnNNpn { 2023-10-25 } { \tl_build_get_intermediate:NN }
+\cs_new_protected:Npn \tl_build_get:NN { \tl_build_get_intermediate:NN }
\__kernel_patch_deprecation:nnNNpn { 2022-10-09 } { [ \codepoint_generate:nn ] }
\cs_gset:Npn \char_to_utfviii_bytes:n { \__kernel_codepoint_to_bytes:n }
\__kernel_patch_deprecation:nnNNpn { 2022-10-09 } { \codepoint_to_nfd:n }
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index c96edbd9b76..ea54c39293e 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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{2023-12-11}%
+\def\ExplFileDate{2024-01-04}%
\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 75aab50ff85..a37c8e41829 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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{2023-12-11}%
+\def\ExplFileDate{2024-01-04}%
\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 8310a87a26e..0ed3d56ab8c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.lua
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.lua
@@ -10,7 +10,7 @@
-- l3token.dtx (with options: `package,lua')
-- l3intarray.dtx (with options: `package,lua')
--
--- Copyright (C) 1990-2023 The LaTeX Project
+-- Copyright (C) 1990-2024 The LaTeX 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 bfe4628271b..6e2bffbc859 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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{2023-12-11}%
+\def\ExplFileDate{2024-01-04}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3bitset.sty b/Master/texmf-dist/tex/latex/l3kernel/l3bitset.sty
deleted file mode 100644
index 1e1631029c9..00000000000
--- a/Master/texmf-dist/tex/latex/l3kernel/l3bitset.sty
+++ /dev/null
@@ -1,26 +0,0 @@
-%%
-%% This is file `l3bitset.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% l3bitset.dtx (with options: `stub')
-%%
-%% Copyright (C) 1990-2023 The LaTeX Project
-%%
-%% It may be distributed and/or modified under the conditions of
-%% the LaTeX Project Public License (LPPL), either version 1.3c of
-%% this license or (at your option) any later version. The latest
-%% version of this license is in the file:
-%%
-%% https://www.latex-project.org/lppl.txt
-%%
-%% This file is part of the "l3kernel bundle" (The Work in LPPL)
-%% and all files in that bundle must be distributed together.
-%%
-%% File: l3bitset.dtx
-\ProvidesExplPackage{l3bitset}{2023-12-11}{}
- {L3 Experimental bitset support}
-%%
-%%
-%% End of file `l3bitset.sty'.
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3debug.def b/Master/texmf-dist/tex/latex/l3kernel/l3debug.def
index bd49697deb4..28e21e3a6eb 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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: l3debug.dtx
-\ProvidesExplFile{l3debug.def}{2023-12-11}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-01-04}{}{L3 Debugging support}
\scan_new:N \s__debug_stop
\cs_new:Npn \__debug_use_i_delimit_by_s_stop:nw #1 #2 \s__debug_stop {#1}
\quark_new:N \q__debug_recursion_tail
@@ -28,12 +28,12 @@
#1 \q__debug_recursion_stop { }
\__kernel_quark_new_test:N \__debug_if_recursion_tail_stop:N
\cs_set_protected:Npn \debug_on:n #1
- {
+ {
\exp_args:No \clist_map_inline:nn { \tl_to_str:n {#1} }
- {
+ {
\cs_if_exist_use:cF { __debug_ ##1 _on: }
{ \msg_error:nnn { debug } { debug } {##1} }
- }
+ }
}
\cs_set_protected:Npn \debug_off:n #1
{
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls b/Master/texmf-dist/tex/latex/l3kernel/l3doc.cls
index 7c9f338b9ed..c8603e6af79 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
@@ -20,7 +20,7 @@
%%
%% File: l3doc.dtx
\RequirePackage{calc}
-\ProvidesExplClass{l3doc}{2023-12-11}{}
+\ProvidesExplClass{l3doc}{2024-01-04}{}
{L3 Experimental documentation class}
\clist_new:N \g_docinput_clist
\seq_new:N \g_doc_functions_seq
@@ -386,11 +386,11 @@
\bool_gset_true:N \g__codedoc_typeset_documentation_bool
\bool_gset_true:N \g__codedoc_typeset_implementation_bool
} ,
- onlydoc .code:n =
- {
- \bool_gset_true:N \g__codedoc_typeset_documentation_bool
- \bool_gset_false:N \g__codedoc_typeset_implementation_bool
- } ,
+ onlydoc .code:n =
+ {
+ \bool_gset_true:N \g__codedoc_typeset_documentation_bool
+ \bool_gset_false:N \g__codedoc_typeset_implementation_bool
+ } ,
check .bool_gset:N = \g__codedoc_checkfunc_bool ,
checktest .bool_gset:N = \g__codedoc_checktest_bool ,
kernel .bool_gset:N = \g__codedoc_kernel_bool ,
@@ -693,28 +693,28 @@
\@
}
\bool_if:NT \l__codedoc_allow_indexing_bool
- {
- \bool_if:NF \l__codedoc_cmd_noindex_bool
- {
- \quark_if_no_value:NF \l__codedoc_cmd_index_tl
- {
- \__kernel_tl_set:Ne \l__codedoc_cmd_tl
- { \c_backslash_str \exp_not:o { \l__codedoc_cmd_index_tl } }
- }
- \exp_args:No \__codedoc_key_get:n { \l__codedoc_cmd_tl }
- \quark_if_no_value:NF \l__codedoc_cmd_module_tl
+ {
+ \bool_if:NF \l__codedoc_cmd_noindex_bool
{
- \__kernel_tl_set:Ne \l__codedoc_index_module_tl
- { \tl_to_str:N \l__codedoc_cmd_module_tl }
+ \quark_if_no_value:NF \l__codedoc_cmd_index_tl
+ {
+ \__kernel_tl_set:Ne \l__codedoc_cmd_tl
+ { \c_backslash_str \exp_not:o { \l__codedoc_cmd_index_tl } }
+ }
+ \exp_args:No \__codedoc_key_get:n { \l__codedoc_cmd_tl }
+ \quark_if_no_value:NF \l__codedoc_cmd_module_tl
+ {
+ \__kernel_tl_set:Ne \l__codedoc_index_module_tl
+ { \tl_to_str:N \l__codedoc_cmd_module_tl }
+ }
+ \__codedoc_special_index_module:ooonN
+ { \l__codedoc_index_key_tl }
+ { \l__codedoc_index_macro_tl }
+ { \l__codedoc_index_module_tl }
+ { usage }
+ \l__codedoc_index_internal_bool
}
- \__codedoc_special_index_module:ooonN
- { \l__codedoc_index_key_tl }
- { \l__codedoc_index_macro_tl }
- { \l__codedoc_index_module_tl }
- { usage }
- \l__codedoc_index_internal_bool
- }
- }
+ }
}
\cs_generate_variant:Nn \__codedoc_cmd:nn { no }
\cs_new_protected:Npn \__codedoc_meta:n #1
@@ -1154,7 +1154,10 @@
\__codedoc_typeset_aux:n { \__codedoc_get_function_name:n {#1} }
:
\int_compare:nTF { \seq_count:N \g__codedoc_variants_seq == 1 }
- { \seq_use:Nn \g__codedoc_variants_seq { } }
+ {
+ \seq_use:Nn \g__codedoc_variants_seq { }
+ \bool_if:NT #2 { \__codedoc_typeset_TF: }
+ }
{
\hbox_set:Nn \l_tmpa_box
{ \seq_use:Nn \g__codedoc_variants_seq { \textrm| \nolinebreak[2] } }
@@ -1367,9 +1370,14 @@
{ \__codedoc_names_block_base_map:N \__codedoc_macro_save_names_aux:n }
{
\seq_gput_right:Ne \g__codedoc_nested_names_seq
- { \tl_to_str:N \l__codedoc_macro_documented_tl }
+ {
+ \exp_after:wN \__codedoc_macro_save_names_aux:w
+ \l__codedoc_macro_documented_tl \q__codedoc_stop
+ }
}
}
+\cs_new:Npn \__codedoc_macro_save_names_aux:w #1#2 \q__codedoc_stop
+ { \token_to_str:N #1 \tl_to_str:n {#2} }
\cs_new_protected:Npn \__codedoc_macro_save_names_aux:n #1
{ \seq_gput_right:Nn \g__codedoc_nested_names_seq {#1} }
\cs_new_protected:Npn \__codedoc_macro_exclude_index:
@@ -1556,21 +1564,21 @@
\cs_new_protected:Npn \__codedoc_macro_end_check_tested:
{
\bool_lazy_all:nT
- {
- { \g__codedoc_checktest_bool }
- { ! \l__codedoc_macro_var_bool }
- { ! \l__codedoc_macro_tested_bool }
- }
- {
- \seq_set_filter:NNn \l__codedoc_tmpa_seq \l__codedoc_names_seq
- { ! \__codedoc_if_macro_internal_p:n {##1} }
- \seq_gput_right:Ne \g__codedoc_not_tested_seq
- {
- \seq_use:Nn \l__codedoc_tmpa_seq { , }
- \bool_if:NTF \l__codedoc_macro_pTF_bool {~(pTF)}
- { \bool_if:NT \l__codedoc_macro_TF_bool {~(TF)} }
- }
- }
+ {
+ { \g__codedoc_checktest_bool }
+ { ! \l__codedoc_macro_var_bool }
+ { ! \l__codedoc_macro_tested_bool }
+ }
+ {
+ \seq_set_filter:NNn \l__codedoc_tmpa_seq \l__codedoc_names_seq
+ { ! \__codedoc_if_macro_internal_p:n {##1} }
+ \seq_gput_right:Ne \g__codedoc_not_tested_seq
+ {
+ \seq_use:Nn \l__codedoc_tmpa_seq { , }
+ \bool_if:NTF \l__codedoc_macro_pTF_bool {~(pTF)}
+ { \bool_if:NT \l__codedoc_macro_TF_bool {~(TF)} }
+ }
+ }
}
\cs_new_protected:Npn \__codedoc_macro_end_style:n #1
{
@@ -1676,17 +1684,17 @@
\providecommand\Hy@footnote@currentHref{}
\prop_new:N\g__codedoc_fnmark_prop
\cs_new_protected:Npn \__codedoc_fn_store:
- {
- \prop_gput:Nee\g__codedoc_fnmark_prop
- {fn\int_use:N\c@footnote}{{\Hy@footnote@currentHref}{\int_use:N\c@footnote}}
- }
+ {
+ \prop_gput:Nee\g__codedoc_fnmark_prop
+ {fn\int_use:N\c@footnote}{{\Hy@footnote@currentHref}{\int_use:N\c@footnote}}
+ }
\cs_new_protected:Npn \__codedoc_fn_restore:n #1
- {
- \prop_get:NnN \g__codedoc_fnmark_prop {fn#1}\l__codedoc_tmpa_tl
- \tl_gset:Ne\Hy@footnote@currentHref
- {\exp_last_unbraced:NV\use_i:nn \l__codedoc_tmpa_tl }
- \setcounter{footnote}{\exp_last_unbraced:NV\use_ii:nn \l__codedoc_tmpa_tl}
- }
+ {
+ \prop_get:NnN \g__codedoc_fnmark_prop {fn#1}\l__codedoc_tmpa_tl
+ \tl_gset:Ne\Hy@footnote@currentHref
+ {\exp_last_unbraced:NV\use_i:nn \l__codedoc_tmpa_tl }
+ \setcounter{footnote}{\exp_last_unbraced:NV\use_ii:nn \l__codedoc_tmpa_tl}
+ }
\cs_generate_variant:Nn \hook_gput_next_code:nn {ne}
\cs_new_protected:Npn \__codedoc_fn_footnote:nn #1 #2
@@ -1767,7 +1775,7 @@
{ #1 \endinput }
}
\cs_if_exist:NT \MaybeStop
- { \RenewCommandCopy \MaybeStop \StopEventually }
+ { \RenewCommandCopy \MaybeStop \StopEventually }
\DeclareDocumentCommand \Finale { }
{ \tl_use:N \g__codedoc_finale_tl }
\tl_new:N \g__codedoc_finale_tl
diff --git a/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex b/Master/texmf-dist/tex/latex/l3kernel/l3docstrip.tex
index 8fcf63f298b..eda3985bd07 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 54adf9feaff..485fa39a1df 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 4ab1e049fd7..a7af4567560 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 b5215733061..ec28015dd4c 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 0a8ac3617e1..b28db7deda2 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 f257fd601ac..a154a1c0cb5 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 2d58b3c24c0..ca071e99247 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 affcaa2a421..44d4a1ae608 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 1b0704ddb37..d54a4820c7d 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 66420548171..d195b703b44 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 6fe60ae6937..2249de98bcc 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 aa6ff115378..e54409a6e1d 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 108430014d0..e7c6e888cc0 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 ea4d8964a85..292b3600ee5 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 80b9ac039b5..eef8f134bb1 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX 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 a2625b60792..cb640b641a3 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-2023 The LaTeX Project
+%% Copyright (C) 1990-2024 The LaTeX Project
%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of