Minutes: MathML Semantics meeting 2 July, 2020

Attendees:

Neil Soiffer

David Carlisle

David Farmer

Bruce Miller

Patrick Ion

Louis Maher

Deyan Ginev

Murray Sargent

Sam Dooley

Steve Noble

No one took notes today, so here is a summary based on my recollection...

We started with a discussion of the idea comparison
<https://mathml-refresh.github.io/mathml/docs/comparison> document. The two
approaches are similar in many ways. They both have a “semantic” attribute
of the form “function(args)”. When there is no operator (e.g, a power via
msup), they are basically the same:

semantic="power(#base,#exp)"

However, the details differ when an operator exists. A third approach using
positioning was also proposed. It is much easier to write in most cases and
involves much less markup, but is “fragile” to document changes and was not
discussed.

In the first approach, the function name points off to the operator and
only the operands are arguments to the function:

<mrow semantic="#op(#arg)">

  <mi arg="arg">a</mi>

  <mo arg="op" semantic="factorial">!</mo>

</mrow>

In the second approach, the function name is explicitly given and both the
operator and operands are the function’s arguments:

<mrow semantic="factorial(@arg, @op)">

  <mi arg="arg">a</mi>

  <mo arg="op" semantic="factorial">!</mo>

</mrow>


Much of the rest of discussion focused on those difference and these
examples:

   1.

   a+b-c+d
   2.

   2nd derivative: \frac{d^2f}{dx^2}
   3.

   Integral: \int\frac{dr}{r}


The interesting thing about the later two examples is that the ‘f’ and ‘dr’
can be after the fraction and the first proposal has the same value for
‘semantic’ both cases. That’s what is desired for conversion to content
MathML or computation, but is really bad for speech. A similar thing
happens for the first example which computation would write as
plus(a,b,minus(c), d). The exact same semantic would be used for “a+b+-c+d”:

<mrow semantic="#op1(#arg1,#arg2,#op2(#arg3),#arg4)">

  <mi arg="arg1">a</mi>

  <mo arg="op1" semantic="plus">+</mo>

  <mi arg="arg2">b</mi>

  <mo arg="op2" semantic="minus">-</mo>

  <mi arg="arg3">c</mi>

  <mo>+</mo>

  <mi arg="arg4">d</mi>

</mrow>

This led to a discussion as to the purpose “semantics” and the agreement
that there are different masters that want to be served by it. Neil
suggested that redundant information might need to be present in the value
of ‘semantic’ so that both masters will be happy. Some worried about having
redundant information, but time ran out.

We ended up agreeing that experimentation was needed with these three cases
and the two proposals.

   -

   Neil agreed to write code that converts the two proposals for these and
   turn them into speech.
   -

   Sam agreed to do the same with Content MathML
   -

   David C agreed to write a Content-to-Presentation MathML converter to
   target both proposals.
   -

   Not sure if David F/Bruce/Deyan agreed to do the same with
   PreTeX/LaTeXML -> presentation MathML


I think we should also start with the hopefully easy factorial example, so
there are four total examples. In the comparison doc, I still need to
provide a proposed markup and I think Brce/Deyan need to add some more
markup for the children of the semantic, but I’ll leave it to them to
decide that.

We will meet next week and talk about whatever results people have.

Received on Friday, 3 July 2020 20:27:15 UTC