texlive[74883] Master/texmf-dist: l3experimental (8apr25)
commits+karl at tug.org
commits+karl at tug.org
Tue Apr 8 22:14:13 CEST 2025
Revision: 74883
https://tug.org/svn/texlive?view=revision&revision=74883
Author: karl
Date: 2025-04-08 22:14:13 +0200 (Tue, 08 Apr 2025)
Log Message:
-----------
l3experimental (8apr25)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/latex/l3experimental/l3graphics/
trunk/Master/texmf-dist/source/latex/l3experimental/l3graphics/
trunk/Master/texmf-dist/tex/latex/l3experimental/l3graphics/
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/CHANGELOG.md 2025-04-08 20:14:13 UTC (rev 74883)
@@ -7,6 +7,16 @@
## [Unreleased]
+## [2025-03-26]
+
+### Added
+- `\g_draw_bb_xmin_dim`, `\g_draw_bb_ymin_dim`, `\g_draw_bb_xmax_dim`,
+ `\g_draw_bb_ymax_dim`
+- `\g_draw_id_int`
+
+### Removed
+- `l3graphics` package: integrated into `l3kernel`
+
## [2025-03-10]
### Added
@@ -336,7 +346,8 @@
- 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/2025-03-10...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2025-03-26...HEAD
+[2025-03-26]: https://github.com/latex3/latex3/compare/2025-03-10...2025-03-26
[2025-03-10]: https://github.com/latex3/latex3/compare/2024-03-14...2025-03-10
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3experimental/README.md 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/doc/latex/l3experimental/README.md 2025-04-08 20:14:13 UTC (rev 74883)
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2025-03-10
+Release 2025-03-26
Overview
--------
@@ -23,7 +23,6 @@
bundles:
* `l3benchmark`
* `l3draw`
-* `l3graphics`
* `l3opacity`
* `l3str`
* `xcoffins`
@@ -41,12 +40,6 @@
interfaces are heavily inspired by the `pgf` layer of the widely-used
TikZ system.
-`l3graphics`
--------------
-
-This module provides interfaces for the inclusion of graphics files
-in documents, similar to the `graphics` package.
-
`l3opacity`
-------
@@ -81,21 +74,6 @@
provides a mechanism for filling galleys and controlling the spacing,
hyphenation and justification within them.
-Discussion
-----------
-
-Discussion concerning the approach, suggestions for improvements,
-changes, additions, _etc._ should be addressed to the list
-[LaTeX-L](https://listserv.uni-heidelberg.de/cgi-bin/wa?A0=LATEX-L).
-
-You can subscribe to this list by sending mail to
-
- listserv at urz.uni-heidelberg.de
-
-with the body containing
-
- subscribe LATEX-L <Your-First-Name> <Your-Second-Name>
-
Issues
------
@@ -102,9 +80,6 @@
The issue tracker for LaTeX3 is currently located
[on GitHub](https://github.com/latex3/latex3/issues).
-Please report specific issues with LaTeX3 code there; more general
-discussion should be directed to the [LaTeX-L list](#Discussion).
-
The LaTeX Project
------------------
@@ -111,10 +86,6 @@
Development of LaTeX3 is carried out by
[The LaTeX Project](https://www.latex-project.org/latex3/).
-The development team can be contacted
-by e-mail: <latex-team at latex-project.org>; for general LaTeX3 discussion
-the [LaTeX-L list](#Discussion) should be used.
-
-----
<p>Copyright (C) 1998-2004,2008-2012,2014-2025 The LaTeX Project <br />
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3benchmark/l3benchmark.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw-code.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3draw/l3draw.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3opacity/l3opacity.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/l3str/l3str-format.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xcoffins/xcoffins.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/l3galley.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/l3experimental/xgalley/xgalley.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3benchmark/l3benchmark.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -122,7 +122,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3benchmark}{2025-03-10}{}
+\ProvidesExplPackage{l3benchmark}{2025-03-26}{}
{L3 Experimental benchmarking}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-boxes.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-layers.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-paths.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -132,14 +132,14 @@
{ \dim_min:nn \g_@@_path_ymin_dim {#2} }
\bool_if:NT \l_draw_bb_update_bool
{
- \dim_gset:Nn \g_@@_xmax_dim
- { \dim_max:nn \g_@@_xmax_dim {#1} }
- \dim_gset:Nn \g_@@_xmin_dim
- { \dim_min:nn \g_@@_xmin_dim {#1} }
- \dim_gset:Nn \g_@@_ymax_dim
- { \dim_max:nn \g_@@_ymax_dim {#2} }
- \dim_gset:Nn \g_@@_ymin_dim
- { \dim_min:nn \g_@@_ymin_dim {#2} }
+ \dim_gset:Nn \g_draw_bb_xmax_dim
+ { \dim_max:nn \g_draw_bb_xmax_dim {#1} }
+ \dim_gset:Nn \g_draw_bb_xmin_dim
+ { \dim_min:nn \g_draw_bb_xmin_dim {#1} }
+ \dim_gset:Nn \g_draw_bb_ymax_dim
+ { \dim_max:nn \g_draw_bb_ymax_dim {#2} }
+ \dim_gset:Nn \g_draw_bb_ymin_dim
+ { \dim_min:nn \g_draw_bb_ymin_dim {#2} }
}
}
\cs_new_protected:Npn \@@_path_reset_limits:
@@ -879,7 +879,7 @@
}
\cs_new_protected:Npn \@@_path_replace_bb:NnN #1#2#3
{
- \dim_gset:cn { g_@@_ #1#2 _dim }
+ \dim_gset:cn { g_draw_bb_ #1#2 _dim }
{
\dim_use:c { g_@@_path_ #1#2 _dim }
#3 0.5 \g_@@_linewidth_dim
@@ -960,12 +960,12 @@
}
\cs_new_protected:Npn \@@_path_use_bb:NnN #1#2#3
{
- \dim_compare:nNnF { \dim_use:c { g_@@_ #1#2 _dim } } = { #3 -\c_max_dim }
+ \dim_compare:nNnF { \dim_use:c { g_draw_bb_ #1#2 _dim } } = { #3 -\c_max_dim }
{
- \dim_gset:cn { g_@@_ #1#2 _dim }
+ \dim_gset:cn { g_draw_bb_ #1#2 _dim }
{
\use:c { dim_ #2 :nn }
- { \dim_use:c { g_@@_ #1#2 _dim } }
+ { \dim_use:c { g_draw_bb_ #1#2 _dim } }
{
\dim_use:c { g_@@_path_ #1#2 _dim }
#3 0.5 \g_@@_linewidth_dim
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-points.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-scopes.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -71,14 +71,14 @@
% \subsection{Drawing environment}
%
% \begin{variable}
-% {\g_@@_xmax_dim, \g_@@_xmin_dim, \g_@@_ymax_dim, \g_@@_ymin_dim}
+% {\g_draw_bb_xmax_dim, \g_draw_bb_xmin_dim, \g_draw_bb_ymax_dim, \g_draw_bb_ymin_dim}
% Used to track the overall (official) size of the image created: may
% not actually be the natural size of the content.
% \begin{macrocode}
-\dim_new:N \g_@@_xmax_dim
-\dim_new:N \g_@@_xmin_dim
-\dim_new:N \g_@@_ymax_dim
-\dim_new:N \g_@@_ymin_dim
+\dim_new:N \g_draw_bb_xmax_dim
+\dim_new:N \g_draw_bb_xmin_dim
+\dim_new:N \g_draw_bb_ymax_dim
+\dim_new:N \g_draw_bb_ymin_dim
% \end{macrocode}
% \end{variable}
%
@@ -98,10 +98,10 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\g_@@_id_int}
+% \begin{variable}{\g_draw_id_int}
% The drawing number.
% \begin{macrocode}
-\int_new:N \g_@@_id_int
+\int_new:N \g_draw_id_int
% \end{macrocode}
% \end{variable}
%
@@ -110,10 +110,10 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_reset_bb:
{
- \dim_gset:Nn \g_@@_xmax_dim { -\c_max_dim }
- \dim_gset:Nn \g_@@_xmin_dim { \c_max_dim }
- \dim_gset:Nn \g_@@_ymax_dim { -\c_max_dim }
- \dim_gset:Nn \g_@@_ymin_dim { \c_max_dim }
+ \dim_gset:Nn \g_draw_bb_xmax_dim { -\c_max_dim }
+ \dim_gset:Nn \g_draw_bb_xmin_dim { \c_max_dim }
+ \dim_gset:Nn \g_draw_bb_ymax_dim { -\c_max_dim }
+ \dim_gset:Nn \g_draw_bb_ymin_dim { \c_max_dim }
}
% \end{macrocode}
% \end{macro}
@@ -130,7 +130,7 @@
\cs_new_protected:Npn \draw_begin:
{
\group_begin:
- \int_gincr:N \g_@@_id_int
+ \int_gincr:N \g_draw_id_int
\hbox_set:Nw \l_@@_main_box
\@@_backend_begin:
\@@_reset_bb:
@@ -147,6 +147,7 @@
\draw_miterlimit:n { 10 }
\draw_dash_pattern:nn { } { 0cm }
\hbox_set:Nw \l_@@_layer_main_box
+ \@@_record_origin:
}
\cs_new_protected:Npn \draw_end:
{
@@ -156,16 +157,16 @@
\@@_layers_insert:
\@@_backend_end:
\hbox_set_end:
- \dim_compare:nNnT \g_@@_xmin_dim = \c_max_dim
+ \dim_compare:nNnT \g_draw_bb_xmin_dim = \c_max_dim
{
- \dim_gzero:N \g_@@_xmax_dim
- \dim_gzero:N \g_@@_xmin_dim
- \dim_gzero:N \g_@@_ymax_dim
- \dim_gzero:N \g_@@_ymin_dim
+ \dim_gzero:N \g_draw_bb_xmax_dim
+ \dim_gzero:N \g_draw_bb_xmin_dim
+ \dim_gzero:N \g_draw_bb_ymax_dim
+ \dim_gzero:N \g_draw_bb_ymin_dim
}
\@@_finalise:
\box_set_wd:Nn \l_@@_main_box
- { \g_@@_xmax_dim - \g_@@_xmin_dim }
+ { \g_draw_bb_xmax_dim - \g_draw_bb_xmin_dim }
\mode_leave_vertical:
\box_use_drop:N \l_@@_main_box
\group_end:
@@ -173,6 +174,29 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_record_origin:}
+% Used to log the absolute location of a drawing. Ideally this would not
+% need two \tn{savepos}: we need to sort an \enquote{always left-to-right}
+% box. At present, this functionality is only available in \LaTeX{}.
+% \begin{macrocode}
+\cs_new_protected:Npe \@@_record_origin:
+ {
+ \hbox_to_wd:nn { 0pt }
+ {
+ \tex_savepos:D
+ \cs_if_exist:NT \@expl at finalise@setup@@@@
+ {
+ \exp_not:N \property_record:en
+ { draw . \exp_not:N \int_use:N \exp_not:N \g_draw_id_int }
+ { xpos , ypos , abspage }
+ }
+ \tex_savepos:D
+ }
+ }
+\cs_generate_variant:Nn \property_record:nn { e }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_finalise:}
% \begin{macro}{\@@_finalise_baseline:n}
% Finalising the (vertical) size of the output depends on whether we have
@@ -185,20 +209,20 @@
{
\hbox_set:Nn \l_@@_main_box
{
- \skip_horizontal:n { -\g_@@_xmin_dim }
+ \skip_horizontal:n { -\g_draw_bb_xmin_dim }
\box_move_down:nn
- { \g_@@_ymin_dim }
+ { \g_draw_bb_ymin_dim }
{ \box_use_drop:N \l_@@_main_box }
}
\box_set_dp:Nn \l_@@_main_box { 0pt }
\box_set_ht:Nn \l_@@_main_box
- { \g_@@_ymax_dim - \g_@@_ymin_dim }
+ { \g_draw_bb_ymax_dim - \g_draw_bb_ymin_dim }
}
\cs_new_protected:Npn \@@_finalise_baseline:n #1
{
\hbox_set:Nn \l_@@_main_box
{
- \skip_horizontal:n { -\g_@@_xmin_dim }
+ \skip_horizontal:n { -\g_draw_bb_xmin_dim }
\box_move_down:nn
{#1}
{ \box_use_drop:N \l_@@_main_box }
@@ -206,11 +230,11 @@
\box_set_dp:Nn \l_@@_main_box
{
\dim_max:nn
- { #1 - \g_@@_ymin_dim }
+ { #1 - \g_draw_bb_ymin_dim }
{ 0pt }
}
\box_set_ht:Nn \l_@@_main_box
- { \g_@@_ymax_dim - #1 }
+ { \g_draw_bb_ymax_dim - #1 }
}
% \end{macrocode}
% \end{macro}
@@ -310,18 +334,18 @@
\cs_new_protected:Npn \@@_scope_bb_begin:
{
\group_begin:
- \dim_set_eq:NN \l_@@_xmax_dim \g_@@_xmax_dim
- \dim_set_eq:NN \l_@@_xmin_dim \g_@@_xmin_dim
- \dim_set_eq:NN \l_@@_ymax_dim \g_@@_ymax_dim
- \dim_set_eq:NN \l_@@_ymin_dim \g_@@_ymin_dim
+ \dim_set_eq:NN \l_@@_xmax_dim \g_draw_bb_xmax_dim
+ \dim_set_eq:NN \l_@@_xmin_dim \g_draw_bb_xmin_dim
+ \dim_set_eq:NN \l_@@_ymax_dim \g_draw_bb_ymax_dim
+ \dim_set_eq:NN \l_@@_ymin_dim \g_draw_bb_ymin_dim
\@@_reset_bb:
}
\cs_new_protected:Npn \@@_scope_bb_end:
{
- \dim_gset_eq:NN \g_@@_xmax_dim \l_@@_xmax_dim
- \dim_gset_eq:NN \g_@@_xmin_dim \l_@@_xmin_dim
- \dim_gset_eq:NN \g_@@_ymax_dim \l_@@_ymax_dim
- \dim_gset_eq:NN \g_@@_ymin_dim \l_@@_ymin_dim
+ \dim_gset_eq:NN \g_draw_bb_xmax_dim \l_@@_xmax_dim
+ \dim_gset_eq:NN \g_draw_bb_xmin_dim \l_@@_xmin_dim
+ \dim_gset_eq:NN \g_draw_bb_ymax_dim \l_@@_ymax_dim
+ \dim_gset_eq:NN \g_draw_bb_ymin_dim \l_@@_ymin_dim
\group_end:
}
% \end{macrocode}
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-softpath.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-state.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw-transforms.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3draw/l3draw.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -265,6 +265,11 @@
% unbroken construct.
% \end{function}
%
+% \begin{variable}{\g_draw_id_int}
+% Each drawing is given a unique identity: this is incremented each time
+% \cs{draw_begin:} is used.
+% \end{variable}
+%
% \subsection{Graphics state}
%
% Within the drawing environment, a number of functions control how drawings
@@ -977,6 +982,18 @@
%
% \subsection{Bounding box}
%
+% \begin{variable}
+% {
+% \g_draw_bb_xmin_dim ,
+% \g_draw_bb_ymin_dim ,
+% \g_draw_bb_xmax_dim ,
+% \g_draw_bb_ymax_dim
+% }
+% The values for the corners of the automatically-calculated bounding box.
+% Note that this is the apparent size of the drawing: material may be placed
+% outside of the bounding box, see \cs{l_draw_bb_update_bool}.
+% \end{variable}
+%
% \begin{variable}{\l_draw_bb_update_bool}
% All functions automatically update the bounding box of the image, unless
% specified otherwise. This behavior is selectable using the
@@ -983,6 +1000,11 @@
% \cs{l_draw_bb_update_bool} boolean.
% \end{variable}
%
+% In \LaTeX{}, the absolute position of the origin for each drawing is
+% recorded as a property: the attributes \texttt{xpos}, \texttt{ypos} and
+% \texttt{abspage} are saved. The drawings are identified as
+% \texttt{draw.\meta{id}}, where \meta{id} is the value of \cs{g_draw_id_int}.
+%
% \subsection{Boxes and coffins}
%
% \begin{function}{\draw_box_use:N, \draw_box_use:Nn}
@@ -1205,7 +1227,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3draw}{2025-03-10}{}
+\ProvidesExplPackage{l3draw}{2025-03-26}{}
{L3 Experimental core drawing support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3opacity/l3opacity.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -102,7 +102,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3opacity}{2025-03-10}{}
+\ProvidesExplPackage{l3opacity}{2025-03-26}{}
{L3 Experimental opacity support}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/l3str/l3str-format.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -166,7 +166,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3str-format}{2025-03-10}{}
+\ProvidesExplPackage{l3str-format}{2025-03-26}{}
{L3 Experimental string formatting}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xcoffins/xcoffins.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -53,7 +53,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -672,7 +672,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2025-03-10}{}
+\ProvidesExplPackage{xcoffins}{2025-03-26}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/l3galley.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -686,7 +686,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{l3galley}{2025-03-10}{}
+\ProvidesExplPackage{l3galley}{2025-03-26}{}
{L3 Experimental galley code}
% \end{macrocode}
%
Modified: trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/source/latex/l3experimental/xgalley/xgalley.dtx 2025-04-08 20:14:13 UTC (rev 74883)
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2025-03-10}
+% \date{Released 2025-03-26}
%
% \maketitle
%
@@ -731,7 +731,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2025-03-10}{}
+\ProvidesExplPackage{xgalley}{2025-03-26}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
% \end{macrocode}
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3benchmark/l3benchmark.sty 2025-04-08 20:14:13 UTC (rev 74883)
@@ -20,7 +20,7 @@
%%
%% File: l3benchmark.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3benchmark}{2025-03-10}{}
+\ProvidesExplPackage{l3benchmark}{2025-03-26}{}
{L3 Experimental benchmarking}
\fp_new:N \g_benchmark_duration_target_fp
\fp_gset:Nn \g_benchmark_duration_target_fp { 1 }
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3draw/l3draw.sty 2025-04-08 20:14:13 UTC (rev 74883)
@@ -29,7 +29,7 @@
%% File: l3draw.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3draw}{2025-03-10}{}
+\ProvidesExplPackage{l3draw}{2025-03-26}{}
{L3 Experimental core drawing support}
\scan_new:N \s__draw_mark
\scan_new:N \s__draw_stop
@@ -235,14 +235,14 @@
{ \dim_min:nn \g__draw_path_ymin_dim {#2} }
\bool_if:NT \l_draw_bb_update_bool
{
- \dim_gset:Nn \g__draw_xmax_dim
- { \dim_max:nn \g__draw_xmax_dim {#1} }
- \dim_gset:Nn \g__draw_xmin_dim
- { \dim_min:nn \g__draw_xmin_dim {#1} }
- \dim_gset:Nn \g__draw_ymax_dim
- { \dim_max:nn \g__draw_ymax_dim {#2} }
- \dim_gset:Nn \g__draw_ymin_dim
- { \dim_min:nn \g__draw_ymin_dim {#2} }
+ \dim_gset:Nn \g_draw_bb_xmax_dim
+ { \dim_max:nn \g_draw_bb_xmax_dim {#1} }
+ \dim_gset:Nn \g_draw_bb_xmin_dim
+ { \dim_min:nn \g_draw_bb_xmin_dim {#1} }
+ \dim_gset:Nn \g_draw_bb_ymax_dim
+ { \dim_max:nn \g_draw_bb_ymax_dim {#2} }
+ \dim_gset:Nn \g_draw_bb_ymin_dim
+ { \dim_min:nn \g_draw_bb_ymin_dim {#2} }
}
}
\cs_new_protected:Npn \__draw_path_reset_limits:
@@ -715,7 +715,7 @@
}
\cs_new_protected:Npn \__draw_path_replace_bb:NnN #1#2#3
{
- \dim_gset:cn { g__draw_ #1#2 _dim }
+ \dim_gset:cn { g_draw_bb_ #1#2 _dim }
{
\dim_use:c { g__draw_path_ #1#2 _dim }
#3 0.5 \g__draw_linewidth_dim
@@ -786,12 +786,12 @@
}
\cs_new_protected:Npn \__draw_path_use_bb:NnN #1#2#3
{
- \dim_compare:nNnF { \dim_use:c { g__draw_ #1#2 _dim } } = { #3 -\c_max_dim }
+ \dim_compare:nNnF { \dim_use:c { g_draw_bb_ #1#2 _dim } } = { #3 -\c_max_dim }
{
- \dim_gset:cn { g__draw_ #1#2 _dim }
+ \dim_gset:cn { g_draw_bb_ #1#2 _dim }
{
\use:c { dim_ #2 :nn }
- { \dim_use:c { g__draw_ #1#2 _dim } }
+ { \dim_use:c { g_draw_bb_ #1#2 _dim } }
{
\dim_use:c { g__draw_path_ #1#2 _dim }
#3 0.5 \g__draw_linewidth_dim
@@ -1297,25 +1297,25 @@
{ \draw_point:n { (#1, #2) } }
}
%% File: l3draw-scopes.dtx
-\dim_new:N \g__draw_xmax_dim
-\dim_new:N \g__draw_xmin_dim
-\dim_new:N \g__draw_ymax_dim
-\dim_new:N \g__draw_ymin_dim
+\dim_new:N \g_draw_bb_xmax_dim
+\dim_new:N \g_draw_bb_xmin_dim
+\dim_new:N \g_draw_bb_ymax_dim
+\dim_new:N \g_draw_bb_ymin_dim
\bool_new:N \l_draw_bb_update_bool
\box_new:N \l__draw_main_box
\box_new:N \l__draw_layer_main_box
-\int_new:N \g__draw_id_int
+\int_new:N \g_draw_id_int
\cs_new_protected:Npn \__draw_reset_bb:
{
- \dim_gset:Nn \g__draw_xmax_dim { -\c_max_dim }
- \dim_gset:Nn \g__draw_xmin_dim { \c_max_dim }
- \dim_gset:Nn \g__draw_ymax_dim { -\c_max_dim }
- \dim_gset:Nn \g__draw_ymin_dim { \c_max_dim }
+ \dim_gset:Nn \g_draw_bb_xmax_dim { -\c_max_dim }
+ \dim_gset:Nn \g_draw_bb_xmin_dim { \c_max_dim }
+ \dim_gset:Nn \g_draw_bb_ymax_dim { -\c_max_dim }
+ \dim_gset:Nn \g_draw_bb_ymin_dim { \c_max_dim }
}
\cs_new_protected:Npn \draw_begin:
{
\group_begin:
- \int_gincr:N \g__draw_id_int
+ \int_gincr:N \g_draw_id_int
\hbox_set:Nw \l__draw_main_box
\__draw_backend_begin:
\__draw_reset_bb:
@@ -1332,6 +1332,7 @@
\draw_miterlimit:n { 10 }
\draw_dash_pattern:nn { } { 0cm }
\hbox_set:Nw \l__draw_layer_main_box
+ \__draw_record_origin:
}
\cs_new_protected:Npn \draw_end:
{
@@ -1341,38 +1342,53 @@
\__draw_layers_insert:
\__draw_backend_end:
\hbox_set_end:
- \dim_compare:nNnT \g__draw_xmin_dim = \c_max_dim
+ \dim_compare:nNnT \g_draw_bb_xmin_dim = \c_max_dim
{
- \dim_gzero:N \g__draw_xmax_dim
- \dim_gzero:N \g__draw_xmin_dim
- \dim_gzero:N \g__draw_ymax_dim
- \dim_gzero:N \g__draw_ymin_dim
+ \dim_gzero:N \g_draw_bb_xmax_dim
+ \dim_gzero:N \g_draw_bb_xmin_dim
+ \dim_gzero:N \g_draw_bb_ymax_dim
+ \dim_gzero:N \g_draw_bb_ymin_dim
}
\__draw_finalise:
\box_set_wd:Nn \l__draw_main_box
- { \g__draw_xmax_dim - \g__draw_xmin_dim }
+ { \g_draw_bb_xmax_dim - \g_draw_bb_xmin_dim }
\mode_leave_vertical:
\box_use_drop:N \l__draw_main_box
\group_end:
}
+\cs_new_protected:Npe \__draw_record_origin:
+ {
+ \hbox_to_wd:nn { 0pt }
+ {
+ \tex_savepos:D
+ \cs_if_exist:NT \@expl at finalise@setup@@
+ {
+ \exp_not:N \property_record:en
+ { draw . \exp_not:N \int_use:N \exp_not:N \g_draw_id_int }
+ { xpos , ypos , abspage }
+ }
+ \tex_savepos:D
+ }
+ }
+\cs_generate_variant:Nn \property_record:nn { e }
\cs_new_protected:Npn \__draw_finalise:
{
\hbox_set:Nn \l__draw_main_box
{
- \skip_horizontal:n { -\g__draw_xmin_dim }
+ \skip_horizontal:n { -\g_draw_bb_xmin_dim }
\box_move_down:nn
- { \g__draw_ymin_dim }
+ { \g_draw_bb_ymin_dim }
{ \box_use_drop:N \l__draw_main_box }
}
\box_set_dp:Nn \l__draw_main_box { 0pt }
\box_set_ht:Nn \l__draw_main_box
- { \g__draw_ymax_dim - \g__draw_ymin_dim }
+ { \g_draw_bb_ymax_dim - \g_draw_bb_ymin_dim }
}
\cs_new_protected:Npn \__draw_finalise_baseline:n #1
{
\hbox_set:Nn \l__draw_main_box
{
- \skip_horizontal:n { -\g__draw_xmin_dim }
+ \skip_horizontal:n { -\g_draw_bb_xmin_dim }
\box_move_down:nn
{#1}
{ \box_use_drop:N \l__draw_main_box }
@@ -1380,11 +1396,11 @@
\box_set_dp:Nn \l__draw_main_box
{
\dim_max:nn
- { #1 - \g__draw_ymin_dim }
+ { #1 - \g_draw_bb_ymin_dim }
{ 0pt }
}
\box_set_ht:Nn \l__draw_main_box
- { \g__draw_ymax_dim - #1 }
+ { \g_draw_bb_ymax_dim - #1 }
}
\bool_new:N \l__draw_baseline_bool
\dim_new:N \l__draw_baseline_dim
@@ -1429,18 +1445,18 @@
\cs_new_protected:Npn \__draw_scope_bb_begin:
{
\group_begin:
- \dim_set_eq:NN \l__draw_xmax_dim \g__draw_xmax_dim
- \dim_set_eq:NN \l__draw_xmin_dim \g__draw_xmin_dim
- \dim_set_eq:NN \l__draw_ymax_dim \g__draw_ymax_dim
- \dim_set_eq:NN \l__draw_ymin_dim \g__draw_ymin_dim
+ \dim_set_eq:NN \l__draw_xmax_dim \g_draw_bb_xmax_dim
+ \dim_set_eq:NN \l__draw_xmin_dim \g_draw_bb_xmin_dim
+ \dim_set_eq:NN \l__draw_ymax_dim \g_draw_bb_ymax_dim
+ \dim_set_eq:NN \l__draw_ymin_dim \g_draw_bb_ymin_dim
\__draw_reset_bb:
}
\cs_new_protected:Npn \__draw_scope_bb_end:
{
- \dim_gset_eq:NN \g__draw_xmax_dim \l__draw_xmax_dim
- \dim_gset_eq:NN \g__draw_xmin_dim \l__draw_xmin_dim
- \dim_gset_eq:NN \g__draw_ymax_dim \l__draw_ymax_dim
- \dim_gset_eq:NN \g__draw_ymin_dim \l__draw_ymin_dim
+ \dim_gset_eq:NN \g_draw_bb_xmax_dim \l__draw_xmax_dim
+ \dim_gset_eq:NN \g_draw_bb_xmin_dim \l__draw_xmin_dim
+ \dim_gset_eq:NN \g_draw_bb_ymax_dim \l__draw_ymax_dim
+ \dim_gset_eq:NN \g_draw_bb_ymin_dim \l__draw_ymin_dim
\group_end:
}
\cs_new_protected:Npn \draw_suspend_begin:
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3opacity/l3opacity.sty 2025-04-08 20:14:13 UTC (rev 74883)
@@ -20,7 +20,7 @@
%%
%% File: l3opacity.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3opacity}{2025-03-10}{}
+\ProvidesExplPackage{l3opacity}{2025-03-26}{}
{L3 Experimental opacity support}
\fp_new:N \l__opacity_tmp_fp
\cs_new_protected:Npn \opacity_select:n #1
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/l3str/l3str-format.sty 2025-04-08 20:14:13 UTC (rev 74883)
@@ -20,7 +20,7 @@
%%
%% File: l3str-format.dtx
\RequirePackage{expl3}
-\ProvidesExplPackage{l3str-format}{2025-03-10}{}
+\ProvidesExplPackage{l3str-format}{2025-03-26}{}
{L3 Experimental string formatting}
\cs_generate_variant:Nn \use:nn { nf }
\cs_generate_variant:Nn \use:nnn { fnf }
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xcoffins/xcoffins.sty 2025-04-08 20:14:13 UTC (rev 74883)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xcoffins.dtx
-\ProvidesExplPackage{xcoffins}{2025-03-10}{}
+\ProvidesExplPackage{xcoffins}{2025-03-26}{}
{L3 Experimental design level coffins}
\keys_define:nn { coffin }
{
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/l3galley.sty 2025-04-08 20:14:13 UTC (rev 74883)
@@ -32,7 +32,7 @@
}%
\endinput
}
-\ProvidesExplPackage{l3galley}{2025-03-10}{}
+\ProvidesExplPackage{l3galley}{2025-03-26}{}
{L3 Experimental galley code}
\int_new:N \l__galley_tmp_int
\seq_new:N \g__galley_tmpa_seq
Modified: trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty 2025-04-08 20:13:54 UTC (rev 74882)
+++ trunk/Master/texmf-dist/tex/latex/l3experimental/xgalley/xgalley.sty 2025-04-08 20:14:13 UTC (rev 74883)
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: xgalley.dtx
-\ProvidesExplPackage{xgalley}{2025-03-10}{}
+\ProvidesExplPackage{xgalley}{2025-03-26}{}
{L3 Experimental galley}
\RequirePackage{xtemplate,l3galley}
\clist_new:N \l__galley_tmpa_clist
More information about the tex-live-commits
mailing list.