# Re: [MathML4] Deprecation/Removal of the mfenced element

From: Stephen Watt <smwatt@gmail.com>
Date: Tue, 26 Jul 2016 08:49:04 -0400
Message-ID: <CALozgsh8m09oSz-gGg90p8onxuA_q5KktYeakBU+LfMOzLkYPg@mail.gmail.com>
To: Frédéric WANG <fred.wang@free.fr>
Cc: "www-math@w3.org" <www-math@w3.org>
Sorry, no.   I did not mean expanding to plain text.

I meant the leaf elements would be tagged.   So the example is

<mrow> <mo>[</mo> <mi>a</mi> <mo>,</mo>  <mi>b</mi>
<mo>[</mo> <mi>f</mi> <mo>]</mo> <mi>d</mi> <mo>,</mo>
<mi>e</mi> <mo>]</mo> </mrow>

or "an mrow containing [a, b [ f ] d, e]"  for easier discussion.

I almost agree with you and David that if you put in all the mrows (by hand
or by code generation) then there is no information loss between an mfenced
and a 3 element mrow.

We would have to require that syntactically paired operators be given as
the first and last elements of a three element mrow.    But do we ALWAYS
want three element mrows with first and last elements being operators to be
treated as mfenced is?  What about [ x )  or [ + ] or, my personal
favourite,   - x !

Secondly, can we really rely on all mathml  to put in all the grouping
mrows?    We don't require it so I don't think we can count on it.

We also have to allow for fence separators that stretch such as  < x | Q |
y > or  ( a | b ).  In the <x | Q | y> example, we would want the bars to
stretch in the quantum mechanical case, but not if we were talking about
the expected value of x times the absolute value of Q times y.     So we
would have to have

<mrow> \langle x | Q | y \rangle </mrow>  vs
<mrow> \langle  <mrow> x  <mrow> | Q |</mrow> y </mrow> \rangle </mrow>

where \langle and \rangle mean the relevant unicode points and leaf tagging
is implied.

What is the rule?   An <mrow> with the first and last elements being
operators all middle operators taken as separators?   This works for  < x |
Q | y >  but not for -x - y + 3!

How would you handle these cases?

Stephen

On Tue, Jul 26, 2016 at 3:09 AM, Frédéric WANG <fred.wang@free.fr> wrote:

> Le 26/07/2016 à 00:00, Stephen Watt a écrit :
> > I see your point, but have to say that I am not really satisfied with
> > the current spec language regarding equivalence.     Mfenced can also
> > give information about grouping that is lost with the mrow
> > formulation, e.g. an mrow containining [a, b [ f ] d, e]   may be a
> > list of three things or a pair of half open intervals with an f in the
> > middle.
> So the only thing you are saying is that expanding to plain text without
> explicit grouping implies loss of information compared to using mfenced.
> That's true, but that's not my point. If you really follow the expansion
> rules in MathML3 instead of using plain text then you see that nothing
> is lost in your example and that the mfenced element is again useless.
>
> Certainly, one can write <mo>+<mrow> without proper grouping as that's
> unfortunately often the case for markup generated from text
> representation like TeX or ASCII. But the existence of an mfenced
> element in MathML does not magically force converters or people to do
> this grouping.
>
>
>

Received on Tuesday, 26 July 2016 12:49:33 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 26 July 2016 12:49:34 UTC