Jump to content

Extension:Math/Native MathML/Reported Cases

From mediawiki.org

Reported cases.

Vesion on Beta has development version, some cases may render correctly there, but not here https://en.wikipedia.beta.wmflabs.org/wiki/Extension:Math/Native_MathML/Reported_Cases

See Extension:Math/Native_MathML/Operators for complete set of operators

See Extension:Math/Native_MathML/Chemistry for problem with chemical formula.

Cases 1-9

[edit]
Reported Phabricator bugs
Number LaTex Rendering Notes
1a T377057 open \text{let}\ {n \to +\infty}
let n+ let n+
Too much space around operators when used in limits in MathML mode.

Spaces should appear in normal mode,

1b \lim_{n\to +\infty}\left(1+\frac 1n\right)^n
limn+(1+1n)n limn+(1+1n)n
Spaces should not appear in a limit
2 T375935 Yes Done \lim_{n \to +\infty}\frac{\sqrt{2\pi n} }{n!}\left(\frac{n}{e}\right)^n = 1
limn+2πnn!(ne)n=1 limn+2πnn!(ne)n=1
The factorial symbol ! should be upright, it is sloping in Clients-side mathjax mode.
3 T375907 Yes Done \det(A)=\sum_{\sigma\in S_n} e(\sigma)\prod_{i=1}^n a_{i,\sigma_i}
det(A)=σSne(σ)i=1nai,σi det(A)=σSne(σ)i=1nai,σi
\sum_condition puts condition in the in wrong position in MathML and client-side MathJax modes
4a T375349Yes Done \textstyle \int\limits_{-N}^{N} e^x dx
NNexdx NNexdx
\int_a^b limits in incorrect position in MathML mode.
4b Yes Done \textstyle \int_{-N}^{N} e^x dx
NNexdx NNexdx
4c Yes Done \displaystyle \int\limits_{-N}^{N} e^x dx
NNexdx NNexdx
4d \displaystyle \int_{-N}^{N} e^x dx
NNexdx NNexdx
4e Yes Done \int\limits_{1}^{3}\frac{e^3/x}{x^2}\, dx
13e3/xx2dx 13e3/xx2dx
4f \int_{1}^{3}\frac{e^3/x}{x^2}\, dx
13e3/xx2dx 13e3/xx2dx
4h Yes Done \int\limits_{1}^{3}\frac{\frac{e^3}{x} }{\frac{x^2}{5} }\, dx
13e3xx25dx 13e3xx25dx
4i \int_{1}^{3}\frac{\frac{e^3}{x} }{\frac{x^2}{5} }\, dx
13e3xx25dx 13e3xx25dx
5a T375317 Yes Done Works on beta \begin{align} \frac{dy}{du} &= f'(u) = e^u, \\ \frac{du}{dv} &= g'(v) = \cos v, \\ \frac{dv}{dx} &= h'(x) = 2x. \end{align}
dydu=f(u)=eu,dudv=g(v)=cosv,dvdx=h(x)=2x. dydu=f(u)=eu,dudv=g(v)=cosv,dvdx=h(x)=2x.
\align aligns fields in the centre rather that on the left in MathML mode
5b \begin{align} z & = a \\ f(x,y,z) & = x + y + z \end{align}
z=af(x,y,z)=x+y+z z=af(x,y,z)=x+y+z
5c Yes Done f(n) = \begin{cases} n/2, & \text{if }n\text{ is even} \\ 3n+1, & \text{if }n\text{ is odd} \end{cases}
f(n)={n/2,if n is even3n+1,if n is odd f(n)={n/2,if n is even3n+1,if n is odd
5d Yes Done \begin{align} a&=b & c&=d & e&=f\\ aa&=bb & cc&=dd & ee&=ff\\ aaa&=bbb & ccc&=ddd & eee&=fff \end{align}
a=bc=de=faa=bbcc=ddee=ffaaa=bbbccc=dddeee=fff a=bc=de=faa=bbcc=ddee=ffaaa=bbbccc=dddeee=fff
5e \begin{align} x&=y & X&=Y & a&=b+c\\ x'&=y' & X'&=Y' & a'&=b\\ x+x'&=y+y' & X+X'&=Y+Y' & a'b&=c'b \end{align}
x=yX=Ya=b+cx=yX=Ya=bx+x=y+yX+X=Y+Yab=cb x=yX=Ya=b+cx=yX=Ya=bx+x=y+yX+X=Y+Yab=cb
6a T375295 Yes Done \begin{align} \frac{dy}{du} &= f'(u) = e^u, \\[6pt] \frac{du}{dv} &= g'(v) = \cos v, \\[6pt] \frac{dv}{dx} &= h'(x) = 2x. \end{align}
dydu=f(u)=eu,dudv=g(v)=cosv,dvdx=h(x)=2x. dydu=f(u)=eu,dudv=g(v)=cosv,dvdx=h(x)=2x.
\begin{align} with font sizes specified show font size annotation [6pt] in MathML mode
6b \begin{align} \varpi &= [2,1,1,1,1,1,4,1,2,\ldots], \\[8mu] 2\varpi &= [5,4,10,2,1,2,3,29,\ldots], \\[5mu] \frac{\varpi}{2} &= [1,3,4,1,1,1,5,2,\ldots], \\[2mu] \frac{\varpi}{\pi} &= [0,1,5,21,3,4,14,\ldots]. \end{align}
ϖ=[2,1,1,1,1,1,4,1,2,],2ϖ=[5,4,10,2,1,2,3,29,],ϖ2=[1,3,4,1,1,1,5,2,],ϖπ=[0,1,5,21,3,4,14,]. ϖ=[2,1,1,1,1,1,4,1,2,],2ϖ=[5,4,10,2,1,2,3,29,],ϖ2=[1,3,4,1,1,1,5,2,],ϖπ=[0,1,5,21,3,4,14,].
7a T375861 reopened a\operatorname{sn}b
asnb asnb
a\operatorname{sn}b rendered with no spaces before and after operator in MathML mode.

Works in Firefox by not Chrome

7b a(\operatorname{sn}(b)), a[\operatorname{sn}[b]], a\{\operatorname{sn}\{b\}\}
a(sn(b)),a[sn[b]],a{sn{b}} a(sn(b)),a[sn[b]],a{sn{b}}
no space need here
7c \operatorname{G}(V, g)
G(V,g) G(V,g)
no space need here
8a T375907 Yes Done \displaystyle\sum_{n\in\mathbb{Z} }
n n
\sum_condition puts condition in the in wrong position in MathML and client-side MathJax modes
8b \displaystyle\prod_{n\in\mathbb{Z} }
n n
8b \displaystyle\prod_{n\in\mathbb{Z} }^{n\ne 5}
nn5 nn5
with superscript rendered below
8c \sum_{n>k} R \quad \prod_{n>k} P \quad \coprod_{n>k} RR
n>kRn>kPn>kRR n>kRn>kPn>kRR
8d \bigcup_{n>k} J \quad \biguplus_{n>k} L \quad \bigcap_{n>k} N
n>kJn>kLn>kN n>kJn>kLn>kN
8e \bigoplus_{n>k} W \quad \bigotimes_{n>k} V \quad \bigodot_{n>k} F
n>kWn>kVn>kF n>kWn>kVn>kF
8f \bigvee_{n>k} V \quad \bigwedge_{n>k} W \quad \bigsqcup_{n>k} S
n>kVn>kWn>kS n>kVn>kWn>kS
8g \int_{n>k} U \quad \oint_{n>k} T \quad \iint_{n>k} S
n>kUn>kTn>kS n>kUn>kTn>kS
Default for integrals is to the side
8h \min_x\ \max_x\ \sup_x\ \inf_x\ \liminf_x
minx maxx supx infx lim infx minx maxx supx infx lim infx
8i \lim_x\ \varliminf_x\ \varlimsup_x\ \varinjlim_x\ \varprojlim_x\ \limsup_x\ \injlim_x\ \projlim_x
limx limx limx limx limx lim supx inj limx proj limx limx limx limx limx limx lim supx inj limx proj limx
8j \det_x\ \gcd_x\ \Pr_x
detx gcdx Prx detx gcdx Prx
9a T375274 Yes Done \arccot(x), \arccsc(x), \arcsec(x), \sen(x), \sgn(x)
arccot(x),arccsc(x),arcsec(x),sen(x),sgn(x) arccot(x),arccsc(x),arcsec(x),sen(x),sgn(x)

mediawiki_function_names math functions eat the following paren in native MML mode

9b \arcsin(x), \sin(x)
arcsin(x),sin(x) arcsin(x),sin(x)
9c \operatorname{arccot}(x), \operatorname{arcsin}(x), \operatorname{sgn}(x), \operatorname{sin}(x)
arccot(x),arcsin(x),sgn(x),sin(x) arccot(x),arcsin(x),sgn(x),sin(x)

Cases 10-24

[edit]
Reported Phabricator bugs
10a T375959 Yes Done \langle \psi | B^b \quad \lbrace \psi | B^b \quad \lbrack \psi | B^b
ψ|Bb{ψ|Bb[ψ|Bb ψ|Bb{ψ|Bb[ψ|Bb
Use stretchy="false" for \langle and \rangle in MathML mode
10b B^b |\psi\rangle \quad B^b | \psi \rbrace \quad B^b | \psi \rbrack \quad B^b \vert\psi\rangle
Bb|ψBb|ψ}Bb|ψ]Bb|ψ Bb|ψBb|ψ}Bb|ψ]Bb|ψ
10c B^b \left|\psi\right\rangle \quad \psi \left|B^b\right\rangle
Bb|ψψ|Bb Bb|ψψ|Bb
Explicitly specifying \left and \right work
10d B^b |\psi\rangle
Bb|ψ Bb|ψ
11a T375960 Incomplete Partially done \updownarrow \big\updownarrow \Big\updownarrow \bigg\updownarrow \Bigg\updownarrow \dots \Bigg\Updownarrow \bigg\Updownarrow \Big\Updownarrow \big\Updownarrow \Updownarrow
\Big/ and \Big\backslash etc are too small in MathML mode.
11b / \big/ \Big/ \bigg/ \Bigg/ \dots \Bigg\backslash \bigg\backslash \Big\backslash \big\backslash \backslash
/////\\\\ /////\\\\
Partially works in Firefox, upstream problems in chrome, some have almost zero use case
12a T375974 Yes Done f:X\to Y
f:XY f:XY
Colon in f : X \to Y should be an operator in MathML mode.
12b D \And E
D&E D&E
Has more space in LaTeX
12c A \smile B \frown B
ABB ABB
12d A \therefore B \because B
ABB ABB
12e B \overset{\underset{\mathrm{def} }{} }{=} B
B=defB B=defB
12f A \ulcorner B \urcorner B \llcorner B \lrcorner C
ABBBC ABBBC
12g A \blacktriangle B \blacktriangledown B
ABB ABB
12h \forall(\ulcorner\phi\urcorner\in\Sigma^0_n\cup\Pi^0_n) \implies\mathrm{Tr}_n(\ulcorner\phi(y_0,\ldots,y_n)^*\urcorner))
(ϕΣn0Πn0)Trn(ϕ(y0,,yn))) (ϕΣn0Πn0)Trn(ϕ(y0,,yn)))
en:Reflection principle
13 T376546 Yes Done \|A\|, D(p\|q)
A,D(pq) A,D(pq)

