diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx/siunitx.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/siunitx/siunitx.sty | 129 |
1 files changed, 76 insertions, 53 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index d2df5d671fe..e8dd08d9dac 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty @@ -14,7 +14,7 @@ %% --------------------------------------------------------------- %% \RequirePackage{expl3} -\ProvidesExplPackage {siunitx} {2012/04/04} {2.4n} +\ProvidesExplPackage {siunitx} {2012/04/15} {2.5} {A comprehensive (SI) units package} \@ifpackagelater { expl3 } { 2011/09/05 } { } @@ -101,9 +101,6 @@ \cs_new_protected:Npn \siunitx_tl_put_left_math:Nn #1#2 { \tl_put_left:Nn #1 { \ensuremath {#2} } } \cs_generate_variant:Nn \siunitx_tl_put_left_math:Nn { NV } -\cs_new_protected:Npn \siunitx_tl_put_right_math:Nn #1#2 - { \tl_put_right:Nn #1 { \ensuremath {#2} } } -\cs_generate_variant:Nn \siunitx_tl_put_right_math:Nn { NV } \seq_new:N \c_siunitx_old_options_seq \cs_set_protected:Npn \siunitx_tmp:w #1 { \seq_put_right:No \c_siunitx_old_options_seq { \tl_to_str:n {#1} } @@ -1684,7 +1681,8 @@ fixed-exponent .int_set:N = \l_siunitx_process_fixed_int, minimum-integer-digits .int_set:N = \l_siunitx_process_integer_min_int, - retain-explicit-plus .bool_set:N = \l_siunitx_process_plus_tl, + retain-explicit-plus .bool_set:N = \l_siunitx_process_plus_bool, + omit-uncertainty .bool_set:N = \l_siunitx_omit_uncert_bool, retain-unity-mantissa .bool_set:N = \l_siunitx_process_unity_mantissa_bool, retain-zero-exponent .bool_set:N = @@ -1732,7 +1730,9 @@ \bool_set_false:N \l_siunitx_process_fixed_bool \bool_set_false:N \l_siunitx_process_engineering_bool \bool_set_true:N \l_siunitx_process_scientific_bool - } + }, + zero-decimal-to-integer .bool_set:N = + \l_siunitx_zero_decimal_to_integer_bool } \keys_set:nn { siunitx } { @@ -1750,22 +1750,31 @@ \siunitx_number_process_mantissa: \prop_if_in:NnF \l_siunitx_number_in_prop { symbolic } { - \siunitx_number_process_exponent: \bool_if:NTF \l_siunitx_process_fixed_bool { \siunitx_number_process_fixed: } { \bool_if:NT \l_siunitx_process_scientific_bool { \siunitx_number_process_scientific: } } + \siunitx_number_process_exponent: \siunitx_number_process_uncertainty: \bool_if:NT \l_siunitx_exp_to_prefix_bool { \tl_if_empty:NF \l_siunitx_unit_tl { \siunitx_number_exp_to_prefix: } } - \prop_if_in:NnF \l_siunitx_number_in_prop { uncertainty } + \prop_if_in:NnTF \l_siunitx_number_in_prop { uncertainty } + { + \bool_if:NTF \l_siunitx_omit_uncert_bool + { + \prop_del:Nn \l_siunitx_number_in_prop { uncertainty } + \prop_del:Nn \l_siunitx_number_in_prop { mantissa-uncertainty } + } + { \siunitx_number_process_round: } + } { \siunitx_number_process_round: } } + \siunitx_number_process_zero_to_integer: \siunitx_number_process_integer_digits: \bool_if:NT \l_siunitx_process_drop_exponent_bool { @@ -2613,7 +2622,7 @@ { #4 - 2 } } \cs_new_protected:Npn \siunitx_number_process_sign: { - \bool_if:NF \l_siunitx_process_plus_tl + \bool_if:NF \l_siunitx_process_plus_bool { \prop_if_in:NnTF \l_siunitx_number_in_prop { mantissa-sign } { \siunitx_number_process_sign_plus:n { mantissa } } @@ -2760,6 +2769,34 @@ { \prop_put:Nnn \l_siunitx_number_in_prop { #1 - #2 } { 0 } } } } +\cs_new_protected_nopar:Npn \siunitx_number_process_zero_to_integer: + { + \bool_if:NT \l_siunitx_zero_decimal_to_integer_bool + { + \siunitx_number_process_zero_to_integer_aux:n { mantissa } + \siunitx_number_process_zero_to_integer_aux:n { complex } + } + } +\cs_new_protected:Npn \siunitx_number_process_zero_to_integer_aux:n #1 + { + \prop_get:NnNT \l_siunitx_number_in_prop { #1 -decimal } \l_siunitx_tmpa_tl + { + \bool_set_true:N \l_siunitx_tmp_bool + \tl_map_inline:Nn \l_siunitx_tmpa_tl + { + \str_if_eq:nnF {##1} { 0 } + { + \bool_set_false:N \l_siunitx_tmp_bool + \tl_map_break: + } + } + \bool_if:NT \l_siunitx_tmp_bool + { + \prop_del:Nn \l_siunitx_number_in_prop { #1 -decimal } + \prop_del:Nn \l_siunitx_number_in_prop { #1 -decimal-marker } + } + } + } \cs_new_protected:Npn \siunitx_number_exp_to_prefix: { \prop_set_eq:NN \l_siunitx_unit_prop \l_siunitx_unit_saved_prop @@ -3411,10 +3448,10 @@ { \tl_set:Nn \l_siunitx_quotient_mode_tl { symbol } }, } \keys_set:nn { siunitx } { - fraction-function = \frac, - output-product = \times, - output-quotient = /, - parse-numbers = true, + fraction-function = \frac , + output-product = \times , + output-quotient = / , + parse-numbers = true , quotient-mode = symbol } \cs_new_protected:Npn \siunitx_number_output:n #1 { @@ -4178,10 +4215,7 @@ { l_siunitx_ \token_to_str:N #1 _options_tl } } \bool_if:NT \l_siunitx_create_prespace_bool - { - \exp_not:n - { \ensuremath { \l_siunitx_number_unit_product_tl } } - } + { \exp_not:V \l_siunitx_number_unit_product_tl } \exp_not:n { \siunitx_unit_output:nn {#1} { } } \group_end: \bool_if:NT \l_siunitx_create_xspace_bool @@ -4212,13 +4246,7 @@ \exp_not:N \IfNoValueTF {####1} { \bool_if:NT \l_siunitx_create_prespace_bool - { - \exp_not:n - { - \ensuremath - { \l_siunitx_number_unit_product_tl } - } - } + { \exp_not:V \l_siunitx_number_unit_product_tl } \exp_not:n { \siunitx_unit_output:nn {#1} { } } } { \SI {####1} { \exp_not:N #1 } } @@ -4574,12 +4602,12 @@ { per- \int_eval:n { \l_siunitx_unit_int + 1 } } \prop_if_in:NVF \l_siunitx_unit_prop \l_siunitx_tmpa_tl { - \siunitx_tl_put_right_math:NV \l_siunitx_unit_current_tl + \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_unit_product_tl } } { - \siunitx_tl_put_right_math:NV \l_siunitx_unit_current_tl + \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_unit_product_tl } } @@ -4708,10 +4736,8 @@ \seq_map_inline:Nn \l_siunitx_declare_list_seq { \siunitx_unit_print_literal_aux:N ##1 } \tl_set:Nn \l_siunitx_unit_tl {#1} - \tl_set:Nx \l_siunitx_tmpa_tl - { \exp_not:N \ensuremath { \exp_not:V \l_siunitx_unit_product_tl } } - \tl_replace_all:NnV \l_siunitx_unit_tl { . } \l_siunitx_tmpa_tl - \tl_replace_all:NnV \l_siunitx_unit_tl { ~ } \l_siunitx_tmpa_tl + \tl_replace_all:NnV \l_siunitx_unit_tl { . } \l_siunitx_unit_product_tl + \tl_replace_all:NnV \l_siunitx_unit_tl { ~ } \l_siunitx_unit_product_tl \bool_if:NT \l_siunitx_literal_power_bool { \tl_replace_all:Nnn \l_siunitx_unit_tl { ^ } @@ -4957,7 +4983,7 @@ { \tl_if_empty:NF \l_siunitx_unit_denominator_tl { - \siunitx_tl_put_right_math:NV \l_siunitx_unit_tl + \tl_put_right:NV \l_siunitx_unit_tl \l_siunitx_unit_product_tl } } @@ -5094,14 +5120,11 @@ { \mode_if_math:TF { - \ensuremath - { - \tex_mathchoice:D - { \l_siunitx_number_unit_product_tl } - { \siunitx_unit_output_number_sep_aux: } - { \siunitx_unit_output_number_sep_aux: } - { \siunitx_unit_output_number_sep_aux: } - } + \tex_mathchoice:D + { \l_siunitx_number_unit_product_tl } + { \siunitx_unit_output_number_sep_aux: } + { \siunitx_unit_output_number_sep_aux: } + { \siunitx_unit_output_number_sep_aux: } } { \siunitx_unit_output_number_sep_aux: } } @@ -5109,7 +5132,7 @@ } \cs_new_protected:Npn \siunitx_unit_output_number_sep_aux: { \bool_if:NF \l_siunitx_omit_unit_space_bool - { \ensuremath { \l_siunitx_number_unit_product_tl } } + { \l_siunitx_number_unit_product_tl } } \cs_new_protected:Npn \siunitx_unit_output_pre_print: { \tl_if_empty:NF \l_siunitx_pre_unit_tl @@ -5816,7 +5839,7 @@ { \prop_del:Nn \l_siunitx_table_model_prop { comparator } }, table-comparator / true .code:n = - { \prop_put:Nnn \l_siunitx_table_model_prop { comparator } { \ll } }, + { \prop_put:Nnn \l_siunitx_table_model_prop { comparator } { > } }, table-comparator .default:n = true, table-figures-decimal .code:n = { @@ -7324,23 +7347,23 @@ locale / DE .meta:n = { - exponent-product = \cdot , - inter-unit-product = { \, } , - output-decimal-marker = { , } , + exponent-product = \ensuremath { \cdot } , + inter-unit-product = \, , + output-decimal-marker = { , } }, locale / FR .meta:n = { - exponent-product = \times , - inter-unit-product = { \, } , - output-decimal-marker = { , } , + exponent-product = \ensuremath { \times } , + inter-unit-product = \, , + output-decimal-marker = { , } }, locale / UK .meta:n = { - exponent-product = \times , - inter-unit-product = \, , - output-decimal-marker = . , + exponent-product = \ensuremath { \times } , + inter-unit-product = \, , + output-decimal-marker = . }, locale / US .meta:n = { locale = UK }, @@ -7349,9 +7372,9 @@ locale / ZA .meta:n = { - exponent-product = \times , - inter-unit-product = \cdot , - output-decimal-marker = { , } , + exponent-product = \ensuremath { \times } , + inter-unit-product = \ensuremath { \cdot } , + output-decimal-marker = { , } }, } \file_if_exist:nT { translator.sty } |