diff options
author | Karl Berry <karl@freefriends.org> | 2022-08-08 21:00:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-08-08 21:00:04 +0000 |
commit | 8ca2c0f2f725360c1d1c530fc5a918bb593da82a (patch) | |
tree | d93929134d05f3f3bc0e94bc1cfd4fdb8fafb97a /Master/texmf-dist | |
parent | ff8099989d5d615f53629c8f491419a183a5982e (diff) |
siunitx (8aug22)
git-svn-id: svn://tug.org/texlive/trunk@64080 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md | 11 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf | bin | 617930 -> 617785 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/siunitx/siunitx.pdf | bin | 665420 -> 665461 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx | 41 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/siunitx/siunitx.dtx | 2 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/siunitx/siunitx.sty | 31 |
6 files changed, 75 insertions, 10 deletions
diff --git a/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md b/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md index 127e8015f15..7c2784c3bf4 100644 --- a/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md +++ b/Master/texmf-dist/doc/latex/siunitx/CHANGELOG.md @@ -7,6 +7,14 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to ## [Unreleased] +## [v3.1.6] - 2022-08-08 + +### Fixed +- Rounding to uncertainty where the last uncertainty digit is zero (see issue + [\#616](https://github.com/josephwright/siunitx/issues/616)) +- Rounding to uncertainty which is bigger than the value (see issue + [\#617](https://github.com/josephwright/siunitx/issues/617)) + ## [v3.1.5] - 2022-07-23 ### Fixed @@ -1798,7 +1806,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.1.5...HEAD +[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.1.6...HEAD +[v3.1.6]: https://github.com/josephwright/siunitx/compare/v3.1.5...v3.1.6 [v3.1.5]: https://github.com/josephwright/siunitx/compare/v3.1.4...v3.1.5 [v3.1.4]: https://github.com/josephwright/siunitx/compare/v3.1.3...v3.1.4 [v3.1.3]: https://github.com/josephwright/siunitx/compare/v3.1.2...v3.1.3 diff --git a/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf b/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf Binary files differindex 91872b21dee..b9298d8e964 100644 --- a/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf +++ b/Master/texmf-dist/doc/latex/siunitx/siunitx-code.pdf diff --git a/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf b/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf Binary files differindex da03e0fdb85..ce6ec541476 100644 --- a/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf +++ b/Master/texmf-dist/doc/latex/siunitx/siunitx.pdf diff --git a/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx b/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx index ff97058d20f..e1cb9e639df 100644 --- a/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx +++ b/Master/texmf-dist/source/latex/siunitx/siunitx-number.dtx @@ -3061,6 +3061,9 @@ % \begin{macro}[EXP]{\@@_round_uncertainty:nnnnnnn} % \begin{macro}[EXP]{\@@_round_uncertainty_end:nn} % \begin{macro}[EXP]{\@@_round_uncertainty:nnn} +% \begin{macro}[EXP]{\@@_round_uncertainty_check:nnnw} +% \begin{macro}[EXP]{\@@_round_uncertainty_check:Nnnnw} +% \begin{macro}[EXP]{\@@_round_uncertainty_aux:nnn} % \begin{macro}[EXP]{\@@_round_uncertainty:nnnn} % \begin{macro}[EXP]{\@@_round_uncertainty:nnnnn} % \begin{macro}[EXP] @@ -3108,11 +3111,35 @@ \cs_new:Npn \@@_round_uncertainty_end:nn #1#2 { \exp_not:n { {#1} {#2} } } % \end{macrocode} +% Before doing any rounding, we need to be sure that the main value has +% enough significant digits. If not, the result is zero. +% \begin{macrocode} +\cs_new:Npn \__siunitx_number_round_uncertainty:nnn #1#2#3 + { + \@@_round_uncertainty_check:nnnw {#1} {#2} {#3} + #1#2 \q_recursion_tail \q_recursion_stop + } +\cs_new:Npn \@@_round_uncertainty_check:nnnw #1#2#3#4 + { + \quark_if_recursion_tail_stop_do:Nn #4 { { 0 } { } { } } + \int_compare:nNnTF {#4} = 0 + { \@@_round_uncertainty_check:nnnw } + { \@@_round_uncertainty_check:Nnnnw #4 } + {#1} {#2} {#3} + } +\cs_new:Npn \@@_round_uncertainty_check:Nnnnw #1#2#3#4#5 + \q_recursion_tail \q_recursion_stop + { + \int_compare:nNnTF { \tl_count:n {#1#5} } < { \tl_count:n {#4} } + { { 0 } { } { } } + { \@@_round_uncertainty_aux:nnn {#2} {#3} {#4} } + } +% \end{macrocode} % Round the uncertainty first: this is needed to get the number of places % correct. Once that is done, it's just a question of working out the digits % in the main part. % \begin{macrocode} -\cs_new:Npn \@@_round_uncertainty:nnn #1#2#3 +\cs_new:Npn \@@_round_uncertainty_aux:nnn #1#2#3 { \exp_args:Nf \@@_round_uncertainty:nnnn { @@ -3123,9 +3150,12 @@ } \cs_new:Npn \@@_round_uncertainty:nnnn #1#2#3#4 { - \exp_last_unbraced:Nf \@@_round_uncertainty:nnnnn - { \@@_round:nnn {#1} { } {#4} } - {#2} {#3} {#1} + \use:e + { + \exp_not:N \@@_round_uncertainty:nnnnn + \@@_round:nnn {#1} { } {#4} + {#2} {#3} {#1} + } } % \end{macrocode} % Here, we need to work out how many digits to zero-fill the uncertainty, for @@ -3276,6 +3306,9 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % % \begin{macro}{\@@_zero_decimal:NN} % \begin{macro}[EXP]{\@@_zero_decimal:nnnnnnn} diff --git a/Master/texmf-dist/source/latex/siunitx/siunitx.dtx b/Master/texmf-dist/source/latex/siunitx/siunitx.dtx index 2766ca5ca3d..7dd368799fe 100644 --- a/Master/texmf-dist/source/latex/siunitx/siunitx.dtx +++ b/Master/texmf-dist/source/latex/siunitx/siunitx.dtx @@ -121,7 +121,7 @@ % % Identify the package and give the over all version information. % \begin{macrocode} -\ProvidesExplPackage {siunitx} {2022-07-23} {3.1.5} +\ProvidesExplPackage {siunitx} {2022-08-08} {3.1.6} {A comprehensive (SI) units package} % \end{macrocode} % diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index e1f0215faa6..be7645a696c 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} {2022-07-23} {3.1.5} +\ProvidesExplPackage {siunitx} {2022-08-08} {3.1.6} {A comprehensive (SI) units package} \msg_new:nnnn { siunitx } { incompatible-package } { Package~'#1'~incompatible. } @@ -3309,6 +3309,26 @@ { \exp_not:n { {#1} {#2} } } \cs_new:Npn \__siunitx_number_round_uncertainty:nnn #1#2#3 { + \__siunitx_number_round_uncertainty_check:nnnw {#1} {#2} {#3} + #1#2 \q_recursion_tail \q_recursion_stop + } +\cs_new:Npn \__siunitx_number_round_uncertainty_check:nnnw #1#2#3#4 + { + \quark_if_recursion_tail_stop_do:Nn #4 { { 0 } { } { } } + \int_compare:nNnTF {#4} = 0 + { \__siunitx_number_round_uncertainty_check:nnnw } + { \__siunitx_number_round_uncertainty_check:Nnnnw #4 } + {#1} {#2} {#3} + } +\cs_new:Npn \__siunitx_number_round_uncertainty_check:Nnnnw #1#2#3#4#5 + \q_recursion_tail \q_recursion_stop + { + \int_compare:nNnTF { \tl_count:n {#1#5} } < { \tl_count:n {#4} } + { { 0 } { } { } } + { \__siunitx_number_round_uncertainty_aux:nnn {#2} {#3} {#4} } + } +\cs_new:Npn \__siunitx_number_round_uncertainty_aux:nnn #1#2#3 + { \exp_args:Nf \__siunitx_number_round_uncertainty:nnnn { \int_eval:n @@ -3318,9 +3338,12 @@ } \cs_new:Npn \__siunitx_number_round_uncertainty:nnnn #1#2#3#4 { - \exp_last_unbraced:Nf \__siunitx_number_round_uncertainty:nnnnn - { \__siunitx_number_round:nnn {#1} { } {#4} } - {#2} {#3} {#1} + \use:e + { + \exp_not:N \__siunitx_number_round_uncertainty:nnnnn + \__siunitx_number_round:nnn {#1} { } {#4} + {#2} {#3} {#1} + } } \cs_new:Npn \__siunitx_number_round_uncertainty:nnnnn #1#2#3#4#5 { |