\| should render as a double pipe || rather than a single one |. In MathML and Client-side MathJax modes.

14 T376558 Yes Done q(v)=|v|^2\quad q(v)=\|v\|^2 \quad q(v)=\|v\|_A
q(v)=|v|2q(v)=v2q(v)=vA q(v)=|v|2q(v)=v2q(v)=vA

Vertical alignment of pipes with superscripts wrong in mathml mode

15 T376829 Yes Done \cancel{y}
y y

\cancel{y} the strike is not visable in native mathml mode

16 T376838 Yes Done \begin{array}{lcr} z & = & a \\ f(x,y,z) & = & x + y + z \end{array}
z=af(x,y,z)=x+y+z z=af(x,y,z)=x+y+z

\begin{array}{lcr} does not respect the optional alignment argument in MathML mode

17 T376883 open \frac{x}{x}\quad\frac{x}{y}\quad\frac{x}{l}\quad\frac{x}{2}\quad\frac{x}{x}\quad\frac{y}x\quad\frac{l}x\quad\frac{2}x
xxxyxlx2xxyxlx2x xxxyxlx2xxyxlx2x

Bad spacing for fractions with Safari in MathML mode

18 T376887 Yes Done
<math>\cfrac{x}{1 + \cfrac{\cancel{y}}{\cancel{y}}} = \cfrac{x}{2}</math>

