Extension:Math/Native MathML/Reported Cases

Some reported cases. Vesion on Beta https://en.wikipedia.beta.wmflabs.org/wiki/Extension:Math/Native_MathML/Reported_Cases

Cases

Reported Phabricator bugs
NumberLaTexRenderingNotes
1a\text{let}\ {n \to +\infty} ||
let n+
T377057 spaces needed here
1b\lim_{n\to +\infty}\left(1+\frac 1n\right)^n ||
limn+(1+1n)n
T377057 Too much space around operators when used in limits in MathML mode
2 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
T375935 The factorial symbol ! should be upright, it is sloping in Clients-side mathjax mode.
3 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
T375907 \sum_condition puts condition in the in wrong position in MathML and client-side MathJax modes
4a Yes Done\textstyle \int\limits_{-N}^{N} e^x dx ||
NNexdx
T375349 \int_a^b limits in incorrect position in MathML mode.
4b Yes Done\textstyle \int_{-N}^{N} e^x dx ||
NNexdx
4c Yes Done\displaystyle \int\limits_{-N}^{N} e^x dx ||
NNexdx
4d\displaystyle \int_{-N}^{N} e^x dx ||
NNexdx
4e Yes Done\int\limits_{1}^{3}\frac{e^3/x}{x^2}\, dx ||
13e3/xx2dx
4f\int_{1}^{3}\frac{e^3/x}{x^2}\, dx ||
13e3/xx2dx
4h Yes Done\int\limits_{1}^{3}\frac{\frac{e^3}{x} }{\frac{x^2}{5} }\, dx ||
13e3xx25dx
4i\int_{1}^{3}\frac{\frac{e^3}{x} }{\frac{x^2}{5} }\, dx ||
13e3xx25dx
5a Yes Done\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.
T375317 \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
5c Yes Donef(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
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
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
6a 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.
T375295 \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,].
7aa\operatorname{sn}b ||
asnb
T375861 a\operatorname{sn}b rendered with no spaces before and after operator in MathML mode
7ba(\operatorname{sn}(b)), a[\operatorname{sn}[b]], a\{\operatorname{sn}\{b\}\} ||
a(sn(b)),a[sn[b]],a{sn{b}}
no space need here
7c\operatorname{G}(V, g) ||
G(V,g)
no space need here
8a\displaystyle\sum_{n\in\mathbb{Z} } ||
n
T375907 \sum_condition puts condition in the in wrong position in MathML and client-side MathJax modes
8b\displaystyle\prod_{n\in\mathbb{Z} } ||
n
8b\displaystyle\prod_{n\in\mathbb{Z} }^{n\ne 5} ||
nn5
with superscript rendered below
8c\sum_{n>k} R \quad \prod_{n>k} P \quad \coprod_{n>k} RR ||
n>kRn>kPn>kRR
8d\bigcup_{n>k} J \quad \biguplus_{n>k} L \quad \bigcap_{n>k} N ||
n>kJn>kLn>kN
8e\bigoplus_{n>k} W \quad \bigotimes_{n>k} V \quad \bigodot_{n>k} F ||
n>kWn>kVn>kF
8f\bigvee_{n>k} V \quad \bigwedge_{n>k} W \quad \bigsqcup_{n>k} S ||
n>kVn>kWn>kS
8g\int_{n>k} U \quad \oint_{n>k} T \quad \iint_{n>k} S ||
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
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
8j\det_x\ \gcd_x\ \Pr_x ||
detx gcdx Prx
9a Yes Done\arccot(x), \arccsc(x), \arcsec(x), \sen(x), \sgn(x) ||
arccot(x),arccsc(x),arcsec(x),sen(x),sgn(x)
T375274

mediawiki_function_names math functions eat the following paren in native MML mode

9b\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)
10aB^b |\psi\rangle ||
Bb|ψ
10a\langle \psi | B^b \quad \lbrace \psi | B^b \quad \lbrack \psi | B^b ||
ψ|Bb{ψ|Bb[ψ|Bb
T375959 Use stretchy="false" for \langle and \rangle in MathML mode
10bB^b |\psi\rangle \quad B^b | \psi \rbrace \quad B^b | \psi \rbrack \quad B^b \vert\psi\rangle ||
Bb|ψBb|ψ}Bb|ψ]Bb|ψ
10cB^b \left|\psi\right\rangle \quad \psi \left|B^b\right\rangle ||
Bb|ψψ|Bb
Explicitly specifying \left and \right work
11a Incomplete Partially done\updownarrow \big\updownarrow \Big\updownarrow \bigg\updownarrow \Bigg\updownarrow \dots \Bigg\Updownarrow \bigg\Updownarrow \Big\Updownarrow \big\Updownarrow \Updownarrow ||
T375960 \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
12af:X\to Y ||
f:XY
T375974 Colon in f : X \to Y should be an operator in MathML mode.
12bD \And E ||
D&E
Has more space in LaTeX
12cA \smile B \frown B ||
ABB
12dA \therefore B \because B ||
ABB
12eB \overset{\underset{\mathrm{def} }{} }{=} B ||
B=defB
12fA \ulcorner B \urcorner B \llcorner B \lrcorner C ||
ABBBC
12gA \blacktriangle B \blacktriangledown B ||
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)*))
en:Reflection principle
13 Yes Done\|A\|, D(p\|q) ||
A,D(pq)
T376546

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

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

