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

juanrgonzaleza@canonicalscience.com wrote:
> I have received a private reply to one of my questions of MathML technical
> design. I post it next (except name)
(it was posted by me, it was private reply by mistake)

>> juanrgonzaleza@canonicalscience.com wrote:
>>> It is more, I repeat again, what is the MathML representation for the
>>> structure
>>>
>>> Over
>>>      sup
>>> Base
>>>      sub
>>> under
>>>
>>> ?
>> Is this a trick question?
> 
> It is just a technical question would be easily answered from the
> specification, no?
> 
>> <math xmlns="http://www.w3.org/1998/Math/MathML">
>>    <munderover>
>>      <msubsup>
>>        <mi>Base</mi>
>>        <mi>sub</mi>
>>        <mi>sup</mi>
>>      </msubsup>
>>      <mi>under</mi>
>>      <mi>Over</mi>
>>    </munderover>
>> </math>
>>
>> Something wrong with this? The above could be generated, for
>> example, by a simple parser from following input:
>>    (Base_sub^sup)__under^^Over
> 
> Nothing wrong (I understand that your use of mi tokens was purely
> illustrative) except I was asking for the encoding of
> 
> Over
>      sup
> Base
>      sub
> under
> 
> The basis for over and under scripts in your example is incorrect.

Okay, could you point us to correct basis for over and under scripts?

If you render the above MathML example by e.g. Gecko rendering 
engine you end up something fairly similar to above ASCII presentation.

If you want to transfer more semantics you have to give us more 
information but just the ASCII rendering of the end result.

Are you asking for a way to markup a multiscript where you have 
scripts at N, NE, SE and S locations (compass directions)? Would you 
be happy with a multiscript construct that allowed 8 positions (N, 
NE, E, SE, S, SW, W, NW)? Or would there be need for more script 
positions?


Multiscript rendering vs. actual logic

I believe that there's always some logic for multiscript rendering 
that would result from some kind of nested elements. If you have 
rendering such as
        sup
    BASE
        sub
then it's always logically either "(BASE_sub)^sup" or 
"(BASE^sup)_sub. Usually the former.

Likewise, if you have markup like
    ____
    BASE
        sub
it's either "(BASE with overline)_sub" or "(BASE_sub) with 
overline". I've yet to see a construct where you *logically* have 
"BASE with both overline and subscript". There's, of course, the 
rendering. I understand the need to render
        sup
    BASE
        sub
instead of
           sup
    BASE
        sub
where the superscript would be leftwards from "BASE_sub" 
combination. However, it's only rendering detail, the logic still 
applies that it's (usually) "BASE_sub" to power of "sup".

-- 
Mikko

Received on Wednesday, 5 April 2006 13:51:41 UTC