<math>\begin{array}{lcr}
 z & = & a \\
 f(x,y,z) & = & x + y + z
\end{array}</math>

MediaWiki MathML:
x1+yy=x2

z=af(x,y,z)=x+y+z

MathJax SVG:

Formula in separate paragraphs displayed on the same line in Safari on Mac OS in MathML mode

19a T377057 open \lim_{n\to +\infty}\left(1+\frac 1n\right)^n
limn+(1+1n)n limn+(1+1n)n

Too much space around operators when used in limits in MathML mode

19b \text{let}\ {n \to +\infty}
let n+ let n+
More space used when not in a script
20 T378433 Yes Done \mathfrak{ABCDEFGHI}
𝔄𝔅𝔇𝔈𝔉𝔊 𝔄𝔅𝔇𝔈𝔉𝔊
\mathfrak{ABCDEFGHI} appears as normal type in MathML mode on Chrome on Windows. Still broken for MathJax
21 T382672 Yes Done {\bf Spec}, \bf A, \bf B, \bf C, \bf D, \bf E, \bf F, \bf G
𝐒𝐩𝐞𝐜,𝐀,𝐁,𝐂,𝐃,𝐄,𝐅,𝐆 𝐒𝐩𝐞𝐜,𝐀,𝐁,𝐂,𝐃,𝐄,𝐅,𝐆
Bold
22 T382716 open \det\nolimits^{\frac{1}{2} }
det12 det12
Native MathMl rendering error in square root of the determinant
22 T382813
\begin{align}
\int \limits_x A \\
\int \nolimits_x B \\
\operatorname{sn} \limits_x C \\
\operatorname{sn} \nolimits_x D \\
\operatorname{\int} \limits_x E \\
\displaystyle \sum \nolimits_n F \\
\displaystyle \sum \nolimits^n G \\
\operatorname{\Sigma} \limits_x H \\
\Sigma\limits_x I
\end{align}

