diff options
author | Karl Berry <karl@freefriends.org> | 2024-01-05 21:44:47 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-01-05 21:44:47 +0000 |
commit | 6a01d0fdf35acd93acf101e457f2a7b728e31f9a (patch) | |
tree | 691ecc30cec73b12097647aab94e2a13759fbde8 | |
parent | 2e36941df7aa3a67dbb90bd5b6ba181989b959a9 (diff) |
l3 (5jan24)
git-svn-id: svn://tug.org/texlive/trunk@69310 c570f23f-e606-0410-a88d-b1316a301751
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 Binary files differindex dc7099b579b..3617a446d20 100644 --- a/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf +++ b/Master/texmf-dist/doc/latex/l3backend/l3backend-code.pdf 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 Binary files differindex 83471b67fd7..9da3c2ae156 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf Binary files differindex 6b8a5e9a929..4beda52c984 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf Binary files differindex 66ce45d7109..42212b3f649 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf Binary files differindex 096288c14ad..0898e6463c6 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf Binary files differindex 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 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 Binary files differindex 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 diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf Binary files differindex 98b321ae283..bee04ded965 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf Binary files differindex bd9bf88c833..a633e46628b 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf Binary files differindex e1964e85ee2..50375b414b3 100644 --- a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf +++ b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf 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 Binary files differindex 6981f1fc340..123d474f9be 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf Binary files differindex b7598e70825..3144931ce49 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf 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 Binary files differindex 2ca0d9cbc40..9201da42ef5 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf Binary files differindex 887d4d52475..cb2d544930c 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf Binary files differindex 2c87f4f00ca..0a5bc3794d4 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf Binary files differindex 2caf5448b96..ca854aca2dd 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf Binary files differindex 7bf6c3b5b72..abc710c5e83 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf Binary files differindex 7e790309acf..67c3c65908b 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf Binary files differindex c0e7744a125..aeae2e688f6 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf Binary files differindex 09a8a17473e..33026d2cdcf 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf Binary files differindex e17d4ba600c..cab5c11273d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf Binary files differindex ee3855783fc..c5a3d300a54 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf Binary files differindex 8673d4a0784..5a5517c002b 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf Binary files differindex 00fff384ee3..95f1aa0ee5e 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf Binary files differindex dcac23758dd..1b8dc9af299 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf Binary files differindex 1a3a1038f61..bfb59818be2 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf Binary files differindex 5ff84d3990f..eddbad6dca3 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf 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 Binary files differindex f174ef9e0f3..4a23b2563d6 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf Binary files differindex 6bf6d1bc460..7e379d5eae0 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf 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 Binary files differindex 63f01138b71..5fc4a897089 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf 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 Binary files differindex 8e3ca84f081..2e4db4a60c9 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf 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 Binary files differindex fc0be1908bf..8485500fb3d 100644 --- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf +++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf 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 |