mathzilla
Mozilla
MathML Project
mathzilla
A Mozilla Project for
Math on the Web
1) History of the Project
mathzilla
  • 1989-1990: Invention of the Web by researchers at CERN.
  • March 1995: HTML 3.0 Draft Released ; contains a <MATH> tag.
  • January 1998: Announcement to open Netscape Source Code.
1) History of the Project
mathzilla
  • 1989-1990: Invention of the Web by researchers at CERN.
  • March 1995: HTML 3.0 Draft Released ; contains a <MATH> tag.
  • January 1998: Announcement to open Netscape Source Code.
  • April 1998: MathML 1.0 Released.
  • May 1999: Launch of the Project by Volunteer Contributors.
  • February 2001: MathML 2.0 Released.
1) History of the Project
mathzilla
  • 1989-1990: Invention of the Web by researchers at CERN.
  • March 1995: HTML 3.0 Draft Released ; contains a <MATH> tag.
  • January 1998: Announcement to open Netscape Source Code.
  • April 1998: MathML 1.0 Released.
  • May 1999: Launch of the Project by Volunteer Contributors.
  • February 2001: MathML 2.0 Released.
  • June 2002: Mozilla 1.0 Released with MathML support.
  • July 2003: Creation of the Mozilla Foundation.
  • November 2004: Firefox 1.0 Released.
1) History of the Project
mathzilla
  • 1989-1990: Invention of the Web by researchers at CERN.
  • March 1995: HTML 3.0 Draft Released ; contains a <MATH> tag.
  • January 1998: Announcement to open Netscape Source Code.
  • April 1998: MathML 1.0 Released.
  • May 1999: Launch of the Project by Volunteer Contributors.
  • February 2001: MathML 2.0 Released.
  • June 2002: Mozilla 1.0 Released with MathML support.
  • July 2003: Creation of the Mozilla Foundation.
  • November 2004: Firefox 1.0 Released.
  • ...
  • October 2010: MathML 3.0 Released.
  • June 2013: Launch of Mozilla Science Lab.



2) MathML is the markup
language used in HTML5
to write math...
MathML integrates
well in HTML

PNG blah ex21 blah
MathML blah x + y 2 k + 1 blah
MathML integrates
well in HTML

PNG ex51
MathML ∑ p  prime f ( p ) = ∫ t > 1 f ( t ) d π ( t )
MathML integrates
well in HTML
PNG ex54
MathML det | c 0 c 1 c 2 … c n c 1 c 2 c 3 … c n + 1 c 2 c 3 c 4 … c n + 2 ⋮ ⋮ ⋮ ⋮ c n c n + 1 c n + 2 … c 2 n | > 0
This is actually an
SVG image...
mathzilla
mathzilla
mathzilla
...with a MathML
equation inside!
mathml tree
mathml tree mathml tree

