diff options
author | Karl Berry <karl@freefriends.org> | 2015-08-19 22:20:10 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-08-19 22:20:10 +0000 |
commit | 2e431097750226d3b07e434a16a319574a5370ad (patch) | |
tree | 4f2470f5d8e8a639e72ac14554e55a3cd8685c79 /Master/texmf-dist/tex/latex/siunitx | |
parent | 4a6cd05140576229cbc491cdff4f700f5fb31f82 (diff) |
siunitx (19aug15)
git-svn-id: svn://tug.org/texlive/trunk@38158 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx')
4 files changed, 165 insertions, 153 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg b/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg index 1ff08112265..93a190e8a84 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- %% -\ProvidesExplFile {siunitx-abbreviations.cfg} {2015/07/17} {2.6h} +\ProvidesExplFile {siunitx-abbreviations.cfg} {2015/08/18} {2.6i} {siunitx: Abbreviated units} \DeclareSIUnit \A { \ampere } \DeclareSIUnit \pA { \pico \ampere } diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg b/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg index b528ebdf461..7ae64a2772e 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- %% -\ProvidesExplFile {siunitx-binary.cfg} {2015/07/17} {2.6h} +\ProvidesExplFile {siunitx-binary.cfg} {2015/08/18} {2.6i} {siunitx: Binary units} \DeclareBinaryPrefix \kibi { Ki } { 10 } \DeclareBinaryPrefix \mebi { Mi } { 20 } diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg b/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg index 24b7aec823b..9ffcee26a6f 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg @@ -13,7 +13,7 @@ %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- %% -\ProvidesExplFile {siunitx-version-1.cfg} {2015/07/17} {2.6h} +\ProvidesExplFile {siunitx-version-1.cfg} {2015/08/18} {2.6i} {siunitx: Version 1 settings} \keys_define:nn { siunitx } { addsign .choice: , diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index 8bc958cb278..c040fe415d8 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty @@ -13,10 +13,11 @@ %% See http://www.latex-project.org/lppl.txt %% --------------------------------------------------------------- %% -\RequirePackage{expl3,xparse} -\ProvidesExplPackage {siunitx} {2015/07/17} {2.6h} +\RequirePackage{expl3}[2015/03/01] +\RequirePackage{xparse} +\ProvidesExplPackage {siunitx} {2015/08/18} {2.6i} {A comprehensive (SI) units package} -\@ifpackagelater { expl3 } { 2012/11/21 } +\@ifpackagelater { expl3 } { 2015/03/01 } { } { \PackageError { siunitx } { Support~package~expl3~too~old } @@ -48,6 +49,7 @@ \cs_new:Npn \__siunitx_tmp:w { } \cs_generate_variant:Nn \clist_map_function:nN { nc } \cs_generate_variant:Nn \tl_if_blank:nTF { V } +\cs_generate_variant:Nn \tl_replace_all:Nnn { No, NV } \bool_new:N \l__siunitx_tmp_bool \box_new:N \l__siunitx_tmp_box \dim_new:N \l__siunitx_tmp_dim @@ -313,37 +315,35 @@ \str_if_eq:VnT #1 {#2} { \tl_set:Nn #1 {#3} } } +\cs_generate_variant:Nn \tl_if_empty_p:n { f } +\cs_generate_variant:Nn \tl_if_empty:nT { f } \cs_generate_variant:Nn \tl_if_in:NnTF { NV } \cs_generate_variant:Nn \tl_replace_all:Nnn { NnV } -\group_begin: -\tl_map_inline:nn { \M \A \C \R \O } - { \char_set_catcode_other:n { `#1 } } -\tl_map_inline:nn { \F \N \T } - { \char_set_lccode:nn { `#1 } { `#1 } } -\tl_to_lowercase:n { - \group_end: - \prg_new_conditional:Npnn \__siunitx_cs_if_tl:N #1 { T , F, TF , p } - { - \exp_last_unbraced:No \__siunitx_cs_if_tl_aux:w - { \token_to_meaning:N #1 MACRO \q_stop } +\prg_new_conditional:Npnn \__siunitx_cs_if_tl:N #1 { T, F , TF , p } + { + \bool_if:nTF + { + \tl_if_empty_p:f { - \cs_if_exist:cTF { \cs_to_str:N #1 ~ } - { \prg_return_false: } - { \prg_return_true: } + \token_get_prefix_spec:N #1 + \token_get_arg_spec:N #1 } - { \prg_return_false: } - } - \cs_new:Npn \__siunitx_cs_if_tl_aux:w #1 MACRO #2 \q_stop - { \tl_if_empty:nTF {#1} } - \prg_new_conditional:Npnn \__siunitx_cs_if_macro:N #1 - { T , F , TF , p } - { - \exp_last_unbraced:No \__siunitx_cs_if_tl_aux:w - { \token_to_meaning:N #1 MACRO \q_stop } - { \prg_return_true: } - { \prg_return_false: } - } -} + && ! \cs_if_exist_p:c { \cs_to_str:N #1 ~ } + } + { \prg_return_true: } + { \prg_return_false: } + } +\prg_new_conditional:Npnn \__siunitx_number_if_zero:n #1 { p , TF } + { + \tl_map_function:nN {#1} \__siunitx_number_if_zero_aux:n + \prg_return_true: + } +\cs_generate_variant:Nn \__siunitx_number_if_zero_p:n { V } +\cs_new:Npn \__siunitx_number_if_zero_aux:n #1 + { + \token_if_eq_charcode:NNF #1 0 + { \tl_map_break:n { \prg_return_false: \use_none:n } } + } \AtBeginDocument { \@ifpackageloaded { tex4ht } @@ -820,43 +820,39 @@ { \l__siunitx_print_arg_tl } } } -\group_begin: - \char_set_lccode:nn { `\@ } { `\_ } - \char_set_catcode_math_subscript:N \@ - \char_set_lccode:nn { `\! } { `\_ } - \char_set_catcode_active:N \! - \char_set_lccode:nn { `\= } { `\_ } - \char_set_lccode:nn { `\+ } { `\^ } -\tl_to_lowercase:n { - \group_end: - \cs_new_protected:Npn \__siunitx_print_text: - { - \tl_replace_all:Nnn \l__siunitx_print_arg_tl { - } - { \c__siunitx_minus_tl } - \__siunitx_print_text_aux: - \tl_replace_all:Nnn \l__siunitx_print_arg_tl { \mp } - { \ensuremath { \mp } } - \tl_remove_all:Nn \l__siunitx_print_arg_tl { \mathord } - \cs_set_eq:NN \PrintSubscript \__siunitx_print_text_sub:n - \cs_set_eq:NN \PrintSuperscript \__siunitx_print_text_super:n - \tl_replace_all:Nnn \l__siunitx_print_arg_tl { @ } - { \__siunitx_print_text_sub:n } - \tl_replace_all:Nnn \l__siunitx_print_arg_tl { ! } - { \__siunitx_print_text_sub:n } - \tl_replace_all:Nnn \l__siunitx_print_arg_tl { = } - { \__siunitx_print_text_sub:n } - \tl_replace_all:Nnn \l__siunitx_print_arg_tl { ^ } - { \__siunitx_print_text_super:n } - \tl_replace_all:Nnn \l__siunitx_print_arg_tl { + } - { \__siunitx_print_text_super:n } - \l__siunitx_print_arg_tl - } -} +\cs_new_protected_nopar:Npn \__siunitx_print_text: + { + \tl_replace_all:Nnn \l__siunitx_print_arg_tl { - } + { \c__siunitx_minus_tl } + \__siunitx_print_text_aux: + \tl_replace_all:Nnn \l__siunitx_print_arg_tl { \mp } + { \ensuremath { \mp } } + \tl_remove_all:Nn \l__siunitx_print_arg_tl { \mathord } + \cs_set_eq:NN \PrintSubscript \__siunitx_print_text_sub:n + \cs_set_eq:NN \PrintSuperscript \__siunitx_print_text_super:n + \__siunitx_print_text_aux:NnN + _ { math_subscript } \__siunitx_print_text_sub:n + _ { active } \__siunitx_print_text_sub:n + ^ { math_superscript } \__siunitx_print_text_super:n + ^ { active } \__siunitx_print_text_super:n + \q_recursion_tail ? ? + \q_recursion_stop + \l__siunitx_print_arg_tl + } \cs_new_protected:Npn \__siunitx_print_text_aux: { \tl_replace_all:Nnn \l__siunitx_print_arg_tl { \pm } { \ensuremath { \pm } } } +\cs_new_protected:Npn \__siunitx_print_text_aux:NnN #1#2#3 + { + \quark_if_recursion_tail_stop:N #1 + \tl_set_rescan:Nnn \l__siunitx_tmp_tl + { \use:c { char_set_catcode_ #2 :N } #1 } + {#1} + \tl_replace_all:NVn \l__siunitx_print_arg_tl \l__siunitx_tmp_tl {#3} + \__siunitx_print_text_aux:NnN + } \AtBeginDocument { \@ifpackageloaded { textcomp } @@ -1125,22 +1121,29 @@ \cs_new_protected:Npn \__siunitx_number_in_protect_aux:N #1 { \cs_set_eq:NN #1 \scan_stop: } +\cs_new_protected:Npn \__siunitx_number_in_sign_replace:N #1 + { + \__siunitx_number_in_sign_replace_aux:N #1 + \__siunitx_number_in_sign_replace_aux:NnN #1 + { -+ } \mp + { +- } \pm + { << } \ll + { <= } \le + { >> } \gg + { >= } \ge + { ?? } \q_recursion_tail + \q_recursion_stop + } \group_begin: -\char_set_catcode_active:N \* -\char_set_lccode:nn { `\* } { `\- } -\tl_to_lowercase:n + \char_set_catcode_active:N - + \cs_new_protected:Npx \__siunitx_number_in_sign_replace_aux:N #1 + { \tl_replace_all:Nnn #1 { \exp_not:N - } { \token_to_str:N - } } +\group_end: +\cs_new_protected:Npn \__siunitx_number_in_sign_replace_aux:NnN #1#2#3 { - \group_end: - \cs_new_protected:Npn \__siunitx_number_in_sign_replace:N #1 - { - \tl_replace_all:Nnn #1 { * } { - } - \tl_replace_all:Nnn #1 { -+ } { \mp } - \tl_replace_all:Nnn #1 { +- } { \pm } - \tl_replace_all:Nnn #1 { << } { \ll } - \tl_replace_all:Nnn #1 { <= } { \le } - \tl_replace_all:Nnn #1 { >> } { \gg } - \tl_replace_all:Nnn #1 { >= } { \ge } - } + \quark_if_recursion_tail_stop:N #3 + \tl_replace_all:Nnn #1 {#2} {#3} + \__siunitx_number_in_sign_replace_aux:NnN #1 } \cs_new_protected:Npn \__siunitx_number_in_parse_error:nn #1#2 { \__siunitx_error:nx {#1} { \exp_not:n {#2} } @@ -2145,7 +2148,7 @@ } } { - \int_compare:nNnTF { 0 #1 } = { 0 } + \__siunitx_number_if_zero:nTF {#1} { \__siunitx_number_process_fixed_aux_ii:nnn {##1} {##2} { #3 - 1 } @@ -2479,12 +2482,11 @@ } \cs_new_protected:Npn \__siunitx_number_process_round_tidy:n #1 { - \int_compare:nNnTF + \bool_if:nTF { - 0 \l__siunitx_round_integer_out_tl + - 0 \l__siunitx_round_decimal_out_tl + \__siunitx_number_if_zero_p:V \l__siunitx_round_integer_out_tl + && \__siunitx_number_if_zero_p:V \l__siunitx_round_decimal_out_tl } - = \c_zero { \str_if_eq:VnTF \l__siunitx_process_round_min_tl { 0 } { @@ -2562,35 +2564,38 @@ } \cs_new_protected:Npn \__siunitx_number_process_scientific_aux_ii:nnn #1#2#3 { - \int_compare:nNnTF {#1} > { 9 } + \int_compare:nNnTF { \tl_count:n {#1} } > \c_one { \__siunitx_number_process_scientific_large:nnn {#1} {#2} {#3} } { - \int_compare:nNnTF {#1} > { 0 } + \__siunitx_number_if_zero:nTF {#1} + { + \__siunitx_number_process_scientific_small:wn + #2 \q_stop {#3} + } { \bool_if:NTF \l__siunitx_process_engineering_bool { \__siunitx_number_process_scientific_engineering:nnn } { \__siunitx_number_process_scientific_store:nnn } {#1} {#2} {#3} } - { - \__siunitx_number_process_scientific_small:wn - #2 \q_stop {#3} - } + } } -\cs_new_protected:Npn - \__siunitx_number_process_scientific_large:nnn #1#2#3 { - \int_set:Nn \l__siunitx_tmp_int { \int_div_truncate:nn {#1} { 10 } } - \tl_set:Nx \l__siunitx_tmpa_tl { \int_use:N \l__siunitx_tmp_int } - \int_set:Nn \l__siunitx_tmp_int { #1 - 10 * \l__siunitx_tmp_int } - \tl_set:Nx \l__siunitx_tmpa_tl - { - { \l__siunitx_tmpa_tl } { \int_use:N \l__siunitx_tmp_int #2 } - { #3 + 1 } - } - \exp_after:wN \__siunitx_number_process_scientific_aux_ii:nnn - \l__siunitx_tmpa_tl -} +\cs_new_protected:Npn \__siunitx_number_process_scientific_large:nnn #1#2#3 + { + \cs_set_protected:Npn \__siunitx_number_process_scientific_large_loop:nNN + ##1##2##3 + { + \quark_if_recursion_tail_stop_do:Nn ##3 + { + \__siunitx_number_process_scientific_aux_ii:nnn {##1} { ##2 #2 } + { #3 + \c_one } + } + \__siunitx_number_process_scientific_large_loop:nNN { ##1 ##2 } ##3 + } + \__siunitx_number_process_scientific_large_loop:nNN { } #1 + \q_recursion_tail \q_recursion_stop + } \cs_new_protected:Npn \__siunitx_number_process_scientific_small:wn #1#2 \q_stop #3 { \__siunitx_number_process_scientific_aux_ii:nnn {#1} {#2} { #3 - 1 } } @@ -4217,7 +4222,9 @@ \AtBeginDocument { \cs_if_exist:NT \cancel { - \cs_set_eq:NN \__siunitx_cancel:n \cancel + \cs_set_protected:Npn \__siunitx_cancel:n #1 + { \__siunitx__real_cancel:n { \__siunitx_print:nn { unit } {#1} } } + \cs_set_eq:NN \__siunitx__real_cancel:n \cancel \seq_put_right:Nn \l__siunitx_declare_list_seq { \cancel } \cs_new_protected:cpn { __siunitx_ \token_to_str:N \cancel _function:w } @@ -4364,7 +4371,7 @@ \cs_new_protected:Npn \__siunitx_protect_symbols:N #1 { \cs_if_exist:NT #1 { - \__siunitx_cs_if_macro:NT #1 + \tl_if_empty:fT { \token_get_prefix_spec:N #1 } { \cs_set_protected:Npx #1 { \exp_not:V #1 } } } } @@ -4817,29 +4824,27 @@ { \__siunitx_unit_print_literal_aux:N ##1 } } \group_begin: - \char_set_lccode:nn { `\+ } { `\^ } \char_set_catcode_active:N \~ -\tl_to_lowercase:n - { - \group_end: - \cs_new_protected:Npn \__siunitx_unit_format_literal:n #1 - { - \int_zero:N \l__siunitx_unit_prefix_int - \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_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 { ^ } - { \__siunitx_unit_format_literal_power:n } - \tl_replace_all:Nnn \l__siunitx_unit_tl { + } - { \__siunitx_unit_format_literal_power:n } - } - \__siunitx_unit_format_literal_extras: - } - } + \cs_new_protected:Npn \__siunitx_unit_format_literal:n #1 + { + \int_zero:N \l__siunitx_unit_prefix_int + \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_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 { ^ } + { \__siunitx_unit_format_literal_power:n } + \tl_replace_all:Non \l__siunitx_unit_tl { \token_to_str:N ^ } + { \__siunitx_unit_format_literal_power:n } + } + \__siunitx_unit_format_literal_extras: + } +\group_end: \cs_new_protected:Npn \__siunitx_unit_print_literal_aux:N #1 { \cs_set_eq:Nc #1 { __siunitx_ \token_to_str:N #1 _literal:w } } \cs_new_protected:Npn \__siunitx_unit_format_literal_power:n #1 @@ -5840,7 +5845,7 @@ { \skip_horizontal:n { \c__siunitx_one_fill_skip - ##1 } \tex_kern:D \c_zero_skip - \hbox_set_inline_end: + \hbox_set_end: \__siunitx_table_colortbl_correction: } } @@ -6889,14 +6894,20 @@ text-micro = \c__siunitx_mu_tl , text-ohm = \ensuremath { \c__siunitx_omega_tl }, } -\cs_new_protected:Npn \__siunitx_symbol_new:n #1 { - \cs_set_protected:cpn { SIUnitSymbol #1 } - { - \mode_if_math:TF - { \tl_to_lowercase:n { \use:c { l__siunitx_ #1 _math_tl } } } - { \tl_to_lowercase:n { \use:c { l__siunitx_ #1 _text_tl } } } - } -} +\cs_new_protected:Npn \__siunitx_symbol_new:n #1 + { + \cs_set_protected:cpn { SIUnitSymbol #1 } + { + \use:c + { + l__siunitx_ + \str_fold_case:n {#1} + _ + \mode_if_math:TF { math } { text } + _tl + } + } + } \__siunitx_symbol_new:n { Angstrom } \__siunitx_symbol_new:n { Arcminute } \__siunitx_symbol_new:n { Arcsecond } @@ -7446,26 +7457,27 @@ \DeclareSIUnit \electronvolt { eV } \DeclareSIUnit \dalton { Da } \group_begin: - \char_set_lccode:nn { `\@ } { `\_ } - \char_set_catcode_math_subscript:N \@ -\tl_to_lowercase:n { - \group_end: - \DeclareSIUnit \clight { \text { \ensuremath { c @ { 0 } } } } - \DeclareSIUnit \electronmass - { \text { \ensuremath { m @ { \text { e } } } } } -} +\cs_set_eq:NN \endgroup \group_end: +\char_set_catcode_math_subscript:N \_ +\use:n + { + \endgroup + \DeclareSIUnit \clight { \text { \ensuremath { c _ { 0 } } } } + \DeclareSIUnit \electronmass + { \text { \ensuremath { m _ { \textup { e } } } } } + } \DeclareSIUnit \planckbar { \text { \ensuremath { \hbar } } } \DeclareSIUnit \elementarycharge { \text { \ensuremath { e } } } \group_begin: - \char_set_lccode:nn { `\@ } { `\_ } - \char_set_lccode:nn { `\E } { `\E } - \char_set_catcode_math_subscript:N \@ -\tl_to_lowercase:n { - \group_end: - \DeclareSIUnit \bohr { \text { \ensuremath { a @ { 0 } } } } - \DeclareSIUnit \hartree - { \text { \ensuremath { E @ { \textup { h } } } } } -} +\cs_set_eq:NN \endgroup \group_end: +\char_set_catcode_math_subscript:N \_ +\use:n + { + \endgroup + \DeclareSIUnit \bohr { \text { \ensuremath { a _ { 0 } } } } + \DeclareSIUnit \hartree + { \text { \ensuremath { E _ { \textup { h } } } } } + } \DeclareSIUnit \angstrom { \SIUnitSymbolAngstrom } \DeclareSIUnit \bar { bar } \DeclareSIUnit \barn { b } |