diff options
author | Norbert Preining <norbert@preining.info> | 2021-11-13 03:01:22 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-11-13 03:01:22 +0000 |
commit | a4ccc84b5ea15905a51f24c56989a29267cfd949 (patch) | |
tree | dc685ede693ac3961a116e6ff8ec6ec2969afea2 /macros/latex/contrib/l3packages | |
parent | 3a8398961f2de022af86ec0fcf33eb093b8dce41 (diff) |
CTAN sync 202111130301
Diffstat (limited to 'macros/latex/contrib/l3packages')
-rw-r--r-- | macros/latex/contrib/l3packages/CHANGELOG.md | 8 | ||||
-rw-r--r-- | macros/latex/contrib/l3packages/README.md | 2 | ||||
-rw-r--r-- | macros/latex/contrib/l3packages/l3keys2e.dtx | 4 | ||||
-rw-r--r-- | macros/latex/contrib/l3packages/l3keys2e.pdf | bin | 369368 -> 368966 bytes | |||
-rw-r--r-- | macros/latex/contrib/l3packages/xfp.dtx | 4 | ||||
-rw-r--r-- | macros/latex/contrib/l3packages/xfp.pdf | bin | 331750 -> 331336 bytes | |||
-rw-r--r-- | macros/latex/contrib/l3packages/xfrac.dtx | 4 | ||||
-rw-r--r-- | macros/latex/contrib/l3packages/xfrac.pdf | bin | 514610 -> 484489 bytes | |||
-rw-r--r-- | macros/latex/contrib/l3packages/xparse.dtx | 37 | ||||
-rw-r--r-- | macros/latex/contrib/l3packages/xparse.pdf | bin | 534316 -> 533911 bytes | |||
-rw-r--r-- | macros/latex/contrib/l3packages/xtemplate.dtx | 109 | ||||
-rw-r--r-- | macros/latex/contrib/l3packages/xtemplate.pdf | bin | 440108 -> 439713 bytes |
12 files changed, 81 insertions, 87 deletions
diff --git a/macros/latex/contrib/l3packages/CHANGELOG.md b/macros/latex/contrib/l3packages/CHANGELOG.md index 9b7487dc51..a5a54eeed0 100644 --- a/macros/latex/contrib/l3packages/CHANGELOG.md +++ b/macros/latex/contrib/l3packages/CHANGELOG.md @@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers. ## [Unreleased] +## [2021-11-12] + +### Added +- Added `\NewCommandCopy` support for deprecated argument types. + ## [2021-08-27] ### Changed @@ -159,7 +164,8 @@ this project uses date-based 'snapshot' version identifiers. - Switch to ISO date format - Improve cross-module use of internal functions -[Unreleased]: https://github.com/latex3/latex3/compare/2021-08-27...HEAD +[Unreleased]: https://github.com/latex3/latex3/compare/2021-11-12...HEAD +[2021-11-12]: https://github.com/latex3/latex3/compare/2021-08-27...2021-11-12 [2021-08-27]: https://github.com/latex3/latex3/compare/2021-08-04...2021-08-27 [2021-08-04]: https://github.com/latex3/latex3/compare/2021-06-18...2021-08-04 [2021-06-18]: https://github.com/latex3/latex3/compare/2021-06-01...2021-06-18 diff --git a/macros/latex/contrib/l3packages/README.md b/macros/latex/contrib/l3packages/README.md index d20f9f83be..d71cfcc584 100644 --- a/macros/latex/contrib/l3packages/README.md +++ b/macros/latex/contrib/l3packages/README.md @@ -1,7 +1,7 @@ LaTeX3 High-Level Concepts ========================== -Release 2021-08-27 +Release 2021-11-12 Overview -------- diff --git a/macros/latex/contrib/l3packages/l3keys2e.dtx b/macros/latex/contrib/l3packages/l3keys2e.dtx index f10eb7e8ce..6aeaba3229 100644 --- a/macros/latex/contrib/l3packages/l3keys2e.dtx +++ b/macros/latex/contrib/l3packages/l3keys2e.dtx @@ -62,7 +62,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -139,7 +139,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{l3keys2e}{2021-08-27}{} +\ProvidesExplPackage{l3keys2e}{2021-11-12}{} {LaTeX2e option processing using LaTeX3 keys} % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/l3keys2e.pdf b/macros/latex/contrib/l3packages/l3keys2e.pdf Binary files differindex 587e3201c2..8cece1c69c 100644 --- a/macros/latex/contrib/l3packages/l3keys2e.pdf +++ b/macros/latex/contrib/l3packages/l3keys2e.pdf diff --git a/macros/latex/contrib/l3packages/xfp.dtx b/macros/latex/contrib/l3packages/xfp.dtx index cef3891fe2..c3ba90bb14 100644 --- a/macros/latex/contrib/l3packages/xfp.dtx +++ b/macros/latex/contrib/l3packages/xfp.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -166,7 +166,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xfp}{2021-08-27}{} +\ProvidesExplPackage{xfp}{2021-11-12}{} {L3 Floating point unit} % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/xfp.pdf b/macros/latex/contrib/l3packages/xfp.pdf Binary files differindex cd5a23f601..0e0dc875b7 100644 --- a/macros/latex/contrib/l3packages/xfp.pdf +++ b/macros/latex/contrib/l3packages/xfp.pdf diff --git a/macros/latex/contrib/l3packages/xfrac.dtx b/macros/latex/contrib/l3packages/xfrac.dtx index 2840b4318a..efe75c161a 100644 --- a/macros/latex/contrib/l3packages/xfrac.dtx +++ b/macros/latex/contrib/l3packages/xfrac.dtx @@ -65,7 +65,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -535,7 +535,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xfrac}{2021-08-27}{} +\ProvidesExplPackage{xfrac}{2021-11-12}{} {L3 Experimental split-level fractions} % \end{macrocode} % diff --git a/macros/latex/contrib/l3packages/xfrac.pdf b/macros/latex/contrib/l3packages/xfrac.pdf Binary files differindex 2895df4613..b5b461116e 100644 --- a/macros/latex/contrib/l3packages/xfrac.pdf +++ b/macros/latex/contrib/l3packages/xfrac.pdf diff --git a/macros/latex/contrib/l3packages/xparse.dtx b/macros/latex/contrib/l3packages/xparse.dtx index fd4b615e15..f601bd9c5f 100644 --- a/macros/latex/contrib/l3packages/xparse.dtx +++ b/macros/latex/contrib/l3packages/xparse.dtx @@ -67,7 +67,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -1064,7 +1064,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xparse}{2021-08-27}{} +\ProvidesExplPackage{xparse}{2021-11-12}{} {L3 Experimental document command parser} % \end{macrocode} % @@ -1249,6 +1249,39 @@ % \end{macrocode} % \end{macro} % +% \subsection{Copying a command and its internal structure} +% +% The apparatus for copying commands is almost entirely in |ltcmd.dtx|, +% preloaded in the \LaTeXe{} kernel. The missing parts, regarding +% copying the deprecated argument types |G|, |l| and |u| boil down to +% copying the expandable grabber for |u|. +% +% \begin{macro}{\@@_copy_grabber_u:w} +% An expandable |u|-type uses a dedicated grabber just like a +% |D|-type, except that both its delimiter tokens are omitted, so to +% copy that we just copy a |D|-type and leave the last two arguments +% empty: +% \begin{macrocode} +\cs_new_protected:Npn \@@_copy_grabber_u:w #1 #2 #3 + { \@@_copy_grabber_D:w {#1} {#2} {#3} { } { } } +% \end{macrocode} +% \end{macro} +% +% \subsubsection{Showing the definition of a command} +% +% \begin{macro}{\c_@@_show_type_u_tl,\c_@@_show_type_G_tl} +% Same as for copying, only small bits are missing here. Namely, two +% token lists that tell the \pkg{ltcmd} mechanism how to deal with the +% argument types defined here. Both |G| and |u| are classified +% as~|3|: commands that take a default value. That's not really true +% for~|u|, but it's a close enough approximation to get the output we +% want. +% \begin{macrocode} +\tl_const:Nn \c_@@_show_type_u_tl { 3 } +\tl_const:Nn \c_@@_show_type_G_tl { 3 } +% \end{macrocode} +% \end{macro} +% % \subsection{Grabbing arguments} % % \begin{macro}{\@@_grab_G:w} diff --git a/macros/latex/contrib/l3packages/xparse.pdf b/macros/latex/contrib/l3packages/xparse.pdf Binary files differindex 139e90a873..f7075f0b22 100644 --- a/macros/latex/contrib/l3packages/xparse.pdf +++ b/macros/latex/contrib/l3packages/xparse.pdf diff --git a/macros/latex/contrib/l3packages/xtemplate.dtx b/macros/latex/contrib/l3packages/xtemplate.dtx index 9c038494f3..8dfe79ec34 100644 --- a/macros/latex/contrib/l3packages/xtemplate.dtx +++ b/macros/latex/contrib/l3packages/xtemplate.dtx @@ -63,7 +63,7 @@ % }^^A % } % -% \date{Released 2021-08-27} +% \date{Released 2021-11-12} % % \maketitle % @@ -682,7 +682,7 @@ % \end{macrocode} % % \begin{macrocode} -\ProvidesExplPackage{xtemplate}{2021-08-27}{} +\ProvidesExplPackage{xtemplate}{2021-11-12}{} {L3 Experimental prototype document functions} % \end{macrocode} % @@ -1280,7 +1280,7 @@ \seq_put_right:No \l_@@_key_order_seq \l_@@_key_name_tl \str_if_eq:onT \l_@@_keytype_tl { choice } { - \clist_if_in:NnT \l_@@_keytype_arg_tl { unknown } + \exp_args:No \clist_if_in:nnT \l_@@_keytype_arg_tl { unknown } { \msg_error:nn { xtemplate } { choice-unknown-reserved } } } } @@ -1446,95 +1446,50 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\@@_store_value_code:n} -% \begin{macro}{\@@_store_value_choice:n} -% \begin{macro}{\@@_store_value_commalist:n} -% \begin{macro}{\@@_store_value_function:n} -% \begin{macro}{\@@_store_value_instance:n} -% \begin{macro}{\@@_store_value_real:n} -% \begin{macro}{\@@_store_value_tokenlist:n} +% \begin{macro}{\@@_store_value_code:n, \@@_store_value_choice:n, +% \@@_store_value_function:n, \@@_store_value_instance:n} % With no need to worry about delayed evaluation, these keytypes all % just store the input directly. % \begin{macrocode} \cs_new_protected:Npn \@@_store_value_code:n #1 { \prop_put:Non \l_@@_values_prop \l_@@_key_name_tl {#1} } \cs_new_eq:NN \@@_store_value_choice:n \@@_store_value_code:n -\cs_new_eq:NN \@@_store_value_commalist:n \@@_store_value_code:n \cs_new_eq:NN \@@_store_value_function:n \@@_store_value_code:n \cs_new_eq:NN \@@_store_value_instance:n \@@_store_value_code:n -\cs_new_eq:NN \@@_store_value_real:n \@@_store_value_code:n -\cs_new_eq:NN \@@_store_value_tokenlist:n \@@_store_value_code:n % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % -% \begin{macro}{\@@_store_value_integer:n} -% \begin{macro}{\@@_store_value_length:n} -% \begin{macro}{\@@_store_value_muskip:n} -% \begin{macro}{\@@_store_value_skip:n} -% Storing the value of a number is in all cases more or less the same. -% If evaluation is taking place now, assignment is made to a scratch -% variable, and this result is then stored. On the other hand, if -% evaluation is delayed the current data is simply stored \enquote{as is}. +% \begin{macro}{\@@_store_value_aux:Nn, \@@_store_value_integer:n, +% \@@_store_value_length:n, \@@_store_value_muskip:n, +% \@@_store_value_real:n, \@@_store_value_skip:n, +% \@@_store_value_tokenlist:n, \@@_store_value_commalist:n} +% Storing values in \cs{l_@@_values_prop} is in most cases the same. +% If evaluation is taking place now, one \texttt{x}-expands an +% evaluation function and the result is then stored. On the other +% hand, if evaluation is delayed the current data is simply stored +% \enquote{as is}. % \begin{macrocode} -\cs_new_protected:Npn \@@_store_value_integer:n #1 - { - \@@_if_eval_now:nTF {#1} - { - \int_set:Nn \l_@@_tmp_int {#1} - \prop_put:NVV \l_@@_values_prop \l_@@_key_name_int - \l_@@_tmp_int - } - { - \prop_put:Non \l_@@_values_prop \l_@@_key_name_tl {#1} - } - } -\cs_new_protected:Npn \@@_store_value_length:n #1 - { - \@@_if_eval_now:nTF {#1} - { - \dim_set:Nn \l_@@_tmp_dim {#1} - \prop_put:NVV \l_@@_values_prop \l_@@_key_name_tl - \l_@@_tmp_dim - } - { - \prop_put:Non \l_@@_values_prop \l_@@_key_name_tl {#1} - } - } -\cs_new_protected:Npn \@@_store_value_muskip:n #1 - { - \@@_if_eval_now:nTF {#1} - { - \muskip_set:Nn \l_@@_tmp_muskip {#1} - \prop_put:NVV \l_@@_values_prop \l_@@_key_name_tl - \l_@@_tmp_muskip - } - { - \prop_put:Non \l_@@_values_prop \l_@@_key_name_tl {#1} - } - } -\cs_new_protected:Npn \@@_store_value_skip:n #1 +\cs_new_protected:Npn \@@_store_value_aux:Nn #1#2 { - \@@_if_eval_now:nTF {#1} - { - \skip_set:Nn \l_@@_tmp_skip {#1} - \prop_put:NVV \l_@@_values_prop \l_@@_key_name_tl - \l_@@_tmp_skip - } - { - \prop_put:Non \l_@@_values_prop \l_@@_key_name_tl {#1} - } + \@@_if_eval_now:nTF {#2} + { \prop_put:NVx \l_@@_values_prop \l_@@_key_name_tl { #1 {#2} } } + { \prop_put:Non \l_@@_values_prop \l_@@_key_name_tl {#2} } } +\cs_new_protected:Npn \@@_store_value_integer:n + { \@@_store_value_aux:Nn \int_eval:n } +\cs_new_protected:Npn \@@_store_value_length:n + { \@@_store_value_aux:Nn \dim_eval:n } +\cs_new_protected:Npn \@@_store_value_muskip:n + { \@@_store_value_aux:Nn \muskip_eval:n } +\cs_new_protected:Npn \@@_store_value_real:n + { \@@_store_value_aux:Nn \fp_eval:n } +\cs_new_protected:Npn \@@_store_value_skip:n + { \@@_store_value_aux:Nn \skip_eval:n } +\cs_new_protected:Npn \@@_store_value_tokenlist:n + { \@@_store_value_aux:Nn \use:n } +\cs_new_eq:NN \@@_store_value_commalist:n \@@_store_value_tokenlist:n % \end{macrocode} % \end{macro} -% \end{macro} -% \end{macro} -% \end{macro} % % \subsection{Implementation part of template declaration} % @@ -1713,7 +1668,7 @@ % \begin{macrocode} \cs_new_protected:Npn \@@_implement_choices:n #1 { - \clist_set_eq:NN \l_@@_tmp_clist \l_@@_keytype_arg_tl + \clist_set:No \l_@@_tmp_clist { \l_@@_keytype_arg_tl } \prop_put:Non \l_@@_vars_prop \l_@@_key_name_tl { } \keyval_parse:NNn \@@_implement_choice_elt:n \@@_implement_choice_elt:nn diff --git a/macros/latex/contrib/l3packages/xtemplate.pdf b/macros/latex/contrib/l3packages/xtemplate.pdf Binary files differindex dd14606df0..10bea564f7 100644 --- a/macros/latex/contrib/l3packages/xtemplate.pdf +++ b/macros/latex/contrib/l3packages/xtemplate.pdf |