From 6d3705c4cb01ac51e8b9224ceef15066cf850536 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 8 Dec 2023 21:35:35 +0000 Subject: l3experimental (8dec23) git-svn-id: svn://tug.org/texlive/trunk@69065 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/l3experimental/CHANGELOG.md | 16 +- .../texmf-dist/doc/latex/l3experimental/README.md | 11 +- .../l3experimental/l3benchmark/l3benchmark.pdf | Bin 308534 -> 308820 bytes .../doc/latex/l3experimental/l3bitset/l3bitset.pdf | Bin 404410 -> 0 bytes .../latex/l3experimental/l3draw/l3draw-code.pdf | Bin 681452 -> 682740 bytes .../doc/latex/l3experimental/l3draw/l3draw.pdf | Bin 517829 -> 518932 bytes .../latex/l3experimental/l3graphics/l3graphics.pdf | Bin 383641 -> 383921 bytes .../latex/l3experimental/l3opacity/l3opacity.pdf | Bin 313597 -> 313872 bytes .../latex/l3experimental/l3str/l3str-format.pdf | Bin 368029 -> 368314 bytes .../l3experimental/l3sys-shell/l3sys-shell.pdf | Bin 348053 -> 348328 bytes .../doc/latex/l3experimental/xcoffins/xcoffins.pdf | Bin 394481 -> 394766 bytes .../doc/latex/l3experimental/xgalley/l3galley.pdf | Bin 408914 -> 409197 bytes .../doc/latex/l3experimental/xgalley/xgalley.pdf | Bin 299636 -> 299916 bytes .../l3experimental/l3benchmark/l3benchmark.dtx | 4 +- .../latex/l3experimental/l3bitset/l3bitset.dtx | 592 --------------------- .../latex/l3experimental/l3bitset/l3bitset.ins | 62 --- .../latex/l3experimental/l3draw/l3draw-boxes.dtx | 42 +- .../latex/l3experimental/l3draw/l3draw-layers.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-paths.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-points.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-scopes.dtx | 2 +- .../l3experimental/l3draw/l3draw-softpath.dtx | 2 +- .../latex/l3experimental/l3draw/l3draw-state.dtx | 2 +- .../l3experimental/l3draw/l3draw-transforms.dtx | 2 +- .../source/latex/l3experimental/l3draw/l3draw.dtx | 17 +- .../latex/l3experimental/l3graphics/l3graphics.dtx | 4 +- .../latex/l3experimental/l3opacity/l3opacity.dtx | 4 +- .../latex/l3experimental/l3str/l3str-format.dtx | 4 +- .../l3experimental/l3sys-shell/l3sys-shell.dtx | 4 +- .../latex/l3experimental/xcoffins/xcoffins.dtx | 4 +- .../latex/l3experimental/xgalley/l3galley.dtx | 4 +- .../latex/l3experimental/xgalley/xgalley.dtx | 4 +- .../l3experimental/l3benchmark/l3benchmark.sty | 2 +- .../tex/latex/l3experimental/l3bitset/l3bitset.sty | 235 -------- .../tex/latex/l3experimental/l3draw/l3draw.sty | 35 +- .../latex/l3experimental/l3graphics/l3graphics.sty | 2 +- .../latex/l3experimental/l3opacity/l3opacity.sty | 2 +- .../latex/l3experimental/l3str/l3str-format.sty | 2 +- .../l3experimental/l3sys-shell/l3sys-shell.sty | 2 +- .../tex/latex/l3experimental/xcoffins/xcoffins.sty | 2 +- .../tex/latex/l3experimental/xgalley/l3galley.sty | 2 +- .../tex/latex/l3experimental/xgalley/xgalley.sty | 2 +- 42 files changed, 121 insertions(+), 951 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf delete mode 100644 Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx delete mode 100644 Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.ins delete mode 100644 Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty diff --git a/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md index 7d3becf388c..d6e3645c595 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] +## [2023-12-08] + +### Added +- `\draw_box_use:Nn` and `\draw_coffin_use:Nnnn` to allow + placement of boxed material at an offset (issue \#1357) + +### Removed +- `l3bitset`: moved to `l3kernel` + ## [2023-11-01] ### Changed @@ -151,7 +160,6 @@ this project uses date-based 'snapshot' version identifiers. - Support for multiple color models (see #739) ### Removed - - `l3cctab`: moved to `l3kernel` ## [2020-06-18] @@ -226,8 +234,7 @@ this project uses date-based 'snapshot' version identifiers. ## [2019-05-03] -## Fixed - +### Fixed - Clipping of paths by `l3draw` ## [2019-03-05] @@ -286,7 +293,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-11-01...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2023-12-08...HEAD +[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 [2023-05-11]: https://github.com/latex3/latex3/compare/2023-04-19...2023-05-11 diff --git a/Master/texmf-dist/doc/latex/l3experimental/README.md b/Master/texmf-dist/doc/latex/l3experimental/README.md index 138d7975300..52c7d97926b 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-11-01 +Release 2023-12-08 Overview -------- @@ -22,7 +22,6 @@ is updated at the same time. Currently included in the CTAN release of l3experimental are the following bundles: * `l3benchmark` -* `l3bitset` * `l3draw` * `l3graphics` * `l3opacity` @@ -36,14 +35,6 @@ bundles: This module provides support for benchmarking the performance of code. -`l3bitset` -------------- - -This module provides a `bitset` data type, a vector of bits, which can be set -and unset using their individual index in the vector, or using names assigned to -each position in the vector. The bitset can be returned as a string of bits or -as a decimal integer. - `l3draw` -------- diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf index 382968cbf2b..83471b67fd7 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf deleted file mode 100644 index 17b59d8a2b5..00000000000 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3bitset/l3bitset.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf index 8c79d0a1b77..c2e80fc3405 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf index 583e37966bd..6b8a5e9a929 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf index 52daaf7cb60..66ce45d7109 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3graphics/l3graphics.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf index 4f871a2bcbd..096288c14ad 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf index 9a8715c64ff..83b57b975b2 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf index 201397cbd69..3152e29a00d 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf and b/Master/texmf-dist/doc/latex/l3experimental/l3sys-shell/l3sys-shell.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf index b10dcf84535..98b321ae283 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf index f4f6d46e8c4..bd9bf88c833 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf differ diff --git a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf index 9aeb6d4e190..e1964e85ee2 100644 Binary files a/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf and b/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf differ diff --git a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx index 26feb420abb..bc21191d4b8 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -122,7 +122,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3benchmark}{2023-11-01}{} +\ProvidesExplPackage{l3benchmark}{2023-12-08}{} {L3 Experimental benchmarking} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx b/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx deleted file mode 100644 index 4783bd77868..00000000000 --- a/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.dtx +++ /dev/null @@ -1,592 +0,0 @@ -% \iffalse meta-comment -% -%% File: l3bitset.dtx -% -% Copyright (C) 2020-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 -% -% http://www.latex-project.org/lppl.txt -% -% This file is part of the "l3bitset bundle" (The Work in LPPL) -% and all files in that bundle must be distributed together. -% -% ----------------------------------------------------------------------- -% -% The development version of the bundle can be found at -% -% https://github.com/latex3/latex3 -% -% for those people who are interested. -% -%<*driver> -\documentclass[full]{l3doc} -\begin{document} - \DocInput{\jobname.dtx} -\end{document} -% -% \fi -% \title{^^A -% The \pkg{l3bitset} package \\ Experimental bitsets ^^A -% } -% -% \author{^^A -% The \LaTeX{} Project\thanks -% {^^A -% E-mail: -% \href{mailto:latex-team@latex-project.org} -% {latex-team@latex-project.org}^^A -% }^^A -% } -% -% \date{Released 2023-11-01} -% -% \maketitle -% \begin{documentation} -% -% This package 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 -% index positions $1$, $2$, $3$,\ldots. More names can be added and existing names can -% be changed. -% The index is like all other indices in \pkg{expl3} modules \emph{1-based}. -% A \texttt{bitset} can be output as binary number or---as needed e.g. in a -% PDF dictionary---as decimal (arabic) number. -% Currently only a small subset of the functions provided by the \pkg{bitset} -% package are implemented here, mainly the functions needed to use bitsets in -% PDF dictionaries. -% -% 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 -% 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 -% bitsets \texttt{fp} is used and this is slower. -% -% \section{Creating bitsets} -% \begin{function}[added = 2021-01-26,updated=2020-12-29] -% {\bitset_new:N,\bitset_new:c,\bitset_new:Nn, \bitset_new:cn} -% \begin{syntax} -% \cs{bitset_new:N} \meta{bitset var} \\ -% \cs{bitset_new:Nn} \meta{bitset var} -% \{ -% \meta{name1} |=| \meta{index1} |,| -% \meta{name2} |=| \meta{index2} |,| \ldots{} -% \} -% \end{syntax} -% Creates a new \meta{bitset var} or raises an error if the name is already taken. -% The declaration is global. The \meta{bitset var} is initially $0$. -% -% Bitsets are implemented as string variables consisting of -% \texttt{1}'s and \texttt{0}'s. -% The rightmost number is the index position $1$, so -% the string variable can be viewed directly as the binary number. -% But one shouldn't rely on the internal representation, but use the -% dedicated \cs{bitset_to_bin:N} instead to get the binary number. -% -% The name--index pairs given in the second -% argument of \cs{bitset_new:Nn} declares names for some indices, -% which can be used to set and unset bits. -% The names |1|, |2|, |3|, \ldots\ are predeclared and point to the -% index positions $1$, $2$, $3$, \ldots. -% -% \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 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|, -% but the index position $10$ can then only be reached if some other -% name for it exists, e.g. |ten=10|. -% It is not necessary to give every index -% a name, and an index can have more than one name. The named index -% can be extended or changed with the next function. -% -% \end{function} -% \begin{function}[added = 2021-01-26] -% {\bitset_addto_named_index:Nn} -% \begin{syntax} -% \cs{bitset_addto_named_index:Nn} \meta{bitset var} -% \{ -% \meta{name1} |=| \meta{index1} |,| -% \meta{name2} |=| \meta{index2} |,| \ldots{} -% \} -% \end{syntax} -% This extends or changes the name--index pairs for \meta{bitset var} -% globally as described for \cs{bitset_new:Nn}. -% -% For example after these settings -% -% \begin{verbatim} -% \bitset_new:Nn \l_pdfannot_F_bitset -% { -% Invisible = 1, -% Hidden = 2, -% Print = 3, -% NoZoom = 4, -% NoRotate = 5, -% NoView = 6, -% ReadOnly = 7, -% Locked = 8, -% ToggleNoView = 9, -% LockedContents = 10 -% } -% \bitset_addto_named_index:Nn \l_pdfannot_F_bitset -% { -% print = 3 -% } -% \end{verbatim} -% it is possible to set bit $3$ by using any of this alternatives: -% \begin{verbatim} -% \bitset_set_true:Nn \l_pdfannot_F_bitset {Print} -% \bitset_set_true:Nn \l_pdfannot_F_bitset {print} -% \bitset_set_true:Nn \l_pdfannot_F_bitset {3} -% \end{verbatim} -% \end{function} -% -% \begin{function}[EXP, pTF,added = 2021-01-26] -% { \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}% -% \end{syntax} -% Tests whether the \meta{bitset var} exist. -% \end{function} -% -% \section{Setting and unsetting bits} -% -% \begin{function}[added = 2021-01-26] -% { \bitset_set_true:Nn, \bitset_set_true:cn, \bitset_gset_true:Nn, \bitset_gset_true:cn } -% \begin{syntax} -% \cs{bitset_set_true:Nn} \meta{bitset var} \Arg{name}\\ -% \cs{bitset_gset_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 -% |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. -% \end{function} -% -% \begin{function}[added = 2021-01-26] -% { \bitset_set_false:Nn, \bitset_set_false:cn, \bitset_gset_false:Nn, \bitset_set_false:cn } -% \begin{syntax} -% \cs{bitset_set_false:Nn} \meta{bitset var} \Arg{name}\\ -% \cs{bitset_gset_false:Nn} \meta{bitset var} \Arg{name} -% \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 -% |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 -% nothing happens. If the leading (left most) bit is unset, -% zeros are not trimmed but stay in the bit vector and are still shown -% by \cs{bitset_show:N}. -% \end{function} -% -% \begin{function}[added = 2021-01-26] -% {\bitset_clear:N,\bitset_clear:c,\bitset_gclear:N,\bitset_gclear:c} -% \begin{syntax} -% \cs{bitset_clear:N} \meta{bitset var} \\ -% \cs{bitset_gclear:N} \meta{bitset var} -% \end{syntax} -% This resets the bitset to the initial state. The declared names are not changed. -% \end{function} -% -% \section{Using bitsets} -% -% \begin{function}[EXP,added = 2021-01-26] -% { \bitset_item:Nn, \bitset_item:cn } -% \begin{syntax} -% \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 -% |1|, |2|, |3|, \ldots, or one of the names added manually. -% \end{function} -% -% \begin{function}[EXP,added = 2021-01-26] -% {\bitset_to_bin:N, \bitset_to_bin:c} -% \begin{syntax} -% \cs{bitset_to_bin:N} \meta{bitset var} -% \end{syntax} -% This leaves the current value of the bitset expressed as -% a binary (string) number in the input stream. -% If no bit has been set yet, the output is zero. -% \end{function} -% \begin{function}[EXP,added = 2021-01-26] -% {\bitset_to_arabic:N, \bitset_to_arabic:c} -% \begin{syntax} -% \cs{bitset_to_arabic:N} \meta{bitset var} -% \end{syntax} -% 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. -% \end{function} -% -% \begin{function}[added = 2021-01-26] -% {\bitset_show:N, \bitset_show:c} -% \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, -% \end{function} -% -% \begin{function}[added = 2021-01-26] -% {\bitset_log:N, \bitset_log:c} -% \begin{syntax} -% \cs{bitset_log:N} \meta{bitset var} -% \end{syntax} -% Writes the value of the \meta{bitset var} in the log file. -% \end{function} -% -% \end{documentation} -% -% \begin{implementation} -% \section{\pkg{l3bitset} implementation} -% \TestFiles{m3bitset001,m3bitset002} -% \begin{macrocode} -%<*package> -% \end{macrocode} -% -% \begin{macrocode} -%<@@=bitset> -% \end{macrocode} -% \begin{macrocode} -\ProvidesExplPackage{l3bitset}{2023-11-01}{} - {L3 Experimental bitset support} -% \end{macrocode} -% A bitset is a string variable. -% \begin{macro} -% { -% \bitset_new:N, \bitset_new:c -% } -% \begin{macrocode} -\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} - } -\cs_generate_variant:Nn \bitset_new:N { c } -% \end{macrocode} -% \end{macro} -% \begin{variable}{\l_@@_tmpa_prop} -% A scratch prop to be able to extend the names properties. -% \begin{macrocode} -\prop_new:N \l_@@_tmpa_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_@@_tmpa_prop {#2} - \prop_map_inline:Nn \l_@@_tmpa_prop - { - \prop_gput:cnn - { g_@@_ \cs_to_str:N #1 _name_prop } - {##1} - {##2} - } - } -% \end{macrocode} -% \end{macro} -% \begin{macro}[EXP,pTF] -% { -% \bitset_if_exist:N, \bitset_if_exist:c -% } -% Existence tests. -% \begin{macrocode} -\prg_new_eq_conditional:NNn - \bitset_if_exist:N \str_if_exist:N { p , T , F , TF } -\prg_new_eq_conditional:NNn - \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 -% position. -% A bit is set by either extending the string or by splitting it and -% then inserting an $1$. It is not checked if the value was already $1$. -% \begin{macrocode} -\cs_new_protected:Npn \@@_set_true:Nn #1#2 - { \@@_set:NNnN \str_set:Ne #1 {#2} 1 } -\cs_new_protected:Npn \@@_gset_true:Nn #1#2 - { \@@_set:NNnN \str_gset:Ne #1 {#2} 1 } -\cs_new_protected:Npn \@@_set_false:Nn #1#2 - { \@@_set:NNnN \str_set:Ne #1 {#2} 0 } -\cs_new_protected:Npn \@@_gset_false:Nn #1#2 - { \@@_set:NNnN \str_gset:Ne #1 {#2} 0 } -\cs_new_protected:Npn \@@_set:NNnN #1#2#3#4 - { - \int_compare:nNnT {#3} > { 0 } - { - \int_compare:nNnTF { \str_count:N #2 } < {#3} - { - #1 #2 - { - #4 - \prg_replicate:nn { #3 - \str_count:N #2 - 1 } { 0 } - #2 - } - } - { - #1 #2 - { - \str_range:Nnn #2 { 1 } { -1 - (#3) } - #4 - \str_range:Nnn #2 { 1 - (#3) } { -1 } - } - } - } - } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{variable}{\l_@@_internal_int} -% \begin{macrocode} -\int_new:N \l_@@_internal_int -% \end{macrocode} -% \end{variable} -% -% \begin{macro}[TF]{\@@_test_digits:n} -% \begin{macro}{\@@_test_digits_end:n} -% \begin{macro}{\@@_test_digits:wn} -% \url{https://chat.stackexchange.com/transcript/message/56878159#56878159} -% \begin{macrocode} -\prg_new_protected_conditional:Npnn \@@_test_digits:n #1 { TF } - { - \tex_afterassignment:D \@@_test_digits:w - \l_@@_internal_int = 0 \tl_trim_spaces_apply:nN {#1} \tl_to_str:n - \@@_test_digits_end: - \use_i:nnn \if_false: - \@@_test_digits_end: - \if_int_compare:w \c_zero_int < \l_@@_internal_int - \prg_return_true: - \else: - \prg_return_false: - \fi: - } -\cs_new_eq:NN \@@_test_digits_end: \exp_stop_f: -\cs_new_protected:Npn \@@_test_digits:w #1 \@@_test_digits_end: { } -% \end{macrocode} -% \end{macro} -% \end{macro} -% \end{macro} -% -% \begin{macro} -% { -% \bitset_set_true:Nn, \bitset_set_true:cn, -% \bitset_gset_true:Nn, \bitset_gset_true:cn, -% } -% \begin{macro}{\@@_set_aux:NNn} -% The user commands must first translate the argument to an index number. -% \begin{macrocode} -\cs_new_protected:Npn \bitset_set_true:Nn #1#2 - { \@@_set:NNn \@@_set_true:Nn #1 {#2} } -\cs_new_protected:Npn \bitset_gset_true:Nn #1#2 - { \@@_set:NNn \@@_gset_true:Nn #1 {#2} } -\cs_new_protected:Npn \bitset_set_false:Nn #1#2 - { \@@_set:NNn \@@_set_false:Nn #1 {#2} } -\cs_new_protected:Npn \bitset_gset_false:Nn #1#2 - { \@@_set:NNn \@@_gset_false:Nn #1 {#2} } -\cs_new_protected:Npn \@@_set:NNn #1#2#3 - { - \prop_if_in:cnTF { g_@@_ \cs_to_str:N #2 _name_prop } {#3} - { - #1 #2 - { - \prop_item:cn { g_@@_ \cs_to_str:N #2 _name_prop } {#3} - } - } - { - \@@_test_digits:nTF {#3} - { - #1 #2 {#3} - \prop_gput:cnn { g_@@_ \cs_to_str:N #2 _name_prop } {#3} {#3} - } - { - \msg_warning:nnee { bitset } { unknown-name } - { \token_to_str:N #2 } - { \tl_to_str:n {#3} } - } - } - } -\cs_generate_variant:Nn \bitset_set_true:Nn { c } -\cs_generate_variant:Nn \bitset_gset_true:Nn { c } -\cs_generate_variant:Nn \bitset_set_false:Nn { c } -\cs_generate_variant:Nn \bitset_gset_false:Nn { c } -% \end{macrocode} -% \end{macro} -% \end{macro} -% -% \begin{macro} -% { -% \bitset_clear:N, \bitset_clear:c, -% \bitset_gclear:N, \bitset_gclear:c -% } -% \begin{macrocode} -\cs_new_protected:Npn \bitset_clear:N #1 - { - \str_set_eq:NN #1 \c_zero_str - } -\cs_new_protected:Npn \bitset_gclear:N #1 - { - \str_gset_eq:NN #1 \c_zero_str - } -\cs_generate_variant:Nn \bitset_clear:N { c } -\cs_generate_variant:Nn \bitset_gclear:N { c } -% \end{macrocode} -% \end{macro} -% \begin{macro} -% { -% \bitset_to_arabic:N, \bitset_to_arabic:c, -% \bitset_to_bin:N, \bitset_to_bin:c, -% } -% 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. -% \begin{macrocode} -\cs_new:Npn \bitset_to_arabic:N #1 - { - \int_compare:nNnTF { \str_count:N #1 } < { 32 } - { \exp_args:No \int_from_bin:n {#1} } - { - \exp_after:wN \@@_to_int:nN \exp_after:wN 0 - #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 - } -\cs_generate_variant:Nn \bitset_to_arabic:N { c } -\cs_generate_variant:Nn \bitset_to_bin:N { c } -% \end{macrocode} -% \end{macro} -% \begin{macro} -% { -% \bitset_item:Nn, \bitset_item:cn -% } -% All bits that have been set at anytime have an entry in the prop, -% so we can take everything else as $0$. -% \begin{macrocode} -\cs_new:Npn \bitset_item:Nn #1#2 - { - \prop_if_in:cnTF { g_@@_ \cs_to_str:N #1 _name_prop } {#2} - { - \int_eval:n - { - \str_item:Nn #1 - { 0 - ( \prop_item:cn { g_@@_ \cs_to_str:N #1 _name_prop } {#2} ) } - +0 - } - } - { - 0 - } - } -\cs_generate_variant:Nn \bitset_item:Nn { c } -% \end{macrocode} -% \end{macro} - -% \begin{macro} -% { -% \bitset_show:N, \bitset_show:c, -% \bitset_log:N, \bitset_log:c -% } -% \begin{macrocode} -\cs_new_protected:Npn \bitset_show:N { \@@_show:NN \msg_show:nneeee } -\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 } - { } - } - } -\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 } - { } - { } - } - } -% \end{macrocode} -% \end{macro} -% -% \subsection{Messages} -% \begin{macrocode} - \msg_new:nnn { bitset } { show } - { - The~bitset~#1~has~the~representation: \\ - >~binary:~#2 \\ - >~arabic:~#3 . - } -\msg_new:nnn { bitset } { show-names } - { - The~bitset~#1~ - \tl_if_empty:nTF {#2} - { knows~no~names~yet \\>~ . } - { knows~the~name/index~pairs~(without~outer~braces): #2 . } - } -\msg_new:nnn { bitset } { unknown-name } - { The~name~'#2'~is~unknown~for~bitset~\tl_to_str:n {#1} } -\prop_gput:Nnn \g_msg_module_name_prop { bitset } { LaTeX } -\prop_gput:Nnn \g_msg_module_type_prop { bitset } { } -% \end{macrocode} -% \begin{macrocode} -% -% \end{macrocode} -% \end{macro} -% -% \end{implementation} -% -% \PrintIndex diff --git a/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.ins b/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.ins deleted file mode 100644 index 1d91118d90a..00000000000 --- a/Master/texmf-dist/source/latex/l3experimental/l3bitset/l3bitset.ins +++ /dev/null @@ -1,62 +0,0 @@ -\iffalse meta-comment - -File: l3bitset.ins - -Copyright (C) 2020,2021 The LaTeX3 Project - -It may be distributed and/or modified under the conditions of the -LaTeX Project Public License (LPPL), either version 1.3c of this -license or (at your option) any later version. The latest version -of this license is in the file - - http://www.latex-project.org/lppl.txt - -This file is part of the "l3experimental bundle" (The Work in LPPL) -and all files in that bundle must be distributed together. - ------------------------------------------------------------------------ - -The development version of the bundle can be found at - - https://github.com/latex3/latex3 - -for those people who are interested. - ------------------------------------------------------------------------ - -Any modification of this file should ensure that the copyright and -license information is placed in the derived files. - -\fi - -\input docstrip % -\askforoverwritefalse - -\preamble - -Copyright (C) 2020 The LaTeX3 Project - -It may be distributed and/or modified under the conditions of -the LaTeX Project Public License (LPPL), either version 1.3c of -this license or (at your option) any later version. The latest -version of this license is in the file: - - http://www.latex-project.org/lppl.txt - -This file is part of the "l3experimental bundle" (The Work in LPPL) -and all files in that bundle must be distributed together. - -\endpreamble -% stop docstrip adding \endinput -\postamble -\endpostamble - -\keepsilent - -\generate{\file{l3bitset.sty} - { - \from{l3bitset.dtx} {package} - } -} - -\endbatchfile 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 44989999a57..b8f68e90a83 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -71,6 +71,8 @@ % \end{variable} % % \begin{macro}{\draw_box_use:N} +% \begin{macro}{\draw_box_use:Nn} +% \begin{macro}{\@@_box_use:nNnnnnn} % \begin{macro}{\@@_box_use:Nnnnn} % Before inserting a box, we need to make sure that the bounding box is being % updated correctly. As drawings track transformations as a whole, rather @@ -79,10 +81,22 @@ % \begin{macrocode} \cs_new_protected:Npn \draw_box_use:N #1 { - \@@_box_use:Nnnnn #1 + \@@_box_use:Nnnnnnn #1 { 0pt } { -\box_dp:N #1 } { \box_wd:N #1 } { \box_ht:N #1 } } -\cs_new_protected:Npn \@@_box_use:Nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \draw_box_use:Nn #1#2 + { + \@@_box_use:nNnnnn {#2} #1 + { 0pt } { -\box_dp:N #1 } { \box_wd:N #1 } { \box_ht:N #1 } + } +\cs_new_protected:Npn \@@_box_use:nNnnnn #1#2#3#4#5#6 + { + \draw_scope_begin: + \draw_transform_shift:n {#1} + \@@_box_use:Nnnnnnn #2 {#3} {#4} {#5} {#6} + \draw_scope_end: + } +\cs_new_protected:Npn \@@_box_use:Nnnnnnn #1#2#3#4#5 { \bool_if:NT \l_draw_bb_update_bool { @@ -126,18 +140,32 @@ % \end{macrocode} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\draw_coffin_use:Nnn} +% \begin{macro}{\draw_coffin_use:Nnnn} +% \begin{macro}{\@@_coffin_use:nNnn} % Slightly more than a shortcut: we have to allow for the fact that coffins % have no apparent width before the reference point. % \begin{macrocode} \cs_new_protected:Npn \draw_coffin_use:Nnn #1#2#3 + { + \@@_coffin_use:nNnn { \@@_box_use:Nnnnnnn } + #1 {#2} {#3} + } +\cs_new_protected:Npn \draw_coffin_use:Nnnn #1#2#3#4 + { + \@@_coffin_use:nNnn { \@@_box_use:nNnnnn {#4} } + #1 {#2} {#3} + } +\cs_new_protected:Npn \@@_coffin_use:nNnn #1#2#3#4 { \group_begin: \hbox_set:Nn \l_@@_tmp_box - { \coffin_typeset:Nnnnn #1 {#2} {#3} { 0pt } { 0pt } } - \@@_box_use:Nnnnn \l_@@_tmp_box - { \box_wd:N \l_@@_tmp_box - \coffin_wd:N #1 } + { \coffin_typeset:Nnnnn #2 {#3} {#4} { 0pt } { 0pt } } + #1 \l_@@_tmp_box + { \box_wd:N \l_@@_tmp_box - \coffin_wd:N #2 } { -\box_dp:N \l_@@_tmp_box } { \box_wd:N \l_@@_tmp_box } { \box_ht:N \l_@@_tmp_box } @@ -145,6 +173,8 @@ } % \end{macrocode} % \end{macro} +% \end{macro} +% \end{macro} % % \begin{macrocode} % 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 1337427dc26..cf2c2091cb1 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \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 5d8b63247f1..53032f4d611 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % 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 ba47cddd4c5..f7228732377 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % 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 5917a0c6bcf..ae8869d6b79 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % 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 9419015a91b..56a7c78d9db 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % 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 36b30cdeccb..c288fe0c584 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \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 31d8b95ea27..8115e1c4fcf 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx index 8f0467519ca..e0cbdff3d42 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx @@ -110,7 +110,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -961,9 +961,10 @@ % % \subsection{Boxes and coffins} % -% \begin{function}{\draw_box_use:N} +% \begin{function}{\draw_box_use:N, \draw_box_use:Nn} % \begin{syntax} % \cs{draw_box_use:N} \meta{box} +% \cs{draw_box_use:Nn} \meta{box} \Arg{point} % \end{syntax} % Inserts the \meta{box} into a drawing, taking account of the current % transformation matrix and shift, and adjusting the drawing bounding @@ -990,11 +991,14 @@ % \draw_box_use:N \l_tmpa_box % \draw_end: % \end{demo} +% If the \meta{point} is given, the reference point of the box is placed there: +% otherwise it is positioned at the origin of the drawing. % \end{function} % -% \begin{function}{\draw_coffin_use:Nnn} +% \begin{function}{\draw_coffin_use:Nnn, \draw_coffin_use:Nnnn} % \begin{syntax} -% \cs{draw_coffin_use:N} \meta{coffin} \Arg{hpole} \Arg{vpole} +% \cs{draw_coffin_use:Nnn} \meta{coffin} \Arg{hpole} \Arg{vpole} +% \cs{draw_coffin_use:Nnnn} \meta{coffin} \Arg{hpole} \Arg{vpole} \Arg{point} % \end{syntax} % Inserts the \meta{coffin} into a drawing, taking account of the current % transformation matrix and shift, and adjusting the drawing bounding @@ -1012,6 +1016,9 @@ % \draw_coffin_use:Nnn \l_tmpa_coffin { hc } { vc } % \draw_end: % \end{demo} +% If the \meta{point} is given, the pole intersection of the coffine is +% placed there: otherwise it is positioned at the origin of the drawing. + % \end{function} % % \subsection{Transformations} @@ -1173,7 +1180,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3draw}{2023-11-01}{} +\ProvidesExplPackage{l3draw}{2023-12-08}{} {L3 Experimental core drawing support} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx index ebb4f86a2cf..5a45b88d9c8 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3graphics/l3graphics.dtx @@ -43,7 +43,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -184,7 +184,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3graphics}{2023-11-01}{} +\ProvidesExplPackage{l3graphics}{2023-12-08}{} {L3 Experimental graphics inclusion support} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx index 1bb27e2ca31..9ed6f5e6a4b 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -96,7 +96,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3opacity}{2023-11-01}{} +\ProvidesExplPackage{l3opacity}{2023-12-08}{} {L3 Experimental opacity support} % \end{macrocode} % 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 57aebd6296c..03a61452396 100644 --- a/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx @@ -48,7 +48,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -166,7 +166,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3str-format}{2023-11-01}{} +\ProvidesExplPackage{l3str-format}{2023-12-08}{} {L3 Experimental string formatting} % \end{macrocode} % 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 c17d9a97b1b..4c05998e374 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 @@ -46,7 +46,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -151,7 +151,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3sys-shell}{2023-11-01}{} +\ProvidesExplPackage{l3sys-shell}{2023-12-08}{} {L3 Experimental system shell functions} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx index 2dc6cffa6a8..9ca534e86c7 100644 --- a/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx @@ -53,7 +53,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -672,7 +672,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xcoffins}{2023-11-01}{} +\ProvidesExplPackage{xcoffins}{2023-12-08}{} {L3 Experimental design level coffins} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx index 7aaf367785b..7b150d5dc5c 100644 --- a/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx @@ -61,7 +61,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -686,7 +686,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3galley}{2023-11-01}{} +\ProvidesExplPackage{l3galley}{2023-12-08}{} {L3 Experimental galley code} % \end{macrocode} % diff --git a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx index 3dd89b46e89..eb704906db8 100644 --- a/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx +++ b/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx @@ -44,7 +44,7 @@ % }^^A % } % -% \date{Released 2023-11-01} +% \date{Released 2023-12-08} % % \maketitle % @@ -731,7 +731,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xgalley}{2023-11-01}{} +\ProvidesExplPackage{xgalley}{2023-12-08}{} {L3 Experimental galley} \RequirePackage{xtemplate,l3galley} % \end{macrocode} diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty index aca5f6382a6..61df68cb427 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty @@ -20,7 +20,7 @@ %% %% File: l3benchmark.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3benchmark}{2023-11-01}{} +\ProvidesExplPackage{l3benchmark}{2023-12-08}{} {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/l3bitset/l3bitset.sty b/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty deleted file mode 100644 index 03584e2b0b8..00000000000 --- a/Master/texmf-dist/tex/latex/l3experimental/l3bitset/l3bitset.sty +++ /dev/null @@ -1,235 +0,0 @@ -%% -%% This is file `l3bitset.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% l3bitset.dtx (with options: `package') -%% -%% Copyright (C) 2020 The LaTeX3 Project -%% -%% It may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License (LPPL), either version 1.3c of -%% this license or (at your option) any later version. The latest -%% version of this license is in the file: -%% -%% http://www.latex-project.org/lppl.txt -%% -%% This file is part of the "l3experimental bundle" (The Work in LPPL) -%% and all files in that bundle must be distributed together. -%% -%% File: l3bitset.dtx -\ProvidesExplPackage{l3bitset}{2023-11-01}{} - {L3 Experimental bitset support} -\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} - } -\cs_generate_variant:Nn \bitset_new:N { c } -\prop_new:N \l__bitset_tmpa_prop -\cs_new_protected:Npn \bitset_addto_named_index:Nn #1#2 - { - \prop_set_from_keyval:Nn \l__bitset_tmpa_prop {#2} - \prop_map_inline:Nn \l__bitset_tmpa_prop - { - \prop_gput:cnn - { g__bitset_ \cs_to_str:N #1 _name_prop } - {##1} - {##2} - } - } -\prg_new_eq_conditional:NNn - \bitset_if_exist:N \str_if_exist:N { p , T , F , TF } -\prg_new_eq_conditional:NNn - \bitset_if_exist:c \str_if_exist:c - { p , T , F , TF } -\cs_new_protected:Npn \__bitset_set_true:Nn #1#2 - { \__bitset_set:NNnN \str_set:Ne #1 {#2} 1 } -\cs_new_protected:Npn \__bitset_gset_true:Nn #1#2 - { \__bitset_set:NNnN \str_gset:Ne #1 {#2} 1 } -\cs_new_protected:Npn \__bitset_set_false:Nn #1#2 - { \__bitset_set:NNnN \str_set:Ne #1 {#2} 0 } -\cs_new_protected:Npn \__bitset_gset_false:Nn #1#2 - { \__bitset_set:NNnN \str_gset:Ne #1 {#2} 0 } -\cs_new_protected:Npn \__bitset_set:NNnN #1#2#3#4 - { - \int_compare:nNnT {#3} > { 0 } - { - \int_compare:nNnTF { \str_count:N #2 } < {#3} - { - #1 #2 - { - #4 - \prg_replicate:nn { #3 - \str_count:N #2 - 1 } { 0 } - #2 - } - } - { - #1 #2 - { - \str_range:Nnn #2 { 1 } { -1 - (#3) } - #4 - \str_range:Nnn #2 { 1 - (#3) } { -1 } - } - } - } - } -\int_new:N \l__bitset_internal_int -\prg_new_protected_conditional:Npnn \__bitset_test_digits:n #1 { TF } - { - \tex_afterassignment:D \__bitset_test_digits:w - \l__bitset_internal_int = 0 \tl_trim_spaces_apply:nN {#1} \tl_to_str:n - \__bitset_test_digits_end: - \use_i:nnn \if_false: - \__bitset_test_digits_end: - \if_int_compare:w \c_zero_int < \l__bitset_internal_int - \prg_return_true: - \else: - \prg_return_false: - \fi: - } -\cs_new_eq:NN \__bitset_test_digits_end: \exp_stop_f: -\cs_new_protected:Npn \__bitset_test_digits:w #1 \__bitset_test_digits_end: { } -\cs_new_protected:Npn \bitset_set_true:Nn #1#2 - { \__bitset_set:NNn \__bitset_set_true:Nn #1 {#2} } -\cs_new_protected:Npn \bitset_gset_true:Nn #1#2 - { \__bitset_set:NNn \__bitset_gset_true:Nn #1 {#2} } -\cs_new_protected:Npn \bitset_set_false:Nn #1#2 - { \__bitset_set:NNn \__bitset_set_false:Nn #1 {#2} } -\cs_new_protected:Npn \bitset_gset_false:Nn #1#2 - { \__bitset_set:NNn \__bitset_gset_false:Nn #1 {#2} } -\cs_new_protected:Npn \__bitset_set:NNn #1#2#3 - { - \prop_if_in:cnTF { g__bitset_ \cs_to_str:N #2 _name_prop } {#3} - { - #1 #2 - { - \prop_item:cn { g__bitset_ \cs_to_str:N #2 _name_prop } {#3} - } - } - { - \__bitset_test_digits:nTF {#3} - { - #1 #2 {#3} - \prop_gput:cnn { g__bitset_ \cs_to_str:N #2 _name_prop } {#3} {#3} - } - { - \msg_warning:nnee { bitset } { unknown-name } - { \token_to_str:N #2 } - { \tl_to_str:n {#3} } - } - } - } -\cs_generate_variant:Nn \bitset_set_true:Nn { c } -\cs_generate_variant:Nn \bitset_gset_true:Nn { c } -\cs_generate_variant:Nn \bitset_set_false:Nn { c } -\cs_generate_variant:Nn \bitset_gset_false:Nn { c } -\cs_new_protected:Npn \bitset_clear:N #1 - { - \str_set_eq:NN #1 \c_zero_str - } -\cs_new_protected:Npn \bitset_gclear:N #1 - { - \str_gset_eq:NN #1 \c_zero_str - } -\cs_generate_variant:Nn \bitset_clear:N { c } -\cs_generate_variant:Nn \bitset_gclear:N { c } -\cs_new:Npn \bitset_to_arabic:N #1 - { - \int_compare:nNnTF { \str_count:N #1 } < { 32 } - { \exp_args:No \int_from_bin:n {#1} } - { - \exp_after:wN \__bitset_to_int:nN \exp_after:wN 0 - #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 - } -\cs_generate_variant:Nn \bitset_to_arabic:N { c } -\cs_generate_variant:Nn \bitset_to_bin:N { c } -\cs_new:Npn \bitset_item:Nn #1#2 - { - \prop_if_in:cnTF { g__bitset_ \cs_to_str:N #1 _name_prop } {#2} - { - \int_eval:n - { - \str_item:Nn #1 - { 0 - ( \prop_item:cn { g__bitset_ \cs_to_str:N #1 _name_prop } {#2} ) } - +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 } - { } - } - } -\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 } - { } - { } - } - } - \msg_new:nnn { bitset } { show } - { - The~bitset~#1~has~the~representation: \\ - >~binary:~#2 \\ - >~arabic:~#3 . - } -\msg_new:nnn { bitset } { show-names } - { - The~bitset~#1~ - \tl_if_empty:nTF {#2} - { knows~no~names~yet \\>~ . } - { knows~the~name/index~pairs~(without~outer~braces): #2 . } - } -\msg_new:nnn { bitset } { unknown-name } - { The~name~'#2'~is~unknown~for~bitset~\tl_to_str:n {#1} } -\prop_gput:Nnn \g_msg_module_name_prop { bitset } { LaTeX } -\prop_gput:Nnn \g_msg_module_type_prop { bitset } { } -%% -%% -%% End of file `l3bitset.sty'. diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty index 4b46919b0a4..bca4f693965 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty @@ -28,7 +28,8 @@ %% %% File: l3draw.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3draw}{2023-11-01}{} + +\ProvidesExplPackage{l3draw}{2023-12-08}{} {L3 Experimental core drawing support} \scan_new:N \s__draw_mark \scan_new:N \s__draw_stop @@ -39,10 +40,22 @@ \box_new:N \l__draw_tmp_box \cs_new_protected:Npn \draw_box_use:N #1 { - \__draw_box_use:Nnnnn #1 + \__draw_box_use:Nnnnnnn #1 { 0pt } { -\box_dp:N #1 } { \box_wd:N #1 } { \box_ht:N #1 } } -\cs_new_protected:Npn \__draw_box_use:Nnnnn #1#2#3#4#5 +\cs_new_protected:Npn \draw_box_use:Nn #1#2 + { + \__draw_box_use:nNnnnn {#2} #1 + { 0pt } { -\box_dp:N #1 } { \box_wd:N #1 } { \box_ht:N #1 } + } +\cs_new_protected:Npn \__draw_box_use:nNnnnn #1#2#3#4#5#6 + { + \draw_scope_begin: + \draw_transform_shift:n {#1} + \__draw_box_use:Nnnnnnn #2 {#3} {#4} {#5} {#6} + \draw_scope_end: + } +\cs_new_protected:Npn \__draw_box_use:Nnnnnnn #1#2#3#4#5 { \bool_if:NT \l_draw_bb_update_bool { @@ -84,12 +97,22 @@ \group_end: } \cs_new_protected:Npn \draw_coffin_use:Nnn #1#2#3 + { + \__draw_coffin_use:nNnn { \__draw_box_use:Nnnnnnn } + #1 {#2} {#3} + } +\cs_new_protected:Npn \draw_coffin_use:Nnnn #1#2#3#4 + { + \__draw_coffin_use:nNnn { \__draw_box_use:nNnnnn {#4} } + #1 {#2} {#3} + } +\cs_new_protected:Npn \__draw_coffin_use:nNnn #1#2#3#4 { \group_begin: \hbox_set:Nn \l__draw_tmp_box - { \coffin_typeset:Nnnnn #1 {#2} {#3} { 0pt } { 0pt } } - \__draw_box_use:Nnnnn \l__draw_tmp_box - { \box_wd:N \l__draw_tmp_box - \coffin_wd:N #1 } + { \coffin_typeset:Nnnnn #2 {#3} {#4} { 0pt } { 0pt } } + #1 \l__draw_tmp_box + { \box_wd:N \l__draw_tmp_box - \coffin_wd:N #2 } { -\box_dp:N \l__draw_tmp_box } { \box_wd:N \l__draw_tmp_box } { \box_ht:N \l__draw_tmp_box } diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty index 915087672b0..680dec98458 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3graphics/l3graphics.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: l3graphics.dtx -\ProvidesExplPackage{l3graphics}{2023-11-01}{} +\ProvidesExplPackage{l3graphics}{2023-12-08}{} {L3 Experimental graphics inclusion support} \dim_new:N \l__graphics_internal_dim \ior_new:N \l__graphics_internal_ior diff --git a/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty b/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty index 384217a701e..d2a45de3d1d 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty @@ -20,7 +20,7 @@ %% %% File: l3opacity.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3opacity}{2023-11-01}{} +\ProvidesExplPackage{l3opacity}{2023-12-08}{} {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 16bd550ce7f..5e53ab2beb7 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty @@ -20,7 +20,7 @@ %% %% File: l3str-format.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3str-format}{2023-11-01}{} +\ProvidesExplPackage{l3str-format}{2023-12-08}{} {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 00af40c1c04..1865433e9c2 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/l3sys-shell/l3sys-shell.sty @@ -20,7 +20,7 @@ %% %% File: l3sys-shell.dtx \RequirePackage{expl3} -\ProvidesExplPackage{l3sys-shell}{2023-11-01}{} +\ProvidesExplPackage{l3sys-shell}{2023-12-08}{} {L3 Experimental system shell functions} \scan_new:N \s__sys_stop \quark_new:N \q__sys_nil diff --git a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty index 65863584703..6e38dd28685 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: xcoffins.dtx -\ProvidesExplPackage{xcoffins}{2023-11-01}{} +\ProvidesExplPackage{xcoffins}{2023-12-08}{} {L3 Experimental design level coffins} \keys_define:nn { coffin } { diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty index 60bea2344c4..0dc2d406ee9 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty @@ -32,7 +32,7 @@ }% \endinput } -\ProvidesExplPackage{l3galley}{2023-11-01}{} +\ProvidesExplPackage{l3galley}{2023-12-08}{} {L3 Experimental galley code} \int_new:N \l__galley_tmp_int \seq_new:N \g__galley_tmpa_seq diff --git a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty index 756cc429707..cbd2e55be0c 100644 --- a/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty +++ b/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty @@ -19,7 +19,7 @@ %% and all files in that bundle must be distributed together. %% %% File: xgalley.dtx -\ProvidesExplPackage{xgalley}{2023-11-01}{} +\ProvidesExplPackage{xgalley}{2023-12-08}{} {L3 Experimental galley} \RequirePackage{xtemplate,l3galley} \clist_new:N \l__galley_tmpa_clist -- cgit v1.2.3