MathML xAxBsnxCsnxDxEnFnGΣxHΣxI

SVG Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. TeX parse error: \limits is allowed only on operators"): {\displaystyle {\begin{aligned}\int \limits _{x}A\\\int \nolimits _{x}B\\\operatorname {sn} \limits _{x}C\\\operatorname {sn} \nolimits _{x}D\\\operatorname {\int } \limits _{x}E\\\displaystyle \sum \nolimits _{n}F\\\displaystyle \sum \nolimits ^{n}G\\\operatorname {\Sigma } \limits _{x}H\\\Sigma \limits _{x}I\end{aligned}}}

native: Improve rendering for \limits and \nolimits
23 T382669 open \sum\nolimits_{n=1}^{\infty}
n=1 n=1
\nolimits will be ignored on sums in displaystyle
24 T388304 {n \choose k}
(nk) (nk)
binomial coefficient
24 T388304 {n \choose k}
(nk) (nk)
binomial coefficient, using choose
24b \binom{n}{k}
(nk) (nk)
binomial coefficient


New cases as of Aug 2025

[edit]
Reported Phabricator bugs
Number LaTex Rendering Notes
T375337 Yes Done \frac{a}{b/2}
ab/2 ab/2
Too much space around / in MathML formatting mode
T375340 Yes Done \binom{n}{k/2}
(nk/2) (nk/2)
Too much space between fences and content in MathML formatting mode
T375346 declined \begin{pmatrix} \begin{pmatrix}a&b\\ c&d\end{pmatrix} & \begin{pmatrix}e&f\\ g&h\end{pmatrix} \\ 0 & \begin{pmatrix}i&j\\ k&l\end{pmatrix} \end{pmatrix}
((abcd)(efgh)0(ijkl)) ((abcd)(efgh)0(ijkl))
Lots of space around the cells in matrix evironments in MathML mode
T435274 reopened \begin{array}{|c|c|c|} \hline a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ \hline a_{31} & a_{32} & a_{33} \\ \hline \end{array}
a11a12a13a21a22a23a31a32a33 a11a12a13a21a22a23a31a32a33
Remove menclose in context of matrix representation
T378257 duplicate \operatorname{sn}\limits_x
snx snx
\limits is rendered verbatim in MathML mode and client-side MathJax
T379359 open \cancelto{x}{y}
yx yx
Fix \cancelto{y} in native MathML mode Chrome
T380184 Yes Done \operatorname{vec}
vec vec
vec crashes with native MathML
T380654 reopened

