- From: Jimmy Cerra <jimbofc@yahoo.com>
- Date: Mon, 15 Apr 2002 18:21:25 -0400
- To: <www-math@w3.org>

As currently written (version 2) MathML poses several limitations and quirks. Here is a list of several criticisms and suggestions for further drafts of MathML. a) Hard to write by hand (1). In my experience, the presentation elements are easier to work with - as its grammar and vocabulary is smaller and simpler - compared to the content elements. b) Composed of two major languages: MathML-Presentation and MathML-Content. This complicates MathML, as there can be no conflicts between the two. c) MathML-Presentation (MMLP) is meant to specify the layout of mathematical elements. Despite a separation in MathML from the content language, MMLP can help convey the meaning of an expression (3), within a particular context (4). However, as context changes from document to document and culture to culture, MMLP can become irreverent despite extension mechanisms built into MathML. d) MMLP has too many style and layout attributes. HTML 3.2 has many style attributes and elements, which were depreciated in the following versions since CSS provided a more flexible system as well as separating style from content. In mathematics, layout and style also provide some content to the expression. However, many of the token attributes present in MMLP can be better represented using CSS. I feel that all style attributes should be depreciated in favor of style sheets. e) Certain MMLP elements, such as mphantom, mpadded, mspace and mstyle run the risk of becoming just as dangerous as the font, spacer and blink elements of HTML were. They should also be depreciated. f) Despite my arguments above, I think that concept of the mphantom element should be a style attribute common to all elements. First, this method extends the "invisible entities" - ⁢ ⁡ ⁣ - so that ambiguous situations can be described more accurately. For example in the following code snip: <msup> <mi>x</mi> <mn>2</mn> </msup> It is ambiguous whether or not the number 2 is a index or an exponent. A more descriptive way of describing the situation is: <msup> <mi>x</mi> <mrow> <mo style="display: none;">^</mo> <mn>2</mn> </mrow> </msup> This example uses CSS is make the carrot operator (of exponentiation) invisible. Now it is clear that the number 2 is not an index. It would be advantageous to have shorthand for this. For example: <mrow> <mn>2</mn> <mo type="invisible">*</mo> <mi>x</mn> </mrow> In the above code, the multiply operator is invisible. Although the invisible entities could also be used to code that, the use of a type="invisible" attribute is more flexible. One more example: <mrow> <mo type="invisible">Partial Derivative of</mo> <msub> <mi>F</mi> <mrow> <mo type="invisible">wrt</mo> <mi>x</mi> </mrow> </msub> </mrow> This example shows how a partial derivate can be easily represented in MMLP. You like? --- Jimmy Cerra Notes: (1) "Although there is a price to be paid for the ambitious goals behind MathML -- it is a verbose, complicated language not well suited to hand editing -- the payoff in terms of power and versatility is quite impressive...." from: http://www.dessci.com/webmath/tech/mathml.stm (2) "This chapter specifies the `presentation' elements of MathML, which can be used to describe the layout structure of mathematical notation." From: http://www.w3.org/TR/2001/REC-MathML2-20010221/chapter3.html (3) "Notational conventions in mathematics, and in printed text in general, guide the eye and make printed expressions much easier to read and understand. ...we rely on hundreds of conventions... Such notational conventions are perhaps even more important for electronic media, where one must contend with the difficulties of on-screen reading." From: http://www.w3.org/TR/2001/REC-MathML2-20010221/chapter1.html#intro_origi n (4) For instance, a function "primed" (as in f'(x)) can denote the derivative of the function in calculus. However, in geometry it can represent a translation or transformation of the function. Outside of math, a primed function can represent another inertial reference frame (in physics). (5) For instance, the mathvariant, mathsize, mathcolor and mathbackground attributes can be set by equivalents in CSS. I think the spec mentions this, but I can't find it.

Received on Monday, 15 April 2002 18:21:27 UTC