summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/siunitx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-09-14 20:25:36 +0000
committerKarl Berry <karl@freefriends.org>2021-09-14 20:25:36 +0000
commit1f21169c727289a07ebcdb4a049efc6457259558 (patch)
treef2e551d225d2f771589919d231e48df6b97bcc3a /Master/texmf-dist/tex/latex/siunitx
parent83422963871d3f8dcb7460e580122b33e78f77c0 (diff)
siunitx (14sep21)
git-svn-id: svn://tug.org/texlive/trunk@60510 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx')
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx.sty80
1 files changed, 53 insertions, 27 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
index 22386e3533c..6a65457e7ed 100644
--- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
+++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
@@ -28,10 +28,10 @@
\DeclareRelease{2}{2010-05-23}{siunitx-v2.sty}
\DeclareRelease{v2}{2010-05-23}{siunitx-v2.sty}
\DeclareCurrentRelease{}{2021-05-17}
-\@ifundefined{ExplFileDate}
+\@ifundefined{ExplLoaderFileDate}
{\RequirePackage{expl3}}
{}
-\@ifl@t@r\ExplFileDate{2020-01-09}
+\@ifl@t@r\ExplLoaderFileDate{2020-01-09}
{}
{%
\PackageError{siunitx}{Support package expl3 too old}
@@ -42,7 +42,7 @@
}%
\endinput
}%
-\ProvidesExplPackage {siunitx} {2021-09-06} {3.0.29}
+\ProvidesExplPackage {siunitx} {2021-09-14} {3.0.30}
{A comprehensive (SI) units package}
\msg_new:nnnn { siunitx } { incompatible-package }
{ Package~'#1'~incompatible. }
@@ -111,6 +111,7 @@
{ \exp_args:Ne \__siunitx_angle_arc_convert:n { \fp_eval:n {#1} } }
{
\siunitx_number_parse:nN {#1} \l__siunitx_angle_degrees_tl
+ \siunitx_number_process:NN \l__siunitx_angle_degrees_tl \l__siunitx_angle_degrees_tl
\tl_set:Nx \l__siunitx_angle_degrees_tl
{ \siunitx_number_output:NN \l__siunitx_angle_degrees_tl \q_nil }
\__siunitx_angle_arc_print:VVV
@@ -187,6 +188,8 @@
{
\tl_if_empty:cF { l__siunitx_angle_ ##1 _tl }
{
+ \exp_args:Ncc \siunitx_number_process:NN
+ { l__siunitx_angle_ ##1 _tl } { l__siunitx_angle_ ##1 _tl }
\tl_set:cx { l__siunitx_angle_ ##1 _tl }
{
\exp_args:Nc \siunitx_number_output:NN
@@ -3614,6 +3617,7 @@
uncertainty-separator =
}
\RequirePackage { amstext }
+\cs_new_eq:NN \__siunitx_print_ams_text:n \text
\RequirePackage { color }
\cs_generate_variant:Nn \tl_replace_all:Nnn { NV }
\tl_new:N \l__siunitx_print_tmp_tl
@@ -3709,6 +3713,7 @@
{ \tl_const:cn { c__siunitx_print_series_ #1 _tl } { m } }
\clist_map_inline:nn { l , m , b }
{ \tl_const:cn { c__siunitx_print_series_ #1 _tl } { #1 } }
+\tl_new:N \l__siunitx_print_math_html_tl
\cs_new_protected:Npn \siunitx_print_math:n #1
{
\bool_lazy_and:nnTF
@@ -3758,7 +3763,25 @@
}
\cs_generate_variant:Nn \__siunitx_print_math_version:nn { V }
\cs_new_protected:Npn \__siunitx_print_math_auxii:n #1
- { \ensuremath { \__siunitx_print_math_auxiii:n {#1} } }
+ {
+ \group_begin:
+ \cs_set_protected:Npn \text ##1
+ {
+ \cs_set_eq:NN \text \__siunitx_print_ams_text:n
+ \siunitx_print_text:n {##1}
+ }
+ \tl_set:Nn \l__siunitx_print_tmp_tl {#1}
+ \exp_after:wN \__siunitx_print_math_replace:Nn
+ \l__siunitx_print_math_html_tl
+ \q_recursion_tail { } \q_recursion_stop
+ \exp_args:NV \__siunitx_print_math_auxiii:n \l__siunitx_print_tmp_tl
+ \group_end:
+ }
+\cs_new_protected:Npn \__siunitx_print_math_replace:Nn #1#2
+ {
+ \quark_if_recursion_tail_stop:N #1
+ \tl_replace_all:Nnn \l__siunitx_print_tmp_tl {#1} {#2}
+ }
\cs_new_protected:Npn \__siunitx_print_math_auxiii:n #1
{
\bool_if:NTF \l__siunitx_print_math_family_bool
@@ -3766,8 +3789,8 @@
\str_case_e:nnF { \f@family }
{
{ \rmdefault } { \__siunitx_print_math_auxv:n }
- { \sfdefault } { \__siunitx_print_math_aux:Nn \mathsf }
- { \ttdefault } { \__siunitx_print_math_aux:Nn \mathtt }
+ { \sfdefault } { \__siunitx_print_math_auxix:Nn \mathsf }
+ { \ttdefault } { \__siunitx_print_math_auxix:Nn \mathtt }
}
{ \__siunitx_print_math_auxiv:n }
}
@@ -3778,7 +3801,7 @@
{
\bool_if:NTF \l__siunitx_print_math_font_bool
{
- \__siunitx_print_math_aux:N
+ \__siunitx_print_math_auxvii:N
\mathbf \mathit \mathsf \mathtt
\q_recursion_tail \q_recursion_stop
}
@@ -3790,24 +3813,26 @@
\bool_lazy_or:nnTF
{ \int_compare_p:nNn \fam = { -1 } }
{ \int_compare_p:nNn \fam = \symoperators }
- { \use:n }
- { \mathrm }
+ { \__siunitx_print_math_ensure:n }
+ { \__siunitx_print_math_auxvi:Nn \mathrm }
{#1}
}
-\cs_new_protected:Npn \__siunitx_print_math_aux:N #1
+\cs_new_protected:Npn \__siunitx_print_math_auxvi:Nn #1#2
+ { \__siunitx_print_math_ensure:n { #1 {#2} } }
+\cs_new_protected:Npn \__siunitx_print_math_auxvii:N #1
{
- \quark_if_recursion_tail_stop_do:Nn #1 { \use:n }
- \exp_after:wN \exp_after:wN \exp_after:wN \__siunitx_print_math_aux:w
+ \quark_if_recursion_tail_stop_do:Nn #1 { \__siunitx_print_math_auxv:n }
+ \exp_after:wN \exp_after:wN \exp_after:wN \__siunitx_print_math_auxviii:w
\cs:w \cs_to_str:N #1 \c_space_tl \cs_end:
\use@mathgroup ? { -2 } \q_stop #1
}
-\cs_new_protected:Npn \__siunitx_print_math_aux:w #1 \use@mathgroup #2#3 #4 \q_stop #5
+\cs_new_protected:Npn \__siunitx_print_math_auxviii:w #1 \use@mathgroup #2#3 #4 \q_stop #5
{
\int_compare:nNnTF \fam = {#3}
- { \use_i_delimit_by_q_recursion_stop:nw { \__siunitx_print_math_aux:Nn #5 } }
- { \__siunitx_print_math_aux:N }
+ { \use_i_delimit_by_q_recursion_stop:nw { \__siunitx_print_math_auxix:Nn #5 } }
+ { \__siunitx_print_math_auxvii:N }
}
-\cs_new_protected:Npx \__siunitx_print_math_aux:Nn #1#2
+\cs_new_protected:Npx \__siunitx_print_math_auxix:Nn #1#2
{
\group_begin:
\tl_set:Nn \exp_not:N \l__siunitx_print_tmp_tl {#2}
@@ -3818,10 +3843,10 @@
\tl_replace_all:Nnn \exp_not:N \l__siunitx_print_tmp_tl
{ ^ }
{ \exp_not:N \__siunitx_print_math_super:n }
- #1 { \exp_not:N \tl_use:N \exp_not:N \l__siunitx_print_tmp_tl }
+ \exp_not:N \exp_args:NNV \__siunitx_print_math_auxvi:Nn
+ #1 \exp_not:N \l__siunitx_print_tmp_tl
\group_end:
}
-\cs_generate_variant:Nn \__siunitx_print_math_aux:Nn { c }
\cs_new_protected:Npx \__siunitx_print_math_sub:n #1
{
\char_generate:nn { `\_ } { 8 }
@@ -3837,18 +3862,19 @@
\tl_use:N \l__siunitx_print_tmp_tl
\group_end:
}
-\AtBeginDocument
+\cs_new_protected:Npn \__siunitx_print_math_ensure:n #1
{
- \@ifpackageloaded { tex4ht }
+ \tl_if_blank:nF {#1}
{
- \cs_set_protected:Npn \__siunitx_print_math_auxii:n #1
- {
- \tl_set:Nn \l__siunitx_print_tmp_tl {#1}
- \exp_args:NNnx \tl_replace_all:Nnn \l__siunitx_print_tmp_tl
- { ^ } { \token_to_str:N ^ }
- \ensuremath { \exp_args:NV \__siunitx_print_math_auxiii:n \l__siunitx_print_tmp_tl }
- }
+ \mode_if_math:TF
+ {#1}
+ { $ #1 $ }
}
+ }
+\AtBeginDocument
+ {
+ \@ifpackageloaded { tex4ht }
+ { \tl_set:Nx \l__siunitx_print_math_html_tl { ^ { \token_to_str:N ^ } } }
{ }
}
\cs_new_protected:Npn \siunitx_print_text:n #1