summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx')
-rw-r--r--Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx40
1 files changed, 30 insertions, 10 deletions
diff --git a/Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx b/Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx
index fe235989503..21a8fa3be9b 100644
--- a/Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx
+++ b/Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx
@@ -650,7 +650,9 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_polar:nn #1#2
{
- \siunitx_number_parse:nN {#1} \l_@@_mag_tl
+ \bool_if:NTF \l_siunitx_number_parse_bool
+ { \siunitx_number_parse:nN {#1} \l_@@_mag_tl }
+ { \tl_set:Nn \l_@@_mag_tl { \ensuremath {#1} } }
\group_begin:
\keys_set:nn { siunitx }
{
@@ -693,7 +695,9 @@
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_complex_number:n #1
{
- \bool_if:NTF \l_@@_force_polar_bool
+ \bool_lazy_and:nnTF
+ { \l_@@_force_polar_bool }
+ { \l_siunitx_number_parse_bool }
{
\use:e
{
@@ -726,7 +730,9 @@
}
\cs_new_protected:Npn \@@_number:nn #1#2
{
- \bool_if:NTF \l_@@_force_cartesian_bool
+ \bool_lazy_and:nnTF
+ { \l_@@_force_cartesian_bool }
+ { \l_siunitx_number_parse_bool }
{
\exp_args:Ne \siunitx_complex_number:n
{ \@@_convert_cartesian:nn {#1} {#2} }
@@ -738,7 +744,9 @@
}
\cs_new_protected:Npn \siunitx_complex_quantity:nn #1#2
{
- \bool_if:NTF \l_@@_force_polar_bool
+ \bool_lazy_and:nnTF
+ { \l_@@_force_polar_bool }
+ { \l_siunitx_number_parse_bool }
{
\use:e
{
@@ -769,7 +777,9 @@
}
\cs_new_protected:Npn \@@_quantity:nnn #1#2#3
{
- \bool_if:NTF \l_@@_force_cartesian_bool
+ \bool_lazy_and:nnTF
+ { \l_@@_force_cartesian_bool }
+ { \l_siunitx_number_parse_bool }
{
\exp_args:Ne \siunitx_complex_quantity:nn
{ \@@_convert_cartesian:nn {#1} {#2} }
@@ -1019,14 +1029,23 @@
\cs_new_protected:Npn \@@_format_polar:n #1
{
\tl_if_blank:nTF {#1}
- { \siunitx_number_process:NN \l_@@_mag_tl \l_@@_mag_tl }
{
- \use:c
- { @@_format_polar_ \l_siunitx_quantity_prefix_mode_tl :n } {#1}
+ \bool_if:NT \l_siunitx_number_parse_bool
+ { \siunitx_number_process:NN \l_@@_mag_tl \l_@@_mag_tl }
+ }
+ {
+ \bool_if:NTF \l_siunitx_number_parse_bool
+ {
+ \use:c
+ { @@_format_polar_ \l_siunitx_quantity_prefix_mode_tl :n } {#1}
+ }
+ { \@@_format_polar_input:n {#1} }
}
\tl_set:Nx \l_@@_tmp_tl
{
- \siunitx_number_output:N \l_@@_mag_tl
+ \bool_if:NTF \l_siunitx_number_parse_bool
+ { \siunitx_number_output:N \l_@@_mag_tl }
+ { \exp_not:V \l_@@_mag_tl }
\exp_not:V \l_@@_symbol_angle_tl
\mathord % TEMP
\exp_not:V \l_@@_angle_tl
@@ -1058,7 +1077,8 @@
}
\cs_new_protected:Npn \@@_format_polar_input:n #1
{
- \siunitx_number_process:NN \l_@@_mag_tl \l_@@_mag_tl
+ \bool_if:NT \l_siunitx_number_parse_bool
+ { \siunitx_number_process:NN \l_@@_mag_tl \l_@@_mag_tl }
\siunitx_unit_format:nN {#1} \l_@@_unit_tl
}
% \end{macrocode}