banner image
Home | Projects | Docs | Jargon Bugzilla | LXR | Tree Status | Checkins Feedback | FAQ | Search

MathML Demo: <mtable> - tables and matrices

NOTES:
  1. Alternate stylesheets are available from: "View -> Use StyleSheet -> TeX | Mathematica"
  2. Click on a MathML fragment to view its WYSIWYG source.
  3. 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, e.g, user_pref("font.minimum-size.x-western", 10). 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: "Edit -> Preferences -> Appearance -> Fonts".
    • 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, ...
  4. You can use "View -> Text Zoom" in the usual way to zoom the MathML text along with the other text.
  5. There is a tracker bug where you can report rendering errors on the demos.

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

  1. External vertical align is center --- ... 1 22 333 4444 x 55555 666666 a b c 7777777 11 ... --- , 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.
  2. External vertical align is axis --- ... 1 22 333 4444 x 55555 lim n f - 1 i = 1 n A i rowspan=2 here x n + y n n columnspan=2 here 7777777 11 ... --- , 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.
  3. External vertical align is top --- ... 1 22 333 4444 55555 x + 1 666666 a b c 7777777 11 cols arg is"r|c:l".
  4. External vertical align is bottom --- ... 1 22 333 4444 55555 666666 x 2 a b c 7777777 11 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 }".
  5. Math axis test, using externally aligned arrays inside symmetric fences. --- ... [ 1 666666 x 2 c axis ] [ 1 666666 x 2 c center ] + 1 55555 x + 1 c bottom + 1 4444 x c top + 1 4444 4444 4444 x center post text.
  6. Now for a display --- ... 1 4444 4444 4444 x 7777777 text after displayed math. Do you see which vertical alignment is set on that table?
  7. Example of \begin{matrix} --- ... 0 1 1 0 with 3 \hline's.
  8. Example of \begin{smallmatrix} --- ... 1 2 3 4 5 obtained with scriptlevel="+1".
  9. Example of \begin{pmatrix} --- ... ( 0 - i i 0 ) with an \hline after the first row.
  10. Example of \begin{bmatrix} --- ... [ 1 0 0 - 1 ]
  11. Example of \begin{vmatrix} --- ... | a b c d |
  12. Example of \begin{Vmatrix} --- ... 0 1 0 11 0 111 0 1111 0
  13. Example of \begin{Bmatrix} --- ... { 1 0 1 0 11 }
  14. A fenced matrix and the equivalent \begin{bmatrix} --- ... [ a b b c c c d d d d ] [ a b b c c c d d d d ] .
  15. A table with align="axis2" to anchor the table externally w.r.t. the axis of the second row --- ... a b α β a b x y a b γ δ a b ... --- , but this is subject to variances due to style changes, e.g., from the scriptlevel. --- ... a b α β a b x y a b γ δ a b ... --- . 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).
  16. A table with align="baseline-1" to anchor the table externally w.r.t. the baseline of the last row --- ... d + p ( α β γ δ ) ... --- , neat isn't it? This would be pretty hard to obtain otherwise. Contrast it with the following which has align="bottom" --- ... d + p ( α β γ δ ) ... --- , and with this one which has align="center-1" --- ... d + p ( α β γ δ ) ... --- , 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").
  17. These may sound like gimmicks until you want to get a damping effect such as this --- ... a b a b a b a b a b a b , or perhaps the reverse --- ... a b a b a b a b a b a b , modulo pixel roundoff errors. Here 'a' and 'b' can be other combinations of possibly irregular boxes.
  18. 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 [ a b c d ] [ a b c d ]
  19. 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: i -th row [ a 1 1 a 1 2 a 1 3 a 1 n a i 1 a i 2 a i 3 a i n a n 1 a n 2 a n 3 a n n ] [ x 1 x 2 x 3 x n ]

Buglist of <mtable>


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