diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx')
-rw-r--r-- | Master/texmf-dist/tex/latex/siunitx/siunitx.sty | 80 |
1 files changed, 53 insertions, 27 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index 22386e3533c..6a65457e7ed 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty @@ -28,10 +28,10 @@ \DeclareRelease{2}{2010-05-23}{siunitx-v2.sty} \DeclareRelease{v2}{2010-05-23}{siunitx-v2.sty} \DeclareCurrentRelease{}{2021-05-17} -\@ifundefined{ExplFileDate} +\@ifundefined{ExplLoaderFileDate} {\RequirePackage{expl3}} {} -\@ifl@t@r\ExplFileDate{2020-01-09} +\@ifl@t@r\ExplLoaderFileDate{2020-01-09} {} {% \PackageError{siunitx}{Support package expl3 too old} @@ -42,7 +42,7 @@ }% \endinput }% -\ProvidesExplPackage {siunitx} {2021-09-06} {3.0.29} +\ProvidesExplPackage {siunitx} {2021-09-14} {3.0.30} {A comprehensive (SI) units package} \msg_new:nnnn { siunitx } { incompatible-package } { Package~'#1'~incompatible. } @@ -111,6 +111,7 @@ { \exp_args:Ne \__siunitx_angle_arc_convert:n { \fp_eval:n {#1} } } { \siunitx_number_parse:nN {#1} \l__siunitx_angle_degrees_tl + \siunitx_number_process:NN \l__siunitx_angle_degrees_tl \l__siunitx_angle_degrees_tl \tl_set:Nx \l__siunitx_angle_degrees_tl { \siunitx_number_output:NN \l__siunitx_angle_degrees_tl \q_nil } \__siunitx_angle_arc_print:VVV @@ -187,6 +188,8 @@ { \tl_if_empty:cF { l__siunitx_angle_ ##1 _tl } { + \exp_args:Ncc \siunitx_number_process:NN + { l__siunitx_angle_ ##1 _tl } { l__siunitx_angle_ ##1 _tl } \tl_set:cx { l__siunitx_angle_ ##1 _tl } { \exp_args:Nc \siunitx_number_output:NN @@ -3614,6 +3617,7 @@ uncertainty-separator = } \RequirePackage { amstext } +\cs_new_eq:NN \__siunitx_print_ams_text:n \text \RequirePackage { color } \cs_generate_variant:Nn \tl_replace_all:Nnn { NV } \tl_new:N \l__siunitx_print_tmp_tl @@ -3709,6 +3713,7 @@ { \tl_const:cn { c__siunitx_print_series_ #1 _tl } { m } } \clist_map_inline:nn { l , m , b } { \tl_const:cn { c__siunitx_print_series_ #1 _tl } { #1 } } +\tl_new:N \l__siunitx_print_math_html_tl \cs_new_protected:Npn \siunitx_print_math:n #1 { \bool_lazy_and:nnTF @@ -3758,7 +3763,25 @@ } \cs_generate_variant:Nn \__siunitx_print_math_version:nn { V } \cs_new_protected:Npn \__siunitx_print_math_auxii:n #1 - { \ensuremath { \__siunitx_print_math_auxiii:n {#1} } } + { + \group_begin: + \cs_set_protected:Npn \text ##1 + { + \cs_set_eq:NN \text \__siunitx_print_ams_text:n + \siunitx_print_text:n {##1} + } + \tl_set:Nn \l__siunitx_print_tmp_tl {#1} + \exp_after:wN \__siunitx_print_math_replace:Nn + \l__siunitx_print_math_html_tl + \q_recursion_tail { } \q_recursion_stop + \exp_args:NV \__siunitx_print_math_auxiii:n \l__siunitx_print_tmp_tl + \group_end: + } +\cs_new_protected:Npn \__siunitx_print_math_replace:Nn #1#2 + { + \quark_if_recursion_tail_stop:N #1 + \tl_replace_all:Nnn \l__siunitx_print_tmp_tl {#1} {#2} + } \cs_new_protected:Npn \__siunitx_print_math_auxiii:n #1 { \bool_if:NTF \l__siunitx_print_math_family_bool @@ -3766,8 +3789,8 @@ \str_case_e:nnF { \f@family } { { \rmdefault } { \__siunitx_print_math_auxv:n } - { \sfdefault } { \__siunitx_print_math_aux:Nn \mathsf } - { \ttdefault } { \__siunitx_print_math_aux:Nn \mathtt } + { \sfdefault } { \__siunitx_print_math_auxix:Nn \mathsf } + { \ttdefault } { \__siunitx_print_math_auxix:Nn \mathtt } } { \__siunitx_print_math_auxiv:n } } @@ -3778,7 +3801,7 @@ { \bool_if:NTF \l__siunitx_print_math_font_bool { - \__siunitx_print_math_aux:N + \__siunitx_print_math_auxvii:N \mathbf \mathit \mathsf \mathtt \q_recursion_tail \q_recursion_stop } @@ -3790,24 +3813,26 @@ \bool_lazy_or:nnTF { \int_compare_p:nNn \fam = { -1 } } { \int_compare_p:nNn \fam = \symoperators } - { \use:n } - { \mathrm } + { \__siunitx_print_math_ensure:n } + { \__siunitx_print_math_auxvi:Nn \mathrm } {#1} } -\cs_new_protected:Npn \__siunitx_print_math_aux:N #1 +\cs_new_protected:Npn \__siunitx_print_math_auxvi:Nn #1#2 + { \__siunitx_print_math_ensure:n { #1 {#2} } } +\cs_new_protected:Npn \__siunitx_print_math_auxvii:N #1 { - \quark_if_recursion_tail_stop_do:Nn #1 { \use:n } - \exp_after:wN \exp_after:wN \exp_after:wN \__siunitx_print_math_aux:w + \quark_if_recursion_tail_stop_do:Nn #1 { \__siunitx_print_math_auxv:n } + \exp_after:wN \exp_after:wN \exp_after:wN \__siunitx_print_math_auxviii:w \cs:w \cs_to_str:N #1 \c_space_tl \cs_end: \use@mathgroup ? { -2 } \q_stop #1 } -\cs_new_protected:Npn \__siunitx_print_math_aux:w #1 \use@mathgroup #2#3 #4 \q_stop #5 +\cs_new_protected:Npn \__siunitx_print_math_auxviii:w #1 \use@mathgroup #2#3 #4 \q_stop #5 { \int_compare:nNnTF \fam = {#3} - { \use_i_delimit_by_q_recursion_stop:nw { \__siunitx_print_math_aux:Nn #5 } } - { \__siunitx_print_math_aux:N } + { \use_i_delimit_by_q_recursion_stop:nw { \__siunitx_print_math_auxix:Nn #5 } } + { \__siunitx_print_math_auxvii:N } } -\cs_new_protected:Npx \__siunitx_print_math_aux:Nn #1#2 +\cs_new_protected:Npx \__siunitx_print_math_auxix:Nn #1#2 { \group_begin: \tl_set:Nn \exp_not:N \l__siunitx_print_tmp_tl {#2} @@ -3818,10 +3843,10 @@ \tl_replace_all:Nnn \exp_not:N \l__siunitx_print_tmp_tl { ^ } { \exp_not:N \__siunitx_print_math_super:n } - #1 { \exp_not:N \tl_use:N \exp_not:N \l__siunitx_print_tmp_tl } + \exp_not:N \exp_args:NNV \__siunitx_print_math_auxvi:Nn + #1 \exp_not:N \l__siunitx_print_tmp_tl \group_end: } -\cs_generate_variant:Nn \__siunitx_print_math_aux:Nn { c } \cs_new_protected:Npx \__siunitx_print_math_sub:n #1 { \char_generate:nn { `\_ } { 8 } @@ -3837,18 +3862,19 @@ \tl_use:N \l__siunitx_print_tmp_tl \group_end: } -\AtBeginDocument +\cs_new_protected:Npn \__siunitx_print_math_ensure:n #1 { - \@ifpackageloaded { tex4ht } + \tl_if_blank:nF {#1} { - \cs_set_protected:Npn \__siunitx_print_math_auxii:n #1 - { - \tl_set:Nn \l__siunitx_print_tmp_tl {#1} - \exp_args:NNnx \tl_replace_all:Nnn \l__siunitx_print_tmp_tl - { ^ } { \token_to_str:N ^ } - \ensuremath { \exp_args:NV \__siunitx_print_math_auxiii:n \l__siunitx_print_tmp_tl } - } + \mode_if_math:TF + {#1} + { $ #1 $ } } + } +\AtBeginDocument + { + \@ifpackageloaded { tex4ht } + { \tl_set:Nx \l__siunitx_print_math_html_tl { ^ { \token_to_str:N ^ } } } { } } \cs_new_protected:Npn \siunitx_print_text:n #1 |