summaryrefslogtreecommitdiff
path: root/macros
diff options
context:
space:
mode:
Diffstat (limited to 'macros')
-rw-r--r--macros/latex/contrib/l3experimental/CHANGELOG.md8
-rw-r--r--macros/latex/contrib/l3experimental/README.md4
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3benchmark.pdfbin314019 -> 314627 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3cctab.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/l3cctab.pdfbin337341 -> 337933 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3color.dtx87
-rw-r--r--macros/latex/contrib/l3experimental/l3color.pdfbin349685 -> 350289 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-boxes.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-code.pdfbin624175 -> 625771 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-layers.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-paths.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-points.dtx18
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-scopes.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-softpath.dtx18
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-state.dtx16
-rw-r--r--macros/latex/contrib/l3experimental/l3draw-transforms.dtx2
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.dtx29
-rw-r--r--macros/latex/contrib/l3experimental/l3draw.pdfbin491117 -> 491703 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.dtx6
-rw-r--r--macros/latex/contrib/l3experimental/l3galley.pdfbin385522 -> 386128 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.dtx23
-rw-r--r--macros/latex/contrib/l3experimental/l3graphics.pdfbin362861 -> 363473 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf-code.pdfbin277030 -> 278894 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf.dtx41
-rw-r--r--macros/latex/contrib/l3experimental/l3pdf.pdfbin349545 -> 351156 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.dtx50
-rw-r--r--macros/latex/contrib/l3experimental/l3str-format.pdfbin344664 -> 345275 bytes
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.dtx39
-rw-r--r--macros/latex/contrib/l3experimental/l3sys-shell.pdfbin311429 -> 312114 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.dtx4
-rw-r--r--macros/latex/contrib/l3experimental/xcoffins.pdfbin372664 -> 373261 bytes
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.dtx8
-rw-r--r--macros/latex/contrib/l3experimental/xgalley.pdfbin285447 -> 286048 bytes
-rw-r--r--macros/luatex/generic/luatexja/README8
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-en.pdfbin689335 -> 689332 bytes
-rw-r--r--macros/luatex/generic/luatexja/doc/luatexja-ja.pdfbin1109921 -> 1109921 bytes
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-direction.lua6
-rw-r--r--macros/luatex/generic/luatexja/src/ltj-jfont.lua4
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.lua3
-rw-r--r--macros/luatex/generic/luatexja/src/luatexja.sty2
41 files changed, 243 insertions, 149 deletions
diff --git a/macros/latex/contrib/l3experimental/CHANGELOG.md b/macros/latex/contrib/l3experimental/CHANGELOG.md
index ccdcd90dfe..f457a0069d 100644
--- a/macros/latex/contrib/l3experimental/CHANGELOG.md
+++ b/macros/latex/contrib/l3experimental/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2020-05-18]
+
+### Added
+- `\pdf_object_if_exist:n(TF)`
+
## [2020-01-12]
### Changed
@@ -122,7 +127,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/2020-01-12...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2020-05-18...HEAD
+[2020-05-18]: https://github.com/latex3/latex3/compare/2020-01-12...2020-05-18
[2020-01-12]: https://github.com/latex3/latex3/compare/2019-10-11...2020-01-12
[2019-10-11]: https://github.com/latex3/latex3/compare/2019-09-28...2019-10-11
[2019-09-28]: https://github.com/latex3/latex3/compare/2019-09-19...2019-09-28
diff --git a/macros/latex/contrib/l3experimental/README.md b/macros/latex/contrib/l3experimental/README.md
index 4202fb71e6..fd1dc7c09e 100644
--- a/macros/latex/contrib/l3experimental/README.md
+++ b/macros/latex/contrib/l3experimental/README.md
@@ -1,7 +1,7 @@
Experimental LaTeX3 Concepts
============================
-Release 2020-01-12
+Release 2020-05-18
Overview
--------
@@ -142,6 +142,6 @@ the [LaTeX-L list](#Discussion) should be used.
-----
-<p>Copyright (C) 1998-2011,2015-2020 The LaTeX3 Project <br />
+<p>Copyright (C) 1998-2004,2008-2012,2014-2020 The LaTeX3 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 5383ac4624..9794e24e5f 100644
--- a/macros/latex/contrib/l3experimental/l3benchmark.dtx
+++ b/macros/latex/contrib/l3experimental/l3benchmark.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -130,7 +130,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3benchmark}{2020-01-12}{}
+\ProvidesExplPackage{l3benchmark}{2020-05-18}{}
{L3 Experimental benchmarking}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3benchmark.pdf b/macros/latex/contrib/l3experimental/l3benchmark.pdf
index 1fd8c716f3..a63753aa45 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/l3cctab.dtx b/macros/latex/contrib/l3experimental/l3cctab.dtx
index f7418e117f..51bbf90bf0 100644
--- a/macros/latex/contrib/l3experimental/l3cctab.dtx
+++ b/macros/latex/contrib/l3experimental/l3cctab.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -171,7 +171,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3cctab}{2020-01-12}{}
+\ProvidesExplPackage{l3cctab}{2020-05-18}{}
{L3 Experimental category code tables}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3cctab.pdf b/macros/latex/contrib/l3experimental/l3cctab.pdf
index 00a402e93e..ecdbbe7152 100644
--- a/macros/latex/contrib/l3experimental/l3cctab.pdf
+++ b/macros/latex/contrib/l3experimental/l3cctab.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3color.dtx b/macros/latex/contrib/l3experimental/l3color.dtx
index de6616acf3..9438e8110f 100644
--- a/macros/latex/contrib/l3experimental/l3color.dtx
+++ b/macros/latex/contrib/l3experimental/l3color.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -243,7 +243,7 @@
% \cs{color_parse:nN} \Arg{color expression} \Arg{tl}
% \end{syntax}
% Parses the \meta{color expression} as described above, and sets the
-% \meta{tl} the the equivalent \meta{core color representation}
+% \meta{tl} to the equivalent \meta{core color representation}
% (used at the backend level and based on \texttt{dvips} color
% representation).
% \end{function}
@@ -267,7 +267,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3color}{2020-01-12}{}
+\ProvidesExplPackage{l3color}{2020-05-18}{}
{L3 Experimental color support}
%</package>
% \end{macrocode}
@@ -300,6 +300,13 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\s_@@_mark}
+% Internal scan marks. \cs{s_@@_stop} is already defined in \pkg{l3color-base}.
+% \begin{macrocode}
+\scan_new:N \s_@@_mark
+% \end{macrocode}
+% \end{variable}
+%
% \subsection{Utility functions}
%
% \begin{macro}[int, TF, EXP]{\@@_if_defined:n}
@@ -328,10 +335,10 @@
\@@_extract:NNw
\exp_after:wN \exp_after:wN \exp_after:wN #2
\exp_after:wN \exp_after:wN \exp_after:wN #3
- \cs:w l_@@_named_ #1 _tl \cs_end: \q_stop
+ \cs:w l_@@_named_ #1 _tl \cs_end: \s_@@_stop
}
\cs_generate_variant:Nn \@@_extract:nNN { V }
-\cs_new_protected:Npn \@@_extract:NNw #1#2 #3 ~ #4 \q_stop
+\cs_new_protected:Npn \@@_extract:NNw #1#2 #3 ~ #4 \s_@@_stop
{
\tl_set:Nn #1 {#3}
\tl_set:Nn #2 {#4}
@@ -366,18 +373,18 @@
\str_if_eq:nnT {#1} { spot } % TO DO!!!
{ }
\tl_set:Nx #4
- { \use:c { @@_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \q_stop }
+ { \use:c { @@_convert_ #1 _ #2 :w } #3 ~ 0 ~ 0 ~ 0 \s_@@_stop }
}
\cs_generate_variant:Nn \@@_convert:nnnN { nnV }
-\cs_new:Npn \@@_convert_gray_rgb:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_convert_gray_rgb:w #1 ~ #2 \s_@@_stop
{ #1 ~ #1 ~ #1 }
-\cs_new:Npn \@@_convert_gray_cmyk:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_convert_gray_cmyk:w #1 ~ #2 \s_@@_stop
{ 0 ~ 0 ~ 0 ~ \fp_eval:n { 1 - #1 } }
% \end{macrocode}
% These rather odd values are based on \textsc{ntsc} television: the set are
% used for the |cmyk| conversion.
% \begin{macrocode}
-\cs_new:Npn \@@_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \q_stop
+\cs_new:Npn \@@_convert_rgb_gray:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{ \fp_eval:n { 0.3 * #1 + 0.59 * #2 + 0.11 * #3 } }
% \end{macrocode}
% The conversion from |rgb| to |cmyk| is the most complex: a two-step
@@ -387,7 +394,7 @@
% Moreover, as the likelihood of anyone using a non-unitary matrix here is
% tiny, we simplify and treat those two concepts as no-ops.
% \begin{macrocode}
-\cs_new:Npn \@@_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop
+\cs_new:Npn \@@_convert_rgb_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop
{
\exp_args:Nf \@@_convert_rgb_cmyk:nnnn
{ \fp_eval:n { min ( 1 - #1 , 1 - #2 , 1 - #3 ) } } {#1} {#2} {#3}
@@ -399,9 +406,9 @@
\fp_eval:n { min ( 1 , max ( 0 , 1 - #4 - #1 ) ) } \c_space_tl
#1
}
-\cs_new:Npn \@@_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new:Npn \@@_convert_cmyk_gray:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s_@@_stop
{ \fp_eval:n { 1 - min ( 1 , 0.3 * #1 + 0.59 * #2 + 0.11 * #3 + #4 ) } }
-\cs_new:Npn \@@_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new:Npn \@@_convert_cmyk_rgb:w #1 ~ #2 ~ #3 ~ #4 ~ #5 \s_@@_stop
{
\fp_eval:n { 1 - min ( 1 , #1 + #4 ) } \c_space_tl
\fp_eval:n { 1 - min ( 1 , #2 + #4 ) } \c_space_tl
@@ -464,10 +471,10 @@
{
\tl_if_exist:cTF { l_@@_named_ #1 _tl }
{ \tl_set_eq:Nc #2 { l_@@_named_ #1 _tl } }
- { \@@_parse:Nw #2#1 ! \q_stop }
+ { \@@_parse:Nw #2#1 ! \s_@@_stop }
\@@_check_model:N #2
}
-\cs_new_protected:Npn \@@_parse:Nw #1#2 ! #3 \q_stop
+\cs_new_protected:Npn \@@_parse:Nw #1#2 ! #3 \s_@@_stop
{
\@@_if_defined:nTF {#2}
{
@@ -489,7 +496,7 @@
{
\group_begin:
\@@_extract:nNN {#2} \l_@@_model_tl \l_@@_value_tl
- \@@_parse_loop:w #3 ! ! ! ! \q_stop
+ \@@_parse_loop:w #3 ! ! ! ! \s_@@_stop
\tl_set:Nx \l_@@_internal_tl
{ \l_@@_model_tl \c_space_tl \l_@@_value_tl }
\exp_args:NNNV \group_end:
@@ -507,7 +514,7 @@
% sorted out by checking if we have further data to process: in contrast
% to \pkg{xcolor}, we don't allow |!!| so the test can be simplified.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \q_stop
+\cs_new_protected:Npn \@@_parse_loop:w #1 ! #2 ! #3 ! #4 ! #5 \s_@@_stop
{
\bool_lazy_or:nnF
{ \tl_if_blank_p:n {#1} }
@@ -529,7 +536,7 @@
}
}
\tl_if_blank:nF {#3}
- { \@@_parse_loop:w #3 ! #4 ! #5 \q_stop }
+ { \@@_parse_loop:w #3 ! #4 ! #5 \s_@@_stop }
\@@_parse_end:
}
% \end{macrocode}
@@ -594,19 +601,19 @@
\cs_new:Npn \@@_parse_mix:nNnn #1#2#3#4
{
\use:c { @@_parse_mix_ #2 :nw } {#1}
- #3 \q_mark #4 \q_stop
+ #3 \s_@@_mark #4 \s_@@_stop
}
-\cs_new:Npn \@@_parse_mix_gray:nw #1#2 \q_mark #3 \q_stop
+\cs_new:Npn \@@_parse_mix_gray:nw #1#2 \s_@@_mark #3 \s_@@_stop
{ \fp_eval:n { #2 * #1 + #3 * ( 1 - #1 ) } }
\cs_new:Npn \@@_parse_mix_rgb:nw
- #1#2 ~ #3 ~ #4 \q_mark #5 ~ #6 ~ #7 \q_stop
+ #1#2 ~ #3 ~ #4 \s_@@_mark #5 ~ #6 ~ #7 \s_@@_stop
{
\fp_eval:n { #2 * #1 + #5 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #3 * #1 + #6 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #4 * #1 + #7 * ( 1 - #1 ) }
}
\cs_new:Npn \@@_parse_mix_cmyk:nw
- #1#2 ~ #3 ~ #4 ~ #5 \q_mark #6 ~ #7 ~ #8 ~ #9 \q_stop
+ #1#2 ~ #3 ~ #4 ~ #5 \s_@@_mark #6 ~ #7 ~ #8 ~ #9 \s_@@_stop
{
\fp_eval:n { #2 * #1 + #6 * ( 1 - #1 ) } \c_space_tl
\fp_eval:n { #3 * #1 + #7 * ( 1 - #1 ) } \c_space_tl
@@ -636,27 +643,27 @@
% \begin{macro}[EXP]{\@@_parse_spot_aux:w}
% Turn the input into internal form, also tidying up the number quickly.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_model_gray:w #1 , #2 \q_stop { \@@_parse_number:n {#1} }
-\cs_new:Npn \@@_parse_model_rgb:w #1 , #2 , #3 , #4 \q_stop
+\cs_new:Npn \@@_parse_model_gray:w #1 , #2 \s_@@_stop { \@@_parse_number:n {#1} }
+\cs_new:Npn \@@_parse_model_rgb:w #1 , #2 , #3 , #4 \s_@@_stop
{
- \@@_parse_number:n {#1} ~
+ \@@_parse_number:n {#1} ~
\@@_parse_number:n {#2} ~
\@@_parse_number:n {#3}
}
-\cs_new:Npn \@@_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \q_stop
+\cs_new:Npn \@@_parse_model_cmyk:w #1 , #2 , #3 , #4 , #5 \s_@@_stop
{
- \@@_parse_number:n {#1} ~
+ \@@_parse_number:n {#1} ~
\@@_parse_number:n {#2} ~
\@@_parse_number:n {#3} ~
\@@_parse_number:n {#4}
}
-\cs_new:Npn \@@_parse_model_spot:w #1 , #2 \q_stop
- { \@@_parse_spot_aux:w #1 ! 100 ! \q_stop }
-\cs_new:Npn \@@_parse_spot_aux:w #1 ! #2 ! #3 \q_stop
+\cs_new:Npn \@@_parse_model_spot:w #1 , #2 \s_@@_stop
+ { \@@_parse_spot_aux:w #1 ! 100 ! \s_@@_stop }
+\cs_new:Npn \@@_parse_spot_aux:w #1 ! #2 ! #3 \s_@@_stop
{ #1 ~ \fp_eval:n { #2 / 100 } }
\cs_new:Npn \@@_parse_number:n #1
- { \@@_parse_number:w #1 . 0 . \q_stop }
-\cs_new:Npn \@@_parse_number:w #1 . #2 . #3 \q_stop
+ { \@@_parse_number:w #1 . 0 . \s_@@_stop }
+\cs_new:Npn \@@_parse_number:w #1 . #2 . #3 \s_@@_stop
{ \tl_if_blank:nTF {#1} { 0 } {#1} . #2 }
% \end{macrocode}
% \end{macro}
@@ -681,7 +688,7 @@
{
\tl_if_empty:NF \l_color_fixed_model_tl
{
- \exp_after:wN \@@_check_model:w #1 \q_stop
+ \exp_after:wN \@@_check_model:w #1 \s_@@_stop
\tl_if_eq:NNF \l_@@_model_tl \l_color_fixed_model_tl
{
\@@_convert:VVN \l_@@_model_tl \l_color_fixed_model_tl
@@ -691,7 +698,7 @@
{ \l_color_fixed_model_tl \c_space_tl \l_@@_value_tl }
}
}
-\cs_new_protected:Npn \@@_check_model:w #1 ~ #2 \q_stop
+\cs_new_protected:Npn \@@_check_model:w #1 ~ #2 \s_@@_stop
{
\tl_set:Nn \l_@@_model_tl {#1}
\tl_set:Nn \l_@@_value_tl {#2}
@@ -743,7 +750,7 @@
\cs_if_exist:cTF { @@_parse_model_ #1 :w }
{
\tl_set:Nx #3
- { #1 ~ \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \q_stop }
+ { #1 ~ \use:c { @@_parse_model_ #1 :w } #2 , 0 , 0 , 0 , 0 \s_@@_stop }
\@@_check_model:N #3
}
{
@@ -848,21 +855,21 @@
{#1}
{
\@@_if_defined:nTF {#1}
- { \exp_last_unbraced:Nv \@@_show:w { l_@@_named_ #1 _tl } \q_stop }
+ { \exp_last_unbraced:Nv \@@_show:w { l_@@_named_ #1 _tl } \s_@@_stop }
{ }
}
{ }
{ }
}
-\cs_new:Npn \@@_show:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_show:w #1 ~ #2 \s_@@_stop
{
\msg_show_item_unbraced:nn { model } {#1}
\exp_args:Nnf \msg_show_item_unbraced:nn { value }
- { \use:c { @@_show_ #1 :w } #2 \q_stop }
+ { \use:c { @@_show_ #1 :w } #2 \s_@@_stop }
}
-\cs_new:Npn \@@_show_gray:w #1 \q_stop { #1 }
-\cs_new:Npn \@@_show_rgb:w #1 ~ #2 ~ #3 \q_stop { #1 ,~ #2 ,~ #3 }
-\cs_new:Npn \@@_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \q_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
+\cs_new:Npn \@@_show_gray:w #1 \s_@@_stop { #1 }
+\cs_new:Npn \@@_show_rgb:w #1 ~ #2 ~ #3 \s_@@_stop { #1 ,~ #2 ,~ #3 }
+\cs_new:Npn \@@_show_cmyk:w #1 ~ #2 ~ #3 ~ #4 \s_@@_stop { #1 ,~ #2 ,~ #3 ,~ #4 }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/l3experimental/l3color.pdf b/macros/latex/contrib/l3experimental/l3color.pdf
index 1c7f8f3153..cfffa89396 100644
--- a/macros/latex/contrib/l3experimental/l3color.pdf
+++ b/macros/latex/contrib/l3experimental/l3color.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
index 572b4f2192..b1c1b8f9bb 100644
--- a/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-boxes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-code.pdf b/macros/latex/contrib/l3experimental/l3draw-code.pdf
index 296561bb05..58ec9c8866 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 53c221d69e..1711561dc7 100644
--- a/macros/latex/contrib/l3experimental/l3draw-layers.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-layers.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-paths.dtx b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
index 846043faa4..1d79852ddc 100644
--- a/macros/latex/contrib/l3experimental/l3draw-paths.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-paths.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-points.dtx b/macros/latex/contrib/l3experimental/l3draw-points.dtx
index dccb1fb677..6874d149ae 100644
--- a/macros/latex/contrib/l3experimental/l3draw-points.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-points.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -116,8 +116,8 @@
{#1}
}
\cs_new:Npn \@@_point_process_auxi:nn #1#2
- { \@@_point_process_auxii:nw {#2} #1 \q_stop }
-\cs_new:Npn \@@_point_process_auxii:nw #1 #2 , #3 \q_stop
+ { \@@_point_process_auxii:nw {#2} #1 \s_@@_stop }
+\cs_new:Npn \@@_point_process_auxii:nw #1 #2 , #3 \s_@@_stop
{ #1 {#2} {#3} }
\cs_new:Npn \@@_point_process:nnn #1#2#3
{
@@ -127,8 +127,8 @@
{#1}
}
\cs_new:Npn \@@_point_process_auxiii:nnn #1#2#3
- { \@@_point_process_auxiv:nw {#3} #1 \q_mark #2 \q_stop }
-\cs_new:Npn \@@_point_process_auxiv:nw #1 #2 , #3 \q_mark #4 , #5 \q_stop
+ { \@@_point_process_auxiv:nw {#3} #1 \s_@@_mark #2 \s_@@_stop }
+\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
{
@@ -139,9 +139,9 @@
{#1}
}
\cs_new:Npn \@@_point_process_auxv:nnnn #1#2#3#4
- { \@@_point_process_auxvi:nw {#4} #1 \q_mark #2 \q_mark #3 \q_stop }
+ { \@@_point_process_auxvi:nw {#4} #1 \s_@@_mark #2 \s_@@_mark #3 \s_@@_stop }
\cs_new:Npn \@@_point_process_auxvi:nw
- #1 #2 , #3 \q_mark #4 , #5 \q_mark #6 , #7 \q_stop
+ #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
{
@@ -155,10 +155,10 @@
\cs_new:Npn \@@_point_process_auxvii:nnnnn #1#2#3#4#5
{
\@@_point_process_auxviii:nw
- {#5} #1 \q_mark #2 \q_mark #3 \q_mark #4 \q_stop
+ {#5} #1 \s_@@_mark #2 \s_@@_mark #3 \s_@@_mark #4 \s_@@_stop
}
\cs_new:Npn \@@_point_process_auxviii:nw
- #1 #2 , #3 \q_mark #4 , #5 \q_mark #6 , #7 \q_mark #8 , #9 \q_stop
+ #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} }
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
index 704d80652f..1359254106 100644
--- a/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-scopes.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
index ce3b8b1ac8..ca1f161df5 100644
--- a/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-softpath.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -326,8 +326,8 @@
\tl_build_get:NN \g_@@_softpath_main_tl \l_@@_softpath_internal_tl
\exp_after:wN \@@_softpath_round_loop:Nnn
\l_@@_softpath_internal_tl
- \q_recursion_tail ? ?
- \q_recursion_stop
+ \q_@@_recursion_tail ? ?
+ \q_@@_recursion_stop
\group_end:
}
\bool_gset_false:N \g_@@_softpath_corners_bool
@@ -342,7 +342,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_softpath_round_loop:Nnn #1#2#3
{
- \quark_if_recursion_tail_stop_do:Nn #1 { \@@_softpath_round_end: }
+ \@@_if_recursion_tail_stop_do:Nn #1 { \@@_softpath_round_end: }
\token_if_eq_meaning:NNTF #1 \@@_softpath_roundpoint_op:nn
{ \@@_softpath_round_action:nn {#2} {#3} }
{
@@ -505,7 +505,7 @@
\cs_new:Npn \@@_softpath_round_calc:nnnnnn #1#2#3#4#5#6
{
\@@_softpath_round_calc:nnnnw {#3} {#4} {#5} {#6}
- #1 \q_mark #2 \q_stop
+ #1 \s_@@_mark #2 \s_@@_stop
}
\cs_generate_variant:Nn \@@_softpath_round_calc:nnnnnn { fV }
% \end{macrocode}
@@ -513,7 +513,7 @@
% quadratic Bézier curve.
% \begin{macrocode}
\cs_new:Npn \@@_softpath_round_calc:nnnnw
- #1#2#3#4 #5 , #6 \q_mark #7 , #8 \q_stop
+ #1#2#3#4 #5 , #6 \s_@@_mark #7 , #8 \s_@@_stop
{
{#5} {#6}
\exp_not:N \@@_softpath_curveto_opi:nn
@@ -556,7 +556,7 @@
\exp_not:N \exp_after:wN
\exp_not:N \@@_softpath_round_close:w
\exp_not:N \l_@@_softpath_curve_end_tl
- \exp_not:N \q_stop
+ \s_@@_stop
}
\use:x
{
@@ -567,7 +567,7 @@
\exp_not:N \exp_after:wN
\exp_not:N \@@_softpath_round_close:w
\exp_not:N \l_@@_softpath_curve_end_tl
- \exp_not:N \q_stop
+ \s_@@_stop
}
}
}
@@ -576,7 +576,7 @@
\exp_after:wN \use_none:n \l_@@_softpath_move_tl
}
}
-\cs_new:Npn \@@_softpath_round_close:w #1 , #2 \q_stop { {#1} {#2} }
+\cs_new:Npn \@@_softpath_round_close:w #1 , #2 \s_@@_stop { {#1} {#2} }
% \end{macrocode}
% Tidy up the parts of the path, complete the built token list and put
% it back into action.
diff --git a/macros/latex/contrib/l3experimental/l3draw-state.dtx b/macros/latex/contrib/l3experimental/l3draw-state.dtx
index 658982a49b..74f4f6a072 100644
--- a/macros/latex/contrib/l3experimental/l3draw-state.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-state.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -177,17 +177,17 @@
\@@_color_aux:Vn \l_@@_color_tmp_tl {#1}
}
\cs_new_protected:Npn \@@_color_aux:nn #1#2
- { \@@_color:nw {#2} #1 \q_stop }
+ { \@@_color:nw {#2} #1 \s_@@_stop }
\cs_generate_variant:Nn \@@_color_aux:nn { V }
-\cs_new_protected:Npn \@@_color:nw #1#2 ~ #3 \q_stop
- { \use:c { @@_color_ #2 :nw } {#1} #3 \q_stop }
-\cs_new_protected:Npn \@@_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \q_stop
+\cs_new_protected:Npn \@@_color:nw #1#2 ~ #3 \s_@@_stop
+ { \use:c { @@_color_ #2 :nw } {#1} #3 \s_@@_stop }
+\cs_new_protected:Npn \@@_color_cmyk:nw #1#2 ~ #3 ~ #4 ~ #5 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _cmyk:nnnn } {#2} {#3} {#4} {#5} }
-\cs_new_protected:Npn \@@_color_gray:nw #1#2 \q_stop
+\cs_new_protected:Npn \@@_color_gray:nw #1#2 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _gray:n } {#2} }
-\cs_new_protected:Npn \@@_color_rgb:nw #1#2 ~ #3 ~ #4 \q_stop
+\cs_new_protected:Npn \@@_color_rgb:nw #1#2 ~ #3 ~ #4 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _rgb:nnn } {#2} {#3} {#4} }
-\cs_new_protected:Npn \@@_color_spot:nw #1#2 ~ #3 \q_stop
+\cs_new_protected:Npn \@@_color_spot:nw #1#2 ~ #3 \s_@@_stop
{ \use:c { @@_backend_color_ #1 _spot:nn } {#2} {#3} }
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
index bcfed70787..beb6582e0e 100644
--- a/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw-transforms.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3experimental/l3draw.dtx b/macros/latex/contrib/l3experimental/l3draw.dtx
index 0ce74688f4..f485aa69a2 100644
--- a/macros/latex/contrib/l3experimental/l3draw.dtx
+++ b/macros/latex/contrib/l3experimental/l3draw.dtx
@@ -110,7 +110,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -1146,7 +1146,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3draw}{2020-01-12}{}
+\ProvidesExplPackage{l3draw}{2020-05-18}{}
{L3 Experimental core drawing support}
%</package>
% \end{macrocode}
@@ -1155,6 +1155,31 @@
\RequirePackage { l3color }
% \end{macrocode}
%
+% \subsection{Internal auxiliaries}
+%
+% \begin{variable}{\s_@@_mark,\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_mark
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\q_@@_recursion_tail,\q_@@_recursion_stop}
+% Internal recursion quarks.
+% \begin{macrocode}
+\quark_new:N \q_@@_recursion_tail
+\quark_new:N \q_@@_recursion_stop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[EXP]{\@@_if_recursion_tail_stop_do:Nn}
+% Functions to query recursion quarks.
+% \begin{macrocode}
+\__kernel_quark_new_test:N \@@_if_recursion_tail_stop_do:Nn
+% \end{macrocode}
+% \end{macro}
+%
% Everything else is in the sub-files!
%
% \begin{macrocode}
diff --git a/macros/latex/contrib/l3experimental/l3draw.pdf b/macros/latex/contrib/l3experimental/l3draw.pdf
index ed46ba5f7f..e68c0a0a77 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 14d9fc9e09..e8a59c0770 100644
--- a/macros/latex/contrib/l3experimental/l3galley.dtx
+++ b/macros/latex/contrib/l3experimental/l3galley.dtx
@@ -61,7 +61,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -687,7 +687,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3galley}{2020-01-12}{}
+\ProvidesExplPackage{l3galley}{2020-05-18}{}
{L3 Experimental galley code}
%</package>
% \end{macrocode}
@@ -1751,7 +1751,7 @@
\cs_new_protected:Npn \galley_cutout_right:nn
{ \@@_cutout:nnn { right } }
% \end{macrocode}
-% The cutout information needs to be saved in in the appropriate sequence.
+% The cutout information needs to be saved in the appropriate sequence.
% First, the input is converted to a (temporary) sequence. If there is
% no existing cutout defined, this is simply stored. On the other hand,
% if there is a cutout already active, the new one needs to be added to
diff --git a/macros/latex/contrib/l3experimental/l3galley.pdf b/macros/latex/contrib/l3experimental/l3galley.pdf
index 83e56ffd2c..2c4091dce6 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 e877b69ca5..36a63818c1 100644
--- a/macros/latex/contrib/l3experimental/l3graphics.dtx
+++ b/macros/latex/contrib/l3experimental/l3graphics.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -241,7 +241,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3graphics}{2020-01-12}{}
+\ProvidesExplPackage{l3graphics}{2020-05-18}{}
{L3 Experimental graphics inclusion support}
%</package>
% \end{macrocode}
@@ -254,6 +254,13 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
% \subsection{Image feature support}
%
% \begin{macro}
@@ -408,7 +415,7 @@
\ior_str_map_inline:Nn \exp_not:N \l_@@_tmp_ior
{
\exp_not:N \@@_read_bb_auxiii:w
- ##1 ~ \c_colon_str \exp_not:N \q_stop
+ ##1 ~ \c_colon_str \s_@@_stop
}
}
\exp_not:n
@@ -425,12 +432,12 @@
\use:x
{
\cs_new_protected:Npn \exp_not:N \@@_read_bb_auxiii:w
- ##1 \c_colon_str ##2 \exp_not:N \q_stop
+ ##1 \c_colon_str ##2 \s_@@_stop
{
\exp_not:N \str_if_eq:nnT
{ \c_percent_str \c_percent_str BoundingBox }
{##1}
- { \exp_not:N \@@_read_bb_auxiv:w ##2 ( ) \exp_not:N \q_stop }
+ { \exp_not:N \@@_read_bb_auxiv:w ##2 ( ) \s_@@_stop }
}
}
% \end{macrocode}
@@ -441,7 +448,7 @@
% whitespace. \TeX{} will then tidy up for us, with just a leading space to
% worry about: that is taken out by the |\use:n| here.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_read_bb_auxiv:w #1 ( #2 ) #3 \q_stop
+\cs_new_protected:Npn \@@_read_bb_auxiv:w #1 ( #2 ) #3 \s_@@_stop
{
\str_if_eq:nnF {#2} { atend }
{
@@ -451,14 +458,14 @@
\char_set_catcode_space:n { 32 }
}
{ \use:n #1 }
- \exp_after:wN \@@_read_bb_auxv:w \l_@@_tmp_tl \q_stop
+ \exp_after:wN \@@_read_bb_auxv:w \l_@@_tmp_tl \s_@@_stop
}
}
% \end{macrocode}
% A trailing space was deliberately added earlier so we know that the final
% data point is terminated by a space.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_read_bb_auxv:w #1~#2~#3~#4~#5 \q_stop
+\cs_new_protected:Npn \@@_read_bb_auxv:w #1~#2~#3~#4~#5 \s_@@_stop
{
\dim_set:Nn \l_graphics_llx_dim { #1 bp }
\dim_set:Nn \l_graphics_lly_dim { #2 bp }
diff --git a/macros/latex/contrib/l3experimental/l3graphics.pdf b/macros/latex/contrib/l3experimental/l3graphics.pdf
index 91fd6d81c4..61d989c0ad 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/l3pdf-code.pdf b/macros/latex/contrib/l3experimental/l3pdf-code.pdf
index 7f232d74e5..33d08d4d7b 100644
--- a/macros/latex/contrib/l3experimental/l3pdf-code.pdf
+++ b/macros/latex/contrib/l3experimental/l3pdf-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3pdf.dtx b/macros/latex/contrib/l3experimental/l3pdf.dtx
index dc36f172fa..2b9f2564e7 100644
--- a/macros/latex/contrib/l3experimental/l3pdf.dtx
+++ b/macros/latex/contrib/l3experimental/l3pdf.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -71,7 +71,13 @@
% The object may be referenced from this point on, and written later
% using \cs{pdf_object_write:nn}.
% \end{function}
-%
+% \begin{function}[EXP, pTF, added=2020-05-15]{\pdf_object_if_exist:n}
+% \begin{syntax}
+% \cs{pdf_object_if_exist_p:n} \Arg{object}
+% \cs{pdf_object_if_exist:nTF} \Arg{object}
+% \end{syntax}
+% Tests whether an object with name \Arg{object} has been defined.
+% \end{function}
% \begin{function}[added = 2019-06-02]
% {\pdf_object_write:nn, \pdf_object_write:nx}
% \begin{syntax}
@@ -185,11 +191,18 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3pdf}{2020-01-12}{}
+\ProvidesExplPackage{l3pdf}{2020-05-18}{}
{L3 Experimental core PDF support}
%</package>
% \end{macrocode}
%
+% \begin{variable}{\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}{\g_@@_init_bool}
% A flag so we have some chance of avoiding setting things we are not
% allowed to.
@@ -224,6 +237,7 @@
% \subsection{Objects}
%
% \begin{macro}{\pdf_object_new:nn, \pdf_object_write:nn, \pdf_object_write:nx}
+% \begin{macro}[pTF]{\pdf_object_if_exist:n}
% \begin{macro}{\pdf_object_ref:n}
% \begin{macro}{\pdf_object_now:nn, \pdf_object_now:nx}
% \begin{macro}{\pdf_object_last:}
@@ -231,6 +245,12 @@
% \begin{macrocode}
\cs_new_protected:Npn \pdf_object_new:nn #1#2
{ \@@_backend_object_new:nn {#1} {#2} }
+\prg_new_conditional:Npnn \pdf_object_if_exist:n #1 { p , T , F , TF }
+ {
+ \int_if_exist:cTF { c__pdf_backend_object_ \tl_to_str:n {#1} _int }
+ { \prg_return_true: }
+ { \prg_return_false:}
+ }
\cs_new_protected:Npn \pdf_object_write:nn #1#2
{ \@@_backend_object_write:nn {#1} {#2} }
\cs_generate_variant:Nn \pdf_object_write:nn { nx }
@@ -244,6 +264,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Version}
%
@@ -258,8 +279,8 @@
% To compare version, we need to split the given value then deal with both
% major and minor version
\prg_new_conditional:Npnn \pdf_version_compare:Nn #1#2 { p , T , F , TF }
- { \use:c { @@_version_compare_ #1 :w } #2 . . \q_stop }
-\cs_new:cpn { @@_version_compare_=:w } #1 . #2 . #3 \q_stop
+ { \use:c { @@_version_compare_ #1 :w } #2 . . \s_@@_stop }
+\cs_new:cpn { @@_version_compare_=:w } #1 . #2 . #3 \s_@@_stop
{
\bool_lazy_and:nnTF
{ \int_compare_p:nNn \@@_backend_version_major: = {#1} }
@@ -267,7 +288,7 @@
{ \prg_return_true: }
{ \prg_return_false: }
}
-\cs_new:cpn { @@_version_compare_<:w } #1 . #2 . #3 \q_stop
+\cs_new:cpn { @@_version_compare_<:w } #1 . #2 . #3 \s_@@_stop
{
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \@@_backend_version_major: < {#1} }
@@ -279,7 +300,7 @@
{ \prg_return_true: }
{ \prg_return_false: }
}
-\cs_new:cpn { @@_version_compare_>:w } #1 . #2 . #3 \q_stop
+\cs_new:cpn { @@_version_compare_>:w } #1 . #2 . #3 \s_@@_stop
{
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \@@_backend_version_major: > {#1} }
@@ -300,13 +321,13 @@
% Split the version and set.
% \begin{macrocode}
\cs_new_protected:Npn \pdf_version_gset:n #1
- { \@@_version_gset:w #1 . . \q_stop }
+ { \@@_version_gset:w #1 . . \s_@@_stop }
\cs_new_protected:Npn \pdf_version_min_gset:n #1
{
\pdf_version_compare:NnT < {#1}
- { \@@_version_gset:w #1 . . \q_stop }
+ { \@@_version_gset:w #1 . . \s_@@_stop }
}
-\cs_new_protected:Npn \@@_version_gset:w #1 . #2 . #3\q_stop
+\cs_new_protected:Npn \@@_version_gset:w #1 . #2 . #3\s_@@_stop
{
\bool_if:NF \g_@@_init_bool
{
diff --git a/macros/latex/contrib/l3experimental/l3pdf.pdf b/macros/latex/contrib/l3experimental/l3pdf.pdf
index c223f4db7c..2afe2f9eed 100644
--- a/macros/latex/contrib/l3experimental/l3pdf.pdf
+++ b/macros/latex/contrib/l3experimental/l3pdf.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3experimental/l3str-format.dtx b/macros/latex/contrib/l3experimental/l3str-format.dtx
index af34128e5b..5cc7827af5 100644
--- a/macros/latex/contrib/l3experimental/l3str-format.dtx
+++ b/macros/latex/contrib/l3experimental/l3str-format.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -167,7 +167,7 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3str-format}{2020-01-12}{}
+\ProvidesExplPackage{l3str-format}{2020-05-18}{}
{L3 Experimental string formatting}
%</package>
% \end{macrocode}
@@ -191,7 +191,7 @@
%
% \begin{macro}[EXP]{\@@_format_if_digit:NTF}
% Here we expect |#1| to be a character with category other, or
-% \cs{s_stop}.
+% \cs{s_@@_stop}.
% \begin{macrocode}
\prg_new_conditional:Npnn \@@_format_if_digit:N #1 { TF }
{
@@ -203,9 +203,9 @@
%
% \begin{macro}[EXP]
% {\@@_format_put:nw, \@@_format_put:ow, \@@_format_put:fw}
-% Put |#1| after an \cs{s_stop} delimiter.
+% Put |#1| after an \cs{s_@@_stop} delimiter.
% \begin{macrocode}
-\cs_new:Npn \@@_format_put:nw #1 #2 \s_stop { #2 \s_stop #1 }
+\cs_new:Npn \@@_format_put:nw #1 #2 \s_@@_stop { #2 \s_@@_stop #1 }
\cs_generate_variant:Nn \@@_format_put:nw { o , f }
% \end{macrocode}
% \end{macro}
@@ -256,7 +256,7 @@
\cs_new:Npn \@@_format_parse:n #1
{
\exp_last_unbraced:Nf \@@_format_parse_auxi:NN
- { \__kernel_str_to_other:n {#1} } \s_stop \s_stop {#1}
+ { \__kernel_str_to_other:n {#1} } \s_@@_stop \s_@@_stop {#1}
}
\cs_new:Npx \@@_format_parse_auxi:NN #1#2
{
@@ -301,11 +301,11 @@
}
\cs_new:Npn \@@_format_parse_auxvii:nN #1#2
{
- \token_if_eq_meaning:NNTF \s_stop #2
+ \token_if_eq_meaning:NNTF \s_@@_stop #2
{ \@@_format_parse_end:nwn { #1 ? } #2 }
{ \@@_format_parse_end:nwn { #1 #2 } }
}
-\cs_new:Npn \@@_format_parse_end:nwn #1 #2 \s_stop \s_stop #3
+\cs_new:Npn \@@_format_parse_end:nwn #1 #2 \s_@@_stop \s_@@_stop #3
{
\tl_if_empty:nF {#2}
{ \__kernel_msg_expandable_error:nnn { str } { invalid-format } {#3} }
@@ -455,9 +455,9 @@
% \end{quote}
% First check that the \meta{alignment} is not |=|, and set the
% default alignment |?| to |<|. Place the modified information after
-% a trailing \cs{s_stop} for later retrieval. Then check that there
+% a trailing \cs{s_@@_stop} for later retrieval. Then check that there
% was no \meta{sign}. The width will be useful later, store it after
-% \cs{s_stop}. Afterwards, store the precision, and the function
+% \cs{s_@@_stop}. Afterwards, store the precision, and the function
% \cs{@@_range:nnn} that will be used to extract the first
% |#5| characters of the string.
% There is a need to use the internal function, as otherwise
@@ -495,14 +495,14 @@
}
}
\@@_format_tl_s:NNnnNNn
- \s_stop
+ \s_@@_stop
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[EXP]{\@@_format_tl_s:NNnnNNn}
% \begin{quote}
-% \cs{@@_format_tl_s:NNnnNNn} \cs{s_stop} \meta{function}
+% \cs{@@_format_tl_s:NNnnNNn} \cs{s_@@_stop} \meta{function}
% \Arg{arguments} \Arg{width} \meta{fill} \meta{alignment}
% \Arg{token list}
% \end{quote}
@@ -617,12 +617,12 @@
% \end{quote}
% First set the
% default alignment |?| to |>|. Place the modified information after
-% a trailing \cs{s_stop} for later retrieval. Then check the
+% a trailing \cs{s_@@_stop} for later retrieval. Then check the
% \meta{sign}: if the integer is negative, always put~|-|. Otherwise,
% if the format's \meta{sign} is |~|, put a space (with category
% \enquote{other}); if it is~|+| put |+|; if it is |-| (default), put
% nothing, represented as a brace group. The width |#4| will be
-% useful later, store it after \cs{s_stop}. Afterwards, check that
+% useful later, store it after \cs{s_@@_stop}. Afterwards, check that
% the \meta{precision} was absent. Finally, dispatch depending on the
% \meta{style}.
% \begin{macrocode}
@@ -660,14 +660,14 @@
{ str } { invalid-style-format } {#6} { int }
\@@_format_int:NwnnNNn \use:n
}
- \s_stop {#7}
+ \s_@@_stop {#7}
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[EXP]{\@@_format_int:NwnnNNn}
% \begin{quote}
-% \cs{@@_format_int:NwnnNNn} \meta{function} \cs{s_stop}
+% \cs{@@_format_int:NwnnNNn} \meta{function} \cs{s_@@_stop}
% \Arg{width} \Arg{sign} \meta{fill} \meta{alignment} \Arg{integer}
% \end{quote}
% Use the |format_align| function corresponding to the
@@ -680,7 +680,7 @@
% \item the \meta{fill} character.
% \end{itemize}
% \begin{macrocode}
-\cs_new:Npn \@@_format_int:NwnnNNn #1#2 \s_stop #3#4#5#6#7
+\cs_new:Npn \@@_format_int:NwnnNNn #1#2 \s_@@_stop #3#4#5#6#7
{
\exp_args:Nc \exp_args:Nf
{ @@_format_align_#6:nnnN }
@@ -728,13 +728,13 @@
% \Arg{floating point}
% \end{quote}
% First set the default alignment |?| to |>|. Place the modified
-% information after a trailing \cs{s_stop} for later retrieval. Then
+% information after a trailing \cs{s_@@_stop} for later retrieval. Then
% check the \meta{format sign} and the \meta{fp sign}: if the floating
% point is negative, always put~|-|. Otherwise (including
% \texttt{nan}), if the format's \meta{sign} is |~|, put a space (with
% category \enquote{other}); if it is~|+| put |+|; if it is |-|
% (default), put nothing, represented as a brace group. The width
-% |#4| will be useful later, store it after \cs{s_stop}. Afterwards,
+% |#4| will be useful later, store it after \cs{s_@@_stop}. Afterwards,
% check the \meta{precision}: if it was not given, replace it by $6$
% (default precision) unless no \meta{style} was given: in that case
% we want to use whatever precision is needed to fully describe the
@@ -776,20 +776,20 @@
{ str } { invalid-style-format } {#6} { fp }
\@@_format_fp:wnnnNNn \@@_format_fp_g:nn
}
- \s_stop {#7}
+ \s_@@_stop {#7}
}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}[EXP]{\@@_format_fp:wnnnNNn}
% \begin{quote}
-% \cs{@@_format_fp:wnnnNNn} \meta{formatting function} \cs{s_stop}
+% \cs{@@_format_fp:wnnnNNn} \meta{formatting function} \cs{s_@@_stop}
% \Arg{precision} \Arg{width} \Arg{sign} \meta{fill}
% \meta{alignment} \Arg{floating point}
% \end{quote}
% \begin{macrocode}
\cs_new:Npn \@@_format_fp:wnnnNNn
- #1 \s_stop #2 #3 #4 #5#6 #7
+ #1 \s_@@_stop #2 #3 #4 #5#6 #7
{
\exp_args:Nc \exp_args:Nf
{ @@_format_align_#6:nnnN }
@@ -850,7 +850,7 @@
{ \prg_replicate:nn { #4 - \c__fp_prec_int + 1 } { 0 } }
\@@_format_put:nw { #1 . #2 }
}
- \use_none:n \s_stop
+ \use_none:n \s_@@_stop
}
% \end{macrocode}
% \end{macro}
@@ -947,11 +947,11 @@
\cs_new:Npn \@@_format_fp_trim:w #1 e
{
\@@_format_fp_trim_loop:w #1
- ; \@@_format_fp_trim_loop:w 0; \@@_format_fp_trim_dot:w .; \s_stop e
+ ; \@@_format_fp_trim_loop:w 0; \@@_format_fp_trim_dot:w .; \s_@@_stop e
}
\cs_new:Npn \@@_format_fp_trim_loop:w #1 0; #2 { #2 #1 ; #2 }
\cs_new:Npn \@@_format_fp_trim_dot:w #1 .; { \@@_format_fp_trim_end:w #1 ; }
-\cs_new:Npn \@@_format_fp_trim_end:w #1 ; #2 \s_stop { #1 }
+\cs_new:Npn \@@_format_fp_trim_end:w #1 ; #2 \s_@@_stop { #1 }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/l3experimental/l3str-format.pdf b/macros/latex/contrib/l3experimental/l3str-format.pdf
index b84115d4b9..dae19872df 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/l3sys-shell.dtx b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
index c166811e11..52cfcd634a 100644
--- a/macros/latex/contrib/l3experimental/l3sys-shell.dtx
+++ b/macros/latex/contrib/l3experimental/l3sys-shell.dtx
@@ -46,7 +46,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -67,7 +67,7 @@
% \begin{syntax}
% \cs{sys_shell_mkdir:n} \Arg{directory}
% \end{syntax}
-% Creates the \meta{directory}, which should should be specified using |/| as
+% Creates the \meta{directory}, which should be specified using |/| as
% a path separator. If unrestricted shell escape is not enabled, no action is
% attempted.
% \end{function}
@@ -95,7 +95,7 @@
% \begin{syntax}
% \cs{sys_shell_rmdir:n} \Arg{directory}
% \end{syntax}
-% Removes the \meta{directory}, which should should be specified using |/| as
+% Removes the \meta{directory}, which should be specified using |/| as
% a path separator. If unrestricted shell escape is not enabled, no action is
% attempted.
% \end{function}
@@ -136,11 +136,32 @@
%
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{l3sys-shell}{2020-01-12}{}
+\ProvidesExplPackage{l3sys-shell}{2020-05-18}{}
{L3 Experimental system shell functions}
%</package>
% \end{macrocode}
%
+% \begin{variable}{\s_@@_stop}
+% Internal scan marks.
+% \begin{macrocode}
+\scan_new:N \s_@@_stop
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\q_@@_nil}
+% Internal quarks.
+% \begin{macrocode}
+\quark_new:N \q_@@_nil
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}[pTF]{\@@_quark_if_nil:n}
+% Branching quark conditional.
+% \begin{macrocode}
+\__kernel_quark_new_conditional:Nn \@@_quark_if_nil:N { F }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[EXP]{\@@_path_to_win:n}
% \begin{macro}[EXP]{\@@_path_to_win:w}
% \begin{macro}[EXP]{\@@_path_to_win:N}
@@ -148,20 +169,20 @@
% \begin{macrocode}
\cs_new:Npn \@@_path_to_win:n #1
{
- \exp_after:wN \@@_path_to_win:w \tl_to_str:n {#1} ~ \q_stop
+ \exp_after:wN \@@_path_to_win:w \tl_to_str:n {#1} ~ \s_@@_stop
}
-\cs_new:Npn \@@_path_to_win:w #1 ~ #2 \q_stop
+\cs_new:Npn \@@_path_to_win:w #1 ~ #2 \s_@@_stop
{
- \@@_path_to_win:N #1 \q_nil
+ \@@_path_to_win:N #1 \q_@@_nil
\tl_if_empty:nF {#2}
{
\c_space_tl
- \@@_path_to_win:w #2 \q_stop
+ \@@_path_to_win:w #2 \s_@@_stop
}
}
\cs_new:Npn \@@_path_to_win:N #1
{
- \quark_if_nil:NF #1
+ \@@_quark_if_nil:NF #1
{
\token_if_eq_meaning:NNTF #1 /
{ \c_backslash_str }
diff --git a/macros/latex/contrib/l3experimental/l3sys-shell.pdf b/macros/latex/contrib/l3experimental/l3sys-shell.pdf
index 59880cbf58..68a82d4a4d 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 9f4aec0bcd..6b1686b6cf 100644
--- a/macros/latex/contrib/l3experimental/xcoffins.dtx
+++ b/macros/latex/contrib/l3experimental/xcoffins.dtx
@@ -56,7 +56,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -675,7 +675,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xcoffins}{2020-01-12}{}
+\ProvidesExplPackage{xcoffins}{2020-05-18}{}
{L3 Experimental design level coffins}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3experimental/xcoffins.pdf b/macros/latex/contrib/l3experimental/xcoffins.pdf
index adf53b40ea..289ba3c15e 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 5cd043a5e6..577ed6b90b 100644
--- a/macros/latex/contrib/l3experimental/xgalley.dtx
+++ b/macros/latex/contrib/l3experimental/xgalley.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Released 2020-01-12}
+% \date{Released 2020-05-18}
%
% \maketitle
%
@@ -121,7 +121,7 @@
% \subsection{Layer two: internal dimensions}
%
% \begin{TemplateInterfaceDescription}{measure}
-% \TemplateArgument{}{} ^^A A hack
+% \TemplateArgument{}{} ^^A Some hack
% \TemplateSemantics
% Sets the width available to typeset material within the galley.
% The \meta{left margin} and \meta{right margin} values are used in the
@@ -192,7 +192,7 @@
% \subsection{Layer three: paragraph shape}
%
% \begin{TemplateInterfaceDescription}{parshape}
-% \TemplateArgument{}{}^^A A hack
+% \TemplateArgument{}{}^^A Some hack
% \TemplateSemantics
% Template of this type define any shaping of the paragraph within the
% current measure of the galley. Thus they are used to generate
@@ -734,7 +734,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesExplPackage{xgalley}{2020-01-12}{}
+\ProvidesExplPackage{xgalley}{2020-05-18}{}
{L3 Experimental galley}
\RequirePackage{xparse,xtemplate,l3galley}
% \end{macrocode}
diff --git a/macros/latex/contrib/l3experimental/xgalley.pdf b/macros/latex/contrib/l3experimental/xgalley.pdf
index fd0cb034f0..20cf474c39 100644
--- a/macros/latex/contrib/l3experimental/xgalley.pdf
+++ b/macros/latex/contrib/l3experimental/xgalley.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/README b/macros/luatex/generic/luatexja/README
index b87dcbdd98..33105c1007 100644
--- a/macros/luatex/generic/luatexja/README
+++ b/macros/luatex/generic/luatexja/README
@@ -1,4 +1,4 @@
-The LuaTeX-ja Package 20200517.0
+The LuaTeX-ja Package 20200518.0
--------------------------------
Copyright (c) 2011--2020 The LuaTeX-ja project
License: modified BSD (see COPYING)
@@ -45,9 +45,9 @@ Installation
2. If you must/want to install manually:
a. Download the source archive from CTAN,
- or tagged as 20200517.0 in the Git repository by
+ or tagged as 20200518.0 in the Git repository by
<http://git.osdn.jp/view?p=luatex-ja/luatexja.git
- ;a=snapshot;h=refs/tags/20200517.0;sf=tgz>
+ ;a=snapshot;h=refs/tags/20200518.0;sf=tgz>
b. Extract the archive and process following three files by LuaLaTeX
to generate classes for Japanese typesetting:
@@ -95,4 +95,4 @@ Notes
* src/*.{ins.dtx} and src/ltj-kinsoku_make.tex are not needed in regular use.
-Last commit date: Sun May 17 10:43:32 2020 +0900
+Last commit date: Mon May 18 05:28:24 2020 +0900
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
index 4cb0c4d8d3..9bdf6dd8df 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-en.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
index f336e82bfd..6a6defdd29 100644
--- a/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
+++ b/macros/luatex/generic/luatexja/doc/luatexja-ja.pdf
Binary files differ
diff --git a/macros/luatex/generic/luatexja/src/ltj-direction.lua b/macros/luatex/generic/luatexja/src/ltj-direction.lua
index e97da05790..7dd0dee906 100644
--- a/macros/luatex/generic/luatexja/src/ltj-direction.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-direction.lua
@@ -139,6 +139,7 @@ do
local STCK = luatexja.userid_table.STCK
local IHB = luatexja.userid_table.IHB
local id_local = node.id('local_par')
+ local id_dir = node.id('dir')
local function test_list(h, lv)
if not h then
@@ -157,7 +158,7 @@ do
flag = 0; break -- error
end
end
- elseif p.id~=id_local then
+ elseif p.id~=id_local and p.id~=id_dir then
flag = 0; break
end
end
@@ -220,6 +221,9 @@ do
if lv==0 and not page_direction then
page_direction = v -- for first call of \yoko (in luatexja-core.sty)
else
+ if luatexja.debug then
+ luatexja.ext_show_node_list(node.direct.tonode(h),'>> ', texio.write_nl)
+ end
ltjb.package_error(
'luatexja',
"Use `\\" .. tostring(name) .. "' at top of list",
diff --git a/macros/luatex/generic/luatexja/src/ltj-jfont.lua b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
index cecb8d6625..a15b7616bd 100644
--- a/macros/luatex/generic/luatexja/src/ltj-jfont.lua
+++ b/macros/luatex/generic/luatexja/src/ltj-jfont.lua
@@ -188,7 +188,7 @@ do
local function myround(a) return floor(a+0.5) end
local mult_ignore_key = {
round_threshold=true, kanjiskip_natural=true, kanjiskip_stretch=true, kanjiskip_shrink=true,
- raio=true, priority=true
+ ratio=true, priority=true
}
local function mult_table(old,scale) -- modified from table.fastcopy
if old then
@@ -226,7 +226,7 @@ do
kanjiskip_stretch = w.kanjiskip_stretch,
kanjiskip_shrink = w.kanjiskip_shrink,
round_threshold = w.round_threshold,
- }
+ }
end
for k,w in pairs(v.kern) do
local g = node_new(id_kern, 1)
diff --git a/macros/luatex/generic/luatexja/src/luatexja.lua b/macros/luatex/generic/luatexja/src/luatexja.lua
index df1b57dfe6..1b3bd81612 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.lua
+++ b/macros/luatex/generic/luatexja/src/luatexja.lua
@@ -516,6 +516,9 @@ local function debug_show_node_X(p,print_fn, limit, inner_depth)
s = s .. ' (for kinsoku)'
end
print_fn(s)
+ elseif pt == 'dir' then
+ s = base .. ' ' .. tostring(p.dir) .. ' (level ' .. tostring(p.level) .. ')'
+ print_fn(s)
elseif pt == 'whatsit' then
s = base
if p.subtype==sid_user then
diff --git a/macros/luatex/generic/luatexja/src/luatexja.sty b/macros/luatex/generic/luatexja/src/luatexja.sty
index 68b11f7d87..da8ecf7c89 100644
--- a/macros/luatex/generic/luatexja/src/luatexja.sty
+++ b/macros/luatex/generic/luatexja/src/luatexja.sty
@@ -41,7 +41,7 @@
\ProcessOptions\relax
\fi %</LaTeX>
%%%% VERSION
-\def\LuaTeXjaversion{20200517.0}
+\def\LuaTeXjaversion{20200518.0}
\directlua{require('ltj-unicode-ccfix.lua')}% catcode of ideographs