# Re: [mathjax-dev] New menclose notation coming in MathML 3, 2nd edition

From: Neil Soiffer <NeilS@dessci.com>
Date: Mon, 7 Oct 2013 15:37:03 -0700
Message-ID: <CAESRWkCfzbfe-6rWwH4iMgfax9f-VKtG_Qo330pDPcNSWsLeYw@mail.gmail.com>
To: Neil Soiffer <NeilS@dessci.com>
Cc: Frédéric WANG <fred.wang@free.fr>, mathjax-dev@googlegroups.com, "www-math@w3.org" <www-math@w3.org>
I didn't hear any objections or even anyone point out that "northwestarrow"
should have been "north*east*arrow" (I'm pretty embarrassed by that
mistake!).  The draft-spec has been updated with that fix:
http://www.w3.org/Math/draft-spec/chapter3.html#id.3.3.9.2.

Neil Soiffer
SeniorScientist
Design Science, Inc.
www.dessci.com
~ Makers of MathType, MathFlow, MathPlayer, MathDaisy, Equation Editor ~

On Mon, Sep 30, 2013 at 1:49 PM, Neil Soiffer <NeilS@dessci.com> wrote:

> I apologize so much time has elapsed, but the working group took a long
> time to come to some consensus.  The two main issues that we needed to
> resolve were mirroring (bidi) and naming that can be extended.
>
> It's clear that for the \cancelto notation, the symbol should mirror.
> However, the diagonalstrikes don't mirror, and it's not clear that once
> extended to all possible (single line) arrows, that all the arrows should
> mirror.  Furthermore, if someone is authoring in a RTL language, it is
> highly likely the characters they use will come from that language so at
> least the cdata of the leaves in the MathML would need to change. Requiring
> the author to also change to an menclose attr value is not a big deal if
> they want their example to work for an LTR language.  In the end, the group
> felt we shouldn't change the spec for how "updiagonalstrike" and
> "downdiagonalstrike" behave and that arrow notations should not flip in an
> RTL context.
>
> For naming, we considered lots of alternatives and concluded there was
> some precedence with unicode naming and with TeX naming that compass points
> along with up/down/left/right were used.  So *if* a full set of names were
> to be used, they should follow the conventions:
>
> uparrow
> rightarrow
> downarrow
> leftarrow
>
> northwestarrow
> southwestarrow
> southeastarrow
> northeastarrow
>
> updownarrow
> leftrightarrow
> northwestsoutheastarrow
> northeastsouthwestarrow
>
> That means for the cancelto notation, the name should be
> "northwestarrow".  Given that mathjax and mozilla support a different name,
> I suggest just adding this new alternative to accepted names.
>
> The spec mentions the naming convention, but only lists "northwestarrow"
> as a recommended name to support.
>
> The draft-spec is at:
> http://www.w3.org/Math/draft-spec/chapter3.html#id.3.3.9.2.
>
>
> Neil Soiffer
> SeniorScientist
>
> Design Science, Inc.
> www.dessci.com
> ~ Makers of MathType, MathFlow, MathPlayer, MathDaisy, Equation Editor ~
>
>
>
>
> On Mon, Sep 9, 2013 at 12:27 AM, Frédéric WANG <fred.wang@free.fr> wrote:
>
>>  I am the one who proposed this notation, so perhaps I should say a word
>> on this.
>>
>> First, as I said I've never seen this notation in France so I can't
>> comment about its usefulness other than believing you that it is (or was)
>> used at least in K12 math in the US. It's probably not fundamental to have
>> this notation (even the doc of the cancelto says that striking formulas is
>> a poor notation), but at least it was implemented independently in two
>> different projects (LaTeXML and MathJax) with essentially the same method:
>> menclose updiagonalstrike + a superscript element. So it was important
>> enough to need an implementation and the MathML code to choose seems
>> somewhat natural since the two developers had the same idea. I don't like
>> that menclose notation names don't take the overall direction into account
>> but here that seemed irrelevant if, as I believe, it's not used in RTL math
>> (the W3C Arabic Math notes doesn't mention it). So I thought it was OK to
>> add one menclose notation for this particular arrow, but I definitely don't
>> see the need for other striking arrows if there is no use case.
>>
>> The reason why I proposed this notation is that MathJax used to have a
>> non-standard class on the menclose element:
>>
>>  <menclose notation="updiagonalstrike" class="MJX-arrow">...</menclose>
>>
>> to tell that the updiagonalstrike should have an arrow head. Hence
>> MathJax rendered the notation visually the same as the cancelto command but
>> other rendering engines like MathPlayer or Gecko just renders an
>> updiagonalstrike. Moreover, other TeX to MathML converter like LaTeXML are
>> not aware of MathJax's non-standard CSS classes and can not achieve the
>> same rendering via standard MathML (for example Bruce only used an
>> updiagonalstrike). Obviously, I don't like these specific hacks in MathJax
>> and I hope these nonstandard MJX-* classes will be implemented via standard
>> means in the future. In the case of cancelto, the menclose notation is
>> open-ended so I thought it would be easy to add a new notation for that.
>> Now MathJax and LaTeXML uses
>>
>> <menclose notation="updiagonalstrike updiagonalarrow">...</menclose>
>>
>> and this will be supported by Gecko 24 (to be released next week). I'd
>> like this to be in MathPlayer too, but even if that's not the case,
>> MathPlayer will just render the notation "updiagonalstrike" as it has
>> always done, which is understandable...
>>
>> Le 08/09/2013 20:24, Neil Soiffer a écrit :
>>
>> The fact that it was one of the most requested features for MathJax is a
>> strong argument for adding it to MathML.  I still remain dubious about its
>> use though.  My kids have gone through/are going through K12 math and I've
>> never seen arrows used as part of crossouts in any of the books or online
>> materials they used/we've looked at, either for cancellations or for
>> carries/borrows. But that's just anecdotal evidence which is why I was
>> hoping that Bruce Miller or Michael Kohlhase could give some input as to
>> usage based on their arXiv work since they will see the macro and will have
>> needed to implement it (or not) for LaTeX2XML.
>>
>> You also touched on a hot button topic for me:  I'm strongly against the
>> idea that hacking solutions with mpadded or playing games with tables to
>> achieve a particular presentation is acceptable. It means the result is not
>> accessible and a certain percentage of the population is excluded from
>> using the material. I'm not arguing for semantic usages, I'm just arguing
>> that the presentation be able to be audibly described to the user in a
>> meaningful manner.  E.g,. 'x minus 1' with a horizontal strike across it"
>> is understandable and but not semantic.  However, playing games with mover
>> and mpadded: "x minus 1 with a line above it that has a negative depth of
>> 15 pixels" is gibberish and if the mpadded is not spoken, (... with a line
>> above it), the result is very misleading.
>>
>>     Neil
>>
>>
>>
>> On Saturday, September 7, 2013 8:46:36 AM UTC-7, dpvc wrote:
>>
>>> > The original use for the notation pointed to the TeX package that
>>> implemented "cancelto".  But this command has another argument which the
>>> arrow points to.  That doesn't fit into the menclose notation.
>>> >
>>> > As you can see, I'm rather skeptical that adding this is a good idea.
>>>  Perhaps Bruce or Michael can look at arXiv files and tell us how many
>>> times cancelto is used in those files.  Maybe it is much more common than I
>>> think it is.
>>>
>>> Before the cancel package was added to MathJax, it was one of the most
>>> requested extensions that we had.  It is used frequently at the K-12 level,
>>> but not so much in higher level mathematics, so I would be surprised if
>>> arXiv showed much use of it.  You would need to look at educational
>>> material rather than research papers.
>>>
>>> While I understand your desire for symmetry in providing all possible
>>> arrows, I don't see the mathematical need for anything but the lower-left
>>> to upper-right arrow, as I am not aware of any other usage.  There
>>> certainly may be, but they would be far less prevalent than this.  And to
>>> propose a lot of additional notations for which there are no ready use
>>> cases, and then use that to suggest that the one notation that DOES have
>>> use cases should not be implemented seems a bit backhanded to me.
>>>
>>> As for those other notations, I would say that vertical and horizontal
>>> arrow notations are not needed because there are already means of obtaining
>>> those arrows (even stretched to the proper sizes, and they can be placed
>>> above or below with mover or munder, to the left and right via
>>> juxtaposition, and struck through vertically or horizontally with mpadded),
>>> while there is no mechanism for obtaining diagonal arrows at arbitrary
>>> sizes.  If you want to say that you need such arrows in all directions, and
>>> with one or two arrowheads because they would be useful in commutative
>>> diagrams, then I could see that (though it would be awkward to use menclose
>>> for that), and this would lead to 6 new notations (or 4 if you just to the
>>> heads separately); but suggesting that the need for a cancelation arrow
>>> necessitates 23 other arrows seems to me to be taking the desire for
>>> symmetry too far.
>>>
>>> Davide
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "MathJax Development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an