Skip to content

Commit 3ac7c8d

Browse files
authored
Merge pull request #1426 from mathjax/issue3515
Make sure | always has stretchy=false, and update tests. (mathjax/MathJax#3515)
2 parents 2bb30bb + 325ac92 commit 3ac7c8d

File tree

6 files changed

+25
-28
lines changed

6 files changed

+25
-28
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4371,8 +4371,8 @@ describe('Multirel', () => {
43714371
tex2mml('a||b'),
43724372
`<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="a||b" display="block">
43734373
<mi data-latex="a">a</mi>
4374-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4375-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4374+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
4375+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
43764376
<mi data-latex="b">b</mi>
43774377
</math>`
43784378
);
@@ -4765,7 +4765,7 @@ describe('Other', () => {
47654765
toXmlMatch(
47664766
tex2mml('|'),
47674767
`<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="|" display="block">
4768-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4768+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
47694769
</math>`
47704770
);
47714771
});
@@ -4777,7 +4777,7 @@ describe('Other', () => {
47774777
tex2mml('a|b'),
47784778
`<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="a|b" display="block">
47794779
<mi data-latex="a">a</mi>
4780-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4780+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
47814781
<mi data-latex="b">b</mi>
47824782
</math>`
47834783
);
@@ -5194,7 +5194,7 @@ describe('Base Complex', () => {
51945194
<mrow data-mjx-texclass="ORD">
51955195
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
51965196
<mi data-latex="q">q</mi>
5197-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
5197+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
51985198
<mo data-latex="&lt;">&lt;</mo>
51995199
<mn data-latex="1">1</mn>
52005200
</mrow>

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -542,8 +542,8 @@ describe('Braket', () => {
542542
<mo data-mjx-texclass="BIN" data-braketbar="true">&#x2016;</mo>
543543
<mrow data-mjx-texclass="OPEN"></mrow>
544544
<mi data-latex="y">y</mi>
545-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
546-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
545+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
546+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
547547
<mi data-latex="z">z</mi>
548548
<mspace width="0.167em"></mspace>
549549
<mo data-mjx-texclass="CLOSE">}</mo>
@@ -568,10 +568,10 @@ describe('Braket', () => {
568568
<mrow data-mjx-texclass="CLOSE"></mrow>
569569
<mo data-mjx-texclass="BIN" data-braketbar="true">&#x2016;</mo>
570570
<mrow data-mjx-texclass="OPEN"></mrow>
571-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
571+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
572572
<mi data-latex="y">y</mi>
573573
<mo data-mjx-texclass="ORD" fence="false" stretchy="false" data-latex="\\|">&#x2016;</mo>
574-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
574+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
575575
<mi data-latex="z">z</mi>
576576
<mspace width="0.167em"></mspace>
577577
<mo data-mjx-texclass="CLOSE">}</mo>
@@ -608,7 +608,7 @@ describe('Braket', () => {
608608
<mi>a</mi>
609609
<mo data-mjx-texclass="CLOSE" stretchy="false">&#x27E9;</mo>
610610
</mrow>
611-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
611+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
612612
<mi data-latex="b">b</mi>
613613
</math>`
614614
);
@@ -628,7 +628,7 @@ describe('Braket', () => {
628628
</mfrac>
629629
<mo data-mjx-texclass="CLOSE" stretchy="false">&#x27E9;</mo>
630630
</mrow>
631-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
631+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
632632
<mi data-latex="b">b</mi>
633633
</math>`
634634
);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6285,7 +6285,7 @@ describe('Mathtools options', () => {
62856285
<mo data-latex="[" stretchy="false">[</mo>
62866286
<mi data-latex="x">x</mi>
62876287
<mo data-latex="]" stretchy="false">]</mo>
6288-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
6288+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
62896289
<mrow data-mjx-texclass="OPEN" data-latex="\\mathopen{\\left|[x]\\right|}">
62906290
<mrow data-mjx-texclass="INNER" data-latex="\\left|[x]\\right|">
62916291
<mo data-mjx-texclass="OPEN" data-latex="\\left|">|</mo>

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3876,7 +3876,7 @@ describe('Physics3_4', () => {
38763876
`<math xmlns="http://www.w3.org/1998/Math/MathML" data-latex="\\sin|\\frac{x}{y}|" display="block">
38773877
<mi data-latex="\\sin">sin</mi>
38783878
<mo data-mjx-texclass="NONE">&#x2061;</mo>
3879-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
3879+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
38803880
<mfrac data-latex="\\frac{x}{y}">
38813881
<mi data-latex="x">x</mi>
38823882
<mi data-latex="y">y</mi>
@@ -4336,7 +4336,7 @@ describe('Physics3_5', () => {
43364336
<mi data-mjx-auto-op="false" data-latex="Res">Res</mi>
43374337
</mrow>
43384338
<mo data-mjx-texclass="NONE">&#x2061;</mo>
4339-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4339+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
43404340
<mfrac data-latex="\\frac{x}{y}">
43414341
<mi data-latex="x">x</mi>
43424342
<mi data-latex="y">y</mi>
@@ -4531,7 +4531,7 @@ describe('Physics3_6', () => {
45314531
<mi data-mjx-variant="-tex-calligraphic" mathvariant="script" data-latex="P">P</mi>
45324532
</mrow>
45334533
<mo data-mjx-texclass="NONE">&#x2061;</mo>
4534-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4534+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
45354535
<mo data-latex="\\int">&#x222B;</mo>
45364536
<mi data-latex="f">f</mi>
45374537
<mo data-latex="(" stretchy="false">(</mo>
@@ -4745,7 +4745,7 @@ describe('Physics3_7', () => {
47454745
<mi data-mjx-auto-op="false" data-latex="Re">Re</mi>
47464746
</mrow>
47474747
<mo data-mjx-texclass="NONE">&#x2061;</mo>
4748-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4748+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
47494749
<mfrac data-latex="\\frac{x}{y}">
47504750
<mi data-latex="x">x</mi>
47514751
<mi data-latex="y">y</mi>
@@ -4908,7 +4908,7 @@ describe('Physics3_7', () => {
49084908
<mi data-mjx-auto-op="false" data-latex="Im">Im</mi>
49094909
</mrow>
49104910
<mo data-mjx-texclass="NONE">&#x2061;</mo>
4911-
<mo data-mjx-texclass="ORD" data-latex="|">|</mo>
4911+
<mo data-mjx-texclass="ORD" stretchy="false" data-latex="|">|</mo>
49124912
<mfrac data-latex="\\frac{x}{y}">
49134913
<mi data-latex="x">x</mi>
49144914
<mi data-latex="y">y</mi>

ts/input/tex/FilterUtil.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,7 @@ const FilterUtil = {
187187
const attribs = mml.attributes;
188188
attribs.unset(TexConstant.Attr.LATEXITEM);
189189
for (const key of attribs.getExplicitNames()) {
190-
if (
191-
!keep.has(key) &&
192-
attribs.get(key) === mml.attributes.getInherited(key)
193-
) {
190+
if (!keep.has(key) && attribs.get(key) === attribs.getInherited(key)) {
194191
attribs.unset(key);
195192
}
196193
}

ts/input/tex/base/BaseMethods.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -152,14 +152,14 @@ const BaseMethods: { [key: string]: ParseMethod } = {
152152
* @param {string} c The parsed character.
153153
*/
154154
Bar(parser: TexParser, c: string) {
155-
parser.Push(
156-
parser.create(
157-
'token',
158-
'mo',
159-
{ stretchy: false, texClass: TEXCLASS.ORD },
160-
c
161-
)
155+
const mo = parser.create(
156+
'token',
157+
'mo',
158+
{ stretchy: false, texClass: TEXCLASS.ORD },
159+
c
162160
);
161+
mo.setProperty('keep-attrs', 'stretchy');
162+
parser.Push(mo);
163163
},
164164

165165
/**

0 commit comments

Comments
 (0)