diff options
author | Karl Berry <karl@freefriends.org> | 2024-02-08 21:40:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2024-02-08 21:40:14 +0000 |
commit | ff525188dd868dc9b24863f1ac95d4426188958c (patch) | |
tree | a481e0b259d319b9c0c836b07a5101b7a4d9c592 /Master/texmf-dist/tex/latex/derivative | |
parent | c08aa1cf313bc308a99bce7959416cc0db3f8066 (diff) |
derivative (8feb24)
git-svn-id: svn://tug.org/texlive/trunk@69746 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/derivative')
-rw-r--r-- | Master/texmf-dist/tex/latex/derivative/derivative.sty | 68 |
1 files changed, 43 insertions, 25 deletions
diff --git a/Master/texmf-dist/tex/latex/derivative/derivative.sty b/Master/texmf-dist/tex/latex/derivative/derivative.sty index 6948795968b..48f04012102 100644 --- a/Master/texmf-dist/tex/latex/derivative/derivative.sty +++ b/Master/texmf-dist/tex/latex/derivative/derivative.sty @@ -1,5 +1,5 @@ % derivative.sty -% Copyright 2019-2023 Simon Jensen +% Copyright 2019-2024 Simon Jensen % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,10 +16,9 @@ \NeedsTeXFormat{LaTeX2e} -\RequirePackage{expl3}[2021/11/07] -\RequirePackage{xparse}[2021/11/07] +\RequirePackage{expl3}[2023/12/08] \RequirePackage{l3keys2e} -\ProvidesExplPackage{derivative}{2023/11/04}{1.31}{Nice and easy derivatives and differentials for LaTeX} +\ProvidesExplPackage{derivative}{2024/02/08}{1.4}{Nice and easy derivatives and differentials for LaTeX} \bool_new:N \l__deriv_pkg_italic_bool \bool_new:N \l__deriv_pkg_upright_bool @@ -118,6 +117,7 @@ \tl_new:N \l__deriv_cs_name_tl \tl_new:N \l__deriv_derivset_tl +\bool_new:N \l__deriv_first_unknown_key_bool \tl_new:N \l__deriv_gcd_result_tl \tl_new:N \l__deriv_gcd_remain_tl @@ -290,14 +290,14 @@ scale-frac .choices:nn = { auto, none, big, Big, bigg, Bigg } { \__deriv_set_scale:nnn {dv_#1} {##1} { frac } }, scale-frac-/ .choices:nn = { auto, none, big, Big, bigg, Bigg } { \__deriv_set_scale:nnn {dv_#1} {##1} { frac_slash } }, - delims-eval .tl_set:c = { l__deriv_dv_#1_delims_eval_tl }, - delims-eval-/ .tl_set:c = { l__deriv_dv_#1_delims_eval_slash_tl }, - delims-eval-! .tl_set:c = { l__deriv_dv_#1_delims_eval_compact_tl }, - delims-fun .tl_set:c = { l__deriv_dv_#1_delims_fun_tl }, - delims-var .tl_set:c = { l__deriv_dv_#1_delims_var_tl }, - delims-var-! .tl_set:c = { l__deriv_dv_#1_delims_var_compact_tl }, - delims-frac .tl_set:c = { l__deriv_dv_#1_delims_frac_tl }, - delims-frac-/ .tl_set:c = { l__deriv_dv_#1_delims_frac_slash_tl }, + delims-eval .tl_set:c = { l__deriv_dv_#1_delims_eval_tl }, + delims-eval-/ .tl_set:c = { l__deriv_dv_#1_delims_eval_slash_tl }, + delims-eval-! .tl_set:c = { l__deriv_dv_#1_delims_eval_compact_tl }, + delims-fun .tl_set:c = { l__deriv_dv_#1_delims_fun_tl }, + delims-var .tl_set:c = { l__deriv_dv_#1_delims_var_tl }, + delims-var-! .tl_set:c = { l__deriv_dv_#1_delims_var_compact_tl }, + delims-frac .tl_set:c = { l__deriv_dv_#1_delims_frac_tl }, + delims-frac-/ .tl_set:c = { l__deriv_dv_#1_delims_frac_slash_tl }, sep-inf-ord .code:n = { \__deriv_set_rubber_length:cn { l__deriv_dv_#1_sep_inf_ord_tl } {##1} }, sep-inf-fun .code:n = { \__deriv_set_rubber_length:cn { l__deriv_dv_#1_sep_inf_fun_tl } {##1} }, @@ -329,12 +329,23 @@ fun .bool_set:c = { l__deriv_dv_#1_misc_fun_bool }, frac .bool_set:c = { l__deriv_dv_#1_misc_frac_bool }, var .clist_set:c = { l__deriv_dv_#1_misc_var_clist }, - var .default:n = {all}, + var .default:n = { all }, order .clist_set:c = { l__deriv_dv_#1_misc_order_clist }, ord .meta:n = { order={##1} }, mixed-order .tl_set:c = { l__deriv_dv_#1_misc_mixed_order_tl }, mixord .meta:n = { mixed-order={##1} }, + + unknown .code:n = + { + \bool_if:NT \l__deriv_first_unknown_key_bool + { + \clist_clear:c { l__deriv_dv_#1_misc_order_clist } + \bool_set_false:N \l__deriv_first_unknown_key_bool + } + \exp_args:NnnV \tl_set_rescan:Nnn \l__deriv_tmpa_tl { } \l_keys_key_str + \clist_put_right:cV { l__deriv_dv_#1_misc_order_clist } \l__deriv_tmpa_tl + } } } @@ -345,7 +356,7 @@ { \keys_define:nn { deriv/i/#1 } { - style-inf .tl_set:c = { l__deriv_i_#1_style_inf_tl }, + style-inf .tl_set:c = { l__deriv_i_#1_style_inf_tl }, style-var .choices:nn = { single, multiple, mixed } { \__deriv_i_set_style_var:nnn {i_#1} {##1} { } }, style-var-* .choices:nn = { single, multiple, mixed } { \__deriv_i_set_style_var:nnn {i_#1} {##1} { _star } }, @@ -370,7 +381,18 @@ var .default:n = {all}, order .clist_set:c = { l__deriv_i_#1_misc_order_clist }, - ord .clist_set:c = { l__deriv_i_#1_misc_order_clist }, + ord .meta:n = { order={##1} }, + + unknown .code:n = + { + \bool_if:NT \l__deriv_first_unknown_key_bool + { + \clist_clear:c { l__deriv_i_#1_misc_order_clist } + \bool_set_false:N \l__deriv_first_unknown_key_bool + } + \exp_args:NnnV \tl_set_rescan:Nnn \l__deriv_tmpa_tl { } \l_keys_key_str + \clist_put_right:cV { l__deriv_i_#1_misc_order_clist } \l__deriv_tmpa_tl + } } } @@ -462,6 +484,7 @@ % keyval, dv/i, variant \cs_new_protected:Npn \deriv_local_keys:nnn #1 #2 #3 { + \bool_set_true:N \l__deriv_first_unknown_key_bool \tl_if_novalue:nTF {#1} { \bool_if:cT { l__deriv_#2_#3_local_keys_bool } @@ -759,7 +782,7 @@ % Temporary store the order argument \tl_set:Nf \l__deriv_tmpb_tl { \seq_use:Nn #2 { \__deriv_insert_mskip:nn {#4} { ord_ord } } } - + \seq_pop_left:NN \l__deriv_tmpa_seq \l__deriv_tmpc_tl \tl_put_right:Nx #3 { @@ -769,7 +792,6 @@ \__deriv_show_order:NT \l__deriv_tmpb_tl { \__deriv_insert_ord:Nnn \l__deriv_tmpb_tl {#4} { var_ord } } } - \str_if_eq:cNT { l__deriv_#4_misc_mixed_order_tl } 1 { \tl_set_eq:cN { l__deriv_#4_misc_mixed_order_tl } \l__deriv_tmpb_tl } } @@ -1553,10 +1575,10 @@ \bool_while_do:nn { \deriv_binary_if_even_p:N #2 } { \deriv_binary_shift_right:N #2 } - \__deriv_gcd_swap_helper:NNff #1 #2 { \int_from_bin:V #1 } { \int_from_bin:V #2 } + \__deriv_gcd_swap_helper:NNff #1 #2 { \exp_args:NV \int_from_bin:n {#1} } { \exp_args:NV \int_from_bin:n {#2} } } \deriv_binary_shift_left:NV #1 \l__deriv_gcd_counter_int - \tl_set:Nx #1 { \int_from_bin:V #1 } + \tl_set:Nx #1 { \exp_args:NV \int_from_bin:n {#1} } } \cs_new:Npn \__deriv_gcd_swap_helper:NNnn #1 #2 #3 #4 { @@ -1659,7 +1681,7 @@ \DeclareDocumentCommand{\slashfrac}{ o m m } { - \group_begin: +\group_begin: \tl_if_novalue:nTF {#1} { \__deriv_slashfrac_auto:nn {#2} {#3} } { @@ -1670,7 +1692,7 @@ } { \__deriv_slashfrac_scale:nnn {#1} {#2} {#3} } } - \group_end: +\group_end: } % numerator, denominator \cs_new_protected:Npn \__deriv_slashfrac_auto:nn #1 #2 @@ -1695,7 +1717,6 @@ %%%%% Generate variants %%%%% \prg_generate_conditional_variant:Nnn \__deriv_show_order:N { c } { T, TF } -\prg_generate_conditional_variant:Nnn \tl_if_head_eq_charcode:nN { V } { T, F, TF } \cs_generate_variant:Nn \__deriv_set_rubber_length:Nn { c } \cs_generate_variant:Nn \deriv_dv_define:Nnn { NV } @@ -1726,9 +1747,6 @@ \cs_generate_variant:Nn \__deriv_update_seq:NNNNn { NNNNV } \cs_generate_variant:Nn \__deriv_addfrac:NNnnnnn { NNVVxx } -\cs_generate_variant:Nn \int_to_bin:n { V } -\cs_generate_variant:Nn \int_from_bin:n { V } - %%%%% Messages %%%%% \msg_new:nnnn { deriv } { command-already-defined } |