Implementation of MathML in Mozilla:
Status report of each tag
Page under construction
Todo: Live demos.
(Not all demo links below are working yet.)
Contents
- Top-level <math> Element
- Token Elements
- General Layout Schemata
- Scripts and Limits
- Tables and Matrices
- Enlivening Expressions
- Extras (technology demos)
| |
Notes:
- In general you can get additional stylistic effects by using CSS rules in
the <style>...</style> element in the standard CSS way.
- You can also use the <script>...</script> element
in the usual (X)HTML way to perform dynamic operations in the
document, including the math content (see for example the interactive
sizing in the demo of mspace).
Working demos so far:
mfrac,
mo,
mtable,
mspace,
mmultiscripts,
msqrt-mroot
Top-level Element
<math |
-- top-level element |
|
>>Demo...
|
%att-common
%att-top-info
%att-macros
%att-display
%att-mode - deprecated
>
|
| | |
Compatibility: |
MathML 1.x,
MathML 2.0
|
Status: |
Implemented by building upon the CSS block and inline box model code.
As a benefit of this, linebreaking is supported between children of
the <math> element.
|
Issues: |
Some limitations exist due to the specifities of MathML. To prevent
expressions from breaking in a non-math aware manner and to ensure that
the stretching of stretchy operators is performed adequately, you may
need to wisely group related children using
<mrow>.
|
|
Token Elements
<mo |
-- operator, fence, separator, or accent |
|
>>Demo...
|
<mglyph |
-- access arbitrary character glyph within a font |
|
|
%att-alt
%att-fontfamily
%att-index
/>
|
| | |
Compatibility: |
MathML 2.0 |
Status: |
Not yet implemented in Mozilla. |
Issues: |
Can have portability problems because certain fonts may not necessarily
be identical across platforms and encoding types (e.g., TrueType vs. Type 1). |
|
General Layout Schemata
<mrow |
-- horizontally group sub-expressions |
|
>>Demo...
|
%att-common
>
|
| | |
Compatibility: |
MathML 1.x,
MathML 2.0 |
Status: |
Implemented |
Issues: |
Mozilla doesn't linebreak within <mrow>.
Be sure to group your expressions wisely.
|
|
<mpadded |
-- adjust space around content |
|
>>Demo...
|
<mphantom |
-- make content invisible but preserve its size |
|
>>Demo...
|
<mfenced |
-- surround content with fences and possible separators between children |
|
>>Demo...
|
<menclose |
-- enclose expression inside notation |
|
|
Scripts and Limits
<msub |
-- attach a subscript to a base |
|
>>Demo...
|
<msup |
-- attach a superscript to a base |
|
>>Demo...
|
<msubsup |
-- attach a subscript-superscript pair to a base |
|
>>Demo...
|
<munder |
-- attach an underscript to a base |
|
>>Demo...
|
<mover |
-- attach an overscript to a base |
|
>>Demo...
|
<munderover |
-- attach an underscript-overscript pair to a base |
|
>>Demo...
|
<mmultiscripts |
-- attach prescripts and tensor indices to a base |
|
>>Demo...
|
Tables and Matrices
<mtable |
-- table or matrix |
|
>>Demo...
|
<mtr |
-- row in table or matrix |
|
>>Demo...
|
<mlabeledtr |
-- labeled row in table or matrix |
|
|
<mtd |
-- cell entry in table or matrix |
|
>>Demo...
|
%att-common
%att-rowalign
%att-columnalign
%att-groupalign
%att-rowspan
%att-columnspan
>
|
| | |
Compatibility: |
MathML 1.x,
MathML 2.0 |
Status: |
Implemented by leveraging on the CSS2 table model code |
Issues: |
- Some limitations exist due to the specifities of MathML
- The interpretation of rowspan and columnspan is meant
to correspond with the similar attributes for HTML 4.01 tables.
In particular columnspan="0" (resp. rowspan="0") means that
that the cell spans all columns (resp. rows) from the current
column (resp. row) to the last column (resp. row) of the table.
|
|
<malignmark |
-- alignment markers |
|
|
Enlivening Expressions
<maction |
-- bind action to sub-expression |
|
>>Demo...
|
Extras (technology demonstration, non-portable)
>>Demo...
- title attribute as a tooltip
(from XHTML)
- mixing MathML with other markups, e.g., <img>, <form>
- and more.
Roger B. Sidje <
rbs@maths.uq.edu.au>