MathML Demo: <mtable> - tables and matrices
NOTES:
- Alternate stylesheets are available from:
- Right click on a MathML fragment and choose to get its source.
- In the examples below, the text won't be allowed to decrease pass
the scriptminsize or your browser's minimum allowable font size --
this can be set with . To
see the effect of the gradual decrease induced by changes in script levels
more clearly, you may have to increase your default font size in the menu:
.
- Here is how the alphabet looks like at scriptminsize:
a, b, c ... x, y, z
- Here is how greek letters look like at scriptminsize:
α, β, γ ..., ψ, ω, ϑ,
ϒ, ϖ
- Here is how numbers look like at scriptminsize: 0, 1, 2, ...,
10, 11, 12, ...
- You can use in the usual way to zoom the MathML text along with
the other text.
- The text in the above
remarks describes items in the menu bar. If you only see the Firefox menu,
you can enable the menu bar with .
As a visual aid, the examples deliberately draw attention to
the math axis and the baseline:
----------------------- this is the math axis
..................... this is the baseline
-
External vertical align is center
, cols arg is "|r|c|l|", \hline's above and below.
When align="center" or align="baseline", the middle of the table
coincides with the baseline.
-
External vertical align is axis
, columnlines="solid", rowlines="dashed solid dashed".
By default -- when the align attribute
is not set, or when align="axis", the middle of the table
coincides with the math axis.
-
External vertical align is top
cols arg is"r|c:l".
-
External vertical align is bottom
cols arg is "r|cl". MathML doesn't specify how to only display certain sides
of the table border, as in "|rcl", but these can be obtained in Mozilla using
the 'border' property of CSS, e.g., "|rcl" can be achieved with the CSS
declaration "mtable { border-left: solid thin }".
-
Math axis test, using externally aligned arrays inside symmetric fences.
post text.
-
Now for a display
text after displayed math. Do you see which vertical alignment is
set on that table?
-
Example of \begin{matrix}
with 3 \hline's.
-
Example of \begin{smallmatrix}
obtained with scriptlevel="+1".
-
Example of \begin{pmatrix}
with an \hline after the first row.
-
Example of \begin{bmatrix}
-
Example of \begin{vmatrix}
-
Example of \begin{Vmatrix}
-
Example of \begin{Bmatrix}
-
A fenced matrix and the equivalent \begin{bmatrix}
.
-
A table with align="axis2" to anchor the table externally w.r.t. the axis
of the second row
, but this is subject to variances due to style changes, e.g., from the
scriptlevel.
. Anyway, this is buggy in Mozilla because what you see above is a fallback
to the rendering code used for the baseline case (see below).
-
A table with align="baseline -1" to anchor the table externally w.r.t. the baseline
of the last row
, neat isn't it? This would be pretty hard to obtain otherwise.
Contrast it with the following which has align="bottom"
,
and with this one which has align="center -1"
,
but note that setting the baseline relative to a particular row is meaningless
if the row doesn't have at least one cell with "rowalign=baseline"
where to anchor the baseline (in which case Mozilla will behave as if
it was align="center#rownumber").
- These may sound like gimmicks until you want to get a damping effect
such as this
, or perhaps the reverse
, modulo pixel roundoff errors. Here 'a' and 'b' can be other combinations
of possibly irregular boxes.
- And making floating elements do a multiplication such as the
following one which is anchored at a baseline is made simple by
using align="baseline1" on both tables
- To multiply a matrix A by a vector x, each row of
the matrix has to be multiplied to the vector. So at the
i-th step, it proceeds thus: