diff options
author | Karl Berry <karl@freefriends.org> | 2011-09-11 23:32:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2011-09-11 23:32:04 +0000 |
commit | 09e4530648a4d8d411fd373fc8080509391efc06 (patch) | |
tree | 650a0137eba6c602ee4edb95c53962d70fd18d64 /Master/texmf-dist/tex/latex | |
parent | 41755a4e6581d53102604c9247a2c02e76b37176 (diff) |
siunitx 2.3e (9sep11)
git-svn-id: svn://tug.org/texlive/trunk@23898 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r-- | Master/texmf-dist/tex/latex/siunitx/siunitx.sty | 233 |
1 files changed, 90 insertions, 143 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index 6f67fc27f2b..69394a71dd1 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty @@ -33,7 +33,7 @@ } \tex_endinput:D } -\@ifpackagelater { l3clist } { 2011/07/09 } +\@ifpackagelater { expl3 } { 2011/09/05 } { } { \msg_error:nnx { siunitx } { support-outdated } { expl3 } @@ -56,13 +56,6 @@ \clist_map_function:nN { SIunits , sistyle , siunits , SIstyle } \siunitx_load_check:n } -\RequirePackage{ xparse } -\@ifpackagelater { xparse } { 2011/05/30 } - { } - { - \msg_error:nnx { siunitx } { support-outdated } { xparse } - \tex_endinput:D - } \RequirePackage{ amstext , array , l3keys2e } \cs_new:Npn \siunitx_tmp:w { } \bool_new:N \l_siunitx_tmp_bool @@ -375,6 +368,9 @@ \tex_the:D \tex_everydisplay:D \bool_set_true:N \l_siunitx_display_math_bool } +\cs_generate_variant:Nn \prop_get:NnNT { NV } +\cs_generate_variant:Nn \prop_get:NnNF { NV } +\cs_generate_variant:Nn \prop_get:NnNTF { NV } \cs_new_protected_nopar:Npn \siunitx_set_math_fam:n #1 { \int_new:c { c_siunitx_math #1 _int } \group_begin: @@ -1334,8 +1330,7 @@ } } \cs_new_protected_nopar:Npn \siunitx_number_in_complex_aux:nn #1#2 { - \prop_get:NnN \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl + \prop_get:NnNT \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl { \prop_del:Nn \l_siunitx_number_in_prop {#1} \prop_put:NnV \l_siunitx_number_in_prop {#2} \l_siunitx_tmpa_tl @@ -1497,9 +1492,8 @@ \tl_if_eq:NNF \l_siunitx_number_part_tl \c_siunitx_number_part_complex_tl { - \prop_get:NVN \l_siunitx_number_in_prop + \prop_get:NVNT \l_siunitx_number_in_prop \l_siunitx_number_part_sign_tl \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \tl_set:Nx \l_siunitx_tmpb_tl { \l_siunitx_number_part_sign_tl -deleted } @@ -1533,9 +1527,8 @@ { \exp_not:n {#1} } } } - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-sign } + \prop_get:NnNT \l_siunitx_number_in_prop { mantissa-sign } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \prop_if_in:NnF \l_siunitx_number_in_prop { mantissa } { @@ -1550,10 +1543,8 @@ \prop_del:Nn \l_siunitx_number_in_prop { complex-decimal-marker } \prop_del:Nn \l_siunitx_number_in_prop { complex-sign } \prop_put:Nnn \l_siunitx_number_in_prop { uncertainty } { true } - \prop_get:NnN \l_siunitx_number_in_prop { complex-integer } + \prop_get:NnNTF \l_siunitx_number_in_prop { complex-integer } \l_siunitx_number_uncert_tl - \quark_if_no_value:NTF \l_siunitx_number_uncert_tl - { \siunitx_number_in_complex_to_uncert_dec:n {#1} } { \tl_if_single:NTF \l_siunitx_number_uncert_tl { @@ -1564,17 +1555,16 @@ } { \siunitx_number_in_complex_to_uncert_int: } } + { \siunitx_number_in_complex_to_uncert_dec:n {#1} } \prop_del:Nn \l_siunitx_number_in_prop { complex-integer } \prop_del:Nn \l_siunitx_number_in_prop { complex-decimal } } \cs_new_protected_nopar:Npn \siunitx_number_in_complex_to_uncert_int: { - \prop_get:NnN \l_siunitx_number_in_prop { complex-decimal } + \prop_get:NnNF \l_siunitx_number_in_prop { complex-decimal } \l_siunitx_tmpa_tl - \quark_if_no_value:NT \l_siunitx_tmpa_tl { \tl_clear:N \l_siunitx_tmpa_tl } - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-decimal } + \prop_get:NnNF \l_siunitx_number_in_prop { mantissa-decimal } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \tl_clear:N \l_siunitx_tmpb_tl } \siunitx_number_in_complex_to_uncert_pad: } @@ -1582,13 +1572,8 @@ #1 { \tl_clear:N \l_siunitx_number_uncert_tl - \prop_get:NnN \l_siunitx_number_in_prop { complex-decimal } + \prop_get:NnNTF \l_siunitx_number_in_prop { complex-decimal } \l_siunitx_tmpa_tl - \quark_if_no_value:NTF \l_siunitx_tmpa_tl - { - \siunitx_error:nx { misplaced-sign-token } - { \exp_not:n {#1} } - } { \prop_get:NnN \l_siunitx_number_in_prop { mantissa-decimal } \l_siunitx_tmpb_tl @@ -1599,6 +1584,8 @@ \siunitx_number_in_complex_to_uncert_dec_loop:N \siunitx_number_in_complex_to_uncert_pad: } + { \siunitx_error:nx { misplaced-sign-token } { \exp_not:n {#1} } } + } \cs_new_protected_nopar:Npn \siunitx_number_in_complex_to_uncert_dec_loop:N #1 @@ -1618,9 +1605,9 @@ \cs_new_protected_nopar:Npn \siunitx_number_in_complex_to_uncert_pad: { \int_set:Nn \l_siunitx_number_uncert_length_int - { \tl_elt_count:N \l_siunitx_tmpa_tl } + { \tl_length:N \l_siunitx_tmpa_tl } \int_set:Nn \l_siunitx_number_mantissa_length_int - { \tl_elt_count:N \l_siunitx_tmpb_tl } + { \tl_length:N \l_siunitx_tmpb_tl } \int_compare:nNnTF { \l_siunitx_number_mantissa_length_int } > { \l_siunitx_number_uncert_length_int } @@ -1637,9 +1624,8 @@ } } { - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-decimal } + \prop_get:NnNF \l_siunitx_number_in_prop { mantissa-decimal } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \tl_clear:N \l_siunitx_tmpb_tl } \tl_set:Nx \l_siunitx_tmpb_tl { @@ -1779,9 +1765,8 @@ } } \cs_new_protected_nopar:Npn \siunitx_number_process_exponent_aux:n #1 { - \prop_get:NnN \l_siunitx_number_in_prop { exponent- #1 } + \prop_get:NnNT \l_siunitx_number_in_prop { exponent- #1 } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \int_compare:nNnF { \l_siunitx_tmpa_tl } = { 0 } { \bool_set_true:N \l_siunitx_tmp_bool } @@ -1827,13 +1812,11 @@ \cs_new_protected_nopar:Npn \siunitx_number_process_figures_init:n #1 { \int_zero:N \l_siunitx_round_int \bool_set_false:N \l_siunitx_round_bool - \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal } + \prop_get:NnNF \l_siunitx_number_in_prop { #1 -decimal } \l_siunitx_round_decimal_in_tl - \quark_if_no_value:NT \l_siunitx_round_decimal_in_tl { \tl_clear:N \l_siunitx_round_decimal_in_tl } - \prop_get:NnN \l_siunitx_number_in_prop { #1 -integer } + \prop_get:NnNF \l_siunitx_number_in_prop { #1 -integer } \l_siunitx_round_integer_in_tl - \quark_if_no_value:NT \l_siunitx_round_integer_in_tl { \tl_clear:N \l_siunitx_round_integer_in_tl } \tl_clear:N \l_siunitx_round_decimal_out_tl \tl_clear:N \l_siunitx_round_integer_out_tl @@ -1936,24 +1919,20 @@ \cs_new_protected_nopar:Npn \siunitx_number_process_fixed: { \prop_if_in:NnF \l_siunitx_number_in_prop { complex } { - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-integer } + \prop_get:NnNF \l_siunitx_number_in_prop { mantissa-integer } \l_siunitx_tmpa_tl - \quark_if_no_value:NT \l_siunitx_tmpa_tl { \tl_set:Nn \l_siunitx_tmpa_tl { 0 } } - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-decimal } + \prop_get:NnNF \l_siunitx_number_in_prop { mantissa-decimal } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \tl_clear:N \l_siunitx_tmpb_tl } \tl_set:Nx \l_siunitx_tmpa_tl { { \l_siunitx_tmpa_tl } { \l_siunitx_tmpb_tl } } - \prop_get:NnN \l_siunitx_number_in_prop { exponent-integer } + \prop_get:NnNF \l_siunitx_number_in_prop { exponent-integer } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \tl_set:Nn \l_siunitx_tmpb_tl { 0 } } \group_begin: - \prop_get:NnN \l_siunitx_number_in_prop { exponent-sign } + \prop_get:NnNT \l_siunitx_number_in_prop { exponent-sign } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \tl_put_left:NV \l_siunitx_tmpb_tl \l_siunitx_tmpa_tl } @@ -2079,14 +2058,13 @@ \int_compare:nNnT { \l_siunitx_process_integer_min_int } > { \c_zero } { - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-integer } + \prop_get:NnNT \l_siunitx_number_in_prop { mantissa-integer } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \int_set:Nn \l_siunitx_tmp_int { \l_siunitx_process_integer_min_int - - \tl_elt_count:N \l_siunitx_tmpa_tl + - \tl_length:N \l_siunitx_tmpa_tl } \int_compare:nNnT { \l_siunitx_tmp_int } > { \c_zero } { @@ -2106,9 +2084,8 @@ { \prop_if_in:NnT \l_siunitx_number_in_prop { exponent } { - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-integer } + \prop_get:NnNT \l_siunitx_number_in_prop { mantissa-integer } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \tl_if_eq:NNT \c_siunitx_unity_tl \l_siunitx_tmpa_tl { @@ -2128,9 +2105,8 @@ \tl_new:N \c_siunitx_unity_tl \tl_set:Nn \c_siunitx_unity_tl { 1 } \cs_new_protected_nopar:Npn \siunitx_number_process_pad:n #1 { - \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal } + \prop_get:NnNT \l_siunitx_number_in_prop { #1 -decimal } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \int_while_do:nNnn { \l_siunitx_round_int } > { 0 } { @@ -2151,26 +2127,25 @@ \cs_new_protected_nopar:Npn \siunitx_number_process_places_aux_i:n #1 { \int_compare:nNnTF { \l_siunitx_process_precision_int } = { 0 } { - \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal } + \prop_get:NnNT \l_siunitx_number_in_prop { #1 -decimal } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \int_compare:nNnTF { \tl_head:V \l_siunitx_tmpa_tl } > { 4 } { - \prop_get:NnN \l_siunitx_number_in_prop { #1 -integer } + \prop_get:NnNTF \l_siunitx_number_in_prop { #1 -integer } \l_siunitx_tmpa_tl - \quark_if_no_value:NTF \l_siunitx_tmpa_tl - { - \prop_put:Nnn \l_siunitx_number_in_prop - { #1 -integer } { 1 } - } { \tl_set:Nx \l_siunitx_tmpa_tl { \int_eval:n { \l_siunitx_tmpa_tl + 1 } } \prop_put:NnV \l_siunitx_number_in_prop { #1 -integer } \l_siunitx_tmpa_tl } + { + \prop_put:Nnn \l_siunitx_number_in_prop + { #1 -integer } { 1 } + } + } { \prop_if_in:NnF \l_siunitx_number_in_prop { #1 -integer } @@ -2187,9 +2162,8 @@ } } { - \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal } + \prop_get:NnNT \l_siunitx_number_in_prop { #1 -decimal } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \tl_if_empty:NT \l_siunitx_tmpa_tl { \tl_set:Nn \l_siunitx_tmpa_tl { 0 } } @@ -2203,7 +2177,7 @@ } { \int_set:Nn \l_siunitx_round_int - { \tl_elt_count:N \l_siunitx_tmpa_tl } + { \tl_length:N \l_siunitx_tmpa_tl } \siunitx_number_process_places_aux_ii:n {#1} } } @@ -2225,9 +2199,8 @@ } } \cs_new_protected_nopar:Npn \siunitx_number_process_places_init:n #1 { - \prop_get:NnN \l_siunitx_number_in_prop { #1 -integer } + \prop_get:NnNF \l_siunitx_number_in_prop { #1 -integer } \l_siunitx_round_integer_in_tl - \quark_if_no_value:NT \l_siunitx_round_integer_in_tl { \tl_clear:N \l_siunitx_round_integer_in_tl } \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal } \l_siunitx_round_decimal_in_tl @@ -2373,24 +2346,20 @@ \cs_new_protected_nopar:Npn \siunitx_number_process_scientific: { \prop_if_in:NnF \l_siunitx_number_in_prop { complex } { - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-integer } + \prop_get:NnNF \l_siunitx_number_in_prop { mantissa-integer } \l_siunitx_tmpa_tl - \quark_if_no_value:NT \l_siunitx_tmpa_tl { \tl_set:Nn \l_siunitx_tmpa_tl { 0 } } - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-decimal } + \prop_get:NnNF \l_siunitx_number_in_prop { mantissa-decimal } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \tl_clear:N \l_siunitx_tmpb_tl } \tl_set:Nx \l_siunitx_tmpa_tl { { \l_siunitx_tmpa_tl } { \l_siunitx_tmpb_tl } } - \prop_get:NnN \l_siunitx_number_in_prop { exponent-integer } + \prop_get:NnNF \l_siunitx_number_in_prop { exponent-integer } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \tl_set:Nn \l_siunitx_tmpb_tl { 0 } } \group_begin: - \prop_get:NnN \l_siunitx_number_in_prop { exponent-sign } + \prop_get:NnNT \l_siunitx_number_in_prop { exponent-sign } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \tl_put_left:NV \l_siunitx_tmpb_tl \l_siunitx_tmpa_tl } \exp_args:NNNV \group_end: \tl_set:Nn \l_siunitx_tmpb_tl \l_siunitx_tmpb_tl @@ -2657,7 +2626,7 @@ \prop_get:NnN \l_siunitx_number_in_prop { #1 - #2 } \l_siunitx_tmpa_tl \int_set:cn { l_siunitx_process_ #2 _int } - { \tl_elt_count:N \l_siunitx_tmpa_tl } + { \tl_length:N \l_siunitx_tmpa_tl } } \cs_new_protected_nopar:Npn \siunitx_number_process_uncertainty_pad: { \int_while_do:nNnn @@ -2827,9 +2796,8 @@ } } \cs_new_protected_nopar:Npn \siunitx_number_format_brackets_aux:n #1 { - \prop_get:NnN \l_siunitx_number_out_prop { #1 -result } + \prop_get:NnNF \l_siunitx_number_out_prop { #1 -result } \l_siunitx_tmpa_tl - \quark_if_no_value:NT \l_siunitx_tmpa_tl { \prop_get:NnN \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl } @@ -2852,8 +2820,7 @@ } } \cs_new_protected_nopar:Npn \siunitx_number_format_color_aux:n #1 { - \prop_get:NnN \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl + \prop_get:NnNT \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl { \str_if_eq:VnT \l_siunitx_tmpa_tl { - } { @@ -3014,9 +2981,8 @@ } \cs_new_protected_nopar:Npn \siunitx_number_format_final_exponent_only: { - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-sign } + \prop_get:NnNT \l_siunitx_number_in_prop { mantissa-sign } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \bool_if:NT \l_siunitx_tight_bool { @@ -3038,9 +3004,8 @@ \prop_if_in:NnTF \l_siunitx_number_out_prop { #1 -integer } { \siunitx_number_format_copy:nn { #1 -integer } {#1} } { \tl_clear:N \l_siunitx_tmpa_tl } - \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal-marker } + \prop_get:NnNT \l_siunitx_number_in_prop { #1 -decimal-marker } \l_siunitx_tmpb_tl - \quark_if_no_value:NF \l_siunitx_tmpb_tl { \bool_if:NTF \l_siunitx_output_decimal_copy_bool { \tl_set:Nx \l_siunitx_tmpb_tl { { \l_siunitx_tmpb_tl } } } @@ -3056,9 +3021,8 @@ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl \prop_put:NnV \l_siunitx_number_out_prop { #1 -decimal-marker } \l_siunitx_tmpb_tl - \prop_get:NnN \l_siunitx_number_out_prop { #1 -decimal } + \prop_get:NnNF \l_siunitx_number_out_prop { #1 -decimal } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \tl_clear:N \l_siunitx_tmpb_tl } \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl \prop_put:NnV \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl @@ -3161,9 +3125,8 @@ \siunitx_number_format_brackets:n { mantissa } \prop_get:NnN \l_siunitx_number_out_prop { mantissa-result } \l_siunitx_tmpa_tl - \prop_get:NnN \l_siunitx_number_out_prop { complex-result } + \prop_get:NnNF \l_siunitx_number_out_prop { complex-result } \l_siunitx_tmpb_tl - \quark_if_no_value:NT \l_siunitx_tmpb_tl { \prop_get:NnN \l_siunitx_number_out_prop { complex } \l_siunitx_tmpb_tl @@ -3180,14 +3143,11 @@ \siunitx_number_format_join_uncert:n { complex } } \cs_new_protected_nopar:Npn \siunitx_number_format_join_uncert:n #1 { - \prop_get:NnN \l_siunitx_number_out_prop {#1} + \prop_get:NnNT \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { - \prop_get:NnN \l_siunitx_number_out_prop { #1 -uncertainty } + \prop_get:NnNTF \l_siunitx_number_out_prop { #1 -uncertainty } \l_siunitx_tmpb_tl - \quark_if_no_value:NTF \l_siunitx_tmpb_tl - { \siunitx_number_format_copy:nn {#1} { #1 -result } } { \bool_if:NT \l_siunitx_uncert_sep_bool { \siunitx_number_format_join_uncert_pm:N \l_siunitx_tmpb_tl } @@ -3197,6 +3157,7 @@ \prop_put:Nnn \l_siunitx_number_out_prop { #1 -bracket } { true } } + { \siunitx_number_format_copy:nn {#1} { #1 -result } } } } \cs_new_protected_nopar:Npn \siunitx_number_format_join_uncert_pm:N #1 @@ -3220,9 +3181,8 @@ { \siunitx_number_format_group:n { exponent } } } \cs_new_protected_nopar:Npn \siunitx_number_format_relation: { - \prop_get:NnN \l_siunitx_number_in_prop { comparator } + \prop_get:NnNT \l_siunitx_number_in_prop { comparator } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \tl_set:Nx \l_siunitx_tmpa_tl { @@ -3236,9 +3196,8 @@ \cs_new_protected_nopar:Npn \siunitx_number_format_sign:n #1 { \prop_if_in:NnT \l_siunitx_number_out_prop {#1} { - \prop_get:NnN \l_siunitx_number_in_prop { #1 -sign } + \prop_get:NnNT \l_siunitx_number_in_prop { #1 -sign } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \bool_if:NTF \l_siunitx_negative_bracket_bool { @@ -3263,9 +3222,8 @@ \prop_get:NnN \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl \tl_put_left:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl \prop_put:NnV \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl - \prop_get:NnN \l_siunitx_number_out_prop { #1 -result } + \prop_get:NnNT \l_siunitx_number_out_prop { #1 -result } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \tl_put_left:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl \prop_put:NnV \l_siunitx_number_out_prop { #1 -result } @@ -3276,9 +3234,8 @@ \siunitx_number_format_sign_negative_brackets:n #1 { \siunitx_number_format_brackets_aux:n {#1} - \prop_get:NnN \l_siunitx_number_out_prop { #1 } + \prop_get:NnNT \l_siunitx_number_out_prop { #1 } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \siunitx_tl_put_left_math:NV \l_siunitx_tmpa_tl \l_siunitx_bracket_open_tl @@ -3295,9 +3252,8 @@ \cs_new_protected_nopar:Npn \siunitx_number_format_sign_complex:n #1 { \prop_if_in:NnT \l_siunitx_number_out_prop {#1} { - \prop_get:NnN \l_siunitx_number_in_prop { complex-sign } + \prop_get:NnNT \l_siunitx_number_in_prop { complex-sign } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \bool_if:NTF \l_siunitx_tight_bool { @@ -3456,9 +3412,8 @@ \siunitx_number_output_parts_aux:n { mantissa } \siunitx_number_output_parts_aux:n { complex } } - \prop_get:NnN \l_siunitx_number_out_prop { exponent-result } + \prop_get:NnNT \l_siunitx_number_out_prop { exponent-result } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \prop_if_in:NnT \l_siunitx_number_out_prop { mantissa-result } { @@ -3788,9 +3743,8 @@ \siunitx_number_in_init: \siunitx_number_in_parse_aux:n {#1} } - \prop_get:NnN \l_siunitx_number_in_prop { mantissa-sign-deleted } + \prop_get:NnNT \l_siunitx_number_in_prop { mantissa-sign-deleted } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \prop_put:NnV \l_siunitx_number_in_prop { mantissa-sign } \l_siunitx_tmpa_tl @@ -3909,9 +3863,8 @@ { \siunitx_number_output_single: } } \cs_new_protected_nopar:Npn \siunitx_angle_print_astronomy_aux: { - \prop_get:NnN \l_siunitx_number_out_prop { mantissa-integer } + \prop_get:NnNT \l_siunitx_number_out_prop { mantissa-integer } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \siunitx_print:nV { number } \l_siunitx_tmpa_tl } \hbox_set:Nn \l_siunitx_angle_marker_box { @@ -3934,9 +3887,8 @@ { \l_siunitx_angle_marker_dim } > { \l_siunitx_angle_unit_dim } { \siunitx_angle_print_astronomy_marker: } { \siunitx_angle_print_astronomy_unit: } - \prop_get:NnN \l_siunitx_number_out_prop { mantissa-decimal } + \prop_get:NnNT \l_siunitx_number_out_prop { mantissa-decimal } \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \siunitx_print:nV { number } \l_siunitx_tmpa_tl } } \cs_new_protected_nopar:Npn \siunitx_angle_print_astronomy_aux:n #1 { @@ -4537,13 +4489,8 @@ } \tl_set:Nx \l_siunitx_tmpa_tl { special- \int_use:N \l_siunitx_unit_int } - \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl + \prop_get:NVNTF \l_siunitx_unit_prop \l_siunitx_tmpa_tl \l_siunitx_tmpa_tl - \quark_if_no_value:NTF \l_siunitx_tmpa_tl - { - \tl_put_left:cV { l_siunitx_unit #1 _tl } - \l_siunitx_unit_current_tl - } { \tl_put_left:cx { l_siunitx_unit #1 _tl } { @@ -4551,6 +4498,10 @@ { \exp_not:V \l_siunitx_unit_current_tl } } } + { + \tl_put_left:cV { l_siunitx_unit #1 _tl } + \l_siunitx_unit_current_tl + } } \cs_new_protected_nopar:Npn \siunitx_unit_format_fraction: { \int_compare:nNnT { \l_siunitx_unit_numerator_int } = { 0 } @@ -4725,9 +4676,9 @@ \cs_new_protected_nopar:Npn \siunitx_unit_format_power: { \tl_set:Nx \l_siunitx_tmpa_tl { power- \int_use:N \l_siunitx_unit_int } - \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl + \prop_get:NVNTF \l_siunitx_unit_prop \l_siunitx_tmpa_tl \l_siunitx_tmpa_tl - \quark_if_no_value:NTF \l_siunitx_tmpa_tl + { \siunitx_unit_format_power_aux: } { \tl_set:Nx \l_siunitx_tmpa_tl { per- \int_use:N \l_siunitx_unit_int } @@ -4737,7 +4688,6 @@ \siunitx_unit_format_power_aux: } } - { \siunitx_unit_format_power_aux: } } \cs_new_protected_nopar:Npn \siunitx_unit_format_power_aux: { \str_if_eq:VnTF \l_siunitx_per_mode_tl { repeat } @@ -4838,9 +4788,8 @@ \cs_new_protected_nopar:Npn \siunitx_unit_format_prefix_number_calc: { \tl_set:Nx \l_siunitx_tmpa_tl { power- \int_use:N \l_siunitx_unit_int } - \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl + \prop_get:NVNF \l_siunitx_unit_prop \l_siunitx_tmpa_tl \l_siunitx_tmpa_tl - \quark_if_no_value:NT \l_siunitx_tmpa_tl { \tl_set:Nn \l_siunitx_tmpa_tl { 1 } } \tl_set:Nx \l_siunitx_tmpb_tl { unit- \int_use:N \l_siunitx_unit_int } @@ -4884,9 +4833,8 @@ \cs_new_protected_nopar:Npn \siunitx_unit_format_qualifier: { \tl_set:Nx \l_siunitx_tmpa_tl { qualifier- \int_use:N \l_siunitx_unit_int } - \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl + \prop_get:NVNT \l_siunitx_unit_prop \l_siunitx_tmpa_tl \l_siunitx_tmpa_tl - \quark_if_no_value:NF \l_siunitx_tmpa_tl { \use:c { @@ -4933,13 +4881,12 @@ \cs_new_protected_nopar:Npn \siunitx_unit_format_symbol: { \tl_set:Nx \l_siunitx_tmpa_tl { symbol- \int_use:N \l_siunitx_unit_int } - \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl + \prop_get:NVNTF \l_siunitx_unit_prop \l_siunitx_tmpa_tl \l_siunitx_tmpa_tl - \quark_if_no_value:NTF \l_siunitx_tmpa_tl - { \siunitx_unit_format_symbol_aux: } { \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_tmpa_tl } + { \siunitx_unit_format_symbol_aux: } } \cs_new_protected_nopar:Npn \siunitx_unit_format_symbol_aux: { \msg_error:nn { siunitx } { prefix-only } @@ -5170,7 +5117,7 @@ \tl_if_in:NnT \l_siunitx_tmpa_tl {#1} { \int_incr:N \l_siunitx_number_product_int - \tl_remove_in:Nn \l_siunitx_tmpa_tl {#1} + \tl_remove_once:Nn \l_siunitx_tmpa_tl {#1} \siunitx_combined_product_count_aux:N #1 } } @@ -5424,7 +5371,7 @@ } } \cs_new_protected:Npn \siunitx_table_collect_expand_math:N #1 { - \token_if_math_shift:NTF #1 + \token_if_math_toggle:NTF #1 { \bool_if:NTF \l_siunitx_table_math_bool { \bool_set_false:N \l_siunitx_table_math_bool } @@ -6037,10 +5984,10 @@ \cs_new_protected_nopar:Npn \siunitx_table_print_S_centered: { \siunitx_table_print_S_centered_ends: - \bool_if:NT \l_siunitx_table_math_bool { \c_math_shift_token } + \bool_if:NT \l_siunitx_table_math_bool { \c_math_toggle_token } \siunitx_table_print_S_parse: \siunitx_table_print_S_centered_measure: - \bool_if:NT \l_siunitx_table_math_bool { \c_math_shift_token } + \bool_if:NT \l_siunitx_table_math_bool { \c_math_toggle_token } \dim_set:Nn \l_siunitx_table_fill_pre_dim { \l_siunitx_table_result_dim @@ -6062,7 +6009,7 @@ \bool_if:NT \l_siunitx_table_math_bool { \scan_stop: - \c_math_shift_token + \c_math_toggle_token } } } @@ -6073,7 +6020,7 @@ { \bool_if:NT \l_siunitx_table_math_bool { - \c_math_shift_token + \c_math_toggle_token \scan_stop: } \l_siunitx_table_collect_post_tl @@ -6153,11 +6100,11 @@ \siunitx_table_print_S_reserved_ends: \siunitx_table_print_S_reserved_round: \siunitx_table_print_S_parse: - \bool_if:NT \l_siunitx_table_math_bool { \c_math_shift_token } + \bool_if:NT \l_siunitx_table_math_bool { \c_math_toggle_token } \siunitx_table_print_S_reserved_comparator: \siunitx_table_print_S_reserved_mantissa: \siunitx_table_print_S_reserved_exponent: - \bool_if:NT \l_siunitx_table_math_bool { \c_math_shift_token } + \bool_if:NT \l_siunitx_table_math_bool { \c_math_toggle_token } } \cs_new_protected_nopar:Npn \siunitx_table_print_S_reserved_init: { @@ -6187,7 +6134,7 @@ \bool_if:NT \l_siunitx_table_math_bool { \scan_stop: - \c_math_shift_token + \c_math_toggle_token } } } @@ -6208,7 +6155,7 @@ { \bool_if:NT \l_siunitx_table_math_bool { - \c_math_shift_token + \c_math_toggle_token \scan_stop: } \l_siunitx_table_collect_post_tl @@ -6488,7 +6435,7 @@ { \tex_hfil:D } \hbox_set:Nn \l_siunitx_table_pre_box \c_group_begin_token - \c_math_shift_token + \c_math_toggle_token \tl_map_function:NN \l_siunitx_input_decimal_tl \siunitx_table_print_S_direct_centered_aux:N } @@ -6498,18 +6445,18 @@ \char_set_mathcode:nn { `#1 } { 32768 } \tl_to_lowercase:n { \cs_set_nopar:Npn @ } { - \c_math_shift_token + \c_math_toggle_token \c_group_end_token \hbox_set:Nn \l_siunitx_table_post_box \c_group_begin_token - \c_math_shift_token + \c_math_toggle_token \l_siunitx_output_decimal_tl } } \char_set_catcode_letter:N \@ \cs_new_protected_nopar:Npn \siunitx_table_print_S_direct_centered_end: { - \c_math_shift_token + \c_math_toggle_token \c_group_end_token \dim_compare:nNnTF { \box_wd:N \l_siunitx_table_pre_box } > @@ -6570,7 +6517,7 @@ \hbox_set_to_wd:Nnn \l_siunitx_table_pre_box { \l_siunitx_table_integer_dim } \c_group_begin_token - \c_math_shift_token + \c_math_toggle_token \tl_map_function:NN \l_siunitx_input_decimal_tl \siunitx_table_print_S_direct_reserved_aux:N \tex_hfill:D @@ -6581,19 +6528,19 @@ \char_set_mathcode:nn { `#1 } { 32768 } \tl_to_lowercase:n { \cs_set_nopar:Npn @ } { - \c_math_shift_token + \c_math_toggle_token \c_group_end_token \hbox_set_to_wd:Nnn \l_siunitx_table_post_box { \box_wd:N \l_siunitx_tmp_box } \c_group_begin_token - \c_math_shift_token + \c_math_toggle_token \l_siunitx_output_decimal_tl } } \char_set_catcode_letter:N \@ \cs_new_protected_nopar:Npn \siunitx_table_print_S_direct_reserved_end: { - \c_math_shift_token + \c_math_toggle_token \tex_hfil:D \c_group_end_token \siunitx_table_align_left:n { \l_siunitx_table_number_align_skip } |