MathML can be styled
with CSS
  mo { color: #faa;  }
  mfrac { text-shadow: #aaf 10px 12px 1px; }
Γ ( z ) = ∫ 0 ∞ t z e − t d t t

MathML DOM can be
modified via JavaScript
  mfrac.setAttribute('bevelled', ...);
2 π
MathML is compatible
with Unicode & Bidi

ص = - م ٢ + م ٢ ٤ + هـ ٣ ٢٧ ٢ ٣ + - م ٢ - م ٢ ٤ + هـ ٣ ٢٧ ٢ ٣ . { ق ل + د ( ق ) س = ٠ ق ( ٠ ، س ) = { ق - اذا كان  س < ٠ ق + اذا كان  س > ٠ π ( ن ) = ∑ م = ٢ ن ⌊ ( ∑ ك = ١ م - ١ ⌊ ( م ∕ ك ) ∕ ⌈ م ∕ ك ⌉ ⌋ ) - ١ ⌋



3) MathML is available
in any Gecko-based
applications...
MathML in Firefox
(MDN Wiki)
MDN
MathML in Firefox
(Jacques Distler's Blog) Blog
MathML in Firefox
(Wikipedia) Wikipedia
MathML in Firefox
(Connexions E-Course) Connexions
MathML in Firefox
(Firemath add-on) Firemath
MathML in Firefox
(EPUBReader add-on)
EPUBReader
MathML in Thunderbird
Thunderbird
MathML in InstantBird
InstantBird

MathML in BlueGriffon
BlueGriffon
4) There are many ways
to write MathML...
MDN Firemath
MathBird BlueGriffon
Client-side conversion
(ASCIIMathML)
  ...
  <script src="ASCIIMathML.js" ...>
  </head>
  <body>
  `a/b + c^2 = sqrt t - 4 v_0`
  ...
a b + c 2 = t - 4 v 0
Client-side conversion
(MathJax)
  <script type="text/x-mathjax-config">
    MathJax.Hub.Config({
      MMLorHTML: { prefer: { Firefox: "MML" } }
    });
  </script>
  <script src="MathJax.js?config=TeX-AMS-MML_HTMLorMML.js"...>
  ...
  \[ \sum_{k=0}^{n-1} e^{k \frac {2 i \pi}{n}} = 0 \]
∑ k = 0 n − 1 e k 2 i π n = 0
Command line tools (itex2MML)
input.html

  <body>
    <p style="color: #faa">$\sqrt{a^2-3c}$</p>
  </body>

$ cat input.html | itex2MML > output.html
$ firefox output.html

a 2−3c

Command line tools (LaTeXML)
Convert a random LaTeX paper into a Web page!

arXiv
 $ latexml --dest thesis.xml thesis.tex
 $ latexmlpost --dest html/thesis.html --format=html5 \
               --splitat=section thesis.xml
  $ firefox thesis.html
LaTeXML output
WYSIWYG editor (LibreOffice)
Tools → Options → Advanced → Experimental Features
to enable the visual equation editor...
LibreOffice Equation Editor
WYSIWYG editor (LibreOffice)
Export your document into XHTML+MathML...
LibreOffice XHTML+MathML Export
WYSIWYG editor (LibreOffice)
... and view it in Firefox!
LibreOffice Output
Handwriting Recognition (MyScript Web Equation) Handwriting Recognition



5) Work in Development
and Future Projects
MediaWiki Project
  • MathJax mode for anonymous users on Wikipedia.
  • Fast Server-side TeX-To-MathML Conversion.
  • Math Search Engine.
Math Search
MathJax Project
  • Fall 2013: MathJax 2.3 with better font support.
  • MathJax extension with Math Accessibility Enhancements.
  • Improving Gecko and WebKit's MathML support.
MathML ipod
Authoring tools
  • Fall 2013: New release of LaTeXML, with EPUB export and better support for LaTeX graphic packages
  • January 2014: LibreOffice 4.2 with Improved MathML Export.
LibreOffice XHTML+MathML Export
Mozilla Project

Wish to get involved? Here are some ideas:

  • Complete Gecko's MathML support (bugs 534959 and 525772)
  • Fix issues that prevent Gecko's Native MathML from being the default in MathJax (bug 687809)
Mozilla Project

Wish to get involved? Here are some ideas:

  • Complete Gecko's MathML support (bugs 534959 and 525772)
  • Fix issues that prevent Gecko's Native MathML from being the default in MathJax (bug 687809)
  • Improve Font Installation (bugs 770005, 467729 and 648548)
  • Add support for more Open Type Math fonts (bug 407059)
Mozilla Project

Wish to get involved? Here are some ideas:

  • Complete Gecko's MathML support (bugs 534959 and 525772)
  • Fix issues that prevent Gecko's Native MathML from being the default in MathJax (bug 687809)
  • Improve Font Installation (bugs 770005, 467729 and 648548)
  • Add support for more Open Type Math fonts (bug 407059)
  • Make the editor/ aware of MathML (bug 78128)
  • Implement MathML Clipboard Specification (bug 539506)
Mozilla Project

Wish to get involved? Here are some ideas:

  • Complete Gecko's MathML support (bugs 534959 and 525772)
  • Fix issues that prevent Gecko's Native MathML from being the default in MathJax (bug 687809)
  • Improve Font Installation (bugs 770005, 467729 and 648548)
  • Add support for more Open Type Math fonts (bug 407059)
  • Make the editor/ aware of MathML (bug 78128)
  • Implement MathML Clipboard Specification (bug 539506)
  • Create an EPUB reader or other math tools for FirefoxOS
  • Make MathML accessible in Gecko (bug 916419). Make the FireVox extension work with the latest version of Gecko?
mathzilla
Thanks for Watching!
  • This slideshow and more resources are available here: https://github.com/fred-wang/MozSummitMathML
  • Reaching the Community: #mathml and dev-tech-mathml@lists.mozilla.org
  • Have questions? Contact Fred Wang (<fred DOT wang AT free DOTfr>) or Karl Tomlinson (<karlt AT karlt DOT net>)
mathzilla


This page contains
advanced MathML
features. Please use
a Gecko browser :-(