summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/siunitx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-05-28 20:51:02 +0000
committerKarl Berry <karl@freefriends.org>2021-05-28 20:51:02 +0000
commitbd912649ca172469f47040b69c5544b32f1fc51d (patch)
treeac50791f8f92f43ba02a096cf76b8cd7b094ac0e /Master/texmf-dist/tex/latex/siunitx
parentdf2ada0a8a0fa12f8ef00506ad04461a11cc8c90 (diff)
siunitx (28may21)
git-svn-id: svn://tug.org/texlive/trunk@59381 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx')
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx.sty221
1 files changed, 104 insertions, 117 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
index 977f56d9efd..7c0d3387b3a 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-05-25} {3.0.6}
+\ProvidesExplPackage {siunitx} {2021-05-28} {3.0.7}
{A comprehensive (SI) units package}
\msg_new:nnnn { siunitx } { incompatible-package }
{ Package~'#1'~incompatible. }
@@ -2986,6 +2986,8 @@
\l__siunitx_number_output_uncert_close_tl ,
output-decimal-marker .tl_set:N =
\l_siunitx_number_output_decimal_tl ,
+ output-exponent-marker .tl_set:N =
+ \l__siunitx_number_output_exp_marker_tl ,
output-open-uncertainty .tl_set:N =
\l__siunitx_number_output_uncert_open_tl ,
print-implicit-plus .bool_set:N =
@@ -3323,31 +3325,46 @@
{ \l__siunitx_number_zero_exponent_bool }
{ ! \str_if_eq_p:nn {#2} { 0 } }
{
- \bool_lazy_and:nnTF
- { \str_if_eq_p:nn {#3} { 1. } }
- { ! \l__siunitx_number_unity_mantissa_bool }
- { \exp_not:n {#4} }
- {
- \bool_if:NTF \l__siunitx_number_tight_bool
- { \exp_not:N \mathord }
- { \use:n }
- { \exp_not:V \l__siunitx_number_exponent_product_tl }
- \exp_not:n {#4}
- }
- \exp_not:V \l__siunitx_number_exponent_base_tl
- ^
- {
- \tl_if_blank:nTF {#1}
- {
- \bool_if:NT \l__siunitx_number_implicit_plus_bool
- { \__siunitx_number_output_sign:N + }
- }
- { \__siunitx_number_output_sign:N #1 }
- \__siunitx_number_output_digits:nn { integer } {#2}
- }
+ \tl_if_empty:NTF \l__siunitx_number_output_exp_marker_tl
+ { \__siunitx_number_output_exponent_auxi:nnnn }
+ { \__siunitx_number_output_exponent_auxii:nnnn }
+ {#1} {#2} {#3} {#4}
}
{ \exp_not:n {#4} }
}
+\cs_new:Npn \__siunitx_number_output_exponent_auxi:nnnn #1#2#3#4
+ {
+ \bool_lazy_and:nnTF
+ { \str_if_eq_p:nn {#3} { 1. } }
+ { ! \l__siunitx_number_unity_mantissa_bool }
+ { \exp_not:n {#4} }
+ {
+ \bool_if:NTF \l__siunitx_number_tight_bool
+ { \exp_not:N \mathord }
+ { \use:n }
+ { \exp_not:V \l__siunitx_number_exponent_product_tl }
+ \exp_not:n {#4}
+ }
+ \exp_not:V \l__siunitx_number_exponent_base_tl
+ ^
+ { \__siunitx_number_output_exponent_auxiii:nn {#1} {#2} }
+ }
+\cs_new:Npn \__siunitx_number_output_exponent_auxii:nnnn #1#2#3#4
+ {
+ \exp_not:n {#4}
+ \exp_not:V \l__siunitx_number_output_exp_marker_tl
+ \__siunitx_number_output_exponent_auxiii:nn {#1} {#2}
+ }
+\cs_new:Npn \__siunitx_number_output_exponent_auxiii:nn #1#2
+ {
+ \tl_if_blank:nTF {#1}
+ {
+ \bool_if:NT \l__siunitx_number_implicit_plus_bool
+ { \__siunitx_number_output_sign:N + }
+ }
+ { \__siunitx_number_output_sign:N #1 }
+ \__siunitx_number_output_digits:nn { integer } {#2}
+ }
\cs_new:Npn \__siunitx_number_output_end: { }
\tl_new:N \l__siunitx_number_valid_tl
\prg_new_protected_conditional:Npnn \siunitx_if_number:n #1
@@ -3733,6 +3750,10 @@
{ \exp_not:n { \ensuremath { \mp } } }
-
{ \exp_not:N \textminus }
+ \exp_not:N \times
+ { \exp_not:N \texttimes }
+ \exp_not:N \cdot
+ { \exp_not:N \textperiodcentered }
\char_generate:nn { `\_ } { 8 }
{ \exp_not:N \__siunitx_print_text_sub:n }
^
@@ -4936,63 +4957,71 @@
\cs_new_protected:Npn \__siunitx_unit_format_literal_auxiii:w #1 /
{
\quark_if_recursion_tail_stop:n {#1}
- \__siunitx_unit_format_literal_auxiv:w #1 ^ ^ \q_stop
+ \__siunitx_unit_format_literal_auxiv:n {#1}
\tl_set:Nn \l__siunitx_unit_separator_tl { / }
\__siunitx_unit_format_literal_auxiii:w
}
-\use:x
+\cs_new_protected:Npn \__siunitx_unit_format_literal_auxiv:n #1
+ {
+ \__siunitx_unit_format_literal_auxv:nw { }
+ #1 \q_recursion_tail \q_recursion_stop
+ }
+\cs_new_protected:Npn \__siunitx_unit_format_literal_auxv:nw
+ #1#2 \q_recursion_stop
{
- \cs_new_protected:Npn \exp_not:N \__siunitx_unit_format_literal_auxiv:w
- ##1 ^ ##2 ^ ##3 \exp_not:N \q_stop
+ \tl_if_head_is_N_type:nTF {#2}
+ { \__siunitx_unit_format_literal_auxvi:nN }
+ { \__siunitx_unit_format_literal_auxvii:nn }
+ {#1} #2 \q_recursion_stop
+ }
+\cs_new_protected:Npx \__siunitx_unit_format_literal_auxvi:nN #1#2
+ {
+ \exp_not:N \quark_if_recursion_tail_stop_do:Nn #2
+ { \exp_not:N \__siunitx_unit_format_literal_add:n {#1} }
+ \exp_not:N \token_if_eq_meaning:NNTF #2 ^
+ { \exp_not:N \__siunitx_unit_format_literal_super:nn {#1} }
{
- \exp_not:N \__siunitx_unit_format_literal_auxv:w
- ##1
- \c__siunitx_unit_math_subscript_tl
- \c__siunitx_unit_math_subscript_tl
- \exp_not:N \q_mark
- ##2
- \c__siunitx_unit_math_subscript_tl
- \c__siunitx_unit_math_subscript_tl
- \exp_not:N \q_stop
+ \exp_not:N \token_if_eq_meaning:NNTF
+ #2 \c__siunitx_unit_math_subscript_tl
+ { \exp_not:N \__siunitx_unit_format_literal_sub:nn {#1} }
+ { \exp_not:N \__siunitx_unit_format_literal_auxvi:nN {#1#2} }
}
- \cs_new_protected:Npn \exp_not:N \__siunitx_unit_format_literal_auxv:w
- ##1 \c__siunitx_unit_math_subscript_tl
- ##2 \c__siunitx_unit_math_subscript_tl ##3
- \exp_not:N \q_mark
- ##4 \c__siunitx_unit_math_subscript_tl
- ##5 \c__siunitx_unit_math_subscript_tl ##6
- \exp_not:N \q_stop
+ }
+\cs_new_protected:Npn \__siunitx_unit_format_literal_super:nn #1#2
+ {
+ \quark_if_recursion_tail_stop:n {#2}
+ \__siunitx_unit_format_literal_add:n {#1}
+ \tl_put_right:Nn \l__siunitx_unit_formatted_tl { ^ {#2} }
+ \__siunitx_unit_format_literal_auxvi:nN { }
+ }
+\cs_new_protected:Npx \__siunitx_unit_format_literal_sub:nn #1#2
+ {
+ \exp_not:N \quark_if_recursion_tail_stop:n {#2}
+ \exp_not:N \__siunitx_unit_format_literal_add:n {#1}
+ \tl_put_right:Nx \exp_not:N \l__siunitx_unit_formatted_tl
{
- \tl_set:Nx \exp_not:N \l__siunitx_unit_formatted_tl
+ \c__siunitx_unit_math_subscript_tl
{
\exp_not:N \exp_not:V
- \exp_not:N \l__siunitx_unit_formatted_tl
- \exp_not:N \tl_if_empty:NF
- \exp_not:N \l__siunitx_unit_formatted_tl
- {
- \exp_not:N \exp_not:V
- \exp_not:N \l__siunitx_unit_separator_tl
- }
- \exp_not:N \tl_if_blank:nF {##1}
- {
- \exp_not:N \exp_not:V
- \exp_not:N \l_siunitx_unit_font_tl
- { \exp_not:N \exp_not:n {##1} }
- }
- \exp_not:N \tl_if_blank:nF {##4}
- { ^ { \exp_not:N \exp_not:n {##4} } }
- \exp_not:N \tl_if_blank:nF {##2##5}
- {
- \c__siunitx_unit_math_subscript_tl
- {
- \exp_not:N \exp_not:V
- \exp_not:N \l_siunitx_unit_font_tl
- { \exp_not:N \exp_not:n {##2##5} }
- }
- }
+ \exp_not:N \l_siunitx_unit_font_tl
+ { \exp_not:N \exp_not:n {#2} }
}
}
+ \exp_not:N \__siunitx_unit_format_literal_auxvi:nN { }
+ }
+\cs_new_protected:Npn \__siunitx_unit_format_literal_add:n #1
+ {
+ \tl_put_right:Nx \l__siunitx_unit_formatted_tl
+ {
+ \tl_if_empty:NF \l__siunitx_unit_formatted_tl
+ { \exp_not:V \l__siunitx_unit_separator_tl }
+ \tl_if_empty:nF {#1}
+ { \exp_not:V \l_siunitx_unit_font_tl { \exp_not:n {#1} } }
+ }
+ \tl_clear:N \l__siunitx_unit_separator_tl
}
+\cs_new_protected:Npn \__siunitx_unit_format_literal_auxvii: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:
{
@@ -6116,54 +6145,6 @@
}
}
}
-\keys_set:nn { siunitx }
- { product-symbol = \ifmmode \times \else \texttimes \fi }
-\AtBeginDocument
- {
- \group_begin:
- \tl_set:Nn \l__siunitx_symbol_tmpa_tl
- { { } { } { 2 } { } { } { } { 1 } }
- \tl_set:Nx \l__siunitx_symbol_tmpa_tl
- { \siunitx_number_output:N \l__siunitx_symbol_tmpa_tl }
- \tl_set:Nn \l__siunitx_symbol_tmpb_tl { 2 \times 10 ^ { 1 } }
- \tl_if_eq:NNTF \l__siunitx_symbol_tmpa_tl \l__siunitx_symbol_tmpb_tl
- {
- \group_end:
- \keys_set:nn { siunitx }
- {
- exponent-product =
- \ifmmode \times \else \texttimes \fi
- }
- }
- {
- \tl_set:Nn \l__siunitx_symbol_tmpb_tl { 2 \cdot 10 ^ { 1 } }
- \tl_if_eq:NNTF \l__siunitx_symbol_tmpa_tl \l__siunitx_symbol_tmpb_tl
- {
- \group_end:
- \keys_set:nn { siunitx }
- {
- exponent-product =
- \ifmmode \cdot \else \textperiodcentered \fi
- }
- }
- { \group_end: }
- }
- \group_begin:
- \keys_set:nn { siunitx } { forbid-literal-units = false }
- \tl_set:Nn \l__siunitx_symbol_tmpa_tl { \mathrm { m } \cdot \mathrm { s } }
- \tl_set:Nn \l_siunitx_unit_font_tl { \mathrm }
- \siunitx_unit_format:nN { m . s } \l__siunitx_symbol_tmpb_tl
- \tl_if_eq:NNTF \l__siunitx_symbol_tmpa_tl \l__siunitx_symbol_tmpb_tl
- {
- \group_end:
- \keys_set:nn { siunitx }
- {
- inter-unit-product =
- \ifmmode \cdot \else \textperiodcentered \fi
- }
- }
- { \group_end: }
- }
\AtBeginDocument
{
\@ifpackageloaded { hyperref }
@@ -6404,7 +6385,13 @@
{#1}
}
\cs_generate_variant:Nn \__siunitx_option_removed:n { V }
-\clist_map_inline:nn { abbreviations , binary-units , version-1-compatibility }
+\clist_map_inline:nn
+ {
+ abbreviations ,
+ binary-units ,
+ load-configurations ,
+ version-1-compatibility
+ }
{
\keys_define:nn { siunitx } { #1 .code:n = \__siunitx_option_removed:n {#1} }
}