Hi Frédéric,

These responses are my readings only, and may not agree with those
of others in the WG.


First, from 3.5.1.2 (after the big attribute table):

"If there are more rows (resp., columns or gaps) than supplied values,
the __last__ value is repeated as needed. If there are too many values
supplied, the excess are ignored."  (emphasis mine)

So the values should not cycle, as in your schematic, but Y_(n-1) is
the only value that should repeat.


Next, since rowspacing specifies the amount of space "between" rows,
my reading is that the row spacing should not belong to the extent of
either the row before it or the row after it, but it should position
between the cells that make up the rows, as in your first diagram.
I would expect the rowlines to draw within the rowspacing, and the
background color of the adjacent cells to extend to the rowlines.

But nearby CSS declarations could make some cases a bit interesting
to work out.

So as you suggest, the MathML rowspacing attribute seems not to give
quite the same flexibility as the CSS margin/padding values, and
corresponds exactly to neither, with regard to the bounding box
of the cells in the table.


Hope this helps,
Sam


At 04:03 PM 8/13/2010, Frédéric WANG wrote:
Hi Math WG,

First I give as attachment an image for the test Topics/EmbellishedOp/embStretch1 (in the current sample rendering, the parentheses do not seem to stretch).

Now, I would like to have some precisions on the way rowspacing works. So suppose we have a mtable of N rows, framespacing="X,X" and rowspacing="Y0, Y2, ..., Y_(n-1)".

I understand that rowspacing applies to each "gap" and so we have the following:

^
| X
V
-----
/////
row0
/////
-----
^
| Y_(0 mod n)
V
-----
/////
row1
/////
-----
^
| Y_(1 mod n)
V
-----
/////
...
/////
-----
^
| Y_(N-2 mod n)
V
-----
/////
row_(N-1)
/////
-----
^
| X
V

The problem of my interpretation is that "rowpadding" (i.e. spacing inside cells) seems undefined. Roger B. Sidje had a different interpretation. IIUC, he thought that rowspacing applies to each row and so wanted to split the values before and after:

^
| X
V
-----
^
| Y_(0 mod n)/2
V
row0
^
| Y_(0 mod n)/2
V
-----
^
| Y_(1 mod n)/2
V
row1
^
| Y_(1 mod n)/2
V
-----
^
| Y_(2 mod n)/2
V
...
^
| Y_(N-1 mod n)/2
V
-----
^
| Y_(N-1 mod n)/2
V
row_(N-1)
^
| Y_(N-1 mod n)/2
V
-----
^
| X
V

Combining the two ideas, we get another possible interpretation: apply rowspacing to each gap but split the values inside and outside the cells:

^
| X/2
V
-----
^
| X/2
V
row0
^
| Y_(0 mod n)/2
V
-----
^
| Y_(0 mod n)/2
V
row1
^
| Y_(1 mod n)/2
V
-----
^
| Y_(1 mod n)/2
V
...
^
| Y_(N-2 mod n)/2
V
-----
^
| Y_(N-2 mod n)/2
V
row_(N-1)
^
| X/2
V
-----
^
| X/2
V

and there are probably more interpretations...

Thanks by advance for your answer(s).
--
Frédéric Wang.
Website - Weblog