[whatwg] Mathematics in HTML5

On 6/22/06, James Graham <jg307 at cam.ac.uk> wrote:
> Michel Fortin wrote:
> > Le 20 juin 2006 ? 6:53, Robert O'Callahan a ?crit :
> >
> >> I would also like to see a complete description of the CSS extensions
> >> required for real high-quality rendering.
> >
> > I can't claim this is complete, but two ideas come to my mind right now:
>
> [4 suggestions]
>
> Also, as far as I know (and maybe I am just ignorant), there is no way to deal
> with wrapping of mathematics e.g.
>
> f(x) = ax^4 + bx^3 + cx^2 + dx + e
>
> should wrap to the right of the equals sign as far as possible (i.e. up until
> the point the screen is too narrow) like:
>
> f(x) = ax^4 + bx^3
>         + cx^2 + dx
>         + e
>
> I'm also not sure there exists a simple mechanism to get multiple lines of
> mathematics to line up on a specified point like:
>
> He + He <-> Be + gamma
> Be + He <-> C*
>       C*  -> C + gamma
>
> - clearly one could hand tweak this on a case by case basis but it's not ideal.
>

Off the top of my head, you have to tell the system what it needs to
align and specify the alignment. The formula container element would
fulfill the first. The second could perhaps be fulfilled with an
element that would contain the operators on which the lines would
align. I think you might also need an element that would contain
several formulae to handle your second case.
The mark-up would look like (using straw-man element names):
<formula> f(x) <formulaalign>=</formulaalign> ax^4 + bx^3 + cx^2 + dx
+ e </formula>
And
<formulagroup>
<formula> He + He <formulaalign><-></formulaalign> Be + gamma </formula>
<formula> Be + He <formulaalign><-></formulaalign> C* </formula>
<formula> C*  <formulaalign>-></formulaalign> C + gamma </formula>
</formulagroup>

Now, wouldn't this (easily-disparaged) markup achieve the desired layout?

<table>
<tr><td> He + He <td><-><td> Be + gamma </tr>
<tr><td> Be + He <td><-><td> C* </tr>
<tr><td> C*  <td>-><td> C + gamma </tr>
</table>

Well, no, the last row would need an alignment directive in the first
td element to get the C* up close to the operator. But it's close.

Received on Thursday, 22 June 2006 09:11:06 UTC