Re: Displaystyle and mtable

I concur with David Carlisle:  the spec specifically says it is false
(matches TeX behavior). It is similar to mfrac in that the rules for mfrac
say "The mfrac element sets displaystyle to "false".  The only difference
with mtable is that there is an attribute that allows you to override the
default.

     Neil



On Wed, Jun 11, 2014 at 8:28 AM, David Carlisle <davidc@nag.co.uk> wrote:

>  On 11/06/2014 16:01, Davide P. Cervone wrote:
>
>   I take "being present" to mean being specified explicitly or by
> inheritance (in the same way that the mathvariant value is present by
> inheritance in my earlier example).  Since displaystyle is inherited (as
> you pointed out in your first message), I take <mtable> to have
> displaystyle="true" in both of these examples.
>
>
>    I still don't see how MathJax honors 'the mtable element sets
> displaystyle to "false" within the table elements.' when the attribute is
> absent. If the inherited value is true, it will set the value to true with
> your interpretation. If the inherited value is false, then there is no need
> to "set" the value to false. So this sentence from the spec is irrelevant
> and it would make more sense to say that the displaystyle value on the
> mtable is inherited (unless it is modified by an explicit displaystyle
> attribute on the mtable). This is what Gecko used to do.
>
>
>  If I understand you correctly, your argument is that in the statement
> (section 3.3.4.1)
>
>  Some attributes, such as displaystyle or scriptlevel (explained below),
> are inherited from the surrounding context when they are not explicitly
> set. Specifying such an attribute on an mstyle element sets the value that
> will be inherited by its child elements. Unless a child element overrides
> this inherited value, it will pass it on to its children, and they will
> pass it to their children, and so on. But if a child element does override
> it, either by an explicit attribute setting or automatically (as is common
> for scriptlevel), the new (overriding) value will be passed on to that
> element's children, and then to their children, etc, unless it is again
> overridden.
>
>
>  the mtable element falls into the category of modifying the attribute
> automatically (like mfrac does), and that your quoted statement about
> setting displaystyle to false is that automatic modification.
>
>  On the other hand, section 3.1.6, that describes displaystyle and
> scriptlevel, says
>
>   These values are initialized by the math element according to the
> display attribute. They are automatically adjusted by the various script
> and limit schemata elements, and the elements mfrac and mroot, which
> typically set displaystyle false and increment scriptlevel for some or all
> of their arguments. ... They also may be set explicitly via the
> displaystyle and scriptlevel attributes on the mstyle element or the
> displaystyle attribute of mtable. In all other cases, they are inherited
> from the node's parent.
>
>
>  Here, the elements that automatically adjust displaystyle are the script
> and limit elements, mfrac, and mroot (note that mtable is not listed here).
>  The mstyle element can modify the value, and an explicit displaystyle on
> mtable can set the value.  All other cases inherit the value.  So this
> section does not support the reading that mtable automatically modifies
> displaystyle.
>
>  My own feeling is that, as you describe above, the sentence is
> essentially irrelevant, and I think that the spec actually DOES say that
> the displaystyle value on mtable is inherited unless it is modified by an
> explicit displaystyle attribute on mtable.  In that reading, sections
> 3.3.4.1 and 3.1.6 are consistent, though the sentence about displaystyle in
> 3.3.4.1 is redundant.  Your reading causes 3.3.4.1 and 3.1.6 to be
> inconsistent.  What the authors of the spec actually intended, I'm not
> sure.  I guess we'll have to await word from the committee on that.
>
>  Davide
>
>
>
>
>
>
> The attribute table for mtable lists displaystyle as having default value
> of "false" (rather than "inherited") and the wording in prior versions of
> mathml that did not have these tables was I believe consistent with that.
> So I think the intention has always been that the default for mtable is
> like that of latex array and  cells should use inline math unless
> displaystype=true is  explicitly set on the mtable (or individual cell)
>
>
> This is a personal response (and this goes back to before I was on the
> group so I can't speak directly of the original intent:-)
>
> David
>
>
>
>
>

Received on Wednesday, 11 June 2014 16:37:34 UTC