Hi Del,
Per the spec,
http://www.w3.org/Math/draft-spec/chapter3.html#presm.mfrac
"The mfrac element sets displaystyle to "false", or if it was already
false increments scriptlevel by 1"
So you can indeed force the displaystyle to "true" to prevent the
scriptlevel incrementation, but you must do that for each mfrac. (if you
do that only for the outermost mfrac, then the displaystyle will still
be reset to false in the mfrac descendants and so the scriptlevel will
be incremented in them):
<p>
<math>
<mstyle displaystyle="true">
<mfrac>
<mstyle displaystyle="true">
<mfrac>
<mn>3</mn>
<mn>4</mn>
</mfrac>
</mstyle>
<mstyle displaystyle="true">
<mfrac>
<mn>6</mn>
<mn>7</mn>
</mfrac>
</mstyle>
</mfrac>
</mstyle>
</math>
</p>
Note that forcing displaystyle="true" has other implications. If you
only want to reset the scriptlevel, you can instead use the scriptlevel
attribute:
<p>
<math>
<mfrac>
<mfrac>
<mstyle scriptlevel="0"><mn>3</mn></mstyle>
<mstyle scriptlevel="0"><mn>4</mn></mstyle>
</mfrac>
</mstyle>
<mfrac>
<mstyle scriptlevel="0"><mn>6</mn></mstyle>
<mstyle scriptlevel="0"><mn>7</mn></mstyle>
</mfrac>
</mstyle>
</mfrac>
</mstyle>
</math>
</p>
It's a been painful to have to use all these <mstyle> elements. Gecko
has CSS properties for scriptlevel and displaystyle but unfortunately
they are only used internally and not exposed to Web authors... Hence
you can not use a CSS selector to set everything in one go. However, you
can at least use the font-size property if you know the font size of
your paragraph, for example:
<p>
<style scoped="scoped">
mfrac > * {
font-size: 10pt;
}
</style>
<math>
<mfrac>
<mn>1</mn>
<mn>2</mn>
</mfrac>
<mfrac>
<mfrac>
<mn>3</mn>
<mn>4</mn>
</mfrac>
<mfrac>
<mn>6</mn>
<mn>7</mn>
</mfrac>
</mfrac>
</math>
</p>
Of course, this will only work with CSS-compatible MathML renderers such
as the native implementations in Gecko or WebKit...
Hope that helps,
--
Frédéric Wang
maths-informatique-jeux.com/blog/frederic