%% %% This is file `lwarp-siunitx.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% lwarp.dtx (with options: `siunitx') %% This is a generated file. %% Copyright 2016-2022 Brian Dunn %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2005/12/01 or later. \providecommand\DeclareRelease[3]{} \providecommand\DeclareCurrentRelease[2]{} \DeclareRelease{2}{2010-05-23}{lwarp-siunitx-v2.sty} \DeclareRelease{v2}{2010-05-23}{lwarp-siunitx-v2.sty} \DeclareCurrentRelease{}{2021-05-17} \RequirePackage{xcolor}% for \convertcolorspec \LWR@ProvidesPackagePass{siunitx}[2023-11-14] \ExplSyntaxOn \VerifyCommand[lwarp][siunitx]{\siunitx_number_format:nN}{33A1ECC8D70AC60AEB82D78E598155E6} \cs_set_protected:Npn \siunitx_number_format:nN #1#2 { \group_begin: \bool_if:NTF \l_siunitx_number_parse_bool { \siunitx_number_parse:nN {#1} \l__siunitx_number_parsed_tl \siunitx_number_process:NN \l__siunitx_number_parsed_tl \l__siunitx_number_parsed_tl \tl_set:Nx \l__siunitx_number_outputted_tl { \siunitx_number_output:N \l__siunitx_number_parsed_tl } } { \tl_set:Nn \l__siunitx_number_outputted_tl { \boolfalse{mathjax}% lwarp \LWR@subsingledollar{% lwarp \textbackslash( % space lwarp ALT text \LWR@HTMLsanitizedetokenized{% \detokenize{#1}% } \textbackslash)% lwarp }% {siunitx unparsed}% lwarp add'l hashing {\ensuremath{#1}}% lwarp } } \exp_args:NNNV \group_end: \tl_set:Nn #2 \l__siunitx_number_outputted_tl } \VerifyCommand[lwarp][siunitx]{\__siunitx_compound_unparsed:n}{C6CACB29BD6BD43225E174AD2FBD750C} \cs_set_protected:Npn \__siunitx_compound_unparsed:n #1 { \tl_if_blank:nF {#1} { \seq_put_right:Nn \l__siunitx_compound_tmp_seq { \boolfalse{mathjax}% lwarp \LWR@subsingledollar{% lwarp \textbackslash( % space lwarp ALT tag \LWR@HTMLsanitizedetokenized{% \detokenize{#1}% } \textbackslash)% lwarp }% {siunitx unparsed}% lwarp add'l hashing {\ensuremath{#1}}% lwarp } } } \LetLtxMacro\LWR@siunitx@orig@mathrm\mathrm \newcommand*{\LWR@siunitx@mathrm}[1]{% \ifmmode{\LWR@siunitx@orig@mathrm{#1}}\else{#1}\fi% } \VerifyCommand[lwarp][siunitx]{\__siunitx_print_aux:nn}{FD2679699363E8095304C0665CAC4072} \cs_set_protected:Npn \__siunitx_print_aux:nn #1#2 { \LetLtxMacro\mathrm\LWR@siunitx@mathrm% lwarp \tl_if_empty:oF {#2} { \tl_if_empty:cTF { l__siunitx_print_ #1 _color_tl } { \use:n } { \ExpandArgs { v } \textcolor { l__siunitx_print_ #1 _color_tl } } { \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}% lwarp { \use:c { siunitx_print_ \tl_use:c { l__siunitx_print_ #1 _mode_tl } :n } {#2} } { \bool_lazy_all:nTF% lwarp { {\l__siunitx_print_text_family_bool} {\l__siunitx_print_text_series_bool} {\l__siunitx_print_text_shape_bool} } {% No font control if reset-text-family/series/shape \use:c { siunitx_print_% lwarp text% lwarp :n% lwarp }% lwarp {#2}% lwarp } { \LWR@textcurrentfont{% lwarp \use:c { siunitx_print_% lwarp text% lwarp :n% lwarp }% lwarp {#2}% lwarp } } } } } } \newcommand*{\LWR@siunitx@complexrootstyle}{textrm} \newcommand*{\LWR@siunitx@complexrmi}{\mathrm{i}} \newcommand*{\LWR@siunitx@complexrmj}{\mathrm{j}} \newcommand*{\LWR@siunitx@setcomplexroot}{% \renewcommand*{\LWR@siunitx@complexrootstyle}{ijit}% \ifdefequal{\l__siunitx_complex_output_root_tl}{\LWR@siunitx@complexrmi}% {\renewcommand*{\LWR@siunitx@complexrootstyle}{ijup}}% {}% \ifdefequal{\l__siunitx_complex_output_root_tl}{\LWR@siunitx@complexrmj}% {\renewcommand*{\LWR@siunitx@complexrootstyle}{ijup}}% {}% } \VerifyCommand[lwarp][siunitx]{\__siunitx_complex_format_cartesian_auxii:n} {DC0897DBE172C13B6F7282D266BE1156} \cs_set_protected:Npn \__siunitx_complex_format_cartesian_auxii:n #1 { \LWR@siunitx@setcomplexroot% lwarp \__siunitx_complex_format_cartesian_units:n {#1} \tl_if_empty:NF \l__siunitx_complex_real_tl { \exp_after:wN \__siunitx_complex_drop_exponent:nnnnnnn \l__siunitx_complex_real_tl } \exp_after:wN \__siunitx_complex_format_sign:nnnnnnn \l__siunitx_complex_img_tl \tl_set:Nx \l__siunitx_complex_tmp_tl { \siunitx_number_output:NN \l__siunitx_complex_img_tl \q_nil } \exp_after:wN \__siunitx_complex_extract_exponent:w \l__siunitx_complex_tmp_tl \q_stop \tl_set:Nx \l__siunitx_complex_tmp_tl { \bool_lazy_or:nnTF { \bool_lazy_and_p:nn { \l_siunitx_number_bracket_ambiguous_bool } { ! \tl_if_empty_p:N \l__siunitx_complex_exp_tl } } { ! \bool_lazy_any_p:n { { \tl_if_blank_p:n {#1} } { \tl_if_empty_p:N \l__siunitx_complex_real_tl } { \tl_if_empty_p:N \l__siunitx_complex_img_tl } } } { \__siunitx_complex_format_bracket:n } { \use:n } { \siunitx_number_output:N \l__siunitx_complex_real_tl \exp_not:V \l__siunitx_complex_sign_tl \bool_if:NF \l__siunitx_complex_root_after_bool { \InlineClass{\LWR@siunitx@complexrootstyle}% lwarp { \exp_not:V \l__siunitx_complex_output_root_tl } } \exp_not:V \l__siunitx_complex_tmp_tl \bool_if:NT \l__siunitx_complex_root_after_bool { \InlineClass{\LWR@siunitx@complexrootstyle}% lwarp { \exp_not:V \l__siunitx_complex_output_root_tl } } } \exp_not:V \l__siunitx_complex_exp_tl } } \VerifyCommand[lwarp][siunitx]{\__siunitx_angle_arc_print_auxii:nw} {7CEE155CD4C7A9CDFEAE3AF8DD154B03} \cs_set_protected:Npn \__siunitx_angle_arc_print_auxii:nw #1#2 \q_nil #3 \q_nil #4 \q_nil #5 \q_nil #6 \q_nil #7 \q_nil #8 \q_stop { \mode_if_math:TF { \bool_set_true:N \l__siunitx_angle_tmp_bool } { \bool_set_false:N \l__siunitx_angle_tmp_bool } \siunitx_print_number:n {#2#3#4} \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}% lwarp {% lwarp \tl_if_blank:nTF {#6} { \__siunitx_angle_arc_print_auxvi:n {#1} } { \hbox_set:Nn \l__siunitx_angle_marker_box { \__siunitx_angle_arc_print_auxiii:n { \siunitx_print_number:n {#5} } } \hbox_set:Nn \l__siunitx_angle_unit_box { \__siunitx_angle_arc_print_auxiii:n { \siunitx_unit_format:nN {#1} \l__siunitx_angle_tmp_tl \siunitx_print_unit:V \l__siunitx_angle_tmp_tl \skip_horizontal:n { -\scriptspace } } } \dim_compare:nNnTF { \box_wd:N \l__siunitx_angle_marker_box } > { \box_wd:N \l__siunitx_angle_unit_box } { \__siunitx_angle_arc_print_auxiv:NN \l__siunitx_angle_marker_box \l__siunitx_angle_unit_box } { \__siunitx_angle_arc_print_auxiv:NN \l__siunitx_angle_unit_box \l__siunitx_angle_marker_box } \hbox_set_to_wd:Nnn \l__siunitx_angle_marker_box \l__siunitx_angle_tmp_dim { \hbox_overlap_right:n { \box_use_drop:N \l__siunitx_angle_marker_box } \hbox_overlap_right:n { \box_use_drop:N \l__siunitx_angle_unit_box } \tex_hfil:D } \box_use:N \l__siunitx_angle_marker_box \skip_horizontal:N \scriptspace \siunitx_print_number:n {#6} } }% {% lwarp: not in a lateximage, simplify for HTML \tl_if_blank:nTF {#6} { \__siunitx_angle_arc_print_auxvi:n {#1} } { \__siunitx_angle_arc_print_auxiii:n { \siunitx_print_number:n {#5} } \__siunitx_angle_arc_print_auxiii:n { \siunitx_unit_format:nN {#1} \l__siunitx_angle_tmp_tl \siunitx_print_unit:V \l__siunitx_angle_tmp_tl } \siunitx_print_number:n {#6} } }% lwarp } \VerifyCommand[lwarp][siunitx]{\__siunitx_print_text_fraction:Nnn} {F47521F256C661719258012969E7AE04} \cs_set_protected:Npn \__siunitx_print_text_fraction:Nnn #1#2#3 { \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}% lwarp {% \ensuremath { #1 { \mbox { \__siunitx_print_text_replace:n {#2} } } { \mbox { \__siunitx_print_text_replace:n {#3} } } } }% {% lwarp { \mbox { \__siunitx_print_text_replace:n {#2} } }% lwarp /% lwarp { \mbox { \__siunitx_print_text_replace:n {#3} } }% lwarp }% lwarp } \VerifyCommand[lwarp][siunitx]{\__siunitx_unit_format_qualifier_subscript:} {543B01848C00E4089F0E0C53988F6A28} \cs_set_protected:Npn \__siunitx_unit_format_qualifier_subscript: { \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}% lwarp {% \__siunitx_unit_format_font: \tl_set:Nx \l__siunitx_unit_part_tl { \c__siunitx_unit_math_subscript_tl { \exp_not:V \l_siunitx_unit_font_tl { \exp_not:V \l__siunitx_unit_part_tl } } } } {% lwarp simplified for HTML: \__siunitx_unit_format_font: \tl_set:Nx \l__siunitx_unit_part_tl { \textsubscript { \exp_not:V \l_siunitx_unit_font_tl { \exp_not:V \l__siunitx_unit_part_tl } } } } } \VerifyCommand[lwarp][siunitx]{\siunitx_quantity:nn} {AEF3237DB5107FE46437AF1D3ABD03DE} \cs_set_protected:Npn \siunitx_quantity:nn #1#2 { \group_begin: \siunitx_unit_options_apply:n {#2} \tl_if_blank:nTF {#1} { \siunitx_unit_format:nN {#2} \l__siunitx_quantity_unit_tl \siunitx_print_unit:V \l__siunitx_quantity_unit_tl } { \bool_if:NTF \l_siunitx_number_parse_bool { \__siunitx_quantity_parsed:nn {#1} {#2} } { \tl_set:Nn \l__siunitx_quantity_number_tl { \boolfalse{mathjax}% lwarp \LWR@subsingledollar{% lwarp \textbackslash( % space lwaro ALT tag \LWR@HTMLsanitizedetokenized{% \detokenize{#1}% } \textbackslash)% lwarp }% {siunitx unparsed}% lwarp add'l hashing {\ensuremath{#1}}% lwarp } \siunitx_unit_format:nN {#2} \l__siunitx_quantity_unit_tl \siunitx_quantity_print:VV \l__siunitx_quantity_number_tl \l__siunitx_quantity_unit_tl } } \group_end: } \newcommand*{\LWR@siunitx@nocancel}[1]{% \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0}% {\cancel{#1}}% SVG {#1}% HTML } \AtBeginDocument{ \__siunitx_unit_set_symbolic:Npnn \cancel { } { \__siunitx_unit_parse_special:n { \LWR@siunitx@nocancel } }% lwarp } \newcommand{\LWR@HTML@tablenum}[2][]{\num[#1]{#2}} \LWR@formatted{tablenum} \AtBeginDocument{ \HTMLnewcolumntype{S}[1][]{>{\begingroup\sisetup{#1}}c<{\endgroup}} } \NewDocumentCommand{\HTMLDeclareSIUnit}{o +m m} { \ifcsdef{ __siunitx_unit_ \token_to_str:N #2 :w } {} { \PackageError{lwarp} {% First~use\MessageBreak \space\space\protect\DeclareSIUnit{ \token_to_str:N#2}{...}\MessageBreak before~using\MessageBreak \space\space\protect\HTMLDeclareSIUnit{ \token_to_str:N#2}{...}% } {% See~the~Lwarp~manual~section~about~special~cases,~ regarding~siunitx.% } } \csNewCommandCopycs { __orig_siunitx_unit_ \token_to_str:N #2 :w } { __siunitx_unit_ \token_to_str:N #2 :w } \DeclareSIUnit[#1]{#2} { \ifnumcomp{\value{LWR@lateximagedepth}}{>}{0} {\csuse{ __orig_siunitx_unit_ \token_to_str:N #2 :w }} {#3} } } \ExplSyntaxOff \AtBeginDocument{ \HTMLDeclareSIUnit\celsius{\LWR@siunitx@textcelsius} \HTMLDeclareSIUnit\arcminute{\LWR@siunitx@textprime} \HTMLDeclareSIUnit\arcsecond{\LWR@siunitx@textdblprime} \HTMLDeclareSIUnit\elementarycharge{\textit{e}} \HTMLDeclareSIUnit\clight{\text{\textit{c}\textsubscript{0}}} \HTMLDeclareSIUnit\bohr{\text{\textit{a}\textsubscript{0}}} \HTMLDeclareSIUnit\electronmass{\text{\textit{m}\textsubscript{e}}} \HTMLDeclareSIUnit\hartree{\text{\textit{E}\textsubscript{h}}} \HTMLDeclareSIUnit\planckbar{\LWR@siunitx@textplanckbar} }% \AtBeginDocument \AtBeginDocument{ \sisetup{ per-mode=symbol, % fraction is not seen by pdftotext angle-symbol-degree = {\LWR@siunitx@textdegree}, angle-symbol-minute = {\LWR@siunitx@textprime} , angle-symbol-second = {\LWR@siunitx@textdblprime} , } } \AtBeginDocument{ \ifdef{\ltj@allalchar} {\LWR@origRequirePackage{lwarp-lltjp-siunitx}} {} } \LWR@origRequirePackage{lwarp-common-mathjax-siunitx} \begin{warpMathJax} \CustomizeMathJax{\let\unit\si} \CustomizeMathJax{\let\qty\SI} \CustomizeMathJax{\let\qtylist\SIlist} \CustomizeMathJax{\let\qtyrange\SIrange} \CustomizeMathJax{\let\numproduct\num} \CustomizeMathJax{\let\qtyproduct\SI} \CustomizeMathJax{\let\complexnum\num} \CustomizeMathJax{\newcommand{\complexqty}[3][]{(\complexnum{#2})\si{#3}}} \end{warpMathJax} \ExplSyntaxOn \AtBeginDocument{ \edef\LWR@siunitx@rangephrase{\l_siunitx_range_phrase_tl} \expandafter\CustomizeMathJax\expandafter{% \expandafter\def\expandafter\LWRsiunitxrangephrase% \expandafter{\LWR@siunitx@rangephrase}% } } \ExplSyntaxOff \endinput %% %% End of file `lwarp-siunitx.sty'.