diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/siunitx/siunitx-complex.dtx | 40 |
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} |