Given the ubiquity with which the internet has taken over our lives and the extent to which society is using web pages written in HTML it is, perhaps, a bit surprising that research mathematicians still use TeX to distribute their results. Current web browsers and authoring tools are much more friendly towards formatting, graphics, animation, colors and cross referencing. The possibilities are endless, and it is a pity that we don't currently have them available in our standard mathematics presentations. For example,
In fact, some TeX addons (HyperTeX [HT], Beamer [Bm]), attempt to incorporate some weblike features. In 1998, MathML version 2 was released by the World Wide Web Consortium, the standards organisation for Web markup. So what is holding up our conversion? On one hand, research mathematicians are right to be hesitant to try to convert to MathML because the existing software is sometimes user unfriendly and this can be very frustrating. On the other hand, it is a vicious circle, because mathematicians have not demanded better software, software for MathML has developed extremely slowly. As soon as we, as a community, start trying to use the existing tools they will develop very quickly.
Thanks to the efforts of Mozilla (particularly Roger Sidje) there is a robust browser that processes MathML with good looking results.
This article has two goals:
Production of this article was partially supported by research and teaching intiatives supported by the National Science Foundation under Grant No. DMS-0353038. I thank National Science Foundation for continuing support of my research and teaching. This article was completed during the special semester on Combinatorial Representation Theory at Mathematical Sciences Research Institute (MSRI) in Berkeley. I thank MSRI for support and a wonderful and stimulating working environment.
The first and most important step is to get a browser that can display MathML. Mozilla Firefox [Fx], (or Camino [Cm], optimised for the Mac) seems to be the best option. Download the necessary fonts from STIX fonts [SX], MathML at MIT [MT], or the appropriate font installer in the right hand column of the fonts for MathML enabled Mozilla [ft]. Test your browser with the MathML torture test [Tt]. Other browser options are:
MathML is an add-on to HTML, the base language for writing webpages. All the basic formatting is done with HTML (titles, paragraphs, links,... ) and so only the formatting of mathematical formulas needs to be done with MathML commands. The result is that MathML has fewer commands than TeX. It is not necessary to learn HTML and MathML separately. After reading this article, start by modifying the template for an article at http://www.math.wisc.edu/~ram/MathGlossary/template.xml [tmp]. If there is something you want to typeset which is not found in the template then look at the following useful pages, full of examples:
MathML comes in two flavours: presentation markup and content markup. At the moment, most browsers do not render content markup (see MathML for Mozilla [Mmz] and Amaya overview [Ao]). It seems that presentation markup is sufficient for mathematical typesetting needs and this article treats only presentation markup.
Style sheets for formatting are standard in TeX (e.g. amssym). The analogue for HTML is CSS (Cascading Style Sheets). There is no need to learn CSS separately, the necessary commands to get started are in the header of the template for a MathML typeset research article at http://www.math.wisc.edu/~ram/MathGlossary/template.xml [tmp]. Appendix 1 contains a list of the most useful HTML commands and (all) MathML commands. The authoritative sources for commands and syntax are the W3C (World Wide Web Consortium) recommendations:
The following gives some basics for creating pages with HTML and MathML. The code for most of the are often examples in this article is included in the template article at http://www.math.wisc.edu/~ram/MathGlossary/template.xml [tmp]. If you are viewing this article on the web use View Source in the View menu of your browser to see the code or download this page and edit it in your favourite editor.
Though MathML is simpler to learn than TeX, it has one great annoyance
(which is, very likely, the reason it
hasn't caught on more quickly): nearly every printing character
is supposed to put inside <mi> </mi>
or <mo> </mo>
or <mn> </mn>
(for "math identifier", "math operator" and "math number").
This means that the equation
is typeset with the code
The consequence is that it is tedious to type in
MathML by hand and some software that helps is desirable.
Amaya is still in beta-version but it can be useful.
Hopefully, Amaya will be improved quickly.
Javascript can do amazing things: there is a javascript
ASCII to MathML translator [AT]
written by
Peter Jipsen
[Jp]
and a javascript
LateX to MathML translator
[TT]
written by Douglas Woodall and
Jeff Knisley
[Kn].
Perhaps translation is too extreme, a MathML dialect
that retains the advantages of web markup and
is not tedious to enter might be the ideal.
Although I have not yet implemented
this myself, a bit of javascript at the
beginning of your web page that automatically puts in the tedious
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msup><mi>x</mi><mn>2</mn></msup>
<mo>+</mo>
<msup><mi>y</mi><mn>2</mn></msup>
<mo>=</mo><mn>1</mn>
</math>
mi, mo,
and mn
tags
would enable the same equation,
,
to be typeset with the code
<mymath> <msup>x2</msup> + <msup>y2</msup> =1 </mymath>
<blockquote> put equation here
</blockquote>
. Alternatively, the header in
the template article at
http://www.math.wisc.edu/~ram/MathGlossary/template.xml
[tmp]
includes the CSS lines
table.dispeq{ width:100%; }
td.eq{ text-align:center }
td.eqno.after { content: "("counter(section)"."counter(eqn)")";
counter-increment: eqn;
font-style: normal; }
With these header lines displayed equations are inserted with
<table class="dispeq"> <a name="eqname"></a>
<tr>
<td class="eq"> Insert equation here </td>
<td class="eqno"></td>
</tr>
</table>
where the line <td class="eqno"></td>
is
needed only for a numbered equation and the
<a name="eqname"></a>
is only needed to refer back to this equation later in the text.
The header material in the template article at
http://www.math.wisc.edu/~ram/MathGlossary/template.xml
[tmp]
includes CSS commands
(inside the <style> ... </style>
tags) which provide
formatting and automatic numbering for title, author, sections, subsections,
equation numbers, theorems, propositions and lemmas. With these lines in
the header, the title and author are put in with
the section and subsection headers are put in with
<h2 class="title">My title</h2>
<p class="author">
My Name <br />
Department of My Stuff <br />
University of My Place <br />
City, ST 99999 SUE
</p>
<h2 class="section">A section</h2>
and
<h3 class="subsection">A subsection</h3>
<div class="theorem">
My theorem with a link back to equation (<a href="#firsteqn">2.1</a>).
</div>
[BG] A. Braverman and D. Gaitsgory, Crystals via the affine Grassmanian, Duke Math. J. 107 no. 3, (2001), 561-575.
Dressed up a bit, it has links to the authors' web pages, a link to the Math Review, a link to the journal, link to the arXiv version, and an anchor so that the reader can click on [BG] wherever it happens to be in the text and immediately jump to this reference entry.[BG] A. Braverman and D. Gaitsgory, Crystals via the affine Grassmanian, Duke Math. J. 107 no. 3, (2001), 561-575; arXiv:math/9909077v2, MR1828302 (2002e:20083)
Because most web pages are continuous media, not paged media, the conventions for footnotes and acknowledgments may differ. A reasonable convention would be to place acknowledgments at the end of the introduction. Footnotes at the end of the document with anchors will have easy point and click link access. For information on including specific formatting rules for the printed version see Section 7 of the CSS Specification. Page breaks are discussed in Section 13.
<a href="http://www.mozilla.org/projects/mathml/demo/texvsmml.xhtml">
Mozilla MathML torture test</a>.
<img xmlns="http://www.w3.org/1999/xhtml"
align="middle" alt="convex hull"
src="http://www.math.wisc.edu/~ram/MathGlossary/convexhull.png" />
Nearly any graphic you make with your favourite picture drawing program
can be included in this fashion (in this example, the .png
file containing the graphic was made with the picture drawing program
Fireworks
[Fw]).
<mi title="convex hull">Conv</mi>
which has the effect
that a tootip containing the words "convex hull" appears on mouse over.
There are plenty of math symbols available in MathML.
The Mozilla MathML character table [CT] is extremely helpful, both for finding available characters and for determining character names. The following links will help for navigating these tables:
α
β ... Φ ∇
,
𝔸
𝔹 ... 𝕪 𝕫
,
𝒜
ℬ ... 𝓎 𝓏
,
𝔄
𝔅 ... 𝔶 𝔷
, and
А
Б ... ы џ
.
Math formulas and notation are typeset inside
<math xmlns="http://www.w3.org/1998/Math/MathML">
math stuff here </math>
.
This is analogous to $ in TeX.
<msup>
and for subscripts use <msub>
.
For multisubscripts and superscripts and prescripts use
<mmultiscripts>
.
∑
), products (∏
),
integrals (∫
) and other similar "large" operators
should resize appropriately if they are entered in the format
<mo>∑</mo>
.
Similarly,
parentheses, braces and brackets should resize appropriately
if they are entered as
<mo>(</mo> ... <mo>)</mo>
.
If parentheses don't automatically size correctly enclose
the content inside <mrow> ... </mrow>
.
Parentheses are not required to be paired so a "cases"
is easily accomplished with no extra effort.
<mover>
and <munder>
.
The arrows stretch well in Mozilla and the ∼
,
‾
, ^
are also
supposed to stretch, but the only one that does is ^
.
where the last example is stolen from the Mozilla MathML torture test [Tt].
<mfrac linethickness="1"> <mrow>
numerator </mrow>
<mrow>
denominator </mrow></mfrac>
,
linethickness="1"
should be left out for ordinary
fractions and set to 0, instead of 1, for binomial coefficients.
displaystyle
and scriptlevel
attributes of the <mstyle>
tag.
Matrices, math tables and aligned equations
are done with <mtable>
.
The equation alignment in the second example below
is done with <mtable columnalign="right center left">
.
malignmark
, maligngroup
and
groupalign
are not yet implemented in Mozilla.
Check the page
status report of MathML tags in Mozilla
[st]
for the latest updates.
Resizing is best done by enclosing the content in an
<mstyle scriptlevel="-1"> ... </mstyle>
where the -1 is changed to -2 or +1 or +2, as appropriate.
Positioning (up/down/left/right) of an object
is controlled with <mpadded>
. This doesn't render
exactly right in Mozilla as
<math xmlns="http://www.w3.org/1998/Math/MathML"> <mpadded width="+1em"><mi>α</mi></mpadded> <mpadded height="-2em"><mi>β</mi></mpadded> <mpadded depth="+4em"><mi>γ</mi></mpadded> <mpadded lspace="+1em"><mi>δ</mi></mpadded> </math> |
renders as |
For text inside math use
<mtext>
text here
</mtext>
.
The
puts a space.
For inserting space inside math mode use
<mspace width="2em"/>
, where the 2 can be adjusted
as desired.
Other options are the space characters
,
 
