summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/siunitx
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-11-07 03:02:46 +0000
committerNorbert Preining <norbert@preining.info>2023-11-07 03:02:46 +0000
commit02646b6e89ef69971235e0c883e86fd746955e2b (patch)
tree203df1a9b40b37e9452e03d936e392da7d03c7af /macros/latex/contrib/siunitx
parent240fd5fe8af67337e240c10434af4834fc86278f (diff)
CTAN sync 202311070302
Diffstat (limited to 'macros/latex/contrib/siunitx')
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md21
-rw-r--r--macros/latex/contrib/siunitx/siunitx-angle.dtx22
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin647636 -> 648032 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-complex.dtx16
-rw-r--r--macros/latex/contrib/siunitx/siunitx-compound.dtx38
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx12
-rw-r--r--macros/latex/contrib/siunitx/siunitx-print.dtx16
-rw-r--r--macros/latex/contrib/siunitx/siunitx-quantity.dtx14
-rw-r--r--macros/latex/contrib/siunitx/siunitx-symbol.dtx10
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.dtx32
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin705592 -> 705592 bytes
14 files changed, 105 insertions, 82 deletions
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 3e9be4b986..554c6ff609 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.3.8] - 2023-11-06
+
+### Deprecated
+- `x`-type variants
+ - `\siunitx_angle:x`
+ - `\siunitx_angle:xxx`
+ - `\siunitx_complex_number:x`
+ - `\siunitx_complex_quantity:xn`
+ - `\siunitx_print_number:x`
+ - `\siunitx_quantity_print:xV`
+ - `\siunitx_declare_prefix:Nnx`
+ - `\siunitx_declare_unit:Nx`
+ - `\siunitx_declare_unit:Nxn`
+
+### Fixed
+- Printing of `1` when `print-unity-mantissa = false` (see issue
+ [\#700](https://github.com/josephwright/siunitx/issues/700))
+
## [v3.3.7] - 2023-10-07
### Fixed
@@ -2025,7 +2043,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.3.7...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.8...HEAD
+[v3.3.8]: https://github.com/josephwright/siunitx/compare/v3.3.7...v3.3.8
[v3.3.7]: https://github.com/josephwright/siunitx/compare/v3.3.6...v3.3.7
[v3.3.6]: https://github.com/josephwright/siunitx/compare/v3.3.5...v3.3.6
[v3.3.5]: https://github.com/josephwright/siunitx/compare/v3.3.4...v3.3.5
diff --git a/macros/latex/contrib/siunitx/siunitx-angle.dtx b/macros/latex/contrib/siunitx/siunitx-angle.dtx
index 5489fbfec3..7b2b012e13 100644
--- a/macros/latex/contrib/siunitx/siunitx-angle.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-angle.dtx
@@ -64,8 +64,8 @@
%
% \begin{function}
% {
-% \siunitx_angle:n, \siunitx_angle:x,
-% \siunitx_angle:nnn, \siunitx_angle:xxx
+% \siunitx_angle:n, \siunitx_angle:e,
+% \siunitx_angle:nnn, \siunitx_angle:eee
% }
% \begin{syntax}
% \cs{siunitx_angle:n} \Arg{angle}
@@ -240,9 +240,9 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\siunitx_angle:n, \siunitx_angle:x, \@@_angle:n}
-% \begin{macro}{\siunitx_angle:nnn, \siunitx_angle:xxx}
-% \begin{macro}{\@@_arc_convert:n, \@@_arc_convert:x}
+% \begin{macro}{\siunitx_angle:n, \siunitx_angle:e, \@@_angle:n}
+% \begin{macro}{\siunitx_angle:nnn, \siunitx_angle:eee}
+% \begin{macro}{\@@_arc_convert:n, \@@_arc_convert:e}
% The first step here is to force format conversion if required. Going to
% a decimal is easy, going to arc format is a bit more painful: avoid
% repeating calculations mainly for code readability.
@@ -262,11 +262,11 @@
}
}
}
-\cs_generate_variant:Nn \siunitx_angle:n { x }
+\cs_generate_variant:Nn \siunitx_angle:n { e , x }
\cs_new_protected:Npn \@@_angle:n #1
{
\bool_if:NTF \l_@@_force_arc_bool
- { \@@_arc_convert:x { \fp_eval:n {#1} } }
+ { \@@_arc_convert:e { \fp_eval:n {#1} } }
{
\siunitx_number_parse:nN {#1} \l_@@_degrees_tl
\siunitx_number_process:NN \l_@@_degrees_tl \l_@@_degrees_tl
@@ -284,7 +284,7 @@
{
\bool_if:NTF \l_@@_force_decimal_bool
{
- \siunitx_angle:x
+ \siunitx_angle:e
{ \fp_eval:n { #1 + (#2) / 60 + (#3) / 3600 } }
}
{ \@@_arc_sign:nnn {#1} {#2} {#3} }
@@ -302,10 +302,10 @@
\l_@@_seconds_tl
}
}
-\cs_generate_variant:Nn \siunitx_angle:nnn { xxx }
+\cs_generate_variant:Nn \siunitx_angle:nnn { eee , xxx }
\cs_new_protected:Npn \@@_arc_convert:n #1
{
- \siunitx_angle:xxx
+ \siunitx_angle:eee
{ \fp_eval:n { trunc(#1,0) } }
{ \fp_eval:n { trunc((#1 - trunc(#1,0)) * 60,0) } }
{
@@ -319,7 +319,7 @@
}
}
}
-\cs_generate_variant:Nn \@@_arc_convert:n { x }
+\cs_generate_variant:Nn \@@_arc_convert:n { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 0e2b1d9aef..71cc89e478 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-complex.dtx b/macros/latex/contrib/siunitx/siunitx-complex.dtx
index af0b882c94..644aa9c095 100644
--- a/macros/latex/contrib/siunitx/siunitx-complex.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-complex.dtx
@@ -66,7 +66,7 @@
% assumptions concerning \LaTeXe{} commands in the submodule beyond those in the
% core number and unit submodules.
%
-% \begin{function}{\siunitx_complex_number:n, \siunitx_complex_number:x}
+% \begin{function}{\siunitx_complex_number:n, \siunitx_complex_number:e}
% \begin{syntax}
% \cs{siunitx_complex_number:n} \Arg{number}
% \end{syntax}
@@ -96,7 +96,7 @@
% \begin{function}
% {
% \siunitx_complex_quantity:nn ,
-% \siunitx_complex_quantity:xn ,
+% \siunitx_complex_quantity:en ,
% \siunitx_complex_quantity:nnn
% }
% \begin{syntax}
@@ -691,9 +691,9 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\siunitx_complex_number:n, \siunitx_complex_number:x}
+% \begin{macro}{\siunitx_complex_number:n, \siunitx_complex_number:e}
% \begin{macro}{\siunitx_complex_number:nn, \@@_number:nn}
-% \begin{macro}{\siunitx_complex_quantity:nn, \siunitx_complex_quantity:xn}
+% \begin{macro}{\siunitx_complex_quantity:nn, \siunitx_complex_quantity:en}
% \begin{macro}{\siunitx_complex_quantity:nnn, \@@_quantity:nnn}
% The work here is pretty trivial: only conversion between forms makes
% things a bit more intricate.
@@ -722,7 +722,7 @@
}
}
}
-\cs_generate_variant:Nn \siunitx_complex_number:n { x }
+\cs_generate_variant:Nn \siunitx_complex_number:n { e, x }
\cs_new_protected:Npn \siunitx_complex_number:nn #1#2
{
\bool_lazy_or:nnTF
@@ -740,7 +740,7 @@
{ \l_@@_force_cartesian_bool }
{ \l_siunitx_number_parse_bool }
{
- \siunitx_complex_number:x
+ \siunitx_complex_number:e
{ \@@_convert_cartesian:nn {#1} {#2} }
}
{
@@ -770,7 +770,7 @@
{ \siunitx_quantity:nn {#1} {#2} }
}
}
-\cs_generate_variant:Nn \siunitx_complex_quantity:nn { x }
+\cs_generate_variant:Nn \siunitx_complex_quantity:nn { e , x }
\cs_new_protected:Npn \siunitx_complex_quantity:nnn #1#2#3
{
\bool_lazy_or:nnTF
@@ -788,7 +788,7 @@
{ \l_@@_force_cartesian_bool }
{ \l_siunitx_number_parse_bool }
{
- \siunitx_complex_quantity:xn
+ \siunitx_complex_quantity:en
{ \@@_convert_cartesian:nn {#1} {#2} }
{#3}
}
diff --git a/macros/latex/contrib/siunitx/siunitx-compound.dtx b/macros/latex/contrib/siunitx/siunitx-compound.dtx
index e6a2b67691..4083e3ac47 100644
--- a/macros/latex/contrib/siunitx/siunitx-compound.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-compound.dtx
@@ -535,7 +535,7 @@
% \begin{macro}{\siunitx_compound_number:n}
% \begin{macro}{\@@_format:n}
% \begin{macro}{\@@_format:nn}
-% \begin{macro}{\@@_format:nnn, \@@_format:xxn}
+% \begin{macro}{\@@_format:nnn, \@@_format:een}
% Printing a generic set starts with the question of whether we want to
% extract exponents. If we do, then there is the work to do with extraction.
% Either way, the printing is handed off to a common function. We do a quick
@@ -546,7 +546,7 @@
\group_begin:
\bool_set_false:N \l_@@_unit_bool
\@@_format:nn {#1} { }
- \@@_print:N \siunitx_print_number:x
+ \@@_print:N \siunitx_print_number:e
\group_end:
}
\cs_new_protected:Npn \@@_format:nn #1#2
@@ -554,7 +554,7 @@
\seq_clear:N \l_@@_tmp_seq
\bool_if:NTF \l_siunitx_number_parse_bool
{
- \@@_format:xxn
+ \@@_format:een
{ \tl_head:n {#1} }
{ \tl_tail:n {#1} }
{#2}
@@ -575,7 +575,7 @@
}
{ \@@_format_aux:nnn {#1} {#2} {#3} }
}
-\cs_generate_variant:Nn \@@_format:nnn { xx }
+\cs_generate_variant:Nn \@@_format:nnn { ee }
\cs_new_protected:Npn \@@_format_aux:nnn #1#2#3
{
\siunitx_number_parse:nN {#1} \l_@@_tmp_tl
@@ -855,17 +855,17 @@
\str_if_eq:VnT \l_siunitx_quantity_prefix_mode_tl { combine-exponent }
{ \tl_clear:N \l_@@_exp_tl }
\bool_if:NTF \l_@@_unit_repeat_bool
- { \@@_print:N \@@_print_quantity:x }
+ { \@@_print:N \@@_print_quantity:e }
{
\bool_lazy_and:nnTF
{ \l_@@_unit_bracket_bool }
{ \tl_if_empty_p:N \l_@@_exp_tl }
{
\siunitx_print_number:V \l_@@_bracket_open_tl
- \@@_print:N \siunitx_print_number:x
+ \@@_print:N \siunitx_print_number:e
\siunitx_print_number:V \l_@@_bracket_close_tl
}
- { \@@_print:N \siunitx_print_number:x }
+ { \@@_print:N \siunitx_print_number:e }
\@@_print_quantity:n { \c_empty_tl }
}
}
@@ -874,11 +874,11 @@
% \end{macro}
%
% \begin{macro}{\@@_print:N}
-% \begin{macro}{\@@_print:nnN, \@@_print:nVN, \@@_print:xnN, \@@_print:xxN}
-% \begin{macro}{\@@_print:nnnN, \@@_print:xnnN}
+% \begin{macro}{\@@_print:nnN, \@@_print:nVN, \@@_print:enN, \@@_print:eeN}
+% \begin{macro}{\@@_print:nnnN, \@@_print:ennN}
% \begin{macro}{\@@_print_aux:n}
% \begin{macro}{\@@_print_aux:nn}
-% \begin{macro}{\@@_print_quantity:n, \@@_print_quantity:x}
+% \begin{macro}{\@@_print_quantity:n, \@@_print_quantity:e}
% \begin{macro}
% {
% \@@_print_boundary:n, \@@_print_boundary:V,
@@ -894,7 +894,7 @@
{ \l_@@_exp_bracket_bool }
{ ! \tl_if_empty_p:N \l_@@_exp_tl }
{
- \@@_print:xxN
+ \@@_print:eeN
{ \exp_not:V \l_@@_bracket_open_tl }
{
\exp_not:V \l_@@_bracket_close_tl
@@ -906,10 +906,10 @@
}
\cs_new_protected:Npn \@@_print:nnN #1#2#3
{
- \@@_print:xnnN
+ \@@_print:ennN
{ \seq_count:N \l_@@_tmp_seq } {#1} {#2} #3
}
-\cs_generate_variant:Nn \@@_print:nnN { nV , x , xx }
+\cs_generate_variant:Nn \@@_print:nnN { nV , e , ee }
% \end{macrocode}
% A rather long auxiliary as we want a way to have the brackets/exponent
% available. The actual flow is simple enough: see how many entries there are
@@ -955,7 +955,7 @@
\@@_print_boundary:V \l_@@_boundary_close_tl
}
}
-\cs_generate_variant:Nn \@@_print:nnnN { x }
+\cs_generate_variant:Nn \@@_print:nnnN { e }
\cs_new_protected:Npn \@@_print_aux:n #1 { }
\cs_new_protected:Npn \@@_print_aux:nn #1#2
{
@@ -991,7 +991,7 @@
}
\cs_new_protected:Npn \@@_print_quantity:n #1
{ \siunitx_quantity_print:nV {#1} \l_@@_unit_tl }
-\cs_generate_variant:Nn \@@_print_quantity:n { x }
+\cs_generate_variant:Nn \@@_print_quantity:n { e }
\cs_new_protected:Npn \@@_print_boundary:n #1
{
\tl_if_blank:nF {#1}
@@ -1191,7 +1191,7 @@
% \begin{macro}{\siunitx_number_product:n}
% \begin{macro}{\siunitx_quantity_product:nn}
% \begin{macro}{\@@_aux:}
-% \begin{macro}{\@@_aux:n, \@@_aux:x}
+% \begin{macro}{\@@_aux:n, \@@_aux:e}
% Simply recover the settings and use as a list.
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_number_product:n #1
@@ -1211,8 +1211,8 @@
\cs_new_protected:Npn \@@_aux:
{
\bool_if:NTF \l_@@_phrase_bool
- { \@@_aux:x { \exp_not:V \l_@@_phrase_tl } }
- { \@@_aux:x { { } \exp_not:V \l_@@_symbol_tl { } } }
+ { \@@_aux:e { \exp_not:V \l_@@_phrase_tl } }
+ { \@@_aux:e { { } \exp_not:V \l_@@_symbol_tl { } } }
}
\cs_new_protected:Npn \@@_aux:n #1
{
@@ -1235,7 +1235,7 @@
compound-units = \l_@@_units_tl
}
}
-\cs_generate_variant:Nn \@@_aux:n { x }
+\cs_generate_variant:Nn \@@_aux:n { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.dtx b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
index 887cea9d20..4d82d7b426 100644
--- a/macros/latex/contrib/siunitx/siunitx-emulation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
@@ -1050,7 +1050,7 @@
{
\quark_if_recursion_tail_stop:N #1
\bool_new:c { g_@@_unit_warning_ \token_to_str:N #1 _bool }
- \siunitx_declare_unit:Nx #1
+ \siunitx_declare_unit:Ne #1
{
\exp_not:N \bool_if:NF
\exp_not:c { g_@@_unit_warning_ \token_to_str:N #1 _bool }
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 2218e61022..04b302cf51 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -1777,7 +1777,7 @@
% \begin{macro}
% {
% \@@_parse_uncert_marker:nnnnnnN ,
-% \@@_parse_uncert_marker:xnnnnnN
+% \@@_parse_uncert_marker:ennnnnN
% }
% \begin{macro}{\@@_parse_uncert_after:N}
% Parsing a combined uncertainty has a very restricted range of allowed
@@ -1954,7 +1954,7 @@
}
\cs_new_protected:Npn \@@_parse_uncert_marker:nnnnnN #1#2#3#4#5#6
{
- \@@_parse_uncert_marker:xnnnnnN
+ \@@_parse_uncert_marker:ennnnnN
{ \int_eval:n { \tl_count:n {#4} } }
{#1} {#2} {#3} {#4} {#5} #6
}
@@ -1990,7 +1990,7 @@
}
#5#6#7
}
-\cs_generate_variant:Nn \@@_parse_uncert_marker:nnnnnnN { x }
+\cs_generate_variant:Nn \@@_parse_uncert_marker:nnnnnnN { e }
% \end{macrocode}
% At the end of collection, we can either start another one or be done:
% either way we move the data around.
@@ -4148,7 +4148,11 @@
{ ! \str_if_eq_p:nn { #1 . #2 } { 1. } }
{
\bool_lazy_and_p:nn
- { \str_if_eq_p:nn {#3} { 0 } }
+ {
+ \bool_lazy_or_p:nn
+ { \tl_if_blank_p:n {#3} }
+ { \str_if_eq_p:nn {#3} { 0 } }
+ }
{ ! \l_@@_zero_exponent_bool }
}
{
diff --git a/macros/latex/contrib/siunitx/siunitx-print.dtx b/macros/latex/contrib/siunitx/siunitx-print.dtx
index 79d2d53840..6e1a89f629 100644
--- a/macros/latex/contrib/siunitx/siunitx-print.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-print.dtx
@@ -105,9 +105,9 @@
% \begin{function}
% {
% \siunitx_print_number:n, \siunitx_print_number:V,
-% \siunitx_print_number:x,
-% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:o,
-% \siunitx_print_unit:x
+% \siunitx_print_number:e,
+% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:e,
+% \siunitx_print_unit:o
% }
% \begin{syntax}
% \cs{siunitx_print_number:n} \Arg{material}
@@ -458,9 +458,9 @@
% \begin{macro}
% {
% \siunitx_print_number:n, \siunitx_print_number:V,
-% \siunitx_print_number:x,
-% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:o,
-% \siunitx_print_unit:x
+% \siunitx_print_number:e,
+% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:e,
+% \siunitx_print_unit:o
% }
% \begin{macro}{\@@_aux:nn}
% The main printing function doesn't actually need to do very much: just set
@@ -471,10 +471,10 @@
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_print_number:n #1
{ \@@_aux:nn { number } {#1} }
-\cs_generate_variant:Nn \siunitx_print_number:n { V , x }
+\cs_generate_variant:Nn \siunitx_print_number:n { V , e , x }
\cs_new_protected:Npn \siunitx_print_unit:n #1
{ \@@_aux:nn { unit } {#1} }
-\cs_generate_variant:Nn \siunitx_print_unit:n { V , o , x }
+\cs_generate_variant:Nn \siunitx_print_unit:n { V , e , o , x }
\cs_new_protected:Npn \@@_aux:nn #1#2
{
\tl_if_empty:oF {#2}
diff --git a/macros/latex/contrib/siunitx/siunitx-quantity.dtx b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
index d8e71d7f22..b9c7e107bb 100644
--- a/macros/latex/contrib/siunitx/siunitx-quantity.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
@@ -78,7 +78,7 @@
% \begin{function}
% {
% \siunitx_quantity_print:nn, \siunitx_quantity_print:nV,
-% \siunitx_quantity_print:VV, \siunitx_quantity_print:xV
+% \siunitx_quantity_print:VV, \siunitx_quantity_print:eV
% }
% \begin{syntax}
% \cs{siunitx_quantity_print:nn} \Arg{number} \Arg{unit}
@@ -311,7 +311,7 @@
{
\bool_if:NTF \l_@@_uncert_bracket_bool
{
- \siunitx_quantity_print:xV
+ \siunitx_quantity_print:eV
{
\exp_not:n {#2}
\exp_not:V \l_@@_bracket_open_tl
@@ -376,7 +376,7 @@
% \begin{macro}
% {
% \siunitx_quantity_print:nn, \siunitx_quantity_print:nV,
-% \siunitx_quantity_print:VV, \siunitx_quantity_print:xV
+% \siunitx_quantity_print:VV, \siunitx_quantity_print:eV
% }
% For printing a single part of a quantity. This is needed for compound
% quantities and so is public: that's also the reason for passing both
@@ -403,7 +403,7 @@
{ \siunitx_print_unit:o { \use_none:n #2 } }
}
}
-\cs_generate_variant:Nn \siunitx_quantity_print:nn { nV , VV , xV }
+\cs_generate_variant:Nn \siunitx_quantity_print:nn { nV , VV , eV , xV }
% \end{macrocode}
% \end{macro}
%
@@ -437,13 +437,13 @@
% in quantities. This is done here as it avoids a dependency in
% \pkg{siunitx-unit} on options it does not contain.
% \begin{macrocode}
-\siunitx_declare_unit:Nxn \arcminute
+\siunitx_declare_unit:Nen \arcminute
{ \@@_non_latin:n { "02B9 } }
{ quantity-product = { } }
-\siunitx_declare_unit:Nxn \arcsecond
+\siunitx_declare_unit:Nen \arcsecond
{ \@@_non_latin:n { "02BA } }
{ quantity-product = { } }
-\siunitx_declare_unit:Nxn \degree
+\siunitx_declare_unit:Nen \degree
{ \@@_non_latin:n { "00B0 } }
{ quantity-product = { } }
% \end{macrocode}
diff --git a/macros/latex/contrib/siunitx/siunitx-symbol.dtx b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
index 037e39ffc7..c5ec0c39ce 100644
--- a/macros/latex/contrib/siunitx/siunitx-symbol.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
@@ -159,7 +159,7 @@
% \begin{macrocode}
\@@_if_replace:NnT \degree { "00B0 }
{
- \siunitx_declare_unit:Nxn \degree
+ \siunitx_declare_unit:Nen \degree
{
\exp_not:N \ifmmode
\@ifpackageloaded { unicode-math }
@@ -189,7 +189,7 @@
\str_if_eq:VVTF \l_@@_tmpa_tl \l_@@_tmpb_tl
{
\group_end:
- \siunitx_declare_unit:Nx \degreeCelsius
+ \siunitx_declare_unit:Ne \degreeCelsius
{
\exp_not:N \ifmmode
\@ifpackageloaded { unicode-math }
@@ -225,7 +225,7 @@
\exp_not:N \text
{ \exp_not:N \ensuremath { \exp_not:V \l_@@_tmpa_tl } }
}
- \siunitx_declare_unit:Nx \ohm
+ \siunitx_declare_unit:Ne \ohm
{
\@ifpackageloaded { fourier }
{
@@ -260,7 +260,7 @@
% \begin{macrocode}
\@@_if_replace:NnT \micro { "03BC }
{
- \siunitx_declare_prefix:Nnx \micro { -6 }
+ \siunitx_declare_prefix:Nne \micro { -6 }
{
\exp_not:N \text
{
@@ -286,7 +286,7 @@
{
\@ifpackageloaded { hyperref }
{
- \ExpandArgs { x } \pdfstringdefDisableCommands
+ \ExpandArgs { e } \pdfstringdefDisableCommands
{
\cs_set_eq:NN \siunitx_print_text:n \exp_not:N \use:n
\siunitx_declare_unit:Nn \exp_not:N \ohm
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index 1eaf959a6b..f900c741f8 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -1263,7 +1263,7 @@
{ \siunitx_print_number:n { #1#2#3 } }
\hbox_set:Nn \l_@@_decimal_box
{
- \siunitx_print_number:x
+ \siunitx_print_number:e
{ \@@_print_marker_aux:w #4 \q_stop }
}
\@@_center_marker:
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.dtx b/macros/latex/contrib/siunitx/siunitx-unit.dtx
index ee458b3f88..8c94acad0e 100644
--- a/macros/latex/contrib/siunitx/siunitx-unit.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-unit.dtx
@@ -191,7 +191,7 @@
%
% \section{Defining symbolic units}
%
-% \begin{function}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nnx}
+% \begin{function}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nne}
% \begin{syntax}
% \cs{siunitx_declare_prefix:Nnn} \meta{prefix} \Arg{power} \Arg{symbol}
% \end{syntax}
@@ -248,9 +248,9 @@
% \begin{function}
% {
% \siunitx_declare_unit:Nn,
-% \siunitx_declare_unit:Nx,
+% \siunitx_declare_unit:Ne,
% \siunitx_declare_unit:Nnn,
-% \siunitx_declare_unit:Nxn
+% \siunitx_declare_unit:Nen
% }
% \begin{syntax}
% \cs{siunitx_declare_unit:Nn} \meta{unit} \Arg{meaning}
@@ -868,7 +868,7 @@
% \end{macro}
%
% \begin{macro}{\siunitx_declare_prefix:Nn}
-% \begin{macro}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nnx}
+% \begin{macro}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nne}
% \begin{variable}
% {\l_@@_prefixes_forward_prop, \l_@@_prefixes_reverse_prop}
% For prefixes there are a couple of options. In all cases, the basic
@@ -890,7 +890,7 @@
\prop_put:Nnn \l_@@_prefixes_forward_prop {#3} {#2}
\prop_put:Nnn \l_@@_prefixes_reverse_prop {#2} {#3}
}
-\cs_generate_variant:Nn \siunitx_declare_prefix:Nnn { Nnx }
+\cs_generate_variant:Nn \siunitx_declare_prefix:Nnn { Nne , Nnx }
\prop_new:N \l_@@_prefixes_forward_prop
\prop_new:N \l_@@_prefixes_reverse_prop
% \end{macrocode}
@@ -911,14 +911,14 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\siunitx_declare_unit:Nn, \siunitx_declare_unit:Nx}
-% \begin{macro}{\siunitx_declare_unit:Nnn, \siunitx_declare_unit:Nxn}
+% \begin{macro}{\siunitx_declare_unit:Nn, \siunitx_declare_unit:Ne}
+% \begin{macro}{\siunitx_declare_unit:Nnn, \siunitx_declare_unit:Nen}
% For the unit parsing, allowing for variations in definition order requires
% that a test is made for the output of each unit at point of use.
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_declare_unit:Nn #1#2
{ \siunitx_declare_unit:Nnn #1 {#2} { } }
-\cs_generate_variant:Nn \siunitx_declare_unit:Nn { Nx }
+\cs_generate_variant:Nn \siunitx_declare_unit:Nn { Ne , Nx }
\cs_new_protected:Npn \siunitx_declare_unit:Nnn #1#2#3
{
\seq_put_right:Nn \l_siunitx_unit_seq {#1}
@@ -933,7 +933,7 @@
\tl_if_empty:nF {#3}
{ \tl_set:cn { l_@@_options_ \token_to_str:N #1 _tl } {#3} }
}
-\cs_generate_variant:Nn \siunitx_declare_unit:Nnn { Nx }
+\cs_generate_variant:Nn \siunitx_declare_unit:Nnn { Ne , Nx }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2718,7 +2718,7 @@
\siunitx_declare_prefix:Nnn \femto { -15 } { f }
\siunitx_declare_prefix:Nnn \pico { -12 } { p }
\siunitx_declare_prefix:Nnn \nano { -9 } { n }
-\siunitx_declare_prefix:Nnx \micro { -6 } { \@@_non_latin:n { "03BC } }
+\siunitx_declare_prefix:Nne \micro { -6 } { \@@_non_latin:n { "03BC } }
\siunitx_declare_prefix:Nnn \milli { -3 } { m }
\siunitx_declare_prefix:Nnn \centi { -2 } { c }
\siunitx_declare_prefix:Nnn \deci { -1 } { d }
@@ -2775,7 +2775,7 @@
% Named derived units: first half of alphabet.
% \begin{macrocode}
\siunitx_declare_unit:Nn \becquerel { Bq }
-\siunitx_declare_unit:Nx \degreeCelsius { \@@_non_latin:n { "00B0 } C }
+\siunitx_declare_unit:Ne \degreeCelsius { \@@_non_latin:n { "00B0 } C }
\siunitx_declare_unit:Nn \coulomb { C }
\siunitx_declare_unit:Nn \farad { F }
\siunitx_declare_unit:Nn \gray { Gy }
@@ -2804,7 +2804,7 @@
% Named derived units: second half of alphabet.
% \begin{macrocode}
\siunitx_declare_unit:Nn \newton { N }
-\siunitx_declare_unit:Nx \ohm { \@@_non_latin:n { "2126 } }
+\siunitx_declare_unit:Ne \ohm { \@@_non_latin:n { "2126 } }
\siunitx_declare_unit:Nn \pascal { Pa }
\siunitx_declare_unit:Nn \radian { rad }
\siunitx_declare_unit:Nn \siemens { S }
@@ -2859,16 +2859,16 @@
% }
% Arc units: again, non-\acro{SI}, but accepted for general use.
% \begin{macrocode}
-\siunitx_declare_unit:Nx \arcminute { \@@_non_latin:n { "02B9 } }
-\siunitx_declare_unit:Nx \arcsecond { \@@_non_latin:n { "02BA } }
-\siunitx_declare_unit:Nx \degree { \@@_non_latin:n { "00B0 } }
+\siunitx_declare_unit:Ne \arcminute { \@@_non_latin:n { "02B9 } }
+\siunitx_declare_unit:Ne \arcsecond { \@@_non_latin:n { "02BA } }
+\siunitx_declare_unit:Ne \degree { \@@_non_latin:n { "00B0 } }
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\percent}
% For percent, the raw character is the most flexible way of handling output.
% \begin{macrocode}
-\siunitx_declare_unit:Nx \percent { \cs_to_str:N \% }
+\siunitx_declare_unit:Ne \percent { \cs_to_str:N \% }
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 88f313ab7f..e2870e43e6 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} {2023-10-07} {3.3.7}
+\ProvidesExplPackage {siunitx} {2023-11-06} {3.3.8}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 59e098502a..73faebb49e 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