Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • M MathJax
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 304
    • Issues 304
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MathJax
  • MathJax
  • Wiki
  • MathML Support In Browsers

MathML Support In Browsers · Changes

Page history
finish to write MathML support in browsers authored May 06, 2012 by Frédéric Wang's avatar Frédéric Wang
Hide whitespace changes
Inline Side-by-side
MathML-Support-In-Browsers.md
View page @ 5c09e32c
......@@ -71,12 +71,8 @@ rendering quality is an essential point.
# Supported input commands and MathML elements
We give tables indicating support for various MathJax input commands provided
by the TeX processors and mention potential issues. In theory,
one can use the MathML input processor to enter arbitrary input allowed by the
MathML 3 recommendation. We give a general overview for elements, attributes or
general MathML features supported by MathJax. For details, please read the
browser vendors documentation.
Here is a table indicating support for various MathJax input commands provided
by the TeX processors.
## TeX input processor
......@@ -104,7 +100,9 @@ Accents
<td>
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/above-below/accents-1.html">accents-1</a>
</td>
<td></td>
<td>
See <a href="https://github.com/mathjax/MathJax/issues/216">issue 216</a>
</td>
<td>OK</td>
<td>OK</td>
<td>some accents do not stretch</td>
......@@ -384,6 +382,7 @@ some mfrac@linethickness attributes ignored
<td>\boxes, \kern, \llap, \lower, \mathstrut, \moveleft, \moveright, \newline,
\phantom, \raise, \rlap, \shove, \skip, \skip, \smash, \spaces, \strut,
\vcenter</td>
<td>
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/layout/boxes-1.html">boxes-1</a>,
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/layout/kern-1a.html">kern-1a</a>,
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/layout/kern-1b.html">kern-1b</a>,
......@@ -404,11 +403,28 @@ some mfrac@linethickness attributes ignored
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/layout/strut-1.html">strut-1</a>,
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/layout/vcenter-1.html">vcenter-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>
These are essentially tests for layout commands and may be difficult to
verify visually.
</td>
<td>
OK
</td>
<td>
Negative mspace@width not supported ;
@rowspacing/@columnspacing not supported ;
</td>
<td>
menclose not supported;
Negative mspace@width not supported ;
@rowspacing/@columnspacing not supported ;
mpadded not supported ;
delimiters of mfenced not displayed
</td>
<td>
Negative mspace@width not supported ;
@rowspacing/@columnspacing not supported ;
mpadded not supported</td>
</tr>
<tr>
......@@ -536,6 +552,8 @@ vmatrix-2: delimiters do not stretch</td>
<td>@rowspacing/@columnspacing not supported</td>
</tr>
<!--
Tests not finished yet
<tr>
<td>mhchem package</td>
<td><a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/mhchem/advanced-1.html>advanced-1</a>,
......@@ -556,6 +574,7 @@ vmatrix-2: delimiters do not stretch</td>
<td>?</td>
<td>?</td>
</tr>
-->
<tr>
<td>\class, \cssId, \href, \require, \Rule, \style, \Tiny, \unicode</td>
......@@ -642,7 +661,9 @@ Large operators
</td>
<td><a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/symbols/largeops-1.html">largeops-1</a>
</td>
<td>Large operators in display mode</td>
<td>
See <a href="https://github.com/mathjax/MathJax/issues/216">issue 216</a>
</td>
<td>bad vertical alignment</td>
<td>OK</td>
<td>operators too small</td>
......@@ -651,7 +672,7 @@ Large operators
<tr>
<td>
Other symbols...
Various symbols
<!--
\And, \Bbbk, \Box, \Bumpeq, \Cap, \Cup, \Diamond, \Doteq, \Doteq, \Finv, \Game,
\Im, \Join, \Lsh, \Re, \Rsh, \S, \Subset, \Supset, \Vdash, \Vvdash, \amalg,
......@@ -728,7 +749,7 @@ fonts are installed.
</td>
<td></td>
<td>Bad vertical alignment</td>
<td>OK</td>
<td>Negative mspace@width not supported</td>
<td>Bad positioning and size</td>
<td>Bad positioning and size</td>
</tr>
......@@ -791,10 +812,10 @@ No tree reftests
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/displaylines-1.html">displaylines-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>@rowspacing/@columnspacing not supported</td>
<td>@rowspacing/@columnspacing not supported</td>
<td>@rowspacing/@columnspacing not supported</td>
</tr>
<tr>
......@@ -802,11 +823,11 @@ No tree reftests
<td>
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/enclose-1.html">enclose-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>MathJax uses a non standard syntax to display an arrow</td>
<td>OK</td>
<td>OK</td>
<td>menclose not supported</td>
<td>menclose attributes not supported</td>
</tr>
<tr>
......@@ -815,10 +836,10 @@ No tree reftests
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/mod-1.html">mod-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>mi with several characters in italic</td>
<td>OK</td>
</tr>
<tr>
......@@ -827,10 +848,10 @@ No tree reftests
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/not-1.html">not-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
......@@ -839,10 +860,10 @@ No tree reftests
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/pod-1.html">pod-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
......@@ -850,11 +871,13 @@ No tree reftests
<td>
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/primes-1.html">primes-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>
See <a href="https://github.com/mathjax/MathJax/issues/216">issue 216</a>
</td>
<td>OK</td>
<td>OK</td>
<td>backprime not displayed</td>
<td>OK</td>
</tr>
<tr>
......@@ -863,10 +886,10 @@ No tree reftests
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/mathsize-1.html">mathsize-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>@mathsize not supported</td>
</tr>
<tr>
......@@ -876,10 +899,10 @@ No tree reftests
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/style-2.html">style-2</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>@scriptlevel/@displaystyle ignored</td>
<td>@scriptlevel/@displaystyle ignored</td>
</tr>
<tr>
......@@ -900,10 +923,10 @@ No tree reftests
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/functions-1.html">functions-1</a>
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
......@@ -911,20 +934,39 @@ No tree reftests
<td>
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/limits-1.html">limits-1</a>,
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/limits-2.html">limits-2</a>,
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/limits-3.html">limits-3</a>,
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/limits-4.html">limits-4</a>
<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/limits-3.html">limits-3</a>
<!-- ,<a href="http://devel.mathjax.org/testing/testsuite/LaTeXToMathML/limits-4.html">limits-4</a> -->
</td>
<td>
See <a href="https://github.com/mathjax/MathJax/issues/215">issue 215</a>
</td>
<td>OK</td>
<td>limits-2: too much spaces between mi</td>
<td>limits-2: Horizontal accents not stretched
</td>
<td>
limits-2:
Bad positioning of accent ;
Horizontal accents not stretched
</td>
<td></td>
<td>?</td>
<td>?</td>
<td>?</td>
<td>?</td>
</tr>
</table>
## MathML input processor
In theory, one can use the MathML input processor to enter arbitrary input
allowed by the MathML 3 recommendation. We give a general overview for
elements, attributes or general MathML features supported by MathJax.
The table below is not too strict and "OK" may also mean partial support.
For details, please read the documentation provided by the browser
vendors:
* MathPlayer
* [Mozilla MathML Status](https://developer.mozilla.org/en/Mozilla_MathML_Project/Status)
* [Webkit MathML Status](https://trac.webkit.org/wiki/MathML%20Status)
* [Presto 2.11 MathML Status](http://www.opera.com/docs/specs/presto2.11/mathml/)
<table>
<tr>
......@@ -937,234 +979,221 @@ No tree reftests
<tr>
<td>&lt;mi&gt;, &lt;mn&gt;, &lt;mo&gt;, &lt;mtext&gt;, &lt;ms&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;mrow&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;mfrac&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;msqrt&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;mroot&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;mstyle&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;merror&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;mpadded&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;mphantom&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;mfenced&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;menclose&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>Not supported</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;msub&gt;, &lt;msup&gt;, &lt;msubsup&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;munder&gt;, &lt;mover&gt;, &lt;munderover&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;mmultiscripts&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>Limited</td>
</tr>
<tr>
<td>&lt;mtable&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
</tr>
<tr>
<td>&lt;mtr&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;mtd&gt;</td>
<td>Yes</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>&lt;mtable&gt;, &lt;mtr&gt;, &lt;mtd&gt;</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;maligngroup&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;malignmark&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<!--
MathJax does not support elementary math yet
<tr>
<td>&lt;mstack&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;mlongdiv&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;msgroup&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;msrow&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;mscarries&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;mscarry&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;msline&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
-->
<tr>
<td>&lt;mglyph&gt;</td>
<td>?</td>
<td>No</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>Not supported</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
<tr>
<td>&lt;maction&gt;</td>
<td>?</td>
<td>Yes</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>Not supported</td>
<td>OK</td>
</tr>
<tr>
<td>&lt;semantics&gt;</td>
<td>?</td>
<td>Partial</td>
<td>?</td>
<td>?</td>
<td>OK</td>
<td>OK</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
</table>
......@@ -1181,18 +1210,18 @@ No tree reftests
<tr>
<td>Operator Stretching</td>
<td>Yes</td>
<td>Yes</td>
<td>OK</td>
<td>OK</td>
<td>Partial</td>
<td>No</td>
<td>Not supported</td>
</tr>
<tr>
<td>Embellished Operators</td>
<td>Yes</td>
<td>Yes</td>
<td>No</td>
<td>No</td>
<td>OK</td>
<td>OK</td>
<td>Not supported</td>
<td>Not supported</td>
</tr>
</table>
Clone repository

MathJax Wiki

  • Contributing
  • Development
    • Development Process
      • Release Process Checklist
      • Hotfix Release Process
      • Documentation Update Process
      • Source Control Policies
    • Design Documents
      • MathJax Roadmap
      • CDN Hosting
        • Directory Structure
        • CDN .htaccess settings
        • Managing Amazon Cloudfront distribution
        • Initial CDN investigation
      • Performance Discussion
      • Profiling and Diagnostics Tools
      • Configuration Options
      • Documentation generation guide
      • Testing