]> MathML Basics
Home | Projects | Docs | Jargon Bugzilla | LXR | Tree Status | Checkins Feedback | FAQ | Search

MathML Basics

This document illustrates some basic MathML constructions. It is tailored to display correctly with just the Symbol font. You can view its source. However, MathML documents tend to be verbose and you might get lost trying to locate a MathML fragment with the usual view source. This demo has been made to illustrate the following aspects. You can right-click on any math fragment of interest throughout this document. The context menu won't show up. Rather, the math fragment will zoom, and if you right-click a second time, you will see the MathML WYSIWYG markup of the fragment, and if you right-click again a third time, the fragment will revert to its initial state. This tri-state mode is aimed at limiting conflicts with other agents that compete for the mouse.

With MathML, one can build sets such as (go on, right-click any of these equations to experiment the zoom) { 0 , 1 , 2 , 3 , 4 } or { a b | a 2 + b 2 3 } , write calculus d y d x = 1 y 2 , form rather complicated expressions lim n N ( 1 + 1 n ) n e N , k = 2 z x 2 2 z y 2 - ( 2 z x y ) 2 ( 1 + ( z x ) 2 + ( z y ) 2 ) 2 , write vector equations Y = a X + b , etc.

Notice how the mathematics appear in the main flow of text and respond as you resize the window. You can also make displayed equations, such as the following ones:

x maps to y = f n ( x ) = ( 1 + 1 x n ) n a b f ( x ) d x = b - a 6 [ f ( a ) + 4 f ( a + b 2 ) + f ( b ) ] - ( b - a ) 5 4 ! 5 ! f ( 4 ) ( η ) , a η b | x | = { - x  if  x < 0 x  otherwise You can also typeset 2D mathematical constructs such as matrices. The following example shows the i-th step of the multiplication of a matrix A by a vector x (notice how ai1 , ... , ain , x1 are on the same baseline, other alignments are possible): i-th row [ a11 a12 a13 ... a1n : : : ... : ai1 ai2 ai3 ... ain : : : : an1 an2 an3 ... a n n ] [ x1 x2 x3 : xn ]

In Mozilla, MathML runs inside the main browser. So it responds to other browser operations such as the zoom (try View -> Text Zoom), and you can do links a 2 + b 2 = c 2 , apply stylistic effects a 2 + b 2 = c 2 , or use color a 2 + b 2 = c 2 in very strange ways p(x) q(x) = a0 + a1x + a2 x2 + ... + an-1 xn-1 b0 + b1x + b2 x2 + ... + bn-1 xn-1 .

You can also do other weird and risky things which are not portable, bongo warns, such as mixing MathML with other markups lizard + bongo = a b d x +

And you can turn to JavaScript and the DOM for dynamic operations.

Fill the gaps in this matrix with resizable input fields.
A = [ 1 4 ]
Left size: + -             Right size: + -
(click these control buttons to see their effects.)

Each entry of the following matrix represents (x+y)n for some n. When you left-click any individual entry, it should toggle between its expanded and unexpanded forms. You can also unexpand all or expand all.

( x + y ) 0 1 ( x + y ) 1 x + y ( x + y ) 2 x 2 + 2 x y + y 2 ( x + y ) 1 x + y ( x + y ) 2 x 2 + 2 x y + y 2 ( x + y ) 3 x 3 + 3 x 2 y + 3 x y 2 + y 3 ( x + y ) 2 x 2 + 2 x y + y 2 ( x + y ) 3 x 3 + 3 x 2 y + 3 x y 2 + y 3 ( x + y ) 4 x 4 + 4 x 3 y + 6 x 2 y 2 + 4 x y 3 + y 4 ( x + y ) 3 x 3 + 3 x 2 y + 3 x y 2 + y 3 ( x + y ) 4 x 4 + 4 x 3 y + 6 x 2 y 2 + 4 x y 3 + y 4 ( x + y ) 5 x 5 + 5 x 4 y + 10 x 3 y 2 + 10 x 2 y 3 + 5 x y 4 + y 5

And there could be more...

For more information about MathML in Mozilla, see the MathML Project Page. There are links to more samples, screenshots and instructions on how to download fonts for various platforms. These fonts are required to view other examples beyond the basic constructions illustrated here.

Z α ( f ) = 1 2 i cos ( α π 2 ) C f ( i z ) ( - z ) α e 2 π z - 1 d z


This page is typeset according to XHTML, the reformulated way to go for the web.