summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-06-11 00:31:14 +0000
committerKarl Berry <karl@freefriends.org>2010-06-11 00:31:14 +0000
commite4f3b3ac68f64ab7c9de5f2b4b712bd5edf716b0 (patch)
treeb226750531102a0e4477beeb3afd9f08bd3dc41e /Master/texmf-dist/tex/latex
parent7e1403e5adf2df821d55ab025c9dfac07a8e4704 (diff)
siunitx 2.0d (10jun10)
git-svn-id: svn://tug.org/texlive/trunk@18878 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/config/siunitx-abbreviations.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/config/siunitx-binary.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/config/siunitx-version-1.cfg20
-rw-r--r--Master/texmf-dist/tex/latex/siunitx/siunitx.sty6532
4 files changed, 3278 insertions, 3278 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/config/siunitx-abbreviations.cfg b/Master/texmf-dist/tex/latex/siunitx/config/siunitx-abbreviations.cfg
index c317b8970c1..7d66ca50f87 100644
--- a/Master/texmf-dist/tex/latex/siunitx/config/siunitx-abbreviations.cfg
+++ b/Master/texmf-dist/tex/latex/siunitx/config/siunitx-abbreviations.cfg
@@ -13,7 +13,7 @@
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesExplFile {siunitx-abbreviations.cfg} {2010/06/07} {2.0c}
+\ProvidesExplFile {siunitx-abbreviations.cfg} {2010/06/10} {2.0d}
{siunitx: Abbreviated units}
\DeclareSIUnit \pA { \pico \ampere }
\DeclareSIUnit \nA { \nano \ampere }
diff --git a/Master/texmf-dist/tex/latex/siunitx/config/siunitx-binary.cfg b/Master/texmf-dist/tex/latex/siunitx/config/siunitx-binary.cfg
index ae339cf9794..297e235fd6c 100644
--- a/Master/texmf-dist/tex/latex/siunitx/config/siunitx-binary.cfg
+++ b/Master/texmf-dist/tex/latex/siunitx/config/siunitx-binary.cfg
@@ -13,7 +13,7 @@
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesExplFile {siunitx-binary.cfg} {2010/06/07} {2.0c}
+\ProvidesExplFile {siunitx-binary.cfg} {2010/06/10} {2.0d}
{siunitx: Binary units}
\DeclareBinaryPrefix \kibi { Ki } { 10 }
\DeclareBinaryPrefix \mebi { Mi } { 20 }
diff --git a/Master/texmf-dist/tex/latex/siunitx/config/siunitx-version-1.cfg b/Master/texmf-dist/tex/latex/siunitx/config/siunitx-version-1.cfg
index ee515005a75..ebddd042773 100644
--- a/Master/texmf-dist/tex/latex/siunitx/config/siunitx-version-1.cfg
+++ b/Master/texmf-dist/tex/latex/siunitx/config/siunitx-version-1.cfg
@@ -13,7 +13,7 @@
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
%%
-\ProvidesExplFile {siunitx-version-1.cfg} {2010/06/07} {2.0c}
+\ProvidesExplFile {siunitx-version-1.cfg} {2010/06/10} {2.0d}
{siunitx: Version 1 settings}
\keys_set:nn { siunitx }
{ load-configurations = { abbreviations , binary } }
@@ -628,11 +628,11 @@
}
\NewDocumentCommand \newunit { o m m } {
\IfNoValueTF {#1}
- { \_siunitx_declare_unit:Nnn #2 {#3} { } }
- { \_siunitx_declare_unit:Nnn #2 {#3} {#1} }
+ { \siunitx_declare_unit:Nnn #2 {#3} { } }
+ { \siunitx_declare_unit:Nnn #2 {#3} {#1} }
}
-\cs_set_eq:NN \renewunit \newunit
-\cs_set_eq:NN \provideunit \newunit
+\cs_new_eq:NN \renewunit \newunit
+\cs_new_eq:NN \provideunit \newunit
\NewDocumentCommand \newpower { o m m } {
\IfNoValueTF {#1}
{ \DeclareSIPrePower #2 {#3} }
@@ -664,10 +664,10 @@
{ \DeclareBinaryPrefix #2 {#3} {#4} }
}
\NewDocumentCommand \newqualifier { m m } {
- \_siunitx_declare_qualifier:Nn #1 {#2}
+ \siunitx_declare_qualifier:Nn #1 {#2}
}
-\cs_set_eq:NN \renewqualifier \newqualifier
-\cs_set_eq:NN \providequalifier \newqualifier
+\cs_new_eq:NN \renewqualifier \newqualifier
+\cs_new_eq:NN \providequalifier \newqualifier
\DeclareSIPrePower \Square { 2 }
\DeclareSIPrePower \ssquare { 2 }
\DeclareSIUnit \BAR { \bar }
@@ -734,9 +734,9 @@
\DeclareSIUnit \yb { \yocto \barn }
\NewDocumentCommand \requiresiconfigs { m } {
\keys_set:nn { siunitx } { load-configurations = version-1 }
- \clist_map_function:nN {#1} \_siunitx_requireconfig:n
+ \clist_map_function:nN {#1} \siunitx_requireconfig:n
}
-\cs_set_protected_nopar:Npn \_siunitx_requireconfig:n #1 {
+\cs_new_protected_nopar:Npn \siunitx_requireconfig:n #1 {
\tl_if_eq:nnT {#1} { synchem }
{ \keys_set:nn { siunitx } { load-configurations = chemistry } }
}
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
index 7f7e41f5d48..03faef9490a 100644
--- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
+++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty
@@ -14,12 +14,12 @@
%% ---------------------------------------------------------------
%%
\RequirePackage{expl3}
-\ProvidesExplPackage {siunitx} {2010/06/07} {2.0c}
+\ProvidesExplPackage {siunitx} {2010/06/10} {2.0d}
{A comprehensive (SI) units package}
\msg_set:nnnn { siunitx } { incompatible-package }
{ Package~'#1'~incompatible. }
{ The~#1~package~and~siunitx~are~incompatible. }
-\cs_set_protected_nopar:Npn \_siunitx_load_check:n #1 {
+\cs_new_protected_nopar:Npn \siunitx_load_check:n #1 {
\group_begin:
\@ifpackageloaded {#1}
{ \msg_error:nnx { siunitx } { incompatible-package } {#1} }
@@ -28,30 +28,30 @@
}
\clist_map_function:nN
{ SIunits , sistyle , siunits , SIstyle , unitsdef , fancyunits }
- \_siunitx_load_check:n
+ \siunitx_load_check:n
\AtBeginDocument {
\clist_map_function:nN { SIunits , sistyle , siunits , SIstyle }
- \_siunitx_load_check:n
+ \siunitx_load_check:n
}
\RequirePackage{ amstext , array , l3keys2e }
-\cs_set:Npn \_siunitx_tmp:w { }
-\bool_new:N \_l_siunitx_tmp_bool
-\box_new:N \_l_siunitx_tmp_box
-\int_new:N \_l_siunitx_tmp_int
-\tl_new:N \_l_siunitx_tmpa_tl
-\tl_new:N \_l_siunitx_tmpb_tl
-\bool_new:N \_l_siunitx_error_bool
-\cs_set_protected:Npn \_siunitx_error:nxx #1#2#3 {
- \bool_set_true:N \_l_siunitx_error_bool
+\cs_new:Npn \siunitx_tmp:w { }
+\bool_new:N \l_siunitx_tmp_bool
+\box_new:N \l_siunitx_tmp_box
+\int_new:N \l_siunitx_tmp_int
+\tl_new:N \l_siunitx_tmpa_tl
+\tl_new:N \l_siunitx_tmpb_tl
+\bool_new:N \l_siunitx_error_bool
+\cs_new_protected:Npn \siunitx_error:nxx #1#2#3 {
+ \bool_set_true:N \l_siunitx_error_bool
\msg_error:nnxx { siunitx } {#1} {#2} {#3}
}
-\cs_set_protected:Npn \_siunitx_error:nx #1#2 {
- \_siunitx_error:nxx {#1} {#2} { }
+\cs_new_protected:Npn \siunitx_error:nx #1#2 {
+ \siunitx_error:nxx {#1} {#2} { }
}
-\cs_set_protected:Npn \_siunitx_error:n #1 {
- \_siunitx_error:nxx {#1} { } { }
+\cs_new_protected:Npn \siunitx_error:n #1 {
+ \siunitx_error:nxx {#1} { } { }
}
-\cs_generate_variant:Nn \_siunitx_error:nx { nV }
+\cs_generate_variant:Nn \siunitx_error:nx { nV }
\AtBeginDocument {
\cs_if_free:cT { T@TS1 }
{
@@ -59,181 +59,181 @@
\DeclareFontSubstitution { TS1 } { cmr } { m } { n }
}
}
-\DeclareTextSymbolDefault \_c_siunitx_minus_tl { TS1 }
-\DeclareTextSymbol \_c_siunitx_minus_tl { TS1 } { 61 }
-\DeclareTextSymbol \_c_siunitx_mu_tl { TS1 } { 181 }
-\DeclareTextSymbolDefault \_c_siunitx_mu_tl { TS1 }
-\tl_new:N \_c_siunitx_omega_tl
-\tl_set:Nn \_c_siunitx_omega_tl { \Omega }
+\DeclareTextSymbolDefault \c_siunitx_minus_tl { TS1 }
+\DeclareTextSymbol \c_siunitx_minus_tl { TS1 } { 61 }
+\DeclareTextSymbol \c_siunitx_mu_tl { TS1 } { 181 }
+\DeclareTextSymbolDefault \c_siunitx_mu_tl { TS1 }
+\tl_new:N \c_siunitx_omega_tl
+\tl_set:Nn \c_siunitx_omega_tl { \Omega }
\AtBeginDocument {
\cs_if_exist:NT \upOmega
- { \tl_set:Nn \_c_siunitx_omega_tl { \upOmega } }
-}
-\cs_set_protected:Npn \_siunitx_tl_put_left_math:Nn #1#2 {
- \tl_put_left:Nn #1 { \_siunitx_ensuremath:n {#2} }
-}
-\cs_generate_variant:Nn \_siunitx_tl_put_left_math:Nn { NV }
-\cs_generate_variant:Nn \_siunitx_tl_put_left_math:Nn { cV }
-\cs_set_protected:Npn \_siunitx_tl_put_right_math:Nn #1#2 {
- \tl_put_right:Nn #1 { \_siunitx_ensuremath:n {#2} }
-}
-\cs_generate_variant:Nn \_siunitx_tl_put_right_math:Nn { NV }
-\cs_generate_variant:Nn \_siunitx_tl_put_right_math:Nn { cV }
-\seq_new:N \_c_siunitx_old_options_seq
-\cs_set_protected_nopar:Npn \_siunitx_tmp:w #1 {
- \seq_put_right:Nx \_c_siunitx_old_options_seq { \tl_to_str:n {#1} }
-}
-\_siunitx_tmp:w { addsign }
-\_siunitx_tmp:w { allowlitunits }
-\_siunitx_tmp:w { allowoptarg }
-\_siunitx_tmp:w { allowzeroexp }
-\_siunitx_tmp:w { alsoload }
-\_siunitx_tmp:w { angformat }
-\_siunitx_tmp:w { anglesep }
-\_siunitx_tmp:w { astroang }
-\_siunitx_tmp:w { closeerr }
-\_siunitx_tmp:w { closrfrac }
-\_siunitx_tmp:w { closerange }
-\_siunitx_tmp:w { colour }
-\_siunitx_tmp:w { colorall }
-\_siunitx_tmp:w { colourall }
-\_siunitx_tmp:w { colorneg }
-\_siunitx_tmp:w { colourneg }
-\_siunitx_tmp:w { colourunits }
-\_siunitx_tmp:w { colourunits }
-\_siunitx_tmp:w { colorvalues }
-\_siunitx_tmp:w { colourvalues }
-\_siunitx_tmp:w { decimalsymbol }
-\_siunitx_tmp:w { debug }
-\_siunitx_tmp:w { detectdisplay }
-\_siunitx_tmp:w { digitsep }
-\_siunitx_tmp:w { dp }
-\_siunitx_tmp:w { emulate }
-\_siunitx_tmp:w { errspace }
-\_siunitx_tmp:w { eVcorra }
-\_siunitx_tmp:w { eVcorrb }
-\_siunitx_tmp:w { expbase }
-\_siunitx_tmp:w { expproduct }
-\_siunitx_tmp:w { fixdp }
-\_siunitx_tmp:w { fixsf }
-\_siunitx_tmp:w { fraction }
-\_siunitx_tmp:w { inlinebold }
-\_siunitx_tmp:w { locale }
-\_siunitx_tmp:w { loctolang }
-\_siunitx_tmp:w { log }
-\_siunitx_tmp:w { load }
-\_siunitx_tmp:w { mathOmega }
-\_siunitx_tmp:w { mathcelsius }
-\_siunitx_tmp:w { mathdegree }
-\_siunitx_tmp:w { mathminute }
-\_siunitx_tmp:w { mathmu }
-\_siunitx_tmp:w { mathringA }
-\_siunitx_tmp:w { mathrm }
-\_siunitx_tmp:w { mathsOmega }
-\_siunitx_tmp:w { mathscelsius }
-\_siunitx_tmp:w { mathsdegree }
-\_siunitx_tmp:w { mathsecond }
-\_siunitx_tmp:w { mathsf }
-\_siunitx_tmp:w { mathsminute }
-\_siunitx_tmp:w { mathsmu }
-\_siunitx_tmp:w { mathsringA }
-\_siunitx_tmp:w { mathsrm }
-\_siunitx_tmp:w { mathssecond }
-\_siunitx_tmp:w { mathssf }
-\_siunitx_tmp:w { mathstt }
-\_siunitx_tmp:w { mathtt }
-\_siunitx_tmp:w { negcolor }
-\_siunitx_tmp:w { negcolour }
-\_siunitx_tmp:w { noload }
-\_siunitx_tmp:w { numaddn }
-\_siunitx_tmp:w { numcloseerr }
-\_siunitx_tmp:w { numdecimal }
-\_siunitx_tmp:w { numdigits }
-\_siunitx_tmp:w { numdiv }
-\_siunitx_tmp:w { numexp }
-\_siunitx_tmp:w { numgobble }
-\_siunitx_tmp:w { numopenerr }
-\_siunitx_tmp:w { numprod }
-\_siunitx_tmp:w { numsign }
-\_siunitx_tmp:w { obeyall }
-\_siunitx_tmp:w { obeybold }
-\_siunitx_tmp:w { obeyfamily }
-\_siunitx_tmp:w { obeymode }
-\_siunitx_tmp:w { obeyitalic }
-\_siunitx_tmp:w { openerr }
-\_siunitx_tmp:w { openfrac }
-\_siunitx_tmp:w { openrange }
-\_siunitx_tmp:w { padangle }
-\_siunitx_tmp:w { padnumber }
-\_siunitx_tmp:w { per }
-\_siunitx_tmp:w { prefixbase }
-\_siunitx_tmp:w { prefixproduct }
-\_siunitx_tmp:w { prefixsymbolic }
-\_siunitx_tmp:w { prespace }
-\_siunitx_tmp:w { redefsymbols }
-\_siunitx_tmp:w { repeatunits }
-\_siunitx_tmp:w { retainplus }
-\_siunitx_tmp:w { seperr }
-\_siunitx_tmp:w { sepfour }
-\_siunitx_tmp:w { sf }
-\_siunitx_tmp:w { sign }
-\_siunitx_tmp:w { slash }
-\_siunitx_tmp:w { stickyper }
-\_siunitx_tmp:w { stricarc }
-\_siunitx_tmp:w { tabalign }
-\_siunitx_tmp:w { tabalignexp }
-\_siunitx_tmp:w { tabautofit }
-\_siunitx_tmp:w { tabformat }
-\_siunitx_tmp:w { tabnumalign }
-\_siunitx_tmp:w { tabparseonly }
-\_siunitx_tmp:w { tabtextalign }
-\_siunitx_tmp:w { textOmega }
-\_siunitx_tmp:w { textcelsius }
-\_siunitx_tmp:w { textdegree }
-\_siunitx_tmp:w { textminute }
-\_siunitx_tmp:w { textmode }
-\_siunitx_tmp:w { textmu }
-\_siunitx_tmp:w { textringA }
-\_siunitx_tmp:w { textrm }
-\_siunitx_tmp:w { textsecond }
-\_siunitx_tmp:w { textsf }
-\_siunitx_tmp:w { texttt }
-\_siunitx_tmp:w { tightpm }
-\_siunitx_tmp:w { tophrase }
-\_siunitx_tmp:w { trapamigerr }
-\_siunitx_tmp:w { trapambigfrac }
-\_siunitx_tmp:w { trapambigrange }
-\_siunitx_tmp:w { unitcolor }
-\_siunitx_tmp:w { unitcolour }
-\_siunitx_tmp:w { unitmathrm }
-\_siunitx_tmp:w { unitmathsf }
-\_siunitx_tmp:w { unitmathsrm }
-\_siunitx_tmp:w { unitmathssf }
-\_siunitx_tmp:w { unitmathstt }
-\_siunitx_tmp:w { unitmathtt }
-\_siunitx_tmp:w { unitmode }
-\_siunitx_tmp:w { unitsep }
-\_siunitx_tmp:w { unitspace }
-\_siunitx_tmp:w { valuecolor }
-\_siunitx_tmp:w { valuecolour }
-\_siunitx_tmp:w { valuemathrm }
-\_siunitx_tmp:w { valuemathsf }
-\_siunitx_tmp:w { valuemathsrm }
-\_siunitx_tmp:w { valuemathssf }
-\_siunitx_tmp:w { valuemathstt }
-\_siunitx_tmp:w { valuemathtt }
-\_siunitx_tmp:w { valuemode }
-\_siunitx_tmp:w { valuesep }
-\_siunitx_tmp:w { xpace }
+ { \tl_set:Nn \c_siunitx_omega_tl { \upOmega } }
+}
+\cs_new_protected:Npn \siunitx_tl_put_left_math:Nn #1#2 {
+ \tl_put_left:Nn #1 { \siunitx_ensuremath:n {#2} }
+}
+\cs_generate_variant:Nn \siunitx_tl_put_left_math:Nn { NV }
+\cs_generate_variant:Nn \siunitx_tl_put_left_math:Nn { cV }
+\cs_new_protected:Npn \siunitx_tl_put_right_math:Nn #1#2 {
+ \tl_put_right:Nn #1 { \siunitx_ensuremath:n {#2} }
+}
+\cs_generate_variant:Nn \siunitx_tl_put_right_math:Nn { NV }
+\cs_generate_variant:Nn \siunitx_tl_put_right_math:Nn { cV }
+\seq_new:N \c_siunitx_old_options_seq
+\cs_set_protected_nopar:Npn \siunitx_tmp:w #1 {
+ \seq_put_right:Nx \c_siunitx_old_options_seq { \tl_to_str:n {#1} }
+}
+\siunitx_tmp:w { addsign }
+\siunitx_tmp:w { allowlitunits }
+\siunitx_tmp:w { allowoptarg }
+\siunitx_tmp:w { allowzeroexp }
+\siunitx_tmp:w { alsoload }
+\siunitx_tmp:w { angformat }
+\siunitx_tmp:w { anglesep }
+\siunitx_tmp:w { astroang }
+\siunitx_tmp:w { closeerr }
+\siunitx_tmp:w { closrfrac }
+\siunitx_tmp:w { closerange }
+\siunitx_tmp:w { colour }
+\siunitx_tmp:w { colorall }
+\siunitx_tmp:w { colourall }
+\siunitx_tmp:w { colorneg }
+\siunitx_tmp:w { colourneg }
+\siunitx_tmp:w { colourunits }
+\siunitx_tmp:w { colourunits }
+\siunitx_tmp:w { colorvalues }
+\siunitx_tmp:w { colourvalues }
+\siunitx_tmp:w { decimalsymbol }
+\siunitx_tmp:w { debug }
+\siunitx_tmp:w { detectdisplay }
+\siunitx_tmp:w { digitsep }
+\siunitx_tmp:w { dp }
+\siunitx_tmp:w { emulate }
+\siunitx_tmp:w { errspace }
+\siunitx_tmp:w { eVcorra }
+\siunitx_tmp:w { eVcorrb }
+\siunitx_tmp:w { expbase }
+\siunitx_tmp:w { expproduct }
+\siunitx_tmp:w { fixdp }
+\siunitx_tmp:w { fixsf }
+\siunitx_tmp:w { fraction }
+\siunitx_tmp:w { inlinebold }
+\siunitx_tmp:w { locale }
+\siunitx_tmp:w { loctolang }
+\siunitx_tmp:w { log }
+\siunitx_tmp:w { load }
+\siunitx_tmp:w { mathOmega }
+\siunitx_tmp:w { mathcelsius }
+\siunitx_tmp:w { mathdegree }
+\siunitx_tmp:w { mathminute }
+\siunitx_tmp:w { mathmu }
+\siunitx_tmp:w { mathringA }
+\siunitx_tmp:w { mathrm }
+\siunitx_tmp:w { mathsOmega }
+\siunitx_tmp:w { mathscelsius }
+\siunitx_tmp:w { mathsdegree }
+\siunitx_tmp:w { mathsecond }
+\siunitx_tmp:w { mathsf }
+\siunitx_tmp:w { mathsminute }
+\siunitx_tmp:w { mathsmu }
+\siunitx_tmp:w { mathsringA }
+\siunitx_tmp:w { mathsrm }
+\siunitx_tmp:w { mathssecond }
+\siunitx_tmp:w { mathssf }
+\siunitx_tmp:w { mathstt }
+\siunitx_tmp:w { mathtt }
+\siunitx_tmp:w { negcolor }
+\siunitx_tmp:w { negcolour }
+\siunitx_tmp:w { noload }
+\siunitx_tmp:w { numaddn }
+\siunitx_tmp:w { numcloseerr }
+\siunitx_tmp:w { numdecimal }
+\siunitx_tmp:w { numdigits }
+\siunitx_tmp:w { numdiv }
+\siunitx_tmp:w { numexp }
+\siunitx_tmp:w { numgobble }
+\siunitx_tmp:w { numopenerr }
+\siunitx_tmp:w { numprod }
+\siunitx_tmp:w { numsign }
+\siunitx_tmp:w { obeyall }
+\siunitx_tmp:w { obeybold }
+\siunitx_tmp:w { obeyfamily }
+\siunitx_tmp:w { obeymode }
+\siunitx_tmp:w { obeyitalic }
+\siunitx_tmp:w { openerr }
+\siunitx_tmp:w { openfrac }
+\siunitx_tmp:w { openrange }
+\siunitx_tmp:w { padangle }
+\siunitx_tmp:w { padnumber }
+\siunitx_tmp:w { per }
+\siunitx_tmp:w { prefixbase }
+\siunitx_tmp:w { prefixproduct }
+\siunitx_tmp:w { prefixsymbolic }
+\siunitx_tmp:w { prespace }
+\siunitx_tmp:w { redefsymbols }
+\siunitx_tmp:w { repeatunits }
+\siunitx_tmp:w { retainplus }
+\siunitx_tmp:w { seperr }
+\siunitx_tmp:w { sepfour }
+\siunitx_tmp:w { sf }
+\siunitx_tmp:w { sign }
+\siunitx_tmp:w { slash }
+\siunitx_tmp:w { stickyper }
+\siunitx_tmp:w { stricarc }
+\siunitx_tmp:w { tabalign }
+\siunitx_tmp:w { tabalignexp }
+\siunitx_tmp:w { tabautofit }
+\siunitx_tmp:w { tabformat }
+\siunitx_tmp:w { tabnumalign }
+\siunitx_tmp:w { tabparseonly }
+\siunitx_tmp:w { tabtextalign }
+\siunitx_tmp:w { textOmega }
+\siunitx_tmp:w { textcelsius }
+\siunitx_tmp:w { textdegree }
+\siunitx_tmp:w { textminute }
+\siunitx_tmp:w { textmode }
+\siunitx_tmp:w { textmu }
+\siunitx_tmp:w { textringA }
+\siunitx_tmp:w { textrm }
+\siunitx_tmp:w { textsecond }
+\siunitx_tmp:w { textsf }
+\siunitx_tmp:w { texttt }
+\siunitx_tmp:w { tightpm }
+\siunitx_tmp:w { tophrase }
+\siunitx_tmp:w { trapamigerr }
+\siunitx_tmp:w { trapambigfrac }
+\siunitx_tmp:w { trapambigrange }
+\siunitx_tmp:w { unitcolor }
+\siunitx_tmp:w { unitcolour }
+\siunitx_tmp:w { unitmathrm }
+\siunitx_tmp:w { unitmathsf }
+\siunitx_tmp:w { unitmathsrm }
+\siunitx_tmp:w { unitmathssf }
+\siunitx_tmp:w { unitmathstt }
+\siunitx_tmp:w { unitmathtt }
+\siunitx_tmp:w { unitmode }
+\siunitx_tmp:w { unitsep }
+\siunitx_tmp:w { unitspace }
+\siunitx_tmp:w { valuecolor }
+\siunitx_tmp:w { valuecolour }
+\siunitx_tmp:w { valuemathrm }
+\siunitx_tmp:w { valuemathsf }
+\siunitx_tmp:w { valuemathsrm }
+\siunitx_tmp:w { valuemathssf }
+\siunitx_tmp:w { valuemathstt }
+\siunitx_tmp:w { valuemathtt }
+\siunitx_tmp:w { valuemode }
+\siunitx_tmp:w { valuesep }
+\siunitx_tmp:w { xpace }
\tl_new:N \l_siunitx_key_tl
\keys_define:nn { siunitx } {
unknown .code:n =
{
- \seq_if_in:NVTF \_c_siunitx_old_options_seq \l_keys_key_tl
+ \seq_if_in:NVTF \c_siunitx_old_options_seq \l_keys_key_tl
{
\msg_warning:nnx { siunitx } { version-1-option }
{ \exp_not:V \l_keys_key_tl }
- \tl_set:Nx \_l_siunitx_key_tl
+ \tl_set:Nx \l_siunitx_key_tl
{
\keys_set:nn { siunitx }
{
@@ -242,7 +242,7 @@
}
}
\keys_set:nn { siunitx } { load-configurations = version-1 }
- \tl_use:N \_l_siunitx_key_tl
+ \tl_use:N \l_siunitx_key_tl
}
{
\msg_error:nnx { siunitx } { unknown-option }
@@ -254,7 +254,7 @@
\keys_define:nn { siunitx } {
unknown .code:n =
{
- \seq_if_in:NVTF \_c_siunitx_old_options_seq \l_keys_key_tl
+ \seq_if_in:NVTF \c_siunitx_old_options_seq \l_keys_key_tl
{
\msg_error:nnx { siunitx } { version-1-option }
{ \exp_not:V \l_keys_key_tl }
@@ -266,11 +266,11 @@
}
}
}
-\clist_new:N \_l_siunitx_option_deactivate_clist
-\cs_set_protected_nopar:Npn \_siunitx_option_deactivate:n #1 {
- \clist_put_right:Nn \_l_siunitx_option_deactivate_clist {#1}
+\clist_new:N \l_siunitx_option_deactivate_clist
+\cs_new_protected_nopar:Npn \siunitx_option_deactivate:n #1 {
+ \clist_put_right:Nn \l_siunitx_option_deactivate_clist {#1}
}
-\cs_set_protected_nopar:Npn \_siunitx_option_deactivate_aux:n #1 {
+\cs_new_protected_nopar:Npn \siunitx_option_deactivate_aux:n #1 {
\keys_define:nn { siunitx }
{
#1 .code:n =
@@ -278,8 +278,8 @@
}
}
\AtBeginDocument {
- \clist_map_function:NN \_l_siunitx_option_deactivate_clist
- \_siunitx_option_deactivate_aux:n
+ \clist_map_function:NN \l_siunitx_option_deactivate_clist
+ \siunitx_option_deactivate_aux:n
}
\cs_generate_variant:Nn \prop_del:Nn { c }
\cs_generate_variant:Nn \prop_put:Nnn { cnV }
@@ -291,9 +291,9 @@
{ \char_set_lccode:nn { `#1 } { `#1 } }
\tl_to_lowercase:n {
\group_end:
- \prg_set_conditional:Npnn \_siunitx_cs_if_tl:N #1 { T , F, TF , p }
+ \prg_new_conditional:Npnn \siunitx_cs_if_tl:N #1 { T , F, TF , p }
{
- \exp_after:wN \_siunitx_cs_if_tl_aux:w
+ \exp_after:wN \siunitx_cs_if_tl_aux:w
\token_to_meaning:N #1 MACRO \q_nil
{
\cs_if_exist:cTF { \cs_to_str:N #1 ~ }
@@ -302,54 +302,54 @@
}
{ \prg_return_false: }
}
- \cs_set_nopar:Npn \_siunitx_cs_if_tl_aux:w #1 MACRO #2 \q_nil
+ \cs_new_nopar:Npn \siunitx_cs_if_tl_aux:w #1 MACRO #2 \q_nil
{ \tl_if_empty:nTF {#1} }
- \prg_set_conditional:Npnn \_siunitx_cs_if_macro:N #1
+ \prg_new_conditional:Npnn \siunitx_cs_if_macro:N #1
{ T , F , TF , p }
{
- \exp_after:wN \_siunitx_cs_if_tl_aux:w
+ \exp_after:wN \siunitx_cs_if_tl_aux:w
\token_to_meaning:N #1 MACRO \q_nil
{ \prg_return_true: }
{ \prg_return_false: }
}
}
-\cs_set_eq:NN \_siunitx_ensuremath:n \ensuremath
+\cs_new_eq:NN \siunitx_ensuremath:n \ensuremath
\AtBeginDocument {
\@ifpackageloaded { tex4ht }
{
- \cs_set_eq:NN \_siunitx_ensuremath:n \use:n
+ \cs_set_eq:NN \siunitx_ensuremath:n \use:n
\keys_set:nn { siunitx } { mode = text }
}
{ }
}
-\cs_set_protected_nopar:Npn \_siunitx_set_math_fam:n #1 {
- \int_new:c { _c_siunitx_math #1 _int }
+\cs_new_protected_nopar:Npn \siunitx_set_math_fam:n #1 {
+ \int_new:c { c_siunitx_math #1 _int }
\group_begin:
- \hbox_set:Nn \_l_siunitx_tmp_box
+ \hbox_set:Nn \l_siunitx_tmp_box
{
\ensuremath
{
\use:c { math #1 }
{
- \int_gset:cn { _c_siunitx_math #1 _int } { \fam }
+ \int_gset:cn { c_siunitx_math #1 _int } { \fam }
}
}
}
\group_end:
}
\tl_put_right:Nn \document {
- \_siunitx_set_math_fam:n { sf }
- \_siunitx_set_math_fam:n { tt }
+ \siunitx_set_math_fam:n { sf }
+ \siunitx_set_math_fam:n { tt }
}
-\cs_set_protected_nopar:Npn \_siunitx_set_text_fam:n #1 {
- \tl_new:c { _c_siunitx_text #1 _tl }
- \tl_set:cx { _c_siunitx_text #1 _tl } { \use:c { #1 default } }
+\cs_new_protected_nopar:Npn \siunitx_set_text_fam:n #1 {
+ \tl_new:c { c_siunitx_text #1 _tl }
+ \tl_set:cx { c_siunitx_text #1 _tl } { \use:c { #1 default } }
}
\AtBeginDocument {
- \_siunitx_set_text_fam:n { sf }
- \_siunitx_set_text_fam:n { tt }
+ \siunitx_set_text_fam:n { sf }
+ \siunitx_set_text_fam:n { tt }
}
-\tl_new:N \_l_siunitx_detect_inline_weight_tl
+\tl_new:N \l_siunitx_detect_inline_weight_tl
\keys_define:nn { siunitx } {
detect-all .choice:,
detect-all .default:n = true,
@@ -368,21 +368,21 @@
detect-weight = true
},
detect-display-math .bool_set:N =
- \_l_siunitx_detect_display_math_bool,
- detect-family .bool_set:N = \_l_siunitx_detect_family_bool,
+ \l_siunitx_detect_display_math_bool,
+ detect-family .bool_set:N = \l_siunitx_detect_family_bool,
detect-inline-weight .choice:,
detect-inline-weight .value_required:,
detect-inline-weight /
combined .code:n =
- { \tl_set:Nn \_l_siunitx_detect_inline_weight_tl { combined } },
+ { \tl_set:Nn \l_siunitx_detect_inline_weight_tl { combined } },
detect-inline-weight /
math .code:n =
- { \tl_set:Nn \_l_siunitx_detect_inline_weight_tl { math } },
+ { \tl_set:Nn \l_siunitx_detect_inline_weight_tl { math } },
detect-inline-weight /
text .code:n =
- { \tl_set:Nn \_l_siunitx_detect_inline_weight_tl { text } },
- detect-italic .bool_set:N = \_l_siunitx_detect_italic_bool,
- detect-mode .bool_set:N = \_l_siunitx_detect_mode_bool,
+ { \tl_set:Nn \l_siunitx_detect_inline_weight_tl { text } },
+ detect-italic .bool_set:N = \l_siunitx_detect_italic_bool,
+ detect-mode .bool_set:N = \l_siunitx_detect_mode_bool,
detect-none .choice:,
detect-none .default:n = true,
detect-none / false .meta:n =
@@ -399,66 +399,66 @@
detect-mode = false,
detect-weight = false
},
- detect-weight .bool_set:N = \_l_siunitx_detect_weight_bool
-}
-\bool_new:N \_l_siunitx_font_set_bool
-\bool_new:N \_l_siunitx_font_math_mode_bool
-\tl_new:N \_l_siunitx_font_family_tl
-\cs_set_nopar:Npn \_siunitx_font_italic: { }
-\cs_set_nopar:Npn \_siunitx_font_weight: { }
-\cs_set_protected_nopar:Npn \_siunitx_detect_font: {
- \bool_if:NF \_l_siunitx_font_set_bool
- {
- \_siunitx_detect_font_init:
- \bool_if:NT \_l_siunitx_detect_weight_bool
- { \_siunitx_detect_font_weight: }
- \bool_if:NT \_l_siunitx_detect_family_bool
- { \_siunitx_detect_font_family: }
- \bool_if:NT \_l_siunitx_detect_italic_bool
- { \_siunitx_detect_font_italic: }
- \bool_if:NT \_l_siunitx_detect_mode_bool
- { \_siunitx_detect_font_mode: }
- }
-}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_init: {
- \bool_set_true:N \_l_siunitx_font_set_bool
- \cs_set:Npn \_siunitx_font_weight:
+ detect-weight .bool_set:N = \l_siunitx_detect_weight_bool
+}
+\bool_new:N \l_siunitx_font_set_bool
+\bool_new:N \l_siunitx_font_math_mode_bool
+\tl_new:N \l_siunitx_font_family_tl
+\cs_new_nopar:Npn \siunitx_font_italic: { }
+\cs_new_nopar:Npn \siunitx_font_weight: { }
+\cs_new_protected_nopar:Npn \siunitx_detect_font: {
+ \bool_if:NF \l_siunitx_font_set_bool
+ {
+ \siunitx_detect_font_init:
+ \bool_if:NT \l_siunitx_detect_weight_bool
+ { \siunitx_detect_font_weight: }
+ \bool_if:NT \l_siunitx_detect_family_bool
+ { \siunitx_detect_font_family: }
+ \bool_if:NT \l_siunitx_detect_italic_bool
+ { \siunitx_detect_font_italic: }
+ \bool_if:NT \l_siunitx_detect_mode_bool
+ { \siunitx_detect_font_mode: }
+ }
+}
+\cs_new_protected_nopar:Npn \siunitx_detect_font_init: {
+ \bool_set_true:N \l_siunitx_font_set_bool
+ \cs_set:Npn \siunitx_font_weight:
{
\unboldmath
\mdseries
}
- \cs_set:Npn \_siunitx_font_italic: { \upshape }
- \tl_set:Nn \_l_siunitx_font_family_tl { rm }
- \bool_set_true:N \_l_siunitx_font_math_mode_bool
+ \cs_set:Npn \siunitx_font_italic: { \upshape }
+ \tl_set:Nn \l_siunitx_font_family_tl { rm }
+ \bool_set_true:N \l_siunitx_font_math_mode_bool
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_weight: {
+\cs_new_protected_nopar:Npn \siunitx_detect_font_weight: {
\mode_if_math:TF
{
\mode_if_inner:TF
{
\use:c
{
- _siunitx_detect_font_weight_
- \_l_siunitx_detect_inline_weight_tl
+ siunitx_detect_font_weight_
+ \l_siunitx_detect_inline_weight_tl
:
}
}
{
- \bool_if:NTF \_l_siunitx_detect_display_math_bool
- { \_siunitx_detect_font_weight_math: }
- { \_siunitx_detect_font_weight_text: }
+ \bool_if:NTF \l_siunitx_detect_display_math_bool
+ { \siunitx_detect_font_weight_math: }
+ { \siunitx_detect_font_weight_text: }
}
}
- { \_siunitx_detect_font_weight_text: }
+ { \siunitx_detect_font_weight_text: }
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_weight_combined: {
- \_siunitx_detect_font_weight_math:
- \_siunitx_detect_font_weight_text:
+\cs_new_protected_nopar:Npn \siunitx_detect_font_weight_combined: {
+ \siunitx_detect_font_weight_math:
+ \siunitx_detect_font_weight_text:
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_weight_math: {
+\cs_new_protected_nopar:Npn \siunitx_detect_font_weight_math: {
\tl_if_eq:nVT { bold } \math@version
{
- \cs_set:Npn \_siunitx_font_weight:
+ \cs_set:Npn \siunitx_font_weight:
{
\boldmath
\bfseries
@@ -466,108 +466,108 @@
}
\tl_if_eq:nVT { light } \math@version
{
- \cs_set:Npn \_siunitx_font_weight:
+ \cs_set:Npn \siunitx_font_weight:
{ \lseries }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_weight_text: {
- \tl_set:Nx \_l_siunitx_tmpa_tl { \exp_args:NV \tl_head:n \f@series }
- \tl_if_eq:nVT { b } \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_detect_font_weight_text: {
+ \tl_set:Nx \l_siunitx_tmpa_tl { \exp_args:NV \tl_head:n \f@series }
+ \tl_if_eq:nVT { b } \l_siunitx_tmpa_tl
{
- \cs_set:Npn \_siunitx_font_weight:
+ \cs_set:Npn \siunitx_font_weight:
{
\boldmath
\bfseries
}
}
- \tl_if_eq:nVT { l } \_l_siunitx_tmpa_tl
+ \tl_if_eq:nVT { l } \l_siunitx_tmpa_tl
{
- \cs_set:Npn \_siunitx_font_weight:
+ \cs_set:Npn \siunitx_font_weight:
{ \lseries }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_family: {
- \_siunitx_detect_font_family_text:
- \bool_if:NT \_l_siunitx_detect_display_math_bool
+\cs_new_protected_nopar:Npn \siunitx_detect_font_family: {
+ \siunitx_detect_font_family_text:
+ \bool_if:NT \l_siunitx_detect_display_math_bool
{
\mode_if_math:T
- { \mode_if_inner:F { \_siunitx_detect_font_family_math: } }
+ { \mode_if_inner:F { \siunitx_detect_font_family_math: } }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_family_math: {
- \tl_set:Nn \_l_siunitx_font_family_tl { rm }
- \intexpr_compare:nNnT { \fam } = { \_c_siunitx_mathsf_int }
- { \tl_set:Nn \_l_siunitx_font_family_tl { sf } }
- \intexpr_compare:nNnT { \fam } = { \_c_siunitx_mathtt_int }
- { \tl_set:Nn \_l_siunitx_font_family_tl { tt } }
+\cs_new_protected_nopar:Npn \siunitx_detect_font_family_math: {
+ \tl_set:Nn \l_siunitx_font_family_tl { rm }
+ \intexpr_compare:nNnT { \fam } = { \c_siunitx_mathsf_int }
+ { \tl_set:Nn \l_siunitx_font_family_tl { sf } }
+ \intexpr_compare:nNnT { \fam } = { \c_siunitx_mathtt_int }
+ { \tl_set:Nn \l_siunitx_font_family_tl { tt } }
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_family_text: {
- \tl_if_eq:NNT \f@family \_c_siunitx_textsf_tl
- { \tl_set:Nn \_l_siunitx_font_family_tl { sf } }
- \tl_if_eq:NNT \f@family \_c_siunitx_texttt_tl
- { \tl_set:Nn \_l_siunitx_font_family_tl { tt } }
+\cs_new_protected_nopar:Npn \siunitx_detect_font_family_text: {
+ \tl_if_eq:NNT \f@family \c_siunitx_textsf_tl
+ { \tl_set:Nn \l_siunitx_font_family_tl { sf } }
+ \tl_if_eq:NNT \f@family \c_siunitx_texttt_tl
+ { \tl_set:Nn \l_siunitx_font_family_tl { tt } }
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_italic: {
+\cs_new_protected_nopar:Npn \siunitx_detect_font_italic: {
\tl_if_eq:nVT { it } \f@shape
- { \cs_set_nopar:Npn \_siunitx_font_italic: { \itshape } }
+ { \cs_set_nopar:Npn \siunitx_font_italic: { \itshape } }
}
-\cs_set_protected_nopar:Npn \_siunitx_detect_font_mode: {
+\cs_new_protected_nopar:Npn \siunitx_detect_font_mode: {
\mode_if_math:F
- { \bool_set_false:N \_l_siunitx_font_math_mode_bool }
-}
-\bool_new:N \_l_siunitx_number_math_mode_bool
-\bool_new:N \_l_siunitx_unit_math_mode_bool
-\cs_set:Npn \_siunitx_number_mathrm:n #1 { }
-\cs_set:Npn \_siunitx_number_mathsf:n #1 { }
-\cs_set:Npn \_siunitx_number_mathtt:n #1 { }
-\cs_set_nopar:Npn \_siunitx_number_textrm: { }
-\cs_set_nopar:Npn \_siunitx_number_textsf: { }
-\cs_set_nopar:Npn \_siunitx_number_texttt: { }
+ { \bool_set_false:N \l_siunitx_font_math_mode_bool }
+}
+\bool_new:N \l_siunitx_number_math_mode_bool
+\bool_new:N \l_siunitx_unit_math_mode_bool
+\cs_new:Npn \siunitx_number_mathrm:n #1 { }
+\cs_new:Npn \siunitx_number_mathsf:n #1 { }
+\cs_new:Npn \siunitx_number_mathtt:n #1 { }
+\cs_new_nopar:Npn \siunitx_number_textrm: { }
+\cs_new_nopar:Npn \siunitx_number_textsf: { }
+\cs_new_nopar:Npn \siunitx_number_texttt: { }
\keys_define:nn { siunitx } {
- number-color .tl_set:N = \_l_siunitx_number_color_tl,
+ number-color .tl_set:N = \l_siunitx_number_color_tl,
number-math-rm .code:n =
- { \cs_set_nopar:Npn \_siunitx_number_mathrm:n ##1 { #1 {##1} } },
+ { \cs_set_nopar:Npn \siunitx_number_mathrm:n ##1 { #1 {##1} } },
number-math-sf .code:n =
- { \cs_set_nopar:Npn \_siunitx_number_mathsf:n ##1 { #1 {##1} } },
+ { \cs_set_nopar:Npn \siunitx_number_mathsf:n ##1 { #1 {##1} } },
number-math-tt .code:n =
- { \cs_set_nopar:Npn \_siunitx_number_mathtt:n ##1 { #1 {##1} } },
+ { \cs_set_nopar:Npn \siunitx_number_mathtt:n ##1 { #1 {##1} } },
number-mode .choice:,
number-mode / math .code:n =
- { \bool_set_true:N \_l_siunitx_number_math_mode_bool },
+ { \bool_set_true:N \l_siunitx_number_math_mode_bool },
number-mode / text .code:n =
- { \bool_set_false:N \_l_siunitx_number_math_mode_bool },
+ { \bool_set_false:N \l_siunitx_number_math_mode_bool },
number-text-rm .code:n =
- { \cs_set_nopar:Npn \_siunitx_number_textrm: {#1} },
+ { \cs_set_nopar:Npn \siunitx_number_textrm: {#1} },
number-text-sf .code:n =
- { \cs_set_nopar:Npn \_siunitx_number_textsf: {#1} },
+ { \cs_set_nopar:Npn \siunitx_number_textsf: {#1} },
number-text-tt .code:n =
- { \cs_set_nopar:Npn \_siunitx_number_texttt: {#1} }
-}
-\cs_set_nopar:Npn \_siunitx_unit_mathrm: { }
-\cs_set_nopar:Npn \_siunitx_unit_mathsf: { }
-\cs_set_nopar:Npn \_siunitx_unit_mathtt: { }
-\cs_set_nopar:Npn \_siunitx_unit_textrm: { }
-\cs_set_nopar:Npn \_siunitx_unit_textsf: { }
-\cs_set_nopar:Npn \_siunitx_unit_texttt: { }
+ { \cs_set_nopar:Npn \siunitx_number_texttt: {#1} }
+}
+\cs_new_nopar:Npn \siunitx_unit_mathrm: { }
+\cs_new_nopar:Npn \siunitx_unit_mathsf: { }
+\cs_new_nopar:Npn \siunitx_unit_mathtt: { }
+\cs_new_nopar:Npn \siunitx_unit_textrm: { }
+\cs_new_nopar:Npn \siunitx_unit_textsf: { }
+\cs_new_nopar:Npn \siunitx_unit_texttt: { }
\keys_define:nn { siunitx } {
- unit-color .tl_set:N = \_l_siunitx_unit_color_tl,
+ unit-color .tl_set:N = \l_siunitx_unit_color_tl,
unit-math-rm .code:n =
- { \cs_set_nopar:Npn \_siunitx_unit_mathrm:n ##1 { #1 {##1} } },
+ { \cs_set_nopar:Npn \siunitx_unit_mathrm:n ##1 { #1 {##1} } },
unit-math-sf .code:n =
- { \cs_set_nopar:Npn \_siunitx_unit_mathsf:n ##1 { #1 {##1} } },
+ { \cs_set_nopar:Npn \siunitx_unit_mathsf:n ##1 { #1 {##1} } },
unit-math-tt .code:n =
- { \cs_set_nopar:Npn \_siunitx_unit_mathtt:n ##1 { #1 {##1} } },
+ { \cs_set_nopar:Npn \siunitx_unit_mathtt:n ##1 { #1 {##1} } },
unit-mode .choice:,
unit-mode / math .code:n =
- { \bool_set_true:N \_l_siunitx_unit_math_mode_bool },
+ { \bool_set_true:N \l_siunitx_unit_math_mode_bool },
unit-mode / text .code:n =
- { \bool_set_false:N \_l_siunitx_unit_math_mode_bool },
+ { \bool_set_false:N \l_siunitx_unit_math_mode_bool },
unit-text-rm .code:n =
- { \cs_set_nopar:Npn \_siunitx_unit_textrm: {#1} },
+ { \cs_set_nopar:Npn \siunitx_unit_textrm: {#1} },
unit-text-sf .code:n =
- { \cs_set_nopar:Npn \_siunitx_unit_textsf: {#1} },
+ { \cs_set_nopar:Npn \siunitx_unit_textsf: {#1} },
unit-text-tt .code:n =
- { \cs_set_nopar:Npn \_siunitx_unit_texttt: {#1} }
+ { \cs_set_nopar:Npn \siunitx_unit_texttt: {#1} }
}
\keys_define:nn { siunitx } {
color .meta:n =
@@ -627,14 +627,14 @@
text-tt = \ttfamily,
}
\AtBeginDocument {
- \tl_set:Nx \_l_siunitx_tmpa_tl { \familydefault }
- \tl_if_eq:NNT \_l_siunitx_tmpa_tl \_c_siunitx_textsf_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl { \familydefault }
+ \tl_if_eq:NNT \l_siunitx_tmpa_tl \c_siunitx_textsf_tl
{
\@ifpackageloaded { cmbright } { }
{ \keys_set:nn { siunitx } { math-rm = \mathsf } }
\keys_set:nn { siunitx } { text-rm = \sffamily }
}
- \tl_if_eq:NNT \_l_siunitx_tmpa_tl \_c_siunitx_texttt_tl
+ \tl_if_eq:NNT \l_siunitx_tmpa_tl \c_siunitx_texttt_tl
{
\keys_set:nn { siunitx }
{
@@ -643,51 +643,51 @@
}
}
}
-\tl_new:N \_l_siunitx_print_arg_tl
-\tl_new:N \_l_siunitx_print_type_tl
-\cs_set_protected:Npn \_siunitx_print:nn #1#2 {
+\tl_new:N \l_siunitx_print_arg_tl
+\tl_new:N \l_siunitx_print_type_tl
+\cs_new_protected:Npn \siunitx_print:nn #1#2 {
\group_begin:
- \tl_set:Nn \_l_siunitx_print_type_tl {#1}
- \tl_set:Nn \_l_siunitx_print_arg_tl {#2}
- \_siunitx_detect_font:
- \bool_if:NF \_l_siunitx_detect_mode_bool
+ \tl_set:Nn \l_siunitx_print_type_tl {#1}
+ \tl_set:Nn \l_siunitx_print_arg_tl {#2}
+ \siunitx_detect_font:
+ \bool_if:NF \l_siunitx_detect_mode_bool
{
- \bool_if:cTF { _l_siunitx_ #1 _math_mode_bool }
- { \bool_set_true:N \_l_siunitx_font_math_mode_bool }
- { \bool_set_false:N \_l_siunitx_font_math_mode_bool }
+ \bool_if:cTF { l_siunitx_ #1 _math_mode_bool }
+ { \bool_set_true:N \l_siunitx_font_math_mode_bool }
+ { \bool_set_false:N \l_siunitx_font_math_mode_bool }
}
- \_siunitx_print_aux:
+ \siunitx_print_aux:
\group_end:
}
-\cs_generate_variant:Nn \_siunitx_print:nn { nV }
-\cs_set_protected_nopar:Npn \_siunitx_print_aux: {
+\cs_generate_variant:Nn \siunitx_print:nn { nV }
+\cs_new_protected_nopar:Npn \siunitx_print_aux: {
\text
{
- \_siunitx_print_color:
- \_siunitx_font_weight:
- \_siunitx_font_italic:
+ \siunitx_print_color:
+ \siunitx_font_weight:
+ \siunitx_font_italic:
\use:c
{
- _siunitx_ \_l_siunitx_print_type_tl _
- text \_l_siunitx_font_family_tl :
+ siunitx_ \l_siunitx_print_type_tl _
+ text \l_siunitx_font_family_tl :
}
- \bool_if:NTF \_l_siunitx_font_math_mode_bool
- { \_siunitx_print_math: }
- { \_siunitx_print_text: }
+ \bool_if:NTF \l_siunitx_font_math_mode_bool
+ { \siunitx_print_math: }
+ { \siunitx_print_text: }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_print_color: {
- \tl_if_empty:cF { _l_siunitx_ \_l_siunitx_print_type_tl _color_tl }
+\cs_new_protected_nopar:Npn \siunitx_print_color: {
+ \tl_if_empty:cF { l_siunitx_ \l_siunitx_print_type_tl _color_tl }
{
\color
{
- \tl_use:c { _l_siunitx_ \_l_siunitx_print_type_tl _color_tl }
+ \tl_use:c { l_siunitx_ \l_siunitx_print_type_tl _color_tl }
}
}
}
\AtBeginDocument {
\@ifpackageloaded { color } { }
- { \cs_set_eq:NN \_siunitx_print_color: \scan_stop: }
+ { \cs_set_eq:NN \siunitx_print_color: \scan_stop: }
}
\group_begin:
\char_set_lccode:nn { `\@ } { `\_ }
@@ -696,27 +696,27 @@
\char_make_active:N \!
\tl_to_lowercase:n {
\group_end:
- \cs_set_protected_nopar:Npn \_siunitx_print_math:
+ \cs_set_protected_nopar:Npn \siunitx_print_math:
{
\ensuremath
{
\use:c
{
- _siunitx_ \_l_siunitx_print_type_tl _
- math \_l_siunitx_font_family_tl :n
+ siunitx_ \l_siunitx_print_type_tl _
+ math \l_siunitx_font_family_tl :n
}
- { \_l_siunitx_print_arg_tl }
+ { \l_siunitx_print_arg_tl }
}
}
- \cs_set_protected_nopar:Npn \_siunitx_print_text:
+ \cs_set_protected_nopar:Npn \siunitx_print_text:
{
- \tl_replace_all_in:Nnn \_l_siunitx_print_arg_tl { @ }
- { \_siunitx_print_text_sub:n }
- \tl_replace_all_in:Nnn \_l_siunitx_print_arg_tl { ! }
- { \_siunitx_print_text_sub:n }
- \tl_replace_all_in:Nnn \_l_siunitx_print_arg_tl { ^ }
- { \_siunitx_print_text_super:n }
- \_l_siunitx_print_arg_tl
+ \tl_replace_all_in:Nnn \l_siunitx_print_arg_tl { @ }
+ { \siunitx_print_text_sub:n }
+ \tl_replace_all_in:Nnn \l_siunitx_print_arg_tl { ! }
+ { \siunitx_print_text_sub:n }
+ \tl_replace_all_in:Nnn \l_siunitx_print_arg_tl { ^ }
+ { \siunitx_print_text_super:n }
+ \l_siunitx_print_arg_tl
}
}
\group_begin:
@@ -724,9 +724,9 @@
\char_make_math_subscript:N \@
\tl_to_lowercase:n {
\group_end:
- \cs_set_protected:Npn \_siunitx_print_text_sub:n #1
+ \cs_set_protected:Npn \siunitx_print_text_sub:n #1
{
- \cs_set:Npn \_siunitx_print_text_sub_super:n ##1
+ \cs_set:Npn \siunitx_print_text_sub_super:n ##1
{
\ensuremath
{
@@ -734,123 +734,123 @@
^ { \text {##1} }
}
}
- \peek_meaning_remove:NTF \_siunitx_print_text_super:n
- { \_siunitx_print_text_sub_super:n }
+ \peek_meaning_remove:NTF \siunitx_print_text_super:n
+ { \siunitx_print_text_sub_super:n }
{ \ensuremath { @ { \text {#1} } } }
}
}
-\cs_set_protected:Npn \_siunitx_print_text_sub_super:n { }
-\cs_set_protected:Npn \_siunitx_print_text_super:n #1 {
- \tl_set:Nn \_l_siunitx_tmpa_tl {#1}
- \tl_replace_all_in:Nnn \_l_siunitx_tmpa_tl { - }
- { \_c_siunitx_minus_tl }
- \tl_set:Nx \_l_siunitx_tmpa_tl
+\cs_new_protected:Npn \siunitx_print_text_sub_super:n { }
+\cs_new_protected:Npn \siunitx_print_text_super:n #1 {
+ \tl_set:Nn \l_siunitx_tmpa_tl {#1}
+ \tl_replace_all_in:Nnn \l_siunitx_tmpa_tl { - }
+ { \c_siunitx_minus_tl }
+ \tl_set:Nx \l_siunitx_tmpa_tl
{
\exp_not:N \ensuremath
{
- ^ { \exp_not:N \text { \exp_not:V \_l_siunitx_tmpa_tl } }
+ ^ { \exp_not:N \text { \exp_not:V \l_siunitx_tmpa_tl } }
}
}
- \_l_siunitx_tmpa_tl
+ \l_siunitx_tmpa_tl
}
\keys_define:nn { siunitx } {
- input-product .tl_set:N = \_l_siunitx_input_product_tl,
- input-quotient .tl_set:N = \_l_siunitx_input_quotient_tl,
+ input-product .tl_set:N = \l_siunitx_input_product_tl,
+ input-quotient .tl_set:N = \l_siunitx_input_quotient_tl,
}
\keys_set:nn { siunitx } {
input-product = x,
input-quotient = /
}
-\tl_new:N \_l_siunitx_number_arg_tl
-\tl_new:N \_l_siunitx_number_next_tl
-\tl_new:N \_l_siunitx_number_multi_tl
-\tl_new:N \_l_siunitx_number_denominator_tl
-\tl_new:N \_l_siunitx_number_numerator_tl
-\cs_set_protected:Npn \_siunitx_number_preprocess:n #1 {
- \_siunitx_number_preprocess_init:
- \tl_set:Nn \_l_siunitx_number_arg_tl {#1}
- \_siunitx_number_preprocess_product:
- \tl_if_empty:NT \_l_siunitx_number_multi_tl
- { \_siunitx_number_preprocess_quotient: }
-}
-\cs_generate_variant:Nn \_siunitx_number_preprocess:n { V }
-\cs_set_protected_nopar:Npn \_siunitx_number_preprocess_init: {
- \bool_set_false:N \_l_siunitx_error_bool
- \tl_clear:N \_l_siunitx_number_multi_tl
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_preprocess_product: {
- \tl_map_function:NN \_l_siunitx_input_product_tl
- \_siunitx_number_preprocess_product_aux:N
-}
-\cs_set_protected:Npn \_siunitx_number_preprocess_product_aux:N #1 {
- \tl_if_in:NnT \_l_siunitx_number_arg_tl {#1}
- {
- \cs_set:Npn \_siunitx_tmp:w ##1 #1 ##2 \q_stop
- {
- \tl_set:Nn \_l_siunitx_number_arg_tl {##1}
- \tl_set:Nn \_l_siunitx_number_next_tl {##2}
- \tl_set:Nn \_l_siunitx_number_multi_tl { product }
+\tl_new:N \l_siunitx_number_arg_tl
+\tl_new:N \l_siunitx_number_next_tl
+\tl_new:N \l_siunitx_number_multi_tl
+\tl_new:N \l_siunitx_number_denominator_tl
+\tl_new:N \l_siunitx_number_numerator_tl
+\cs_new_protected:Npn \siunitx_number_preprocess:n #1 {
+ \siunitx_number_preprocess_init:
+ \tl_set:Nn \l_siunitx_number_arg_tl {#1}
+ \siunitx_number_preprocess_product:
+ \tl_if_empty:NT \l_siunitx_number_multi_tl
+ { \siunitx_number_preprocess_quotient: }
+}
+\cs_generate_variant:Nn \siunitx_number_preprocess:n { V }
+\cs_new_protected_nopar:Npn \siunitx_number_preprocess_init: {
+ \bool_set_false:N \l_siunitx_error_bool
+ \tl_clear:N \l_siunitx_number_multi_tl
+}
+\cs_new_protected_nopar:Npn \siunitx_number_preprocess_product: {
+ \tl_map_function:NN \l_siunitx_input_product_tl
+ \siunitx_number_preprocess_product_aux:N
+}
+\cs_new_protected:Npn \siunitx_number_preprocess_product_aux:N #1 {
+ \tl_if_in:NnT \l_siunitx_number_arg_tl {#1}
+ {
+ \cs_set:Npn \siunitx_tmp:w ##1 #1 ##2 \q_stop
+ {
+ \tl_set:Nn \l_siunitx_number_arg_tl {##1}
+ \tl_set:Nn \l_siunitx_number_next_tl {##2}
+ \tl_set:Nn \l_siunitx_number_multi_tl { product }
}
- \exp_after:wN \_siunitx_tmp:w \_l_siunitx_number_arg_tl \q_stop
- \tl_if_empty:NT \_l_siunitx_number_arg_tl
- { \_siunitx_error:n { starting-product-token } }
- \tl_if_empty:NT \_l_siunitx_number_next_tl
- { \_siunitx_error:n { ending-product-token } }
+ \exp_after:wN \siunitx_tmp:w \l_siunitx_number_arg_tl \q_stop
+ \tl_if_empty:NT \l_siunitx_number_arg_tl
+ { \siunitx_error:n { starting-product-token } }
+ \tl_if_empty:NT \l_siunitx_number_next_tl
+ { \siunitx_error:n { ending-product-token } }
\tl_map_break:
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_preprocess_quotient: {
- \tl_map_function:NN \_l_siunitx_input_quotient_tl
- \_siunitx_number_preprocess_quotient_aux:N
+\cs_new_protected_nopar:Npn \siunitx_number_preprocess_quotient: {
+ \tl_map_function:NN \l_siunitx_input_quotient_tl
+ \siunitx_number_preprocess_quotient_aux:N
}
-\cs_set_protected:Npn \_siunitx_number_preprocess_quotient_aux:N #1 {
- \tl_if_in:NnT \_l_siunitx_number_arg_tl {#1}
+\cs_new_protected:Npn \siunitx_number_preprocess_quotient_aux:N #1 {
+ \tl_if_in:NnT \l_siunitx_number_arg_tl {#1}
{
- \cs_set:Npn \_siunitx_tmp:w ##1 #1 ##2 \q_stop
+ \cs_set:Npn \siunitx_tmp:w ##1 #1 ##2 \q_stop
{
- \tl_set:Nn \_l_siunitx_number_numerator_tl {##1}
- \tl_set:Nn \_l_siunitx_number_denominator_tl {##2}
- \tl_set:Nn \_l_siunitx_number_multi_tl { quotient }
+ \tl_set:Nn \l_siunitx_number_numerator_tl {##1}
+ \tl_set:Nn \l_siunitx_number_denominator_tl {##2}
+ \tl_set:Nn \l_siunitx_number_multi_tl { quotient }
}
- \exp_after:wN \_siunitx_tmp:w \_l_siunitx_number_arg_tl \q_stop
- \tl_if_empty:NT \_l_siunitx_number_numerator_tl
- { \_siunitx_error:n { starting-quotient-token } }
- \tl_if_empty:NT \_l_siunitx_number_denominator_tl
- { \_siunitx_error:n { ending-quotient-token } }
- \tl_if_in:NnT \_l_siunitx_number_denominator_tl {#1}
- { \_siunitx_error:n { duplicate-quotient-token } }
+ \exp_after:wN \siunitx_tmp:w \l_siunitx_number_arg_tl \q_stop
+ \tl_if_empty:NT \l_siunitx_number_numerator_tl
+ { \siunitx_error:n { starting-quotient-token } }
+ \tl_if_empty:NT \l_siunitx_number_denominator_tl
+ { \siunitx_error:n { ending-quotient-token } }
+ \tl_if_in:NnT \l_siunitx_number_denominator_tl {#1}
+ { \siunitx_error:n { duplicate-quotient-token } }
\tl_map_break:
}
}
-\tl_new:N \_c_siunitx_number_part_complex_tl
-\tl_set:Nn \_c_siunitx_number_part_complex_tl { complex }
-\bool_new:N \_l_siunitx_number_in_complex_bool
-\bool_new:N \_l_siunitx_number_in_complex_root_bool
-\bool_new:N \_l_siunitx_number_in_decimal_bool
-\bool_new:N \_l_siunitx_number_in_exponent_bool
-\bool_new:N \_l_siunitx_number_in_first_bool
-\bool_new:N \_l_siunitx_number_in_sign_bool
-\bool_new:N \_l_siunitx_number_in_uncert_bool
-\bool_new:N \_l_siunitx_number_in_value_bool
-\prop_new:N \_l_siunitx_number_in_prop
-\tl_new:N \_l_siunitx_number_parsed_tl
-\tl_new:N \_l_siunitx_number_part_tl
-\tl_new:N \_l_siunitx_number_part_decimal_tl
-\tl_new:N \_l_siunitx_number_part_decimal_marker_tl
-\tl_new:N \_l_siunitx_number_part_integer_tl
-\tl_new:N \_l_siunitx_number_part_sign_tl
-\tl_new:N \_l_siunitx_number_part_uncert_tl
+\tl_new:N \c_siunitx_number_part_complex_tl
+\tl_set:Nn \c_siunitx_number_part_complex_tl { complex }
+\bool_new:N \l_siunitx_number_in_complex_bool
+\bool_new:N \l_siunitx_number_in_complex_root_bool
+\bool_new:N \l_siunitx_number_in_decimal_bool
+\bool_new:N \l_siunitx_number_in_exponent_bool
+\bool_new:N \l_siunitx_number_in_first_bool
+\bool_new:N \l_siunitx_number_in_sign_bool
+\bool_new:N \l_siunitx_number_in_uncert_bool
+\bool_new:N \l_siunitx_number_in_value_bool
+\prop_new:N \l_siunitx_number_in_prop
+\tl_new:N \l_siunitx_number_parsed_tl
+\tl_new:N \l_siunitx_number_part_tl
+\tl_new:N \l_siunitx_number_part_decimal_tl
+\tl_new:N \l_siunitx_number_part_decimal_marker_tl
+\tl_new:N \l_siunitx_number_part_integer_tl
+\tl_new:N \l_siunitx_number_part_sign_tl
+\tl_new:N \l_siunitx_number_part_uncert_tl
\keys_define:nn { siunitx } {
- input-close-uncertainty .tl_set:N = \_l_siunitx_input_uncert_close_tl,
- input-complex-roots .tl_set:N = \_l_siunitx_input_complex_tl,
- input-decimal-markers .tl_set:N = \_l_siunitx_input_decimal_tl,
- input-digits .tl_set:N = \_l_siunitx_input_digit_tl,
- input-exponent-markers .tl_set:N = \_l_siunitx_input_exponent_tl,
- input-ignore .tl_set:N = \_l_siunitx_input_ignore_tl,
- input-open-uncertainty .tl_set:N = \_l_siunitx_input_uncert_open_tl,
- input-protect-tokens .tl_set:N = \_l_siunitx_input_protect_tl,
- input-signs .tl_set:N = \_l_siunitx_input_sign_tl,
- input-symbols .tl_set:N = \_l_siunitx_input_symbol_tl,
+ input-close-uncertainty .tl_set:N = \l_siunitx_input_uncert_close_tl,
+ input-complex-roots .tl_set:N = \l_siunitx_input_complex_tl,
+ input-decimal-markers .tl_set:N = \l_siunitx_input_decimal_tl,
+ input-digits .tl_set:N = \l_siunitx_input_digit_tl,
+ input-exponent-markers .tl_set:N = \l_siunitx_input_exponent_tl,
+ input-ignore .tl_set:N = \l_siunitx_input_ignore_tl,
+ input-open-uncertainty .tl_set:N = \l_siunitx_input_uncert_open_tl,
+ input-protect-tokens .tl_set:N = \l_siunitx_input_protect_tl,
+ input-signs .tl_set:N = \l_siunitx_input_sign_tl,
+ input-symbols .tl_set:N = \l_siunitx_input_symbol_tl,
}
\keys_set:nn { siunitx } { % (
input-close-uncertainty = ),
@@ -863,258 +863,258 @@
input-signs = +-\mp\pm,
input-symbols = \pi,
}
-\cs_set_protected:Npn \_siunitx_number_in_parse:n #1 {
+\cs_new_protected:Npn \siunitx_number_in_parse:n #1 {
\tl_if_empty:nF {#1}
{
- \_siunitx_number_in_init:
- \cs_set_eq:NN \_siunitx_number_in_parse_more:N
- \_siunitx_number_in_parse_mantissa_aux:N
- \_siunitx_number_in_parse_aux:n {#1}
+ \siunitx_number_in_init:
+ \cs_set_eq:NN \siunitx_number_in_parse_more:N
+ \siunitx_number_in_parse_mantissa_aux:N
+ \siunitx_number_in_parse_aux:n {#1}
}
}
-\cs_generate_variant:Nn \_siunitx_number_in_parse:n { V }
-\cs_set_protected:Npn \_siunitx_number_in_parse_aux:n #1 {
- \tl_set_rescan:Nnx \_l_siunitx_number_arg_tl
+\cs_generate_variant:Nn \siunitx_number_in_parse:n { V }
+\cs_new_protected:Npn \siunitx_number_in_parse_aux:n #1 {
+ \tl_set_rescan:Nnx \l_siunitx_number_arg_tl
{
- \_siunitx_number_in_protect:
+ \siunitx_number_in_protect:
\char_make_ignore:N \~
\char_make_other:N \,
\char_make_other:N \.
\cs_set_eq:NN \, \prg_do_nothing:
}
{#1}
- \_siunitx_number_in_sign_replace:N \_l_siunitx_number_arg_tl
- \tl_map_function:NN \_l_siunitx_number_arg_tl
- \_siunitx_number_in_parse_loop:N
- \tl_if_empty:NF \_l_siunitx_number_parsed_tl
+ \siunitx_number_in_sign_replace:N \l_siunitx_number_arg_tl
+ \tl_map_function:NN \l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_loop:N
+ \tl_if_empty:NF \l_siunitx_number_parsed_tl
{
- \bool_if:NTF \_l_siunitx_number_in_uncert_bool
- { \_siunitx_error:nx { invalid-number } {#1} }
+ \bool_if:NTF \l_siunitx_number_in_uncert_bool
+ { \siunitx_error:nx { invalid-number } {#1} }
{
- \prop_put:NVn \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_tl { true }
- \bool_if:NTF \_l_siunitx_number_in_decimal_bool
+ \prop_put:NVn \l_siunitx_number_in_prop
+ \l_siunitx_number_part_tl { true }
+ \bool_if:NTF \l_siunitx_number_in_decimal_bool
{
- \prop_put:NVV \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_decimal_tl
- \_l_siunitx_number_parsed_tl
+ \prop_put:NVV \l_siunitx_number_in_prop
+ \l_siunitx_number_part_decimal_tl
+ \l_siunitx_number_parsed_tl
}
{
- \prop_put:NVV \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_integer_tl
- \_l_siunitx_number_parsed_tl
+ \prop_put:NVV \l_siunitx_number_in_prop
+ \l_siunitx_number_part_integer_tl
+ \l_siunitx_number_parsed_tl
}
}
}
- \_siunitx_number_in_check:n {#1}
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_init: {
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_mantissa:N
- \cs_set_eq:NN \_siunitx_number_in_check:n
- \_siunitx_number_in_check_short:n
- \tl_clear:N \_l_siunitx_number_parsed_tl
- \prop_clear:N \_l_siunitx_number_in_prop
- \bool_set_false:N \_l_siunitx_error_bool
- \bool_set_false:N \_l_siunitx_number_in_complex_bool
- \bool_set_false:N \_l_siunitx_number_in_complex_root_bool
- \bool_set_false:N \_l_siunitx_number_in_exponent_bool
- \bool_set_false:N \_l_siunitx_number_in_uncert_bool
- \_siunitx_number_in_init_part:n { mantissa }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_init_part:n #1 {
- \bool_set_false:N \_l_siunitx_number_in_decimal_bool
- \bool_set_true:N \_l_siunitx_number_in_first_bool
- \bool_set_false:N \_l_siunitx_number_in_sign_bool
- \bool_set_false:N \_l_siunitx_number_in_value_bool
- \tl_set:Nn \_l_siunitx_number_part_tl {#1}
- \tl_set:Nn \_l_siunitx_number_part_decimal_tl { #1 -decimal }
- \tl_set:Nn \_l_siunitx_number_part_decimal_marker_tl
+ \siunitx_number_in_check:n {#1}
+}
+\cs_new_protected_nopar:Npn \siunitx_number_in_init: {
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_mantissa:N
+ \cs_set_eq:NN \siunitx_number_in_check:n
+ \siunitx_number_in_check_short:n
+ \tl_clear:N \l_siunitx_number_parsed_tl
+ \prop_clear:N \l_siunitx_number_in_prop
+ \bool_set_false:N \l_siunitx_error_bool
+ \bool_set_false:N \l_siunitx_number_in_complex_bool
+ \bool_set_false:N \l_siunitx_number_in_complex_root_bool
+ \bool_set_false:N \l_siunitx_number_in_exponent_bool
+ \bool_set_false:N \l_siunitx_number_in_uncert_bool
+ \siunitx_number_in_init_part:n { mantissa }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_in_init_part:n #1 {
+ \bool_set_false:N \l_siunitx_number_in_decimal_bool
+ \bool_set_true:N \l_siunitx_number_in_first_bool
+ \bool_set_false:N \l_siunitx_number_in_sign_bool
+ \bool_set_false:N \l_siunitx_number_in_value_bool
+ \tl_set:Nn \l_siunitx_number_part_tl {#1}
+ \tl_set:Nn \l_siunitx_number_part_decimal_tl { #1 -decimal }
+ \tl_set:Nn \l_siunitx_number_part_decimal_marker_tl
{ #1 -decimal-marker }
- \tl_set:Nn \_l_siunitx_number_part_integer_tl { #1 -integer }
- \tl_set:Nn \_l_siunitx_number_part_sign_tl { #1 -sign }
- \tl_set:Nn \_l_siunitx_number_part_uncert_tl { #1 -uncertainty }
+ \tl_set:Nn \l_siunitx_number_part_integer_tl { #1 -integer }
+ \tl_set:Nn \l_siunitx_number_part_sign_tl { #1 -sign }
+ \tl_set:Nn \l_siunitx_number_part_uncert_tl { #1 -uncertainty }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_protect: {
- \tl_map_function:NN \_l_siunitx_input_protect_tl
- \_siunitx_number_in_protect_aux:N
+\cs_new_protected_nopar:Npn \siunitx_number_in_protect: {
+ \tl_map_function:NN \l_siunitx_input_protect_tl
+ \siunitx_number_in_protect_aux:N
}
-\cs_set_protected:Npn \_siunitx_number_in_protect_aux:N #1 {
+\cs_new_protected:Npn \siunitx_number_in_protect_aux:N #1 {
\cs_set_eq:NN #1 \scan_stop:
}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_sign_replace:N #1 {
+\cs_new_protected_nopar:Npn \siunitx_number_in_sign_replace:N #1 {
\tl_replace_all_in:Nnn #1 { -+ } { \mp }
\tl_replace_all_in:Nnn #1 { +- } { \pm }
}
-\cs_set_protected:Npn \_siunitx_number_in_parse_error:nx #1#2 {
- \_siunitx_error:nx {#1} { \exp_not:n {#2} }
+\cs_new_protected:Npn \siunitx_number_in_parse_error:nx #1#2 {
+ \siunitx_error:nx {#1} { \exp_not:n {#2} }
\tl_map_break:
}
-\cs_generate_variant:Nn \_siunitx_number_in_parse_error:nx { nV }
-\cs_set_protected:Npn \_siunitx_number_in_parse_loop:N #1 { }
-\cs_set_protected:Npn \_siunitx_number_in_parse_more:N #1 { }
-\cs_set_protected:Npn \_siunitx_number_in_parse_restricted:N #1 {
- \tl_if_in:NnTF \_l_siunitx_input_exponent_tl {#1}
+\cs_generate_variant:Nn \siunitx_number_in_parse_error:nx { nV }
+\cs_new_protected:Npn \siunitx_number_in_parse_loop:N #1 { }
+\cs_new_protected:Npn \siunitx_number_in_parse_more:N #1 { }
+\cs_new_protected:Npn \siunitx_number_in_parse_restricted:N #1 {
+ \tl_if_in:NnTF \l_siunitx_input_exponent_tl {#1}
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ restricted-number } {#1}
}
{
- \tl_if_in:NnTF \_l_siunitx_input_uncert_open_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_uncert_open_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
- { restricted-number } \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV
+ { restricted-number } \l_siunitx_number_arg_tl
}
{
- \tl_if_in:NnTF \_l_siunitx_input_uncert_close_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_uncert_close_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
- { restricted-number } \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV
+ { restricted-number } \l_siunitx_number_arg_tl
}
{
- \tl_if_in:NnTF \_l_siunitx_input_complex_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_complex_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
- { restricted-number } \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV
+ { restricted-number } \l_siunitx_number_arg_tl
}
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ restricted-number } {#1}
}
}
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_parse_complex:N #1 {
- \tl_if_in:NnTF \_l_siunitx_input_exponent_tl {#1}
+\cs_new_protected:Npn \siunitx_number_in_parse_complex:N #1 {
+ \tl_if_in:NnTF \l_siunitx_input_exponent_tl {#1}
{
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_mantissa:N
- \_siunitx_number_in_exponent:N #1
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_mantissa:N
+ \siunitx_number_in_exponent:N #1
}
{
- \tl_if_in:NnF \_l_siunitx_input_ignore_tl {#1}
+ \tl_if_in:NnF \l_siunitx_input_ignore_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
+ \siunitx_number_in_parse_error:nV
{ misplaced-complex-root-token }
- \_l_siunitx_number_arg_tl
+ \l_siunitx_number_arg_tl
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_parse_exponent:N #1 {
- \tl_if_in:NnTF \_l_siunitx_input_exponent_tl {#1}
+\cs_new_protected:Npn \siunitx_number_in_parse_exponent:N #1 {
+ \tl_if_in:NnTF \l_siunitx_input_exponent_tl {#1}
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ duplicate-exponent-token } { \token_to_str:N #1 }
}
{
- \tl_if_in:NnTF \_l_siunitx_input_uncert_open_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_uncert_open_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
- { invalid-token-in-exponent } \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV
+ { invalid-token-in-exponent } \l_siunitx_number_arg_tl
}
{
- \tl_if_in:NnTF \_l_siunitx_input_uncert_close_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_uncert_close_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
- { invalid-token-in-exponent } \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV
+ { invalid-token-in-exponent } \l_siunitx_number_arg_tl
}
{
- \tl_if_in:NnTF \_l_siunitx_input_complex_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_complex_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
+ \siunitx_number_in_parse_error:nV
{ invalid-token-in-exponent }
- \_l_siunitx_number_arg_tl
+ \l_siunitx_number_arg_tl
}
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ invalid-token-in-number } {#1}
}
}
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_parse_mantissa:N #1 {
- \tl_if_in:NnTF \_l_siunitx_input_digit_tl {#1}
- { \_siunitx_number_in_digit:N #1 }
+\cs_new_protected:Npn \siunitx_number_in_parse_mantissa:N #1 {
+ \tl_if_in:NnTF \l_siunitx_input_digit_tl {#1}
+ { \siunitx_number_in_digit:N #1 }
{
- \tl_if_in:NnTF \_l_siunitx_input_decimal_tl {#1}
- { \_siunitx_number_in_decimal:N #1 }
+ \tl_if_in:NnTF \l_siunitx_input_decimal_tl {#1}
+ { \siunitx_number_in_decimal:N #1 }
{
- \tl_if_in:NnTF \_l_siunitx_input_sign_tl {#1}
- { \_siunitx_number_in_sign:N #1 }
+ \tl_if_in:NnTF \l_siunitx_input_sign_tl {#1}
+ { \siunitx_number_in_sign:N #1 }
{
- \tl_if_in:NnTF \_l_siunitx_input_symbol_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_symbol_tl {#1}
{
- \prop_put:Nnn \_l_siunitx_number_in_prop { symbolic }
+ \prop_put:Nnn \l_siunitx_number_in_prop { symbolic }
{ true }
- \_siunitx_number_in_digit:N #1
+ \siunitx_number_in_digit:N #1
}
{
- \tl_if_in:NnF \_l_siunitx_input_ignore_tl {#1}
- { \_siunitx_number_in_parse_more:N #1 }
+ \tl_if_in:NnF \l_siunitx_input_ignore_tl {#1}
+ { \siunitx_number_in_parse_more:N #1 }
}
}
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_parse_mantissa_aux:N #1 {
- \tl_if_in:NnTF \_l_siunitx_input_exponent_tl {#1}
- { \_siunitx_number_in_exponent:N #1 }
+\cs_new_protected:Npn \siunitx_number_in_parse_mantissa_aux:N #1 {
+ \tl_if_in:NnTF \l_siunitx_input_exponent_tl {#1}
+ { \siunitx_number_in_exponent:N #1 }
{
- \tl_if_in:NnTF \_l_siunitx_input_uncert_open_tl {#1}
- { \_siunitx_number_in_uncert_open:N #1 }
+ \tl_if_in:NnTF \l_siunitx_input_uncert_open_tl {#1}
+ { \siunitx_number_in_uncert_open:N #1 }
{
- \tl_if_in:NnTF \_l_siunitx_input_uncert_close_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_uncert_close_tl {#1}
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ misplaced-uncertainty-token } {#1}
}
{
- \tl_if_in:NnTF \_l_siunitx_input_complex_tl {#1}
- { \_siunitx_number_in_complex:N #1 }
+ \tl_if_in:NnTF \l_siunitx_input_complex_tl {#1}
+ { \siunitx_number_in_complex:N #1 }
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ invalid-token-in-number } {#1}
}
}
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_parse_uncert:N #1 {
- \tl_if_in:NnTF \_l_siunitx_input_digit_tl {#1}
- { \_siunitx_number_in_digit:N #1 }
+\cs_new_protected:Npn \siunitx_number_in_parse_uncert:N #1 {
+ \tl_if_in:NnTF \l_siunitx_input_digit_tl {#1}
+ { \siunitx_number_in_digit:N #1 }
{
- \tl_if_in:NnTF \_l_siunitx_input_decimal_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_decimal_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
+ \siunitx_number_in_parse_error:nV
{ invalid-token-in-uncertainty }
- \_l_siunitx_number_arg_tl
+ \l_siunitx_number_arg_tl
}
{
- \tl_if_in:NnTF \_l_siunitx_input_sign_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_sign_tl {#1}
{
- \_siunitx_number_in_parse_error:nV
+ \siunitx_number_in_parse_error:nV
{ invalid-token-in-uncertainty }
- \_l_siunitx_number_arg_tl
+ \l_siunitx_number_arg_tl
}
{
- \tl_if_in:NnTF \_l_siunitx_input_symbol_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_symbol_tl {#1}
{
- \prop_put:Nnn \_l_siunitx_number_in_prop { symbolic }
+ \prop_put:Nnn \l_siunitx_number_in_prop { symbolic }
{ true }
- \_siunitx_number_in_digit:N #1
+ \siunitx_number_in_digit:N #1
}
{
- \tl_if_in:NnF \_l_siunitx_input_ignore_tl {#1}
+ \tl_if_in:NnF \l_siunitx_input_ignore_tl {#1}
{
- \tl_if_in:NnTF \_l_siunitx_input_uncert_close_tl
+ \tl_if_in:NnTF \l_siunitx_input_uncert_close_tl
{#1}
- { \_siunitx_number_in_uncert_close:N #1 }
+ { \siunitx_number_in_uncert_close:N #1 }
{
- \_siunitx_number_in_parse_error:nV
+ \siunitx_number_in_parse_error:nV
{ invalid-token-in-uncertainty }
- \_l_siunitx_number_arg_tl
+ \l_siunitx_number_arg_tl
}
}
}
@@ -1122,321 +1122,321 @@
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_parse_uncert_after:N #1 {
- \tl_if_in:NnTF \_l_siunitx_input_exponent_tl {#1}
+\cs_new_protected:Npn \siunitx_number_in_parse_uncert_after:N #1 {
+ \tl_if_in:NnTF \l_siunitx_input_exponent_tl {#1}
{
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_mantissa:N
- \_siunitx_number_in_exponent:N #1
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_mantissa:N
+ \siunitx_number_in_exponent:N #1
}
{
- \tl_if_in:NnTF \_l_siunitx_input_sign_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_sign_tl {#1}
{
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_mantissa:N
- \_siunitx_number_in_sign:N #1
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_mantissa:N
+ \siunitx_number_in_sign:N #1
}
{
- \tl_if_in:NnF \_l_siunitx_input_ignore_tl {#1}
+ \tl_if_in:NnF \l_siunitx_input_ignore_tl {#1}
{
- \tl_if_in:NnTF \_l_siunitx_input_complex_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_input_complex_tl {#1}
{
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_mantissa:N
- \_siunitx_number_in_complex:N #1
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_mantissa:N
+ \siunitx_number_in_complex:N #1
}
{
- \_siunitx_number_in_parse_error:nV { invalid-number }
- \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV { invalid-number }
+ \l_siunitx_number_arg_tl
}
}
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_complex:N #1 {
- \bool_set_false:N \_l_siunitx_number_in_first_bool
- \bool_if:NTF \_l_siunitx_number_in_complex_root_bool
+\cs_new_protected:Npn \siunitx_number_in_complex:N #1 {
+ \bool_set_false:N \l_siunitx_number_in_first_bool
+ \bool_if:NTF \l_siunitx_number_in_complex_root_bool
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ duplicate-complex-root-token } { \token_to_str:N #1 }
}
{
- \cs_set_eq:NN \_siunitx_number_in_check:n
- \_siunitx_number_in_check_full:n
- \bool_set_true:N \_l_siunitx_number_in_complex_root_bool
- \prop_put:Nnn \_l_siunitx_number_in_prop { complex-root } {#1}
- \tl_if_empty:NF \_l_siunitx_number_parsed_tl
+ \cs_set_eq:NN \siunitx_number_in_check:n
+ \siunitx_number_in_check_full:n
+ \bool_set_true:N \l_siunitx_number_in_complex_root_bool
+ \prop_put:Nnn \l_siunitx_number_in_prop { complex-root } {#1}
+ \tl_if_empty:NF \l_siunitx_number_parsed_tl
{
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_complex:N
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_complex:N
}
- \bool_if:NT \_l_siunitx_number_in_decimal_bool
+ \bool_if:NT \l_siunitx_number_in_decimal_bool
{
- \bool_if:NF \_l_siunitx_number_in_complex_bool
+ \bool_if:NF \l_siunitx_number_in_complex_bool
{
- \prop_if_in:NnT \_l_siunitx_number_in_prop
+ \prop_if_in:NnT \l_siunitx_number_in_prop
{ mantissa-uncertainty }
{
- \_siunitx_number_in_complex_aux:nn
+ \siunitx_number_in_complex_aux:nn
{ mantissa-decimal } { complex-decimal }
- \_siunitx_number_in_complex_aux:nn
+ \siunitx_number_in_complex_aux:nn
{ mantissa-uncertainty } { complex-uncertainty }
}
- \_siunitx_number_in_complex_aux:nn { mantissa-integer }
+ \siunitx_number_in_complex_aux:nn { mantissa-integer }
{ complex-integer }
- \_siunitx_number_in_complex_aux:nn
+ \siunitx_number_in_complex_aux:nn
{ mantissa-decimal-marker } { complex-decimal-marker }
- \prop_del:Nn \_l_siunitx_number_in_prop { mantissa }
- \prop_put:Nnn \_l_siunitx_number_in_prop { complex }
+ \prop_del:Nn \l_siunitx_number_in_prop { mantissa }
+ \prop_put:Nnn \l_siunitx_number_in_prop { complex }
{ true }
}
}
- \prop_if_in:NnF \_l_siunitx_number_in_prop { mantissa }
+ \prop_if_in:NnF \l_siunitx_number_in_prop { mantissa }
{
- \prop_if_in:NnT \_l_siunitx_number_in_prop { mantissa-sign }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { mantissa-sign }
{
- \_siunitx_number_in_complex_aux:nn { mantissa-sign }
+ \siunitx_number_in_complex_aux:nn { mantissa-sign }
{ complex-sign }
}
}
- \bool_set_true:N \_l_siunitx_number_in_complex_bool
- \bool_set_false:N \_l_siunitx_number_in_first_bool
- \_siunitx_number_in_init_part:n { complex }
- \prop_if_in:NnT \_l_siunitx_number_in_prop
+ \bool_set_true:N \l_siunitx_number_in_complex_bool
+ \bool_set_false:N \l_siunitx_number_in_first_bool
+ \siunitx_number_in_init_part:n { complex }
+ \prop_if_in:NnT \l_siunitx_number_in_prop
{ complex-decimal-marker }
- { \bool_set_true:N \_l_siunitx_number_in_decimal_bool }
- \prop_if_in:NnT \_l_siunitx_number_in_prop
+ { \bool_set_true:N \l_siunitx_number_in_decimal_bool }
+ \prop_if_in:NnT \l_siunitx_number_in_prop
{ complex-sign }
- { \bool_set_true:N \_l_siunitx_number_in_sign_bool }
+ { \bool_set_true:N \l_siunitx_number_in_sign_bool }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_complex_aux:nn #1#2 {
- \prop_get:NnN \_l_siunitx_number_in_prop {#1} \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_in_complex_aux:nn #1#2 {
+ \prop_get:NnN \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \prop_del:Nn \_l_siunitx_number_in_prop {#1}
- \prop_put:NnV \_l_siunitx_number_in_prop {#2} \_l_siunitx_tmpa_tl
+ \prop_del:Nn \l_siunitx_number_in_prop {#1}
+ \prop_put:NnV \l_siunitx_number_in_prop {#2} \l_siunitx_tmpa_tl
}
}
-\cs_set_protected:Npn \_siunitx_number_in_decimal:N #1 {
- \bool_set_false:N \_l_siunitx_number_in_first_bool
- \bool_if:NTF \_l_siunitx_number_in_decimal_bool
+\cs_new_protected:Npn \siunitx_number_in_decimal:N #1 {
+ \bool_set_false:N \l_siunitx_number_in_first_bool
+ \bool_if:NTF \l_siunitx_number_in_decimal_bool
{
- \_siunitx_number_in_parse_error:nx { duplicate-decimal-token }
+ \siunitx_number_in_parse_error:nx { duplicate-decimal-token }
{ \token_to_str:N #1 }
}
{
- \bool_set_true:N \_l_siunitx_number_in_decimal_bool
- \tl_if_empty:NF \_l_siunitx_number_parsed_tl
+ \bool_set_true:N \l_siunitx_number_in_decimal_bool
+ \tl_if_empty:NF \l_siunitx_number_parsed_tl
{
- \prop_put:NVn \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_tl { true }
- \prop_put:NVV \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_integer_tl
- \_l_siunitx_number_parsed_tl
- \tl_clear:N \_l_siunitx_number_parsed_tl
+ \prop_put:NVn \l_siunitx_number_in_prop
+ \l_siunitx_number_part_tl { true }
+ \prop_put:NVV \l_siunitx_number_in_prop
+ \l_siunitx_number_part_integer_tl
+ \l_siunitx_number_parsed_tl
+ \tl_clear:N \l_siunitx_number_parsed_tl
}
- \prop_put:NVn \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_decimal_marker_tl {#1}
+ \prop_put:NVn \l_siunitx_number_in_prop
+ \l_siunitx_number_part_decimal_marker_tl {#1}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_digit:N #1 {
- \bool_set_false:N \_l_siunitx_number_in_first_bool
- \bool_if:NTF \_l_siunitx_number_in_uncert_bool
- { \tl_put_right:Nn \_l_siunitx_number_parsed_tl {#1} }
+\cs_new_protected:Npn \siunitx_number_in_digit:N #1 {
+ \bool_set_false:N \l_siunitx_number_in_first_bool
+ \bool_if:NTF \l_siunitx_number_in_uncert_bool
+ { \tl_put_right:Nn \l_siunitx_number_parsed_tl {#1} }
{
- \bool_if:NTF \_l_siunitx_number_in_decimal_bool
+ \bool_if:NTF \l_siunitx_number_in_decimal_bool
{
- \tl_put_right:Nn \_l_siunitx_number_parsed_tl {#1}
+ \tl_put_right:Nn \l_siunitx_number_parsed_tl {#1}
\tl_if_eq:nnF {#1} { 0 }
- { \bool_set_true:N \_l_siunitx_number_in_value_bool }
+ { \bool_set_true:N \l_siunitx_number_in_value_bool }
}
{
\tl_if_eq:nnTF {#1} { 0 }
{
- \prop_put:NVn \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_tl { true }
- \prop_put:NVn \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_integer_tl { 0 }
+ \prop_put:NVn \l_siunitx_number_in_prop
+ \l_siunitx_number_part_tl { true }
+ \prop_put:NVn \l_siunitx_number_in_prop
+ \l_siunitx_number_part_integer_tl { 0 }
}
- { \bool_set_true:N \_l_siunitx_number_in_value_bool }
- \bool_if:NT \_l_siunitx_number_in_value_bool
- { \tl_put_right:Nn \_l_siunitx_number_parsed_tl {#1} }
+ { \bool_set_true:N \l_siunitx_number_in_value_bool }
+ \bool_if:NT \l_siunitx_number_in_value_bool
+ { \tl_put_right:Nn \l_siunitx_number_parsed_tl {#1} }
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_exponent:N #1 {
- \bool_if:NTF \_l_siunitx_number_in_exponent_bool
+\cs_new_protected:Npn \siunitx_number_in_exponent:N #1 {
+ \bool_if:NTF \l_siunitx_number_in_exponent_bool
{
- \_siunitx_number_in_parse_error:nx { duplicate-exponent-token }
+ \siunitx_number_in_parse_error:nx { duplicate-exponent-token }
{ \token_to_str:N #1 }
}
{
- \cs_set_eq:NN \_siunitx_number_in_parse_more:N
- \_siunitx_number_in_parse_exponent:N
- \tl_if_empty:NF \_l_siunitx_number_parsed_tl
- { \_siunitx_number_in_store: }
- \bool_set_true:N \_l_siunitx_number_in_exponent_bool
- \_siunitx_number_in_init_part:n { exponent }
+ \cs_set_eq:NN \siunitx_number_in_parse_more:N
+ \siunitx_number_in_parse_exponent:N
+ \tl_if_empty:NF \l_siunitx_number_parsed_tl
+ { \siunitx_number_in_store: }
+ \bool_set_true:N \l_siunitx_number_in_exponent_bool
+ \siunitx_number_in_init_part:n { exponent }
}
}
-\cs_set_protected:Npn \_siunitx_number_in_sign:N #1 {
- \bool_if:NTF \_l_siunitx_number_in_first_bool
+\cs_new_protected:Npn \siunitx_number_in_sign:N #1 {
+ \bool_if:NTF \l_siunitx_number_in_first_bool
{
- \bool_set_false:N \_l_siunitx_number_in_first_bool
- \bool_set_true:N \_l_siunitx_number_in_sign_bool
- \prop_put:NVn \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_sign_tl {#1}
+ \bool_set_false:N \l_siunitx_number_in_first_bool
+ \bool_set_true:N \l_siunitx_number_in_sign_bool
+ \prop_put:NVn \l_siunitx_number_in_prop
+ \l_siunitx_number_part_sign_tl {#1}
}
{
- \bool_if:NTF \_l_siunitx_number_in_exponent_bool
+ \bool_if:NTF \l_siunitx_number_in_exponent_bool
{
- \_siunitx_number_in_parse_error:nx { misplaced-sign-token }
+ \siunitx_number_in_parse_error:nx { misplaced-sign-token }
{#1}
}
{
- \bool_if:NTF \_l_siunitx_number_in_complex_bool
+ \bool_if:NTF \l_siunitx_number_in_complex_bool
{
- \_siunitx_number_in_parse_error:nx
+ \siunitx_number_in_parse_error:nx
{ misplaced-sign-token } {#1}
}
{
- \tl_if_empty:NF \_l_siunitx_number_parsed_tl
- { \_siunitx_number_in_store: }
- \cs_set_eq:NN \_siunitx_number_in_check:n
- \_siunitx_number_in_check_full:n
- \_siunitx_number_in_init_part:n { complex }
- \prop_put:Nnn \_l_siunitx_number_in_prop
+ \tl_if_empty:NF \l_siunitx_number_parsed_tl
+ { \siunitx_number_in_store: }
+ \cs_set_eq:NN \siunitx_number_in_check:n
+ \siunitx_number_in_check_full:n
+ \siunitx_number_in_init_part:n { complex }
+ \prop_put:Nnn \l_siunitx_number_in_prop
{ complex-sign } {#1}
- \bool_set_true:N \_l_siunitx_number_in_complex_bool
+ \bool_set_true:N \l_siunitx_number_in_complex_bool
}
}
}
}
-\cs_set_protected:Npn \_siunitx_number_in_uncert_open:N #1 {
- \bool_set_false:N \_l_siunitx_number_in_first_bool
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_uncert:N
- \bool_set_true:N \_l_siunitx_number_in_uncert_bool
- \tl_if_empty:NTF \_l_siunitx_number_parsed_tl
+\cs_new_protected:Npn \siunitx_number_in_uncert_open:N #1 {
+ \bool_set_false:N \l_siunitx_number_in_first_bool
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_uncert:N
+ \bool_set_true:N \l_siunitx_number_in_uncert_bool
+ \tl_if_empty:NTF \l_siunitx_number_parsed_tl
{
- \prop_if_in:NVF \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_integer_tl
+ \prop_if_in:NVF \l_siunitx_number_in_prop
+ \l_siunitx_number_part_integer_tl
{
- \_siunitx_number_in_parse_error:nV { invalid-number }
- \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV { invalid-number }
+ \l_siunitx_number_arg_tl
}
}
- { \_siunitx_number_in_store: }
+ { \siunitx_number_in_store: }
}
-\cs_set_protected:Npn \_siunitx_number_in_uncert_close:N #1 {
- \bool_set_false:N \_l_siunitx_number_in_uncert_bool
- \tl_if_empty:NTF \_l_siunitx_number_parsed_tl
+\cs_new_protected:Npn \siunitx_number_in_uncert_close:N #1 {
+ \bool_set_false:N \l_siunitx_number_in_uncert_bool
+ \tl_if_empty:NTF \l_siunitx_number_parsed_tl
{
- \_siunitx_number_in_parse_error:nV { empty-uncertainty }
- \_l_siunitx_number_arg_tl
+ \siunitx_number_in_parse_error:nV { empty-uncertainty }
+ \l_siunitx_number_arg_tl
}
{
- \prop_put:NVV \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_uncert_tl \_l_siunitx_number_parsed_tl
- \prop_put:Nnn \_l_siunitx_number_in_prop
+ \prop_put:NVV \l_siunitx_number_in_prop
+ \l_siunitx_number_part_uncert_tl \l_siunitx_number_parsed_tl
+ \prop_put:Nnn \l_siunitx_number_in_prop
{ uncertainty } { true }
- \tl_clear:N \_l_siunitx_number_parsed_tl
- \cs_set_eq:NN \_siunitx_number_in_parse_loop:N
- \_siunitx_number_in_parse_uncert_after:N
+ \tl_clear:N \l_siunitx_number_parsed_tl
+ \cs_set_eq:NN \siunitx_number_in_parse_loop:N
+ \siunitx_number_in_parse_uncert_after:N
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_store: {
- \prop_put:NVn \_l_siunitx_number_in_prop \_l_siunitx_number_part_tl
+\cs_new_protected_nopar:Npn \siunitx_number_in_store: {
+ \prop_put:NVn \l_siunitx_number_in_prop \l_siunitx_number_part_tl
{ true }
- \bool_if:NTF \_l_siunitx_number_in_decimal_bool
+ \bool_if:NTF \l_siunitx_number_in_decimal_bool
{
- \prop_put:NVV \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_decimal_tl \_l_siunitx_number_parsed_tl
+ \prop_put:NVV \l_siunitx_number_in_prop
+ \l_siunitx_number_part_decimal_tl \l_siunitx_number_parsed_tl
}
{
- \prop_put:NVV \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_integer_tl \_l_siunitx_number_parsed_tl
+ \prop_put:NVV \l_siunitx_number_in_prop
+ \l_siunitx_number_part_integer_tl \l_siunitx_number_parsed_tl
}
- \tl_clear:N \_l_siunitx_number_parsed_tl
+ \tl_clear:N \l_siunitx_number_parsed_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_check:n #1 { }
-\cs_set_protected_nopar:Npn \_siunitx_number_in_check_short:n #1 {
- \prop_if_in:NVF \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_integer_tl
+\cs_new_protected_nopar:Npn \siunitx_number_in_check:n #1 { }
+\cs_new_protected_nopar:Npn \siunitx_number_in_check_short:n #1 {
+ \prop_if_in:NVF \l_siunitx_number_in_prop
+ \l_siunitx_number_part_integer_tl
{
- \prop_if_in:NVF \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_decimal_tl
- { \_siunitx_error:nx { invalid-number } {#1} }
+ \prop_if_in:NVF \l_siunitx_number_in_prop
+ \l_siunitx_number_part_decimal_tl
+ { \siunitx_error:nx { invalid-number } {#1} }
}
- \bool_if:NF \_l_siunitx_number_in_value_bool
+ \bool_if:NF \l_siunitx_number_in_value_bool
{
- \tl_if_eq:NNF \_l_siunitx_number_part_tl
- \_c_siunitx_number_part_complex_tl
+ \tl_if_eq:NNF \l_siunitx_number_part_tl
+ \c_siunitx_number_part_complex_tl
{
- \prop_get:NVN \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_sign_tl \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:NVN \l_siunitx_number_in_prop
+ \l_siunitx_number_part_sign_tl \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { \_l_siunitx_number_part_sign_tl -deleted }
- \prop_put:NVV \_l_siunitx_number_in_prop
- \_l_siunitx_tmpb_tl \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { \l_siunitx_number_part_sign_tl -deleted }
+ \prop_put:NVV \l_siunitx_number_in_prop
+ \l_siunitx_tmpb_tl \l_siunitx_tmpa_tl
}
- \prop_del:NV \_l_siunitx_number_in_prop
- \_l_siunitx_number_part_sign_tl
+ \prop_del:NV \l_siunitx_number_in_prop
+ \l_siunitx_number_part_sign_tl
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_in_check_full:n #1 {
- \tl_if_eq:NNF \_l_siunitx_number_part_tl
- \_c_siunitx_number_part_complex_tl
- { \_siunitx_number_in_check_short:n {#1} }
- \bool_if:NF \_l_siunitx_number_in_complex_root_bool
+\cs_new_protected_nopar:Npn \siunitx_number_in_check_full:n #1 {
+ \tl_if_eq:NNF \l_siunitx_number_part_tl
+ \c_siunitx_number_part_complex_tl
+ { \siunitx_number_in_check_short:n {#1} }
+ \bool_if:NF \l_siunitx_number_in_complex_root_bool
{
- \prop_get:NnN \_l_siunitx_number_in_prop { complex-sign }
- \_l_siunitx_tmpa_tl
- \_siunitx_error:nV { misplaced-sign-token } \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { complex-sign }
+ \l_siunitx_tmpa_tl
+ \siunitx_error:nV { misplaced-sign-token } \l_siunitx_tmpa_tl
}
- \prop_get:NnN \_l_siunitx_number_in_prop { mantissa-sign }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { mantissa-sign }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \prop_if_in:NnF \_l_siunitx_number_in_prop { mantissa }
+ \prop_if_in:NnF \l_siunitx_number_in_prop { mantissa }
{
- \prop_del:Nn \_l_siunitx_number_in_prop { mantissa-sign }
- \prop_put:NnV \_l_siunitx_number_in_prop { complex-sign }
- \_l_siunitx_tmpa_tl
+ \prop_del:Nn \l_siunitx_number_in_prop { mantissa-sign }
+ \prop_put:NnV \l_siunitx_number_in_prop { complex-sign }
+ \l_siunitx_tmpa_tl
}
}
}
-\int_new:N \_l_siunitx_round_int
-\tl_new:N \_l_siunitx_round_tl
-\bool_new:N \_l_siunitx_round_bool
-\tl_new:N \_l_siunitx_round_decimal_in_tl
-\tl_new:N \_l_siunitx_round_decimal_out_tl
-\tl_new:N \_l_siunitx_round_integer_in_tl
-\tl_new:N \_l_siunitx_round_integer_out_tl
-\int_new:N \_l_siunitx_process_decimal_int
-\int_new:N \_l_siunitx_process_uncertainty_int
-\tl_new:N \_l_siunitx_uncertainty_decimal_tl
-\tl_new:N \_l_siunitx_uncertainty_integer_tl
+\int_new:N \l_siunitx_round_int
+\tl_new:N \l_siunitx_round_tl
+\bool_new:N \l_siunitx_round_bool
+\tl_new:N \l_siunitx_round_decimal_in_tl
+\tl_new:N \l_siunitx_round_decimal_out_tl
+\tl_new:N \l_siunitx_round_integer_in_tl
+\tl_new:N \l_siunitx_round_integer_out_tl
+\int_new:N \l_siunitx_process_decimal_int
+\int_new:N \l_siunitx_process_uncertainty_int
+\tl_new:N \l_siunitx_uncertainty_decimal_tl
+\tl_new:N \l_siunitx_uncertainty_integer_tl
\keys_define:nn { siunitx } {
- add-decimal-zero .bool_set:N = \_l_siunitx_process_decimal_zero_bool,
- add-integer-zero .bool_set:N = \_l_siunitx_process_integer_zero_bool,
- explicit-sign .tl_set:N = \_l_siunitx_process_sign_tl,
- retain-explicit-plus .bool_set:N = \_l_siunitx_process_plus_tl,
+ add-decimal-zero .bool_set:N = \l_siunitx_process_decimal_zero_bool,
+ add-integer-zero .bool_set:N = \l_siunitx_process_integer_zero_bool,
+ explicit-sign .tl_set:N = \l_siunitx_process_sign_tl,
+ retain-explicit-plus .bool_set:N = \l_siunitx_process_plus_tl,
retain-unity-mantissa .bool_set:N =
- \_l_siunitx_process_unity_mantissa_bool,
+ \l_siunitx_process_unity_mantissa_bool,
retain-zero-exponent .bool_set:N =
- \_l_siunitx_process_zero_exponent_bool,
+ \l_siunitx_process_zero_exponent_bool,
round-mode .choice: ,
round-mode / figures .code:n =
- { \tl_set:Nn \_l_siunitx_round_tl { figures } },
- round-mode / off .code:n = { \tl_clear:N \_l_siunitx_round_tl },
+ { \tl_set:Nn \l_siunitx_round_tl { figures } },
+ round-mode / off .code:n = { \tl_clear:N \l_siunitx_round_tl },
round-mode / places .code:n =
- { \tl_set:Nn \_l_siunitx_round_tl { places } },
- round-precision .int_set:N = \_l_siunitx_process_precision_int,
+ { \tl_set:Nn \l_siunitx_round_tl { places } },
+ round-precision .int_set:N = \l_siunitx_process_precision_int,
}
\keys_set:nn { siunitx } {
add-decimal-zero = true,
@@ -1444,200 +1444,200 @@
retain-unity-mantissa = true,
round-precision = 2,
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process: {
- \_siunitx_number_process_sign:
- \_siunitx_number_process_zero_fill:
- \_siunitx_number_process_mantissa:
- \prop_if_in:NnF \_l_siunitx_number_in_prop { symbolic }
+\cs_new_protected_nopar:Npn \siunitx_number_process: {
+ \siunitx_number_process_sign:
+ \siunitx_number_process_zero_fill:
+ \siunitx_number_process_mantissa:
+ \prop_if_in:NnF \l_siunitx_number_in_prop { symbolic }
{
- \_siunitx_number_process_exponent:
- \_siunitx_number_process_uncertainty:
- \prop_if_in:NnF \_l_siunitx_number_in_prop { uncertainty }
- { \_siunitx_number_process_round: }
+ \siunitx_number_process_exponent:
+ \siunitx_number_process_uncertainty:
+ \prop_if_in:NnF \l_siunitx_number_in_prop { uncertainty }
+ { \siunitx_number_process_round: }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_exponent: {
- \bool_if:NF \_l_siunitx_process_zero_exponent_bool
+\cs_new_protected_nopar:Npn \siunitx_number_process_exponent: {
+ \bool_if:NF \l_siunitx_process_zero_exponent_bool
{
- \prop_if_in:NnT \_l_siunitx_number_in_prop { exponent }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { exponent }
{
- \bool_set_false:N \_l_siunitx_tmp_bool
- \_siunitx_number_process_exponent_aux:n { integer }
- \bool_if:NF \_l_siunitx_tmp_bool
- { \_siunitx_number_process_exponent_aux:n { decimal } }
- \bool_if:NF \_l_siunitx_tmp_bool
+ \bool_set_false:N \l_siunitx_tmp_bool
+ \siunitx_number_process_exponent_aux:n { integer }
+ \bool_if:NF \l_siunitx_tmp_bool
+ { \siunitx_number_process_exponent_aux:n { decimal } }
+ \bool_if:NF \l_siunitx_tmp_bool
{
- \prop_del:Nn \_l_siunitx_number_in_prop { exponent }
- \prop_del:Nn \_l_siunitx_number_in_prop
+ \prop_del:Nn \l_siunitx_number_in_prop { exponent }
+ \prop_del:Nn \l_siunitx_number_in_prop
{ exponent-integer }
- \prop_del:Nn \_l_siunitx_number_in_prop
+ \prop_del:Nn \l_siunitx_number_in_prop
{ exponent-decimal }
}
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_exponent_aux:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop { exponent- #1 }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_process_exponent_aux:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop { exponent- #1 }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \intexpr_compare:nNnF { \_l_siunitx_tmpa_tl } = { 0 }
- { \bool_set_true:N \_l_siunitx_tmp_bool }
+ \intexpr_compare:nNnF { \l_siunitx_tmpa_tl } = { 0 }
+ { \bool_set_true:N \l_siunitx_tmp_bool }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_figures:n #1 {
- \prop_if_in:NnT \_l_siunitx_number_in_prop {#1}
- { \_siunitx_number_process_figures_aux:n {#1} }
+\cs_new_protected_nopar:Npn \siunitx_number_process_figures:n #1 {
+ \prop_if_in:NnT \l_siunitx_number_in_prop {#1}
+ { \siunitx_number_process_figures_aux:n {#1} }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_figures_aux:n #1 {
- \_siunitx_number_process_figures_init:n {#1}
- \_siunitx_number_process_figures_count:n { integer }
- \_siunitx_number_process_figures_count:n { decimal }
- \bool_if:NTF \_l_siunitx_round_bool
+\cs_new_protected_nopar:Npn \siunitx_number_process_figures_aux:n #1 {
+ \siunitx_number_process_figures_init:n {#1}
+ \siunitx_number_process_figures_count:n { integer }
+ \siunitx_number_process_figures_count:n { decimal }
+ \bool_if:NTF \l_siunitx_round_bool
{
- \bool_set_false:N \_l_siunitx_round_bool
+ \bool_set_false:N \l_siunitx_round_bool
\intexpr_compare:nNnTF
- { \_l_siunitx_round_int } >
- { \_l_siunitx_process_precision_int }
+ { \l_siunitx_round_int } >
+ { \l_siunitx_process_precision_int }
{
- \_siunitx_number_process_figures_round:
- \_siunitx_number_process_round_tidy:n {#1}
+ \siunitx_number_process_figures_round:
+ \siunitx_number_process_round_tidy:n {#1}
}
- { \_siunitx_number_process_figures_pad:n {#1} }
- }
- {
- \prop_put:Nnn \_l_siunitx_number_in_prop { #1 -integer } { 0 }
- \prop_del:Nn \_l_siunitx_number_in_prop { #1 -decimal }
- }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_figures_init:n #1 {
- \int_zero:N \_l_siunitx_round_int
- \bool_set_false:N \_l_siunitx_round_bool
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -decimal }
- \_l_siunitx_round_decimal_in_tl
- \quark_if_no_value:NT \_l_siunitx_round_decimal_in_tl
- { \tl_clear:N \_l_siunitx_round_decimal_in_tl }
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -integer }
- \_l_siunitx_round_integer_in_tl
- \quark_if_no_value:NT \_l_siunitx_round_integer_in_tl
- { \tl_clear:N \_l_siunitx_round_integer_in_tl }
- \tl_clear:N \_l_siunitx_round_decimal_out_tl
- \tl_clear:N \_l_siunitx_round_integer_out_tl
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_figures_count:n #1 {
- \tl_if_empty:cF { _l_siunitx_round_ #1 _in_tl }
- {
- \prop_if_in:NnF \_l_siunitx_number_in_prop { #1 -uncertainty }
- { \_siunitx_number_process_figures_count_aux:n {#1} }
- }
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_figures_count_aux:n #1 {
- \int_set:Nn \_l_siunitx_tmp_int
- { \exp_args:Nv \tl_head:n { _l_siunitx_round_ #1 _in_tl } }
- \tl_set:cx { _l_siunitx_round_ #1 _in_tl }
- { \exp_args:Nv \tl_tail:n { _l_siunitx_round_ #1 _in_tl } }
- \tl_put_left:cV { _l_siunitx_round_ #1 _out_tl } \_l_siunitx_tmp_int
- \bool_if:NF \_l_siunitx_round_bool
- {
- \intexpr_compare:nNnF { \_l_siunitx_tmp_int } = { 0 }
- { \bool_set_true:N \_l_siunitx_round_bool }
- }
- \bool_if:NT \_l_siunitx_round_bool
- { \int_incr:N \_l_siunitx_round_int }
- \tl_if_empty:cTF { _l_siunitx_round_ #1 _in_tl }
- {
- \tl_set_eq:cc { _l_siunitx_round_ #1 _in_tl }
- { _l_siunitx_round_ #1 _out_tl }
- \tl_clear:c { _l_siunitx_round_ #1 _out_tl }
- }
- { \_siunitx_number_process_figures_count_aux:n {#1} }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_figures_round: {
- \int_set:Nn \_l_siunitx_round_int
- { \_l_siunitx_round_int - \_l_siunitx_process_precision_int }
- \tl_if_empty:NF \_l_siunitx_round_decimal_in_tl
- { \_siunitx_number_process_figures_round_loop: }
- \tl_if_empty:NF \_l_siunitx_round_integer_in_tl
- { \_siunitx_number_process_figures_integer: }
- \bool_if:NT \_l_siunitx_round_bool
- {
- \tl_put_left:Nn \_l_siunitx_round_integer_out_tl { 1 }
- \tl_if_empty:NF \_l_siunitx_round_decimal_out_tl
- {
- \tl_reverse:N \_l_siunitx_round_decimal_out_tl
- \tl_set:Nx \_l_siunitx_round_decimal_out_tl
- { \tl_tail:n \_l_siunitx_round_decimal_out_tl }
- \tl_reverse:N \_l_siunitx_round_decimal_out_tl
+ { \siunitx_number_process_figures_pad:n {#1} }
+ }
+ {
+ \prop_put:Nnn \l_siunitx_number_in_prop { #1 -integer } { 0 }
+ \prop_del:Nn \l_siunitx_number_in_prop { #1 -decimal }
+ }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_process_figures_init:n #1 {
+ \int_zero:N \l_siunitx_round_int
+ \bool_set_false:N \l_siunitx_round_bool
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal }
+ \l_siunitx_round_decimal_in_tl
+ \quark_if_no_value:NT \l_siunitx_round_decimal_in_tl
+ { \tl_clear:N \l_siunitx_round_decimal_in_tl }
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -integer }
+ \l_siunitx_round_integer_in_tl
+ \quark_if_no_value:NT \l_siunitx_round_integer_in_tl
+ { \tl_clear:N \l_siunitx_round_integer_in_tl }
+ \tl_clear:N \l_siunitx_round_decimal_out_tl
+ \tl_clear:N \l_siunitx_round_integer_out_tl
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_figures_count:n #1 {
+ \tl_if_empty:cF { l_siunitx_round_ #1 _in_tl }
+ {
+ \prop_if_in:NnF \l_siunitx_number_in_prop { #1 -uncertainty }
+ { \siunitx_number_process_figures_count_aux:n {#1} }
+ }
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_figures_count_aux:n #1 {
+ \int_set:Nn \l_siunitx_tmp_int
+ { \exp_args:Nv \tl_head:n { l_siunitx_round_ #1 _in_tl } }
+ \tl_set:cx { l_siunitx_round_ #1 _in_tl }
+ { \exp_args:Nv \tl_tail:n { l_siunitx_round_ #1 _in_tl } }
+ \tl_put_left:cV { l_siunitx_round_ #1 _out_tl } \l_siunitx_tmp_int
+ \bool_if:NF \l_siunitx_round_bool
+ {
+ \intexpr_compare:nNnF { \l_siunitx_tmp_int } = { 0 }
+ { \bool_set_true:N \l_siunitx_round_bool }
+ }
+ \bool_if:NT \l_siunitx_round_bool
+ { \int_incr:N \l_siunitx_round_int }
+ \tl_if_empty:cTF { l_siunitx_round_ #1 _in_tl }
+ {
+ \tl_set_eq:cc { l_siunitx_round_ #1 _in_tl }
+ { l_siunitx_round_ #1 _out_tl }
+ \tl_clear:c { l_siunitx_round_ #1 _out_tl }
+ }
+ { \siunitx_number_process_figures_count_aux:n {#1} }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_process_figures_round: {
+ \int_set:Nn \l_siunitx_round_int
+ { \l_siunitx_round_int - \l_siunitx_process_precision_int }
+ \tl_if_empty:NF \l_siunitx_round_decimal_in_tl
+ { \siunitx_number_process_figures_round_loop: }
+ \tl_if_empty:NF \l_siunitx_round_integer_in_tl
+ { \siunitx_number_process_figures_integer: }
+ \bool_if:NT \l_siunitx_round_bool
+ {
+ \tl_put_left:Nn \l_siunitx_round_integer_out_tl { 1 }
+ \tl_if_empty:NF \l_siunitx_round_decimal_out_tl
+ {
+ \tl_reverse:N \l_siunitx_round_decimal_out_tl
+ \tl_set:Nx \l_siunitx_round_decimal_out_tl
+ { \tl_tail:n \l_siunitx_round_decimal_out_tl }
+ \tl_reverse:N \l_siunitx_round_decimal_out_tl
}
}
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_figures_round_loop: {
- \_siunitx_number_process_round_decimal:
- \tl_if_empty:NF \_l_siunitx_round_decimal_in_tl
- { \_siunitx_number_process_figures_round_loop: }
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_figures_round_loop: {
+ \siunitx_number_process_round_decimal:
+ \tl_if_empty:NF \l_siunitx_round_decimal_in_tl
+ { \siunitx_number_process_figures_round_loop: }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_figures_integer: {
- \intexpr_compare:nNnT { \_l_siunitx_round_int } > { 0 }
- { \tl_put_left:Nn \_l_siunitx_round_integer_out_tl { 0 } }
- \intexpr_compare:nNnF { \_l_siunitx_round_int } > { 1 }
+\cs_new_protected_nopar:Npn \siunitx_number_process_figures_integer: {
+ \intexpr_compare:nNnT { \l_siunitx_round_int } > { 0 }
+ { \tl_put_left:Nn \l_siunitx_round_integer_out_tl { 0 } }
+ \intexpr_compare:nNnF { \l_siunitx_round_int } > { 1 }
{
- \int_set:Nn \_l_siunitx_tmp_int
- { \exp_args:NV \tl_head:n \_l_siunitx_round_integer_in_tl }
- \bool_if:NT \_l_siunitx_round_bool
- { \int_incr:N \_l_siunitx_tmp_int }
- \bool_set_false:N \_l_siunitx_round_bool
- \intexpr_compare:nNnTF { \_l_siunitx_round_int } = { 1 }
+ \int_set:Nn \l_siunitx_tmp_int
+ { \exp_args:NV \tl_head:n \l_siunitx_round_integer_in_tl }
+ \bool_if:NT \l_siunitx_round_bool
+ { \int_incr:N \l_siunitx_tmp_int }
+ \bool_set_false:N \l_siunitx_round_bool
+ \intexpr_compare:nNnTF { \l_siunitx_round_int } = { 1 }
{
- \intexpr_compare:nNnT { \_l_siunitx_tmp_int } > { 4 }
- { \bool_set_true:N \_l_siunitx_round_bool }
+ \intexpr_compare:nNnT { \l_siunitx_tmp_int } > { 4 }
+ { \bool_set_true:N \l_siunitx_round_bool }
}
{
- \intexpr_compare:nNnT { \_l_siunitx_tmp_int } > { 10 }
+ \intexpr_compare:nNnT { \l_siunitx_tmp_int } > { 10 }
{
- \bool_set_true:N \_l_siunitx_round_bool
- \int_zero:N \_l_siunitx_tmp_int
+ \bool_set_true:N \l_siunitx_round_bool
+ \int_zero:N \l_siunitx_tmp_int
}
- \tl_put_left:NV \_l_siunitx_round_integer_out_tl
- \_l_siunitx_tmp_int
+ \tl_put_left:NV \l_siunitx_round_integer_out_tl
+ \l_siunitx_tmp_int
}
}
- \int_decr:N \_l_siunitx_round_int
- \tl_set:Nx \_l_siunitx_round_integer_in_tl
- { \exp_args:NV \tl_tail:n \_l_siunitx_round_integer_in_tl }
- \tl_if_empty:NF \_l_siunitx_round_integer_in_tl
- { \_siunitx_number_process_figures_integer: }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_figures_pad:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -integer }
- \_l_siunitx_round_integer_in_tl
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -decimal }
- \_l_siunitx_round_decimal_in_tl
- \int_set:Nn \_l_siunitx_round_int
- { \_l_siunitx_process_precision_int - \_l_siunitx_round_int }
- \_siunitx_number_process_pad:n {#1}
-}
-\tl_new:N \_c_siunitx_unity_tl
-\tl_set:Nn \_c_siunitx_unity_tl { 1 }
-\cs_set_protected_nopar:Npn \_siunitx_number_process_mantissa: {
- \bool_if:NF \_l_siunitx_process_unity_mantissa_bool
- {
- \prop_if_in:NnT \_l_siunitx_number_in_prop { exponent }
- {
- \prop_get:NnN \_l_siunitx_number_in_prop { mantissa-integer }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \int_decr:N \l_siunitx_round_int
+ \tl_set:Nx \l_siunitx_round_integer_in_tl
+ { \exp_args:NV \tl_tail:n \l_siunitx_round_integer_in_tl }
+ \tl_if_empty:NF \l_siunitx_round_integer_in_tl
+ { \siunitx_number_process_figures_integer: }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_process_figures_pad:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -integer }
+ \l_siunitx_round_integer_in_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal }
+ \l_siunitx_round_decimal_in_tl
+ \int_set:Nn \l_siunitx_round_int
+ { \l_siunitx_process_precision_int - \l_siunitx_round_int }
+ \siunitx_number_process_pad:n {#1}
+}
+\tl_new:N \c_siunitx_unity_tl
+\tl_set:Nn \c_siunitx_unity_tl { 1 }
+\cs_new_protected_nopar:Npn \siunitx_number_process_mantissa: {
+ \bool_if:NF \l_siunitx_process_unity_mantissa_bool
+ {
+ \prop_if_in:NnT \l_siunitx_number_in_prop { exponent }
+ {
+ \prop_get:NnN \l_siunitx_number_in_prop { mantissa-integer }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \tl_if_eq:NNT \_c_siunitx_unity_tl \_l_siunitx_tmpa_tl
+ \tl_if_eq:NNT \c_siunitx_unity_tl \l_siunitx_tmpa_tl
{
- \prop_if_in:NnF \_l_siunitx_number_in_prop
+ \prop_if_in:NnF \l_siunitx_number_in_prop
{ mantissa-decimal-marker }
{
- \prop_del:Nn \_l_siunitx_number_in_prop
+ \prop_del:Nn \l_siunitx_number_in_prop
{ mantissa }
- \prop_del:Nn \_l_siunitx_number_in_prop
+ \prop_del:Nn \l_siunitx_number_in_prop
{ mantissa-integer }
}
}
@@ -1645,365 +1645,365 @@
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_pad:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -decimal }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_process_pad:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \intexpr_while_do:nNnn { \_l_siunitx_round_int } > { 0 }
+ \intexpr_while_do:nNnn { \l_siunitx_round_int } > { 0 }
{
- \tl_put_right:Nn \_l_siunitx_tmpa_tl { 0 }
- \int_decr:N \_l_siunitx_round_int
+ \tl_put_right:Nn \l_siunitx_tmpa_tl { 0 }
+ \int_decr:N \l_siunitx_round_int
}
- \prop_put:NnV \_l_siunitx_number_in_prop { #1 -decimal }
- \_l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_in_prop { #1 -decimal }
+ \l_siunitx_tmpa_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_places:n #1 {
- \prop_if_in:NnT \_l_siunitx_number_in_prop {#1}
+\cs_new_protected_nopar:Npn \siunitx_number_process_places:n #1 {
+ \prop_if_in:NnT \l_siunitx_number_in_prop {#1}
{
- \prop_if_in:NnF \_l_siunitx_number_in_prop { #1 -uncertainty }
- { \_siunitx_number_process_places_aux_i:n {#1} }
+ \prop_if_in:NnF \l_siunitx_number_in_prop { #1 -uncertainty }
+ { \siunitx_number_process_places_aux_i:n {#1} }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_places_aux_i:n #1 {
- \intexpr_compare:nNnTF { \_l_siunitx_process_precision_int } = { 0 }
- { \prop_del:Nn \_l_siunitx_number_in_prop { #1 -decimal } }
+\cs_new_protected_nopar:Npn \siunitx_number_process_places_aux_i:n #1 {
+ \intexpr_compare:nNnTF { \l_siunitx_process_precision_int } = { 0 }
+ { \prop_del:Nn \l_siunitx_number_in_prop { #1 -decimal } }
{
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -decimal }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \tl_if_empty:NT \_l_siunitx_tmpa_tl
- { \tl_set:Nn \_l_siunitx_tmpa_tl { 0 } }
- \intexpr_compare:nNnTF { \_l_siunitx_tmpa_tl } = { 0 }
+ \tl_if_empty:NT \l_siunitx_tmpa_tl
+ { \tl_set:Nn \l_siunitx_tmpa_tl { 0 } }
+ \intexpr_compare:nNnTF { \l_siunitx_tmpa_tl } = { 0 }
{
- \prop_put:Nnn \_l_siunitx_number_in_prop { #1 -decimal }
+ \prop_put:Nnn \l_siunitx_number_in_prop { #1 -decimal }
{ }
- \int_set:Nn \_l_siunitx_round_int
- { \_l_siunitx_process_precision_int }
- \_siunitx_number_process_pad:n {#1}
+ \int_set:Nn \l_siunitx_round_int
+ { \l_siunitx_process_precision_int }
+ \siunitx_number_process_pad:n {#1}
}
{
- \int_set:Nn \_l_siunitx_round_int
- { \tl_elt_count:N \_l_siunitx_tmpa_tl }
- \_siunitx_number_process_places_aux_ii:n {#1}
+ \int_set:Nn \l_siunitx_round_int
+ { \tl_elt_count:N \l_siunitx_tmpa_tl }
+ \siunitx_number_process_places_aux_ii:n {#1}
}
}
}
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_places_aux_ii:n #1 {
- \int_sub:Nn \_l_siunitx_round_int
- { \_l_siunitx_process_precision_int }
- \intexpr_compare:nNnTF { \_l_siunitx_round_int } < { 0 }
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_places_aux_ii:n #1 {
+ \int_sub:Nn \l_siunitx_round_int
+ { \l_siunitx_process_precision_int }
+ \intexpr_compare:nNnTF { \l_siunitx_round_int } < { 0 }
{
- \int_set:Nn \_l_siunitx_round_int { - \_l_siunitx_round_int }
- \_siunitx_number_process_pad:n {#1}
+ \int_set:Nn \l_siunitx_round_int { - \l_siunitx_round_int }
+ \siunitx_number_process_pad:n {#1}
}
{
- \_siunitx_number_process_places_init:n {#1}
- \_siunitx_number_process_places_loop:n {#1}
- \_siunitx_number_process_round_tidy:n {#1}
+ \siunitx_number_process_places_init:n {#1}
+ \siunitx_number_process_places_loop:n {#1}
+ \siunitx_number_process_round_tidy:n {#1}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_places_init:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -integer }
- \_l_siunitx_round_integer_in_tl
- \quark_if_no_value:NT \_l_siunitx_round_integer_in_tl
- { \tl_clear:N \_l_siunitx_round_integer_in_tl }
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -decimal }
- \_l_siunitx_round_decimal_in_tl
- \tl_reverse:N \_l_siunitx_round_integer_in_tl
- \tl_reverse:N \_l_siunitx_round_decimal_in_tl
- \tl_clear:N \_l_siunitx_round_integer_out_tl
- \tl_clear:N \_l_siunitx_round_decimal_out_tl
- \bool_set_false:N \_l_siunitx_round_bool
+\cs_new_protected_nopar:Npn \siunitx_number_process_places_init:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -integer }
+ \l_siunitx_round_integer_in_tl
+ \quark_if_no_value:NT \l_siunitx_round_integer_in_tl
+ { \tl_clear:N \l_siunitx_round_integer_in_tl }
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal }
+ \l_siunitx_round_decimal_in_tl
+ \tl_reverse:N \l_siunitx_round_integer_in_tl
+ \tl_reverse:N \l_siunitx_round_decimal_in_tl
+ \tl_clear:N \l_siunitx_round_integer_out_tl
+ \tl_clear:N \l_siunitx_round_decimal_out_tl
+ \bool_set_false:N \l_siunitx_round_bool
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_places_loop:n #1 {
- \tl_if_empty:NTF \_l_siunitx_round_decimal_in_tl
+\cs_new_protected_nopar:Npn \siunitx_number_process_places_loop:n #1 {
+ \tl_if_empty:NTF \l_siunitx_round_decimal_in_tl
{
- \tl_if_empty:NF \_l_siunitx_round_integer_in_tl
+ \tl_if_empty:NF \l_siunitx_round_integer_in_tl
{
- \_siunitx_number_process_places_integer:n {#1}
- \_siunitx_number_process_places_loop:n {#1}
+ \siunitx_number_process_places_integer:n {#1}
+ \siunitx_number_process_places_loop:n {#1}
}
- \bool_if:NT \_l_siunitx_round_bool
+ \bool_if:NT \l_siunitx_round_bool
{
- \tl_put_left:Nn \_l_siunitx_round_integer_out_tl { 1 }
- \bool_set_false:N \_l_siunitx_round_bool
+ \tl_put_left:Nn \l_siunitx_round_integer_out_tl { 1 }
+ \bool_set_false:N \l_siunitx_round_bool
}
}
{
- \_siunitx_number_process_round_decimal:
- \_siunitx_number_process_places_loop:n {#1}
+ \siunitx_number_process_round_decimal:
+ \siunitx_number_process_places_loop:n {#1}
}
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_places_integer:n #1 {
- \int_set:Nn \_l_siunitx_tmp_int
- { \exp_args:NV \tl_head:n \_l_siunitx_round_integer_in_tl }
- \tl_set:Nx \_l_siunitx_round_integer_in_tl
- { \exp_args:NV \tl_tail:n \_l_siunitx_round_integer_in_tl }
- \bool_if:NT \_l_siunitx_round_bool
- { \int_incr:N \_l_siunitx_tmp_int }
- \bool_set_false:N \_l_siunitx_round_bool
- \intexpr_compare:nNnT { \_l_siunitx_tmp_int } = { 10 }
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_places_integer:n #1 {
+ \int_set:Nn \l_siunitx_tmp_int
+ { \exp_args:NV \tl_head:n \l_siunitx_round_integer_in_tl }
+ \tl_set:Nx \l_siunitx_round_integer_in_tl
+ { \exp_args:NV \tl_tail:n \l_siunitx_round_integer_in_tl }
+ \bool_if:NT \l_siunitx_round_bool
+ { \int_incr:N \l_siunitx_tmp_int }
+ \bool_set_false:N \l_siunitx_round_bool
+ \intexpr_compare:nNnT { \l_siunitx_tmp_int } = { 10 }
{
- \int_zero:N \_l_siunitx_tmp_int
- \bool_set_true:N \_l_siunitx_round_bool
+ \int_zero:N \l_siunitx_tmp_int
+ \bool_set_true:N \l_siunitx_round_bool
}
- \tl_put_left:NV \_l_siunitx_round_integer_out_tl \_l_siunitx_tmp_int
+ \tl_put_left:NV \l_siunitx_round_integer_out_tl \l_siunitx_tmp_int
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_round: {
- \tl_if_empty:NF \_l_siunitx_round_tl
+\cs_new_protected_nopar:Npn \siunitx_number_process_round: {
+ \tl_if_empty:NF \l_siunitx_round_tl
{
- \cs_set_nopar:Npx \_siunitx_tmp:w
+ \cs_set_nopar:Npx \siunitx_tmp:w
{
\exp_not:N \clist_map_function:nN
{ mantissa , complex }
\exp_not:c
- { _siunitx_number_process_ \_l_siunitx_round_tl :n }
+ { siunitx_number_process_ \l_siunitx_round_tl :n }
}
- \_siunitx_tmp:w
+ \siunitx_tmp:w
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_round_decimal: {
- \intexpr_compare:nNnF { \_l_siunitx_round_int } > { 1 }
- { \_siunitx_number_process_round_decimal_aux: }
- \tl_set:Nx \_l_siunitx_round_decimal_in_tl
- { \exp_args:NV \tl_tail:n \_l_siunitx_round_decimal_in_tl }
+\cs_new_protected_nopar:Npn \siunitx_number_process_round_decimal: {
+ \intexpr_compare:nNnF { \l_siunitx_round_int } > { 1 }
+ { \siunitx_number_process_round_decimal_aux: }
+ \tl_set:Nx \l_siunitx_round_decimal_in_tl
+ { \exp_args:NV \tl_tail:n \l_siunitx_round_decimal_in_tl }
- \int_decr:N \_l_siunitx_round_int
+ \int_decr:N \l_siunitx_round_int
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_round_decimal_aux: {
- \int_set:Nn \_l_siunitx_tmp_int
- { \exp_args:NV \tl_head:n \_l_siunitx_round_decimal_in_tl }
- \bool_if:NT \_l_siunitx_round_bool
- { \int_incr:N \_l_siunitx_tmp_int }
- \bool_set_false:N \_l_siunitx_round_bool
- \intexpr_compare:nNnTF { \_l_siunitx_round_int } = { 1 }
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_round_decimal_aux: {
+ \int_set:Nn \l_siunitx_tmp_int
+ { \exp_args:NV \tl_head:n \l_siunitx_round_decimal_in_tl }
+ \bool_if:NT \l_siunitx_round_bool
+ { \int_incr:N \l_siunitx_tmp_int }
+ \bool_set_false:N \l_siunitx_round_bool
+ \intexpr_compare:nNnTF { \l_siunitx_round_int } = { 1 }
{
- \intexpr_compare:nNnT { \_l_siunitx_tmp_int } > { 4 }
- { \bool_set_true:N \_l_siunitx_round_bool }
+ \intexpr_compare:nNnT { \l_siunitx_tmp_int } > { 4 }
+ { \bool_set_true:N \l_siunitx_round_bool }
}
{
- \intexpr_compare:nNnT { \_l_siunitx_tmp_int } = { 10 }
+ \intexpr_compare:nNnT { \l_siunitx_tmp_int } = { 10 }
{
- \bool_set_true:N \_l_siunitx_round_bool
- \int_zero:N \_l_siunitx_tmp_int
+ \bool_set_true:N \l_siunitx_round_bool
+ \int_zero:N \l_siunitx_tmp_int
}
- \tl_put_left:NV \_l_siunitx_round_decimal_out_tl
- \_l_siunitx_tmp_int
+ \tl_put_left:NV \l_siunitx_round_decimal_out_tl
+ \l_siunitx_tmp_int
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_round_tidy:n #1 {
- \prop_put:NnV \_l_siunitx_number_in_prop { #1 -integer }
- \_l_siunitx_round_integer_out_tl
- \prop_put:NnV \_l_siunitx_number_in_prop { #1 -decimal }
- \_l_siunitx_round_decimal_out_tl
+\cs_new_protected_nopar:Npn \siunitx_number_process_round_tidy:n #1 {
+ \prop_put:NnV \l_siunitx_number_in_prop { #1 -integer }
+ \l_siunitx_round_integer_out_tl
+ \prop_put:NnV \l_siunitx_number_in_prop { #1 -decimal }
+ \l_siunitx_round_decimal_out_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_sign: {
- \bool_if:NF \_l_siunitx_process_plus_tl
+\cs_new_protected_nopar:Npn \siunitx_number_process_sign: {
+ \bool_if:NF \l_siunitx_process_plus_tl
{
- \prop_if_in:NnTF \_l_siunitx_number_in_prop { mantissa-sign }
- { \_siunitx_number_process_sign_plus:n { mantissa } }
+ \prop_if_in:NnTF \l_siunitx_number_in_prop { mantissa-sign }
+ { \siunitx_number_process_sign_plus:n { mantissa } }
{
- \prop_if_in:NnT \_l_siunitx_number_in_prop { complex-sign }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { complex-sign }
{
- \prop_if_in:NnF \_l_siunitx_number_in_prop { mantissa }
- { \_siunitx_number_process_sign_plus:n { complex } }
+ \prop_if_in:NnF \l_siunitx_number_in_prop { mantissa }
+ { \siunitx_number_process_sign_plus:n { complex } }
}
}
- \prop_if_in:NnT \_l_siunitx_number_in_prop { exponent-sign }
- { \_siunitx_number_process_sign_plus:n { exponent } }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { exponent-sign }
+ { \siunitx_number_process_sign_plus:n { exponent } }
}
- \tl_if_empty:NF \_l_siunitx_process_sign_tl
+ \tl_if_empty:NF \l_siunitx_process_sign_tl
{
- \prop_if_in:NnTF \_l_siunitx_number_in_prop { mantissa }
- { \_siunitx_number_process_sign_add:n { mantissa } }
+ \prop_if_in:NnTF \l_siunitx_number_in_prop { mantissa }
+ { \siunitx_number_process_sign_add:n { mantissa } }
{
- \prop_if_in:NnT \_l_siunitx_number_in_prop { complex }
- { \_siunitx_number_process_sign_add:n { complex } }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { complex }
+ { \siunitx_number_process_sign_add:n { complex } }
}
- \prop_if_in:NnT \_l_siunitx_number_in_prop { exponent }
- { \_siunitx_number_process_sign_add:n { exponent } }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { exponent }
+ { \siunitx_number_process_sign_add:n { exponent } }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_sign_add:n #1 {
- \prop_if_in:NnF \_l_siunitx_number_in_prop { #1 -sign }
+\cs_new_protected_nopar:Npn \siunitx_number_process_sign_add:n #1 {
+ \prop_if_in:NnF \l_siunitx_number_in_prop { #1 -sign }
{
- \prop_if_in:NnF \_l_siunitx_number_in_prop { #1 -had-sign }
+ \prop_if_in:NnF \l_siunitx_number_in_prop { #1 -had-sign }
{
- \prop_get:NnN \_l_siunitx_number_in_prop {#1}
- \_l_siunitx_tmpa_tl
- \tl_if_empty:NTF \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_in_prop {#1}
+ \l_siunitx_tmpa_tl
+ \tl_if_empty:NTF \l_siunitx_tmpa_tl
{
- \prop_put:NnV \_l_siunitx_number_in_prop { sign }
- \_l_siunitx_process_sign_tl
+ \prop_put:NnV \l_siunitx_number_in_prop { sign }
+ \l_siunitx_process_sign_tl
}
{
- \prop_put:NnV \_l_siunitx_number_in_prop { #1 -sign }
- \_l_siunitx_process_sign_tl
+ \prop_put:NnV \l_siunitx_number_in_prop { #1 -sign }
+ \l_siunitx_process_sign_tl
}
}
}
}
-\tl_new:N \_c_siunitx_plus_tl
-\tl_set:Nn \_c_siunitx_plus_tl { + }
-\cs_set_protected_nopar:Npn \_siunitx_number_process_sign_plus:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -sign }
- \_l_siunitx_tmpa_tl
- \tl_if_eq:NNT \_c_siunitx_plus_tl \_l_siunitx_tmpa_tl
+\tl_new:N \c_siunitx_plus_tl
+\tl_set:Nn \c_siunitx_plus_tl { + }
+\cs_new_protected_nopar:Npn \siunitx_number_process_sign_plus:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -sign }
+ \l_siunitx_tmpa_tl
+ \tl_if_eq:NNT \c_siunitx_plus_tl \l_siunitx_tmpa_tl
{
- \prop_del:Nn \_l_siunitx_number_in_prop { #1 -sign }
- \prop_put:Nnn \_l_siunitx_number_in_prop { #1 -had-sign } { true }
+ \prop_del:Nn \l_siunitx_number_in_prop { #1 -sign }
+ \prop_put:Nnn \l_siunitx_number_in_prop { #1 -had-sign } { true }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_uncertainty: {
+\cs_new_protected_nopar:Npn \siunitx_number_process_uncertainty: {
\clist_map_function:nN { mantissa , complex }
- \_siunitx_number_process_uncertainty_aux:n
+ \siunitx_number_process_uncertainty_aux:n
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_uncertainty_aux:n #1 {
- \prop_if_in:NnT \_l_siunitx_number_in_prop { #1 -uncertainty }
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_uncertainty_aux:n #1 {
+ \prop_if_in:NnT \l_siunitx_number_in_prop { #1 -uncertainty }
{
- \prop_if_in:NnTF \_l_siunitx_number_in_prop { #1 -decimal-marker }
- { \_siunitx_number_process_uncertainty_decimal:n {#1} }
- { \_siunitx_number_process_uncertainty_integer:n {#1} }
+ \prop_if_in:NnTF \l_siunitx_number_in_prop { #1 -decimal-marker }
+ { \siunitx_number_process_uncertainty_decimal:n {#1} }
+ { \siunitx_number_process_uncertainty_integer:n {#1} }
}
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_uncertainty_decimal:n #1 {
- \_siunitx_number_process_uncertainty_count:nn {#1} { decimal }
- \_siunitx_number_process_uncertainty_count:nn {#1} { uncertainty }
- \tl_clear:N \_l_siunitx_uncertainty_decimal_tl
- \tl_clear:N \_l_siunitx_uncertainty_integer_tl
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_uncertainty_decimal:n #1 {
+ \siunitx_number_process_uncertainty_count:nn {#1} { decimal }
+ \siunitx_number_process_uncertainty_count:nn {#1} { uncertainty }
+ \tl_clear:N \l_siunitx_uncertainty_decimal_tl
+ \tl_clear:N \l_siunitx_uncertainty_integer_tl
\intexpr_compare:nNnTF
- { \_l_siunitx_process_uncertainty_int } >
- { \_l_siunitx_process_decimal_int }
- { \_siunitx_number_process_uncertainty_separate: }
- { \_siunitx_number_process_uncertainty_pad: }
- \tl_if_empty:NF \_l_siunitx_uncertainty_integer_tl
+ { \l_siunitx_process_uncertainty_int } >
+ { \l_siunitx_process_decimal_int }
+ { \siunitx_number_process_uncertainty_separate: }
+ { \siunitx_number_process_uncertainty_pad: }
+ \tl_if_empty:NF \l_siunitx_uncertainty_integer_tl
{
- \prop_put:NnV \_l_siunitx_number_in_prop
+ \prop_put:NnV \l_siunitx_number_in_prop
{ #1 -uncertainty-integer }
- \_l_siunitx_uncertainty_integer_tl
- }
- \prop_put:NnV \_l_siunitx_number_in_prop { #1 -uncertainty-decimal }
- \_l_siunitx_uncertainty_decimal_tl
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -decimal-marker }
- \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_in_prop
- { #1 -uncertainty-decimal-marker } \_l_siunitx_tmpa_tl
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_uncertainty_count:nn #1#2 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 - #2 }
- \_l_siunitx_tmpa_tl
- \int_set:cn { _l_siunitx_process_ #2 _int }
- { \tl_elt_count:N \_l_siunitx_tmpa_tl }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_uncertainty_pad: {
+ \l_siunitx_uncertainty_integer_tl
+ }
+ \prop_put:NnV \l_siunitx_number_in_prop { #1 -uncertainty-decimal }
+ \l_siunitx_uncertainty_decimal_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal-marker }
+ \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_in_prop
+ { #1 -uncertainty-decimal-marker } \l_siunitx_tmpa_tl
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_uncertainty_count:nn #1#2 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 - #2 }
+ \l_siunitx_tmpa_tl
+ \int_set:cn { l_siunitx_process_ #2 _int }
+ { \tl_elt_count:N \l_siunitx_tmpa_tl }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_process_uncertainty_pad: {
\intexpr_while_do:nNnn
- { \_l_siunitx_process_uncertainty_int } <
- { \_l_siunitx_process_decimal_int }
+ { \l_siunitx_process_uncertainty_int } <
+ { \l_siunitx_process_decimal_int }
{
- \tl_put_right:Nn \_l_siunitx_uncertainty_decimal_tl {0}
- \int_incr:N \_l_siunitx_process_uncertainty_int
+ \tl_put_right:Nn \l_siunitx_uncertainty_decimal_tl {0}
+ \int_incr:N \l_siunitx_process_uncertainty_int
}
- \tl_put_right:NV \_l_siunitx_uncertainty_decimal_tl
- \_l_siunitx_tmpa_tl
+ \tl_put_right:NV \l_siunitx_uncertainty_decimal_tl
+ \l_siunitx_tmpa_tl
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_uncertainty_separate: {
- \tl_map_function:NN \_l_siunitx_tmpa_tl
- \_siunitx_number_process_uncertainty_separate_aux:N
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_uncertainty_separate: {
+ \tl_map_function:NN \l_siunitx_tmpa_tl
+ \siunitx_number_process_uncertainty_separate_aux:N
}
-\cs_set_protected:Npn
- \_siunitx_number_process_uncertainty_separate_aux:N #1 {
+\cs_new_protected:Npn
+ \siunitx_number_process_uncertainty_separate_aux:N #1 {
\intexpr_compare:nNnTF
- { \_l_siunitx_process_uncertainty_int } >
- { \_l_siunitx_process_decimal_int }
- { \tl_put_right:Nn \_l_siunitx_uncertainty_integer_tl {#1} }
- { \tl_put_right:Nn \_l_siunitx_uncertainty_decimal_tl {#1} }
- \int_decr:N \_l_siunitx_process_uncertainty_int
+ { \l_siunitx_process_uncertainty_int } >
+ { \l_siunitx_process_decimal_int }
+ { \tl_put_right:Nn \l_siunitx_uncertainty_integer_tl {#1} }
+ { \tl_put_right:Nn \l_siunitx_uncertainty_decimal_tl {#1} }
+ \int_decr:N \l_siunitx_process_uncertainty_int
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_uncertainty_integer:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -uncertainty }
- \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_in_prop { #1 -uncertainty-integer }
- \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_uncertainty_integer:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -uncertainty }
+ \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_in_prop { #1 -uncertainty-integer }
+ \l_siunitx_tmpa_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_process_zero_fill: {
- \_siunitx_number_process_zero_fill_aux:n { integer }
- \_siunitx_number_process_zero_fill_aux:n { decimal }
+\cs_new_protected_nopar:Npn \siunitx_number_process_zero_fill: {
+ \siunitx_number_process_zero_fill_aux:n { integer }
+ \siunitx_number_process_zero_fill_aux:n { decimal }
}
-\cs_set_nopar:Npn \_siunitx_number_process_zero_fill_aux:n #1 {
- \bool_if:cT { _l_siunitx_process_ #1 _zero_bool }
+\cs_new_nopar:Npn \siunitx_number_process_zero_fill_aux:n #1 {
+ \bool_if:cT { l_siunitx_process_ #1 _zero_bool }
{
- \_siunitx_number_process_zero_fill_aux:nn { mantissa } {#1}
- \_siunitx_number_process_zero_fill_aux:nn { complex } {#1}
- \_siunitx_number_process_zero_fill_aux:nn { exponent } {#1}
+ \siunitx_number_process_zero_fill_aux:nn { mantissa } {#1}
+ \siunitx_number_process_zero_fill_aux:nn { complex } {#1}
+ \siunitx_number_process_zero_fill_aux:nn { exponent } {#1}
}
}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_process_zero_fill_aux:nn #1#2 {
- \prop_if_in:NnT \_l_siunitx_number_in_prop { #1 -decimal-marker }
+\cs_new_protected_nopar:Npn
+ \siunitx_number_process_zero_fill_aux:nn #1#2 {
+ \prop_if_in:NnT \l_siunitx_number_in_prop { #1 -decimal-marker }
{
- \prop_if_in:NnF \_l_siunitx_number_in_prop { #1 - #2 }
- { \prop_put:Nnn \_l_siunitx_number_in_prop { #1 - #2 } { 0 } }
+ \prop_if_in:NnF \l_siunitx_number_in_prop { #1 - #2 }
+ { \prop_put:Nnn \l_siunitx_number_in_prop { #1 - #2 } { 0 } }
}
}
-\prop_new:N \_l_siunitx_number_out_prop
-\tl_new:N \_l_siunitx_group_sep_tl
-\tl_new:N \_l_siunitx_output_decimal_tl
-\bool_new:N \_l_siunitx_complex_after_bool
+\prop_new:N \l_siunitx_number_out_prop
+\tl_new:N \l_siunitx_group_sep_tl
+\tl_new:N \l_siunitx_output_decimal_tl
+\bool_new:N \l_siunitx_complex_after_bool
\keys_define:nn { siunitx } {
- bracket-numbers .bool_set:N = \_l_siunitx_brackets_bool,
- close-bracket .tl_set:N = \_l_siunitx_bracket_close_tl,
+ bracket-numbers .bool_set:N = \l_siunitx_brackets_bool,
+ close-bracket .tl_set:N = \l_siunitx_bracket_close_tl,
complex-root-position .choice:,
complex-root-position
/ after-number .code:n =
- { \bool_set_true:N \_l_siunitx_complex_after_bool } ,
+ { \bool_set_true:N \l_siunitx_complex_after_bool } ,
complex-root-position
/ before-number .code:n =
- { \bool_set_false:N \_l_siunitx_complex_after_bool } ,
+ { \bool_set_false:N \l_siunitx_complex_after_bool } ,
copy-decimal-marker .bool_set:N =
- \_l_siunitx_output_decimal_copy_bool,
- exponent-base .tl_set:N = \_l_siunitx_exponent_base_tl,
+ \l_siunitx_output_decimal_copy_bool,
+ exponent-base .tl_set:N = \l_siunitx_exponent_base_tl,
exponent-product .tl_set:N =
- \_l_siunitx_exponent_product_tl,
+ \l_siunitx_exponent_product_tl,
group-decimal-digits .bool_set:N =
- \_l_siunitx_group_decimal_bool,
+ \l_siunitx_group_decimal_bool,
group-digits .meta:n =
{
group-decimal-digits = #1,
group-integer-digits = #1
},
- group-four-digits .bool_set:N = \_l_siunitx_group_four_bool,
+ group-four-digits .bool_set:N = \l_siunitx_group_four_bool,
group-integer-digits .bool_set:N =
- \_l_siunitx_group_integer_bool,
+ \l_siunitx_group_integer_bool,
group-separator .code:n =
{
- \tl_set:Nn \_l_siunitx_group_sep_tl { {#1} }
+ \tl_set:Nn \l_siunitx_group_sep_tl { {#1} }
},
- negative-color .tl_set:N = \_l_siunitx_negative_color_tl,
- open-bracket .tl_set:N = \_l_siunitx_bracket_open_tl,
+ negative-color .tl_set:N = \l_siunitx_negative_color_tl,
+ open-bracket .tl_set:N = \l_siunitx_bracket_open_tl,
output-close-uncertainty .tl_set:N =
- \_l_siunitx_output_uncert_close_tl,
- output-complex-root .tl_set:N = \_l_siunitx_output_complex_tl,
+ \l_siunitx_output_uncert_close_tl,
+ output-complex-root .tl_set:N = \l_siunitx_output_complex_tl,
output-decimal-marker .code:n =
{
- \tl_set:Nn \_l_siunitx_output_decimal_tl { {#1} }
+ \tl_set:Nn \l_siunitx_output_decimal_tl { {#1} }
},
output-open-uncertainty .tl_set:N =
- \_l_siunitx_output_uncert_open_tl,
- separate-uncertainty .bool_set:N = \_l_siunitx_uncert_sep_bool,
- tight-spacing .bool_set:N = \_l_siunitx_tight_bool,
- uncertainty-separator .tl_set:N = \_l_siunitx_uncert_sep_tl,
+ \l_siunitx_output_uncert_open_tl,
+ separate-uncertainty .bool_set:N = \l_siunitx_uncert_sep_bool,
+ tight-spacing .bool_set:N = \l_siunitx_tight_bool,
+ uncertainty-separator .tl_set:N = \l_siunitx_uncert_sep_tl,
}
\keys_set:nn { siunitx } {
bracket-numbers = true, % (
@@ -2021,519 +2021,519 @@
output-decimal-marker = .,
output-open-uncertainty = (, % )
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format: {
- \prop_if_empty:NF \_l_siunitx_number_in_prop
+\cs_new_protected_nopar:Npn \siunitx_number_format: {
+ \prop_if_empty:NF \l_siunitx_number_in_prop
{
- \prop_clear:N \_l_siunitx_number_out_prop
- \_siunitx_number_format_reassemble:
- \_siunitx_number_format_complex:
- \_siunitx_number_format_sign:n { mantissa }
- \_siunitx_number_format_sign:n { exponent }
- \_siunitx_number_format_color:
- \_siunitx_number_format_final:
+ \prop_clear:N \l_siunitx_number_out_prop
+ \siunitx_number_format_reassemble:
+ \siunitx_number_format_complex:
+ \siunitx_number_format_sign:n { mantissa }
+ \siunitx_number_format_sign:n { exponent }
+ \siunitx_number_format_color:
+ \siunitx_number_format_final:
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_brackets:n #1 {
- \bool_if:NT \_l_siunitx_brackets_bool
+\cs_new_protected_nopar:Npn \siunitx_number_format_brackets:n #1 {
+ \bool_if:NT \l_siunitx_brackets_bool
{
- \prop_if_in:NnT \_l_siunitx_number_out_prop { #1 -bracket }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { #1 -bracket }
{
- \_siunitx_number_format_brackets_aux:n {#1}
- \prop_del:Nn \_l_siunitx_number_out_prop { #1 -bracket }
+ \siunitx_number_format_brackets_aux:n {#1}
+ \prop_del:Nn \l_siunitx_number_out_prop { #1 -bracket }
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_brackets_aux:n #1 {
- \prop_get:NnN \_l_siunitx_number_out_prop { #1 -result }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_brackets_aux:n #1 {
+ \prop_get:NnN \l_siunitx_number_out_prop { #1 -result }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
{
- \prop_get:NnN \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl
}
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_bracket_open_tl
- \_siunitx_tl_put_right_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_bracket_close_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_bracket_open_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_bracket_close_tl
\tl_if_eq:nnTF {#1} { result }
- { \prop_put:NnV \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl }
+ { \prop_put:NnV \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl }
{
- \prop_put:NnV \_l_siunitx_number_out_prop { #1 -result }
- \_l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { #1 -result }
+ \l_siunitx_tmpa_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_color: {
- \tl_if_empty:NF \_l_siunitx_negative_color_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_color: {
+ \tl_if_empty:NF \l_siunitx_negative_color_tl
{
- \_siunitx_number_format_color_aux:n { mantissa-sign }
- \_siunitx_number_format_color_aux:n { sign }
+ \siunitx_number_format_color_aux:n { mantissa-sign }
+ \siunitx_number_format_color_aux:n { sign }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_color_aux:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop {#1} \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_color_aux:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \tl_if_eq:nVT { - } \_l_siunitx_tmpa_tl
+ \tl_if_eq:nVT { - } \l_siunitx_tmpa_tl
{
- \prop_put:NnV \_l_siunitx_number_out_prop { color }
- \_l_siunitx_negative_color_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { color }
+ \l_siunitx_negative_color_tl
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_complex: {
- \prop_if_in:NnT \_l_siunitx_number_in_prop { complex-root }
+\cs_new_protected_nopar:Npn \siunitx_number_format_complex: {
+ \prop_if_in:NnT \l_siunitx_number_in_prop { complex-root }
{
- \prop_if_in:NnTF \_l_siunitx_number_out_prop { complex }
+ \prop_if_in:NnTF \l_siunitx_number_out_prop { complex }
{
- \_siunitx_number_format_brackets:n { complex }
- \_siunitx_number_format_complex_aux:n { complex }
- \_siunitx_number_format_complex_aux:n { complex-result }
- \prop_if_in:NnT \_l_siunitx_number_out_prop
+ \siunitx_number_format_brackets:n { complex }
+ \siunitx_number_format_complex_aux:n { complex }
+ \siunitx_number_format_complex_aux:n { complex-result }
+ \prop_if_in:NnT \l_siunitx_number_out_prop
{ complex-uncertainty }
{
- \_siunitx_number_format_complex_aux:n
+ \siunitx_number_format_complex_aux:n
{ complex-uncertainty }
}
}
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
{
- \exp_not:N \_siunitx_ensuremath:n
- { \exp_not:V \_l_siunitx_output_complex_tl }
+ \exp_not:N \siunitx_ensuremath:n
+ { \exp_not:V \l_siunitx_output_complex_tl }
}
- \prop_put:NnV \_l_siunitx_number_out_prop { complex }
- \_l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { complex }
+ \l_siunitx_tmpa_tl
}
- \_siunitx_number_format_join_complex:
+ \siunitx_number_format_join_complex:
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_complex_aux:n #1 {
- \prop_get:NnN \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl
- \bool_if:NTF \_l_siunitx_complex_after_bool
+\cs_new_protected_nopar:Npn \siunitx_number_format_complex_aux:n #1 {
+ \prop_get:NnN \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl
+ \bool_if:NTF \l_siunitx_complex_after_bool
{
- \_siunitx_tl_put_right_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_output_complex_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_output_complex_tl
}
{
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_output_complex_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_output_complex_tl
}
- \prop_put:NnV \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_copy:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop {#1} \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_copy:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_copy:nn #1#2 {
- \prop_get:NnN \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_out_prop {#2} \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_copy:nn #1#2 {
+ \prop_get:NnN \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop {#2} \l_siunitx_tmpa_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_final: {
- \prop_if_in:NnT \_l_siunitx_number_out_prop { complex }
+\cs_new_protected_nopar:Npn \siunitx_number_format_final: {
+ \prop_if_in:NnT \l_siunitx_number_out_prop { complex }
{
- \prop_if_in:NnF \_l_siunitx_number_out_prop { mantissa-result }
+ \prop_if_in:NnF \l_siunitx_number_out_prop { mantissa-result }
{
- \_siunitx_number_format_copy:nn { complex }
+ \siunitx_number_format_copy:nn { complex }
{ mantissa-result }
}
}
- \prop_if_in:NnTF \_l_siunitx_number_out_prop { exponent }
+ \prop_if_in:NnTF \l_siunitx_number_out_prop { exponent }
{
- \_siunitx_number_format_final_exponent:
- \prop_if_in:NnTF \_l_siunitx_number_out_prop { mantissa-result }
- { \_siunitx_number_format_final_combined: }
- { \_siunitx_number_format_final_exponent_only: }
+ \siunitx_number_format_final_exponent:
+ \prop_if_in:NnTF \l_siunitx_number_out_prop { mantissa-result }
+ { \siunitx_number_format_final_combined: }
+ { \siunitx_number_format_final_exponent_only: }
}
- { \_siunitx_number_format_copy:nn { mantissa-result } { result } }
- \prop_if_in:NnT \_l_siunitx_number_out_prop { mantissa-bracket }
+ { \siunitx_number_format_copy:nn { mantissa-result } { result } }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { mantissa-bracket }
{
- \prop_put:Nnn \_l_siunitx_number_out_prop { result-bracket }
+ \prop_put:Nnn \l_siunitx_number_out_prop { result-bracket }
{ true }
- \prop_del:Nn \_l_siunitx_number_out_prop { mantissa-bracket }
- }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_final_combined: {
- \_siunitx_number_format_brackets:n { mantissa }
- \prop_get:NnN \_l_siunitx_number_out_prop { mantissa-result }
- \_l_siunitx_tmpa_tl
- \tl_set_eq:NN \_l_siunitx_tmpb_tl \_l_siunitx_exponent_product_tl
- \bool_if:NT \_l_siunitx_tight_bool
- {
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { { \exp_not:V \_l_siunitx_tmpb_tl } }
- }
- \_siunitx_tl_put_right_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_tmpb_tl
- \prop_get:NnN \_l_siunitx_number_out_prop { exponent-result }
- \_l_siunitx_tmpb_tl
- \tl_put_right:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { result }
- \_l_siunitx_tmpa_tl
- \prop_put:Nnn \_l_siunitx_number_out_prop
+ \prop_del:Nn \l_siunitx_number_out_prop { mantissa-bracket }
+ }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_format_final_combined: {
+ \siunitx_number_format_brackets:n { mantissa }
+ \prop_get:NnN \l_siunitx_number_out_prop { mantissa-result }
+ \l_siunitx_tmpa_tl
+ \tl_set_eq:NN \l_siunitx_tmpb_tl \l_siunitx_exponent_product_tl
+ \bool_if:NT \l_siunitx_tight_bool
+ {
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { { \exp_not:V \l_siunitx_tmpb_tl } }
+ }
+ \siunitx_tl_put_right_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_tmpb_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { exponent-result }
+ \l_siunitx_tmpb_tl
+ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { result }
+ \l_siunitx_tmpa_tl
+ \prop_put:Nnn \l_siunitx_number_out_prop
{ result-bracket-exponent } { true }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_final_exponent: {
- \prop_get:NnN \_l_siunitx_number_out_prop { exponent }
- \_l_siunitx_tmpa_tl
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { ^ { \exp_not:V \_l_siunitx_tmpa_tl } }
- \tl_put_left:NV \_l_siunitx_tmpa_tl \_l_siunitx_exponent_base_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { exponent-result }
- \_l_siunitx_tmpa_tl
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_format_final_exponent_only: {
- \prop_get:NnN \_l_siunitx_number_in_prop { mantissa-sign }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
- {
- \bool_if:NT \_l_siunitx_tight_bool
- {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { { \exp_not:V \_l_siunitx_tmpa_tl } }
+\cs_new_protected_nopar:Npn \siunitx_number_format_final_exponent: {
+ \prop_get:NnN \l_siunitx_number_out_prop { exponent }
+ \l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { ^ { \exp_not:V \l_siunitx_tmpa_tl } }
+ \tl_put_left:NV \l_siunitx_tmpa_tl \l_siunitx_exponent_base_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { exponent-result }
+ \l_siunitx_tmpa_tl
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_number_format_final_exponent_only: {
+ \prop_get:NnN \l_siunitx_number_in_prop { mantissa-sign }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
+ {
+ \bool_if:NT \l_siunitx_tight_bool
+ {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { { \exp_not:V \l_siunitx_tmpa_tl } }
}
- \prop_get:NnN \_l_siunitx_number_out_prop { exponent-result }
- \_l_siunitx_tmpb_tl
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpb_tl
- \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { exponent-result }
- \_l_siunitx_tmpb_tl
- }
- \_siunitx_number_format_copy:nn { exponent-result } { result }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_group:n #1 {
- \_siunitx_number_format_group_aux:nn {#1} { integer }
- \_siunitx_number_format_group_aux:nn {#1} { decimal }
- \prop_if_in:NnTF \_l_siunitx_number_out_prop { #1 -integer }
- { \_siunitx_number_format_copy:nn { #1 -integer } {#1} }
- { \tl_clear:N \_l_siunitx_tmpa_tl }
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -decimal-marker }
- \_l_siunitx_tmpb_tl
- \quark_if_no_value:NF \_l_siunitx_tmpb_tl
- {
- \bool_if:NTF \_l_siunitx_output_decimal_copy_bool
- { \tl_set:Nx \_l_siunitx_tmpb_tl { { \_l_siunitx_tmpb_tl } } }
- {
- \tl_set_eq:NN \_l_siunitx_tmpb_tl
- \_l_siunitx_output_decimal_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { exponent-result }
+ \l_siunitx_tmpb_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpb_tl
+ \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { exponent-result }
+ \l_siunitx_tmpb_tl
+ }
+ \siunitx_number_format_copy:nn { exponent-result } { result }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_format_group:n #1 {
+ \siunitx_number_format_group_aux:nn {#1} { integer }
+ \siunitx_number_format_group_aux:nn {#1} { decimal }
+ \prop_if_in:NnTF \l_siunitx_number_out_prop { #1 -integer }
+ { \siunitx_number_format_copy:nn { #1 -integer } {#1} }
+ { \tl_clear:N \l_siunitx_tmpa_tl }
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -decimal-marker }
+ \l_siunitx_tmpb_tl
+ \quark_if_no_value:NF \l_siunitx_tmpb_tl
+ {
+ \bool_if:NTF \l_siunitx_output_decimal_copy_bool
+ { \tl_set:Nx \l_siunitx_tmpb_tl { { \l_siunitx_tmpb_tl } } }
+ {
+ \tl_set_eq:NN \l_siunitx_tmpb_tl
+ \l_siunitx_output_decimal_tl
}
- \tl_set:Nx \_l_siunitx_tmpb_tl
+ \tl_set:Nx \l_siunitx_tmpb_tl
{
- \exp_not:N \_siunitx_ensuremath:n
- { \exp_not:V \_l_siunitx_tmpb_tl }
+ \exp_not:N \siunitx_ensuremath:n
+ { \exp_not:V \l_siunitx_tmpb_tl }
}
- \tl_put_right:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { #1 -decimal-marker }
- \_l_siunitx_tmpb_tl
- \prop_get:NnN \_l_siunitx_number_out_prop { #1 -decimal }
- \_l_siunitx_tmpb_tl
- \quark_if_no_value:NT \_l_siunitx_tmpb_tl
- { \tl_clear:N \_l_siunitx_tmpb_tl }
- \tl_put_right:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl
- }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_group_aux:nn #1#2 {
- \prop_if_in:NnT \_l_siunitx_number_in_prop { #1 - #2 }
- {
- \prop_if_in:NnTF \_l_siunitx_number_in_prop { symbolic }
- { \_siunitx_number_format_copy:n { #1 - #2 } }
- {
- \bool_if:cTF { _l_siunitx_group_ #2 _bool }
- { \_siunitx_number_format_group_four:nn {#1} {#2} }
- { \_siunitx_number_format_copy:n { #1 - #2 } }
+ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { #1 -decimal-marker }
+ \l_siunitx_tmpb_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { #1 -decimal }
+ \l_siunitx_tmpb_tl
+ \quark_if_no_value:NT \l_siunitx_tmpb_tl
+ { \tl_clear:N \l_siunitx_tmpb_tl }
+ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl
+ }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_format_group_aux:nn #1#2 {
+ \prop_if_in:NnT \l_siunitx_number_in_prop { #1 - #2 }
+ {
+ \prop_if_in:NnTF \l_siunitx_number_in_prop { symbolic }
+ { \siunitx_number_format_copy:n { #1 - #2 } }
+ {
+ \bool_if:cTF { l_siunitx_group_ #2 _bool }
+ { \siunitx_number_format_group_four:nn {#1} {#2} }
+ { \siunitx_number_format_copy:n { #1 - #2 } }
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_group_four:nn #1#2 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 - #2 }
- \_l_siunitx_tmpa_tl
- \bool_if:NTF \_l_siunitx_group_four_bool
- { \_siunitx_number_format_group_four_aux:nn {#1} {#2} }
+\cs_new_protected_nopar:Npn \siunitx_number_format_group_four:nn #1#2 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 - #2 }
+ \l_siunitx_tmpa_tl
+ \bool_if:NTF \l_siunitx_group_four_bool
+ { \siunitx_number_format_group_four_aux:nn {#1} {#2} }
{
- \exp_after:wN \_siunitx_number_format_group_four_aux:NNNNNNw
- \_l_siunitx_tmpa_tl \q_no_value \q_no_value \q_no_value
+ \exp_after:wN \siunitx_number_format_group_four_aux:NNNNNNw
+ \l_siunitx_tmpa_tl \q_no_value \q_no_value \q_no_value
\q_no_value \q_no_value \q_nil
- { \_siunitx_number_format_copy:n {#1 - #2} }
- { \_siunitx_number_format_group_four_aux:nn {#1} {#2} }
+ { \siunitx_number_format_copy:n {#1 - #2} }
+ { \siunitx_number_format_group_four_aux:nn {#1} {#2} }
}
}
-\cs_set_protected:Npn \_siunitx_number_format_group_four_aux:NNNNNNw
+\cs_new_protected:Npn \siunitx_number_format_group_four_aux:NNNNNNw
#1#2#3#4#5#6 \q_nil {
\quark_if_no_value:NTF #5
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_group_four_aux:nn
+\cs_new_protected_nopar:Npn \siunitx_number_format_group_four_aux:nn
#1#2 {
- \tl_clear:N \_l_siunitx_tmpb_tl
- \use:c { _siunitx_number_format_group_ #2 : }
- \prop_put:NnV \_l_siunitx_number_out_prop { #1 - #2 }
- \_l_siunitx_tmpb_tl
+ \tl_clear:N \l_siunitx_tmpb_tl
+ \use:c { siunitx_number_format_group_ #2 : }
+ \prop_put:NnV \l_siunitx_number_out_prop { #1 - #2 }
+ \l_siunitx_tmpb_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_group_decimal: {
- \tl_if_empty:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_group_decimal: {
+ \tl_if_empty:NF \l_siunitx_tmpa_tl
{
- \exp_after:wN \_siunitx_number_format_group_decimal_aux:NNNN
- \_l_siunitx_tmpa_tl { } { } { }
+ \exp_after:wN \siunitx_number_format_group_decimal_aux:NNNN
+ \l_siunitx_tmpa_tl { } { } { }
}
}
-\cs_set_protected:Npn \_siunitx_number_format_group_decimal_aux:NNNN
+\cs_new_protected:Npn \siunitx_number_format_group_decimal_aux:NNNN
#1#2#3#4 {
\tl_if_empty:nTF {#2}
- { \tl_put_right:Nn \_l_siunitx_tmpb_tl {#1} }
+ { \tl_put_right:Nn \l_siunitx_tmpb_tl {#1} }
{
\tl_if_empty:nTF {#3}
- { \tl_put_right:Nn \_l_siunitx_tmpb_tl { #1 #2 } }
+ { \tl_put_right:Nn \l_siunitx_tmpb_tl { #1 #2 } }
{
- \tl_put_right:Nn \_l_siunitx_tmpb_tl { #1 #2 #3 }
+ \tl_put_right:Nn \l_siunitx_tmpb_tl { #1 #2 #3 }
\tl_if_empty:nF {#4}
{
- \_siunitx_tl_put_right_math:NV \_l_siunitx_tmpb_tl
- \_l_siunitx_group_sep_tl
- \_siunitx_number_format_group_decimal_aux:NNNN #4
+ \siunitx_tl_put_right_math:NV \l_siunitx_tmpb_tl
+ \l_siunitx_group_sep_tl
+ \siunitx_number_format_group_decimal_aux:NNNN #4
}
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_group_integer: {
- \tl_if_empty:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_group_integer: {
+ \tl_if_empty:NF \l_siunitx_tmpa_tl
{
- \_siunitx_number_format_group_integer_setup:V \_l_siunitx_tmpa_tl
+ \siunitx_number_format_group_integer_setup:V \l_siunitx_tmpa_tl
}
}
-\cs_set_protected:Npn \_siunitx_number_format_group_integer_setup:n #1 {
- \_siunitx_number_format_group_integer_setup_aux:NNNN
+\cs_new_protected:Npn \siunitx_number_format_group_integer_setup:n #1 {
+ \siunitx_number_format_group_integer_setup_aux:NNNN
{ } #1 { } { } { }
}
-\cs_generate_variant:Nn \_siunitx_number_format_group_integer_setup:n
+\cs_generate_variant:Nn \siunitx_number_format_group_integer_setup:n
{ V }
-\cs_set_protected:Npn
- \_siunitx_number_format_group_integer_setup_aux:NNNN #1#2#3#4 {
+\cs_new_protected:Npn
+ \siunitx_number_format_group_integer_setup_aux:NNNN #1#2#3#4 {
\tl_if_empty:nTF {#2}
- { \_siunitx_number_format_group_integer_aux:NNNN #1 \q_nil }
+ { \siunitx_number_format_group_integer_aux:NNNN #1 \q_nil }
{
\tl_if_empty:nTF {#3}
{
- \_siunitx_number_format_group_integer_aux:NNNN { } { } #1#2
+ \siunitx_number_format_group_integer_aux:NNNN { } { } #1#2
\q_nil
}
{
\tl_if_empty:nTF {#4}
{
- \_siunitx_number_format_group_integer_aux:NNNN { } #1#2#3
+ \siunitx_number_format_group_integer_aux:NNNN { } #1#2#3
\q_nil
}
{
- \_siunitx_number_format_group_integer_setup_aux:NNNN
+ \siunitx_number_format_group_integer_setup_aux:NNNN
{#1#2#3#4}
}
}
}
}
-\cs_set_protected:Npn
- \_siunitx_number_format_group_integer_aux:NNNN #1#2#3#4 {
- \tl_put_right:Nn \_l_siunitx_tmpb_tl {#1#2#3}
+\cs_new_protected:Npn
+ \siunitx_number_format_group_integer_aux:NNNN #1#2#3#4 {
+ \tl_put_right:Nn \l_siunitx_tmpb_tl {#1#2#3}
\quark_if_nil:nF {#4}
{
- \_siunitx_tl_put_right_math:NV \_l_siunitx_tmpb_tl
- \_l_siunitx_group_sep_tl
- \_siunitx_number_format_group_integer_aux:NNNN #4
+ \siunitx_tl_put_right_math:NV \l_siunitx_tmpb_tl
+ \l_siunitx_group_sep_tl
+ \siunitx_number_format_group_integer_aux:NNNN #4
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_join_complex: {
- \_siunitx_number_format_sign_complex:
- \prop_if_in:NnT \_l_siunitx_number_out_prop { mantissa }
+\cs_new_protected_nopar:Npn \siunitx_number_format_join_complex: {
+ \siunitx_number_format_sign_complex:
+ \prop_if_in:NnT \l_siunitx_number_out_prop { mantissa }
{
- \_siunitx_number_format_brackets:n { mantissa }
- \prop_get:NnN \_l_siunitx_number_out_prop { mantissa-result }
- \_l_siunitx_tmpa_tl
- \prop_get:NnN \_l_siunitx_number_out_prop { complex-result }
- \_l_siunitx_tmpb_tl
- \quark_if_no_value:NT \_l_siunitx_tmpb_tl
+ \siunitx_number_format_brackets:n { mantissa }
+ \prop_get:NnN \l_siunitx_number_out_prop { mantissa-result }
+ \l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { complex-result }
+ \l_siunitx_tmpb_tl
+ \quark_if_no_value:NT \l_siunitx_tmpb_tl
{
- \prop_get:NnN \_l_siunitx_number_out_prop { complex }
- \_l_siunitx_tmpb_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { complex }
+ \l_siunitx_tmpb_tl
}
- \tl_put_right:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { mantissa-result }
- \_l_siunitx_tmpa_tl
- \prop_put:Nnn \_l_siunitx_number_out_prop { mantissa-bracket }
+ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { mantissa-result }
+ \l_siunitx_tmpa_tl
+ \prop_put:Nnn \l_siunitx_number_out_prop { mantissa-bracket }
{ true }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_join_uncert: {
- \_siunitx_number_format_join_uncert:n { mantissa }
- \_siunitx_number_format_join_uncert:n { complex }
+\cs_new_protected_nopar:Npn \siunitx_number_format_join_uncert: {
+ \siunitx_number_format_join_uncert:n { mantissa }
+ \siunitx_number_format_join_uncert:n { complex }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_join_uncert:n #1 {
- \prop_get:NnN \_l_siunitx_number_out_prop {#1}
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_number_format_join_uncert:n #1 {
+ \prop_get:NnN \l_siunitx_number_out_prop {#1}
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \prop_get:NnN \_l_siunitx_number_out_prop { #1 -uncertainty }
- \_l_siunitx_tmpb_tl
- \quark_if_no_value:NTF \_l_siunitx_tmpb_tl
- { \_siunitx_number_format_copy:nn {#1} { #1 -result } }
+ \prop_get:NnN \l_siunitx_number_out_prop { #1 -uncertainty }
+ \l_siunitx_tmpb_tl
+ \quark_if_no_value:NTF \l_siunitx_tmpb_tl
+ { \siunitx_number_format_copy:nn {#1} { #1 -result } }
{
- \bool_if:NT \_l_siunitx_uncert_sep_bool
- { \_siunitx_number_format_join_uncert_pm: }
- \tl_put_right:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { #1 -result }
- \_l_siunitx_tmpa_tl
- \prop_put:Nnn \_l_siunitx_number_out_prop { #1 -bracket }
+ \bool_if:NT \l_siunitx_uncert_sep_bool
+ { \siunitx_number_format_join_uncert_pm: }
+ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { #1 -result }
+ \l_siunitx_tmpa_tl
+ \prop_put:Nnn \l_siunitx_number_out_prop { #1 -bracket }
{ true }
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_join_uncert_pm: {
- \bool_if:NTF \_l_siunitx_tight_bool
+\cs_new_protected_nopar:Npn \siunitx_number_format_join_uncert_pm: {
+ \bool_if:NTF \l_siunitx_tight_bool
{
- \tl_put_left:Nn \_l_siunitx_tmpb_tl
- { \_siunitx_ensuremath:n { { \pm } } }
+ \tl_put_left:Nn \l_siunitx_tmpb_tl
+ { \siunitx_ensuremath:n { { \pm } } }
}
{
- \tl_put_left:Nn \_l_siunitx_tmpb_tl
- { \_siunitx_ensuremath:n { { } \pm { } } }
+ \tl_put_left:Nn \l_siunitx_tmpb_tl
+ { \siunitx_ensuremath:n { { } \pm { } } }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_reassemble: {
- \prop_if_in:NnT \_l_siunitx_number_in_prop { mantissa }
+\cs_new_protected_nopar:Npn \siunitx_number_format_reassemble: {
+ \prop_if_in:NnT \l_siunitx_number_in_prop { mantissa }
{
- \_siunitx_number_format_group:n { mantissa }
- \_siunitx_number_format_uncertainty:n { mantissa }
+ \siunitx_number_format_group:n { mantissa }
+ \siunitx_number_format_uncertainty:n { mantissa }
}
- \prop_if_in:NnT \_l_siunitx_number_in_prop { complex }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { complex }
{
- \_siunitx_number_format_group:n { complex }
- \_siunitx_number_format_uncertainty:n { complex }
+ \siunitx_number_format_group:n { complex }
+ \siunitx_number_format_uncertainty:n { complex }
}
- \prop_if_in:NnT \_l_siunitx_number_in_prop { exponent }
- { \_siunitx_number_format_group:n { exponent } }
+ \prop_if_in:NnT \l_siunitx_number_in_prop { exponent }
+ { \siunitx_number_format_group:n { exponent } }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_sign:n #1 {
- \prop_if_in:NnT \_l_siunitx_number_out_prop {#1}
+\cs_new_protected_nopar:Npn \siunitx_number_format_sign:n #1 {
+ \prop_if_in:NnT \l_siunitx_number_out_prop {#1}
{
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -sign }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -sign }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \bool_if:NT \_l_siunitx_tight_bool
+ \bool_if:NT \l_siunitx_tight_bool
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { { \exp_not:V \_l_siunitx_tmpa_tl } }
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { { \exp_not:V \l_siunitx_tmpa_tl } }
}
- \tl_clear:N \_l_siunitx_tmpb_tl
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpb_tl
- \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { #1 -sign }
- \_l_siunitx_tmpb_tl
- \prop_get:NnN \_l_siunitx_number_out_prop {#1}
- \_l_siunitx_tmpa_tl
- \tl_put_left:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop {#1}
- \_l_siunitx_tmpa_tl
- \prop_get:NnN \_l_siunitx_number_out_prop { #1 -result }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \tl_clear:N \l_siunitx_tmpb_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpb_tl
+ \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { #1 -sign }
+ \l_siunitx_tmpb_tl
+ \prop_get:NnN \l_siunitx_number_out_prop {#1}
+ \l_siunitx_tmpa_tl
+ \tl_put_left:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop {#1}
+ \l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { #1 -result }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \tl_put_left:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { #1 -result }
- \_l_siunitx_tmpa_tl
+ \tl_put_left:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { #1 -result }
+ \l_siunitx_tmpa_tl
}
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_sign_complex: {
- \_siunitx_number_format_sign_complex:n { complex }
- \_siunitx_number_format_sign_complex:n { complex-result }
+\cs_new_protected_nopar:Npn \siunitx_number_format_sign_complex: {
+ \siunitx_number_format_sign_complex:n { complex }
+ \siunitx_number_format_sign_complex:n { complex-result }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_sign_complex:n #1 {
- \prop_if_in:NnT \_l_siunitx_number_out_prop {#1}
+\cs_new_protected_nopar:Npn \siunitx_number_format_sign_complex:n #1 {
+ \prop_if_in:NnT \l_siunitx_number_out_prop {#1}
{
- \prop_get:NnN \_l_siunitx_number_in_prop { complex-sign }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { complex-sign }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \bool_if:NTF \_l_siunitx_tight_bool
+ \bool_if:NTF \l_siunitx_tight_bool
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { { \exp_not:V \_l_siunitx_tmpa_tl } }
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { { \exp_not:V \l_siunitx_tmpa_tl } }
}
{
- \prop_if_in:NnT \_l_siunitx_number_out_prop { mantissa }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { mantissa }
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { { } \exp_not:V \_l_siunitx_tmpa_tl { } }
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { { } \exp_not:V \l_siunitx_tmpa_tl { } }
}
}
- \tl_clear:N \_l_siunitx_tmpb_tl
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpb_tl
- \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { complex-sign }
- \_l_siunitx_tmpb_tl
- \prop_get:NnN \_l_siunitx_number_out_prop {#1}
- \_l_siunitx_tmpa_tl
- \tl_put_left:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop {#1}
- \_l_siunitx_tmpa_tl
+ \tl_clear:N \l_siunitx_tmpb_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpb_tl
+ \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { complex-sign }
+ \l_siunitx_tmpb_tl
+ \prop_get:NnN \l_siunitx_number_out_prop {#1}
+ \l_siunitx_tmpa_tl
+ \tl_put_left:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop {#1}
+ \l_siunitx_tmpa_tl
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_format_uncertainty:n #1 {
- \prop_if_in:NnTF \_l_siunitx_number_in_prop { #1 -uncertainty }
- {
- \bool_if:NTF \_l_siunitx_uncert_sep_bool
- { \_siunitx_number_format_uncertainty_sep:n {#1} }
- { \_siunitx_number_format_uncertainty_joined:n {#1} }
- \_siunitx_number_format_join_uncert:
- }
- { \_siunitx_number_format_copy:nn {#1} { #1 -result } }
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_format_uncertainty_joined:n #1 {
- \prop_get:NnN \_l_siunitx_number_in_prop { #1 -uncertainty }
- \_l_siunitx_tmpa_tl
- \prop_del:Nn \_l_siunitx_number_in_prop { #1 -uncertainty }
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_output_uncert_open_tl
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_uncert_sep_tl
- \_siunitx_tl_put_right_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_output_uncert_close_tl
- \prop_get:NnN \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpb_tl
- \tl_put_right:NV \_l_siunitx_tmpb_tl \_l_siunitx_tmpa_tl
- \prop_put:NnV \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpb_tl
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_number_format_uncertainty_sep:n #1 {
- \prop_if_in:NnT \_l_siunitx_number_out_prop { #1 -integer }
- {
- \prop_if_in:NnF \_l_siunitx_number_out_prop
+\cs_new_protected_nopar:Npn \siunitx_number_format_uncertainty:n #1 {
+ \prop_if_in:NnTF \l_siunitx_number_in_prop { #1 -uncertainty }
+ {
+ \bool_if:NTF \l_siunitx_uncert_sep_bool
+ { \siunitx_number_format_uncertainty_sep:n {#1} }
+ { \siunitx_number_format_uncertainty_joined:n {#1} }
+ \siunitx_number_format_join_uncert:
+ }
+ { \siunitx_number_format_copy:nn {#1} { #1 -result } }
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_number_format_uncertainty_joined:n #1 {
+ \prop_get:NnN \l_siunitx_number_in_prop { #1 -uncertainty }
+ \l_siunitx_tmpa_tl
+ \prop_del:Nn \l_siunitx_number_in_prop { #1 -uncertainty }
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_output_uncert_open_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_uncert_sep_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_output_uncert_close_tl
+ \prop_get:NnN \l_siunitx_number_out_prop {#1} \l_siunitx_tmpb_tl
+ \tl_put_right:NV \l_siunitx_tmpb_tl \l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_out_prop {#1} \l_siunitx_tmpb_tl
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_number_format_uncertainty_sep:n #1 {
+ \prop_if_in:NnT \l_siunitx_number_out_prop { #1 -integer }
+ {
+ \prop_if_in:NnF \l_siunitx_number_out_prop
{ #1 -uncertainty-integer }
{
- \prop_put:Nnn \_l_siunitx_number_out_prop
+ \prop_put:Nnn \l_siunitx_number_out_prop
{ #1 -uncertainty-integer } { 0 }
}
}
- \_siunitx_number_format_group:n { #1 -uncertainty }
- \prop_put:NnV \_l_siunitx_number_out_prop { #1 -uncertainty }
- \_l_siunitx_tmpa_tl
+ \siunitx_number_format_group:n { #1 -uncertainty }
+ \prop_put:NnV \l_siunitx_number_out_prop { #1 -uncertainty }
+ \l_siunitx_tmpa_tl
}
-\tl_new:N \_l_siunitx_number_out_tl
-\tl_new:N \_l_siunitx_number_out_saved_tl
-\tl_new:N \_l_siunitx_number_fraction_tl
-\bool_new:N \_l_siunitx_number_compound_bool
-\tl_new:N \_l_siunitx_quotient_mode_tl
-\cs_set_protected:Npn \_siunitx_fraction:nn { }
+\tl_new:N \l_siunitx_number_out_tl
+\tl_new:N \l_siunitx_number_out_saved_tl
+\tl_new:N \l_siunitx_number_fraction_tl
+\bool_new:N \l_siunitx_number_compound_bool
+\tl_new:N \l_siunitx_quotient_mode_tl
+\cs_new_protected:Npn \siunitx_fraction:nn { }
\keys_define:nn { siunitx } {
fraction-function .code:n =
- { \cs_set_eq:NN \_siunitx_fraction:nn #1 },
- output-product .tl_set:N = \_l_siunitx_output_product_tl,
- output-quotient .tl_set:N = \_l_siunitx_output_quotient_tl,
- parse-numbers .bool_set:N = \_l_siunitx_number_parse_bool,
+ { \cs_set_eq:NN \siunitx_fraction:nn #1 },
+ output-product .tl_set:N = \l_siunitx_output_product_tl,
+ output-quotient .tl_set:N = \l_siunitx_output_quotient_tl,
+ parse-numbers .bool_set:N = \l_siunitx_number_parse_bool,
quotient-mode .choice:,
quotient-mode / fraction .code:n =
- { \tl_set:Nn \_l_siunitx_quotient_mode_tl { fraction } },
+ { \tl_set:Nn \l_siunitx_quotient_mode_tl { fraction } },
quotient-mode / symbol .code:n =
- { \tl_set:Nn \_l_siunitx_quotient_mode_tl { symbol } },
+ { \tl_set:Nn \l_siunitx_quotient_mode_tl { symbol } },
}
\keys_set:nn { siunitx } {
fraction-function = \frac,
@@ -2542,690 +2542,690 @@
parse-numbers = true,
quotient-mode = symbol
}
-\cs_set_protected:Npn \_siunitx_number_output:n #1 {
- \tl_clear:N \_l_siunitx_unit_tl
- \tl_clear:N \_l_siunitx_preunit_tl
- \_siunitx_combined_output:n {#1}
+\cs_new_protected:Npn \siunitx_number_output:n #1 {
+ \tl_clear:N \l_siunitx_unit_tl
+ \tl_clear:N \l_siunitx_preunit_tl
+ \siunitx_combined_output:n {#1}
}
-\cs_generate_variant:Nn \_siunitx_number_output:n { V }
-\cs_set_protected_nopar:Npn \_siunitx_number_output_bracket: {
- \bool_if:NF \_l_siunitx_error_bool
+\cs_generate_variant:Nn \siunitx_number_output:n { V }
+\cs_new_protected_nopar:Npn \siunitx_number_output_bracket: {
+ \bool_if:NF \l_siunitx_error_bool
{
- \bool_if:NT \_l_siunitx_number_compound_bool
- { \_siunitx_number_format_brackets:n { result } }
+ \bool_if:NT \l_siunitx_number_compound_bool
+ { \siunitx_number_format_brackets:n { result } }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_color: {
- \prop_if_in:NnT \_l_siunitx_number_out_prop { color }
+\cs_new_protected_nopar:Npn \siunitx_number_output_color: {
+ \prop_if_in:NnT \l_siunitx_number_out_prop { color }
{
- \prop_get:NnN \_l_siunitx_number_out_prop { color }
- \_l_siunitx_number_color_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { color }
+ \l_siunitx_number_color_tl
}
}
-\cs_set_protected:Npn \_siunitx_number_output_parse:n #1 {
- \_siunitx_number_preprocess:n {#1}
- \bool_if:NF \_l_siunitx_error_bool
+\cs_new_protected:Npn \siunitx_number_output_parse:n #1 {
+ \siunitx_number_preprocess:n {#1}
+ \bool_if:NF \l_siunitx_error_bool
{
- \tl_if_empty:NTF \_l_siunitx_number_multi_tl
- { \_siunitx_number_output_parse_aux: }
+ \tl_if_empty:NTF \l_siunitx_number_multi_tl
+ { \siunitx_number_output_parse_aux: }
{
\use:c
- { _siunitx_number_output_ \_l_siunitx_number_multi_tl : }
+ { siunitx_number_output_ \l_siunitx_number_multi_tl : }
}
}
}
-\cs_generate_variant:Nn \_siunitx_number_output_parse:n { V }
-\cs_set_protected_nopar:Npn \_siunitx_number_output_parse_aux: {
- \_siunitx_number_in_parse:V \_l_siunitx_number_arg_tl
- \bool_if:NF \_l_siunitx_error_bool
+\cs_generate_variant:Nn \siunitx_number_output_parse:n { V }
+\cs_new_protected_nopar:Npn \siunitx_number_output_parse_aux: {
+ \siunitx_number_in_parse:V \l_siunitx_number_arg_tl
+ \bool_if:NF \l_siunitx_error_bool
{
- \_siunitx_number_process:
- \prop_if_in:NnT \_l_siunitx_number_in_prop { exponent }
- { \bool_set_true:N \_l_siunitx_brackets_bool }
- \_siunitx_number_format:
- \_siunitx_number_output_color:
- \bool_if:NTF \_l_siunitx_brackets_bool
- { \_siunitx_number_output_single: }
+ \siunitx_number_process:
+ \prop_if_in:NnT \l_siunitx_number_in_prop { exponent }
+ { \bool_set_true:N \l_siunitx_brackets_bool }
+ \siunitx_number_format:
+ \siunitx_number_output_color:
+ \bool_if:NTF \l_siunitx_brackets_bool
+ { \siunitx_number_output_single: }
{
- \prop_if_in:NnTF \_l_siunitx_number_out_prop
+ \prop_if_in:NnTF \l_siunitx_number_out_prop
{ result-bracket }
- { \_siunitx_number_output_parts: }
- { \_siunitx_number_output_single: }
+ { \siunitx_number_output_parts: }
+ { \siunitx_number_output_single: }
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_parts: {
+\cs_new_protected_nopar:Npn \siunitx_number_output_parts: {
\bool_if:nTF
{
- \tl_if_empty_p:N \_l_siunitx_pre_unit_tl &&
- \tl_if_empty_p:N \_l_siunitx_unit_tl
+ \tl_if_empty_p:N \l_siunitx_pre_unit_tl &&
+ \tl_if_empty_p:N \l_siunitx_unit_tl
}
- { \_siunitx_number_output_single: }
- { \_siunitx_number_output_parts_aux: }
+ { \siunitx_number_output_single: }
+ { \siunitx_number_output_parts_aux: }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_parts_aux: {
- \bool_if:NTF \_l_siunitx_multi_repeat_bool
+\cs_new_protected_nopar:Npn \siunitx_number_output_parts_aux: {
+ \bool_if:NTF \l_siunitx_multi_repeat_bool
{
- \prop_if_in:NnT \_l_siunitx_number_out_prop { mantissa-result }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { mantissa-result }
{
- \_siunitx_number_output_parts_aux:n { mantissa }
- \_siunitx_number_output_parts_aux:n { complex }
+ \siunitx_number_output_parts_aux:n { mantissa }
+ \siunitx_number_output_parts_aux:n { complex }
}
- \prop_get:NnN \_l_siunitx_number_out_prop { exponent-result }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_out_prop { exponent-result }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \prop_if_in:NnT \_l_siunitx_number_out_prop { mantissa-result }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { mantissa-result }
{
- \tl_set_eq:NN \_l_siunitx_tmpb_tl
- \_l_siunitx_exponent_product_tl
- \bool_if:NT \_l_siunitx_tight_bool
+ \tl_set_eq:NN \l_siunitx_tmpb_tl
+ \l_siunitx_exponent_product_tl
+ \bool_if:NT \l_siunitx_tight_bool
{
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { { \exp_not:V \_l_siunitx_tmpb_tl } }
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { { \exp_not:V \l_siunitx_tmpb_tl } }
}
- \_siunitx_tl_put_left_math:NV \_l_siunitx_tmpa_tl
- \_l_siunitx_tmpb_tl
- \prop_put:NnV \_l_siunitx_number_out_prop { exponent }
- \_l_siunitx_tmpa_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_tmpa_tl
+ \l_siunitx_tmpb_tl
+ \prop_put:NnV \l_siunitx_number_out_prop { exponent }
+ \l_siunitx_tmpa_tl
}
- \_siunitx_number_output_parts_print:n { exponent }
+ \siunitx_number_output_parts_print:n { exponent }
}
}
- { \_siunitx_number_output_single: }
+ { \siunitx_number_output_single: }
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_parts_aux:n #1 {
- \prop_if_in:NnT \_l_siunitx_number_out_prop {#1}
- { \_siunitx_number_output_parts_print:n {#1} }
- \prop_if_in:NnT \_l_siunitx_number_out_prop { #1 -uncertainty }
+\cs_new_protected_nopar:Npn \siunitx_number_output_parts_aux:n #1 {
+ \prop_if_in:NnT \l_siunitx_number_out_prop {#1}
+ { \siunitx_number_output_parts_print:n {#1} }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { #1 -uncertainty }
{
- \bool_if:NTF \_l_siunitx_tight_bool
+ \bool_if:NTF \l_siunitx_tight_bool
{
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { { \pm } } }
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { { \pm } } }
}
{
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { { } \pm { } } }
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { { } \pm { } } }
}
- \_siunitx_number_output_parts_print:n { #1 -uncertainty }
+ \siunitx_number_output_parts_print:n { #1 -uncertainty }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_parts_print:n #1 {
- \_siunitx_unit_output_pre_print:
- \prop_get:NnN \_l_siunitx_number_out_prop {#1} \_l_siunitx_tmpa_tl
- \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl
- \_siunitx_unit_output_print:
+\cs_new_protected_nopar:Npn \siunitx_number_output_parts_print:n #1 {
+ \siunitx_unit_output_pre_print:
+ \prop_get:NnN \l_siunitx_number_out_prop {#1} \l_siunitx_tmpa_tl
+ \siunitx_print:nV { number } \l_siunitx_tmpa_tl
+ \siunitx_unit_output_print:
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_product: {
- \bool_if:NTF \_l_siunitx_product_brackets_bool
+\cs_new_protected_nopar:Npn \siunitx_number_output_product: {
+ \bool_if:NTF \l_siunitx_product_brackets_bool
{
\bool_if:nTF
{
- \tl_if_empty_p:N \_l_siunitx_pre_unit_tl &&
- \tl_if_empty_p:N \_l_siunitx_unit_tl
+ \tl_if_empty_p:N \l_siunitx_pre_unit_tl &&
+ \tl_if_empty_p:N \l_siunitx_unit_tl
}
- { \_siunitx_number_output_product_aux: }
- { \_siunitx_number_output_product_brackets: }
+ { \siunitx_number_output_product_aux: }
+ { \siunitx_number_output_product_brackets: }
}
{
- \bool_if:NTF \_l_siunitx_product_repeat_bool
- { \_siunitx_number_output_product_aux: }
+ \bool_if:NTF \l_siunitx_product_repeat_bool
+ { \siunitx_number_output_product_aux: }
{
- \_siunitx_unit_output_pre_print:
- \tl_set_eq:NN \_l_siunitx_unit_saved_tl \_l_siunitx_unit_tl
- \tl_clear:N \_l_siunitx_pre_unit_tl
- \tl_clear:N \_l_siunitx_unit_tl
+ \siunitx_unit_output_pre_print:
+ \tl_set_eq:NN \l_siunitx_unit_saved_tl \l_siunitx_unit_tl
+ \tl_clear:N \l_siunitx_pre_unit_tl
+ \tl_clear:N \l_siunitx_unit_tl
\group_begin:
- \_siunitx_number_output_product_aux:
+ \siunitx_number_output_product_aux:
\group_end:
- \tl_set_eq:NN \_l_siunitx_unit_tl \_l_siunitx_unit_saved_tl
- \_siunitx_unit_output_print:
+ \tl_set_eq:NN \l_siunitx_unit_tl \l_siunitx_unit_saved_tl
+ \siunitx_unit_output_print:
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_product_brackets: {
- \_siunitx_unit_output_pre_print:
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { \_l_siunitx_bracket_open_tl } }
+\cs_new_protected_nopar:Npn \siunitx_number_output_product_brackets: {
+ \siunitx_unit_output_pre_print:
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { \l_siunitx_bracket_open_tl } }
\nobreak
- \tl_set_eq:NN \_l_siunitx_unit_saved_tl \_l_siunitx_unit_tl
- \tl_clear:N \_l_siunitx_pre_unit_tl
- \tl_clear:N \_l_siunitx_unit_tl
- \_siunitx_number_output_product_aux:
+ \tl_set_eq:NN \l_siunitx_unit_saved_tl \l_siunitx_unit_tl
+ \tl_clear:N \l_siunitx_pre_unit_tl
+ \tl_clear:N \l_siunitx_unit_tl
+ \siunitx_number_output_product_aux:
\nobreak
- \tl_set_eq:NN \_l_siunitx_unit_tl \_l_siunitx_unit_saved_tl
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { \_l_siunitx_bracket_close_tl } }
- \_siunitx_unit_output_print:
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_product_aux: {
- \bool_set_true:N \_l_siunitx_number_compound_bool
- \_siunitx_number_preprocess:V \_l_siunitx_number_arg_tl
- \bool_if:NF \_l_siunitx_error_bool
- {
- \tl_if_empty:NTF \_l_siunitx_number_multi_tl
- { \_siunitx_number_output_parse_aux: }
- { \_siunitx_number_output_quotient: }
- \tl_if_empty:NF \_l_siunitx_number_next_tl
- {
- \bool_if:NTF \_l_siunitx_tight_bool
+ \tl_set_eq:NN \l_siunitx_unit_tl \l_siunitx_unit_saved_tl
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { \l_siunitx_bracket_close_tl } }
+ \siunitx_unit_output_print:
+}
+\cs_new_protected_nopar:Npn \siunitx_number_output_product_aux: {
+ \bool_set_true:N \l_siunitx_number_compound_bool
+ \siunitx_number_preprocess:V \l_siunitx_number_arg_tl
+ \bool_if:NF \l_siunitx_error_bool
+ {
+ \tl_if_empty:NTF \l_siunitx_number_multi_tl
+ { \siunitx_number_output_parse_aux: }
+ { \siunitx_number_output_quotient: }
+ \tl_if_empty:NF \l_siunitx_number_next_tl
+ {
+ \bool_if:NTF \l_siunitx_tight_bool
{
- \_siunitx_print:nn { number }
+ \siunitx_print:nn { number }
{
- \_siunitx_ensuremath:n
- { \_l_siunitx_output_product_tl }
+ \siunitx_ensuremath:n
+ { \l_siunitx_output_product_tl }
}
}
{
- \_siunitx_print:nn { number }
+ \siunitx_print:nn { number }
{
- \_siunitx_ensuremath:n
- { { } \_l_siunitx_output_product_tl { } }
+ \siunitx_ensuremath:n
+ { { } \l_siunitx_output_product_tl { } }
}
}
- \_siunitx_number_output_parse:V \_l_siunitx_number_next_tl
+ \siunitx_number_output_parse:V \l_siunitx_number_next_tl
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_quotient: {
+\cs_new_protected_nopar:Npn \siunitx_number_output_quotient: {
\use:c
- { _siunitx_number_output_quotient_ \_l_siunitx_quotient_mode_tl : }
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_quotient_fraction: {
- \bool_set_false:N \_l_siunitx_number_compound_bool
- \_siunitx_number_output_quotient_aux_i:
- \tl_set:Nx \_l_siunitx_number_out_tl
- { { \exp_not:V \_l_siunitx_number_numerator_tl } }
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { { \exp_not:V \_l_siunitx_number_denominator_tl } }
- \tl_put_right:NV \_l_siunitx_number_out_tl \_l_siunitx_tmpa_tl
- \tl_put_left:Nn \_l_siunitx_number_out_tl { \_siunitx_fraction:nn }
- \tl_set:Nx \_l_siunitx_number_out_tl
+ { siunitx_number_output_quotient_ \l_siunitx_quotient_mode_tl : }
+}
+\cs_new_protected_nopar:Npn \siunitx_number_output_quotient_fraction: {
+ \bool_set_false:N \l_siunitx_number_compound_bool
+ \siunitx_number_output_quotient_aux_i:
+ \tl_set:Nx \l_siunitx_number_out_tl
+ { { \exp_not:V \l_siunitx_number_numerator_tl } }
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { { \exp_not:V \l_siunitx_number_denominator_tl } }
+ \tl_put_right:NV \l_siunitx_number_out_tl \l_siunitx_tmpa_tl
+ \tl_put_left:Nn \l_siunitx_number_out_tl { \siunitx_fraction:nn }
+ \tl_set:Nx \l_siunitx_number_out_tl
{
\exp_not:N \ensuremath
- { \exp_not:V \_l_siunitx_number_out_tl }
- }
- \_siunitx_number_output_single_aux:
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_quotient_symbol: {
- \bool_set_true:N \_l_siunitx_number_compound_bool
- \_siunitx_number_output_quotient_aux_i:
- \tl_set_eq:NN \_l_siunitx_number_out_tl
- \_l_siunitx_number_numerator_tl
- \_siunitx_tl_put_right_math:NV \_l_siunitx_number_out_tl
- \_l_siunitx_output_quotient_tl
- \tl_put_right:NV \_l_siunitx_number_out_tl
- \_l_siunitx_number_denominator_tl
- \_siunitx_number_output_single_aux:
-}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_quotient_aux_i: {
- \_siunitx_number_in_parse:V \_l_siunitx_number_numerator_tl
- \_siunitx_number_output_quotient_aux_ii:
- \_siunitx_number_output_color:
- \prop_get:NnN \_l_siunitx_number_out_prop { result }
- \_l_siunitx_number_numerator_tl
- \_siunitx_number_in_parse:V \_l_siunitx_number_denominator_tl
- \_siunitx_number_output_quotient_aux_ii:
- \prop_if_in:NnT \_l_siunitx_number_out_prop
+ { \exp_not:V \l_siunitx_number_out_tl }
+ }
+ \siunitx_number_output_single_aux:
+}
+\cs_new_protected_nopar:Npn \siunitx_number_output_quotient_symbol: {
+ \bool_set_true:N \l_siunitx_number_compound_bool
+ \siunitx_number_output_quotient_aux_i:
+ \tl_set_eq:NN \l_siunitx_number_out_tl
+ \l_siunitx_number_numerator_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_number_out_tl
+ \l_siunitx_output_quotient_tl
+ \tl_put_right:NV \l_siunitx_number_out_tl
+ \l_siunitx_number_denominator_tl
+ \siunitx_number_output_single_aux:
+}
+\cs_new_protected_nopar:Npn \siunitx_number_output_quotient_aux_i: {
+ \siunitx_number_in_parse:V \l_siunitx_number_numerator_tl
+ \siunitx_number_output_quotient_aux_ii:
+ \siunitx_number_output_color:
+ \prop_get:NnN \l_siunitx_number_out_prop { result }
+ \l_siunitx_number_numerator_tl
+ \siunitx_number_in_parse:V \l_siunitx_number_denominator_tl
+ \siunitx_number_output_quotient_aux_ii:
+ \prop_if_in:NnT \l_siunitx_number_out_prop
{ result-bracket-exponent }
{
- \prop_put:Nnn \_l_siunitx_number_out_prop { result-bracket }
+ \prop_put:Nnn \l_siunitx_number_out_prop { result-bracket }
{ true }
}
- \_siunitx_number_output_bracket:
- \prop_get:NnN \_l_siunitx_number_out_prop { result }
- \_l_siunitx_number_denominator_tl
+ \siunitx_number_output_bracket:
+ \prop_get:NnN \l_siunitx_number_out_prop { result }
+ \l_siunitx_number_denominator_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_quotient_aux_ii: {
- \_siunitx_number_process:
- \_siunitx_number_format:
+\cs_new_protected_nopar:Npn \siunitx_number_output_quotient_aux_ii: {
+ \siunitx_number_process:
+ \siunitx_number_format:
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_single: {
+\cs_new_protected_nopar:Npn \siunitx_number_output_single: {
\bool_if:nF
{
- \tl_if_empty_p:N \_l_siunitx_pre_unit_tl &&
- \tl_if_empty_p:N \_l_siunitx_unit_tl
+ \tl_if_empty_p:N \l_siunitx_pre_unit_tl &&
+ \tl_if_empty_p:N \l_siunitx_unit_tl
}
{
- \prop_if_in:NnF \_l_siunitx_number_out_prop { exponent }
- { \_siunitx_number_format_brackets:n { result } }
+ \prop_if_in:NnF \l_siunitx_number_out_prop { exponent }
+ { \siunitx_number_format_brackets:n { result } }
}
- \_siunitx_number_output_bracket:
- \prop_get:NnN \_l_siunitx_number_out_prop { result }
- \_l_siunitx_number_out_tl
- \_siunitx_number_output_single_aux:
+ \siunitx_number_output_bracket:
+ \prop_get:NnN \l_siunitx_number_out_prop { result }
+ \l_siunitx_number_out_tl
+ \siunitx_number_output_single_aux:
}
-\cs_set_protected_nopar:Npn \_siunitx_number_output_single_aux: {
- \_siunitx_unit_output_pre_print:
- \_siunitx_print:nV { number } \_l_siunitx_number_out_tl
- \_siunitx_unit_output_print:
+\cs_new_protected_nopar:Npn \siunitx_number_output_single_aux: {
+ \siunitx_unit_output_pre_print:
+ \siunitx_print:nV { number } \l_siunitx_number_out_tl
+ \siunitx_unit_output_print:
}
-\bool_new:N \_l_siunitx_angle_degree_space_bool
-\bool_new:N \_l_siunitx_angle_minute_space_bool
-\box_new:N \_l_siunitx_angle_marker_box
-\box_new:N \_l_siunitx_angle_unit_box
-\dim_new:N \_l_siunitx_angle_marker_dim
-\dim_new:N \_l_siunitx_angle_unit_dim
-\prop_new:N \_l_siunitx_angle_degree_prop
-\prop_new:N \_l_siunitx_angle_minute_prop
-\prop_new:N \_l_siunitx_angle_second_prop
+\bool_new:N \l_siunitx_angle_degree_space_bool
+\bool_new:N \l_siunitx_angle_minute_space_bool
+\box_new:N \l_siunitx_angle_marker_box
+\box_new:N \l_siunitx_angle_unit_box
+\dim_new:N \l_siunitx_angle_marker_dim
+\dim_new:N \l_siunitx_angle_unit_dim
+\prop_new:N \l_siunitx_angle_degree_prop
+\prop_new:N \l_siunitx_angle_minute_prop
+\prop_new:N \l_siunitx_angle_second_prop
\keys_define:nn { siunitx } {
add-arc-degree-zero .bool_set:N =
- \_l_siunitx_angle_degree_zero_bool ,
+ \l_siunitx_angle_degree_zero_bool ,
add-arc-minute-zero .bool_set:N =
- \_l_siunitx_angle_minute_zero_bool ,
+ \l_siunitx_angle_minute_zero_bool ,
add-arc-second-zero .bool_set:N =
- \_l_siunitx_angle_second_zero_bool ,
+ \l_siunitx_angle_second_zero_bool ,
angle-symbol-over-decimal .bool_set:N =
- \_l_siunitx_angle_astronomy_bool ,
+ \l_siunitx_angle_astronomy_bool ,
arc-separator .tl_set:N =
- \_l_siunitx_angle_arc_separator_tl ,
+ \l_siunitx_angle_arc_separator_tl ,
number-angle-separator .tl_set:N =
- \_l_siunitx_angle_unit_separator_tl ,
+ \l_siunitx_angle_unit_separator_tl ,
}
-\cs_set_protected:Npn \_siunitx_angle_output:nnn #1#2#3 {
- \_siunitx_angle_init:
+\cs_new_protected:Npn \siunitx_angle_output:nnn #1#2#3 {
+ \siunitx_angle_init:
\IfNoValueTF {#2}
{
- \bool_set_false:N \_l_siunitx_angle_minute_zero_bool
- \bool_set_false:N \_l_siunitx_angle_second_zero_bool
- \_siunitx_angle_output_aux:nnn {#1} { } { }
+ \bool_set_false:N \l_siunitx_angle_minute_zero_bool
+ \bool_set_false:N \l_siunitx_angle_second_zero_bool
+ \siunitx_angle_output_aux:nnn {#1} { } { }
}
{
\IfNoValueTF {#3}
- { \_siunitx_error:nx { invalid-arc-format } { #1 ; #2 } }
- { \_siunitx_angle_output_aux:nnn {#1} {#2} {#3} }
+ { \siunitx_error:nx { invalid-arc-format } { #1 ; #2 } }
+ { \siunitx_angle_output_aux:nnn {#1} {#2} {#3} }
}
}
-\cs_set_protected:Npn \_siunitx_angle_output_aux:nnn #1#2#3 {
+\cs_new_protected:Npn \siunitx_angle_output_aux:nnn #1#2#3 {
\tl_if_empty:nTF { #1#2#3 }
- { \_siunitx_error:n { empty-arc } }
- {
- \bool_if:NTF \_l_siunitx_number_parse_bool
- { \_siunitx_angle_parse:nnn {#1} {#2} {#3} }
- { \_siunitx_angle_direct:nnn {#1} {#2} {#3} }
- }
-}
-\cs_set_protected_nopar:Npn \_siunitx_angle_init: {
- \bool_set_false:N \_l_siunitx_angle_degree_space_bool
- \bool_set_false:N \_l_siunitx_angle_minute_space_bool
- \prop_clear:N \_l_siunitx_angle_degree_prop
- \prop_clear:N \_l_siunitx_angle_minute_prop
- \prop_clear:N \_l_siunitx_angle_second_prop
- \tl_clear:N \_l_siunitx_preunit_tl
- \tl_set_eq:NN \_l_siunitx_number_unit_separator_tl
- \_l_siunitx_angle_unit_separator_tl
- \cs_set_eq:NN \_siunitx_number_in_parse_more:N
- \_siunitx_number_in_parse_restricted:N
-}
-\cs_set_protected:Npn \_siunitx_angle_direct:nnn #1 {
+ { \siunitx_error:n { empty-arc } }
+ {
+ \bool_if:NTF \l_siunitx_number_parse_bool
+ { \siunitx_angle_parse:nnn {#1} {#2} {#3} }
+ { \siunitx_angle_direct:nnn {#1} {#2} {#3} }
+ }
+}
+\cs_new_protected_nopar:Npn \siunitx_angle_init: {
+ \bool_set_false:N \l_siunitx_angle_degree_space_bool
+ \bool_set_false:N \l_siunitx_angle_minute_space_bool
+ \prop_clear:N \l_siunitx_angle_degree_prop
+ \prop_clear:N \l_siunitx_angle_minute_prop
+ \prop_clear:N \l_siunitx_angle_second_prop
+ \tl_clear:N \l_siunitx_preunit_tl
+ \tl_set_eq:NN \l_siunitx_number_unit_separator_tl
+ \l_siunitx_angle_unit_separator_tl
+ \cs_set_eq:NN \siunitx_number_in_parse_more:N
+ \siunitx_number_in_parse_restricted:N
+}
+\cs_new_protected:Npn \siunitx_angle_direct:nnn #1 {
\tl_if_empty:nTF {#1}
{
- \bool_if:NTF \_l_siunitx_angle_degree_zero_bool
- { \_siunitx_angle_direct_aux_i:nnn { 0 } }
- { \_siunitx_angle_direct_aux_i:nnn { } }
+ \bool_if:NTF \l_siunitx_angle_degree_zero_bool
+ { \siunitx_angle_direct_aux_i:nnn { 0 } }
+ { \siunitx_angle_direct_aux_i:nnn { } }
}
- { \_siunitx_angle_direct_aux_i:nnn {#1} }
+ { \siunitx_angle_direct_aux_i:nnn {#1} }
}
-\cs_set_protected:Npn \_siunitx_angle_direct_aux_i:nnn #1#2 {
+\cs_new_protected:Npn \siunitx_angle_direct_aux_i:nnn #1#2 {
\tl_if_empty:nTF {#2}
{
- \bool_if:NTF \_l_siunitx_angle_minte_zero_bool
- { \_siunitx_angle_direct_aux_ii:nnn {#1} { 0 } }
- { \_siunitx_angle_direct_aux_ii:nnn {#1} { } }
+ \bool_if:NTF \l_siunitx_angle_minte_zero_bool
+ { \siunitx_angle_direct_aux_ii:nnn {#1} { 0 } }
+ { \siunitx_angle_direct_aux_ii:nnn {#1} { } }
}
- { \_siunitx_angle_direct_aux_ii:nnn {#1} {#2} }
+ { \siunitx_angle_direct_aux_ii:nnn {#1} {#2} }
}
-\cs_set_protected:Npn \_siunitx_angle_direct_aux_ii:nnn #1#2#3 {
+\cs_new_protected:Npn \siunitx_angle_direct_aux_ii:nnn #1#2#3 {
\tl_if_empty:nTF {#3}
{
- \bool_if:NTF \_l_siunitx_angle_second_zero_bool
- { \_siunitx_angle_direct_aux_iii:nnn {#1} {#2} { 0 } }
- { \_siunitx_angle_direct_aux_iii:nnn {#1} {#2} { } }
+ \bool_if:NTF \l_siunitx_angle_second_zero_bool
+ { \siunitx_angle_direct_aux_iii:nnn {#1} {#2} { 0 } }
+ { \siunitx_angle_direct_aux_iii:nnn {#1} {#2} { } }
}
- { \_siunitx_angle_direct_aux_iii:nnn {#1} {#2} {#3} }
+ { \siunitx_angle_direct_aux_iii:nnn {#1} {#2} {#3} }
}
-\cs_set_protected:Npn \_siunitx_angle_direct_aux_iii:nnn #1#2#3 {
+\cs_new_protected:Npn \siunitx_angle_direct_aux_iii:nnn #1#2#3 {
\tl_if_empty:nF {#1}
{
\tl_if_empty:nF {#2#3}
- { \bool_set_true:N \_l_siunitx_angle_degree_space_bool }
+ { \bool_set_true:N \l_siunitx_angle_degree_space_bool }
}
\tl_if_empty:nF {#2}
{
\tl_if_empty:nF {#3}
- { \bool_set_true:N \_l_siunitx_angle_minute_space_bool }
+ { \bool_set_true:N \l_siunitx_angle_minute_space_bool }
}
- \_siunitx_angle_print_direct:nnn {#1} {#2} {#3}
+ \siunitx_angle_print_direct:nnn {#1} {#2} {#3}
}
-\cs_set_protected:Npn \_siunitx_angle_parse:nnn #1#2#3 {
- \_siunitx_angle_parse_aux:nn {#1} { degree }
- \_siunitx_angle_parse_aux:nn {#2} { minute }
- \_siunitx_angle_parse_aux:nn {#3} { second }
- \_siunitx_angle_check_sign:
- \_siunitx_angle_zero_fill:
- \prop_if_empty:NF \_l_siunitx_angle_degree_prop
+\cs_new_protected:Npn \siunitx_angle_parse:nnn #1#2#3 {
+ \siunitx_angle_parse_aux:nn {#1} { degree }
+ \siunitx_angle_parse_aux:nn {#2} { minute }
+ \siunitx_angle_parse_aux:nn {#3} { second }
+ \siunitx_angle_check_sign:
+ \siunitx_angle_zero_fill:
+ \prop_if_empty:NF \l_siunitx_angle_degree_prop
{
- \prop_if_empty:NF \_l_siunitx_angle_minute_prop
- { \bool_set_true:N \_l_siunitx_angle_degree_space_bool }
- \prop_if_empty:NF \_l_siunitx_angle_second_prop
- { \bool_set_true:N \_l_siunitx_angle_degree_space_bool }
+ \prop_if_empty:NF \l_siunitx_angle_minute_prop
+ { \bool_set_true:N \l_siunitx_angle_degree_space_bool }
+ \prop_if_empty:NF \l_siunitx_angle_second_prop
+ { \bool_set_true:N \l_siunitx_angle_degree_space_bool }
}
- \prop_if_empty:NF \_l_siunitx_angle_minute_prop
+ \prop_if_empty:NF \l_siunitx_angle_minute_prop
{
- \prop_if_empty:NF \_l_siunitx_angle_second_prop
- { \bool_set_true:N \_l_siunitx_angle_minute_space_bool }
+ \prop_if_empty:NF \l_siunitx_angle_second_prop
+ { \bool_set_true:N \l_siunitx_angle_minute_space_bool }
}
- \_siunitx_angle_print:
+ \siunitx_angle_print:
}
-\cs_set_protected:Npn \_siunitx_angle_parse_aux:nn #1#2 {
- \prop_clear:N \_l_siunitx_number_in_prop
+\cs_new_protected:Npn \siunitx_angle_parse_aux:nn #1#2 {
+ \prop_clear:N \l_siunitx_number_in_prop
\tl_if_empty:nF {#1}
{
- \_siunitx_number_in_init:
- \_siunitx_number_in_parse_aux:n {#1}
+ \siunitx_number_in_init:
+ \siunitx_number_in_parse_aux:n {#1}
}
- \prop_get:NnN \_l_siunitx_number_in_prop { mantissa-sign-deleted }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:NnN \l_siunitx_number_in_prop { mantissa-sign-deleted }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \prop_put:NnV \_l_siunitx_number_in_prop { mantissa-sign }
- \_l_siunitx_tmpa_tl
+ \prop_put:NnV \l_siunitx_number_in_prop { mantissa-sign }
+ \l_siunitx_tmpa_tl
}
- \_siunitx_number_process:
- \prop_set_eq:cN { _l_siunitx_angle_ #2 _prop }
- \_l_siunitx_number_in_prop
+ \siunitx_number_process:
+ \prop_set_eq:cN { l_siunitx_angle_ #2 _prop }
+ \l_siunitx_number_in_prop
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_check_sign: {
- \prop_if_empty:NTF \_l_siunitx_angle_degree_prop
+\cs_new_protected_nopar:Npn \siunitx_angle_check_sign: {
+ \prop_if_empty:NTF \l_siunitx_angle_degree_prop
{
- \prop_if_empty:NF \_l_siunitx_angle_minute_prop
- { \_siunitx_angle_check_sign_aux:n { second } }
+ \prop_if_empty:NF \l_siunitx_angle_minute_prop
+ { \siunitx_angle_check_sign_aux:n { second } }
}
{
- \_siunitx_angle_check_sign_aux:n { minute }
- \_siunitx_angle_check_sign_aux:n { second }
+ \siunitx_angle_check_sign_aux:n { minute }
+ \siunitx_angle_check_sign_aux:n { second }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_check_sign_aux:n #1 {
- \prop_if_in:cnTF { _l_siunitx_angle_ #1 _prop }
+\cs_new_protected_nopar:Npn \siunitx_angle_check_sign_aux:n #1 {
+ \prop_if_in:cnTF { l_siunitx_angle_ #1 _prop }
{ mantissa-sign }
{ \msg_error:nn { siunitx } { bad-arc-sign } }
{
- \prop_if_in:cnT { _l_siunitx_angle_ #1 _prop }
+ \prop_if_in:cnT { l_siunitx_angle_ #1 _prop }
{ mantissa-sign-deleted }
{ \msg_error:nn { siunitx } { bad-arc-sign } }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_zero_fill: {
+\cs_new_protected_nopar:Npn \siunitx_angle_zero_fill: {
\bool_if:nT
{
- \prop_if_empty_p:N \_l_siunitx_angle_second_prop &&
- \_l_siunitx_angle_second_zero_bool
+ \prop_if_empty_p:N \l_siunitx_angle_second_prop &&
+ \l_siunitx_angle_second_zero_bool
}
{
- \prop_put:Nnn \_l_siunitx_angle_second_prop { mantissa }
+ \prop_put:Nnn \l_siunitx_angle_second_prop { mantissa }
{ true }
- \prop_put:Nnn \_l_siunitx_angle_second_prop { mantissa-integer }
+ \prop_put:Nnn \l_siunitx_angle_second_prop { mantissa-integer }
{ 0 }
}
\bool_if:nT
{
- \prop_if_empty_p:N \_l_siunitx_angle_minute_prop &&
- \_l_siunitx_angle_minute_zero_bool
+ \prop_if_empty_p:N \l_siunitx_angle_minute_prop &&
+ \l_siunitx_angle_minute_zero_bool
}
{
- \prop_put:Nnn \_l_siunitx_angle_minute_prop { mantissa }
+ \prop_put:Nnn \l_siunitx_angle_minute_prop { mantissa }
{ true }
- \prop_put:Nnn \_l_siunitx_angle_minute_prop { mantissa-integer }
+ \prop_put:Nnn \l_siunitx_angle_minute_prop { mantissa-integer }
{ 0 }
- \_siunitx_angle_sign_shuffle:nn { second } { minute }
+ \siunitx_angle_sign_shuffle:nn { second } { minute }
}
\bool_if:nT
{
- \prop_if_empty_p:N \_l_siunitx_angle_degree_prop &&
- \_l_siunitx_angle_degree_zero_bool
+ \prop_if_empty_p:N \l_siunitx_angle_degree_prop &&
+ \l_siunitx_angle_degree_zero_bool
}
{
- \prop_put:Nnn \_l_siunitx_angle_degree_prop { mantissa }
+ \prop_put:Nnn \l_siunitx_angle_degree_prop { mantissa }
{ true }
- \prop_put:Nnn \_l_siunitx_angle_degree_prop { mantissa-integer }
+ \prop_put:Nnn \l_siunitx_angle_degree_prop { mantissa-integer }
{ 0 }
- \_siunitx_angle_sign_shuffle:nn { second } { degree }
- \_siunitx_angle_sign_shuffle:nn { minute } { degree }
+ \siunitx_angle_sign_shuffle:nn { second } { degree }
+ \siunitx_angle_sign_shuffle:nn { minute } { degree }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_sign_shuffle:nn #1#2 {
- \_siunitx_angle_sign_shuffle_aux:nnn {#1} {#2} { }
- \_siunitx_angle_sign_shuffle_aux:nnn {#1} {#2} { -deleted }
+\cs_new_protected_nopar:Npn \siunitx_angle_sign_shuffle:nn #1#2 {
+ \siunitx_angle_sign_shuffle_aux:nnn {#1} {#2} { }
+ \siunitx_angle_sign_shuffle_aux:nnn {#1} {#2} { -deleted }
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_sign_shuffle_aux:nnn
+\cs_new_protected_nopar:Npn \siunitx_angle_sign_shuffle_aux:nnn
#1#2#3 {
- \prop_get:cnN { _l_siunitx_angle_ #1 _prop } { mantissa-sign #3 }
- \_l_siunitx_tmpa_tl
- \prop_del:cn { _l_siunitx_angle_ #1 _prop } { mantissa-sign #3 }
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+ \prop_get:cnN { l_siunitx_angle_ #1 _prop } { mantissa-sign #3 }
+ \l_siunitx_tmpa_tl
+ \prop_del:cn { l_siunitx_angle_ #1 _prop } { mantissa-sign #3 }
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
- \prop_put:cnV { _l_siunitx_angle_ #2 _prop } { mantissa-sign #3 }
- \_l_siunitx_tmpa_tl
+ \prop_put:cnV { l_siunitx_angle_ #2 _prop } { mantissa-sign #3 }
+ \l_siunitx_tmpa_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print: {
- \_siunitx_angle_print_aux:nn { degree } { \SIUnitSymbolDegree }
- \bool_if:NT \_l_siunitx_angle_degree_space_bool
+\cs_new_protected_nopar:Npn \siunitx_angle_print: {
+ \siunitx_angle_print_aux:nn { degree } { \SIUnitSymbolDegree }
+ \bool_if:NT \l_siunitx_angle_degree_space_bool
{
\nobreak
- \_siunitx_ensuremath:n { \_l_siunitx_angle_arc_separator_tl }
+ \siunitx_ensuremath:n { \l_siunitx_angle_arc_separator_tl }
}
- \_siunitx_angle_print_aux:nn { minute } { \SIUnitSymbolArcminute }
- \bool_if:NT \_l_siunitx_angle_minute_space_bool
+ \siunitx_angle_print_aux:nn { minute } { \SIUnitSymbolArcminute }
+ \bool_if:NT \l_siunitx_angle_minute_space_bool
{
\nobreak
- \_siunitx_ensuremath:n { \_l_siunitx_angle_arc_separator_tl }
+ \siunitx_ensuremath:n { \l_siunitx_angle_arc_separator_tl }
}
- \_siunitx_angle_print_aux:nn { second } { \SIUnitSymbolArcsecond }
+ \siunitx_angle_print_aux:nn { second } { \SIUnitSymbolArcsecond }
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print_aux:nn #1#2 {
- \prop_if_empty:cF { _l_siunitx_angle_ #1 _prop }
+\cs_new_protected_nopar:Npn \siunitx_angle_print_aux:nn #1#2 {
+ \prop_if_empty:cF { l_siunitx_angle_ #1 _prop }
{
- \prop_set_eq:Nc \_l_siunitx_number_in_prop
- { _l_siunitx_angle_ #1 _prop }
- \tl_set:Nn \_l_siunitx_unit_tl {#2}
- \tl_clear:N \_l_siunitx_number_out_tl
- \_siunitx_number_format:
- \_siunitx_number_output_color:
- \bool_if:NTF \_l_siunitx_angle_astronomy_bool
- { \_siunitx_angle_print_astronomy: }
- { \_siunitx_number_output_single: }
+ \prop_set_eq:Nc \l_siunitx_number_in_prop
+ { l_siunitx_angle_ #1 _prop }
+ \tl_set:Nn \l_siunitx_unit_tl {#2}
+ \tl_clear:N \l_siunitx_number_out_tl
+ \siunitx_number_format:
+ \siunitx_number_output_color:
+ \bool_if:NTF \l_siunitx_angle_astronomy_bool
+ { \siunitx_angle_print_astronomy: }
+ { \siunitx_number_output_single: }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print_astronomy: {
- \prop_if_in:NnTF \_l_siunitx_number_in_prop
+\cs_new_protected_nopar:Npn \siunitx_angle_print_astronomy: {
+ \prop_if_in:NnTF \l_siunitx_number_in_prop
{ mantissa-decimal-marker }
- { \_siunitx_angle_print_astronomy_aux: }
- { \_siunitx_number_output_single: }
+ { \siunitx_angle_print_astronomy_aux: }
+ { \siunitx_number_output_single: }
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print_astronomy_aux: {
- \prop_get:NnN \_l_siunitx_number_out_prop { mantissa-integer }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
- { \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl }
- \hbox_set:Nn \_l_siunitx_angle_marker_box
+\cs_new_protected_nopar:Npn \siunitx_angle_print_astronomy_aux: {
+ \prop_get:NnN \l_siunitx_number_out_prop { mantissa-integer }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
+ { \siunitx_print:nV { number } \l_siunitx_tmpa_tl }
+ \hbox_set:Nn \l_siunitx_angle_marker_box
{
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { { \_l_siunitx_output_decimal_tl } } }
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { { \l_siunitx_output_decimal_tl } } }
}
- \hbox_set:Nn \_l_siunitx_angle_unit_box
+ \hbox_set:Nn \l_siunitx_angle_unit_box
{
- \_siunitx_print:nV { unit } \_l_siunitx_unit_tl
+ \siunitx_print:nV { unit } \l_siunitx_unit_tl
\skip_horizontal:n { -\scriptspace }
}
- \_siunitx_angle_print_astronomy_aux:n { marker }
- \_siunitx_angle_print_astronomy_aux:n { unit }
- \hbox_set:Nn \_l_siunitx_angle_marker_box
+ \siunitx_angle_print_astronomy_aux:n { marker }
+ \siunitx_angle_print_astronomy_aux:n { unit }
+ \hbox_set:Nn \l_siunitx_angle_marker_box
{
- \box_use:N \_l_siunitx_angle_marker_box
- \box_use:N \_l_siunitx_angle_unit_box
+ \box_use:N \l_siunitx_angle_marker_box
+ \box_use:N \l_siunitx_angle_unit_box
}
\dim_compare:nNnTF
- { \_l_siunitx_angle_marker_dim } > { \_l_siunitx_angle_unit_dim }
- { \_siunitx_angle_print_astronomy_marker: }
- { \_siunitx_angle_print_astronomy_unit: }
- \prop_get:NnN \_l_siunitx_number_out_prop { mantissa-decimal }
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
- { \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl }
-}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print_astronomy_aux:n #1 {
- \dim_set:cn { _l_siunitx_angle_ #1 _dim }
- { \box_wd:c { _l_siunitx_angle_ #1 _box } }
- \hbox_set_to_wd:cnn { _l_siunitx_angle_ #1 _box } { \c_zero_skip }
+ { \l_siunitx_angle_marker_dim } > { \l_siunitx_angle_unit_dim }
+ { \siunitx_angle_print_astronomy_marker: }
+ { \siunitx_angle_print_astronomy_unit: }
+ \prop_get:NnN \l_siunitx_number_out_prop { mantissa-decimal }
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
+ { \siunitx_print:nV { number } \l_siunitx_tmpa_tl }
+}
+\cs_new_protected_nopar:Npn \siunitx_angle_print_astronomy_aux:n #1 {
+ \dim_set:cn { l_siunitx_angle_ #1 _dim }
+ { \box_wd:c { l_siunitx_angle_ #1 _box } }
+ \hbox_set_to_wd:cnn { l_siunitx_angle_ #1 _box } { \c_zero_skip }
{
\tex_hss:D
- \hbox_unpack:c { _l_siunitx_angle_ #1_box }
+ \hbox_unpack:c { l_siunitx_angle_ #1_box }
\tex_hss:D
}
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print_astronomy_marker: {
- \hbox_set_to_wd:Nnn \_l_siunitx_angle_marker_box
- { \_l_siunitx_angle_marker_dim }
+\cs_new_protected_nopar:Npn \siunitx_angle_print_astronomy_marker: {
+ \hbox_set_to_wd:Nnn \l_siunitx_angle_marker_box
+ { \l_siunitx_angle_marker_dim }
{
\tex_hss:D
- \hbox_unpack:N \_l_siunitx_angle_marker_box
+ \hbox_unpack:N \l_siunitx_angle_marker_box
\tex_hss:D
}
- \box_use:N \_l_siunitx_angle_marker_box
+ \box_use:N \l_siunitx_angle_marker_box
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print_astronomy_unit: {
- \hbox_set_to_wd:Nnn \_l_siunitx_angle_marker_box
- { \_l_siunitx_angle_unit_dim }
+\cs_new_protected_nopar:Npn \siunitx_angle_print_astronomy_unit: {
+ \hbox_set_to_wd:Nnn \l_siunitx_angle_marker_box
+ { \l_siunitx_angle_unit_dim }
{
\tex_hss:D
- \hbox_unpack:N \_l_siunitx_angle_marker_box
+ \hbox_unpack:N \l_siunitx_angle_marker_box
\tex_hss:D
}
- \box_use:N \_l_siunitx_angle_marker_box
+ \box_use:N \l_siunitx_angle_marker_box
\skip_horizontal:N \scriptspace
}
-\cs_set_protected:Npn \_siunitx_angle_print_direct:nnn #1#2#3 {
- \_siunitx_angle_print_direct_aux:nn {#1} { \SIUnitSymbolDegree }
- \bool_if:NT \_l_siunitx_angle_degree_space_bool
+\cs_new_protected:Npn \siunitx_angle_print_direct:nnn #1#2#3 {
+ \siunitx_angle_print_direct_aux:nn {#1} { \SIUnitSymbolDegree }
+ \bool_if:NT \l_siunitx_angle_degree_space_bool
{
\nobreak
- \_siunitx_ensuremath:n { \_l_siunitx_angle_arc_separator_tl }
+ \siunitx_ensuremath:n { \l_siunitx_angle_arc_separator_tl }
}
- \_siunitx_angle_print_direct_aux:nn {#2} { \SIUnitSymbolArcminute }
- \bool_if:NT \_l_siunitx_angle_minute_space_bool
+ \siunitx_angle_print_direct_aux:nn {#2} { \SIUnitSymbolArcminute }
+ \bool_if:NT \l_siunitx_angle_minute_space_bool
{
\nobreak
- \_siunitx_ensuremath:n { \_l_siunitx_angle_arc_separator_tl }
+ \siunitx_ensuremath:n { \l_siunitx_angle_arc_separator_tl }
}
- \_siunitx_angle_print_direct_aux:nn {#3} { \SIUnitSymbolArcsecond }
+ \siunitx_angle_print_direct_aux:nn {#3} { \SIUnitSymbolArcsecond }
}
-\cs_set_protected_nopar:Npn \_siunitx_angle_print_direct_aux:nn #1#2 {
+\cs_new_protected_nopar:Npn \siunitx_angle_print_direct_aux:nn #1#2 {
\tl_if_empty:nF {#1}
{
- \tl_set:Nn \_l_siunitx_unit_tl {#2}
- \_siunitx_print:nn { number } { \_siunitx_ensuremath:n {#1} }
- \_siunitx_unit_output_print:
+ \tl_set:Nn \l_siunitx_unit_tl {#2}
+ \siunitx_print:nn { number } { \siunitx_ensuremath:n {#1} }
+ \siunitx_unit_output_print:
}
}
-\tl_new:N \_l_siunitx_declare_list_tl
-\tl_set:Nn \_l_siunitx_declare_list_tl { \of \per \raiseto \tothe }
-\cs_set_protected:Npn \_siunitx_declare_power_after:Nn #1#2 {
- \tl_put_right:Nn \_l_siunitx_declare_list_tl {#1}
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _literal:w }
+\tl_new:N \l_siunitx_declare_list_tl
+\tl_set:Nn \l_siunitx_declare_list_tl { \of \per \raiseto \tothe }
+\cs_new_protected:Npn \siunitx_declare_power_after:Nn #1#2 {
+ \tl_put_right:Nn \l_siunitx_declare_list_tl {#1}
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _literal:w }
{ \textsuperscript {#2} }
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _function:w }
- { \_siunitx_unit_parse_power_after:n {#2} }
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _function:w }
+ { \siunitx_unit_parse_power_after:n {#2} }
}
-\cs_set_protected:Npn \_siunitx_declare_power_before:Nn #1#2 {
- \tl_put_right:Nn \_l_siunitx_declare_list_tl {#1}
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _literal:w } ##1
+\cs_new_protected:Npn \siunitx_declare_power_before:Nn #1#2 {
+ \tl_put_right:Nn \l_siunitx_declare_list_tl {#1}
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _literal:w } ##1
{ ##1 \textsuperscript {#2} }
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _function:w }
- { \_siunitx_unit_parse_power_before:n {#2} }
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _function:w }
+ { \siunitx_unit_parse_power_before:n {#2} }
}
-\cs_set_protected:Npn \_siunitx_declare_prefix:Nnnn #1#2#3#4 {
- \tl_put_right:Nn \_l_siunitx_declare_list_tl {#1}
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _literal:w } {#2}
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _function:w }
+\cs_new_protected:Npn \siunitx_declare_prefix:Nnnn #1#2#3#4 {
+ \tl_put_right:Nn \l_siunitx_declare_list_tl {#1}
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _literal:w } {#2}
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _function:w }
{
- \bool_if:NTF \_l_siunitx_prefix_symbols_bool
- { \_siunitx_unit_parse_prefix:n {#2} }
- { \_siunitx_unit_parse_prefix:nn {#3} {#4} }
+ \bool_if:NTF \l_siunitx_prefix_symbols_bool
+ { \siunitx_unit_parse_prefix:n {#2} }
+ { \siunitx_unit_parse_prefix:nn {#3} {#4} }
}
}
-\cs_set_protected:Npn \_siunitx_declare_qualifier:Nn #1#2 {
- \tl_put_right:Nn \_l_siunitx_declare_list_tl {#1}
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _literal:w }
+\cs_new_protected:Npn \siunitx_declare_qualifier:Nn #1#2 {
+ \tl_put_right:Nn \l_siunitx_declare_list_tl {#1}
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _literal:w }
{ \text { ~ } ( #2 ) }
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _function:w }
- { \_siunitx_unit_parse_qualifier:n {#2} }
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _function:w }
+ { \siunitx_unit_parse_qualifier:n {#2} }
}
-\cs_set_protected:Npn \_siunitx_declare_unit:Nnn #1#2#3 {
- \tl_put_right:Nn \_l_siunitx_declare_list_tl {#1}
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _literal:w } {#2}
- \cs_set:cpn { _siunitx_ \token_to_str:N #1 _function:w }
+\cs_new_protected:Npn \siunitx_declare_unit:Nnn #1#2#3 {
+ \tl_put_right:Nn \l_siunitx_declare_list_tl {#1}
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _literal:w } {#2}
+ \cs_set:cpn { siunitx_ \token_to_str:N #1 _function:w }
{
- \_siunitx_unit_if_literal:nTF {#2}
- { \_siunitx_unit_parse_unit:Nn #1 {#2} }
+ \siunitx_unit_if_literal:nTF {#2}
+ { \siunitx_unit_parse_unit:Nn #1 {#2} }
{#2}
}
\tl_if_empty:nTF {#3}
{
- \cs_if_free:cF { _l_siunitx_ \token_to_str:N #1 _options_tl }
+ \cs_if_free:cF { l_siunitx_ \token_to_str:N #1 _options_tl }
{
- \cs_gundefine:c { _l_siunitx_ \token_to_str:N #1 _options_tl }
+ \cs_gundefine:c { l_siunitx_ \token_to_str:N #1 _options_tl }
}
}
{
- \cs_if_free:cT { _l_siunitx_ \token_to_str:N #1 _options_tl }
- { \tl_new:c { _l_siunitx_ \token_to_str:N #1 _options_tl } }
- \tl_set:cn { _l_siunitx_ \token_to_str:N #1 _options_tl } {#3}
+ \cs_if_free:cT { l_siunitx_ \token_to_str:N #1 _options_tl }
+ { \tl_new:c { l_siunitx_ \token_to_str:N #1 _options_tl } }
+ \tl_set:cn { l_siunitx_ \token_to_str:N #1 _options_tl } {#3}
}
}
-\cs_set_protected:Npn \_siunitx_unit_first_token:n #1 {
+\cs_new_protected:Npn \siunitx_unit_first_token:n #1 {
\exp_after:wN \token_to_str:N \tl_head_i:w #1 \q_nil
}
-\cs_set:cpn { _siunitx_ \token_to_str:N \per _literal:w } { / }
-\cs_set_protected:cpn { _siunitx_ \token_to_str:N \per _function:w } {
- \bool_set_true:N \_l_siunitx_per_bool
- \_siunitx_unit_parse_per:
+\cs_new:cpn { siunitx_ \token_to_str:N \per _literal:w } { / }
+\cs_new_protected:cpn { siunitx_ \token_to_str:N \per _function:w } {
+ \bool_set_true:N \l_siunitx_per_bool
+ \siunitx_unit_parse_per:
}
-\cs_set:cpn { _siunitx_ \token_to_str:N \raiseto _literal:w } #1#2 {
+\cs_new:cpn { siunitx_ \token_to_str:N \raiseto _literal:w } #1#2 {
#2
\textsuperscript {#1}
}
-\cs_set_protected:cpn { _siunitx_ \token_to_str:N \raiseto _function:w }
+\cs_new_protected:cpn { siunitx_ \token_to_str:N \raiseto _function:w }
#1 {
- \_siunitx_unit_parse_power_before:n {#1}
+ \siunitx_unit_parse_power_before:n {#1}
}
-\cs_set:cpn { _siunitx_ \token_to_str:N \tothe _literal:w } #1 {
+\cs_new:cpn { siunitx_ \token_to_str:N \tothe _literal:w } #1 {
\textsuperscript {#1}
}
-\cs_set_protected:cpn { _siunitx_ \token_to_str:N \tothe _function:w }
+\cs_new_protected:cpn { siunitx_ \token_to_str:N \tothe _function:w }
#1 {
- \_siunitx_unit_parse_power_after:n {#1}
+ \siunitx_unit_parse_power_after:n {#1}
}
-\cs_set_protected:cpn { _siunitx_ \token_to_str:N \of _literal:w } #1 {
+\cs_new_protected:cpn { siunitx_ \token_to_str:N \of _literal:w } #1 {
\text { ~ } ( #1 )
}
-\cs_set_protected:cpn { _siunitx_ \token_to_str:N \of _function:w } #1 {
- \_siunitx_unit_parse_qualifier:n {#1}
+\cs_new_protected:cpn { siunitx_ \token_to_str:N \of _function:w } #1 {
+ \siunitx_unit_parse_qualifier:n {#1}
}
\keys_define:nn { siunitx } {
- free-standing-units .bool_set:N = \_l_siunitx_create_free_bool,
+ free-standing-units .bool_set:N = \l_siunitx_create_free_bool,
overwrite-functions .bool_set:N =
- \_l_siunitx_create_overwrite_bool,
- space-before-unit .bool_set:N = \_l_siunitx_create_prespace_bool,
- unit-optional-argument .bool_set:N = \_l_siunitx_create_optional_bool,
- use-xspace .bool_set:N = \_l_siunitx_create_xspace_bool
+ \l_siunitx_create_overwrite_bool,
+ space-before-unit .bool_set:N = \l_siunitx_create_prespace_bool,
+ unit-optional-argument .bool_set:N = \l_siunitx_create_optional_bool,
+ use-xspace .bool_set:N = \l_siunitx_create_xspace_bool
}
-\_siunitx_option_deactivate:n {
+\siunitx_option_deactivate:n {
free-standing-units,
overwrite-functions,
space-before-unit,
@@ -3233,336 +3233,336 @@
use-xspace
}
\AtBeginDocument {
- \bool_if:NTF \_l_siunitx_create_free_bool
- { \_siunitx_unit_create_functions: }
- { \_siunitx_unit_create_empty_functions: }
+ \bool_if:NTF \l_siunitx_create_free_bool
+ { \siunitx_unit_create_functions: }
+ { \siunitx_unit_create_empty_functions: }
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_create_empty_functions: {
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_create_empty_functions_aux:N
+\cs_new_protected_nopar:Npn \siunitx_unit_create_empty_functions: {
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_create_empty_functions_aux:N
}
-\cs_set_protected_nopar:Npn
- \_siunitx_unit_create_empty_functions_aux:N #1 {
+\cs_new_protected_nopar:Npn
+ \siunitx_unit_create_empty_functions_aux:N #1 {
\cs_if_free:NT #1 { \cs_set_protected_nopar:Npn #1 { \ERROR } }
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_create_functions: {
- \bool_if:NT \_l_siunitx_create_overwrite_bool
- { \tl_map_function:NN \_l_siunitx_declare_list_tl \cs_gundefine:N }
- \bool_if:NTF \_l_siunitx_create_optional_bool
+\cs_new_protected_nopar:Npn \siunitx_unit_create_functions: {
+ \bool_if:NT \l_siunitx_create_overwrite_bool
+ { \tl_map_function:NN \l_siunitx_declare_list_tl \cs_gundefine:N }
+ \bool_if:NTF \l_siunitx_create_optional_bool
{
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_create_with_arg:N
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_create_with_arg:N
}
{
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_create:N
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_create:N
}
- \bool_if:NT \_l_siunitx_create_xspace_bool
+ \bool_if:NT \l_siunitx_create_xspace_bool
{ \RequirePackage { xspace } }
}
-\cs_set_protected:Npn \_siunitx_unit_create:N #1 {
+\cs_new_protected:Npn \siunitx_unit_create:N #1 {
\cs_if_free:NT #1
{
- \cs_set:Npx \_siunitx_tmp:w
+ \cs_set:Npx \siunitx_tmp:w
{
\ProvideDocumentCommand \exp_not:N #1 { }
{
- \bool_if:NT \_l_siunitx_create_prespace_bool
+ \bool_if:NT \l_siunitx_create_prespace_bool
{
\exp_not:n
{
- \_siunitx_ensuremath:n
- { \_l_siunitx_number_unit_sep_tl }
+ \siunitx_ensuremath:n
+ { \l_siunitx_number_unit_sep_tl }
}
}
- \exp_not:n { \_siunitx_unit_output:nn {#1} { } }
- \bool_if:NT \_l_siunitx_create_xspace_bool
+ \exp_not:n { \siunitx_unit_output:nn {#1} { } }
+ \bool_if:NT \l_siunitx_create_xspace_bool
{ \exp_not:N \xspace }
}
}
- \_siunitx_tmp:w
+ \siunitx_tmp:w
}
}
-\cs_set_protected:Npn \_siunitx_unit_create_with_arg:N #1 {
+\cs_new_protected:Npn \siunitx_unit_create_with_arg:N #1 {
\cs_if_free:NT #1
{
- \cs_set:Npx \_siunitx_tmp:w
+ \cs_set:Npx \siunitx_tmp:w
{
\ProvideDocumentCommand \exp_not:N #1 { o }
{
\exp_not:N \IfNoValueTF {####1}
- { \exp_not:n { \_siunitx_unit_output:nn {#1} { } } }
+ { \exp_not:n { \siunitx_unit_output:nn {#1} { } } }
{
- \bool_if:NT \_l_siunitx_create_prespace_bool
+ \bool_if:NT \l_siunitx_create_prespace_bool
{
\exp_not:n
{
- \_siunitx_ensuremath:n
- { \_l_siunitx_number_unit_sep_tl }
+ \siunitx_ensuremath:n
+ { \l_siunitx_number_unit_sep_tl }
}
}
\SI {####1} { \exp_not:N #1 }
}
- \bool_if:NT \_l_siunitx_create_xspace_bool
+ \bool_if:NT \l_siunitx_create_xspace_bool
{ \exp_not:N \xspace }
}
}
- \_siunitx_tmp:w
+ \siunitx_tmp:w
}
}
\AtBeginDocument {
\tl_map_function:nN { \bar \color \ng \pm }
- \_siunitx_protect_symbols:N
+ \siunitx_protect_symbols:N
}
-\cs_set_protected_nopar:Npn \_siunitx_protect_symbols:N #1 {
+\cs_new_protected_nopar:Npn \siunitx_protect_symbols:N #1 {
\cs_if_exist:NT #1
{
- \_siunitx_cs_if_macro:NT #1
+ \siunitx_cs_if_macro:NT #1
{ \cs_set_protected_nopar:Npx #1 { \exp_not:V #1 } }
}
}
\keys_define:nn { siunitx } {
forbid-literal-units .bool_set:N =
- \_l_siunitx_unit_forbid_literal_bool,
- parse-units .bool_set:N = \_l_siunitx_unit_parse_bool
+ \l_siunitx_unit_forbid_literal_bool,
+ parse-units .bool_set:N = \l_siunitx_unit_parse_bool
}
\keys_set:nn { siunitx } {
forbid-literal-units = false,
parse-units = true
}
-\cs_set_protected:Npn \_siunitx_unit_in:nn #1#2 {
- \bool_if:NTF \_l_siunitx_unit_parse_bool
+\cs_new_protected:Npn \siunitx_unit_in:nn #1#2 {
+ \bool_if:NTF \l_siunitx_unit_parse_bool
{
\tl_if_empty:nF {#1}
{
- \_siunitx_unit_if_literal:nTF {#1}
+ \siunitx_unit_if_literal:nTF {#1}
{
- \bool_if:NTF \_l_siunitx_unit_forbid_literal_bool
+ \bool_if:NTF \l_siunitx_unit_forbid_literal_bool
{ \msg_error:nnx { siunitx } { literal-unit } {#1} }
- { \_siunitx_unit_format_literal:n {#1} }
+ { \siunitx_unit_format_literal:n {#1} }
}
{
- \bool_if:NT \_l_siunitx_per_auto_bool
+ \bool_if:NT \l_siunitx_per_auto_bool
{
- \tl_set:Nn \_l_siunitx_per_mode_tl { symbol }
+ \tl_set:Nn \l_siunitx_per_mode_tl { symbol }
\mode_if_inner:F
{
\mode_if_math:T
{
- \tl_set:Nn \_l_siunitx_per_mode_tl
+ \tl_set:Nn \l_siunitx_per_mode_tl
{ fraction }
}
}
}
- \_siunitx_unit_parse:nn {#1} {#2}
- \_siunitx_unit_format:
+ \siunitx_unit_parse:nn {#1} {#2}
+ \siunitx_unit_format:
}
}
}
- { \_siunitx_unit_format_literal:n {#1} }
+ { \siunitx_unit_format_literal:n {#1} }
}
-\cs_generate_variant:Nn \_siunitx_unit_in:nn { V }
-\cs_set_protected:Npn \_siunitx_unit_if_literal:nTF #1#2#3 {
+\cs_generate_variant:Nn \siunitx_unit_in:nn { V }
+\cs_new_protected:Npn \siunitx_unit_if_literal:nTF #1#2#3 {
\group_begin:
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_if_literal_aux:N
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_if_literal_aux:N
\cs_set_eq:NN \of \use_none:n
\cs_set_eq:NN \raiseto \use_none:n
\cs_set_eq:NN \tothe \use_none:n
- \protected@edef \_l_siunitx_tmpa_tl {#1}
+ \protected@edef \l_siunitx_tmpa_tl {#1}
\exp_args:NNNV \group_end:
- \tl_set:Nn \_l_siunitx_tmpa_tl \_l_siunitx_tmpa_tl
- \tl_if_empty:NTF \_l_siunitx_tmpa_tl {#3} {#2}
+ \tl_set:Nn \l_siunitx_tmpa_tl \l_siunitx_tmpa_tl
+ \tl_if_empty:NTF \l_siunitx_tmpa_tl {#3} {#2}
}
-\cs_set_protected:Npn \_siunitx_unit_if_literal_aux:N #1 {
+\cs_new_protected:Npn \siunitx_unit_if_literal_aux:N #1 {
\cs_set_eq:NN #1 \prg_do_nothing:
}
-\int_new:N \_l_siunitx_unit_int
-\prop_new:N \_l_siunitx_unit_prop
-\bool_new:N \_l_siunitx_per_bool
+\int_new:N \l_siunitx_unit_int
+\prop_new:N \l_siunitx_unit_prop
+\bool_new:N \l_siunitx_per_bool
\keys_define:nn { siunitx } {
- prefixes-as-symbols .bool_set:N = \_l_siunitx_prefix_symbols_bool,
- sticky-per .bool_set:N = \_l_siunitx_sticky_per_bool,
+ prefixes-as-symbols .bool_set:N = \l_siunitx_prefix_symbols_bool,
+ sticky-per .bool_set:N = \l_siunitx_sticky_per_bool,
}
\keys_set:nn { siunitx } {
prefixes-as-symbols = true
}
-\cs_set_protected:Npn \_siunitx_unit_parse:nn #1#2 {
- \_siunitx_unit_parse_init:
- \_siunitx_unit_parse_options:nn {#1} {#2}
+\cs_new_protected:Npn \siunitx_unit_parse:nn #1#2 {
+ \siunitx_unit_parse_init:
+ \siunitx_unit_parse_options:nn {#1} {#2}
#1
- \cs_set_eq:NN \pm \_siunitx_pm:
+ \cs_set_eq:NN \pm \siunitx_pm:
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_parse_init: {
- \prop_clear:N \_l_siunitx_unit_prop
- \int_zero:N \_l_siunitx_unit_int
- \bool_set_false:N \_l_siunitx_per_bool
- \cs_set_eq:NN \_siunitx_pm: \pm
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_parse_init_aux:N
+\cs_new_protected_nopar:Npn \siunitx_unit_parse_init: {
+ \prop_clear:N \l_siunitx_unit_prop
+ \int_zero:N \l_siunitx_unit_int
+ \bool_set_false:N \l_siunitx_per_bool
+ \cs_set_eq:NN \siunitx_pm: \pm
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_parse_init_aux:N
}
-\cs_set_protected:Npn \_siunitx_unit_parse_init_aux:N #1 {
- \cs_set_eq:Nc #1 { _siunitx_ \token_to_str:N #1 _function:w }
+\cs_new_protected:Npn \siunitx_unit_parse_init_aux:N #1 {
+ \cs_set_eq:Nc #1 { siunitx_ \token_to_str:N #1 _function:w }
}
-\cs_set_protected_nopar:Npn \_siunitx_pm: { }
-\cs_set_protected:Npn \_siunitx_unit_parse_options:nn #1#2 {
+\cs_new_protected_nopar:Npn \siunitx_pm: { }
+\cs_new_protected:Npn \siunitx_unit_parse_options:nn #1#2 {
\tl_if_single:nT {#1}
{
\cs_if_free:cF
- { _l_siunitx_ \_siunitx_unit_first_token:n {#1} _options_tl }
+ { l_siunitx_ \siunitx_unit_first_token:n {#1} _options_tl }
{
\keys_set:nv { siunitx }
- { _l_siunitx_ \_siunitx_unit_first_token:n {#1} _options_tl }
+ { l_siunitx_ \siunitx_unit_first_token:n {#1} _options_tl }
\keys_set:nn { siunitx } {#2}
}
}
}
-\cs_set_protected:Npn \_siunitx_unit_parse_power_before:n #1 {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { power- \intexpr_eval:n { \_l_siunitx_unit_int + 1 } }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl {#1}
-}
-\cs_set_protected:Npn \_siunitx_unit_parse_power_after:n #1 {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { power- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl {#1}
-}
-\cs_set_protected:Npn \_siunitx_unit_parse_prefix:n #1 {
- \int_incr:N \_l_siunitx_unit_int
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { prefix- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl {#1}
-}
-\cs_set_protected:Npn \_siunitx_unit_parse_prefix:nn #1#2 {
- \_siunitx_unit_parse_prefix:n {#2}
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { prefix-base- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl {#1}
-}
-\cs_set_protected_nopar:Npn \_siunitx_unit_parse_per: {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { per- \intexpr_eval:n { \_l_siunitx_unit_int + 1 } }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl { true }
- \bool_if:NT \_l_siunitx_sticky_per_bool
- { \cs_set_eq:NN \per \_siunitx_unit_parse_per_error: }
-}
-\cs_set_protected_nopar:Npn \_siunitx_unit_parse_per_error: {
+\cs_new_protected:Npn \siunitx_unit_parse_power_before:n #1 {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { power- \intexpr_eval:n { \l_siunitx_unit_int + 1 } }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl {#1}
+}
+\cs_new_protected:Npn \siunitx_unit_parse_power_after:n #1 {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { power- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl {#1}
+}
+\cs_new_protected:Npn \siunitx_unit_parse_prefix:n #1 {
+ \int_incr:N \l_siunitx_unit_int
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { prefix- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl {#1}
+}
+\cs_new_protected:Npn \siunitx_unit_parse_prefix:nn #1#2 {
+ \siunitx_unit_parse_prefix:n {#2}
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { prefix-base- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl {#1}
+}
+\cs_new_protected_nopar:Npn \siunitx_unit_parse_per: {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { per- \intexpr_eval:n { \l_siunitx_unit_int + 1 } }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl { true }
+ \bool_if:NT \l_siunitx_sticky_per_bool
+ { \cs_set_eq:NN \per \siunitx_unit_parse_per_error: }
+}
+\cs_new_protected_nopar:Npn \siunitx_unit_parse_per_error: {
\msg_error:nn { siunitx } { duplicate-sticky-per }
}
-\cs_set_protected:Npn \_siunitx_unit_parse_qualifier:n #1 {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { symbol- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVF \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
+\cs_new_protected:Npn \siunitx_unit_parse_qualifier:n #1 {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { symbol- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVF \l_siunitx_unit_prop \l_siunitx_tmpa_tl
{ \msg_error:nn { siunitx } { qualifier-before-unit } }
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { qualifier- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl {#1}
-}
-\cs_set_protected:Npn \_siunitx_unit_parse_unit:Nn #1#2 {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { prefix- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVTF \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { symbol- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVT \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- { \int_incr:N \_l_siunitx_unit_int }
- }
- { \int_incr:N \_l_siunitx_unit_int }
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { unit- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl {#1}
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { symbol- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl {#2}
- \_siunitx_unit_parse_unit_per:
-}
-\cs_set_protected_nopar:Npn \_siunitx_unit_parse_unit_per: {
- \bool_if:NT \_l_siunitx_sticky_per_bool
- {
- \bool_if:NT \_l_siunitx_per_bool
- {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { per- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { qualifier- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl {#1}
+}
+\cs_new_protected:Npn \siunitx_unit_parse_unit:Nn #1#2 {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { prefix- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVTF \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { symbol- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVT \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ { \int_incr:N \l_siunitx_unit_int }
+ }
+ { \int_incr:N \l_siunitx_unit_int }
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { unit- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl {#1}
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { symbol- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl {#2}
+ \siunitx_unit_parse_unit_per:
+}
+\cs_new_protected_nopar:Npn \siunitx_unit_parse_unit_per: {
+ \bool_if:NT \l_siunitx_sticky_per_bool
+ {
+ \bool_if:NT \l_siunitx_per_bool
+ {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { per- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl
{ true }
}
}
}
-\tl_new:N \_l_siunitx_preunit_tl
-\tl_new:N \_l_siunitx_unit_tl
-\tl_new:N \_l_siunitx_unit_current_tl
-\tl_new:N \_l_siunitx_unit_denominator_tl
-\tl_new:N \_l_siunitx_unit_numerator_tl
-\tl_new:N \_l_siunitx_unit_saved_tl
-\int_new:N \_l_siunitx_unit_denominator_int
-\int_new:N \_l_siunitx_unit_numerator_int
-\int_new:N \_l_siunitx_unit_prefix_int
-\int_new:N \_l_siunitx_unit_prefix_base_int
-\tl_new:N \_l_siunitx_unit_prefix_current_tl
-\int_new:N \_l_siunitx_unit_prefix_gram_int
-\bool_new:N \_l_siunitx_per_auto_bool
-\bool_new:N \_l_siunitx_per_fraction_bool
-\tl_new:N \_l_siunitx_per_mode_tl
-\bool_new:N \_l_siunitx_two_parts_bool
-\tl_new:N \_l_siunitx_qualifier_mode_tl
+\tl_new:N \l_siunitx_preunit_tl
+\tl_new:N \l_siunitx_unit_tl
+\tl_new:N \l_siunitx_unit_current_tl
+\tl_new:N \l_siunitx_unit_denominator_tl
+\tl_new:N \l_siunitx_unit_numerator_tl
+\tl_new:N \l_siunitx_unit_saved_tl
+\int_new:N \l_siunitx_unit_denominator_int
+\int_new:N \l_siunitx_unit_numerator_int
+\int_new:N \l_siunitx_unit_prefix_int
+\int_new:N \l_siunitx_unit_prefix_base_int
+\tl_new:N \l_siunitx_unit_prefix_current_tl
+\int_new:N \l_siunitx_unit_prefix_gram_int
+\bool_new:N \l_siunitx_per_auto_bool
+\bool_new:N \l_siunitx_per_fraction_bool
+\tl_new:N \l_siunitx_per_mode_tl
+\bool_new:N \l_siunitx_two_parts_bool
+\tl_new:N \l_siunitx_qualifier_mode_tl
\keys_define:nn { siunitx } {
bracket-unit-denominator .bool_set:N
- = \_l_siunitx_unit_denominator_bracket_bool,
- inter-unit-separator .tl_set:N = \_l_siunitx_unit_separator_tl ,
+ = \l_siunitx_unit_denominator_bracket_bool,
+ inter-unit-separator .tl_set:N = \l_siunitx_unit_separator_tl ,
per-mode .choice:,
per-mode / fraction .code:n =
{
- \bool_set_false:N \_l_siunitx_per_auto_bool
- \bool_set_true:N \_l_siunitx_per_fraction_bool
- \bool_set_true:N \_l_siunitx_per_two_parts_bool
- \tl_set:Nn \_l_siunitx_per_mode_tl { fraction }
+ \bool_set_false:N \l_siunitx_per_auto_bool
+ \bool_set_true:N \l_siunitx_per_fraction_bool
+ \bool_set_true:N \l_siunitx_per_two_parts_bool
+ \tl_set:Nn \l_siunitx_per_mode_tl { fraction }
},
per-mode / power .meta:n = { per-mode = reciprocal } ,
per-mode / power-positive-first .meta:n =
{ per-mode = reciprocal-positive-first } ,
per-mode / reciprocal .code:n =
{
- \bool_set_false:N \_l_siunitx_per_auto_bool
- \bool_set_false:N \_l_siunitx_per_fraction_bool
- \bool_set_false:N \_l_siunitx_per_two_parts_bool
- \tl_clear:N \_l_siunitx_per_mode_tl
+ \bool_set_false:N \l_siunitx_per_auto_bool
+ \bool_set_false:N \l_siunitx_per_fraction_bool
+ \bool_set_false:N \l_siunitx_per_two_parts_bool
+ \tl_clear:N \l_siunitx_per_mode_tl
},
per-mode / reciprocal-positive-first .code:n =
{
- \bool_set_false:N \_l_siunitx_per_auto_bool
- \bool_set_false:N \_l_siunitx_per_fraction_bool
- \bool_set_true:N \_l_siunitx_per_two_parts_bool
- \tl_clear:N \_l_siunitx_per_mode_tl
+ \bool_set_false:N \l_siunitx_per_auto_bool
+ \bool_set_false:N \l_siunitx_per_fraction_bool
+ \bool_set_true:N \l_siunitx_per_two_parts_bool
+ \tl_clear:N \l_siunitx_per_mode_tl
},
per-mode / repeated-symbol .code:n =
{
- \bool_set_false:N \_l_siunitx_per_auto_bool
- \bool_set_false:N \_l_siunitx_per_fraction_bool
- \bool_set_false:N \_l_siunitx_per_two_parts_bool
- \tl_set:Nn \_l_siunitx_per_mode_tl { repeat }
+ \bool_set_false:N \l_siunitx_per_auto_bool
+ \bool_set_false:N \l_siunitx_per_fraction_bool
+ \bool_set_false:N \l_siunitx_per_two_parts_bool
+ \tl_set:Nn \l_siunitx_per_mode_tl { repeat }
},
per-mode / symbol .code:n =
{
- \bool_set_false:N \_l_siunitx_per_auto_bool
- \bool_set_true:N \_l_siunitx_per_fraction_bool
- \bool_set_true:N \_l_siunitx_per_two_parts_bool
- \tl_set:Nn \_l_siunitx_per_mode_tl { symbol }
+ \bool_set_false:N \l_siunitx_per_auto_bool
+ \bool_set_true:N \l_siunitx_per_fraction_bool
+ \bool_set_true:N \l_siunitx_per_two_parts_bool
+ \tl_set:Nn \l_siunitx_per_mode_tl { symbol }
},
per-mode / symbol-or-fraction .code:n =
{
- \bool_set_true:N \_l_siunitx_per_auto_bool
- \bool_set_true:N \_l_siunitx_per_fraction_bool
- \bool_set_true:N \_l_siunitx_per_two_parts_bool
+ \bool_set_true:N \l_siunitx_per_auto_bool
+ \bool_set_true:N \l_siunitx_per_fraction_bool
+ \bool_set_true:N \l_siunitx_per_two_parts_bool
},
- per-symbol .tl_set:N = \_l_siunitx_per_symbol_tl,
+ per-symbol .tl_set:N = \l_siunitx_per_symbol_tl,
qualifier-mode .choice:,
qualifier-mode / brackets .code:n =
- { \tl_set:Nn \_l_siunitx_qualifier_mode_tl { brackets } },
+ { \tl_set:Nn \l_siunitx_qualifier_mode_tl { brackets } },
qualifier-mode / space .code:n =
- { \tl_set:Nn \_l_siunitx_qualifier_mode_tl { space } },
+ { \tl_set:Nn \l_siunitx_qualifier_mode_tl { space } },
qualifier-mode / subscript .code:n =
- { \tl_set:Nn \_l_siunitx_qualifier_mode_tl { subscript } },
+ { \tl_set:Nn \l_siunitx_qualifier_mode_tl { subscript } },
}
\keys_set:nn { siunitx } {
bracket-unit-denominator = true,
@@ -3571,172 +3571,172 @@
per-symbol = /,
qualifier-mode = subscript
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format: {
- \_siunitx_unit_format_init:
- \intexpr_compare:nNnT { \_l_siunitx_unit_int } = { 1 }
+\cs_new_protected_nopar:Npn \siunitx_unit_format: {
+ \siunitx_unit_format_init:
+ \intexpr_compare:nNnT { \l_siunitx_unit_int } = { 1 }
{
- \tl_if_eq:VnT \_l_siunitx_per_mode_tl { symbol }
+ \tl_if_eq:VnT \l_siunitx_per_mode_tl { symbol }
{
- \prop_if_in:NnT \_l_siunitx_unit_prop { per-1 }
- { \tl_clear:N \_l_siunitx_number_unit_separator_tl }
+ \prop_if_in:NnT \l_siunitx_unit_prop { per-1 }
+ { \tl_clear:N \l_siunitx_number_unit_separator_tl }
}
}
- \intexpr_while_do:nNnn { \_l_siunitx_unit_int } > { 0 }
+ \intexpr_while_do:nNnn { \l_siunitx_unit_int } > { 0 }
{
- \_siunitx_unit_format_prefix:
- \_siunitx_unit_format_symbol:
- \_siunitx_unit_format_qualifier:
- \_siunitx_unit_format_power:
- \_siunitx_unit_format_add:
- \int_decr:N \_l_siunitx_unit_int
+ \siunitx_unit_format_prefix:
+ \siunitx_unit_format_symbol:
+ \siunitx_unit_format_qualifier:
+ \siunitx_unit_format_power:
+ \siunitx_unit_format_add:
+ \int_decr:N \l_siunitx_unit_int
}
- \bool_if:NT \_l_siunitx_per_two_parts_bool
+ \bool_if:NT \l_siunitx_per_two_parts_bool
{
- \bool_if:NTF \_l_siunitx_per_fraction_bool
- { \_siunitx_unit_format_fraction: }
- { \_siunitx_unit_format_sorted: }
+ \bool_if:NTF \l_siunitx_per_fraction_bool
+ { \siunitx_unit_format_fraction: }
+ { \siunitx_unit_format_sorted: }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_add: {
- \bool_if:NTF \_l_siunitx_per_two_parts_bool
+\cs_new_protected_nopar:Npn \siunitx_unit_format_add: {
+ \bool_if:NTF \l_siunitx_per_two_parts_bool
{
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { per- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVTF \_l_siunitx_unit_prop \_l_siunitx_tmpb_tl
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { per- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVTF \l_siunitx_unit_prop \l_siunitx_tmpb_tl
{
- \_siunitx_unit_format_add_aux:n { _denominator }
- \int_incr:N \_l_siunitx_unit_denominator_int
+ \siunitx_unit_format_add_aux:n { _denominator }
+ \int_incr:N \l_siunitx_unit_denominator_int
}
{
- \_siunitx_unit_format_add_aux:n { _numerator }
- \int_incr:N \_l_siunitx_unit_numerator_int
+ \siunitx_unit_format_add_aux:n { _numerator }
+ \int_incr:N \l_siunitx_unit_numerator_int
}
}
- { \_siunitx_unit_format_add_aux:n { } }
- \tl_clear:N \_l_siunitx_unit_current_tl
+ { \siunitx_unit_format_add_aux:n { } }
+ \tl_clear:N \l_siunitx_unit_current_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_add_aux:n #1 {
- \tl_if_empty:cF { _l_siunitx_unit #1 _tl }
+\cs_new_protected_nopar:Npn \siunitx_unit_format_add_aux:n #1 {
+ \tl_if_empty:cF { l_siunitx_unit #1 _tl }
{
- \tl_if_eq:nVTF { repeat } \_l_siunitx_per_mode_tl
+ \tl_if_eq:nVTF { repeat } \l_siunitx_per_mode_tl
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { per- \intexpr_eval:n { \_l_siunitx_unit_int + 1 } }
- \prop_if_in:NVF \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { per- \intexpr_eval:n { \l_siunitx_unit_int + 1 } }
+ \prop_if_in:NVF \l_siunitx_unit_prop \l_siunitx_tmpa_tl
{
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_current_tl
- \_l_siunitx_unit_separator_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_current_tl
+ \l_siunitx_unit_separator_tl
}
}
{
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_current_tl
- \_l_siunitx_unit_separator_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_current_tl
+ \l_siunitx_unit_separator_tl
}
}
- \tl_put_left:cV { _l_siunitx_unit #1 _tl } \_l_siunitx_unit_current_tl
+ \tl_put_left:cV { l_siunitx_unit #1 _tl } \l_siunitx_unit_current_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_fraction: {
- \intexpr_compare:nNnTF { \_l_siunitx_unit_denominator_int } > { 0 }
+\cs_new_protected_nopar:Npn \siunitx_unit_format_fraction: {
+ \intexpr_compare:nNnTF { \l_siunitx_unit_denominator_int } > { 0 }
{
\use:c
- { _siunitx_unit_format_fraction_ \_l_siunitx_per_mode_tl : }
- }
- { \tl_set_eq:NN \_l_siunitx_unit_tl \_l_siunitx_unit_numerator_tl }
-}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_fraction_fraction: {
- \tl_if_empty:NT \_l_siunitx_unit_numerator_tl
- { \tl_set:Nn \_l_siunitx_unit_numerator_tl { 1 } }
- \tl_set:Nx \_l_siunitx_unit_numerator_tl
- { { \exp_not:V \_l_siunitx_unit_numerator_tl } }
- \tl_put_left:Nn \_l_siunitx_unit_numerator_tl
- { \_siunitx_print:nn { unit } }
- \tl_set:Nx \_l_siunitx_unit_numerator_tl
- { { \exp_not:V \_l_siunitx_unit_numerator_tl } }
- \tl_set:Nx \_l_siunitx_unit_denominator_tl
- { { \exp_not:V \_l_siunitx_unit_denominator_tl } }
- \tl_put_left:Nn \_l_siunitx_unit_denominator_tl
- { \_siunitx_print:nn { unit } }
- \tl_set:Nx \_l_siunitx_unit_denominator_tl
- { { \exp_not:V \_l_siunitx_unit_denominator_tl } }
- \tl_set:Nn \_l_siunitx_unit_tl { \_siunitx_fraction:nn }
- \tl_put_right:NV \_l_siunitx_unit_tl \_l_siunitx_unit_numerator_tl
- \tl_put_right:NV \_l_siunitx_unit_tl \_l_siunitx_unit_denominator_tl
- \tl_set:Nx \_l_siunitx_unit_tl
- { \exp_not:N \ensuremath { \exp_not:V \_l_siunitx_unit_tl } }
-}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_fraction_symbol: {
- \_siunitx_unit_format_fraction_symbol_aux:
- \intexpr_compare:nNnT { \_l_siunitx_unit_denominator_int } > { 1 }
- {
- \bool_if:NT \_l_siunitx_unit_denominator_bracket_bool
- {
- \_siunitx_tl_put_left_math:NV \_l_siunitx_unit_denominator_tl
- \_l_siunitx_bracket_open_tl
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_denominator_tl
- \_l_siunitx_bracket_close_tl
+ { siunitx_unit_format_fraction_ \l_siunitx_per_mode_tl : }
+ }
+ { \tl_set_eq:NN \l_siunitx_unit_tl \l_siunitx_unit_numerator_tl }
+}
+\cs_new_protected_nopar:Npn \siunitx_unit_format_fraction_fraction: {
+ \tl_if_empty:NT \l_siunitx_unit_numerator_tl
+ { \tl_set:Nn \l_siunitx_unit_numerator_tl { 1 } }
+ \tl_set:Nx \l_siunitx_unit_numerator_tl
+ { { \exp_not:V \l_siunitx_unit_numerator_tl } }
+ \tl_put_left:Nn \l_siunitx_unit_numerator_tl
+ { \siunitx_print:nn { unit } }
+ \tl_set:Nx \l_siunitx_unit_numerator_tl
+ { { \exp_not:V \l_siunitx_unit_numerator_tl } }
+ \tl_set:Nx \l_siunitx_unit_denominator_tl
+ { { \exp_not:V \l_siunitx_unit_denominator_tl } }
+ \tl_put_left:Nn \l_siunitx_unit_denominator_tl
+ { \siunitx_print:nn { unit } }
+ \tl_set:Nx \l_siunitx_unit_denominator_tl
+ { { \exp_not:V \l_siunitx_unit_denominator_tl } }
+ \tl_set:Nn \l_siunitx_unit_tl { \siunitx_fraction:nn }
+ \tl_put_right:NV \l_siunitx_unit_tl \l_siunitx_unit_numerator_tl
+ \tl_put_right:NV \l_siunitx_unit_tl \l_siunitx_unit_denominator_tl
+ \tl_set:Nx \l_siunitx_unit_tl
+ { \exp_not:N \ensuremath { \exp_not:V \l_siunitx_unit_tl } }
+}
+\cs_new_protected_nopar:Npn \siunitx_unit_format_fraction_symbol: {
+ \siunitx_unit_format_fraction_symbol_aux:
+ \intexpr_compare:nNnT { \l_siunitx_unit_denominator_int } > { 1 }
+ {
+ \bool_if:NT \l_siunitx_unit_denominator_bracket_bool
+ {
+ \siunitx_tl_put_left_math:NV \l_siunitx_unit_denominator_tl
+ \l_siunitx_bracket_open_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_denominator_tl
+ \l_siunitx_bracket_close_tl
}
}
- \tl_set_eq:NN \_l_siunitx_unit_tl \_l_siunitx_unit_numerator_tl
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_tl
- \_l_siunitx_per_symbol_tl
- \tl_put_right:NV \_l_siunitx_unit_tl \_l_siunitx_unit_denominator_tl
-}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_fraction_symbol_aux: {
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_unit_format_fraction_symbol_aux_alt: {
- \tl_if_empty:NT \_l_siunitx_unit_numerator_tl
- { \tl_set:Nn \_l_siunitx_unit_numerator_tl { 1 } }
-}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_init: {
- \tl_clear:N \_l_siunitx_unit_tl
- \tl_clear:N \_l_siunitx_unit_current_tl
- \tl_clear:N \_l_siunitx_unit_denominator_tl
- \int_zero:N \_l_siunitx_unit_prefix_gram_int
- \tl_clear:N \_l_siunitx_unit_numerator_tl
- \int_zero:N \_l_siunitx_unit_prefix_base_int
- \int_zero:N \_l_siunitx_unit_prefix_int
- \int_zero:N \_l_siunitx_unit_denominator_int
- \int_zero:N \_l_siunitx_unit_numerator_int
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_print_literal_aux:N
+ \tl_set_eq:NN \l_siunitx_unit_tl \l_siunitx_unit_numerator_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_tl
+ \l_siunitx_per_symbol_tl
+ \tl_put_right:NV \l_siunitx_unit_tl \l_siunitx_unit_denominator_tl
+}
+\cs_new_protected_nopar:Npn \siunitx_unit_format_fraction_symbol_aux: {
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_unit_format_fraction_symbol_aux_alt: {
+ \tl_if_empty:NT \l_siunitx_unit_numerator_tl
+ { \tl_set:Nn \l_siunitx_unit_numerator_tl { 1 } }
+}
+\cs_new_protected_nopar:Npn \siunitx_unit_format_init: {
+ \tl_clear:N \l_siunitx_unit_tl
+ \tl_clear:N \l_siunitx_unit_current_tl
+ \tl_clear:N \l_siunitx_unit_denominator_tl
+ \int_zero:N \l_siunitx_unit_prefix_gram_int
+ \tl_clear:N \l_siunitx_unit_numerator_tl
+ \int_zero:N \l_siunitx_unit_prefix_base_int
+ \int_zero:N \l_siunitx_unit_prefix_int
+ \int_zero:N \l_siunitx_unit_denominator_int
+ \int_zero:N \l_siunitx_unit_numerator_int
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_print_literal_aux:N
}
\char_make_active:N \~
-\cs_set_protected:Npn \_siunitx_unit_format_literal:n #1 {
- \int_zero:N \_l_siunitx_unit_prefix_int
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_print_literal_aux:N
- \tl_set:Nn \_l_siunitx_unit_tl {#1}
- \tl_set:Nx \_l_siunitx_tmpa_tl
+\cs_new_protected:Npn \siunitx_unit_format_literal:n #1 {
+ \int_zero:N \l_siunitx_unit_prefix_int
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_print_literal_aux:N
+ \tl_set:Nn \l_siunitx_unit_tl {#1}
+ \tl_set:Nx \l_siunitx_tmpa_tl
{
- \exp_not:N \_siunitx_ensuremath:n
- { \exp_not:V \_l_siunitx_unit_separator_tl }
+ \exp_not:N \siunitx_ensuremath:n
+ { \exp_not:V \l_siunitx_unit_separator_tl }
}
- \tl_replace_all_in:NnV \_l_siunitx_unit_tl { . }
- \_l_siunitx_tmpa_tl
- \tl_replace_all_in:NnV \_l_siunitx_unit_tl { ~ }
- \_l_siunitx_tmpa_tl
- \_siunitx_unit_format_literal_extras:
+ \tl_replace_all_in:NnV \l_siunitx_unit_tl { . }
+ \l_siunitx_tmpa_tl
+ \tl_replace_all_in:NnV \l_siunitx_unit_tl { ~ }
+ \l_siunitx_tmpa_tl
+ \siunitx_unit_format_literal_extras:
}
-\cs_set_protected:Npn \_siunitx_unit_print_literal_aux:N #1 {
- \cs_set_eq:Nc #1 { _siunitx_ \token_to_str:N #1 _literal:w }
+\cs_new_protected:Npn \siunitx_unit_print_literal_aux:N #1 {
+ \cs_set_eq:Nc #1 { siunitx_ \token_to_str:N #1 _literal:w }
}
\char_make_space:N \~
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_literal_extras: {
- \_siunitx_unit_format_literal_extras_aux:nN { 176 }
+\cs_new_protected_nopar:Npn \siunitx_unit_format_literal_extras: {
+ \siunitx_unit_format_literal_extras_aux:nN { 176 }
\SIUnitSymbolDegree
- \_siunitx_unit_format_literal_extras_aux:nN { 181 }
+ \siunitx_unit_format_literal_extras_aux:nN { 181 }
\SIUnitSymbolMicro
- \_siunitx_unit_format_literal_extras_aux:nN { 197 }
+ \siunitx_unit_format_literal_extras_aux:nN { 197 }
\SIUnitSymbolAngstrom
}
-\cs_set_protected_nopar:Npn
- \_siunitx_unit_format_literal_extras_aux:nN #1#2 {
+\cs_new_protected_nopar:Npn
+ \siunitx_unit_format_literal_extras_aux:nN #1#2 {
\char_set_lccode:nn { `\@ } {#1}
\tl_to_lowercase:n
{
- \tl_replace_all_in:NnV \_l_siunitx_unit_tl { @ }
- \_l_siunitx_unit_tl
+ \tl_replace_all_in:NnV \l_siunitx_unit_tl { @ }
+ \l_siunitx_unit_tl
}
}
\xetex_if_engine:F {
@@ -3744,201 +3744,201 @@
{
\@ifpackageloaded { inputenc }
{
- \tl_set:Nn \_l_siunitx_tmpa_tl { latin1 , latin5 , latin9 }
- \clist_if_in:NVF \_l_siunitx_tmpa_tl \inputencodingname
+ \tl_set:Nn \l_siunitx_tmpa_tl { latin1 , latin5 , latin9 }
+ \clist_if_in:NVF \l_siunitx_tmpa_tl \inputencodingname
{
- \cs_set_eq:NN \_siunitx_unit_format_literal_extras:
+ \cs_set_eq:NN \siunitx_unit_format_literal_extras:
\scan_stop:
}
}
{
- \cs_set_eq:NN \_siunitx_unit_format_literal_extras:
+ \cs_set_eq:NN \siunitx_unit_format_literal_extras:
\scan_stop:
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_power: {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { power- \int_use:N \_l_siunitx_unit_int }
- \prop_get:NVN \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NTF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_power: {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { power- \int_use:N \l_siunitx_unit_int }
+ \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NTF \l_siunitx_tmpa_tl
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { per- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVT \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { per- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVT \l_siunitx_unit_prop \l_siunitx_tmpa_tl
{
- \tl_set:Nn \_l_siunitx_tmpa_tl { 1 }
- \_siunitx_unit_format_power_aux:
+ \tl_set:Nn \l_siunitx_tmpa_tl { 1 }
+ \siunitx_unit_format_power_aux:
}
}
- { \_siunitx_unit_format_power_aux: }
+ { \siunitx_unit_format_power_aux: }
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_power_aux: {
- \tl_if_eq:nVTF { repeat } \_l_siunitx_per_mode_tl
- { \_siunitx_unit_format_power_repeat: }
- { \_siunitx_unit_format_power_per: }
- \tl_if_eq:nVF { 1 } \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_power_aux: {
+ \tl_if_eq:nVTF { repeat } \l_siunitx_per_mode_tl
+ { \siunitx_unit_format_power_repeat: }
+ { \siunitx_unit_format_power_per: }
+ \tl_if_eq:nVF { 1 } \l_siunitx_tmpa_tl
{
- \_siunitx_unit_format_power_brackets:
- \tl_put_right:Nx \_l_siunitx_unit_current_tl
+ \siunitx_unit_format_power_brackets:
+ \tl_put_right:Nx \l_siunitx_unit_current_tl
{
^
{
- \_siunitx_unit_format_power_aux:n
- { \exp_not:V \_l_siunitx_tmpa_tl }
+ \siunitx_unit_format_power_aux:n
+ { \exp_not:V \l_siunitx_tmpa_tl }
}
}
}
}
-\cs_set_protected:Npn \_siunitx_unit_format_power_aux:n #1 {
- \bool_if:NTF \_l_siunitx_number_math_mode_bool
- { \_siunitx_print:nn { number } {#1} }
+\cs_new_protected:Npn \siunitx_unit_format_power_aux:n #1 {
+ \bool_if:NTF \l_siunitx_number_math_mode_bool
+ { \siunitx_print:nn { number } {#1} }
{
- \tl_set:Nn \_l_siunitx_tmpa_tl {#1}
- \tl_replace_all_in:Nnn \_l_siunitx_tmpa_tl { - }
- { \text { \_c_siunitx_minus_tl } }
- \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl
+ \tl_set:Nn \l_siunitx_tmpa_tl {#1}
+ \tl_replace_all_in:Nnn \l_siunitx_tmpa_tl { - }
+ { \text { \c_siunitx_minus_tl } }
+ \siunitx_print:nV { number } \l_siunitx_tmpa_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_power_brackets: {
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { bracket- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVT \_l_siunitx_unit_prop \_l_siunitx_tmpb_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_power_brackets: {
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { bracket- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVT \l_siunitx_unit_prop \l_siunitx_tmpb_tl
{
- \_siunitx_tl_put_left_math:NV \_l_siunitx_unit_current_tl
- \_l_siunitx_bracket_open_tl
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_current_tl
- \_l_siunitx_bracket_close_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_unit_current_tl
+ \l_siunitx_bracket_open_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_current_tl
+ \l_siunitx_bracket_close_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_power_per: {
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { per- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVT \_l_siunitx_unit_prop \_l_siunitx_tmpb_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_power_per: {
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { per- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVT \l_siunitx_unit_prop \l_siunitx_tmpb_tl
{
- \bool_if:NF \_l_siunitx_per_fraction_bool
+ \bool_if:NF \l_siunitx_per_fraction_bool
{
- \tl_if_in:NnTF \_l_siunitx_tmpa_tl { - }
+ \tl_if_in:NnTF \l_siunitx_tmpa_tl { - }
{
- \cs_set:Npn \_siunitx_tmp:w ##1 - ##2 \q_stop
- { \tl_set:Nn \_l_siunitx_tmpa_tl {##2} }
- \exp_afer:wN \_siunitx_tmp:w \_l_siunitx_tmpa_tl \q_stop
+ \cs_set:Npn \siunitx_tmp:w ##1 - ##2 \q_stop
+ { \tl_set:Nn \l_siunitx_tmpa_tl {##2} }
+ \exp_afer:wN \siunitx_tmp:w \l_siunitx_tmpa_tl \q_stop
}
- { \tl_put_left:Nn \_l_siunitx_tmpa_tl { - } }
+ { \tl_put_left:Nn \l_siunitx_tmpa_tl { - } }
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_power_repeat: {
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { per- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVT \_l_siunitx_unit_prop \_l_siunitx_tmpb_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_power_repeat: {
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { per- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVT \l_siunitx_unit_prop \l_siunitx_tmpb_tl
{
- \_siunitx_tl_put_left_math:NV \_l_siunitx_unit_current_tl
- \_l_siunitx_per_symbol_tl
+ \siunitx_tl_put_left_math:NV \l_siunitx_unit_current_tl
+ \l_siunitx_per_symbol_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_prefix: {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { prefix- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVT \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_prefix: {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { prefix- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVT \l_siunitx_unit_prop \l_siunitx_tmpa_tl
{
- \prop_get:NVN \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- \_l_siunitx_unit_prefix_current_tl
- \bool_if:NTF \_l_siunitx_prefix_symbols_bool
- { \_siunitx_unit_format_prefix_symbol: }
- { \_siunitx_unit_format_prefix_number: }
+ \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ \l_siunitx_unit_prefix_current_tl
+ \bool_if:NTF \l_siunitx_prefix_symbols_bool
+ { \siunitx_unit_format_prefix_symbol: }
+ { \siunitx_unit_format_prefix_number: }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_prefix_number: {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { prefix-base- \int_use:N \_l_siunitx_unit_int }
- \prop_get:NVN \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- \_l_siunitx_tmpa_tl
- \intexpr_compare:nNnT { \_l_siunitx_unit_prefix_base_int } = { 0 }
+\cs_new_protected_nopar:Npn \siunitx_unit_format_prefix_number: {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { prefix-base- \int_use:N \l_siunitx_unit_int }
+ \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ \l_siunitx_tmpa_tl
+ \intexpr_compare:nNnT { \l_siunitx_unit_prefix_base_int } = { 0 }
{
- \int_set:Nn \_l_siunitx_unit_prefix_base_int
- { \_l_siunitx_tmpa_tl }
+ \int_set:Nn \l_siunitx_unit_prefix_base_int
+ { \l_siunitx_tmpa_tl }
}
\intexpr_compare:nNnTF
- { \_l_siunitx_unit_prefix_base_int } = { \_l_siunitx_tmpa_tl }
- { \_siunitx_unit_format_prefix_number_calc: }
+ { \l_siunitx_unit_prefix_base_int } = { \l_siunitx_tmpa_tl }
+ { \siunitx_unit_format_prefix_number_calc: }
{ \msg_error:nn { siunitx } { prefix-base-mismatch } }
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_prefix_number_calc: {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { power- \int_use:N \_l_siunitx_unit_int }
- \prop_get:NVN \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
- { \tl_set:Nn \_l_siunitx_tmpa_tl { 1 } }
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { unit- \int_use:N \_l_siunitx_unit_int }
- \prop_get:NVN \_l_siunitx_unit_prop \_l_siunitx_tmpb_tl
- \_l_siunitx_tmpb_tl
- \tl_if_eq:nVT { \gram } \_l_siunitx_tmpb_tl
- {
- \tl_set:Nx \_l_siunitx_unit_prefix_current_tl
- { \intexpr_eval:n { \_l_siunitx_unit_prefix_current_tl - 3 } }
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { symbol- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpb_tl { kg }
- }
- \tl_set:Nx \_l_siunitx_unit_prefix_current_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_prefix_number_calc: {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { power- \int_use:N \l_siunitx_unit_int }
+ \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
+ { \tl_set:Nn \l_siunitx_tmpa_tl { 1 } }
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { unit- \int_use:N \l_siunitx_unit_int }
+ \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpb_tl
+ \l_siunitx_tmpb_tl
+ \tl_if_eq:nVT { \gram } \l_siunitx_tmpb_tl
+ {
+ \tl_set:Nx \l_siunitx_unit_prefix_current_tl
+ { \intexpr_eval:n { \l_siunitx_unit_prefix_current_tl - 3 } }
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { symbol- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpb_tl { kg }
+ }
+ \tl_set:Nx \l_siunitx_unit_prefix_current_tl
{
\intexpr_eval:n
- { \_l_siunitx_unit_prefix_current_tl * \_l_siunitx_tmpa_tl }
+ { \l_siunitx_unit_prefix_current_tl * \l_siunitx_tmpa_tl }
}
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { per- \int_use:N \_l_siunitx_unit_int }
- \prop_if_in:NVTF \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { per- \int_use:N \l_siunitx_unit_int }
+ \prop_if_in:NVTF \l_siunitx_unit_prop \l_siunitx_tmpa_tl
{
- \int_set:Nn \_l_siunitx_unit_prefix_int
+ \int_set:Nn \l_siunitx_unit_prefix_int
{
- \_l_siunitx_unit_prefix_int
- - \_l_siunitx_unit_prefix_current_tl
+ \l_siunitx_unit_prefix_int
+ - \l_siunitx_unit_prefix_current_tl
}
}
{
- \int_set:Nn \_l_siunitx_unit_prefix_int
+ \int_set:Nn \l_siunitx_unit_prefix_int
{
- \_l_siunitx_unit_prefix_int
- + \_l_siunitx_unit_prefix_current_tl
+ \l_siunitx_unit_prefix_int
+ + \l_siunitx_unit_prefix_current_tl
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_prefix_symbol: {
- \tl_set_eq:NN \_l_siunitx_unit_current_tl
- \_l_siunitx_unit_prefix_current_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_prefix_symbol: {
+ \tl_set_eq:NN \l_siunitx_unit_current_tl
+ \l_siunitx_unit_prefix_current_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_qualifier: {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { qualifier- \int_use:N \_l_siunitx_unit_int }
- \prop_get:NVN \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NF \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_qualifier: {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { qualifier- \int_use:N \l_siunitx_unit_int }
+ \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NF \l_siunitx_tmpa_tl
{
\use:c
{
_siunitx_unit_format_qualifier_
- \_l_siunitx_qualifier_mode_tl :
+ \l_siunitx_qualifier_mode_tl :
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_qualifier_brackets: {
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_current_tl
- \_l_siunitx_bracket_open_tl
- \tl_put_right:NV \_l_siunitx_unit_current_tl \_l_siunitx_tmpa_tl
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_current_tl
- \_l_siunitx_bracket_close_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_qualifier_brackets: {
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_current_tl
+ \l_siunitx_bracket_open_tl
+ \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_tmpa_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_current_tl
+ \l_siunitx_bracket_close_tl
}
\char_make_active:N \~
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_qualifier_space: {
- \tl_put_right:Nn \_l_siunitx_unit_current_tl { \text { ~ } }
- \tl_put_right:NV \_l_siunitx_unit_current_tl \_l_siunitx_tmpa_tl
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { bracket- \int_use:N \_l_siunitx_unit_int }
- \prop_put:NVn \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl { true }
+\cs_new_protected_nopar:Npn \siunitx_unit_format_qualifier_space: {
+ \tl_put_right:Nn \l_siunitx_unit_current_tl { \text { ~ } }
+ \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { bracket- \int_use:N \l_siunitx_unit_int }
+ \prop_put:NVn \l_siunitx_unit_prop \l_siunitx_tmpa_tl { true }
}
\char_make_space:N \~
\group_begin:
@@ -3946,111 +3946,111 @@
\char_make_math_subscript:N \@
\tl_to_lowercase:n {
\group_end:
- \cs_set_protected_nopar:Npn \_siunitx_unit_format_qualifier_subscript:
+ \cs_set_protected_nopar:Npn \siunitx_unit_format_qualifier_subscript:
{
- \tl_put_right:No \_l_siunitx_unit_current_tl
- { \exp_after:wN @ \exp_after:wN { \_l_siunitx_tmpa_tl } }
+ \tl_put_right:No \l_siunitx_unit_current_tl
+ { \exp_after:wN @ \exp_after:wN { \l_siunitx_tmpa_tl } }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_sorted: {
- \tl_set_eq:NN \_l_siunitx_unit_tl \_l_siunitx_unit_numerator_tl
- \tl_if_empty:NF \_l_siunitx_unit_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_format_sorted: {
+ \tl_set_eq:NN \l_siunitx_unit_tl \l_siunitx_unit_numerator_tl
+ \tl_if_empty:NF \l_siunitx_unit_tl
{
- \tl_if_empty:NF \_l_siunitx_unit_denominator_tl
+ \tl_if_empty:NF \l_siunitx_unit_denominator_tl
{
- \_siunitx_tl_put_right_math:NV \_l_siunitx_unit_tl
- \_l_siunitx_unit_separator_tl
+ \siunitx_tl_put_right_math:NV \l_siunitx_unit_tl
+ \l_siunitx_unit_separator_tl
}
}
- \tl_put_right:NV \_l_siunitx_unit_tl \_l_siunitx_unit_denominator_tl
+ \tl_put_right:NV \l_siunitx_unit_tl \l_siunitx_unit_denominator_tl
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_symbol: {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { symbol- \int_use:N \_l_siunitx_unit_int }
- \prop_get:NVN \_l_siunitx_unit_prop \_l_siunitx_tmpa_tl
- \_l_siunitx_tmpa_tl
- \quark_if_no_value:NTF \_l_siunitx_tmpa_tl
- { \_siunitx_unit_format_symbol_aux: }
+\cs_new_protected_nopar:Npn \siunitx_unit_format_symbol: {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { symbol- \int_use:N \l_siunitx_unit_int }
+ \prop_get:NVN \l_siunitx_unit_prop \l_siunitx_tmpa_tl
+ \l_siunitx_tmpa_tl
+ \quark_if_no_value:NTF \l_siunitx_tmpa_tl
+ { \siunitx_unit_format_symbol_aux: }
{
- \tl_put_right:NV \_l_siunitx_unit_current_tl \_l_siunitx_tmpa_tl
+ \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_tmpa_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_symbol_aux: {
+\cs_new_protected_nopar:Npn \siunitx_unit_format_symbol_aux: {
\msg_error:nn { siunitx } { prefix-only }
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_format_symbol_aux_alt: {
- \intexpr_compare:nNnTF { \_l_siunitx_unit_int } = { 1 }
+\cs_new_protected_nopar:Npn \siunitx_unit_format_symbol_aux_alt: {
+ \intexpr_compare:nNnTF { \l_siunitx_unit_int } = { 1 }
{
- \prop_del:Nn \_l_siunitx_unit_prop { prefix-1 }
- \prop_if_empty:NF \_l_siunitx_unit_prop
+ \prop_del:Nn \l_siunitx_unit_prop { prefix-1 }
+ \prop_if_empty:NF \l_siunitx_unit_prop
{ \msg_error:nn { siunitx } { prefix-only } }
}
{ \msg_error:nn { siunitx } { prefix-only } }
}
-\bool_new:N \_l_siunitx_multi_brackets_bool
-\bool_new:N \_l_siunitx_multi_repeat_bool
-\bool_new:N \_l_siunitx_product_brackets_bool
-\bool_new:N \_l_siunitx_product_power_bool
-\bool_new:N \_l_siunitx_number_unit_repeat_bool
+\bool_new:N \l_siunitx_multi_brackets_bool
+\bool_new:N \l_siunitx_multi_repeat_bool
+\bool_new:N \l_siunitx_product_brackets_bool
+\bool_new:N \l_siunitx_product_power_bool
+\bool_new:N \l_siunitx_number_unit_repeat_bool
\keys_define:nn { siunitx } {
allow-number-unit-breaks .bool_set:N =
- \_l_siunitx_number_unit_breaks_bool,
+ \l_siunitx_number_unit_breaks_bool,
multi-part-units .choice:,
multi-part-units
/ brackets .code:n =
{
- \bool_set_true:N \_l_siunitx_multi_brackets_bool
- \bool_set_false:N \_l_siunitx_multi_repeat_bool
+ \bool_set_true:N \l_siunitx_multi_brackets_bool
+ \bool_set_false:N \l_siunitx_multi_repeat_bool
},
multi-part-units
/ repeat .code:n =
{
- \bool_set_false:N \_l_siunitx_multi_brackets_bool
- \bool_set_true:N \_l_siunitx_multi_repeat_bool
+ \bool_set_false:N \l_siunitx_multi_brackets_bool
+ \bool_set_true:N \l_siunitx_multi_repeat_bool
},
multi-part-units
/ single .code:n =
{
- \bool_set_false:N \_l_siunitx_multi_brackets_bool
- \bool_set_false:N \_l_siunitx_multi_repeat_bool
+ \bool_set_false:N \l_siunitx_multi_brackets_bool
+ \bool_set_false:N \l_siunitx_multi_repeat_bool
},
number-unit-separator .tl_set:N =
- \_l_siunitx_number_unit_separator_tl,
+ \l_siunitx_number_unit_separator_tl,
product-units .choice:,
product-units
/ brackets .code:n =
{
- \bool_set_true:N \_l_siunitx_product_brackets_bool
- \bool_set_false:N \_l_siunitx_product_power_bool
- \bool_set_false:N \_l_siunitx_product_repeat_bool
+ \bool_set_true:N \l_siunitx_product_brackets_bool
+ \bool_set_false:N \l_siunitx_product_power_bool
+ \bool_set_false:N \l_siunitx_product_repeat_bool
},
product-units
/ brackets-power .code:n =
{
- \bool_set_true:N \_l_siunitx_product_brackets_bool
- \bool_set_true:N \_l_siunitx_product_power_bool
- \bool_set_false:N \_l_siunitx_product_repeat_bool
+ \bool_set_true:N \l_siunitx_product_brackets_bool
+ \bool_set_true:N \l_siunitx_product_power_bool
+ \bool_set_false:N \l_siunitx_product_repeat_bool
},
product-units
/ power .code:n =
{
- \bool_set_false:N \_l_siunitx_product_brackets_bool
- \bool_set_true:N \_l_siunitx_product_power_bool
- \bool_set_false:N \_l_siunitx_product_repeat_bool
+ \bool_set_false:N \l_siunitx_product_brackets_bool
+ \bool_set_true:N \l_siunitx_product_power_bool
+ \bool_set_false:N \l_siunitx_product_repeat_bool
},
product-units
/ repeat .code:n =
{
- \bool_set_false:N \_l_siunitx_product_brackets_bool
- \bool_set_false:N \_l_siunitx_product_power_bool
- \bool_set_true:N \_l_siunitx_product_repeat_bool
+ \bool_set_false:N \l_siunitx_product_brackets_bool
+ \bool_set_false:N \l_siunitx_product_power_bool
+ \bool_set_true:N \l_siunitx_product_repeat_bool
},
product-units
/ single .code:n =
{
- \bool_set_false:N \_l_siunitx_product_brackets_bool
- \bool_set_false:N \_l_siunitx_product_power_bool
- \bool_set_false:N \_l_siunitx_product_repeat_bool
+ \bool_set_false:N \l_siunitx_product_brackets_bool
+ \bool_set_false:N \l_siunitx_product_power_bool
+ \bool_set_false:N \l_siunitx_product_repeat_bool
},
}
\keys_set:nn { siunitx } {
@@ -4058,139 +4058,139 @@
number-unit-separator = \,,
product-units = repeat,
}
-\cs_set_protected:Npn \_siunitx_unit_output:nn #1#2 {
- \cs_set_eq:NN \_siunitx_unit_format_symbol_aux:
- \_siunitx_unit_format_symbol_aux_alt:
- \cs_set_eq:NN \_siunitx_unit_format_fraction_symbol_aux:
- \_siunitx_unit_format_fraction_symbol_aux_alt:
- \_siunitx_unit_in:nn {#1} {#2}
- \intexpr_compare:nNnF { \_l_siunitx_unit_prefix_int } = { 0 }
+\cs_new_protected:Npn \siunitx_unit_output:nn #1#2 {
+ \cs_set_eq:NN \siunitx_unit_format_symbol_aux:
+ \siunitx_unit_format_symbol_aux_alt:
+ \cs_set_eq:NN \siunitx_unit_format_fraction_symbol_aux:
+ \siunitx_unit_format_fraction_symbol_aux_alt:
+ \siunitx_unit_in:nn {#1} {#2}
+ \intexpr_compare:nNnF { \l_siunitx_unit_prefix_int } = { 0 }
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
{
- \int_use:N \_l_siunitx_unit_prefix_base_int
- ^ { \int_use:N \_l_siunitx_unit_prefix_int }
+ \int_use:N \l_siunitx_unit_prefix_base_int
+ ^ { \int_use:N \l_siunitx_unit_prefix_int }
}
- \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl
- \_siunitx_unit_output_number_sep:
+ \siunitx_print:nV { number } \l_siunitx_tmpa_tl
+ \siunitx_unit_output_number_sep:
}
- \_siunitx_print:nV { unit } \_l_siunitx_unit_tl
+ \siunitx_print:nV { unit } \l_siunitx_unit_tl
}
-\cs_generate_variant:Nn \_siunitx_unit_output:nn { V }
-\cs_set_protected_nopar:Npn \_siunitx_unit_output_number_sep: {
- \bool_if:NTF \_l_siunitx_number_unit_breaks_bool
+\cs_generate_variant:Nn \siunitx_unit_output:nn { V }
+\cs_new_protected_nopar:Npn \siunitx_unit_output_number_sep: {
+ \bool_if:NTF \l_siunitx_number_unit_breaks_bool
{ \allowbreak } { \nobreak }
- \_siunitx_ensuremath:n { \_l_siunitx_number_unit_separator_tl }
+ \siunitx_ensuremath:n { \l_siunitx_number_unit_separator_tl }
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_output_pre_print: {
- \tl_if_empty:NF \_l_siunitx_pre_unit_tl
+\cs_new_protected_nopar:Npn \siunitx_unit_output_pre_print: {
+ \tl_if_empty:NF \l_siunitx_pre_unit_tl
{
\nobreak
- \_siunitx_print:nV { unit } \_l_siunitx_pre_unit_tl
+ \siunitx_print:nV { unit } \l_siunitx_pre_unit_tl
}
}
-\cs_set_protected_nopar:Npn \_siunitx_unit_output_print: {
- \intexpr_compare:nNnF { \_l_siunitx_unit_prefix_int } = { 0 }
+\cs_new_protected_nopar:Npn \siunitx_unit_output_print: {
+ \intexpr_compare:nNnF { \l_siunitx_unit_prefix_int } = { 0 }
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
{
- \bool_if:NTF \_l_siunitx_tight_bool
- { { \exp_not:V \_l_siunitx_exponent_product_tl } }
- { { } \exp_not:V \_l_siunitx_exponent_product_tl { } }
- \int_use:N \_l_siunitx_unit_prefix_base_int
- ^ { \int_use:N \_l_siunitx_unit_prefix_int }
+ \bool_if:NTF \l_siunitx_tight_bool
+ { { \exp_not:V \l_siunitx_exponent_product_tl } }
+ { { } \exp_not:V \l_siunitx_exponent_product_tl { } }
+ \int_use:N \l_siunitx_unit_prefix_base_int
+ ^ { \int_use:N \l_siunitx_unit_prefix_int }
}
- \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl
+ \siunitx_print:nV { number } \l_siunitx_tmpa_tl
}
- \tl_if_empty:NF \_l_siunitx_unit_tl
+ \tl_if_empty:NF \l_siunitx_unit_tl
{
- \_siunitx_unit_output_number_sep:
- \_siunitx_print:nV { unit } \_l_siunitx_unit_tl
+ \siunitx_unit_output_number_sep:
+ \siunitx_print:nV { unit } \l_siunitx_unit_tl
}
}
-\tl_new:N \_l_siunitx_pre_unit_tl
-\int_new:N \_l_siunitx_number_product_int
-\cs_set_protected:Npn \_siunitx_combined:nnnn #1#2#3#4 {
+\tl_new:N \l_siunitx_pre_unit_tl
+\int_new:N \l_siunitx_number_product_int
+\cs_new_protected:Npn \siunitx_combined:nnnn #1#2#3#4 {
\IfNoValueTF {#3}
- { \tl_clear:N \_l_siunitx_pre_unit_tl }
+ { \tl_clear:N \l_siunitx_pre_unit_tl }
{
- \_siunitx_unit_in:nn {#3} {#1}
- \cs_set_eq:NN \_l_siunitx_pre_unit_tl \_l_siunitx_unit_tl
+ \siunitx_unit_in:nn {#3} {#1}
+ \cs_set_eq:NN \l_siunitx_pre_unit_tl \l_siunitx_unit_tl
}
- \cs_set_eq:NN \_l_siunitx_brackets_bool
- \_l_siunitx_multi_brackets_bool
- \_siunitx_combined_unit:nnn {#2} {#4} {#1}
- \_siunitx_combined_output:n {#2}
+ \cs_set_eq:NN \l_siunitx_brackets_bool
+ \l_siunitx_multi_brackets_bool
+ \siunitx_combined_unit:nnn {#2} {#4} {#1}
+ \siunitx_combined_output:n {#2}
}
-\cs_set_protected:Npn \_siunitx_combined_output:n #1 {
- \bool_if:NTF \_l_siunitx_number_parse_bool
+\cs_new_protected:Npn \siunitx_combined_output:n #1 {
+ \bool_if:NTF \l_siunitx_number_parse_bool
{
- \tl_clear:N \_l_siunitx_number_out_tl
- \bool_set_false:N \_l_siunitx_number_compound_bool
- \_siunitx_number_output_parse:n {#1}
+ \tl_clear:N \l_siunitx_number_out_tl
+ \bool_set_false:N \l_siunitx_number_compound_bool
+ \siunitx_number_output_parse:n {#1}
}
{
- \_siunitx_unit_output_pre_print:
- \_siunitx_print:nn { number } { \_siunitx_ensuremath:n {#1} }
- \_siunitx_unit_output_print:
+ \siunitx_unit_output_pre_print:
+ \siunitx_print:nn { number } { \siunitx_ensuremath:n {#1} }
+ \siunitx_unit_output_print:
}
}
-\cs_set_protected:Npn \_siunitx_combined_unit:nnn #1#2#3 {
- \bool_if:NTF \_l_siunitx_product_power_bool
+\cs_new_protected:Npn \siunitx_combined_unit:nnn #1#2#3 {
+ \bool_if:NTF \l_siunitx_product_power_bool
{
- \_siunitx_combined_product_count:n {#1}
- \intexpr_compare:nNnTF { \_l_siunitx_number_product_int } > { 0 }
+ \siunitx_combined_product_count:n {#1}
+ \intexpr_compare:nNnTF { \l_siunitx_number_product_int } > { 0 }
{
- \int_incr:N \_l_siunitx_number_product_int
- \tl_set:Nn \_l_siunitx_tmpa_tl {#2}
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { \tothe { \exp_not:V \_l_siunitx_number_product_int } }
- \tl_put_right:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
- \_siunitx_unit_in:Vn \_l_siunitx_tmpa_tl {#3}
+ \int_incr:N \l_siunitx_number_product_int
+ \tl_set:Nn \l_siunitx_tmpa_tl {#2}
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { \tothe { \exp_not:V \l_siunitx_number_product_int } }
+ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+ \siunitx_unit_in:Vn \l_siunitx_tmpa_tl {#3}
}
- { \_siunitx_unit_in:nn {#2} {#3} }
+ { \siunitx_unit_in:nn {#2} {#3} }
}
- { \_siunitx_unit_in:nn {#2} {#3} }
+ { \siunitx_unit_in:nn {#2} {#3} }
}
-\cs_set_protected:Npn \_siunitx_combined_product_count:n #1 {
- \int_zero:N \_l_siunitx_number_product_int
- \tl_set:Nn \_l_siunitx_tmpa_tl {#1}
- \tl_map_function:NN \_l_siunitx_input_product_tl
- \_siunitx_combined_product_count_aux:N
+\cs_new_protected:Npn \siunitx_combined_product_count:n #1 {
+ \int_zero:N \l_siunitx_number_product_int
+ \tl_set:Nn \l_siunitx_tmpa_tl {#1}
+ \tl_map_function:NN \l_siunitx_input_product_tl
+ \siunitx_combined_product_count_aux:N
}
-\cs_set_protected:Npn \_siunitx_combined_product_count_aux:N #1 {
- \tl_if_in:NnT \_l_siunitx_tmpa_tl {#1}
+\cs_new_protected:Npn \siunitx_combined_product_count_aux:N #1 {
+ \tl_if_in:NnT \l_siunitx_tmpa_tl {#1}
{
- \int_incr:N \_l_siunitx_number_product_int
- \tl_remove_in:Nn \_l_siunitx_tmpa_tl {#1}
- \_siunitx_combined_product_count_aux:N #1
+ \int_incr:N \l_siunitx_number_product_int
+ \tl_remove_in:Nn \l_siunitx_tmpa_tl {#1}
+ \siunitx_combined_product_count_aux:N #1
}
}
-\bool_new:N \_l_siunitx_list_brackets_bool
-\bool_new:N \_l_siunitx_list_repeat_bool
-\tl_new:N \_l_siunitx_list_current_tl
-\tl_new:N \_l_siunitx_list_tl
+\bool_new:N \l_siunitx_list_brackets_bool
+\bool_new:N \l_siunitx_list_repeat_bool
+\tl_new:N \l_siunitx_list_current_tl
+\tl_new:N \l_siunitx_list_tl
\keys_define:nn { siunitx } {
- list-final-separator .tl_set:N = \_l_siunitx_list_separator_final_tl,
- list-separator .tl_set:N = \_l_siunitx_list_separator_tl,
+ list-final-separator .tl_set:N = \l_siunitx_list_separator_final_tl,
+ list-separator .tl_set:N = \l_siunitx_list_separator_tl,
list-units .choice:,
list-units
/ brackets .code:n =
{
- \bool_set_true:N \_l_siunitx_list_brackets_bool
- \bool_set_false:N \_l_siunitx_list_repeat_bool
+ \bool_set_true:N \l_siunitx_list_brackets_bool
+ \bool_set_false:N \l_siunitx_list_repeat_bool
},
list-units
/ repeat .code:n =
{
- \bool_set_false:N \_l_siunitx_list_brackets_bool
- \bool_set_true:N \_l_siunitx_list_repeat_bool
+ \bool_set_false:N \l_siunitx_list_brackets_bool
+ \bool_set_true:N \l_siunitx_list_repeat_bool
},
list-units
/ single .code:n =
{
- \bool_set_false:N \_l_siunitx_list_brackets_bool
- \bool_set_false:N \_l_siunitx_list_repeat_bool
+ \bool_set_false:N \l_siunitx_list_brackets_bool
+ \bool_set_false:N \l_siunitx_list_repeat_bool
},
}
\keys_set:nn { siunitx } {
@@ -4198,124 +4198,124 @@
list-separator = { , ~ },
list-units = repeat,
}
-\cs_set_protected:Npn \_siunitx_list_numbers:n #1 {
- \tl_clear:N \_l_siunitx_unit_tl
- \tl_clear:N \_l_siunitx_preunit_tl
- \_siunitx_list_numbers_aux_i:n {#1}
+\cs_new_protected:Npn \siunitx_list_numbers:n #1 {
+ \tl_clear:N \l_siunitx_unit_tl
+ \tl_clear:N \l_siunitx_preunit_tl
+ \siunitx_list_numbers_aux_i:n {#1}
}
-\cs_set_protected:Npn \_siunitx_list_numbers_aux_i:n #1 {
- \tl_clear:N \_l_siunitx_list_tl
- \tl_clear:N \_l_siunitx_list_current_tl
- \tl_map_function:nN {#1} \_siunitx_list_numbers_aux_ii:n
- \tl_put_right:NV \_l_siunitx_list_tl
- \_l_siunitx_list_separator_final_tl
- \tl_put_right:NV \_l_siunitx_list_tl \_l_siunitx_list_current_tl
- \tl_use:N \_l_siunitx_list_tl
+\cs_new_protected:Npn \siunitx_list_numbers_aux_i:n #1 {
+ \tl_clear:N \l_siunitx_list_tl
+ \tl_clear:N \l_siunitx_list_current_tl
+ \tl_map_function:nN {#1} \siunitx_list_numbers_aux_ii:n
+ \tl_put_right:NV \l_siunitx_list_tl
+ \l_siunitx_list_separator_final_tl
+ \tl_put_right:NV \l_siunitx_list_tl \l_siunitx_list_current_tl
+ \tl_use:N \l_siunitx_list_tl
}
-\cs_set_protected:Npn \_siunitx_list_numbers_aux_ii:n #1 {
- \tl_if_empty:NTF \_l_siunitx_list_tl
- { \tl_set_eq:NN \_l_siunitx_list_tl \_l_siunitx_list_current_tl }
+\cs_new_protected:Npn \siunitx_list_numbers_aux_ii:n #1 {
+ \tl_if_empty:NTF \l_siunitx_list_tl
+ { \tl_set_eq:NN \l_siunitx_list_tl \l_siunitx_list_current_tl }
{
- \tl_put_right:NV \_l_siunitx_list_tl
- \_l_siunitx_list_separator_tl
- \tl_put_right:NV \_l_siunitx_list_tl \_l_siunitx_list_current_tl
+ \tl_put_right:NV \l_siunitx_list_tl
+ \l_siunitx_list_separator_tl
+ \tl_put_right:NV \l_siunitx_list_tl \l_siunitx_list_current_tl
}
- \tl_set:Nn \_l_siunitx_list_current_tl
- { \_siunitx_combined_output:n {#1} }
+ \tl_set:Nn \l_siunitx_list_current_tl
+ { \siunitx_combined_output:n {#1} }
}
-\cs_set_protected:Npn \_siunitx_list_units:nnn #1#2#3 {
- \bool_if:NTF \_l_siunitx_list_repeat_bool
+\cs_new_protected:Npn \siunitx_list_units:nnn #1#2#3 {
+ \bool_if:NTF \l_siunitx_list_repeat_bool
{
- \_siunitx_unit_in:nn {#2} {#3}
- \_siunitx_list_numbers_aux_i:n {#1}
+ \siunitx_unit_in:nn {#2} {#3}
+ \siunitx_list_numbers_aux_i:n {#1}
}
{
- \bool_if:NT \_l_siunitx_list_brackets_bool
+ \bool_if:NT \l_siunitx_list_brackets_bool
{
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { \_l_siunitx_bracket_open_tl } }
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { \l_siunitx_bracket_open_tl } }
}
- \_siunitx_list_numbers:n {#1}
- \bool_if:NT \_l_siunitx_list_brackets_bool
+ \siunitx_list_numbers:n {#1}
+ \bool_if:NT \l_siunitx_list_brackets_bool
{
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { \_l_siunitx_bracket_close_tl } }
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { \l_siunitx_bracket_close_tl } }
}
- \_siunitx_unit_output_number_sep:
- \_siunitx_unit_output:nn {#2} {#3}
+ \siunitx_unit_output_number_sep:
+ \siunitx_unit_output:nn {#2} {#3}
}
}
-\bool_new:N \_l_siunitx_range_brackets_bool
-\bool_new:N \_l_siunitx_range_repeat_bool
+\bool_new:N \l_siunitx_range_brackets_bool
+\bool_new:N \l_siunitx_range_repeat_bool
\keys_define:nn { siunitx } {
- range-phrase .tl_set:N = \_l_siunitx_range_phrase_tl,
+ range-phrase .tl_set:N = \l_siunitx_range_phrase_tl,
range-units .choice:,
range-units
/ brackets .code:n =
{
- \bool_set_true:N \_l_siunitx_range_brackets_bool
- \bool_set_false:N \_l_siunitx_range_repeat_bool
+ \bool_set_true:N \l_siunitx_range_brackets_bool
+ \bool_set_false:N \l_siunitx_range_repeat_bool
},
range-units
/ repeat .code:n =
{
- \bool_set_false:N \_l_siunitx_range_brackets_bool
- \bool_set_true:N \_l_siunitx_range_repeat_bool
+ \bool_set_false:N \l_siunitx_range_brackets_bool
+ \bool_set_true:N \l_siunitx_range_repeat_bool
},
range-units
/ single .code:n =
{
- \bool_set_false:N \_l_siunitx_range_brackets_bool
- \bool_set_false:N \_l_siunitx_range_repeat_bool
+ \bool_set_false:N \l_siunitx_range_brackets_bool
+ \bool_set_false:N \l_siunitx_range_repeat_bool
},
}
\keys_set:nn { siunitx } {
range-phrase = { ~ to ~ },
range-units = repeat,
}
-\cs_set_protected:Npn \_siunitx_range_numbers:nn #1#2 {
- \_siunitx_range_numbers_aux:n {#1}
- \text { \_l_siunitx_range_phrase_tl }
- \_siunitx_range_numbers_aux:n {#2}
+\cs_new_protected:Npn \siunitx_range_numbers:nn #1#2 {
+ \siunitx_range_numbers_aux:n {#1}
+ \text { \l_siunitx_range_phrase_tl }
+ \siunitx_range_numbers_aux:n {#2}
}
-\cs_set_protected:Npn \_siunitx_range_numbers_aux:n #1 {
- \bool_if:NTF \_l_siunitx_number_parse_bool
+\cs_new_protected:Npn \siunitx_range_numbers_aux:n #1 {
+ \bool_if:NTF \l_siunitx_number_parse_bool
{
- \tl_clear:N \_l_siunitx_number_out_tl
- \tl_clear:N \_l_siunitx_number_out_saved_tl
- \bool_set_false:N \_l_siunitx_number_compound_bool
- \_siunitx_number_output_parse:n {#1}
- \bool_if:NT \_l_siunitx_number_compound_bool
+ \tl_clear:N \l_siunitx_number_out_tl
+ \tl_clear:N \l_siunitx_number_out_saved_tl
+ \bool_set_false:N \l_siunitx_number_compound_bool
+ \siunitx_number_output_parse:n {#1}
+ \bool_if:NT \l_siunitx_number_compound_bool
{ \msg_error:nnx { siunitx } { multi-part-range } {#1} }
}
{
- \_siunitx_unit_output_pre_print:
- \_siunitx_print:nn { number } {#1}
- \_siunitx_unit_output_print:
+ \siunitx_unit_output_pre_print:
+ \siunitx_print:nn { number } {#1}
+ \siunitx_unit_output_print:
}
}
-\cs_set_protected:Npn \_siunitx_range_unit:nnnn #1#2#3#4 {
- \bool_if:NTF \_l_siunitx_range_repeat_bool
+\cs_new_protected:Npn \siunitx_range_unit:nnnn #1#2#3#4 {
+ \bool_if:NTF \l_siunitx_range_repeat_bool
{
- \_siunitx_unit_in:nn {#1} {#2}
- \_siunitx_range_numbers_aux:n {#3}
- \text { \_l_siunitx_range_phrase_tl }
- \_siunitx_range_numbers_aux:n {#4}
+ \siunitx_unit_in:nn {#1} {#2}
+ \siunitx_range_numbers_aux:n {#3}
+ \text { \l_siunitx_range_phrase_tl }
+ \siunitx_range_numbers_aux:n {#4}
}
{
- \bool_if:NT \_l_siunitx_range_brackets_bool
+ \bool_if:NT \l_siunitx_range_brackets_bool
{
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { \_l_siunitx_bracket_open_tl } }
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { \l_siunitx_bracket_open_tl } }
}
- \_siunitx_range_numbers:nn {#3} {#4}
- \bool_if:NT \_l_siunitx_range_brackets_bool
+ \siunitx_range_numbers:nn {#3} {#4}
+ \bool_if:NT \l_siunitx_range_brackets_bool
{
- \_siunitx_print:nn { number }
- { \_siunitx_ensuremath:n { \_l_siunitx_bracket_close_tl } }
+ \siunitx_print:nn { number }
+ { \siunitx_ensuremath:n { \l_siunitx_bracket_close_tl } }
}
- \_siunitx_unit_output_number_sep:
- \_siunitx_unit_output:nn {#1} {#2}
+ \siunitx_unit_output_number_sep:
+ \siunitx_unit_output:nn {#1} {#2}
}
}
\AtBeginDocument {
@@ -4323,334 +4323,334 @@
{
\newcolumntype { C } [1]
{ > { \bcolumn #1 \@nil } #1 < { \ecolumn } }
- \cs_set:Npn \_siunitx_tmp:w #1 \NC@do S #2 \q_stop
+ \cs_set:Npn \siunitx_tmp:w #1 \NC@do S #2 \q_stop
{ \toks_set:Nn \NC@list { #1 #2 } }
- \exp_last_unbraced:NV \_siunitx_tmp:w \NC@list \q_stop
+ \exp_last_unbraced:NV \siunitx_tmp:w \NC@list \q_stop
\cs_gundefine:N \NC@find@S
}
{ }
}
-\cs_set_protected_nopar:Npn \_siunitx_table_rewrite_create:N #1 {
- \tl_set:Nn \_l_siunitx_tmpa_tl { \NC@do #1 }
- \tl_put_right:NV \_l_siunitx_tmpa_tl \NC@list
+\cs_new_protected_nopar:Npn \siunitx_table_rewrite_create:N #1 {
+ \tl_set:Nn \l_siunitx_tmpa_tl { \NC@do #1 }
+ \tl_put_right:NV \l_siunitx_tmpa_tl \NC@list
\newcolumntype {#1} { }
- \toks_set:NV \NC@list \_l_siunitx_tmpa_tl
+ \toks_set:NV \NC@list \l_siunitx_tmpa_tl
\exp_args:NNc \renewcommand * { NC@rewrite@ #1 } [1] [ ]
{
\toks_put_right:Nn \@temptokena
{
- > { \_siunitx_table_collect_begin:Nn #1 {##1} }
+ > { \siunitx_table_collect_begin:Nn #1 {##1} }
c
- < { \_siunitx_table_print: }
+ < { \siunitx_table_print: }
}
\NC@find
}
}
-\AtBeginDocument { \_siunitx_table_rewrite_create:N s }
-\AtBeginDocument { \_siunitx_table_rewrite_create:N S }
-\tl_new:N \_l_siunitx_table_collect_tl
-\tl_new:N \_l_siunitx_table_collect_pre_tl
-\tl_new:N \_l_siunitx_table_collect_post_tl
-\tl_new:N \_l_siunitx_number_valid_tl
-\bool_new:N \_l_siunitx_table_collect_pre_bool
-\bool_new:N \_l_siunitx_table_collect_post_bool
-\cs_set_protected:Npn \_siunitx_table_collect_begin:Nn #1#2 {
+\AtBeginDocument { \siunitx_table_rewrite_create:N s }
+\AtBeginDocument { \siunitx_table_rewrite_create:N S }
+\tl_new:N \l_siunitx_table_collect_tl
+\tl_new:N \l_siunitx_table_collect_pre_tl
+\tl_new:N \l_siunitx_table_collect_post_tl
+\tl_new:N \l_siunitx_number_valid_tl
+\bool_new:N \l_siunitx_table_collect_pre_bool
+\bool_new:N \l_siunitx_table_collect_post_bool
+\cs_new_protected:Npn \siunitx_table_collect_begin:Nn #1#2 {
\keys_set:nn { siunitx } {#2}
- \use:c { _siunitx_table_collect_begin_ #1 : }
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_begin_s: {
- \cs_set_eq:NN \_siunitx_table_collect_token:N
- \_siunitx_table_collect_token_s:N
- \cs_set_eq:NN \_siunitx_table_print: \_siunitx_table_print_s:
- \_siunitx_table_collect_init_s:
- \_siunitx_table_collect_get:
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_begin_S: {
- \cs_set_eq:NN \_siunitx_table_collect_token:N
- \_siunitx_table_collect_token_S:N
- \cs_set_eq:NN \_siunitx_table_print: \_siunitx_table_print_S:
- \_siunitx_table_collect_init_S:
- \bool_if:NTF \_l_siunitx_number_parse_bool
- { \_siunitx_table_collect_get: }
- { \_siunitx_table_direct: }
-}
-\cs_set_protected:Npn \_siunitx_table_collect_braced:n #1 { }
-\cs_set_protected:Npn \_siunitx_table_collect_expand:N #1 {
+ \use:c { siunitx_table_collect_begin_ #1 : }
+}
+\cs_new_protected_nopar:Npn \siunitx_table_collect_begin_s: {
+ \cs_set_eq:NN \siunitx_table_collect_token:N
+ \siunitx_table_collect_token_s:N
+ \cs_set_eq:NN \siunitx_table_print: \siunitx_table_print_s:
+ \siunitx_table_collect_init_s:
+ \siunitx_table_collect_get:
+}
+\cs_new_protected_nopar:Npn \siunitx_table_collect_begin_S: {
+ \cs_set_eq:NN \siunitx_table_collect_token:N
+ \siunitx_table_collect_token_S:N
+ \cs_set_eq:NN \siunitx_table_print: \siunitx_table_print_S:
+ \siunitx_table_collect_init_S:
+ \bool_if:NTF \l_siunitx_number_parse_bool
+ { \siunitx_table_collect_get: }
+ { \siunitx_table_direct: }
+}
+\cs_new_protected:Npn \siunitx_table_collect_braced:n #1 { }
+\cs_new_protected:Npn \siunitx_table_collect_expand:N #1 {
\cs_if_eq:NNTF #1 \color
{
- \bool_if:NTF \_l_siunitx_table_collect_pre_bool
+ \bool_if:NTF \l_siunitx_table_collect_pre_bool
{
- \tl_clear:N \_l_siunitx_number_color_tl
- \tl_clear:N \_l_siunitx_unit_color_tl
- \tl_put_right:Nn \_l_siunitx_table_collect_pre_tl {#1}
+ \tl_clear:N \l_siunitx_number_color_tl
+ \tl_clear:N \l_siunitx_unit_color_tl
+ \tl_put_right:Nn \l_siunitx_table_collect_pre_tl {#1}
}
{
- \bool_set_true:N \_l_siunitx_table_collect_post_bool
- \tl_put_right:Nn \_l_siunitx_table_collect_post_tl {#1}
+ \bool_set_true:N \l_siunitx_table_collect_post_bool
+ \tl_put_right:Nn \l_siunitx_table_collect_post_tl {#1}
}
}
{
- \_siunitx_cs_if_tl:NTF #1
+ \siunitx_cs_if_tl:NTF #1
{
- \tl_use:N \_l_siunitx_table_collect_pre_tl
- \tl_clear:N \_l_siunitx_table_collect_pre_tl
- \cs_set_nopar:Npx \_siunitx_table_collect_next:
- { \exp_not:N \_siunitx_table_collect_get: \exp_not:V #1 }
+ \tl_use:N \l_siunitx_table_collect_pre_tl
+ \tl_clear:N \l_siunitx_table_collect_pre_tl
+ \cs_set_nopar:Npx \siunitx_table_collect_next:
+ { \exp_not:N \siunitx_table_collect_get: \exp_not:V #1 }
}
{
- \bool_if:NTF \_l_siunitx_table_collect_pre_bool
- { \tl_put_right:Nn \_l_siunitx_table_collect_pre_tl {#1} }
+ \bool_if:NTF \l_siunitx_table_collect_pre_bool
+ { \tl_put_right:Nn \l_siunitx_table_collect_pre_tl {#1} }
{
- \bool_set_true:N \_l_siunitx_table_collect_post_bool
- \tl_put_right:Nn \_l_siunitx_table_collect_post_tl {#1}
+ \bool_set_true:N \l_siunitx_table_collect_post_bool
+ \tl_put_right:Nn \l_siunitx_table_collect_post_tl {#1}
}
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_get: {
- \cs_set_eq:NN \_siunitx_table_collect_next:
- \_siunitx_table_collect_get:
+\cs_new_protected_nopar:Npn \siunitx_table_collect_get: {
+ \cs_set_eq:NN \siunitx_table_collect_next:
+ \siunitx_table_collect_get:
\cs_set_nopar:Npn \peek_execute_branches:
{
\if_catcode:w \exp_not:N \l_peek_token \c_group_begin_token
- \exp_after:wN \_siunitx_table_collect_braced:n
+ \exp_after:wN \siunitx_table_collect_braced:n
\else:
- \exp_after:wN \_siunitx_table_collect_not_braced:N
+ \exp_after:wN \siunitx_table_collect_not_braced:N
\fi:
}
\peek_after:NN \peek_ignore_spaces_execute_branches:
}
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_init: {
- \tl_clear:N \_l_siunitx_table_collect_tl
- \tl_clear:N \_l_siunitx_table_collect_pre_tl
- \tl_clear:N \_l_siunitx_table_collect_post_tl
- \bool_set_false:N \_l_siunitx_table_collect_post_bool
+\cs_new_protected_nopar:Npn \siunitx_table_collect_init: {
+ \tl_clear:N \l_siunitx_table_collect_tl
+ \tl_clear:N \l_siunitx_table_collect_pre_tl
+ \tl_clear:N \l_siunitx_table_collect_post_tl
+ \bool_set_false:N \l_siunitx_table_collect_post_bool
}
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_init_s: {
- \_siunitx_table_collect_init:
- \bool_set_false:N \_l_siunitx_table_collect_pre_bool
- \cs_set:Npn \_siunitx_table_collect_braced:n ##1
+\cs_new_protected_nopar:Npn \siunitx_table_collect_init_s: {
+ \siunitx_table_collect_init:
+ \bool_set_false:N \l_siunitx_table_collect_pre_bool
+ \cs_set:Npn \siunitx_table_collect_braced:n ##1
{
- \tl_put_right:Nn \_l_siunitx_table_collect_tl { {##1} }
- \_siunitx_table_collect_next:
+ \tl_put_right:Nn \l_siunitx_table_collect_tl { {##1} }
+ \siunitx_table_collect_next:
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_init_S: {
- \_siunitx_number_in_init:
- \tl_set:Nx \_l_siunitx_number_valid_tl
+\cs_new_protected_nopar:Npn \siunitx_table_collect_init_S: {
+ \siunitx_number_in_init:
+ \tl_set:Nx \l_siunitx_number_valid_tl
{
- \exp_not:V \_l_siunitx_input_complex_tl
- \exp_not:V \_l_siunitx_input_decimal_tl
- \exp_not:V \_l_siunitx_input_digit_tl
- \exp_not:V \_l_siunitx_input_exponent_tl
- \exp_not:V \_l_siunitx_input_ignore_tl
- \exp_not:V \_l_siunitx_input_uncert_close_tl
- \exp_not:V \_l_siunitx_input_uncert_open_tl
- \exp_not:V \_l_siunitx_input_sign_tl
- \exp_not:V \_l_siunitx_input_symbol_tl
+ \exp_not:V \l_siunitx_input_complex_tl
+ \exp_not:V \l_siunitx_input_decimal_tl
+ \exp_not:V \l_siunitx_input_digit_tl
+ \exp_not:V \l_siunitx_input_exponent_tl
+ \exp_not:V \l_siunitx_input_ignore_tl
+ \exp_not:V \l_siunitx_input_uncert_close_tl
+ \exp_not:V \l_siunitx_input_uncert_open_tl
+ \exp_not:V \l_siunitx_input_sign_tl
+ \exp_not:V \l_siunitx_input_symbol_tl
}
- \bool_set_true:N \_l_siunitx_table_collect_pre_bool
- \cs_set:Npn \_siunitx_table_collect_braced:n ##1
+ \bool_set_true:N \l_siunitx_table_collect_pre_bool
+ \cs_set:Npn \siunitx_table_collect_braced:n ##1
{
- \bool_if:NTF \_l_siunitx_table_collect_pre_bool
- { \tl_put_right:Nn \_l_siunitx_table_collect_pre_tl { {##1} } }
+ \bool_if:NTF \l_siunitx_table_collect_pre_bool
+ { \tl_put_right:Nn \l_siunitx_table_collect_pre_tl { {##1} } }
{
- \bool_set_true:N \_l_siunitx_table_collect_post_bool
- \tl_put_right:Nn \_l_siunitx_table_collect_post_tl { {##1} }
+ \bool_set_true:N \l_siunitx_table_collect_post_bool
+ \tl_put_right:Nn \l_siunitx_table_collect_post_tl { {##1} }
}
- \_siunitx_table_collect_next:
+ \siunitx_table_collect_next:
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_next: { }
-\cs_set_protected_nopar:Npn \_siunitx_table_collect_newline: {
- \_siunitx_table_print:
- \cs_set_eq:NN \_siunitx_table_print: \prg_do_nothing:
+\cs_new_protected_nopar:Npn \siunitx_table_collect_next: { }
+\cs_new_protected_nopar:Npn \siunitx_table_collect_newline: {
+ \siunitx_table_print:
+ \cs_set_eq:NN \siunitx_table_print: \prg_do_nothing:
\tabularnewline
}
-\cs_set_protected:Npn \_siunitx_table_collect_not_braced:N #1 {
+\cs_new_protected:Npn \siunitx_table_collect_not_braced:N #1 {
\token_if_eq_meaning:NNF #1 \tex_ignorespaces:D
{
\token_if_eq_meaning:NNF #1 \tex_unskip:D
- { \_siunitx_table_collect_not_braced_aux_i:N #1 }
+ { \siunitx_table_collect_not_braced_aux_i:N #1 }
}
- \_siunitx_table_collect_next:
+ \siunitx_table_collect_next:
}
-\cs_set_protected:Npn \_siunitx_table_collect_not_braced_aux_i:N #1 {
- \cs_set:Npn \_siunitx_table_collect_not_braced_aux_ii:N ##1
+\cs_new_protected:Npn \siunitx_table_collect_not_braced_aux_i:N #1 {
+ \cs_set:Npn \siunitx_table_collect_not_braced_aux_ii:N ##1
{
\token_if_eq_meaning:NNT #1 ##1
- { \cs_set_eq:NN \_siunitx_table_collect_next: ##1 }
+ { \cs_set_eq:NN \siunitx_table_collect_next: ##1 }
}
\tl_map_function:nN
- { \cs:w \end \endtabular \scan_stop: \_siunitx_table_print: }
- \_siunitx_table_collect_not_braced_aux_ii:N
- \token_if_eq_meaning:NNT \_siunitx_table_collect_next:
- \_siunitx_table_collect_get:
+ { \cs:w \end \endtabular \scan_stop: \siunitx_table_print: }
+ \siunitx_table_collect_not_braced_aux_ii:N
+ \token_if_eq_meaning:NNT \siunitx_table_collect_next:
+ \siunitx_table_collect_get:
{
\token_if_eq_meaning:NNTF #1 \tabularnewline
{
- \cs_set_eq:NN \_siunitx_table_collect_next:
- \_siunitx_table_collect_newline:
+ \cs_set_eq:NN \siunitx_table_collect_next:
+ \siunitx_table_collect_newline:
}
- { \_siunitx_table_collect_token:N #1 }
+ { \siunitx_table_collect_token:N #1 }
}
}
-\cs_set_protected:Npn \_siunitx_table_collect_not_braced_aux_ii:N #1 { }
-\cs_set_protected:Npn \_siunitx_table_collect_token:N #1 { }
-\cs_set_protected:Npn \_siunitx_table_collect_token_s:N #1 {
- \tl_put_right:Nn \_l_siunitx_table_collect_tl {#1}
+\cs_new_protected:Npn \siunitx_table_collect_not_braced_aux_ii:N #1 { }
+\cs_new_protected:Npn \siunitx_table_collect_token:N #1 { }
+\cs_new_protected:Npn \siunitx_table_collect_token_s:N #1 {
+ \tl_put_right:Nn \l_siunitx_table_collect_tl {#1}
}
-\cs_set_protected:Npn \_siunitx_table_collect_token_S:N #1 {
- \bool_if:NTF \_l_siunitx_table_collect_post_bool
- { \tl_put_right:Nn \_l_siunitx_table_collect_post_tl {#1} }
+\cs_new_protected:Npn \siunitx_table_collect_token_S:N #1 {
+ \bool_if:NTF \l_siunitx_table_collect_post_bool
+ { \tl_put_right:Nn \l_siunitx_table_collect_post_tl {#1} }
{
- \tl_if_in:NnTF \_l_siunitx_number_valid_tl {#1}
+ \tl_if_in:NnTF \l_siunitx_number_valid_tl {#1}
{
- \bool_set_false:N \_l_siunitx_table_collect_pre_bool
- \tl_put_right:Nn \_l_siunitx_table_collect_tl {#1}
+ \bool_set_false:N \l_siunitx_table_collect_pre_bool
+ \tl_put_right:Nn \l_siunitx_table_collect_tl {#1}
}
- { \_siunitx_table_collect_expand:N #1 }
+ { \siunitx_table_collect_expand:N #1 }
}
}
-\skip_new:N \_c_siunitx_one_fill_skip
-\skip_set:Nn \_c_siunitx_one_fill_skip { \c_zero_skip plus 1 fill }
-\skip_new:N \_c_siunitx_table_correction_skip
+\skip_new:N \c_siunitx_one_fill_skip
+\skip_set:Nn \c_siunitx_one_fill_skip { \c_zero_skip plus 1 fill }
+\skip_new:N \c_siunitx_table_correction_skip
\AtBeginDocument {
\@ifpackageloaded { colortbl }
{
- \skip_set:Nn \_c_siunitx_table_correction_skip
+ \skip_set:Nn \c_siunitx_table_correction_skip
{ \c_zero_skip plus -0.5 fill }
}
{
- \skip_set:Nn \_c_siunitx_table_correction_skip
+ \skip_set:Nn \c_siunitx_table_correction_skip
{ \c_zero_skip }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_colortbl_correction: {
- \skip_horizontal:n { \_c_siunitx_table_correction_skip }
+\cs_new_protected_nopar:Npn \siunitx_table_colortbl_correction: {
+ \skip_horizontal:n { \c_siunitx_table_correction_skip }
\tex_kern:D \c_zero_skip
}
-\cs_set_protected_nopar:Npn \_siunitx_table_align_left:n #1 {
- \_siunitx_table_colortbl_correction:
+\cs_new_protected_nopar:Npn \siunitx_table_align_left:n #1 {
+ \siunitx_table_colortbl_correction:
\skip_horizontal:n {#1}
\tex_kern:D \c_zero_skip
}
-\cs_set_protected_nopar:Npn \_siunitx_table_align_right:n #1 {
- \skip_horizontal:n { \_c_siunitx_one_fill_skip - #1 }
+\cs_new_protected_nopar:Npn \siunitx_table_align_right:n #1 {
+ \skip_horizontal:n { \c_siunitx_one_fill_skip - #1 }
\tex_kern:D \c_zero_skip
- \_siunitx_table_colortbl_correction:
+ \siunitx_table_colortbl_correction:
}
-\skip_new:N \_l_siunitx_table_unit_align_skip
+\skip_new:N \l_siunitx_table_unit_align_skip
\keys_define:nn { siunitx } {
table-unit-alignment .choice:,
table-unit-alignment / center .code:n =
{
- \skip_set:Nn \_l_siunitx_table_unit_align_skip
+ \skip_set:Nn \l_siunitx_table_unit_align_skip
{ \c_zero_skip plus 0.5 fill }
},
table-unit-alignment / left .code:n =
{
- \skip_set:Nn \_l_siunitx_table_unit_align_skip
+ \skip_set:Nn \l_siunitx_table_unit_align_skip
{ \c_zero_skip }
},
table-unit-alignment / right .code:n =
{
- \skip_set:Nn \_l_siunitx_table_unit_align_skip
+ \skip_set:Nn \l_siunitx_table_unit_align_skip
{ \c_zero_skip plus 1 fill }
},
}
\keys_set:nn { siunitx } {
table-unit-alignment = center
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_s: {
- \_siunitx_table_align_left:n { \_l_siunitx_table_unit_align_skip }
- \_siunitx_unit_output:Vn \_l_siunitx_table_collect_tl { }
- \_siunitx_table_align_right:n { \_l_siunitx_table_unit_align_skip }
-}
-\bool_new:N \_l_siunitx_table_center_decimal_bool
-\box_new:N \_l_siunitx_table_fill_box
-\dim_new:N \_l_siunitx_table_fill_dim
-\box_new:N \_l_siunitx_table_pre_box
-\box_new:N \_l_siunitx_table_post_box
-\box_new:N \_l_siunitx_table_result_box
-\dim_new:N \_l_siunitx_table_decimal_dim
-\dim_new:N \_l_siunitx_table_exponent_dim
-\dim_new:N \_l_siunitx_table_integer_dim
-\dim_new:N \_l_siunitx_table_mantissa_dim
-\dim_new:N \_l_siunitx_table_marker_dim
-\dim_new:N \_l_siunitx_table_result_dim
-\dim_new:N \_l_siunitx_table_uncert_dim
-\dim_new:N \_l_siunitx_table_gap_dim
-\prop_new:N \_l_siunitx_table_model_prop
-\skip_new:N \_l_siunitx_table_number_align_skip
-\skip_new:N \_l_siunitx_table_text_align_skip
+\cs_new_protected_nopar:Npn \siunitx_table_print_s: {
+ \siunitx_table_align_left:n { \l_siunitx_table_unit_align_skip }
+ \siunitx_unit_output:Vn \l_siunitx_table_collect_tl { }
+ \siunitx_table_align_right:n { \l_siunitx_table_unit_align_skip }
+}
+\bool_new:N \l_siunitx_table_center_decimal_bool
+\box_new:N \l_siunitx_table_fill_box
+\dim_new:N \l_siunitx_table_fill_dim
+\box_new:N \l_siunitx_table_pre_box
+\box_new:N \l_siunitx_table_post_box
+\box_new:N \l_siunitx_table_result_box
+\dim_new:N \l_siunitx_table_decimal_dim
+\dim_new:N \l_siunitx_table_exponent_dim
+\dim_new:N \l_siunitx_table_integer_dim
+\dim_new:N \l_siunitx_table_mantissa_dim
+\dim_new:N \l_siunitx_table_marker_dim
+\dim_new:N \l_siunitx_table_result_dim
+\dim_new:N \l_siunitx_table_uncert_dim
+\dim_new:N \l_siunitx_table_gap_dim
+\prop_new:N \l_siunitx_table_model_prop
+\skip_new:N \l_siunitx_table_number_align_skip
+\skip_new:N \l_siunitx_table_text_align_skip
\keys_define:nn { siunitx } {
table-align-text-post .bool_set:N
- = \_l_siunitx_table_align_post_bool,
+ = \l_siunitx_table_align_post_bool,
table-number-alignment .choice:,
table-number-alignment /
center .code:n =
{
- \skip_set:Nn \_l_siunitx_table_number_align_skip
+ \skip_set:Nn \l_siunitx_table_number_align_skip
{ \c_zero_skip plus 0.5 fill }
- \bool_set_false:N \_l_siunitx_table_center_decimal_bool
+ \bool_set_false:N \l_siunitx_table_center_decimal_bool
},
table-number-alignment /
center-decimal-marker .code:n =
{
- \skip_set:Nn \_l_siunitx_table_number_align_skip
+ \skip_set:Nn \l_siunitx_table_number_align_skip
{ \c_zero_skip plus 0.5 fill }
- \bool_set_true:N \_l_siunitx_table_center_decimal_bool
+ \bool_set_true:N \l_siunitx_table_center_decimal_bool
},
table-number-alignment /
left .code:n =
{
- \skip_set:Nn \_l_siunitx_table_number_align_skip
+ \skip_set:Nn \l_siunitx_table_number_align_skip
{ \c_zero_skip }
- \bool_set_false:N \_l_siunitx_table_center_decimal_bool
+ \bool_set_false:N \l_siunitx_table_center_decimal_bool
},
table-number-alignment /
right .code:n =
{
- \skip_set:Nn \_l_siunitx_table_number_align_skip
+ \skip_set:Nn \l_siunitx_table_number_align_skip
{ \c_zero_skip plus 1 fill }
- \bool_set_false:N \_l_siunitx_table_center_decimal_bool
+ \bool_set_false:N \l_siunitx_table_center_decimal_bool
},
table-text-alignment .choice:,
table-text-alignment /
center .code:n =
{
- \skip_set:Nn \_l_siunitx_table_text_align_skip
+ \skip_set:Nn \l_siunitx_table_text_align_skip
{ \c_zero_skip plus 0.5 fill }
},
table-text-alignment /
left .code:n =
{
- \skip_set:Nn \_l_siunitx_table_text_align_skip
+ \skip_set:Nn \l_siunitx_table_text_align_skip
{ \c_zero_skip }
},
table-text-alignment /
right .code:n =
{
- \skip_set:Nn \_l_siunitx_table_text_align_skip
+ \skip_set:Nn \l_siunitx_table_text_align_skip
{ \c_zero_skip plus 1 fill }
},
- table-auto-round .bool_set:N = \_l_siunitx_table_auto_bool,
- table-figures-decimal .int_set:N = \_l_siunitx_table_decimal_int,
+ table-auto-round .bool_set:N = \l_siunitx_table_auto_bool,
+ table-figures-decimal .int_set:N = \l_siunitx_table_decimal_int,
table-figures-exponent .int_set:N =
- \_l_siunitx_table_exponent_int,
- table-figures-integer .int_set:N = \_l_siunitx_table_integer_int,
- table-figures-uncertainty .int_set:N = \_l_siunitx_table_uncert_int ,
+ \l_siunitx_table_exponent_int,
+ table-figures-integer .int_set:N = \l_siunitx_table_integer_int,
+ table-figures-uncertainty .int_set:N = \l_siunitx_table_uncert_int ,
table-parse-only .bool_set:N =
- \_l_siunitx_table_parse_only_bool,
+ \l_siunitx_table_parse_only_bool,
table-space-text-pre .tl_set:N =
- \_l_siunitx_table_pre_tl,
+ \l_siunitx_table_pre_tl,
table-space-text-post .tl_set:N =
- \_l_siunitx_table_post_tl,
+ \l_siunitx_table_post_tl,
table-sign-exponent .bool_set:N =
- \_l_siunitx_table_sign_exponent_bool,
+ \l_siunitx_table_sign_exponent_bool,
table-sign-mantissa .bool_set:N =
- \_l_siunitx_table_sign_mantissa_bool
+ \l_siunitx_table_sign_mantissa_bool
}
\keys_set:nn { siunitx } {
table-align-text-post = true,
@@ -4667,322 +4667,322 @@
table-unit-alignment = #1
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_format_convert:nn #1#2 {
- \prop_get:NnN \_l_siunitx_number_in_prop {#1} \_l_siunitx_tmpa_tl
- \quark_if_no_value:NTF \_l_siunitx_tmpa_tl
- { \int_set:cn { _l_siunitx_table_ #2 _int } { 0 } }
+\cs_new_protected_nopar:Npn \siunitx_table_format_convert:nn #1#2 {
+ \prop_get:NnN \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl
+ \quark_if_no_value:NTF \l_siunitx_tmpa_tl
+ { \int_set:cn { l_siunitx_table_ #2 _int } { 0 } }
{
- \prop_get:NnN \_l_siunitx_number_in_prop {#1} \_l_siunitx_tmpa_tl
- \int_set:cn { _l_siunitx_table_ #2 _int } { \_l_siunitx_tmpa_tl }
+ \prop_get:NnN \l_siunitx_number_in_prop {#1} \l_siunitx_tmpa_tl
+ \int_set:cn { l_siunitx_table_ #2 _int } { \l_siunitx_tmpa_tl }
}
}
\keys_define:nn { siunitx } {
table-format .code:n =
{
- \_siunitx_number_in_parse:n {#1}
- \_siunitx_table_format_convert:nn { mantissa-integer } { integer }
- \_siunitx_table_format_convert:nn { mantissa-decimal } { decimal }
- \_siunitx_table_format_convert:nn { mantissa-uncertainty }
+ \siunitx_number_in_parse:n {#1}
+ \siunitx_table_format_convert:nn { mantissa-integer } { integer }
+ \siunitx_table_format_convert:nn { mantissa-decimal } { decimal }
+ \siunitx_table_format_convert:nn { mantissa-uncertainty }
{ uncert }
- \_siunitx_table_format_convert:nn { exponent-integer }
+ \siunitx_table_format_convert:nn { exponent-integer }
{ exponent }
- \prop_if_in:NnTF \_l_siunitx_number_in_prop { mantissa-sign }
- { \bool_set_true:N \_l_siunitx_table_sign_mantissa_bool }
- { \bool_set_false:N \_l_siunitx_table_sign_mantissa_bool }
- \prop_if_in:NnTF \_l_siunitx_number_in_prop { exponent-sign }
- { \bool_set_true:N \_l_siunitx_table_sign_mantissa_bool }
- { \bool_set_false:N \_l_siunitx_table_sign_mantissa_bool }
+ \prop_if_in:NnTF \l_siunitx_number_in_prop { mantissa-sign }
+ { \bool_set_true:N \l_siunitx_table_sign_mantissa_bool }
+ { \bool_set_false:N \l_siunitx_table_sign_mantissa_bool }
+ \prop_if_in:NnTF \l_siunitx_number_in_prop { exponent-sign }
+ { \bool_set_true:N \l_siunitx_table_sign_exponent_bool }
+ { \bool_set_false:N \l_siunitx_table_sign_exponent_bool }
\keys_set:nn { siunitx } { table-number-alignment = center }
},
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S: {
- \bool_if:NTF \_l_siunitx_table_collect_pre_bool
+\cs_new_protected_nopar:Npn \siunitx_table_print_S: {
+ \bool_if:NTF \l_siunitx_table_collect_pre_bool
{
- \_siunitx_table_align_left:n { \_l_siunitx_table_text_align_skip }
- \tl_use:N \_l_siunitx_table_collect_pre_tl
- \_siunitx_table_align_right:n
- { \_l_siunitx_table_text_align_skip }
+ \siunitx_table_align_left:n { \l_siunitx_table_text_align_skip }
+ \tl_use:N \l_siunitx_table_collect_pre_tl
+ \siunitx_table_align_right:n
+ { \l_siunitx_table_text_align_skip }
}
{
- \_siunitx_table_align_left:n
- { \_l_siunitx_table_number_align_skip }
- \_siunitx_table_print_S_aux:
- \_siunitx_table_align_right:n
- { \_l_siunitx_table_number_align_skip }
+ \siunitx_table_align_left:n
+ { \l_siunitx_table_number_align_skip }
+ \siunitx_table_print_S_aux:
+ \siunitx_table_align_right:n
+ { \l_siunitx_table_number_align_skip }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_aux: {
- \bool_if:NTF \_l_siunitx_table_parse_only_bool
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_aux: {
+ \bool_if:NTF \l_siunitx_table_parse_only_bool
{
- \tl_use:N \_l_siunitx_table_collect_pre_tl
- \_siunitx_number_output:V \_l_siunitx_table_collect_tl
- \tl_use:N \_l_siunitx_table_collect_post_tl
+ \tl_use:N \l_siunitx_table_collect_pre_tl
+ \siunitx_number_output:V \l_siunitx_table_collect_tl
+ \tl_use:N \l_siunitx_table_collect_post_tl
}
{
- \bool_if:NTF \_l_siunitx_table_center_decimal_bool
- { \_siunitx_table_print_S_centered: }
- { \_siunitx_table_print_S_reserved: }
+ \bool_if:NTF \l_siunitx_table_center_decimal_bool
+ { \siunitx_table_print_S_centered: }
+ { \siunitx_table_print_S_reserved: }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_parse: {
- \bool_set_false:N \_l_siunitx_error_bool
- \_siunitx_number_in_parse:V \_l_siunitx_table_collect_tl
- \bool_if:NF \_l_siunitx_error_bool
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_parse: {
+ \bool_set_false:N \l_siunitx_error_bool
+ \siunitx_number_in_parse:V \l_siunitx_table_collect_tl
+ \bool_if:NF \l_siunitx_error_bool
{
- \_siunitx_number_process:
- \_siunitx_number_format:
- \_siunitx_number_output_color:
+ \siunitx_number_process:
+ \siunitx_number_format:
+ \siunitx_number_output_color:
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_centered: {
- \_siunitx_table_print_S_centered_ends:
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_centered: {
+ \siunitx_table_print_S_centered_ends:
\dim_compare:nNnTF
- { \box_wd:N \_l_siunitx_table_pre_box } = { \c_zero_skip }
- { \tl_use:N \_l_siunitx_table_collect_pre_tl }
- { \box_use:N \_l_siunitx_table_pre_box }
- \_siunitx_table_print_S_parse:
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_number_out_prop
+ { \box_wd:N \l_siunitx_table_pre_box } = { \c_zero_skip }
+ { \tl_use:N \l_siunitx_table_collect_pre_tl }
+ { \box_use:N \l_siunitx_table_pre_box }
+ \siunitx_table_print_S_parse:
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_number_out_prop
{ integer } { mantissa }
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_number_out_prop
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_number_out_prop
{ marker } { mantissa }
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_number_out_prop
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_number_out_prop
{ result } { }
- \box_set_eq:NN \_l_siunitx_table_result_box \_l_siunitx_tmp_box
- \dim_set:Nn \_l_siunitx_table_fill_dim
- { \_l_siunitx_table_result_dim - \_l_siunitx_table_integer_dim }
- \prop_if_in:NnT \_l_siunitx_number_out_prop
+ \box_set_eq:NN \l_siunitx_table_result_box \l_siunitx_tmp_box
+ \dim_set:Nn \l_siunitx_table_fill_dim
+ { \l_siunitx_table_result_dim - \l_siunitx_table_integer_dim }
+ \prop_if_in:NnT \l_siunitx_number_out_prop
{ mantissa-decimal-marker }
{
- \dim_set:Nn \_l_siunitx_table_fill_dim
- { \_l_siunitx_table_fill_dim - \_l_siunitx_table_marker_dim }
+ \dim_set:Nn \l_siunitx_table_fill_dim
+ { \l_siunitx_table_fill_dim - \l_siunitx_table_marker_dim }
}
\dim_compare:nNnTF
- { \_l_siunitx_table_integer_dim } > { \_l_siunitx_table_fill_dim }
- { \_siunitx_table_print_S_centered_integer: }
- { \_siunitx_table_print_S_centered_decimal: }
- \bool_if:NTF \_l_siunitx_table_align_post_bool
- { \box_use:N \_l_siunitx_table_post_box }
- {
- \dim_set:Nn \_l_siunitx_table_fill_dim
- { - \dim_use:N \_l_siunitx_table_fill_dim }
- \skip_horizontal:N \_l_siunitx_table_fill_dim
- \box_use:N \_l_siunitx_table_post_box
- \box_use:N \_l_siunitx_table_fill_box
- }
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_centered_ends: {
- \hbox_set:Nn \_l_siunitx_table_pre_box
- { { \tl_use:N \_l_siunitx_table_collect_pre_tl } }
- \hbox_set:Nn \_l_siunitx_table_post_box
- { \tl_use:N \_l_siunitx_table_collect_post_tl }
+ { \l_siunitx_table_integer_dim } > { \l_siunitx_table_fill_dim }
+ { \siunitx_table_print_S_centered_integer: }
+ { \siunitx_table_print_S_centered_decimal: }
+ \bool_if:NTF \l_siunitx_table_align_post_bool
+ { \box_use:N \l_siunitx_table_post_box }
+ {
+ \dim_set:Nn \l_siunitx_table_fill_dim
+ { - \dim_use:N \l_siunitx_table_fill_dim }
+ \skip_horizontal:N \l_siunitx_table_fill_dim
+ \box_use:N \l_siunitx_table_post_box
+ \box_use:N \l_siunitx_table_fill_box
+ }
+}
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_centered_ends: {
+ \hbox_set:Nn \l_siunitx_table_pre_box
+ { { \tl_use:N \l_siunitx_table_collect_pre_tl } }
+ \hbox_set:Nn \l_siunitx_table_post_box
+ { \tl_use:N \l_siunitx_table_collect_post_tl }
\dim_compare:nNnTF
- { \box_wd:N \_l_siunitx_table_pre_box } >
- { \box_wd:N \_l_siunitx_table_post_box }
+ { \box_wd:N \l_siunitx_table_pre_box } >
+ { \box_wd:N \l_siunitx_table_post_box }
{
- \hbox_set_to_wd:Nnn \_l_siunitx_table_post_box
- { \box_wd:N \_l_siunitx_table_pre_box }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_post_box
+ { \box_wd:N \l_siunitx_table_pre_box }
{
- \hbox_unpack:N \_l_siunitx_table_post_box
+ \hbox_unpack:N \l_siunitx_table_post_box
\tex_hfil:D
}
}
{
- \hbox_set_to_wd:Nnn \_l_siunitx_table_pre_box
- { \box_wd:N \_l_siunitx_table_post_box }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_pre_box
+ { \box_wd:N \l_siunitx_table_post_box }
{
\tex_hfil:D
- \hbox_unpack:N \_l_siunitx_table_pre_box
+ \hbox_unpack:N \l_siunitx_table_pre_box
}
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_centered_integer: {
- \dim_set:Nn \_l_siunitx_table_fill_dim
- { \_l_siunitx_table_integer_dim - \_l_siunitx_table_fill_dim }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_fill_box
- { \_l_siunitx_table_fill_dim } { \tex_hfil:D }
- \box_use:N \_l_siunitx_table_result_box
- \box_use:N \_l_siunitx_table_fill_box
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_centered_decimal: {
- \dim_set:Nn \_l_siunitx_table_fill_dim
- { \_l_siunitx_table_fill_dim - \_l_siunitx_table_integer_dim }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_fill_box
- { \_l_siunitx_table_fill_dim } { \tex_hfil:D }
- \box_use:N \_l_siunitx_table_fill_box
- \box_use:N \_l_siunitx_table_result_box
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_reserved: {
- \dim_zero:N \_l_siunitx_table_gap_dim
- \_siunitx_table_print_S_reserved_ends:
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_centered_integer: {
+ \dim_set:Nn \l_siunitx_table_fill_dim
+ { \l_siunitx_table_integer_dim - \l_siunitx_table_fill_dim }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_fill_box
+ { \l_siunitx_table_fill_dim } { \tex_hfil:D }
+ \box_use:N \l_siunitx_table_result_box
+ \box_use:N \l_siunitx_table_fill_box
+}
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_centered_decimal: {
+ \dim_set:Nn \l_siunitx_table_fill_dim
+ { \l_siunitx_table_fill_dim - \l_siunitx_table_integer_dim }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_fill_box
+ { \l_siunitx_table_fill_dim } { \tex_hfil:D }
+ \box_use:N \l_siunitx_table_fill_box
+ \box_use:N \l_siunitx_table_result_box
+}
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_reserved: {
+ \dim_zero:N \l_siunitx_table_gap_dim
+ \siunitx_table_print_S_reserved_ends:
\dim_compare:nNnTF
- { \box_wd:N \_l_siunitx_table_pre_box } = { \c_zero_skip }
- { \tl_use:N \_l_siunitx_table_collect_pre_tl }
- { \box_use:N \_l_siunitx_table_pre_box }
- \_siunitx_table_print_S_model_create:
- \bool_if:NT \_l_siunitx_table_auto_bool
+ { \box_wd:N \l_siunitx_table_pre_box } = { \c_zero_skip }
+ { \tl_use:N \l_siunitx_table_collect_pre_tl }
+ { \box_use:N \l_siunitx_table_pre_box }
+ \siunitx_table_print_S_model_create:
+ \bool_if:NT \l_siunitx_table_auto_bool
{
- \int_set:Nn \_l_siunitx_process_precision_int
- { \_l_siunitx_table_decimal_int }
- \tl_set:Nn \_l_siunitx_round_tl { places }
+ \int_set:Nn \l_siunitx_process_precision_int
+ { \l_siunitx_table_decimal_int }
+ \tl_set:Nn \l_siunitx_round_tl { places }
}
- \_siunitx_table_print_S_parse:
+ \siunitx_table_print_S_parse:
\intexpr_compare:nNnTF
- { \_l_siunitx_table_integer_int + \_l_siunitx_table_decimal_int } >
+ { \l_siunitx_table_integer_int + \l_siunitx_table_decimal_int } >
{ 0 }
- { \_siunitx_table_print_S_reserved_mantissa: }
+ { \siunitx_table_print_S_reserved_mantissa: }
{
- \prop_if_in:NnT \_l_siunitx_number_out_prop { mantissa-result }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { mantissa-result }
{
\msg_error:nnx { siunitx } { table-partial-number }
{ a~mantissa }
}
}
- \prop_if_in:NnT \_l_siunitx_number_out_prop { complex-result }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { complex-result }
{
\msg_error:nnx { siunitx } { table-partial-number }
{ a~complex }
}
- \intexpr_compare:nNnTF { \_l_siunitx_table_exponent_int } > { 0 }
- { \_siunitx_table_print_S_reserved_exponent: }
+ \intexpr_compare:nNnTF { \l_siunitx_table_exponent_int } > { 0 }
+ { \siunitx_table_print_S_reserved_exponent: }
{
- \prop_if_in:NnT \_l_siunitx_number_out_prop { exponent-result }
+ \prop_if_in:NnT \l_siunitx_number_out_prop { exponent-result }
{
\msg_error:nnx { siunitx } { table-partial-number }
{ an~exponent }
}
}
- \bool_if:NTF \_l_siunitx_table_align_post_bool
- { \box_use:N \_l_siunitx_table_post_box }
+ \bool_if:NTF \l_siunitx_table_align_post_bool
+ { \box_use:N \l_siunitx_table_post_box }
{
- \hbox_set_to_wd:Nnn \_l_siunitx_table_fill_box
- { \dim_use:N \_l_siunitx_table_gap_dim }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_fill_box
+ { \dim_use:N \l_siunitx_table_gap_dim }
{ \tex_hfil:D }
- \dim_set:Nn \_l_siunitx_table_gap_dim
- { - \dim_use:N \_l_siunitx_table_gap_dim }
- \skip_horizontal:N \_l_siunitx_table_gap_dim
- \box_use:N \_l_siunitx_table_post_box
- \box_use:N \_l_siunitx_table_fill_box
+ \dim_set:Nn \l_siunitx_table_gap_dim
+ { - \dim_use:N \l_siunitx_table_gap_dim }
+ \skip_horizontal:N \l_siunitx_table_gap_dim
+ \box_use:N \l_siunitx_table_post_box
+ \box_use:N \l_siunitx_table_fill_box
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_reserved_ends: {
- \hbox_set:Nn \_l_siunitx_tmp_box { \_l_siunitx_table_pre_tl }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_pre_box
- { \box_wd:N \_l_siunitx_tmp_box }
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_reserved_ends: {
+ \hbox_set:Nn \l_siunitx_tmp_box { \l_siunitx_table_pre_tl }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_pre_box
+ { \box_wd:N \l_siunitx_tmp_box }
{
\tex_hfil:D
- { \tl_use:N \_l_siunitx_table_collect_pre_tl }
+ { \tl_use:N \l_siunitx_table_collect_pre_tl }
}
- \hbox_set:Nn \_l_siunitx_tmp_box { \_l_siunitx_table_post_tl }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_post_box
- { \box_wd:N \_l_siunitx_tmp_box }
+ \hbox_set:Nn \l_siunitx_tmp_box { \l_siunitx_table_post_tl }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_post_box
+ { \box_wd:N \l_siunitx_tmp_box }
{
- \tl_use:N \_l_siunitx_table_collect_post_tl
+ \tl_use:N \l_siunitx_table_collect_post_tl
\tex_hfil:D
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_model_create: {
- \prop_clear:N \_l_siunitx_number_in_prop
- \_siunitx_table_print_S_model_aux:nn { integer } { mantissa-integer }
- \_siunitx_table_print_S_model_aux:nn { decimal } { mantissa-decimal }
- \_siunitx_table_print_S_model_aux:nn { uncert }
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_model_create: {
+ \prop_clear:N \l_siunitx_number_in_prop
+ \siunitx_table_print_S_model_aux:nn { integer } { mantissa-integer }
+ \siunitx_table_print_S_model_aux:nn { decimal } { mantissa-decimal }
+ \siunitx_table_print_S_model_aux:nn { uncert }
{ mantissa-uncertainty }
- \_siunitx_table_print_S_model_aux:nn { exponent } { exponent-integer }
+ \siunitx_table_print_S_model_aux:nn { exponent } { exponent-integer }
\intexpr_compare:nNnF
- { \_l_siunitx_table_integer_int + \_l_siunitx_table_decimal_int } =
+ { \l_siunitx_table_integer_int + \l_siunitx_table_decimal_int } =
{ 0 }
{
- \prop_put:Nnn \_l_siunitx_number_in_prop { mantissa }
+ \prop_put:Nnn \l_siunitx_number_in_prop { mantissa }
{ true }
}
- \intexpr_compare:nNnT { \_l_siunitx_table_decimal_int } > { 0 }
+ \intexpr_compare:nNnT { \l_siunitx_table_decimal_int } > { 0 }
{
- \prop_put:NnV \_l_siunitx_number_in_prop
+ \prop_put:NnV \l_siunitx_number_in_prop
{ mantissa-decimal-marker }
- \_l_siunitx_output_decimal_tl
+ \l_siunitx_output_decimal_tl
}
- \bool_if:NT \_l_siunitx_table_sign_mantissa_bool
- { \prop_put:Nnn \_l_siunitx_number_in_prop { mantissa-sign } { - } }
- \intexpr_compare:nNnT { \_l_siunitx_table_exponent_int } > { 0 }
+ \bool_if:NT \l_siunitx_table_sign_mantissa_bool
+ { \prop_put:Nnn \l_siunitx_number_in_prop { mantissa-sign } { - } }
+ \intexpr_compare:nNnT { \l_siunitx_table_exponent_int } > { 0 }
{
- \bool_if:NT \_l_siunitx_table_sign_exponent_bool
+ \bool_if:NT \l_siunitx_table_sign_exponent_bool
{
- \prop_put:Nnn \_l_siunitx_number_in_prop { exponent-sign }
+ \prop_put:Nnn \l_siunitx_number_in_prop { exponent-sign }
{ - }
}
}
- \_siunitx_number_process:
- \_siunitx_number_format:
- \prop_set_eq:NN \_l_siunitx_table_model_prop
- \_l_siunitx_number_out_prop
+ \siunitx_number_process:
+ \siunitx_number_format:
+ \prop_set_eq:NN \l_siunitx_table_model_prop
+ \l_siunitx_number_out_prop
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_model_aux:nn #1#2 {
- \tl_set:Nx \_l_siunitx_tmpa_tl
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_model_aux:nn #1#2 {
+ \tl_set:Nx \l_siunitx_tmpa_tl
{
- \prg_replicate:nn { \int_use:c { _l_siunitx_table_ #1 _int } }
+ \prg_replicate:nn { \int_use:c { l_siunitx_table_ #1 _int } }
{ 8 }
}
- \tl_if_empty:NF \_l_siunitx_tmpa_tl
+ \tl_if_empty:NF \l_siunitx_tmpa_tl
{
- \prop_put:NnV \_l_siunitx_number_in_prop {#2} \_l_siunitx_tmpa_tl
- \prop_put:Nnn \_l_siunitx_number_in_prop {#1} { true }
+ \prop_put:NnV \l_siunitx_number_in_prop {#2} \l_siunitx_tmpa_tl
+ \prop_put:Nnn \l_siunitx_number_in_prop {#1} { true }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_reserved_mantissa: {
- \_siunitx_table_print_S_reserved_mantissa_aux:n { mantissa }
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_table_model_prop
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_reserved_mantissa: {
+ \siunitx_table_print_S_reserved_mantissa_aux:n { mantissa }
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_table_model_prop
{ mantissa } { }
- \_siunitx_table_print_S_get_mantissa:Nn
- \_l_siunitx_number_out_prop { }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_result_box
- { \_l_siunitx_table_mantissa_dim }
+ \siunitx_table_print_S_get_mantissa:Nn
+ \l_siunitx_number_out_prop { }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_result_box
+ { \l_siunitx_table_mantissa_dim }
{
- \box_use:N \_l_siunitx_table_fill_box
- \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl
+ \box_use:N \l_siunitx_table_fill_box
+ \siunitx_print:nV { number } \l_siunitx_tmpa_tl
\tex_hfil:D
}
- \box_use:N \_l_siunitx_table_result_box
- \_siunitx_table_print_S_reserved_uncert:n { mantissa }
+ \box_use:N \l_siunitx_table_result_box
+ \siunitx_table_print_S_reserved_uncert:n { mantissa }
}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_reserved_mantissa_aux:n #1 {
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_table_model_prop
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_reserved_mantissa_aux:n #1 {
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_table_model_prop
{ integer } {#1}
- \_siunitx_table_print_S_get_integer:Nn
- \_l_siunitx_number_out_prop {#1}
- \box_clear:N \_l_siunitx_tmp_box
- \tl_if_empty:NF \_l_siunitx_tmpa_tl
+ \siunitx_table_print_S_get_integer:Nn
+ \l_siunitx_number_out_prop {#1}
+ \box_clear:N \l_siunitx_tmp_box
+ \tl_if_empty:NF \l_siunitx_tmpa_tl
{
- \hbox_set:Nn \_l_siunitx_tmp_box
- { \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl }
+ \hbox_set:Nn \l_siunitx_tmp_box
+ { \siunitx_print:nV { number } \l_siunitx_tmpa_tl }
}
- \hbox_set_to_wd:Nnn \_l_siunitx_table_fill_box
- { \_l_siunitx_table_integer_dim - \box_wd:N \_l_siunitx_tmp_box }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_fill_box
+ { \l_siunitx_table_integer_dim - \box_wd:N \l_siunitx_tmp_box }
{ \tex_hfil:D }
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_table_model_prop
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_table_model_prop
{ decimal } {#1}
- \box_clear:N \_l_siunitx_tmp_box
- \_siunitx_table_print_S_get_decimal:Nn
- \_l_siunitx_number_out_prop {#1}
- \tl_if_empty:NF \_l_siunitx_tmpa_tl
+ \box_clear:N \l_siunitx_tmp_box
+ \siunitx_table_print_S_get_decimal:Nn
+ \l_siunitx_number_out_prop {#1}
+ \tl_if_empty:NF \l_siunitx_tmpa_tl
{
- \hbox_set:Nn \_l_siunitx_tmp_box
- { \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl }
+ \hbox_set:Nn \l_siunitx_tmp_box
+ { \siunitx_print:nV { number } \l_siunitx_tmpa_tl }
}
- \dim_set:Nn \_l_siunitx_table_gap_dim
+ \dim_set:Nn \l_siunitx_table_gap_dim
{
- \dim_use:N \_l_siunitx_table_decimal_dim -
- \box_wd:N \_l_siunitx_tmp_box
+ \dim_use:N \l_siunitx_table_decimal_dim -
+ \box_wd:N \l_siunitx_tmp_box
}
}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_reserved_uncert:n #1 {
- \bool_if:NT \_l_siunitx_uncert_sep_bool
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_reserved_uncert:n #1 {
+ \bool_if:NT \l_siunitx_uncert_sep_bool
{
- \intexpr_compare:nNnTF { \_l_siunitx_table_uncert_int } > { 0 }
- { \_siunitx_table_print_S_reserved_uncert_aux:n {#1} }
+ \intexpr_compare:nNnTF { \l_siunitx_table_uncert_int } > { 0 }
+ { \siunitx_table_print_S_reserved_uncert_aux:n {#1} }
{
- \prop_if_in:NnT \_l_siunitx_number_out_prop
+ \prop_if_in:NnT \l_siunitx_number_out_prop
{ #1 -uncertainty }
{
\msg_error:nn { siunitx } { table-partial-number }
@@ -4991,282 +4991,282 @@
}
}
}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_reserved_uncert_aux:n #1 {
- \_siunitx_table_print_S_reserved_uncert_pm:n {#1}
- \_siunitx_table_print_S_reserved_mantissa_aux:n { #1 -uncertainty }
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_table_model_prop
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_reserved_uncert_aux:n #1 {
+ \siunitx_table_print_S_reserved_uncert_pm:n {#1}
+ \siunitx_table_print_S_reserved_mantissa_aux:n { #1 -uncertainty }
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_table_model_prop
{ uncert } {#1}
- \_siunitx_table_print_S_get_uncert:Nn \_l_siunitx_number_out_prop {#1}
- \hbox_set_to_wd:Nnn \_l_siunitx_table_result_box
- { \_l_siunitx_table_uncert_dim }
+ \siunitx_table_print_S_get_uncert:Nn \l_siunitx_number_out_prop {#1}
+ \hbox_set_to_wd:Nnn \l_siunitx_table_result_box
+ { \l_siunitx_table_uncert_dim }
{
- \box_use:N \_l_siunitx_table_fill_box
- \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl
+ \box_use:N \l_siunitx_table_fill_box
+ \siunitx_print:nV { number } \l_siunitx_tmpa_tl
\tex_hfil:D
}
- \box_use:N \_l_siunitx_table_result_box
+ \box_use:N \l_siunitx_table_result_box
}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_reserved_uncert_pm:n #1 {
- \tl_clear:N \_l_siunitx_tmpb_tl
- \_siunitx_number_format_join_uncert_pm:
- \tl_set:Nx \_l_siunitx_tmpb_tl
- { { } \exp_not:V \_l_siunitx_tmpb_tl { } }
- \hbox_set:Nn \_l_siunitx_table_result_box
- { \_siunitx_print:nV { number } \_l_siunitx_tmpb_tl }
- \prop_if_in:NnF \_l_siunitx_number_out_prop { #1 -uncertainty }
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_reserved_uncert_pm:n #1 {
+ \tl_clear:N \l_siunitx_tmpb_tl
+ \siunitx_number_format_join_uncert_pm:
+ \tl_set:Nx \l_siunitx_tmpb_tl
+ { { } \exp_not:V \l_siunitx_tmpb_tl { } }
+ \hbox_set:Nn \l_siunitx_table_result_box
+ { \siunitx_print:nV { number } \l_siunitx_tmpb_tl }
+ \prop_if_in:NnF \l_siunitx_number_out_prop { #1 -uncertainty }
{
- \hbox_set_to_wd:Nnn \_l_siunitx_table_result_box
- { \box_wd:N \_l_siunitx_table_result_box } { \tex_hfil:D }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_result_box
+ { \box_wd:N \l_siunitx_table_result_box } { \tex_hfil:D }
}
- \box_use:N \_l_siunitx_table_result_box
+ \box_use:N \l_siunitx_table_result_box
}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_reserved_exponent: {
- \dim_zero:N \_l_siunitx_table_gap_dim
- \_siunitx_table_print_S_reserved_exponent_product:
- \_siunitx_table_print_S_measure:Nnn \_l_siunitx_table_model_prop
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_reserved_exponent: {
+ \dim_zero:N \l_siunitx_table_gap_dim
+ \siunitx_table_print_S_reserved_exponent_product:
+ \siunitx_table_print_S_measure:Nnn \l_siunitx_table_model_prop
{ exponent } { }
- \_siunitx_table_print_S_get_exponent:Nn
- \_l_siunitx_number_out_prop { }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_result_box
- { \_l_siunitx_table_exponent_dim }
+ \siunitx_table_print_S_get_exponent:Nn
+ \l_siunitx_number_out_prop { }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_result_box
+ { \l_siunitx_table_exponent_dim }
{
- \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl
+ \siunitx_print:nV { number } \l_siunitx_tmpa_tl
\tex_hfil:D
}
- \box_use:N \_l_siunitx_table_result_box
+ \box_use:N \l_siunitx_table_result_box
}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_reserved_exponent_product: {
- \tl_clear:N \_l_siunitx_tmpa_tl
- \box_clear:N \_l_siunitx_table_result_box
- \prop_if_in:NnTF \_l_siunitx_table_model_prop { mantissa-result }
- { \_siunitx_table_print_S_reserved_exponent_product_aux_i: }
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_reserved_exponent_product: {
+ \tl_clear:N \l_siunitx_tmpa_tl
+ \box_clear:N \l_siunitx_table_result_box
+ \prop_if_in:NnTF \l_siunitx_table_model_prop { mantissa-result }
+ { \siunitx_table_print_S_reserved_exponent_product_aux_i: }
{
- \prop_if_in:NnT \_l_siunitx_table_model_prop { complex-result }
- { \_siunitx_table_print_S_reserved_exponent_product_aux_i: }
+ \prop_if_in:NnT \l_siunitx_table_model_prop { complex-result }
+ { \siunitx_table_print_S_reserved_exponent_product_aux_i: }
}
- \box_use:N \_l_siunitx_table_result_box
+ \box_use:N \l_siunitx_table_result_box
}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_reserved_exponent_product_aux_i: {
- \tl_set_eq:NN \_l_siunitx_tmpa_tl \_l_siunitx_exponent_product_tl
- \bool_if:NT \_l_siunitx_tight_bool
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_reserved_exponent_product_aux_i: {
+ \tl_set_eq:NN \l_siunitx_tmpa_tl \l_siunitx_exponent_product_tl
+ \bool_if:NT \l_siunitx_tight_bool
{
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { { \exp_not:V \_l_siunitx_tmpa_tl } }
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { { \exp_not:V \l_siunitx_tmpa_tl } }
}
- \tl_set:Nx \_l_siunitx_tmpa_tl
+ \tl_set:Nx \l_siunitx_tmpa_tl
{
- \exp_not:N \_siunitx_ensuremath:n
- { { } \exp_not:V \_l_siunitx_tmpa_tl { } }
+ \exp_not:N \siunitx_ensuremath:n
+ { { } \exp_not:V \l_siunitx_tmpa_tl { } }
}
- \hbox_set:Nn \_l_siunitx_table_result_box
- { \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl }
- \prop_if_in:NnTF \_l_siunitx_number_out_prop { exponent-result }
+ \hbox_set:Nn \l_siunitx_table_result_box
+ { \siunitx_print:nV { number } \l_siunitx_tmpa_tl }
+ \prop_if_in:NnTF \l_siunitx_number_out_prop { exponent-result }
{
- \prop_if_in:NnF \_l_siunitx_number_out_prop { mantissa-result }
+ \prop_if_in:NnF \l_siunitx_number_out_prop { mantissa-result }
{
- \prop_if_in:NnF \_l_siunitx_number_out_prop { complex-result }
+ \prop_if_in:NnF \l_siunitx_number_out_prop { complex-result }
{
- \_siunitx_table_print_S_reserved_exponent_product_aux_ii:
+ \siunitx_table_print_S_reserved_exponent_product_aux_ii:
}
}
}
- { \_siunitx_table_print_S_reserved_exponent_product_aux_ii: }
+ { \siunitx_table_print_S_reserved_exponent_product_aux_ii: }
}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_reserved_exponent_product_aux_ii: {
- \hbox_set_to_wd:Nnn \_l_siunitx_table_result_box
- { \box_wd:N \_l_siunitx_table_result_box } { \tex_hfil:D }
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_measure:Nnn #1#2#3 {
- \use:c { _siunitx_table_print_S_get_ #2 :Nn } #1 {#3}
- \tl_if_empty:NTF \_l_siunitx_tmpa_tl
- { \dim_set:cn { _l_siunitx_table_ #2 _dim } { \c_zero_skip } }
- {
- \hbox_set:Nn \_l_siunitx_tmp_box
- { \_siunitx_print:nV { number } \_l_siunitx_tmpa_tl }
- \dim_set:cn { _l_siunitx_table_ #2 _dim }
- { \box_wd:N \_l_siunitx_tmp_box }
- }
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_get_decimal:Nn #1#2 {
- \prop_get:NnN #1 { #2 -decimal } \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
- { \tl_clear:N \_l_siunitx_tmpa_tl }
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_get_exponent:Nn #1#2 {
- \prop_get:NnN #1 { exponent-result } \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
- { \tl_clear:N \_l_siunitx_tmpa_tl }
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_get_integer:Nn #1#2 {
- \prop_get:NnN #1 { #2 -sign } \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
- { \tl_clear:N \_l_siunitx_tmpa_tl }
- \prop_get:NnN #1 { #2 -integer } \_l_siunitx_tmpb_tl
- \quark_if_no_value:NT \_l_siunitx_tmpb_tl
- { \tl_clear:N \_l_siunitx_tmpb_tl }
- \tl_put_right:NV \_l_siunitx_tmpa_tl \_l_siunitx_tmpb_tl
-}
-\cs_set_protected_nopar:Npn
- \_siunitx_table_print_S_get_mantissa:Nn #1#2 {
- \prop_get:NnN #1 { mantissa } \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
- { \tl_clear:N \_l_siunitx_tmpa_tl }
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_get_marker:Nn #1#2 {
- \tl_set:Nx \_l_siunitx_tmpa_tl
- {
- \exp_not:N \_siunitx_ensuremath:n
- { \exp_not:V \_l_siunitx_output_decimal_tl }
- }
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_get_result:Nn #1#2 {
- \prop_get:NnN #1 { result } \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
- { \tl_clear:N \_l_siunitx_tmpa_tl }
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_print_S_get_uncert:Nn #1#2 {
- \prop_get:NnN #1 { #2 -uncertainty } \_l_siunitx_tmpa_tl
- \quark_if_no_value:NT \_l_siunitx_tmpa_tl
- { \tl_clear:N \_l_siunitx_tmpa_tl }
-}
-\cs_set_protected_nopar:Npn \_siunitx_table_direct: {
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_reserved_exponent_product_aux_ii: {
+ \hbox_set_to_wd:Nnn \l_siunitx_table_result_box
+ { \box_wd:N \l_siunitx_table_result_box } { \tex_hfil:D }
+}
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_measure:Nnn #1#2#3 {
+ \use:c { siunitx_table_print_S_get_ #2 :Nn } #1 {#3}
+ \tl_if_empty:NTF \l_siunitx_tmpa_tl
+ { \dim_set:cn { l_siunitx_table_ #2 _dim } { \c_zero_skip } }
+ {
+ \hbox_set:Nn \l_siunitx_tmp_box
+ { \siunitx_print:nV { number } \l_siunitx_tmpa_tl }
+ \dim_set:cn { l_siunitx_table_ #2 _dim }
+ { \box_wd:N \l_siunitx_tmp_box }
+ }
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_get_decimal:Nn #1#2 {
+ \prop_get:NnN #1 { #2 -decimal } \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
+ { \tl_clear:N \l_siunitx_tmpa_tl }
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_get_exponent:Nn #1#2 {
+ \prop_get:NnN #1 { exponent-result } \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
+ { \tl_clear:N \l_siunitx_tmpa_tl }
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_get_integer:Nn #1#2 {
+ \prop_get:NnN #1 { #2 -sign } \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
+ { \tl_clear:N \l_siunitx_tmpa_tl }
+ \prop_get:NnN #1 { #2 -integer } \l_siunitx_tmpb_tl
+ \quark_if_no_value:NT \l_siunitx_tmpb_tl
+ { \tl_clear:N \l_siunitx_tmpb_tl }
+ \tl_put_right:NV \l_siunitx_tmpa_tl \l_siunitx_tmpb_tl
+}
+\cs_new_protected_nopar:Npn
+ \siunitx_table_print_S_get_mantissa:Nn #1#2 {
+ \prop_get:NnN #1 { mantissa } \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
+ { \tl_clear:N \l_siunitx_tmpa_tl }
+}
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_get_marker:Nn #1#2 {
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ {
+ \exp_not:N \siunitx_ensuremath:n
+ { \exp_not:V \l_siunitx_output_decimal_tl }
+ }
+}
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_get_result:Nn #1#2 {
+ \prop_get:NnN #1 { result } \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
+ { \tl_clear:N \l_siunitx_tmpa_tl }
+}
+\cs_new_protected_nopar:Npn \siunitx_table_print_S_get_uncert:Nn #1#2 {
+ \prop_get:NnN #1 { #2 -uncertainty } \l_siunitx_tmpa_tl
+ \quark_if_no_value:NT \l_siunitx_tmpa_tl
+ { \tl_clear:N \l_siunitx_tmpa_tl }
+}
+\cs_new_protected_nopar:Npn \siunitx_table_direct: {
\m@th
- \bool_if:NTF \_l_siunitx_table_center_decimal_bool
- { \_siunitx_table_direct_centered: }
- { \_siunitx_table_direct_reserved: }
+ \bool_if:NTF \l_siunitx_table_center_decimal_bool
+ { \siunitx_table_direct_centered: }
+ { \siunitx_table_direct_reserved: }
}
\char_make_active:N \@
-\cs_set_protected_nopar:Npn \_siunitx_table_direct_centered: {
- \cs_set_eq:NN \_siunitx_table_print:
- \_siunitx_table_direct_centered_end:
- \hbox_set:Nn \_l_siunitx_tmp_box
- { \_siunitx_ensuremath:n { \_l_siunitx_output_decimal_tl } }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_post_box
- { \box_wd:N \_l_siunitx_tmp_box }
+\cs_new_protected_nopar:Npn \siunitx_table_direct_centered: {
+ \cs_set_eq:NN \siunitx_table_print:
+ \siunitx_table_direct_centered_end:
+ \hbox_set:Nn \l_siunitx_tmp_box
+ { \siunitx_ensuremath:n { \l_siunitx_output_decimal_tl } }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_post_box
+ { \box_wd:N \l_siunitx_tmp_box }
{ \tex_hfil:D }
- \hbox_set:Nn \_l_siunitx_table_pre_box
+ \hbox_set:Nn \l_siunitx_table_pre_box
\c_group_begin_token
\c_math_shift_token
- \tl_map_function:NN \_l_siunitx_input_decimal_tl
- \_siunitx_table_direct_centered_aux:N
+ \tl_map_function:NN \l_siunitx_input_decimal_tl
+ \siunitx_table_direct_centered_aux:N
}
-\cs_set_protected_nopar:Npn \_siunitx_table_direct_centered_aux:N #1 {
+\cs_new_protected_nopar:Npn \siunitx_table_direct_centered_aux:N #1 {
\char_set_lccode:nn { `\@ } { `#1 }
\char_set_mathcode:nn { `#1 } { 32768 }
\tl_to_lowercase:n { \cs_set_nopar:Npn @ }
{
\c_math_shift_token
\c_group_end_token
- \hbox_set:Nn \_l_siunitx_table_post_box
+ \hbox_set:Nn \l_siunitx_table_post_box
\c_group_begin_token
\c_math_shift_token
- \_l_siunitx_output_decimal_tl
+ \l_siunitx_output_decimal_tl
}
}
\char_make_letter:N \@
-\cs_set_protected_nopar:Npn \_siunitx_table_direct_centered_end: {
+\cs_new_protected_nopar:Npn \siunitx_table_direct_centered_end: {
\c_math_shift_token
\c_group_end_token
\dim_compare:nNnTF
- { \box_wd:N \_l_siunitx_table_pre_box } >
- { \box_wd:N \_l_siunitx_table_post_box }
+ { \box_wd:N \l_siunitx_table_pre_box } >
+ { \box_wd:N \l_siunitx_table_post_box }
{
- \hbox_set_to_wd:Nnn \_l_siunitx_table_post_box
- { \box_wd:N \_l_siunitx_table_pre_box }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_post_box
+ { \box_wd:N \l_siunitx_table_pre_box }
{
- \hbox_unpack:N \_l_siunitx_table_post_box
+ \hbox_unpack:N \l_siunitx_table_post_box
\tex_hfil:D
}
}
{
- \hbox_set_to_wd:Nnn \_l_siunitx_table_pre_box
- { \box_wd:N \_l_siunitx_table_post_box }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_pre_box
+ { \box_wd:N \l_siunitx_table_post_box }
{
\tex_hfil:D
- \hbox_unpack:N \_l_siunitx_table_pre_box
+ \hbox_unpack:N \l_siunitx_table_pre_box
}
}
- \box_use:N \_l_siunitx_table_pre_box
- \box_use:N \_l_siunitx_table_post_box
+ \box_use:N \l_siunitx_table_pre_box
+ \box_use:N \l_siunitx_table_post_box
}
\char_make_active:N \@
-\cs_set_protected_nopar:Npn \_siunitx_table_direct_reserved: {
- \cs_set_eq:NN \_siunitx_table_print:
- \_siunitx_table_direct_reserved_end:
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { \prg_replicate:nn { \_l_siunitx_table_integer_int } { 8 } }
- \hbox_set:Nn \_l_siunitx_tmp_box
+\cs_new_protected_nopar:Npn \siunitx_table_direct_reserved: {
+ \cs_set_eq:NN \siunitx_table_print:
+ \siunitx_table_direct_reserved_end:
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { \prg_replicate:nn { \l_siunitx_table_integer_int } { 8 } }
+ \hbox_set:Nn \l_siunitx_tmp_box
{
- \_siunitx_ensuremath:n
+ \siunitx_ensuremath:n
{
- \bool_if:NT \_l_siunitx_table_sign_mantissa_bool { - }
- \_l_siunitx_tmpa_tl
+ \bool_if:NT \l_siunitx_table_sign_mantissa_bool { - }
+ \l_siunitx_tmpa_tl
}
}
- \dim_set:Nn \_l_siunitx_table_integer_dim
- { \box_wd:N \_l_siunitx_tmp_box }
- \tl_set:Nx \_l_siunitx_tmpa_tl
- { \prg_replicate:nn { \_l_siunitx_table_decimal_int } { 8 } }
- \hbox_set:Nn \_l_siunitx_tmp_box
+ \dim_set:Nn \l_siunitx_table_integer_dim
+ { \box_wd:N \l_siunitx_tmp_box }
+ \tl_set:Nx \l_siunitx_tmpa_tl
+ { \prg_replicate:nn { \l_siunitx_table_decimal_int } { 8 } }
+ \hbox_set:Nn \l_siunitx_tmp_box
{
- \_siunitx_ensuremath:n
+ \siunitx_ensuremath:n
{
- \_l_siunitx_output_decimal_tl
- \_l_siunitx_tmpa_tl
+ \l_siunitx_output_decimal_tl
+ \l_siunitx_tmpa_tl
}
}
- \hbox_set_to_wd:Nnn \_l_siunitx_table_post_box
- { \box_wd:N \_l_siunitx_tmp_box }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_post_box
+ { \box_wd:N \l_siunitx_tmp_box }
{ \tex_hfil:D }
- \hbox_set_to_wd:Nnn \_l_siunitx_table_pre_box
- { \_l_siunitx_table_integer_dim }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_pre_box
+ { \l_siunitx_table_integer_dim }
\c_group_begin_token
\c_math_shift_token
- \tl_map_function:NN \_l_siunitx_input_decimal_tl
- \_siunitx_table_direct_reserved_aux:N
+ \tl_map_function:NN \l_siunitx_input_decimal_tl
+ \siunitx_table_direct_reserved_aux:N
\tex_hfill:D
}
-\cs_set_protected_nopar:Npn \_siunitx_table_direct_reserved_aux:N #1 {
+\cs_new_protected_nopar:Npn \siunitx_table_direct_reserved_aux:N #1 {
\char_set_lccode:nn { `\@ } { `#1 }
\char_set_mathcode:nn { `#1 } { 32768 }
\tl_to_lowercase:n { \cs_set_nopar:Npn @ }
{
\c_math_shift_token
\c_group_end_token
- \hbox_set_to_wd:Nnn \_l_siunitx_table_post_box
- { \box_wd:N \_l_siunitx_tmp_box }
+ \hbox_set_to_wd:Nnn \l_siunitx_table_post_box
+ { \box_wd:N \l_siunitx_tmp_box }
\c_group_begin_token
\c_math_shift_token
- \_l_siunitx_output_decimal_tl
+ \l_siunitx_output_decimal_tl
}
}
\char_make_letter:N \@
-\cs_set_protected_nopar:Npn \_siunitx_table_direct_reserved_end: {
+\cs_new_protected_nopar:Npn \siunitx_table_direct_reserved_end: {
\c_math_shift_token
\tex_hfil:D
\c_group_end_token
- \_siunitx_table_align_left:n { \_l_siunitx_table_number_align_skip }
- \box_use:N \_l_siunitx_table_pre_box
- \box_use:N \_l_siunitx_table_post_box
- \_siunitx_table_align_right:n { \_l_siunitx_table_number_align_skip }
+ \siunitx_table_align_left:n { \l_siunitx_table_number_align_skip }
+ \box_use:N \l_siunitx_table_pre_box
+ \box_use:N \l_siunitx_table_post_box
+ \siunitx_table_align_right:n { \l_siunitx_table_number_align_skip }
}
\keys_define:nn { siunitx } {
- redefine-symbols .bool_set:N = \_l_siunitx_redefine_symbols_bool,
+ redefine-symbols .bool_set:N = \l_siunitx_redefine_symbols_bool,
}
\keys_set:nn { siunitx } {
redefine-symbols = true
}
\AtBeginDocument {
- \bool_if:NT \_l_siunitx_redefine_symbols_bool
+ \bool_if:NT \l_siunitx_redefine_symbols_bool
{
\@ifpackageloaded { textcomp }
{
@@ -5298,13 +5298,13 @@
}
}
\keys_define:nn { siunitx } {
- math-angstrom .tl_set:N = \_l_siunitx_angstrom_math_tl,
- math-arcminute .tl_set:N = \_l_siunitx_arcminute_math_tl,
- math-arcsecond .tl_set:N = \_l_siunitx_arcsecond_math_tl,
- math-celsius .tl_set:N = \_l_siunitx_celsius_math_tl,
- math-degree .tl_set:N = \_l_siunitx_degree_math_tl,
- math-micro .tl_set:N = \_l_siunitx_micro_math_tl,
- math-ohm .tl_set:N = \_l_siunitx_ohm_math_tl
+ math-angstrom .tl_set:N = \l_siunitx_angstrom_math_tl,
+ math-arcminute .tl_set:N = \l_siunitx_arcminute_math_tl,
+ math-arcsecond .tl_set:N = \l_siunitx_arcsecond_math_tl,
+ math-celsius .tl_set:N = \l_siunitx_celsius_math_tl,
+ math-degree .tl_set:N = \l_siunitx_degree_math_tl,
+ math-micro .tl_set:N = \l_siunitx_micro_math_tl,
+ math-ohm .tl_set:N = \l_siunitx_ohm_math_tl
}
\keys_set:nn { siunitx } {
math-angstrom = \text { \AA },
@@ -5312,17 +5312,17 @@
math-arcsecond = { } ^ { \prime \prime },
math-celsius = { } ^ { \circ } \kern - \scriptspace \mathrm { C },
math-degree = { } ^ { \circ },
- math-micro = \text { \_c_siunitx_mu_tl },
- math-ohm = \text { \ensuremath { \_c_siunitx_omega_tl } },
+ math-micro = \text { \c_siunitx_mu_tl },
+ math-ohm = \text { \ensuremath { \c_siunitx_omega_tl } },
}
\keys_define:nn { siunitx } {
- text-angstrom .tl_set:N = \_l_siunitx_angstrom_text_tl,
- text-arcminute .tl_set:N = \_l_siunitx_arcminute_text_tl,
- text-arcsecond .tl_set:N = \_l_siunitx_arcsecond_text_tl,
- text-celsius .tl_set:N = \_l_siunitx_celsius_text_tl,
- text-degree .tl_set:N = \_l_siunitx_degree_text_tl,
- text-micro .tl_set:N = \_l_siunitx_micro_text_tl,
- text-ohm .tl_set:N = \_l_siunitx_ohm_text_tl,
+ text-angstrom .tl_set:N = \l_siunitx_angstrom_text_tl,
+ text-arcminute .tl_set:N = \l_siunitx_arcminute_text_tl,
+ text-arcsecond .tl_set:N = \l_siunitx_arcsecond_text_tl,
+ text-celsius .tl_set:N = \l_siunitx_celsius_text_tl,
+ text-degree .tl_set:N = \l_siunitx_degree_text_tl,
+ text-micro .tl_set:N = \l_siunitx_micro_text_tl,
+ text-ohm .tl_set:N = \l_siunitx_ohm_text_tl,
}
\keys_set:nn { siunitx } {
text-angstrom = \AA,
@@ -5331,90 +5331,90 @@
text-celsius =
\ensuremath { { } ^ { \circ } \kern - \scriptspace \text { C } },
text-degree = \ensuremath { { } ^ { \circ } },
- text-micro = \_c_siunitx_mu_tl ,
- text-ohm = \ensuremath { \_c_siunitx_omega_tl },
+ text-micro = \c_siunitx_mu_tl ,
+ text-ohm = \ensuremath { \c_siunitx_omega_tl },
}
-\cs_set_protected:Npn \_siunitx_symbol_new:n #1 {
+\cs_new_protected:Npn \siunitx_symbol_new:n #1 {
\cs_set_protected_nopar:cpn { SIUnitSymbol #1 }
{
\mode_if_math:TF
- { \tl_to_lowercase:n { \use:c { _l_siunitx_ #1 _math_tl } } }
- { \tl_to_lowercase:n { \use:c { _l_siunitx_ #1 _text_tl } } }
- }
-}
-\_siunitx_symbol_new:n { Angstrom }
-\_siunitx_symbol_new:n { Arcminute }
-\_siunitx_symbol_new:n { Arcsecond }
-\_siunitx_symbol_new:n { Celsius }
-\_siunitx_symbol_new:n { Degree }
-\_siunitx_symbol_new:n { Micro }
-\_siunitx_symbol_new:n { Ohm }
-\clist_new:N \_l_siunitx_pgf_link_clist
-\cs_set_protected_nopar:Npn \_siunitx_pgf_link: {
- \clist_clear:N \_l_siunitx_pgf_link_clist
- \tl_if_eq:VnT \_l_siunitx_round_tl { figure }
- {
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist { fixed }
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ { \tl_to_lowercase:n { \use:c { l_siunitx_ #1 _math_tl } } }
+ { \tl_to_lowercase:n { \use:c { l_siunitx_ #1 _text_tl } } }
+ }
+}
+\siunitx_symbol_new:n { Angstrom }
+\siunitx_symbol_new:n { Arcminute }
+\siunitx_symbol_new:n { Arcsecond }
+\siunitx_symbol_new:n { Celsius }
+\siunitx_symbol_new:n { Degree }
+\siunitx_symbol_new:n { Micro }
+\siunitx_symbol_new:n { Ohm }
+\clist_new:N \l_siunitx_pgf_link_clist
+\cs_new_protected_nopar:Npn \siunitx_pgf_link: {
+ \clist_clear:N \l_siunitx_pgf_link_clist
+ \tl_if_eq:VnT \l_siunitx_round_tl { figure }
+ {
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist { fixed }
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ fixed~zerofill = true }
}
- \clist_put_right:Nx \_l_siunitx_pgf_link_clist
- { precision = \int_use:N \_l_siunitx_process_precision_int }
- \clist_put_right:Nx \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nx \l_siunitx_pgf_link_clist
+ { precision = \int_use:N \l_siunitx_process_precision_int }
+ \clist_put_right:Nx \l_siunitx_pgf_link_clist
{
set~decimal~separator =
- { { \exp_not:V \_l_siunitx_output_decimal_tl } }
+ { { \exp_not:V \l_siunitx_output_decimal_tl } }
}
- \clist_put_right:Nx \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nx \l_siunitx_pgf_link_clist
{
set~thousands~separator =
- { \exp_not:V \_l_siunitx_group_sep_tl }
+ { \exp_not:V \l_siunitx_group_sep_tl }
}
- \bool_if:NTF \_l_siunitx_group_four_bool
+ \bool_if:NTF \l_siunitx_group_four_bool
{
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ min~exponent~for~1000~sep = 3 }
}
{
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ min~exponent~for~1000~sep = 4 }
}
\bool_if:nF
{
- \_l_siunitx_group_decimal_bool ||
- \_l_siunitx_group_integer_bool
+ \l_siunitx_group_decimal_bool ||
+ \l_siunitx_group_integer_bool
}
{
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ min~exponent~for~1000~sep = 999 }
}
- \bool_if:NTF \_l_siunitx_process_integer_zero_bool
+ \bool_if:NTF \l_siunitx_process_integer_zero_bool
{
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ skip~0. = false }
}
{
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ skip~0. = true }
}
- \tl_if_eq:VnTF \_l_siunitx_process_sign_tl { + }
+ \tl_if_eq:VnTF \l_siunitx_process_sign_tl { + }
{
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ showpos = true }
}
{
- \clist_put_right:Nn \_l_siunitx_pgf_link_clist
+ \clist_put_right:Nn \l_siunitx_pgf_link_clist
{ showpos = false }
}
\group_begin:
- \cs_set_nopar:Npx \_siunitx_tmp:w
+ \cs_set_nopar:Npx \siunitx_tmp:w
{
\group_end:
\exp_not:N \pgfqkeys
{ /pgf/number~format }
- { \exp_not:V \_l_siunitx_pgf_link_clist }
+ { \exp_not:V \l_siunitx_pgf_link_clist }
}
- \_siunitx_tmp:w
+ \siunitx_tmp:w
}
\msg_set:nnnn { siunitx } { bad-arc-sign }
{ Incorrect~use~of~sign~in~degree-minute-second~angle. }
@@ -5566,26 +5566,26 @@
\token_to_str:N { siunitx \token_to_str:N } \\
in~the~preamble~to~load~the~appropriate~code.
}
-\cs_set_protected_nopar:Npn \DeclareBinaryPrefix #1#2#3 {
- \_siunitx_declare_prefix:Nnnn #1 {#2} { 2 } {#3}
+\cs_new_protected_nopar:Npn \DeclareBinaryPrefix #1#2#3 {
+ \siunitx_declare_prefix:Nnnn #1 {#2} { 2 } {#3}
}
-\cs_set_protected_nopar:Npn \DeclareSIPostPower #1#2 {
- \_siunitx_declare_power_after:Nn #1 {#2}
+\cs_new_protected_nopar:Npn \DeclareSIPostPower #1#2 {
+ \siunitx_declare_power_after:Nn #1 {#2}
}
-\cs_set_protected_nopar:Npn \DeclareSIPrefix #1#2#3 {
- \_siunitx_declare_prefix:Nnnn #1 {#2} { 10 } {#3}
+\cs_new_protected_nopar:Npn \DeclareSIPrefix #1#2#3 {
+ \siunitx_declare_prefix:Nnnn #1 {#2} { 10 } {#3}
}
-\cs_set_protected_nopar:Npn \DeclareSIPrePower #1#2 {
- \_siunitx_declare_power_before:Nn #1 {#2}
+\cs_new_protected_nopar:Npn \DeclareSIPrePower #1#2 {
+ \siunitx_declare_power_before:Nn #1 {#2}
}
-\cs_set_protected_nopar:Npn \DeclareSIQualifier #1#2 {
- \_siunitx_declare_qualifier:Nn #1 {#2}
+\cs_new_protected_nopar:Npn \DeclareSIQualifier #1#2 {
+ \siunitx_declare_qualifier:Nn #1 {#2}
}
-\cs_set_protected_nopar:Npn \DeclareSIUnit #1#2 {
- \_siunitx_declare_unit:Nnn #1 {#2} { }
+\cs_new_protected_nopar:Npn \DeclareSIUnit #1#2 {
+ \siunitx_declare_unit:Nnn #1 {#2} { }
}
-\cs_set_protected_nopar:Npn \DeclareSIUnitWithOptions #1#2#3 {
- \_siunitx_declare_unit:Nnn #1 {#2} {#3}
+\cs_new_protected_nopar:Npn \DeclareSIUnitWithOptions #1#2#3 {
+ \siunitx_declare_unit:Nnn #1 {#2} {#3}
}
\@onlypreamble \DeclareBinaryPrefix
\@onlypreamble \DeclareSIPostPower
@@ -5594,72 +5594,72 @@
\@onlypreamble \DeclareSIQualifier
\@onlypreamble \DeclareSIUnit
\@onlypreamble \DeclareSIUnitWithOptions
-\cs_set_protected_nopar:Npn \SendSettingsToPgf { \_siunitx_pgf_link: }
+\cs_new_protected_nopar:Npn \SendSettingsToPgf { \siunitx_pgf_link: }
\NewDocumentCommand \ang { o > { \SplitArgument { 2 } { ; } } m } {
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { siunitx } {#1} }
- \_siunitx_angle_output:nnn #2
+ \siunitx_angle_output:nnn #2
\group_end:
}
\NewDocumentCommand \num { o m } {
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { siunitx } {#1} }
- \_siunitx_number_output:n {#2}
+ \siunitx_number_output:n {#2}
\group_end:
}
\NewDocumentCommand \numlist { o > { \SplitList { ; } } m } {
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { siunitx } {#1} }
- \_siunitx_list_numbers:n {#2}
+ \siunitx_list_numbers:n {#2}
\group_end:
}
\NewDocumentCommand \numrange { o m m } {
\group_begin:
\IfNoValueF {#1}
{ \keys_set:nn { siunitx } {#1} }
- \_siunitx_range_numbers:nn {#2} {#3}
+ \siunitx_range_numbers:nn {#2} {#3}
\group_end:
}
\NewDocumentCommand \si { o m } {
\group_begin:
\IfNoValueTF {#1}
- { \_siunitx_unit_output:nn {#2} { } }
+ { \siunitx_unit_output:nn {#2} { } }
{
\keys_set:nn { siunitx } {#1}
- \_siunitx_unit_output:nn {#2} {#1}
+ \siunitx_unit_output:nn {#2} {#1}
}
\group_end:
}
\NewDocumentCommand \SIlist { o > { \SplitList { ; } } m m } {
\group_begin:
\IfNoValueTF {#1}
- { \_siunitx_list_units:nnn {#2} {#3} { } }
+ { \siunitx_list_units:nnn {#2} {#3} { } }
{
\keys_set:nn { siunitx } {#1}
- \_siunitx_list_units:nnn {#2} {#3} {#1}
+ \siunitx_list_units:nnn {#2} {#3} {#1}
}
\group_end:
}
\NewDocumentCommand \SIrange { o m m m } {
\group_begin:
\IfNoValueTF {#1}
- { \_siunitx_range_unit:nnnn {#4} { } {#2} {#3} }
+ { \siunitx_range_unit:nnnn {#4} { } {#2} {#3} }
{
\keys_set:nn { siunitx } {#1}
- \_siunitx_range_unit:nnnn {#4} {#1} {#2} {#3}
+ \siunitx_range_unit:nnnn {#4} {#1} {#2} {#3}
}
\group_end:
}
\NewDocumentCommand \SI { o m o m } {
\group_begin:
\IfNoValueTF {#1}
- { \_siunitx_combined:nnnn { } {#2} {#3} {#4} }
+ { \siunitx_combined:nnnn { } {#2} {#3} {#4} }
{
\keys_set:nn { siunitx } {#1}
- \_siunitx_combined:nnnn {#1} {#2} {#3} {#4}
+ \siunitx_combined:nnnn {#1} {#2} {#3} {#4}
}
\group_end:
}
@@ -5674,25 +5674,25 @@
\cs_set_eq:NN \label \use_none:n
\cs_set_eq:NN \index \use_none:n
\cs_set_eq:NN \glossary\use_none:n
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_contents_add:N
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_contents_add:N
}
{ \token_to_str:N \@writefile {#1} {#2} }
}
}
-\cs_set_protected_nopar:Npn \_siunitx_contents_add:N #1 {
+\cs_new_protected_nopar:Npn \siunitx_contents_add:N #1 {
\cs_set_nopar:Npn #1 { \token_to_str:N #1 }
}
-\cs_set_protected_nopar:Npn \_siunitx_contents_bookmarks: {
- \tl_map_function:NN \_l_siunitx_declare_list_tl
- \_siunitx_unit_print_literal_aux:N
+\cs_new_protected_nopar:Npn \siunitx_contents_bookmarks: {
+ \tl_map_function:NN \l_siunitx_declare_list_tl
+ \siunitx_unit_print_literal_aux:N
\msg_redirect_name:nnn { LaTeX / xparse } { redefine-command }
{ none }
- \cs_set_eq:NN \num \_siunitx_bookmark_num:w
- \cs_set_eq:NN \numrange \_siunitx_bookmark_numrange:w
- \cs_set_eq:NN \si \_siunitx_bookmark_si:w
- \cs_set_eq:NN \SI \_siunitx_bookmark_SI:w
- \cs_set_eq:NN \SIrange \_siunitx_bookmark_SIrange:w
+ \cs_set_eq:NN \num \siunitx_bookmark_num:w
+ \cs_set_eq:NN \numrange \siunitx_bookmark_numrange:w
+ \cs_set_eq:NN \si \siunitx_bookmark_si:w
+ \cs_set_eq:NN \SI \siunitx_bookmark_SI:w
+ \cs_set_eq:NN \SIrange \siunitx_bookmark_SIrange:w
\cs_set_nopar:Npn \SIUnitSymbolAngstrom { \AA }
\cs_set_nopar:Npn \SIUnitSymbolArcminute { ' }
\cs_set_nopar:Npn \SIUnitSymbolArcsecond { '' }
@@ -5701,17 +5701,17 @@
\cs_set_nopar:Npn \SIUnitSymbolMicro { \textmu }
\cs_set_nopar:Npn \SIUnitSymbolOhm { [ohm] }
}
-\DeclareExpandableDocumentCommand \_siunitx_bookmark_num:w { o m } {#2}
-\DeclareExpandableDocumentCommand \_siunitx_bookmark_numrange:w { o m m }
- { #2 \_l_siunitx_range_phrase_tl #3 }
-\DeclareExpandableDocumentCommand \_siunitx_bookmark_si:w { o m } {#2}
-\DeclareExpandableDocumentCommand \_siunitx_bookmark_SI:w { o m o m }
+\DeclareExpandableDocumentCommand \siunitx_bookmark_num:w { o m } {#2}
+\DeclareExpandableDocumentCommand \siunitx_bookmark_numrange:w { o m m }
+ { #2 \l_siunitx_range_phrase_tl #3 }
+\DeclareExpandableDocumentCommand \siunitx_bookmark_si:w { o m } {#2}
+\DeclareExpandableDocumentCommand \siunitx_bookmark_SI:w { o m o m }
{ \IfNoValueF {#3} {#3} #2 ~ #4 }
-\DeclareExpandableDocumentCommand \_siunitx_bookmark_SIrange:w
- { o m m m } { #2 ~ #4 \_l_siunitx_range_phrase_tl #3 ~ #4 }
+\DeclareExpandableDocumentCommand \siunitx_bookmark_SIrange:w
+ { o m m m } { #2 ~ #4 \l_siunitx_range_phrase_tl #3 ~ #4 }
\AtBeginDocument {
\@ifpackageloaded { hyperref }
- { \pdfstringdefDisableCommands { \_siunitx_contents_bookmarks: } }
+ { \pdfstringdefDisableCommands { \siunitx_contents_bookmarks: } }
{ }
}
\DeclareSIUnit \kilogram { \kilo \gram }
@@ -5834,7 +5834,7 @@
parse-units = true,
product-units = repeat,
}
- \_siunitx_strict_option:n
+ \siunitx_strict_option:n
{
bracket-numbers ,
detect-italic ,
@@ -5855,46 +5855,46 @@
}
}
}
-\_siunitx_option_deactivate:n { strict }
-\cs_set_protected_nopar:Npn \_siunitx_strict_option:n #1 {
- \clist_map_function:nN {#1} \_siunitx_strict_option_aux:n
+\siunitx_option_deactivate:n { strict }
+\cs_new_protected_nopar:Npn \siunitx_strict_option:n #1 {
+ \clist_map_function:nN {#1} \siunitx_strict_option_aux:n
}
-\cs_set_protected_nopar:Npn \_siunitx_strict_option_aux:n #1 {
+\cs_new_protected_nopar:Npn \siunitx_strict_option_aux:n #1 {
\keys_define:nn { siunitx }
{ #1 .code:n =
- { \msg_warning:nnx { _siunitx} { option-not-available } {#1} }
+ { \msg_warning:nnx { siunitx } { option-not-available } {#1} }
}
}
\keys_define:nn { siunitx } {
load-configurations .code:n =
- { \_siunitx_load_configuration:n {#1} }
+ { \siunitx_load_configuration:n {#1} }
}
-\cs_set_protected:Npn \_siunitx_load_configuration:n #1 {
- \tl_set_rescan:Nnn \_l_siunitx_tmpa_tl
+\cs_new_protected:Npn \siunitx_load_configuration:n #1 {
+ \tl_set_rescan:Nnn \l_siunitx_tmpa_tl
{ \char_make_ignore:N \ } {#1}
- \clist_map_function:NN \_l_siunitx_tmpa_tl
- \_siunitx_load_configuration_aux:n
+ \clist_map_function:NN \l_siunitx_tmpa_tl
+ \siunitx_load_configuration_aux:n
}
-\cs_set_protected:Npn \_siunitx_load_configuration_aux:n #1 {
+\cs_new_protected:Npn \siunitx_load_configuration_aux:n #1 {
\tl_if_empty:nF {#1}
{
\file_if_exist:nTF
- { siunitx- #1 . \_c_siunitx_configuration_ext_tl }
+ { siunitx- #1 . \c_siunitx_configuration_ext_tl }
{
\@onefilewithoptions { siunitx- #1 } [ ] [ ]
- \_c_siunitx_configuration_ext_tl
+ \c_siunitx_configuration_ext_tl
}
{
\msg_error:nnx { siunitx } { unknown-configuration-file } {#1}
}
}
}
-\tl_new:N \_c_siunitx_configuration_ext_tl
-\tl_set:Nn \_c_siunitx_configuration_ext_tl { cfg }
-\file_if_exist:nT { siunitx . \_c_siunitx_configuration_ext_tl }
+\tl_new:N \c_siunitx_configuration_ext_tl
+\tl_set:Nn \c_siunitx_configuration_ext_tl { cfg }
+\file_if_exist:nT { siunitx . \c_siunitx_configuration_ext_tl }
{
\@onefilewithoptions { siunitx } [ ] [ ]
- \_c_siunitx_configuration_ext_tl
+ \c_siunitx_configuration_ext_tl
}
\ProcessKeysOptions { siunitx }
%%