diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/mhchem/mhchem.4ht')
-rw-r--r-- | Master/texmf-dist/tex/latex/mhchem/mhchem.4ht | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/mhchem/mhchem.4ht b/Master/texmf-dist/tex/latex/mhchem/mhchem.4ht new file mode 100644 index 00000000000..8962f885c56 --- /dev/null +++ b/Master/texmf-dist/tex/latex/mhchem/mhchem.4ht @@ -0,0 +1,206 @@ +%% mhchem.4ht +%% 2021-12-31 +%% Copyright 2015-2021 Martin Hensel +% +%% This file is part of the mhchem bundle for LaTeX +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License version 1.3c +% which is included as lppl-1-3c.txt. +% +% This work has the LPPL maintenance status "maintained". +% The Current Maintainer of this work is Martin Hensel. +% +% ( In order to fight spam, the maintainer's contact ) +% ( information is "encrypted" with ROT13. ) +% ( If you do not know ROT13 yet and have no tool for ) +% ( decryption, simply do an Internet search for "ROT13". ) +% +% ,---[ ROT 13 ]--- +% | Gur Pheerag Znvagnvare bs guvf jbex vf Znegva Urafry +% | jub pna or pbagnpgrq ivn +% | zupurz@ZnegvaUrafry.qr +% | be ivn znvy +% | Znegva Urafry +% | Cbfgfge. 20 +% | 09232 Unegznaafqbes +% | Treznal +% `---------- +% +% This work consists of all files listed in manifest.txt. +% +% +\ExplSyntaxOn + +\Css + { + .mhchem ~ .mhchem-cf { white-space: nowrap; } + .mhchem ~ .mhchem-isotope { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: sub; text-align: right; } + .mhchem ~ .mhchem-supsub { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: sub; } + .mhchem ~ .mhchem-sup { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: 68\%; } + .mhchem ~ .mhchem-sub { font-size: 0.65em; line-height: 1; display: inline-block; vertical-align: sub; } + .mhchem ~ .mhchem-rlap { display: inline-block; width: 0; } + .mhchem ~ .mhchem-bond-half-top { vertical-align: 60\%; } + .mhchem ~ .mhchem-bond-half-middle { vertical-align: 35\%; } + .mhchem ~ .mhchem-bond-top { vertical-align: 20\%; } + .mhchem ~ .mhchem-bond-bottom { vertical-align: -20\%; } + .mhchem ~ .mhchem-arrow { display: inline-flex; flex-direction: column; vertical-align: middle; } + .mhchem ~ .mhchem-arrow > span { line-height: 80\%; text-align: center; } + .mhchem ~ .mhchem-arrow > .mhchem-above { min-height: 1em; font-size: 60\%; } + .mhchem ~ .mhchem-arrow > .mhchem-below { min-height: 1em; font-size: 60\%; } + .mhchem ~ .mhchem-arrow > span.mhchem-arrow-normal { line-height: 40\%; } + .mhchem ~ .mhchem-arrow > span.mhchem-arrow-larger { line-height: 25\%; font-size: 150\%; } + .mhchem ~ .mhchem-arrow > span.mhchem-arrow-complement { line-height: 25\%; } + } +\cs_set_protected:Npn \__mhchem_output_begin_ce: { \HCode { <span~class="mhchem"> } } +\cs_set_protected:Npn \__mhchem_output_end_ce: { \HCode { </span> } } +\cs_set_protected:Npn \__mhchem_output_begin_cf: { \HCode { <span~class="mhchem-cf"> } } +\cs_set_protected:Npn \__mhchem_output_end_cf: { \HCode { </span> } } +\cs_set_protected:Npn \__mhchem_output_coreFive:nnnnnnn #1#2#3#4#5#6#7 + { + \bool_if:nT + { \tl_if_empty_p:n {#7} && ! \tl_if_empty_p:n {#5} } + { \bool_set_true:N \l__mhchem_option_superscriptsStacked_bool } + + \tl_if_empty:nF {#1#2} + { + \HCode { <span~class="mhchem-isotope"> } + \__mhchem_output_withFont:n { #1 } + \HCode { <br~/>&\#xfeff; } + \__mhchem_output_withFont:n { #2 } + \HCode { </span> } + } + \__mhchem_output_withFont:n { #3 } + \bool_if:NTF \l__mhchem_option_superscriptsStacked_bool + { + \tl_if_empty:nTF {#4#5#7} + { + \tl_if_empty:nF {#6} + { + \HCode { <span~class="mhchem-sub"> } + \__mhchem_output_withFont:n { #6 } + \HCode { </span> } + } + } + { + \tl_if_empty:nTF {#6} + { + \HCode { <span~class="mhchem-sup"> } + \__mhchem_output_withFont:n { #4#5#7 } + \HCode { </span> } + } + { + \HCode { <span~class="mhchem-supsub"> } + \__mhchem_output_withFont:n { #4#5#7 } + \HCode { <br~/>&\#xfeff; } + \__mhchem_output_withFont:n { #6 } + \HCode { </span> } + } + } + } + { + \tl_if_empty:nF {#4} + { + \HCode { <span~class="mhchem-sup"> } + \__mhchem_output_withFont:n { #4 } + \HCode { </span> } + } + \tl_if_empty:nF {#6} + { + \HCode { <span~class="mhchem-sub"> } + \__mhchem_output_withFont:n { #6 } + \HCode { </span> } + } + \tl_if_empty:nF {#5#7} + { + \HCode { <span~class="mhchem-sup"> } + \__mhchem_output_withFont:n { #5#7 } + \HCode { </span> } + } + } + } + +\cs_set_protected:Npn \__mhchem_output_withFont:n #1 %. output #1 as math or text + { + \bool_if:NTF \l__mhchem_output_isMathMode_bool + { \mathrm {#1} } + { \text {#1} } + } +\cs_set_protected:Npn \__mhchem_output_skipAfterAmount: { \HCode { ~ } } % space for copy & paste +\cs_set_protected:Npn \__mhchem_output_skipBeforeStateOfAggregation: {} +\cs_set_protected:Npn \__mhchem_output_minus: { \HCode { − } } +\cs_set_protected:Npn \__mhchem_output_operatorPlus: + { \HCode { <span~class="mhchem-operator"> ~ } + \HCode { ~ </span> } } +\cs_set_protected:Npn \__mhchem_output_operatorMinus: + { \HCode { <span~class="mhchem-operator"> ~ − ~ </span> } } +\cs_set_protected:Npn \__mhchem_output_operatorEquals: + { \HCode { <span~class="mhchem-operator"> ~ } = \HCode { ~ </span> } } +\cs_set_protected:Npn \__mhchem_output_operatorPlusMinus: + { \HCode { <span~class="mhchem-operator"> ~ ± ~ </span> } } +\cs_set_protected:Npn \__mhchem_output_electronDot: { \HCode { • } } +\cs_set_protected:Npn \__mhchem_output_additionCompound: { \HCode { · } } +\cs_set_protected:Npn \__mhchem_output_excited: { \HCode { &\#x2731; } } +\cs_set_protected:Npn \__mhchem_output_commaDecimal: { , } +\cs_set_protected:Npn \__mhchem_output_commaEnumeration: { , \HCode {   } } +\cs_set_protected:Npn \__mhchem_output_commaEnumerationSmall: { , \HCode {   } } + +\cs_set_protected:Npn \__mhchem_output_bond_single: { \HCode { − } } +\cs_set_protected:Npn \__mhchem_output_bond_double: { \HCode { = } } +\cs_set_protected:Npn \__mhchem_output_bond_triple: { \HCode { ≡ } } +\cs_set_protected:Npn \__mhchem_output_bond_half: % todo: improve + { \HCode { <span~class="mhchem-bond-half-middle">&\#xfe4d;</span> } } +\cs_set_protected:Npn \__mhchem_output_bond_oneAndHalf: % todo: improve + { \HCode { <span~class="mhchem-rlap">−</span><span~class="mhchem-bond-half-top">&\#xfe4d;</span> } } +\cs_set_protected:Npn \__mhchem_output_bond_twoAndHalf: % todo: improve + { \HCode { <span~class="mhchem-rlap">=</span><span~class="mhchem-bond-half-top">&\#xfe4d;</span> } } +\cs_set_protected:Npn \__mhchem_output_bond_twoAndHalff: % todo: improve + { \HCode { <span~class="mhchem-rlap~mhchem-bond-top">−</span><span~class="mhchem-rlap~mhchem-bond-bottom">−</span><span~class="mhchem-bond-half-middle">&\#xfe4d;</span> } } +\cs_set_protected:Npn \__mhchem_output_bond_dotdotdot: { \HCode { ··· } } +\cs_set_protected:Npn \__mhchem_output_bond_dotdotdotdot: { \HCode { ···· } } +\cs_set_protected:Npn \__mhchem_output_bond_rightArrow: { \HCode { &\#xffeb; } } +\cs_set_protected:Npn \__mhchem_output_bond_leftArrow: { \HCode { &\#xffe9; } } + +\cs_set_protected:Npn \__mhchem_arrow_deploy:nnnnn #1#2#3#4#5 + { + \HCode { <span~class="mhchem-arrow"> } + \tl_if_empty:nF {#3#5} + { + \HCode { <span~class="mhchem-above"> } + \str_case:nnF {#2} + { + { } { \ce { #3 } } + { M } { \ensuremath { #3 } } + { T } { \text { #3 } } + { C } { \ce { #3 } } + } + { \msg_error:nnn { mhchem } { unexpected-arrow-type } {#2} } + \HCode { </span> } + } + \str_case:nnF {#1} + { + { yields } { \HCode { <span~class="mhchem-arrow-normal">&\#x2192;</span> } } + { yieldsLeft } { \HCode { <span~class="mhchem-arrow-normal">&\#x2190;</span> } } + { yieldsLeftRight } { \HCode { <span~class="mhchem-arrow-normal">&\#x21c4;</span> } } % todo: improve + { mesomerism } { \HCode { <span~class="mhchem-arrow-normal">&\#x2194;</span> } } % todo: improve + { equilibrium } { \HCode { <span~class="mhchem-arrow-normal">&\#x21cc;</span> } } % todo: improve + { equilibriumRight } { \HCode { <span~class="mhchem-arrow-larger">&\#x21c0;</span><span~class="mhchem-arrow-complement">&\#x21bd;</span> } } % todo: improve + { equilibriumLeft } { \HCode { <span~class="mhchem-arrow-complement">&\#x21c0;</span><span~class="mhchem-arrow-larger">&\#x21bd;</span> } } % todo: improve + } + { \msg_error:nnn { mhchem } { unexpected-arrow-type } {#1} } + \tl_if_empty:nF {#3#5} + { + \HCode { <span~class="mhchem-above"> } + \str_case:nnF {#2} + { + { } { \ce { #5 } } + { M } { \ensuremath { #5 } } + { T } { \text { #5 } } + { C } { \ce { #5 } } + } + { \msg_error:nnn { mhchem } { unexpected-arrow-type } {#2} } + \HCode { </span> } + } + \HCode { </span> } + } + +\ExplSyntaxOff |