W3C home > Mailing lists > Public > www-math@w3.org > April 2006

Re: Technical reasons for some options taken on design of MathML

From: David Carlisle <davidc@nag.co.uk>
Date: Tue, 4 Apr 2006 15:54:51 +0100
Message-Id: <200604041454.k34Esp03005415@edinburgh.nag.co.uk>
To: juanrgonzaleza@canonicalscience.com
CC: www-math@w3.org

> The basis for over and under scripts in your example is incorrect.

I didn't reply to your over under question as I had no idea what you
meant by the ascii art

I would have guessed that you meant an over-under construction with base
having a sub and superscript, in which case  the MathML that you
said that you recieved is correct. 

If you mean that you want the over and under to be positioned over the
Base without being affected by the presence of the sub and sub then
a) why? and b) what possible markup would you suggest that could do that
(You can't do it in TeX either).

> The question is that MathML designers have done a couple of errors in the
> specification. This is a clear example.

It's not clear at all. As your example is just 5 words and some white
space, we have to guess what mathematical relationships you mean before anyone
can suggest any markup.

>. In mathematical SGML, 
"mathematical SGML" is far more general than you mean. XML is a profile
of SGML and as such MathML is a mathematical SGML dtd (and has been
processed with core SGML tools such as nsgml and the jade dsssl engine).
You presumably have some other DTD in mind, perhaps you should say how
your example would be encoded in that dtd.

> Those abnormal MathML code is being generated by tools are listed in the
> w3c official site for MathML.

and your point is?

Yesterday I was sent a message in german, I passed it through google's
german to english translator. the "english" that resulted was a little
"strange" but that doesn't mean that I should deduce that because
structural differences between german and english make translation non
trivial that there is an error in the design of either language.

> <msup><msub>basis sub</msub>sup</msup>
> IS DIFERENT. The basis for the superscript in above MathML is incorrectly
> encoded. and MathML folks saw obligated to introduce a new tag and a new
> parsing model (now with three arguments)
> <msubsup> basis sub sup</msubsup>

You need both of those concepts whatever the markup you use. Mathml
encodes them the way you show, in TeX the first is {a_b}^c and the
second is  a_b^c

> If you want encode some other kind of sub or superscripts for example
> prescripts one, then above model is not good again and MathML needs
> introduce new <multiscript>, <prescript/> and <none/> tags and a new
> processing model. More complexity.

on the contrary multiscripts and prescripts are one place where mathml
markup (and underlying layout model) is vastly superior to teX's.
TeX has no model of prescripts at all, and none of multiscripts other
than a single sub-super pair. To do pre-scripts or multi-scripts
in TeX you have to do a lot of explict spacing. It's possible to write
macros that try to do the spacing automatically but it's not easy. Have
a look at the multiscript code in amslatex, it's horrendously

> In SGML math, the model for scripts is more
> powerful being more simple, just four basic tags for under, over, sub, and
> sup are combined with <subform>
Ah so by SGML you mean ISO 12083
So how would you mark up you first example in  ISO 12083 ?


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
Received on Tuesday, 4 April 2006 15:03:45 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:27:37 UTC