Skip to content

Commit b9a9c45

Browse files
committed
Add one more stretchy arrow and replace more arrow constructs
1 parent 611fc75 commit b9a9c45

2 files changed

Lines changed: 21 additions & 13 deletions

File tree

testsuite/tests/input/tex/Mhchem.test.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3625,7 +3625,7 @@ describe('Mhchem8', () => {
36253625
'\\ce{Zn^2+ <=>[+ 2OH-][+ 2H+] $\\underset{\\text{amphoteres Hydroxid}}{\\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] $\\underset{\\text{Hydroxozikat}}{\\ce{[Zn(OH)4]^2-}}$}'
36263626
),
36273627
`<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="\\ce{Zn^2+ &lt;=&gt;[+ 2OH-][+ 2H+] $\\underset{\\text{amphoteres Hydroxid}}{\\ce{Zn(OH)2 v}}$ &lt;=&gt;[+ 2OH-][+ 2H+] $\\underset{\\text{Hydroxozikat}}{\\ce{[Zn(OH)4]^2-}}$}" display="block">
3628-
<mrow data-mjx-texclass="ORD" data-latex="{\\mathrm{Zn}{\\vphantom{A}}^{2+} {}\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}}}{} \\underset{\\text{amphoteres Hydroxid}}{\\ce{Zn(OH)2 v}} {}\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}}}{} \\underset{\\text{Hydroxozikat}}{\\ce{[Zn(OH)4]^2-}} }">
3628+
<mrow data-mjx-texclass="ORD" data-latex="{\\mathrm{Zn}{\\vphantom{A}}^{2+} {}\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}}}{} \\underset{\\text{amphoteres Hydroxid}}{\\ce{Zn(OH)2 v}} {}\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}}}{} \\underset{\\text{Hydroxozikat}}{\\ce{[Zn(OH)4]^2-}} }">
36293629
<mrow data-mjx-texclass="ORD" data-latex="\\mathrm{Zn}">
36303630
<mi data-mjx-auto-op="false" data-latex="Zn">Zn</mi>
36313631
</mrow>
@@ -3645,11 +3645,11 @@ describe('Mhchem8', () => {
36453645
</mrow>
36463646
</msup>
36473647
<mrow data-mjx-texclass="ORD" data-latex="{}"></mrow>
3648-
<mrow data-mjx-texclass="REL" data-latex="\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}}}">
3649-
<munder data-latex="\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}}">
3650-
<mover data-latex="\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}">
3651-
<mo data-mjx-variant="-mhchem" data-mjx-texclass="REL" stretchy="true" data-latex="\\mhchemlongrightleftharpoons">&#xE408;</mo>
3652-
<mrow data-latex=" {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}">
3648+
<mrow data-mjx-texclass="REL" data-latex="\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}}}">
3649+
<munder data-latex="\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}}">
3650+
<mover data-latex="\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}">
3651+
<mo data-mjx-texclass="REL" stretchy="true">&#xE408;</mo>
3652+
<mpadded width="+0.778em" lspace="0.278em" voffset="-.2em" height="-.2em">
36533653
<mrow data-mjx-texclass="ORD" data-latex="{}"></mrow>
36543654
<mo data-latex="+">+</mo>
36553655
<mrow data-mjx-texclass="ORD" data-latex="{}"></mrow>
@@ -3674,7 +3674,8 @@ describe('Mhchem8', () => {
36743674
<mo data-latex="-">&#x2212;</mo>
36753675
</mrow>
36763676
</msup>
3677-
</mrow>
3677+
<mspace depth=".2em"></mspace>
3678+
</mpadded>
36783679
</mover>
36793680
<mpadded height="-0.333em" depth="+0.333em" voffset="-0.333em" data-latex="\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}">
36803681
<mrow data-mjx-texclass="ORD">
@@ -3741,11 +3742,11 @@ describe('Mhchem8', () => {
37413742
<mtext data-latex="\\text{amphoteres Hydroxid}">amphoteres Hydroxid</mtext>
37423743
</munder>
37433744
<mrow data-mjx-texclass="ORD" data-latex="{}"></mrow>
3744-
<mrow data-mjx-texclass="REL" data-latex="\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}}}">
3745-
<munder data-latex="\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}}">
3746-
<mover data-latex="\\overset{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}{\\mhchemlongrightleftharpoons}">
3747-
<mo data-mjx-variant="-mhchem" data-mjx-texclass="REL" stretchy="true" data-latex="\\mhchemlongrightleftharpoons">&#xE408;</mo>
3748-
<mrow data-latex=" {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}">
3745+
<mrow data-mjx-texclass="REL" data-latex="\\mathrel{\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}}}">
3746+
<munder data-latex="\\underset{\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}}{\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}}">
3747+
<mover data-latex="\\mhchemxrightleftharpoons{ {}+{} 2\\,\\mathrm{OH}{\\vphantom{A}}^{-}}">
3748+
<mo data-mjx-texclass="REL" stretchy="true">&#xE408;</mo>
3749+
<mpadded width="+0.778em" lspace="0.278em" voffset="-.2em" height="-.2em">
37493750
<mrow data-mjx-texclass="ORD" data-latex="{}"></mrow>
37503751
<mo data-latex="+">+</mo>
37513752
<mrow data-mjx-texclass="ORD" data-latex="{}"></mrow>
@@ -3770,7 +3771,8 @@ describe('Mhchem8', () => {
37703771
<mo data-latex="-">&#x2212;</mo>
37713772
</mrow>
37723773
</msup>
3773-
</mrow>
3774+
<mspace depth=".2em"></mspace>
3775+
</mpadded>
37743776
</mover>
37753777
<mpadded height="-0.333em" depth="+0.333em" voffset="-0.333em" data-latex="\\lower6mu{ {}+{} 2\\,\\mathrm{H}{\\vphantom{A}}^{+}}">
37763778
<mrow data-mjx-texclass="ORD">

ts/input/tex/mhchem/MhchemConfiguration.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ export const MhchemUtils = {
5454
* of the needed arrows
5555
*/
5656
export const MhchemReplacements = new Map<string, RegExp>([
57+
[
58+
'\\mhchemx$3[$1]{$2}',
59+
/\\underset{\\lower2mu{(.*?)}}{\\overset{(.*?)}{\\long(.*?)}}/g,
60+
],
61+
['\\mhchemx$2{$1}', /\\overset{(.*?)}{\\long(.*?)}/g],
5762
[
5863
'\\mhchemBondTD',
5964
/\\rlap\{\\lower\.1em\{-\}\}\\raise\.1em\{\\tripledash\}/g,
@@ -107,6 +112,7 @@ new CommandMap('mhchem', {
107112
mhchemxrightarrow: [MhchemMethods.xArrow, 0xe429, 5, 9],
108113
mhchemxleftarrow: [MhchemMethods.xArrow, 0xe428, 9, 5],
109114
mhchemxleftrightarrow: [MhchemMethods.xArrow, 0xe42a, 9, 9],
115+
mhchemxleftrightarrows: [MhchemMethods.xArrow, 0xe42b, 9, 9],
110116
mhchemxrightleftharpoons: [MhchemMethods.xArrow, 0xe408, 5, 9],
111117
mhchemxRightleftharpoons: [MhchemMethods.xArrow, 0xe409, 5, 9],
112118
mhchemxLeftrightharpoons: [MhchemMethods.xArrow, 0xe40a, 9, 11],

0 commit comments

Comments
 (0)