diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/siunitx/siunitx.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/siunitx/siunitx.sty | 95 |
1 files changed, 60 insertions, 35 deletions
diff --git a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty index e729c455ff9..993b5fd345a 100644 --- a/Master/texmf-dist/tex/latex/siunitx/siunitx.sty +++ b/Master/texmf-dist/tex/latex/siunitx/siunitx.sty @@ -14,7 +14,7 @@ %% --------------------------------------------------------------- %% \RequirePackage{expl3} -\ProvidesExplPackage {siunitx} {2012/05/03} {2.5c} +\ProvidesExplPackage {siunitx} {2012/06/13} {2.5e} {A comprehensive (SI) units package} \@ifpackagelater { expl3 } { 2011/09/05 } { } @@ -4343,32 +4343,22 @@ } \cs_generate_variant:Nn \siunitx_unit_in:nn { V } \cs_new:Npn \siunitx_pm: { } -\cs_new_protected:Npn \siunitx_unit_if_literal:nTF #1 - { - \bool_set_false:N \l_siunitx_tmp_bool - \tl_map_function:nN {#1} \siunitx_unit_if_literal_aux:n - \bool_if:NTF \l_siunitx_tmp_bool - } -\cs_new_protected:Npn \siunitx_unit_if_literal_aux_std:n #1 - { - \cs_if_exist:cF { siunitx_ \tl_to_str:o { \token_to_str:N #1 } _function:w } - { - \bool_set_true:N \l_siunitx_tmp_bool - \tl_map_break: - } - \tl_if_in:nnT { \of \highlight \raiseto \tothe } {#1} - { - \cs_set_eq:NN \siunitx_unit_if_literal_aux:n - \siunitx_unit_if_literal_aux_skip:n - } - } -\cs_new_protected:Npn \siunitx_unit_if_literal_aux_skip:n #1 - { - \cs_set_eq:NN \siunitx_unit_if_literal_aux:n - \siunitx_unit_if_literal_aux_std:n - } -\cs_new_eq:NN \siunitx_unit_if_literal_aux:n \siunitx_unit_if_literal_aux_std:n -\cs_generate_variant:Nn \tl_to_str:n { o } +\cs_new_protected:Npn \siunitx_unit_if_literal:nTF #1#2#3 { + \group_begin: + \seq_map_function:NN \l_siunitx_declare_list_seq + \siunitx_unit_if_literal_aux:N + \cs_set_eq:NN \of \use_none:n + \cs_set_eq:NN \highlight \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} + \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} +} +\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 \prop_new:N \l_siunitx_unit_saved_prop @@ -4568,12 +4558,15 @@ qualifier-mode .choice:, qualifier-mode / brackets .code:n = { \tl_set:Nn \l_siunitx_qualifier_mode_tl { brackets } }, + qualifier-mode / phrase .code:n = + { \tl_set:Nn \l_siunitx_qualifier_mode_tl { phrase } }, qualifier-mode / space .code:n = { \tl_set:Nn \l_siunitx_qualifier_mode_tl { space } }, qualifier-mode / subscript .code:n = { \tl_set:Nn \l_siunitx_qualifier_mode_tl { subscript } }, qualifier-mode / text .code:n = { \tl_set:Nn \l_siunitx_qualifier_mode_tl { text } }, + qualifier-phrase .tl_set:N = \l_siunitx_qualifier_phrase_tl } \keys_set:nn { siunitx } { bracket-unit-denominator = true, @@ -4582,7 +4575,8 @@ per-mode = reciprocal, per-symbol = /, power-font = number, - qualifier-mode = subscript + qualifier-mode = subscript, + qualifier-phrase = { ~ of ~ } } \cs_new_protected:Npn \siunitx_unit_format: { \siunitx_unit_format_init: @@ -4994,6 +4988,14 @@ \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_tmpa_tl \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_bracket_close_tl } +\cs_new_protected_nopar:Npn \siunitx_unit_format_qualifier_phrase: + { + \tl_put_right:NV \l_siunitx_unit_current_tl \l_siunitx_qualifier_phrase_tl + \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_set_catcode_active:N \~ \cs_new_protected:Npn \siunitx_unit_format_qualifier_space: { \tl_put_right:Nn \l_siunitx_unit_current_tl { \text { ~ } } @@ -6787,17 +6789,19 @@ { \@ifpackageloaded { fontspec } { - \int_const:Nn \c_siunitx_degree_int { 176 } - \int_const:Nn \c_siunitx_micro_int { 181 } - \int_const:Nn \c_siunitx_angstrom_int { 197 } - \int_const:Nn \c_siunitx_celsius_int { 8451 } - \int_const:Nn \c_siunitx_ohm_int { 8486 } + \int_const:Nn \c_siunitx_degree_int { 176 } + \int_const:Nn \c_siunitx_micro_int { 181 } + \int_const:Nn \c_siunitx_angstrom_int { 197 } + \int_const:Nn \c_siunitx_ohm_int { 937 } \siunitx_option_unchanged:Nnn \l_siunitx_angstrom_math_tl { \text { \AA } } { \tex_char:D \c_siunitx_angstrom_int } \siunitx_option_unchanged:Nnn \l_siunitx_celsius_math_tl { { } ^ { \circ } \kern - \scriptspace \text { C } } - { \tex_char:D \c_siunitx_celsius_int } + { + \tex_char:D \c_siunitx_degree_int + C + } \siunitx_option_unchanged:Nnn \l_siunitx_degree_math_tl { { } ^ { \circ } } { \tex_char:D \c_siunitx_degree_int } @@ -6815,7 +6819,10 @@ \ensuremath { { } ^ { \circ } \kern - \scriptspace \text { C } } } - { \tex_char:D \c_siunitx_celsius_int } + { + \tex_char:D \c_siunitx_degree_int + C + } \siunitx_option_unchanged:Nnn \l_siunitx_degree_text_tl { \ensuremath { { } ^ { \circ } } } { \tex_char:D \c_siunitx_degree_int } @@ -6827,6 +6834,24 @@ { \tex_char:D \c_siunitx_ohm_int } } { } + \@ifpackageloaded { unicode-math } + { + \int_const:Nn \c_siunitx_arcminute_int { 8242 } + \int_const:Nn \c_siunitx_arcsecond_int { 8243 } + \siunitx_option_unchanged:Nnn \l_siunitx_arcminute_math_tl + { { } ^ { \prime } } + { \ensuremath { \tex_char:D \c_siunitx_arcminute_int } } + \siunitx_option_unchanged:Nnn \l_siunitx_arcsecond_math_tl + { { } ^ { \prime \prime } } + { \ensuremath { \tex_char:D \c_siunitx_arcsecond_int } } + \siunitx_option_unchanged:Nnn \l_siunitx_arcminute_text_tl + { \ensuremath { { } ^ { \prime } } } + { \ensuremath { \tex_char:D \c_siunitx_arcminute_int } } + \siunitx_option_unchanged:Nnn \l_siunitx_arcsecond_text_tl + { \ensuremath { { } ^ { \prime \prime } } } + { \ensuremath { \tex_char:D \c_siunitx_arcsecond_int } } + } + { } } } \clist_new:N \l_siunitx_pgf_link_clist |