summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/siunitx
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-06-17 20:36:43 +0000
committerKarl Berry <karl@freefriends.org>2021-06-17 20:36:43 +0000
commitf02598b65001239577c257d86bef00d4e12881af (patch)
tree617aaa8e5c97835a2350965ddecf83cda47cef30 /Master/texmf-dist/tex/latex/siunitx
parent75aa1b8146b789463ab2404d05cf861f64b44170 (diff)
siunitx (17jun21)
git-svn-id: svn://tug.org/texlive/trunk@59614 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx')
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx.sty163
1 files changed, 101 insertions, 62 deletions
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: