summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/l3experimental
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-06 03:01:33 +0000
committerNorbert Preining <norbert@preining.info>2024-01-06 03:01:33 +0000
commit949a85bb8707bf1aaa2b23b018e24d5001d38e52 (patch)
treec5af6ca7487e0e439195d0308276267088b67352 /macros/latex/contrib/l3experimental
parent387961768f65ec00d171b3781d4b87ea94bb19f5 (diff)
CTAN sync 202401060301
Diffstat (limited to 'macros/latex/contrib/l3experimental')
-rw-r--r--macros/latex/contrib/l3experimental/CHANGELOG.md12
-rw-r--r--macros/latex/contrib/l3experimental/README.md4
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.dtx6
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.ins4
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.pdfbin308820 -> 308420 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-boxes.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-code.pdfbin682740 -> 684116 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-layers.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-paths.dtx114
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-points.dtx201
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-scopes.dtx6
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-softpath.dtx18
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-state.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-transforms.dtx60
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.dtx21
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.ins4
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.pdfbin518932 -> 518609 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.dtx46
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.pdfbin409197 -> 408796 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.dtx16
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.ins4
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.pdfbin383921 -> 383526 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3opacity.dtx8
-rw-r--r--macros/latex/contrib/l3experimental/l3opacity.ins4
-rw-r--r--macros/latex/contrib/l3experimental/l3opacity.pdfbin313872 -> 313477 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.dtx8
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.pdfbin368314 -> 367974 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3str.ins4
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.dtx8
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.ins4
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.pdfbin348328 -> 347930 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.dtx14
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.ins4
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.pdfbin394766 -> 394367 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.dtx10
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.ins4
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.pdfbin299916 -> 299509 bytes
37 files changed, 319 insertions, 277 deletions
diff --git a/macros/latex/contrib/l3experimental/CHANGELOG.md b/macros/latex/contrib/l3experimental/CHANGELOG.md
index d6e3645c59..449a9889a6 100644
--- a/macros/latex/contrib/l3experimental/CHANGELOG.md
+++ b/macros/latex/contrib/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/macros/latex/contrib/l3experimental/README.md b/macros/latex/contrib/l3experimental/README.md
index 52c7d97926..1a4d3a4650 100644
--- a/macros/latex/contrib/l3experimental/README.md
+++ b/macros/latex/contrib/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/macros/latex/contrib/l3experimental/l3benchmark.dtx b/macros/latex/contrib/l3experimental/l3benchmark.dtx
index bc21191d4b..2eb979c660 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3benchmark.ins b/macros/latex/contrib/l3experimental/l3benchmark.ins
index cfef0f0600..2c4c6908df 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3benchmark.pdf b/macros/latex/contrib/l3experimental/l3benchmark.pdf
index 83471b67fd..9da3c2ae15 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.pdf
+++ b/macros/latex/contrib/l3experimental/l3benchmark.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
index b8f68e90a8..8f481aada9 100644
--- a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw-code.pdf b/macros/latex/contrib/l3experimental/l3draw-code.pdf
index c2e80fc340..db5ed76836 100644
--- a/macros/latex/contrib/l3experimental/l3draw-code.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-layers.dtx b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
index cf2c2091cb..6e71f93ade 100644
--- a/macros/latex/contrib/l3experimental/l3draw-layers.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw-paths.dtx b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
index 53032f4d61..735db2d23e 100644
--- a/macros/latex/contrib/l3experimental/l3draw-paths.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw-points.dtx b/macros/latex/contrib/l3experimental/l3draw-points.dtx
index f722873237..19e69d4b38 100644
--- a/macros/latex/contrib/l3experimental/l3draw-points.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw-scopes.dtx b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
index ae8869d6b7..7906bc12e9 100644
--- a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw-softpath.dtx b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
index 56a7c78d9d..0b8f731ca5 100644
--- a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw-state.dtx b/macros/latex/contrib/l3experimental/l3draw-state.dtx
index c288fe0c58..e3f6dba452 100644
--- a/macros/latex/contrib/l3experimental/l3draw-state.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw-transforms.dtx b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
index 8115e1c4fc..df9f07af18 100644
--- a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw.dtx b/macros/latex/contrib/l3experimental/l3draw.dtx
index e0cbdff3d4..2fae7afc74 100644
--- a/macros/latex/contrib/l3experimental/l3draw.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw.ins b/macros/latex/contrib/l3experimental/l3draw.ins
index 7183607c2d..d4e505ef75 100644
--- a/macros/latex/contrib/l3experimental/l3draw.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3draw.pdf b/macros/latex/contrib/l3experimental/l3draw.pdf
index 6b8a5e9a92..4beda52c98 100644
--- a/macros/latex/contrib/l3experimental/l3draw.pdf
+++ b/macros/latex/contrib/l3experimental/l3draw.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3galley.dtx b/macros/latex/contrib/l3experimental/l3galley.dtx
index 7b150d5dc5..3bafa455b4 100644
--- a/macros/latex/contrib/l3experimental/l3galley.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3galley.pdf b/macros/latex/contrib/l3experimental/l3galley.pdf
index bd9bf88c83..a633e46628 100644
--- a/macros/latex/contrib/l3experimental/l3galley.pdf
+++ b/macros/latex/contrib/l3experimental/l3galley.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3graphics.dtx b/macros/latex/contrib/l3experimental/l3graphics.dtx
index 5a45b88d9c..9f59b4ec05 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3graphics.ins b/macros/latex/contrib/l3experimental/l3graphics.ins
index 40f03e569d..8798dce73c 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3graphics.pdf b/macros/latex/contrib/l3experimental/l3graphics.pdf
index 66ce45d710..42212b3f64 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.pdf
+++ b/macros/latex/contrib/l3experimental/l3graphics.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3opacity.dtx b/macros/latex/contrib/l3experimental/l3opacity.dtx
index 9ed6f5e6a4..f4abdacd81 100644
--- a/macros/latex/contrib/l3experimental/l3opacity.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3opacity.ins b/macros/latex/contrib/l3experimental/l3opacity.ins
index 1a5e5de20a..58b33fff7c 100644
--- a/macros/latex/contrib/l3experimental/l3opacity.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3opacity.pdf b/macros/latex/contrib/l3experimental/l3opacity.pdf
index 096288c14a..0898e6463c 100644
--- a/macros/latex/contrib/l3experimental/l3opacity.pdf
+++ b/macros/latex/contrib/l3experimental/l3opacity.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3str-format.dtx b/macros/latex/contrib/l3experimental/l3str-format.dtx
index 03a6145239..6304ce3ec2 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3str-format.pdf b/macros/latex/contrib/l3experimental/l3str-format.pdf
index 83b57b975b..367a84e099 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.pdf
+++ b/macros/latex/contrib/l3experimental/l3str-format.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3str.ins b/macros/latex/contrib/l3experimental/l3str.ins
index fa070c69ec..fd77436304 100644
--- a/macros/latex/contrib/l3experimental/l3str.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3sys-shell.dtx b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
index 4c05998e37..ad1733ab77 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3sys-shell.ins b/macros/latex/contrib/l3experimental/l3sys-shell.ins
index c546801d05..8e5e7169d9 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/l3sys-shell.pdf b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
index 3152e29a00..1d1c41221a 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.pdf
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xcoffins.dtx b/macros/latex/contrib/l3experimental/xcoffins.dtx
index 9ca534e86c..a18ade7abd 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/xcoffins.ins b/macros/latex/contrib/l3experimental/xcoffins.ins
index 224e77b5d6..326f21e4a5 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/xcoffins.pdf b/macros/latex/contrib/l3experimental/xcoffins.pdf
index 98b321ae28..bee04ded96 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.pdf
+++ b/macros/latex/contrib/l3experimental/xcoffins.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/xgalley.dtx b/macros/latex/contrib/l3experimental/xgalley.dtx
index eb704906db..76e8242f4e 100644
--- a/macros/latex/contrib/l3experimental/xgalley.dtx
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/xgalley.ins b/macros/latex/contrib/l3experimental/xgalley.ins
index 82ae4c7728..53ecd1bbdc 100644
--- a/macros/latex/contrib/l3experimental/xgalley.ins
+++ b/macros/latex/contrib/l3experimental/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/macros/latex/contrib/l3experimental/xgalley.pdf b/macros/latex/contrib/l3experimental/xgalley.pdf
index e1964e85ee..50375b414b 100644
--- a/macros/latex/contrib/l3experimental/xgalley.pdf
+++ b/macros/latex/contrib/l3experimental/xgalley.pdf
Binary files differ