summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/siunitx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/siunitx')
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md21
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin1499904 -> 1510786 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx184
-rw-r--r--macros/latex/contrib/siunitx/siunitx-print.dtx6
-rw-r--r--macros/latex/contrib/siunitx/siunitx-print.pdfbin484555 -> 0 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx67
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.dtx11
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.pdfbin627332 -> 0 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin636250 -> 636202 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex4
11 files changed, 253 insertions, 42 deletions
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 87f73526de..d02f959416 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,24 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.0.25]
+
+### Changed
+- Default to sanserif units if `\familydefault` is `\sfdefault`
+ (issue [#516](https://github.com/josephwright/siunitx/issues/516))
+
+### Fixed
+- Rounding to an uncertainty of the same magnitude as the
+ value (issue
+ [#524](https://github.com/josephwright/siunitx/issues/524))
+- Extend `propogate-math-font` to cover `\mathbf` and `\mathit`
+ (issue [#525](https://github.com/josephwright/siunitx/issues/525))
+- Position of non-aligned non-numeric material in table cells when
+ centering decimal marker (issue
+ [#526](https://github.com/josephwright/siunitx/issues/526))
+- Treatment of multiple tokens for `input-ignore` (issue
+ [#531](https://github.com/josephwright/siunitx/issues/531))
+
## [v3.0.24]
### Fixed
@@ -1521,7 +1539,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.24...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.25...HEAD
+[v3.0.25]: https://github.com/josephwright/siunitx/compare/v3.0.24...v3.0.25
[v3.0.24]: https://github.com/josephwright/siunitx/compare/v3.0.23...v3.0.24
[v3.0.23]: https://github.com/josephwright/siunitx/compare/v3.0.22...v3.0.23
[v3.0.22]: https://github.com/josephwright/siunitx/compare/v3.0.21...v3.0.22
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index c0a7e9b1fe..6e575cff02 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 38db10d71b..924aaa3b0f 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -807,6 +807,11 @@
{
\group_begin:
\tl_clear:N \l_@@_parsed_tl
+ \tl_map_inline:Nn \l_@@_input_ignore_tl
+ {
+ \token_if_macro:NT ##1
+ { \cs_set_eq:NN ##1 \scan_stop: }
+ }
\protected@edef \l_@@_arg_tl
{
\bool_if:NTF \l_@@_expression_bool
@@ -815,9 +820,8 @@
}
\tl_set_eq:NN \l_@@_input_tl \l_@@_arg_tl
\siunitx_number_normalize_symbols:N \l_@@_arg_tl
- \protected@edef \l_@@_input_ignore_tl { \l_@@_input_ignore_tl }
- \tl_if_empty:NF \l_@@_input_ignore_tl
- { \tl_remove_all:NV \l_@@_arg_tl \l_@@_input_ignore_tl }
+ \tl_map_inline:Nn \l_@@_input_ignore_tl
+ { \tl_remove_all:Nn \l_@@_arg_tl {##1} }
\tl_if_empty:NF \l_@@_arg_tl
{ \@@_parse_comparator: }
\@@_parse_check:
@@ -2201,6 +2205,9 @@
% \begin{macro}[EXP]{\@@_round_auxvi:nN}
% \begin{macro}[EXP]{\@@_round_auxvii:nnN, \@@_round_auxviii:nnN}
% \begin{macro}[EXP]{\@@_round_final_integer:nnw, \@@_round_final_decimal:nnw}
+% \begin{macro}[EXP]{\@@_round_final_signicant:n}
+% \begin{macro}[EXP]{\@@_round_final_signicant:N}
+% \begin{macro}[EXP]{\@@_round_final_signicant:w}
% \begin{macro}[EXP]{\@@_round_final_output:nn, \@@_round_final_output:ff}
% \begin{macro}[EXP]{\@@_round_final:nn, \@@_round_final:fn}
% \begin{macro}[EXP]{\@@_round_final_shift:nn, \@@_round_final_shift:ff}
@@ -2259,7 +2266,10 @@
% one of which deals with the integer. In the latter, we should never hit
% the end before we've dropped all the digits: the fixed-zero is a
% fall-back in case something weird happens. For the integer case, we need
-% to collect up zeros to pad the length back out correctly later.
+% to collect up zeros to pad the length back out correctly later. We also
+% have to cover the case where we round to exactly place above the length
+% of the integer: that may product a value of $1\dots$: we tidy up the
+% case where it comes out as $0$ later.
% \begin{macrocode}
\cs_new:Npn \@@_round_auxiii:nnnN #1#2#3#4
{
@@ -2278,13 +2288,20 @@
\cs_new:Npn \@@_round_auxiv:nnnN #1#2#3#4
{
\quark_if_recursion_tail_stop_do:Nn #4
- { { 0 } { } }
+ {
+ \int_compare:nNnTF {#1} = 0
+ {
+ \@@_round_auxvi:nnN {#3} {#2}
+ 0 \q_recursion_tail \q_recursion_stop
+ }
+ { { 0 } { } }
+ }
\int_compare:nNnTF {#1} > 0
{
\exp_args:Nf \@@_round_auxiv:nnnN
{ \int_eval:n { #1 - 1 } } { #2 0 } { #4#3 }
}
- { \@@_round_auxvi:nnnN {#3} {#2} #4 }
+ { \@@_round_auxvi:nnN {#3} {#2} #4 }
}
% \end{macrocode}
% The lead off to rounding proper needs to deal with the half-even rule:
@@ -2312,7 +2329,7 @@
{ \@@_round_auxvii:nnN }
{#2} { } #3
}
-\cs_new:Npn \@@_round_auxvi:nnnN #1#2#3
+\cs_new:Npn \@@_round_auxvi:nnN #1#2#3
{
\quark_if_recursion_tail_stop_do:Nn #3
{ { 0 } { } }
@@ -2409,9 +2426,27 @@
#1#2#3 \q_recursion_tail \q_recursion_stop
{
\@@_round_final_output:ff
- { \tl_reverse:n {#3} #2 }
+ { \exp_args:Ne \@@_round_final_significant:n { \tl_reverse:n {#3} #2 } }
{#1}
}
+\cs_new:Npn \@@_round_final_significant:n #1
+ {
+ \@@_round_final_significant:N #1
+ \q_recursion_tail \q_recursion_stop
+ }
+\cs_new:Npn \@@_round_final_significant:N #1
+ {
+ \quark_if_recursion_tail_stop_do:Nn #1 { 0 }
+ \int_compare:nNnTF {#1} = 0
+ { \@@_round_final_significant:N }
+ {
+ #1
+ \@@_round_final_significant:w
+ }
+ }
+\cs_new:Npn \@@_round_final_significant:w
+ #1 \q_recursion_tail \q_recursion_stop
+ {#1}
\cs_new:Npn \@@_round_final_output:nn #1#2 { {#1} {#2} }
\cs_generate_variant:Nn \@@_round_final_output:nn { ff }
\cs_new:Npn \@@_round_final:nn #1#2
@@ -2442,7 +2477,6 @@
\int_compare:nNnTF { \tl_count:n {#1} } = 4
{
\@@_round_engineering:NNNNn #1 {#2}
- { }
\@@_round_final_shift:Nw 3
}
{ {#1} {#2} }
@@ -2467,11 +2501,13 @@
{
\@@_exponent_shift:nnf
{ 1 } {#1} { \@@_round_truncate_direct:n {#2} }
- { }
\@@_round_final_shift:Nw 1
}
-\cs_new:Npn \@@_round_final_shift:Nw #1#2 \@@_round_places_end:nn #3#4
- { \@@_exponent_finalise:n { #3#4 + #1 } }
+\cs_new:Npn \@@_round_final_shift:Nw #1#2 \@@_round_places_end:nnn #3#4#5
+ {
+ \exp_not:n { {#3} }
+ \@@_exponent_finalise:n { #4#5 + #1 }
+ }
% \end{macrocode}
% When we have rounded up to the next power of ten, we need to go back and
% remove one more digit. That only happens when rounding to a number of
@@ -2509,6 +2545,9 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}[EXP]{\@@_round_if_half_p:n}
% \begin{macro}[EXP]{\@@_round_if_half:N}
@@ -2622,7 +2661,7 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_round_places:nnnnnnn}
-% \begin{macro}[EXP]{\@@_round_places_end:nn}
+% \begin{macro}[EXP]{\@@_round_places_end:nnn}
% \begin{macro}[EXP]{\@@_round_places_decimal:nn, \@@_round_places_integer:nn}
% \begin{macro}[EXP]{\@@_round_places_finalise:n}
% \begin{macro}[EXP]{\@@_round_places_finalise:nnnnnnn}
@@ -2644,12 +2683,12 @@
{ \@@_round_places_decimal:nn }
{ \@@_round_places_integer:nn }
{#3} {#4}
- \@@_round_places_end:nn {#6} {#7}
+ \@@_round_places_end:nnn { } {#6} {#7}
}
}
{ \exp_not:n { {#1} {#2} {#3} {#4} {#5} {#6} {#7} } }
}
-\cs_new:Npn \@@_round_places_end:nn #1#2 { { } \exp_not:n { {#1} {#2} } }
+\cs_new:Npn \@@_round_places_end:nnn #1#2#3 { \exp_not:n { {#1} {#2} {#3} } }
\cs_new:Npn \@@_round_places_decimal:nn #1#2
{
\int_compare:nNnTF
@@ -2724,9 +2763,26 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_round_uncertainty:nnnnnnn}
+% \begin{macro}[EXP]{\@@_round_uncertainty_end:nn}
% \begin{macro}[EXP]{\@@_round_uncertainty:nnn}
% \begin{macro}[EXP]{\@@_round_uncertainty:nnnnn, \@@_round_uncertainty_aux:nnnnn}
% \begin{macro}[EXP]{\@@_round_uncertainty_aux:nnnnnn}
+% \begin{macro}[EXP]{\@@_round_uncertainty_shift:nn}
+% \begin{macro}[EXP]{\@@_round_uncertainty_shift:nnnw}
+% \begin{macro}[EXP]{\@@_round_uncertainty_shift:nnnn}
+% \begin{macro}[EXP]
+% {
+% \@@_round_uncertainty_engineering:nnn ,
+% \@@_round_uncertainty_fixed:nnn ,
+% \@@_round_uncertainty_input:nnn ,
+% \@@_round_uncertainty_scientific:nnn
+% }
+% \begin{macro}[EXP]
+% {
+% \@@_round_uncertainty_engineering_2:n ,
+% \@@_round_uncertainty_engineering_3:n ,
+% \@@_round_uncertainty_engineering_4:n
+% }
% Rounding to an uncertainty can only happen where the result will have some
% uncertainty left: otherwise we simply drop the uncertainty entirely. Only
% |S|-type uncertainties can be used for rounding.
@@ -2736,18 +2792,20 @@
\bool_lazy_or:nnTF
{ \tl_if_blank_p:n {#5} }
{ ! \int_compare_p:nNn \l_@@_round_precision_int > 0 }
- { \exp_not:n { {#1} #2 {#3} {#4} { } #6 {#7} } }
+ { \exp_not:n { {#1} {#2} {#3} {#4} { } {#6} {#7} } }
{
\str_if_eq:eeTF { \tl_head:n {#5} } { S }
{
\exp_not:n { {#1} {#2} }
\exp_args:Nnno \@@_round_uncertainty:nnn
{#3} {#4} { \use_ii:nn #5 }
- \exp_not:n { {#6} {#7} }
+ \@@_round_uncertainty_end:nn {#6} {#7}
}
{ \exp_not:n { {#1} {#2} {#3} {#4} {#5} {#6} {#7} } }
}
}
+\cs_new:Npn \@@_round_uncertainty_end:nn #1#2
+ { \exp_not:n { {#1} {#2} } }
% \end{macrocode}
% Round the uncertainty first: this is needed to get the number of places
% correct (for the case where the uncertainty rounds up to |1...|). Once that
@@ -2796,13 +2854,97 @@
{ { S } { #4 #1 } }
}
{
- \@@_round:fnn
- { \int_eval:n { #2 + 1 } }
- {#5} {#6}
- { { S } { #3 \@@_round_truncate_direct:n {#4} #1 } }
+ \exp_args:Ne \@@_round_uncertainty_shift:nn
+ {
+ \@@_round:fnn
+ { \int_eval:n { #2 + 1 } }
+ {#5} {#6}
+ }
+ { { S } { #3 #1 } }
}
}
% \end{macrocode}
+% We now have to clear up the exponent, plus deal with the case where
+% rounding has resulted in the entire value being uncertain (|1(1)| with
+% some exponent). The latter shows up if the uncertainty is too long or if
+% we match a specific pattern.
+% \begin{macrocode}
+\cs_new:Npn \@@_round_uncertainty_shift:nn #1#2
+ { \@@_round_uncertainty_shift:nnnw #1 {#2} }
+\cs_new:Npn \@@_round_uncertainty_shift:nnnw
+ #1#2#3 #4 \@@_round_uncertainty_end:nn #5#6
+ {
+ #4
+ \bool_lazy_and:nnTF
+ {
+ \int_compare_p:nNn
+ { \tl_count:o { \use_ii:nn #3 } } = \l_@@_round_precision_int
+ }
+ {
+ ! \str_if_eq_p:nn { {#1} {#2} {#3} } { { 10 } { } { { S } { 1 } } }
+ }
+ {
+ \use:c
+ { @@_round_ \l_@@_exponent_mode_tl :nn }
+ {#1} {#2}
+ \@@_round_places_end:nnn {#3} {#5} {#6}
+ }
+ {
+ \use:c
+ { @@_round_uncertainty_ \l_@@_exponent_mode_tl :nnn }
+ {#1} {#5} {#6}
+ }
+ }
+% \end{macrocode}
+% With the data available, adjust the output such that the uncertainty
+% is of the right length.
+% \begin{macrocode}
+\cs_new:Npn \@@_round_uncertainty_engineering:nnn #1#2#3
+ {
+ \use:c
+ {
+ @@_round_uncertainty_
+ \l_@@_exponent_mode_tl _
+ \tl_count:n {#1}
+ :n
+ }
+ {#2#3}
+ }
+\cs_new:cpn { @@_round_uncertainty_engineering_2:n } #1
+ {
+ { 10 } { } { { S } { 10 } }
+ \@@_exponent_finalise:n {#1}
+ }
+\cs_new:cpn { @@_round_uncertainty_engineering_3:n } #1
+ {
+ { 100 } { } { { S } { 100 } }
+ \@@_exponent_finalise:n {#1}
+ }
+\cs_new:cpn { @@_round_uncertainty_engineering_4:n } #1
+ {
+ { 1 } { } { { S } { 1 } }
+ \@@_exponent_finalise:n { #1 + 3 }
+ }
+\cs_new:Npn \@@_round_uncertainty_fixed:nnn #1#2#3
+ {
+ {#1} { }
+ { { S } { 1 \prg_replicate:nn { \tl_count:n {#1} - 1 } { 0 } } }
+ {#2} {#3}
+ }
+\cs_new_eq:NN \@@_round_uncertainty_input:nnn
+ \@@_round_uncertainty_fixed:nnn
+\cs_new:Npn \@@_round_uncertainty_scientific:nnn #1#2#3
+ {
+ { 1 } { } { { S } { 1 } }
+ \@@_exponent_finalise:n { #2#3 + \tl_count:n {#1} - 1 }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/siunitx/siunitx-print.dtx b/macros/latex/contrib/siunitx/siunitx-print.dtx
index 25acdd306b..a38edf5c55 100644
--- a/macros/latex/contrib/siunitx/siunitx-print.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-print.dtx
@@ -627,7 +627,11 @@
\cs_new_protected:Npn \@@_math_auxiv:n #1
{
\bool_if:NTF \l_@@_math_font_bool
- { \@@_math_aux:N \mathsf \mathtt \q_recursion_tail \q_recursion_stop }
+ {
+ \@@_math_aux:N
+ \mathbf \mathit \mathsf \mathtt
+ \q_recursion_tail \q_recursion_stop
+ }
{ \@@_math_auxv:n }
{#1}
}
diff --git a/macros/latex/contrib/siunitx/siunitx-print.pdf b/macros/latex/contrib/siunitx/siunitx-print.pdf
deleted file mode 100644
index e1a77edadf..0000000000
--- a/macros/latex/contrib/siunitx/siunitx-print.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index 64ef013e17..75a5a7f011 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -736,7 +736,8 @@
% When centering on the decimal marker, the easiest approach is to simply
% re-box the two parts. That is needed whether or not we are parsing numbers,
% so is best as a short auxiliary. Notice that we need to allow for the width
-% of the decimal marker itself.
+% of the decimal marker itself. When not aligning non-numerical material, we
+% put the extra space into the boxes around the number.
% \begin{macrocode}
\cs_new_protected:Npn \@@_center_marker:
{
@@ -750,26 +751,53 @@
- \box_wd:N \l_@@_tmp_box
}
{
- \hbox_set_to_wd:Nnn \l_@@_decimal_box
+ \bool_if:NTF \l_@@_align_after_bool
{
- \box_wd:N \l_@@_integer_box
- + \box_wd:N \l_@@_tmp_box
- }
- {
- \hbox_unpack:N \l_@@_decimal_box
- \@@_fil:
- }
+ \@@_center_marker_aux:Nnnn \l_@@_decimal_box
+ {
+ \box_wd:N \l_@@_integer_box
+ + \box_wd:N \l_@@_tmp_box
+ }
+ }
+ {
+ \@@_center_marker_aux:Nnnn \l_@@_after_box
+ {
+ \box_wd:N \l_@@_after_box
+ + \box_wd:N \l_@@_integer_box
+ - \box_wd:N \l_@@_decimal_box
+ + \box_wd:N \l_@@_tmp_box
+ }
+ }
+ { } { \@@_fil: }
}
{
- \hbox_set_to_wd:Nnn \l_@@_integer_box
+ \bool_if:NTF \l_@@_align_before_bool
{
- \box_wd:N \l_@@_decimal_box
- - \box_wd:N \l_@@_tmp_box
+ \@@_center_marker_aux:Nnnn \l_@@_integer_box
+ {
+ \box_wd:N \l_@@_decimal_box
+ - \box_wd:N \l_@@_tmp_box
+ }
}
{
- \@@_fil:
- \hbox_unpack:N \l_@@_integer_box
+ \@@_center_marker_aux:Nnnn \l_@@_before_box
+ {
+ \box_wd:N \l_@@_before_box
+ + \box_wd:N \l_@@_decimal_box
+ - \box_wd:N \l_@@_integer_box
+ - \box_wd:N \l_@@_tmp_box
+ }
}
+ { \@@_fil: } { }
+ }
+ }
+\cs_new_protected:Npn \@@_center_marker_aux:Nnnn #1#2#3#4
+ {
+ \hbox_set_to_wd:Nnn #1 {#2}
+ {
+ #3
+ \hbox_unpack:N #1
+ #4
}
}
% \end{macrocode}
@@ -967,10 +995,17 @@
\c_math_toggle_token
\l_siunitx_number_output_decimal_tl
}
+% \end{macrocode}
+% We set the two alignment booleans here so that a single auxiliary can
+% cover this case as well as the one for centering the marker when also
+% parsing.
+% \begin{macrocode}
\cs_new_protected:Npn \@@_direct_marker_end:
{
\c_math_toggle_token
\hbox_set_end:
+ \bool_set_true:N \l_@@_align_before_bool
+ \bool_set_true:N \l_@@_align_after_bool
\@@_center_marker:
\use:c { @@_align_ \l_@@_align_text_tl :n }
{
@@ -1159,7 +1194,6 @@
\@@_fil:
}
}
- \box_use_drop:N \l_@@_before_box
\siunitx_number_parse:nN {#2} \l_@@_tmp_tl
\siunitx_number_process:NN \l_@@_tmp_tl \l_@@_tmp_tl
\tl_set:Nx \l_@@_tmp_tl
@@ -1167,7 +1201,6 @@
\@@_color_check:N \l_@@_tmp_tl
\exp_after:wN \@@_print_marker:w
\l_@@_tmp_tl \q_stop
- \box_use_drop:N \l_@@_after_box
}
\cs_new_protected:Npn \@@_print_marker:w
#1 \q_nil #2 \q_nil #3 \q_nil #4 \q_stop
@@ -1182,8 +1215,10 @@
\@@_center_marker:
\use:c { @@_align_ \l_@@_align_text_tl :n }
{
+ \box_use_drop:N \l_@@_before_box
\box_use_drop:N \l_@@_integer_box
\box_use_drop:N \l_@@_decimal_box
+ \box_use_drop:N \l_@@_after_box
}
}
\cs_new:Npn \@@_print_marker_aux:w
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.dtx b/macros/latex/contrib/siunitx/siunitx-unit.dtx
index be3e6eaf61..2c76156563 100644
--- a/macros/latex/contrib/siunitx/siunitx-unit.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-unit.dtx
@@ -2826,6 +2826,17 @@
}
% \end{macrocode}
%
+% Cover the case where the default font is sanserif.
+% \begin{macrocode}
+\AtBeginDocument
+ {
+ \str_if_eq:eeTF
+ { \exp_not:o { \familydefault } }
+ { \exp_not:n { \sfdefault } }
+ { \keys_set:nn { siunitx } { unit-font-command = \mathsf } }
+ }
+% \end{macrocode}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.pdf b/macros/latex/contrib/siunitx/siunitx-unit.pdf
deleted file mode 100644
index 0050caf4e5..0000000000
--- a/macros/latex/contrib/siunitx/siunitx-unit.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 275f824a35..d0d855e92a 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2021-08-04} {3.0.24}
+\ProvidesExplPackage {siunitx} {2021-08-16} {3.0.25}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 67b9a4fbee..5d7777db9c 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index 136283140d..b83b72463d 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -3280,7 +3280,7 @@ which will then allow for the parenthesis. If a sign is applied to the number,
it may not be necessary to add a \enquote{digit} for the leading bracket. If
parsing is also required, this approach cannot be employed. Instead, the
parsing needs to be adjusted such that |(| and |)| are not treated as part of
-the number, and \opt{table-align-text-pre} is set to |false| such that these
+the number, and \opt{table-align-text-before} is set to |false| such that these
will be placed next to the numerical part. These methods are illustrated in
Table~\ref{tab:regression}.
@@ -3299,7 +3299,7 @@ Table~\ref{tab:regression}.
input-close-uncertainty = ,
minimum-decimal-digits = 3, % (
table-format = +1.3),
- table-align-text-pre = false
+ table-align-text-before = false
]
@{}
}