Vertical alignment of pipes with superscripts wrong in mathml mode

15\cancel{y} ||
y
T376829

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

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

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

17\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
T376883

Bad spacing for fractions with Safari in MathML mode

18
<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:

T376887

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

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

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

19b\text{let}\ {n \to +\infty} ||
let n+
More space used when not in a script
20 Yes Done\mathfrak{ABCDEFGHI} ||
𝔄𝔅𝔇𝔈𝔉𝔊
T378433} \mathfrak{ABCDEFGHI} appears as normal type in MathML mode on Chrome on Windows. Still broken for MathJax

Operators

Reported Operators
12cA + B - C \pm D \mp E \dotplus F ||
A+BC±DEF
12dA \times B \div C \divideontimes D / E \backslash F ||
A×B÷CD/EF
12eA\cdot B * C \ast D \star E \circ F \bullet G ||
AB*CDEFG
12fA \boxplus B \boxminus C \boxtimes D \boxdot E ||
ABCDE
12gA \oplus B \ominus C \otimes D \oslash E \odot F ||
ABCDEF
12hA \circleddash B \circledcirc C \circledast D ||
ABCD
12iA \in B \notin A \not\in B \ni B \not\ni C ||
ABA∉BB∌C
12jA \cap B \Cap B \sqcap B \bigcap C ||
ABBBC
12kA \cup B \Cup B \sqcup B \bigcup B \bigsqcup B \uplus B \biguplus C ||
ABBBBBBC
12lA \setminus B \smallsetminus B \times C ||
ABB×C
12mA \subset B \Subset B \sqsubset C ||
ABBC
12nA \supset B \Supset B \sqsupset C ||
ABBC
12oA \subseteq B \nsubseteq B \subsetneq B \varsubsetneq B \sqsubseteq C ||
ABBBBC
12pA \supseteq B \nsupseteq B \supsetneq B \varsupsetneq B \sqsupseteq C ||
ABBBBC
12qA \subseteqq B \nsubseteqq B \subsetneqq B \varsubsetneqq C ||
ABBBC
12rA \supseteqq B \nsupseteqq B \supsetneqq B \varsupsetneqq C ||
ABBBC
12sA = B \ne B \neq B \equiv B \not\equiv C ||
A=BBBB≢C
12tA \doteq B \doteqdot B \overset{\underset{\mathrm{def} }{} }{=} B := C ||
ABB=defB:=C
12uA \sim B \nsim B \backsim B \thicksim B \simeq B \backsimeq B \eqsim B \cong B \ncong C ||
ABBBBBBBBC
12vA \approx B \thickapprox B \approxeq B \asymp B \propto B \varpropto C ||
ABBBBBC
12wA < B \nless B \ll B \not\ll B \lll B \not\lll B \lessdot C ||
A<BBB≪̸BB⋘̸BC
12xA > B \ngtr B \gg B \not\gg B \ggg B \not\ggg B \gtrdot C ||
A>BBB≫̸BB⋙̸BC
12yA \le B \leq B \lneq B \leqq B \nleq B \nleqq B \lneqq B \lvertneqq C ||
ABBBBBBBC
12zA \ge B \geq B \gneq B \geqq B \ngeq B \ngeqq B \gneqq B \gvertneqq C ||
ABBBBBBBC
12aaA \lessgtr B \lesseqgtr B \lesseqqgtr B \gtrless B \gtreqless B \gtreqqless C ||
ABBBBBC
12abA \leqslant B \nleqslant B \eqslantless C ||
ABBC
12acA \geqslant B \ngeqslant B \eqslantgtr C ||
ABBC
12adA \lesssim B \lnsim B \lessapprox B \lnapprox C ||
ABBBC
12aeA \gtrsim B \gnsim B \gtrapprox B \gnapprox C ||
ABBBC
12afA \prec B \nprec B \preceq B \npreceq B \precneqq C ||
ABBBBC
12agA \succ B \nsucc B \succeq B \nsucceq B \succneqq C ||
ABBBBC
12ahA \preccurlyeq B \curlyeqprec C ||
ABC
12aiA \succcurlyeq B \curlyeqsucc C ||
ABC
12ajA \precsim B \precnsim B \precapprox B \precnapprox C ||
ABBBC
12akA \succsim B \succnsim B \succapprox B \succnapprox C ||
ABBBC
12alA \parallel B \nparallel B \shortparallel B \nshortparallel C ||
ABBBC
12amA \perp B \angle B \sphericalangle B \measuredangle B 45^\circ C ||
ABBBB45C
12anA \Box B \square B \blacksquare B \diamond B \Diamond B \lozenge B \blacklozenge B \bigstar C ||
ABBBBBBBC
12aoA \bigcirc B \triangle B \bigtriangleup B \bigtriangledown C ||
ABBBC
12apA \vartriangle B \triangledown C ||
ABC
12aqA \blacktriangle B \blacktriangledown B \blacktriangleleft B \blacktriangleright C ||
ABBBC
12arA \forall B \exists B \nexists C ||
ABBC
12asA \therefore B \because B \And C ||
ABB&C
12atA \lor B \vee B \curlyvee B \bigvee C ||
ABBBC
12auA \land B \wedge B \curlywedge B \bigwedge C ||
ABBBC
12avA \lnot B \neg B \not\operatorname{R} B \bot B \top C ||
A¬B¬BRBBC
12awA \vdash B \dashv B \vDash B \Vdash B \models C ||
ABBBBC
12axA \Vvdash B \nvdash B \nVdash B \nvDash B \nVDash C ||
ABBBBC
12ayA \ulcorner B \urcorner B \llcorner B \lrcorner C ||
ABBBC
12azA \Rrightarrow B \Lleftarrow C ||
ABC
12baA \Rightarrow B \nRightarrow B \Longrightarrow B \implies C ||
ABBBC
12bbA \Leftarrow B \nLeftarrow B \Longleftarrow C ||
ABBC
12bcA \Leftrightarrow B \nLeftrightarrow B \Longleftrightarrow B \iff C ||
ABBBC
12bdA \Uparrow B \Downarrow B \Updownarrow C ||
ABBC
12beA \rightarrow B \to B \nrightarrow B \longrightarrow C ||
ABBBC
12bfA \leftarrow B \gets B \nleftarrow B \longleftarrow C ||
ABBBC
12bgA \leftrightarrow B \nleftrightarrow B \longleftrightarrow C ||
ABBC
12bhA \uparrow B \downarrow B \updownarrow C ||
ABBC
12biA \nearrow B \swarrow B \nwarrow B \searrow C ||
ABBBC
12bjA \mapsto B \longmapsto C ||
ABC
12bkA \rightharpoonup B \rightharpoondown B \leftharpoonup B \leftharpoondown B \upharpoonleft B \upharpoonright C \downharpoonleft C |- C ||
ABBBBBCC|C
12blA \downharpoonright B \rightleftharpoons B \leftrightharpoons C ||
ABBC
12bmA \curvearrowleft B \circlearrowleft B \Lsh B \upuparrows B \rightrightarrows B \rightleftarrows B \rightarrowtail B \looparrowright C ||
ABBBBBBBC
12bnA \curvearrowright B \circlearrowright B \Rsh B \downdownarrows B \leftleftarrows B \leftrightarrows B \leftarrowtail B \looparrowleft C ||
ABBBBBBBC
12boA \hookrightarrow B \hookleftarrow B \multimap B \leftrightsquigarrow B \rightsquigarrow B \twoheadrightarrow B \twoheadleftarrow C ||
ABBBBBBC
12bpA \amalg B \P B \S B \% B \dagger B \ddagger B \ldots B \cdots B \vdots B \ddots C ||
A⨿BB§B%BBBBBBC
12bqA \smile B \frown B \wr B \triangleleft B \triangleright C ||
ABBBBC
12brA \diamondsuit B \heartsuit B \clubsuit B \spadesuit B \Game B \flat B \natural B \sharp C ||
ABBBBBBBC
12bsA \diagup B \diagdown B \centerdot B \ltimes B \rtimes B \leftthreetimes B \rightthreetimes C ||
ABBBBBBC
12btA \eqcirc B \circeq B \triangleq B \bumpeq B \Bumpeq B \doteqdot B \risingdotseq B \fallingdotseq C ||
ABBBBBBBC
12buA \intercal B \barwedge B \veebar B \doublebarwedge B \between B \pitchfork C ||
ABBBBBC
12bvA \vartriangleleft B \ntriangleleft B \vartriangleright B \ntriangleright C ||
ABBBC
12bwA \trianglelefteq B \ntrianglelefteq B \trianglerighteq B \ntrianglerighteq C ||
ABBBC
12cA \mid B \smile C \frown D \in E \ni F \vdash G \dashv H \models J \propto K ||
ABCDEFGHJK
Other binary relations
13 Yes Done{\bf Spec}, \bf A, \bf B, \bf C, \bf D, \bf E, \bf F, \bf G ||
𝐒𝐩𝐞𝐜,𝐀,𝐁,𝐂,𝐃,𝐄,𝐅,𝐆
T382672 Bold
14\det\nolimits^{\frac{1}{2} } ||
det12
T382716 nolimits
15{n \choose k} ||
(nk)
T388304 binomial coefficient
16n \choose k ||
(nk)
T388304 binomial coefficient