\begin{aligned}{\bar {X} }_{1}&=(X_{1,1}+\cdots +X_{1,n_{1} })/n_{1}\\[60pt]{\bar {X} }_{2}&=(X_{2,1}+\cdots +X_{2,n_{2} })/n_{2}\end{aligned}

MathML

X¯1=(X1,1++X1,n1)/n1X¯2=(X2,1++X2,n2)/n2

SVG

vertical space between multline equations is ignored. Dupe of T375295
T381102 Yes Done \left(a\right)'
(a) (a)
(a) in MathML and MathJax renders with one prime symbol too much
T381305 duplicate

<blockquote>quote</blockquote>Let <math forcemathmode=native>n</math> be an integer

Let <math>n</math> be an integer <div style="display: float">quote</div>.

MathML

quote

Let n be an integer


Let n be an integer
quote
.

SVG

quote

Let be an integer


Let be an integer
quote
.
MathML/MathJax next to floating element or <blockquote> not rendered inline
T382196 Yes Done \overbrace x
x x
\overbrace rendered below (not above) in MathML and client-side Mathjax
T382215 Yes Done a\ b \quad xy
a bxy a bxy
TeX macro "\ " not inserting space in MathML and client-side MathJax
T384794 Yes Done a' \operatorname{a}'
aa aa
Prime symbol after \operatorname not rendered as superscript
T386071 Yes Done _12
12 12
<math>_1</math> not rendered as subscript
T386318 Yes Done \sin \cos^2
sincos2 sincos2
<math>\sin \cos^2</math> not rendered as superscript
T386585 Yes Done T391889 dup \textrm{foobar}
foobar foobar
<math>\textrm{foobar}</math> results in "Math input error" with MathJax
T386787 Yes Done \begin{bmatrix} 1 & 0 \\ \end{bmatrix}
[10] [10]
Trailing linebreak via `\\` in <math> matrix should be ignored
T387249 Yes Done \hat{}
̂ ̂
<math>\hat{}</math> generates invalid MathML
T387952 Yes Done {_{1}^2}
12 12
<math>{_{1}^2}</math> not rendered as subscript
T389154 open \max_{D} \min_{A} \mathbb{E}
maxDminA𝔼 maxDminA𝔼
Not enough space around min and max in native MathML mode
T390259 reopened \mathbf{\Lambda}
𝜦 𝜦
<math>\mathbf{\Lambda}</math> not bold
1\textbf{1}1 A\textbf{B}C
1𝟏1A𝐁C 1𝟏1A𝐁C
Also impacts numbers
T395489 open \xleftarrow{n+\mu-1} B \xrightarrow[T]{n\pm i-1} C
n+μ1BTn±i1C n+μ1BTn±i1C
Unreadable rendering of \xleftarrow with text in MathML mode
T397120 Yes Done \textbf{1}
𝟏 𝟏
\textbf{1} renders incorrectly in MathML and client-side MathJax modes
T401623 open 0.99
0.99 0.99
Bad kerning of decimal separator in MathML
T401718 open \textstyle\sum_{i=0}^r \binom{m}{i}
i=0r(mi) i=0r(mi)
\textstyle not applied to \binom in MathML
T401740 open \left\{ a \Bigg\vert \int \right\}
{a|} {a|}
\Bigg\vert is not big in MathML
T401746 open x := 1
x:=1 x:=1
Bad spacing of <math>x := 1</math> in MathML
T401849 open \mathrm{d}x
dx dx
Too much space in <math>\mathrm{d}x</math> with MathML

