From f02598b65001239577c257d86bef00d4e12881af Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 17 Jun 2021 20:36:43 +0000 Subject: siunitx (17jun21) git-svn-id: svn://tug.org/texlive/trunk@59614 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/siunitx/siunitx.sty | 163 +++++++++++++++--------- 1 file changed, 101 insertions(+), 62 deletions(-) (limited to 'Master/texmf-dist/tex/latex/siunitx') diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index 3d9fa8db1a4..d9bb92ea9cc 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-06-09} {3.0.12} +\ProvidesExplPackage {siunitx} {2021-06-17} {3.0.14} {A comprehensive (SI) units package} \msg_new:nnnn { siunitx } { incompatible-package } { Package~'#1'~incompatible. } @@ -654,49 +654,24 @@ \cs_new_protected:Npn \__siunitx_complex_format_auxi:n #1 { \tl_clear:N \l__siunitx_complex_tmp_tl - \tl_if_empty:NTF \l__siunitx_complex_real_tl + \tl_if_empty:NTF \l__siunitx_complex_img_tl { - \__siunitx_complex_format_units:n {#1} - \exp_after:wN \__siunitx_complex_format_unary:nnnnnnn \l__siunitx_complex_img_tl + \siunitx_number_process:NN \l__siunitx_complex_real_tl \l__siunitx_complex_real_tl \tl_set:Nx \l__siunitx_complex_tmp_tl - { - \siunitx_number_output:N \l__siunitx_complex_img_tl - \exp_not:V \l__siunitx_complex_output_root_tl - } - } - { - \tl_if_empty:NTF \l__siunitx_complex_img_tl - { - \siunitx_number_process:NN \l__siunitx_complex_real_tl \l__siunitx_complex_real_tl - \tl_set:Nx \l__siunitx_complex_tmp_tl - { \siunitx_number_output:N \l__siunitx_complex_real_tl } - } - { \__siunitx_complex_format_auxii:n {#1} } + { \siunitx_number_output:N \l__siunitx_complex_real_tl } } + { \__siunitx_complex_format_auxii:n {#1} } \tl_if_blank:nTF {#1} { \siunitx_print_number:V \l__siunitx_complex_tmp_tl } { \siunitx_quantity_print:VV \l__siunitx_complex_tmp_tl \l__siunitx_complex_unit_tl } } -\cs_new_protected:Npn \__siunitx_complex_format_unary:nnnnnnn #1#2#3#4#5#6#7 - { - \tl_set:Nx \l__siunitx_complex_img_tl - { - \exp_not:n { {#1} {#2} } - \tl_if_blank:nTF {#4} - { - \str_if_eq:nnTF {#3} { 1 } - { { } { } } - { \exp_not:n { {#3} {#4} } } - } - { \exp_not:n { {#3} {#4} } } - \exp_not:n { {#5} {#6} {#7} } - } - } \cs_new_protected:Npn \__siunitx_complex_format_auxii:n #1 { \__siunitx_complex_format_units:n {#1} - \exp_after:wN \__siunitx_complex_drop_exponent:nnnnnnn \l__siunitx_complex_real_tl + \tl_if_empty:NF \l__siunitx_complex_real_tl + { \exp_after:wN \__siunitx_complex_drop_exponent:nnnnnnn \l__siunitx_complex_real_tl } \exp_after:wN \__siunitx_complex_format_sign:nnnnnnn \l__siunitx_complex_img_tl + \exp_after:wN \__siunitx_complex_format_unary:nnnnnnn \l__siunitx_complex_img_tl \tl_set:Nx \l__siunitx_complex_tmp_tl { \siunitx_number_output:NN \l__siunitx_complex_img_tl \q_nil } \exp_after:wN \__siunitx_complex_extract_exponent:w \l__siunitx_complex_tmp_tl \q_stop @@ -726,7 +701,11 @@ \tl_set:Nx \l__siunitx_complex_img_tl { { } - { \tl_if_blank:nTF {#2} { + } { \exp_not:n {#2} } } + { + \tl_if_blank:nTF {#2} + { \tl_if_empty:NF \l__siunitx_complex_real_tl { + } } + { \exp_not:n {#2} } + } \tl_if_blank:nTF {#4} { \str_if_eq:nnTF {#3} { 1 } @@ -750,6 +729,21 @@ \tl_set:Nn \l__siunitx_complex_tmp_tl {#1#2} \tl_set:Nn \l__siunitx_complex_exp_tl {#3#4} } +\cs_new_protected:Npn \__siunitx_complex_format_unary:nnnnnnn #1#2#3#4#5#6#7 + { + \tl_set:Nx \l__siunitx_complex_img_tl + { + \exp_not:n { {#1} {#2} } + \tl_if_blank:nTF {#4} + { + \str_if_eq:nnTF {#3} { 1 } + { { } { } } + { \exp_not:n { {#3} {#4} } } + } + { \exp_not:n { {#3} {#4} } } + \exp_not:n { {#5} {#6} {#7} } + } + } \cs_new_protected:Npn \__siunitx_complex_format_bracket:n #1 { \exp_not:V \l__siunitx_complex_bracket_open_tl @@ -1074,6 +1068,8 @@ { \bool_set_false:N \l_siunitx_number_bracket_ambiguous_bool } \bool_set_true:N \l__siunitx_compound_unit_bool \__siunitx_compound_format:nn {#1} {#2} + \bool_if:NF \l_siunitx_number_parse_bool + { \siunitx_unit_format:nN {#2} \l__siunitx_compound_unit_tl } \str_if_eq:VnT \l_siunitx_quantity_prefix_mode_tl { combine-exponent } { \tl_clear:N \l__siunitx_compound_exp_tl } \bool_if:NTF \l__siunitx_compound_unit_repeat_bool @@ -1434,6 +1430,8 @@ \file_if_exist:nT { translations.sty } { \RequirePackage { translations } + \DeclareTranslation { Catalan } { and } { i } + \DeclareTranslation { Catalan } { to~(numerical~range) } { a } \DeclareTranslation { English } { to~(numerical~range) } { to } \DeclareTranslation { French } { to~(numerical~range) } { à } \DeclareTranslation { German } { to~(numerical~range) } { bis } @@ -3146,9 +3144,16 @@ } \cs_new:Npn \__siunitx_number_output_integer:nnn #1#2#3 { - \bool_lazy_or:nnT - { \l__siunitx_number_unity_mantissa_bool } - { ! \str_if_eq_p:nn { #1 . #2 } { 1. } } + \bool_lazy_any:nT + { + { \l__siunitx_number_unity_mantissa_bool } + { ! \str_if_eq_p:nn { #1 . #2 } { 1. } } + { + \bool_lazy_and_p:nn + { \str_if_eq_p:nn {#3} { 0 } } + { ! \l__siunitx_number_zero_exponent_bool } + } + } { \__siunitx_number_output_digits:nn { integer } {#1} } } \cs_new:Npn \__siunitx_number_output_decimal:nn #1#2 @@ -4079,10 +4084,15 @@ \skip_horizontal:n {#1} \tex_kern:D \c_zero_skip } +\dim_new:N \l__siunitx_table_column_width_dim \keys_define:nn { siunitx } { - table-column-width .dim_set:N = - \l__siunitx_table_column_width_dim , + table-column-width .code:n = + { + \dim_set:Nn \l__siunitx_table_column_width_dim {#1} + \dim_compare:nNnT \l__siunitx_table_column_width_dim > \c_zero_dim + { \bool_set_true:N \l__siunitx_table_fixed_width_bool } + } , table-fixed-width .bool_set:N = \l__siunitx_table_fixed_width_bool } @@ -4193,7 +4203,10 @@ \l__siunitx_table_auto_round_bool , table-format .code:n = { - \__siunitx_table_split:nNNN {#1} + \group_begin: + \protected@edef \l__siunitx_table_tmp_tl {#1} + \exp_args:NNV \group_end: + \__siunitx_table_split:nNNN \l__siunitx_table_tmp_tl \l__siunitx_table_before_model_tl \l__siunitx_table_model_tl \l__siunitx_table_after_model_tl @@ -4968,7 +4981,7 @@ { \tl_if_head_is_N_type:nTF {#2} { \__siunitx_unit_format_literal_auxvi:nN } - { \__siunitx_unit_format_literal_auxvii:nn } + { \__siunitx_unit_format_literal_auxix:nn } {#1} #2 \q_recursion_stop } \cs_new_protected:Npx \__siunitx_unit_format_literal_auxvi:nN #1#2 @@ -4988,7 +5001,7 @@ { \str_if_eq:nnTF {#2} { \protect } { \__siunitx_unit_format_literal_auxviii:nN {#1} } - { \__siunitx_unit_format_literal_auxvi:nN {#1#2} } + { \__siunitx_unit_format_literal_auxv:nw {#1#2} } } \cs_new_protected:Npn \__siunitx_unit_format_literal_auxviii:nN #1#2 { \__siunitx_unit_format_literal_auxv:nw { #1 \protect #2 } } @@ -5025,7 +5038,7 @@ } \tl_clear:N \l__siunitx_unit_separator_tl } -\cs_new_protected:Npn \__siunitx_unit_format_literal_auxvii:nn #1#2 +\cs_new_protected:Npn \__siunitx_unit_format_literal_auxix: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: @@ -5962,16 +5975,20 @@ { \bool_if:NTF \l__siunitx_quantity_uncert_repeat_bool { - \siunitx_quantity_print:nV {#1#2} - \l__siunitx_quantity_unit_tl - \siunitx_quantity_print:nV { { } #3 } - \l__siunitx_quantity_unit_tl - \siunitx_print_number:n { { } #4 } + \tl_if_blank:nTF {#4} + { \__siunitx_quantity_parsed_aux:nnn {#1#2} {#3} { } } + { \__siunitx_quantity_parsed_aux:nnn {#1#2} {#3} { { } #4 } } } { \siunitx_quantity_print:nV {#1#2#3#4} \l__siunitx_quantity_unit_tl } } } } +\cs_new_protected:Npn \__siunitx_quantity_parsed_aux:nnn #1#2#3 + { + \siunitx_quantity_print:nV {#1#3} \l__siunitx_quantity_unit_tl + \tl_if_blank:nF {#2} + { \siunitx_quantity_print:nV { { } #2#3 } \l__siunitx_quantity_unit_tl } + } \cs_new_protected:Npn \__siunitx_quantity_extract_exp:nNN #1#2#3 { \__siunitx_quantity_extract_exp:nnnnnnnNN #1 #2 #3 } \cs_new_protected:Npn \__siunitx_quantity_extract_exp:nnnnnnnNN #1#2#3#4#5#6#7#8#9 @@ -6131,20 +6148,31 @@ { \siunitx_declare_unit:Nx \ohm { - \exp_not:N \ifmmode - \cs_if_exist:NTF \upOmega - { \exp_not:N \upOmega } - { \exp_not:N \Omega } - \exp_not:N \else - \exp_not:N \text - { - \bool_lazy_or:nnTF - { \sys_if_engine_luatex_p: } - { \sys_if_engine_xetex_p: } - { \__siunitx_symbol_non_latin:n { "03A9 } } - { \exp_not:N \textohm } - } - \exp_not:N \fi + \@ifpackageloaded { fourier } + { + \exp_not:N \ensuremath + { + \cs_if_exist:NTF \upOmega + { \exp_not:N \upOmega } + { \exp_not:N \Omega } + } + } + { + \exp_not:N \ifmmode + \cs_if_exist:NTF \upOmega + { \exp_not:N \upOmega } + { \exp_not:N \Omega } + \exp_not:N \else + \exp_not:N \text + { + \bool_lazy_or:nnTF + { \sys_if_engine_luatex_p: } + { \sys_if_engine_xetex_p: } + { \__siunitx_symbol_non_latin:n { "03A9 } } + { \exp_not:N \textohm } + } + \exp_not:N \fi + } } } \__siunitx_symbol_if_replace:NnT \micro { "03BC } @@ -7272,6 +7300,17 @@ \siunitx_print_number:V \l__siunitx_tmp_tl \group_end: } +\@ifpackageloaded { units } + { + \msg_new:nnn { siunitx } { units-pkg } + { + Detected~the~"units"~package: \\ + Omitting~definition~of~\token_to_str:N \unit. + } + \msg_warning:nn { siunitx } { units-pkg } + \use_none:nnnn + } + { } \NewDocumentCommand \unit { O { } > { \TrimSpaces } m } { \mode_leave_vertical: -- cgit v1.2.3