diff options
author | Karl Berry <karl@freefriends.org> | 2021-05-28 20:51:02 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2021-05-28 20:51:02 +0000 |
commit | bd912649ca172469f47040b69c5544b32f1fc51d (patch) | |
tree | ac50791f8f92f43ba02a096cf76b8cd7b094ac0e /Master/texmf-dist/tex/latex/siunitx | |
parent | df2ada0a8a0fa12f8ef00506ad04461a11cc8c90 (diff) |
siunitx (28may21)
git-svn-id: svn://tug.org/texlive/trunk@59381 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx')
-rw-r--r-- | Master/texmf-dist/tex/latex/siunitx/siunitx.sty | 221 |
1 files changed, 104 insertions, 117 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index 977f56d9efd..7c0d3387b3a 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty @@ -42,7 +42,7 @@ }% \endinput }% -\ProvidesExplPackage {siunitx} {2021-05-25} {3.0.6} +\ProvidesExplPackage {siunitx} {2021-05-28} {3.0.7} {A comprehensive (SI) units package} \msg_new:nnnn { siunitx } { incompatible-package } { Package~'#1'~incompatible. } @@ -2986,6 +2986,8 @@ \l__siunitx_number_output_uncert_close_tl , output-decimal-marker .tl_set:N = \l_siunitx_number_output_decimal_tl , + output-exponent-marker .tl_set:N = + \l__siunitx_number_output_exp_marker_tl , output-open-uncertainty .tl_set:N = \l__siunitx_number_output_uncert_open_tl , print-implicit-plus .bool_set:N = @@ -3323,31 +3325,46 @@ { \l__siunitx_number_zero_exponent_bool } { ! \str_if_eq_p:nn {#2} { 0 } } { - \bool_lazy_and:nnTF - { \str_if_eq_p:nn {#3} { 1. } } - { ! \l__siunitx_number_unity_mantissa_bool } - { \exp_not:n {#4} } - { - \bool_if:NTF \l__siunitx_number_tight_bool - { \exp_not:N \mathord } - { \use:n } - { \exp_not:V \l__siunitx_number_exponent_product_tl } - \exp_not:n {#4} - } - \exp_not:V \l__siunitx_number_exponent_base_tl - ^ - { - \tl_if_blank:nTF {#1} - { - \bool_if:NT \l__siunitx_number_implicit_plus_bool - { \__siunitx_number_output_sign:N + } - } - { \__siunitx_number_output_sign:N #1 } - \__siunitx_number_output_digits:nn { integer } {#2} - } + \tl_if_empty:NTF \l__siunitx_number_output_exp_marker_tl + { \__siunitx_number_output_exponent_auxi:nnnn } + { \__siunitx_number_output_exponent_auxii:nnnn } + {#1} {#2} {#3} {#4} } { \exp_not:n {#4} } } +\cs_new:Npn \__siunitx_number_output_exponent_auxi:nnnn #1#2#3#4 + { + \bool_lazy_and:nnTF + { \str_if_eq_p:nn {#3} { 1. } } + { ! \l__siunitx_number_unity_mantissa_bool } + { \exp_not:n {#4} } + { + \bool_if:NTF \l__siunitx_number_tight_bool + { \exp_not:N \mathord } + { \use:n } + { \exp_not:V \l__siunitx_number_exponent_product_tl } + \exp_not:n {#4} + } + \exp_not:V \l__siunitx_number_exponent_base_tl + ^ + { \__siunitx_number_output_exponent_auxiii:nn {#1} {#2} } + } +\cs_new:Npn \__siunitx_number_output_exponent_auxii:nnnn #1#2#3#4 + { + \exp_not:n {#4} + \exp_not:V \l__siunitx_number_output_exp_marker_tl + \__siunitx_number_output_exponent_auxiii:nn {#1} {#2} + } +\cs_new:Npn \__siunitx_number_output_exponent_auxiii:nn #1#2 + { + \tl_if_blank:nTF {#1} + { + \bool_if:NT \l__siunitx_number_implicit_plus_bool + { \__siunitx_number_output_sign:N + } + } + { \__siunitx_number_output_sign:N #1 } + \__siunitx_number_output_digits:nn { integer } {#2} + } \cs_new:Npn \__siunitx_number_output_end: { } \tl_new:N \l__siunitx_number_valid_tl \prg_new_protected_conditional:Npnn \siunitx_if_number:n #1 @@ -3733,6 +3750,10 @@ { \exp_not:n { \ensuremath { \mp } } } - { \exp_not:N \textminus } + \exp_not:N \times + { \exp_not:N \texttimes } + \exp_not:N \cdot + { \exp_not:N \textperiodcentered } \char_generate:nn { `\_ } { 8 } { \exp_not:N \__siunitx_print_text_sub:n } ^ @@ -4936,63 +4957,71 @@ \cs_new_protected:Npn \__siunitx_unit_format_literal_auxiii:w #1 / { \quark_if_recursion_tail_stop:n {#1} - \__siunitx_unit_format_literal_auxiv:w #1 ^ ^ \q_stop + \__siunitx_unit_format_literal_auxiv:n {#1} \tl_set:Nn \l__siunitx_unit_separator_tl { / } \__siunitx_unit_format_literal_auxiii:w } -\use:x +\cs_new_protected:Npn \__siunitx_unit_format_literal_auxiv:n #1 + { + \__siunitx_unit_format_literal_auxv:nw { } + #1 \q_recursion_tail \q_recursion_stop + } +\cs_new_protected:Npn \__siunitx_unit_format_literal_auxv:nw + #1#2 \q_recursion_stop { - \cs_new_protected:Npn \exp_not:N \__siunitx_unit_format_literal_auxiv:w - ##1 ^ ##2 ^ ##3 \exp_not:N \q_stop + \tl_if_head_is_N_type:nTF {#2} + { \__siunitx_unit_format_literal_auxvi:nN } + { \__siunitx_unit_format_literal_auxvii:nn } + {#1} #2 \q_recursion_stop + } +\cs_new_protected:Npx \__siunitx_unit_format_literal_auxvi:nN #1#2 + { + \exp_not:N \quark_if_recursion_tail_stop_do:Nn #2 + { \exp_not:N \__siunitx_unit_format_literal_add:n {#1} } + \exp_not:N \token_if_eq_meaning:NNTF #2 ^ + { \exp_not:N \__siunitx_unit_format_literal_super:nn {#1} } { - \exp_not:N \__siunitx_unit_format_literal_auxv:w - ##1 - \c__siunitx_unit_math_subscript_tl - \c__siunitx_unit_math_subscript_tl - \exp_not:N \q_mark - ##2 - \c__siunitx_unit_math_subscript_tl - \c__siunitx_unit_math_subscript_tl - \exp_not:N \q_stop + \exp_not:N \token_if_eq_meaning:NNTF + #2 \c__siunitx_unit_math_subscript_tl + { \exp_not:N \__siunitx_unit_format_literal_sub:nn {#1} } + { \exp_not:N \__siunitx_unit_format_literal_auxvi:nN {#1#2} } } - \cs_new_protected:Npn \exp_not:N \__siunitx_unit_format_literal_auxv:w - ##1 \c__siunitx_unit_math_subscript_tl - ##2 \c__siunitx_unit_math_subscript_tl ##3 - \exp_not:N \q_mark - ##4 \c__siunitx_unit_math_subscript_tl - ##5 \c__siunitx_unit_math_subscript_tl ##6 - \exp_not:N \q_stop + } +\cs_new_protected:Npn \__siunitx_unit_format_literal_super:nn #1#2 + { + \quark_if_recursion_tail_stop:n {#2} + \__siunitx_unit_format_literal_add:n {#1} + \tl_put_right:Nn \l__siunitx_unit_formatted_tl { ^ {#2} } + \__siunitx_unit_format_literal_auxvi:nN { } + } +\cs_new_protected:Npx \__siunitx_unit_format_literal_sub:nn #1#2 + { + \exp_not:N \quark_if_recursion_tail_stop:n {#2} + \exp_not:N \__siunitx_unit_format_literal_add:n {#1} + \tl_put_right:Nx \exp_not:N \l__siunitx_unit_formatted_tl { - \tl_set:Nx \exp_not:N \l__siunitx_unit_formatted_tl + \c__siunitx_unit_math_subscript_tl { \exp_not:N \exp_not:V - \exp_not:N \l__siunitx_unit_formatted_tl - \exp_not:N \tl_if_empty:NF - \exp_not:N \l__siunitx_unit_formatted_tl - { - \exp_not:N \exp_not:V - \exp_not:N \l__siunitx_unit_separator_tl - } - \exp_not:N \tl_if_blank:nF {##1} - { - \exp_not:N \exp_not:V - \exp_not:N \l_siunitx_unit_font_tl - { \exp_not:N \exp_not:n {##1} } - } - \exp_not:N \tl_if_blank:nF {##4} - { ^ { \exp_not:N \exp_not:n {##4} } } - \exp_not:N \tl_if_blank:nF {##2##5} - { - \c__siunitx_unit_math_subscript_tl - { - \exp_not:N \exp_not:V - \exp_not:N \l_siunitx_unit_font_tl - { \exp_not:N \exp_not:n {##2##5} } - } - } + \exp_not:N \l_siunitx_unit_font_tl + { \exp_not:N \exp_not:n {#2} } } } + \exp_not:N \__siunitx_unit_format_literal_auxvi:nN { } + } +\cs_new_protected:Npn \__siunitx_unit_format_literal_add:n #1 + { + \tl_put_right:Nx \l__siunitx_unit_formatted_tl + { + \tl_if_empty:NF \l__siunitx_unit_formatted_tl + { \exp_not:V \l__siunitx_unit_separator_tl } + \tl_if_empty:nF {#1} + { \exp_not:V \l_siunitx_unit_font_tl { \exp_not:n {#1} } } + } + \tl_clear:N \l__siunitx_unit_separator_tl } +\cs_new_protected:Npn \__siunitx_unit_format_literal_auxvii:nn #1#2 + { \__siunitx_unit_format_literal_auxvi:nN { #1 {#2} } } \tl_new:N \l__siunitx_unit_separator_tl \cs_new_protected:Npn \siunitx_unit_pdfstring_context: { @@ -6116,54 +6145,6 @@ } } } -\keys_set:nn { siunitx } - { product-symbol = \ifmmode \times \else \texttimes \fi } -\AtBeginDocument - { - \group_begin: - \tl_set:Nn \l__siunitx_symbol_tmpa_tl - { { } { } { 2 } { } { } { } { 1 } } - \tl_set:Nx \l__siunitx_symbol_tmpa_tl - { \siunitx_number_output:N \l__siunitx_symbol_tmpa_tl } - \tl_set:Nn \l__siunitx_symbol_tmpb_tl { 2 \times 10 ^ { 1 } } - \tl_if_eq:NNTF \l__siunitx_symbol_tmpa_tl \l__siunitx_symbol_tmpb_tl - { - \group_end: - \keys_set:nn { siunitx } - { - exponent-product = - \ifmmode \times \else \texttimes \fi - } - } - { - \tl_set:Nn \l__siunitx_symbol_tmpb_tl { 2 \cdot 10 ^ { 1 } } - \tl_if_eq:NNTF \l__siunitx_symbol_tmpa_tl \l__siunitx_symbol_tmpb_tl - { - \group_end: - \keys_set:nn { siunitx } - { - exponent-product = - \ifmmode \cdot \else \textperiodcentered \fi - } - } - { \group_end: } - } - \group_begin: - \keys_set:nn { siunitx } { forbid-literal-units = false } - \tl_set:Nn \l__siunitx_symbol_tmpa_tl { \mathrm { m } \cdot \mathrm { s } } - \tl_set:Nn \l_siunitx_unit_font_tl { \mathrm } - \siunitx_unit_format:nN { m . s } \l__siunitx_symbol_tmpb_tl - \tl_if_eq:NNTF \l__siunitx_symbol_tmpa_tl \l__siunitx_symbol_tmpb_tl - { - \group_end: - \keys_set:nn { siunitx } - { - inter-unit-product = - \ifmmode \cdot \else \textperiodcentered \fi - } - } - { \group_end: } - } \AtBeginDocument { \@ifpackageloaded { hyperref } @@ -6404,7 +6385,13 @@ {#1} } \cs_generate_variant:Nn \__siunitx_option_removed:n { V } -\clist_map_inline:nn { abbreviations , binary-units , version-1-compatibility } +\clist_map_inline:nn + { + abbreviations , + binary-units , + load-configurations , + version-1-compatibility + } { \keys_define:nn { siunitx } { #1 .code:n = \__siunitx_option_removed:n {#1} } } |