summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/siunitx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-08-19 22:20:10 +0000
committerKarl Berry <karl@freefriends.org>2015-08-19 22:20:10 +0000
commit2e431097750226d3b07e434a16a319574a5370ad (patch)
tree4f2470f5d8e8a639e72ac14554e55a3cd8685c79 /Master/texmf-dist/tex/latex/siunitx
parent4a6cd05140576229cbc491cdff4f700f5fb31f82 (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')
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx-binary.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx-version-1.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx.sty312
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 }