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

From: Miller, Bruce R (Fed) <bruce.miller@nist.gov>
Date: Tue, 26 Jul 2016 14:19:43 +0000
To: Stephen Watt <smwatt@gmail.com>, Frédéric WANG <fred.wang@free.fr>
CC: "www-math@w3.org" <www-math@w3.org>
I really just meant that either of the grouping structures (bra-ket and mean value of an absolute value) could be represented with mrow.  And that I wouldn't necessarily trust an author (or generator) to use the markup choices that you find most meaningful, or that it means what you'd want to assume it is.  They could also write -x! using mfenced.

________________________________________
From: Stephen Watt <smwatt@gmail.com>
Sent: Tuesday, July 26, 2016 8:49:04 AM
To: Frédéric WANG
Cc: www-math@w3.org
Subject: Re: [MathML4] Deprecation/Removal of the mfenced element

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<mailto: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 14:20:16 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 26 July 2016 14:20:17 UTC