,
 
,
 
,
 
,
 
,
 
,
 
,
 
,
illustrated by
,
respectively.
Phantom content is inserted with
<mphantom> ... </mphantom>
(analogous to the command \phantom in TeX).
Comments are inserted as in HTML,
with <!--
comment here -->
.
Boxes can be placed around content using
<mtable frame="solid">
,
color with
<mstyle color="your color">
your colored content </mstyle>
,
and a colored background is accomplished with
<mstyle background="yellow"> stuff </mstyle>
.
where the last example is Example
miScolorname15
from the
MathML testsuite [TS].
The MathML tag <menclose>
is not yet
implemented in Mozilla. Check the page
status report of MathML tags in Mozilla
[st]
for the latest updates.
The <maction>
tag provides a nice option
of "toggling" content, by clicking on it
(try it, click on it).
Amaya is very useful for putting in all those <mi>
,
<mo>
, setting up subscripts, superscripts,
matrices and fractions. Amaya, at the moment, is painful for entering
math symbols and it has the annoying problem that, even if you get it
entered right, when you save your document,
Amaya will automatically change character entities that have been
entered manually. For example,
⟨
will change into some Chinese character.
Amaya crashes often. Until Amaya gets more robust the best option is to use Amaya in tandem with your favourite editor. Do the layout of the text and the equations with Amaya. Type a few paragraphs into Amaya then copy the code into your favourite editor and fix up the character names. Use a slightly different name for Amaya file and your document file. When using Amaya
.xml
and type math into it. Amaya will
automatically put in the correct DTD (Document Type Definition).Command | Tag | Shortcut |
---|---|---|
New Formula | <math> | Ctrl-m Ctrl-m |
Subscript | <msub> | Ctrl-m Ctrl-v |
Superscript | <msup> | Ctrl-m Ctrl-6 |
Subscript and Superscript | <msubsup> | Ctrl-m Ctrl-b |
Multiscripts | <mmultiscripts> | Ctrl-m Ctrl-s |
Under | <munder> | Ctrl-m Ctrl-u |
Over | <mover> | Ctrl-m Ctrl-o |
Under and over | <munderover> | Ctrl-m Ctrl-k |
Fraction | <mfrac> | Ctrl-m Ctrl-f |
New Matrix | <mtable> | Ctrl-m Ctrl-h |
Root | <mroot> | Ctrl-m Ctrl-r |
Square root | <msqrt> | Ctrl-m Ctrl-q |
⟨
will change into some Chinese
character.The following useful information and example pages are provided by Mozilla and W3C:
If the usual minus sign doesn't show up properly hold down the Option key and type the usual minus sign to get a minus sign that displays properly (this may be Mac specific).
<mo>
instead of an <mi>
.
Since HTML prefers that the user control spacing from style files the best hack for putting spaces in seems to be to go into math mode and put in mathspaces. Using spacing to tweak the look of the output is strongly discouraged as the results are usually renderer dependent. The ultimate tweaking is shown at the MathML test suite torture test complex 3 [TS].
CSS rules in a document are included inside
<style type="text/css"> ... </style>
inside the <head> ... </head>
.
Alternatively, they can all be put into a style sheet, and then loaded with
@import "mathsty.css";
Inserting media specific (for example, for printers) CSS formatting rules is explained in Section 7 of the CSS Specification [CSS]. Page breaks are discussed in Section 13 of the CSS specification [CSS].
When printing from Mozilla be sure that "Shrink to fit page width" is not selected. Sometimes the shrunk MathML does not print correctly.
The details for automatic numbering are explained in Section 12.4 and 12.2 of the CSS specification [CSS]. Alternatively, automatic numbering and referencing ought to be doable with fairly simple javascript.
The use of namespaces makes it possible to put XHTML commands (for example, links and graphics) inside MathML.
Using UTF-8 character encoding is always the best. For ordinary html pages use the XHTML Transitional DTD.
The page
Authoring MathML for Mozilla
[Au] suggests replacing the usual DTD
with
This has the effect that the usual entrance into math mode
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
"http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd" [
<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<math xlmns="http://www.w3.org/1998/Math/MathML">
<math xlmns="&mathml;">
<mi>ij</mi>
renders as
,
<mi>i</mi><mi>j</mi>
renders as
, and
<mi>
<mi>i</mi><mi>j</mi>
</mi>
renders as
.
Doing graphics with SVG (Scalable vector graphics) should obviate the need for external graphics files and all browsers that handle MathML also render SVG. Inkscape [Ik] is a drawing program that will output graphics in SVG (Scalable Vector Graphics). It should be possible to include formulas in MathML inside an SVG picture with the use of the foreignObject element of SVG. There is also a combined XHTML1.1+MathML2.0+SVG1.1 [mm] document type definition. However, I have been unable to determine whether the foreignObject tag is implemented in Inkscape, and I have not yet succeeded in getting mixed markup to render properly in Mozilla (it renders fine in Amaya).
Other media types, such as animations, video and sound, can be included. For these, it is most efficient to produce the appropriate code using an application like Dreamweaver (or copy it from some other web page) and then copy it into your MathML document.
Parentheses are supposed to resize appropriately if they are put in an
<mo>
tag. See
3.2.5.8
of the MathML specification.
[Am] Amaya, http://www.w3.org/Amaya/
[Ao] Amaya overview, http://www.w3.org/Amaya/Amaya.html
[AT] Peter Jipsen, ASCII to MathML translator, http://www1.chapman.edu/~jipsen/mathml/asciimath.html
[Au] Authoring MathML for Mozilla, http://www.mozilla.org/projects/mathml/authoring.html
[Bm] Beamer, http://en.wikipedia.org/wiki/Beamer_(LaTeX)
[Cm] Camino, http://www.caminobrowser.org/
[CSS] CSS (Cascading Style Sheets) Specification, http://www.w3.org/TR/CSS21/
[CT] MathML character table, http://www.mozilla.org/projects/mathml/fonts/chars/table.html
[DS] Design Science MathPlayer, http://www.dessci.com/en/products/mathplayer/
[ft] fonts for MathML enabled Mozilla, http://www.mozilla.org/projects/mathml/fonts/.
[Fw] Fireworks, http://www.adobe.com/products/fireworks/
[Fx] Mozilla Firefox, http://www.mozilla.org/products/
[HT] HyperTeX, http://arxiv.org/hypertex/
[Ik] Inkscape, http://www.inkscape.org/index.php?lang=en
[Jp] Peter Jipsen, http://www1.chapman.edu/~jipsen/
[Kn] Jeff Knisley, http://faculty.etsu.edu/knisleyj/.
[mm] XHTML1.1+MathML2.0+SVG1.1 Document Type Definition, http://www.w3.org/TR/XHTMLplusMathMLplusSVG/
[Mmz] MathML for Mozilla, http://www.mozilla.org/projects/mathml/authoring.html
[MT] MathML at MIT, http://web.mit.edu/is/products/mathml/
[Op] Opera, http://www.opera.com/
[st] Status report of MathML tags in Mozilla, http://www.mozilla.org/projects/mathml/update.html
[SX] STIX fonts, http://www.stixfonts.org/
[TS] The W3C MathML test suite, http://www.w3.org/Math/testsuite/
[tmp] Arun Ram, Template for a research article in MathML, http://www.math.wisc.edu/~ram/MathGlossary/template.xml
[TT] Douglas Woodall and Jeff Knisley, LateX to MathML translator, http://math.etsu.edu/LaTeXMathML/
[Tt] MathML torture test, http://www.mozilla.org/projects/mathml/demo/texvsmml.xhtml.
<em>
italics <em>
,
<strong>
bold </strong>
,
<dfn>
term being defined </dfn>
<h2>
heading size 2 </h2>
,
<h3>
heading size 3 </h3>
, etc.
<p>
paragraph here </p>
,
<br />
for a line break,
for
a space, <pre>
preformatted text
</pre>
, and <hr />
for an hrule
<ul> <li> list item </li> <li> list item </li> </ul> |
|
<ol> <li> list item one </li> <li> list item two </li> </ol> |
|
<dl> <dt> definition term one</dt> <dd> definition description of term one</dd> <dt> definition term two </dt> <dd> definition description of term two</dd> </dl> |
|
<table> <thead> <tr> header </tr> </thead> <tfoot> <tr> footer </tr> </tfoot> <tbody> <tr> <td>first</td> <td>second</td> <td>third</td> </tr> <tr> <td>fourth</td> <td>fifth</td> <td>sixth</td> </tr> </tbody> <tbody> <tr> <td>First</td> <td>Second</td> <td>Third</td> </tr> <tr> <td>Fourth</td> <td>Fifth</td> <td>Sixth</td> </tr> </tbody> </table> |
|
<div class="mytype" name="myname"> ... </div>
is a way to group a set of lines and attach names, classes, special
formats and other attributes to this collection of lines.
mathbackground="
#rgb | #rrggbb |
html-color name"
mathcolor="
#rgb | #rrggbb |
html-color name"
mathsize="
small
| normal
|
big
| number |
v-unit"
mathvariant="
number
| bold
|
italic
| script
| bold-fraktur
| double-struck
| bold-script
|
fraktur
| sans-serif
|
bold-sans-serif
| sans-serif-italic
|
sans-serif-bold-italic
|
monospace
"
fontsize="
number
v-unit
"
fontweight="
normal
|
bold
"
fontstyle="
normal
|
italic
"
fontfamily="
string |
css-fontfamily"
color="
#rgb | #rrggbb |
html-color name"
class
style
id
xlink:href:
other:
<mn>
number
<mo>
operator
form="prefix
| infix
|
postfix"
lspace="
number h-unit |
namedspace"rspace
="number h-unit |
namedspace"stretchy="true
| false"
symmetric="true
| false"
maxsize="
number[v-unit |
h-unit] | namedspace"
minsize="
number |
namedspace"
largeop="true
| false"
movablelimits="true
| false"
fence="true
| false"
separator="true
| false"
accent="true
| false"
<mi>
identifier
<mtext>
text
<mspace>
blank space
width="
number h-unit |
namedspace"
height="
number v-unit"
depth="
number v-unit"
<ms>
string
lquote="
character"
default is
"
rquote="
character"
default is
"
<mglyph>
character glyph
fontfamily="
string |
css-fontfamily "
index="
integer "
alt="
string"
<mrow>
horizontal row<mfrac>
fraction
linethickness="
number [v-unit] |
thin
| medium
| thick"
numalign=" left
| center
|
right"
denomalign="(left
| center
|
right
)+"bevelled="true
| false"
<msqrt>
square root<mroot>
root<mstyle>
apply style
scriptlevel="
[+|-] unsigned
integer"
displaystyle="true
| false"
scriptsizemultiplier="
number"
default is 0.71scriptminsize="
number v-unit"
default is 8ptcolor="
#rgb | #rrggbb |
transparent
| html-color-name"
background="
#rgb | #rrggbb |
transparent
| html-color-name"
default is transparent
veryverythinmathspace="
number
h-unit"
default is 1/18 emverythinmathspace="
number
h-unit"
default is 1/9 emthinmathspace="
number
h-unit"
default is 1/6 emmediummathspace="
number h-unit"
default is 2/9 emthickmathspace="
number
h-unit"
default is 5/18 emverythickmathspace="
number
h-unit"
default is 1/3 emveryverythickmathspace="
number
h-unit"
default is 7/18 em<mspace>
blank space
width="
number h-unit |
namedspace"
height="
number v-unit"
depth="
number v-unit"
<mphantom>
make content invisible<mfenced>
add fences around content
open="
string"
default is (close="
string" default is )separators="
character*"
default
is ,<menclose>
enclose content in a stretchy symbol
notation="longdiv
| actuarial
|
radical"
default is radical
<merror>
error messages<msub>
subscript
subscriptshift="
number
v-unit"
<msup>
superscript
superscriptshift="
number
v-unit"
<msubsup>
subscript and superscript
subscriptshift="
number
v-unit"
superscriptshift="
number
v-unit"
<munder>
underbrace
accentunder="true
| false"
<mover>
overbrace
accent="true
| false"
<munderover>
under and overbrace
accentunder="true
| false"
accent="true
| false"
<mmultiscripts>
subscriptshift="
number
v-unit"
superscriptshift="
number
v-unit"
<none/>
is used only as a child element of the
mmultiscripts
element<mtable>
table or matrix
align="
(top
| bottom
|
center
| baseline
|
axis
)"
default is axis
rowalign="
(top
| bottom
|
center
| baseline
|
axis
)+"
default is
baseline
columnalign="
(left
| center
| right
)+"
default is
center
columnwidth="
(auto
| number
h-unit | namedspace | fit
)"
default is auto
width="auto
| number h-unit"
default is auto
rowspacing="
(number v-unit)+"
default is 1.0 ex
columnspacing="
(number h-unit |
namedspace)+"
default is 0.8emrowlines="(none
| solid
|
dashed
)+"
default is none
columnlines="
(none
| solid
|
dashed
)+"
default is none
equalrows="true
| false"
default is
false
equalcolumns="true
| false"
default is
false
frame="
(none
| solid
|
dashed
)+"
default is none
framespacing="
(number h-unit |
namedspace) (number v-unit | namedspace)"
default is 0.4 em 0.5 ex
displaystyle="true
| false"
default is
false
side="left
| right
|
leftoverlap
| rightoverlap
" default is
overlap
minlabelspacing="
number
h-unit"
groupalign="
groupalignment-list-list"
alignmentscop="true
| false"
<mtr>
row of a table
rowalign="(top
| bottom
|
center
| baseline
| axis)+"
default is baseline
columnalign="(left
| center
|
right)+"
default is center
groupalign="
groupalignment-list-list"
default
is {left}
<mlabeledtr>
labeled row of a table
bottom
| center
|
baseline
| axis)+"
default is
baseline
columnalign="(left
| center
|
right)+"
default is center
groupalign="
groupalignment-list-list"
default
is {left}
<mtd>
cell in a table
bottom
| center
|
baseline
| axis)+"
default is
baseline
columnalign="(left
| center
|
right)+"
default is center
groupalign="
groupalignment-list-list"
default
is {left}
rowspan="
number"
default is
1columnspan="
number"
default is
1<maligngroup>
alignment group<malignmark>
alignment marker
edge="left
| right"
default is
{left}
<maction>
interactive actions
selection="
number"
default is
1actiontype="
depends on application"
<mpadded>
precise positioning
width="
[+ | -] number |
(%[pseudo-unit] | pseudounit | h-unit |
namedspace)"
lspace=
"[+ | -] number |
(%[pseudo-unit] | pseudounit |
h-unit)"
height="
[+ | -] number |
(%[pseudo-unit] | pseudounit |
h-unit)"
depth="
[+ | -] number |
(%[pseudo-unit] | pseudounit |
h-unit)"
<mprescripts>
used in mmultiscripts
to
indicate folowing elements in prescript position