New cases since Nov 2025

[edit]
Reported Phabricator bugs
T410843 p(a|b)
p(a|b) p(a|b)
Too much space around a pipe symbol in MathML mode
T414276 \{x\in\R : f(x)=0\}
{x:f(x)=0} {x:f(x)=0}
Not enough spacing before colon
T417327 (Feb 2026) \operatorname{X}(g) = (g(\operatorname{GS}(\mathbf{v}_1))
X(g)=(g(GS(𝐯1)) X(g)=(g(GS(𝐯1))
Too much space around \operatorname

New cases since Aug 2026

[edit]
Reported Phabricator bugs
T434424 (Aug 2026) \begin{alignat}{3} f(a,b) & = (a+b)^2 && = (a+b)(a+b) \\ & = a^2+ab+ba+b^2 && = a^2+2ab+b^2 \\ \end{alignat}
f(a,b)=(a+b)2=(a+b)(a+b)=a2+ab+ba+b2=a2+2ab+b2 f(a,b)=(a+b)2=(a+b)(a+b)=a2+ab+ba+b2=a2+2ab+b2
Too much space before = in align at
T434428 (Aug 2026) \Gamma \Delta \Theta \Xi \Omicron \Pi \Sigma \Upsilon \Phi \Chi \Psi \Omega
ΓΔΘΞOΠΣΥΦXΨΩ ΓΔΘΞOΠΣΥΦXΨΩ
Capital Greek letter should be renderer in Roman and not italic. See full set of typefaces at Extension:Math/T434428
T434456 (Aug 2026) \left(a\right)'
(a) (a)
Missing prime symbol
T434477 (Aug 2026) \textstyle \frac{k-1}{k} \sum_{j=0}^\infty \frac 1 {\binom {j+x} k}= \frac{\binom{x-1}{k-1} }{n}
k1kj=01(j+xk)=(x1k1)n k1kj=01(j+xk)=(x1k1)n
\frac does not correctly reduce font size of \binom. See testcases at Extension:Math/T434428
T434504 (Aug 2026) \overline\alpha\ \bar\beta\ \overline{ABC}\ \bar{DEF}\ \overline{\operatorname{gd} z}
α β¯ ABC DEF¯ gdz α β¯ ABC DEF¯ gdz
Overline and bar too short
T434607 (Aug 2026) \ddot{x}
x¨ x¨
Overline and bar too short