Fix bug #8784 (mathml export for scripts)

For displaystyle scripts we need to use munder, mover or munderover.
This commit is contained in:
Georg Baum 2014-02-22 19:18:16 +01:00
parent 64be8c6553
commit c7596ec4b2
2 changed files with 9 additions and 10 deletions

View File

@ -623,21 +623,18 @@ void InsetMathScript::mathematica(MathematicaStream & os) const
}
// FIXME XHTML
// It may be worth trying to output munder, mover, and munderover
// in certain cases, e.g., for display formulas. But then we would
// need to know if we're in a display formula.
void InsetMathScript::mathmlize(MathStream & os) const
{
bool d = hasDown() && down().size();
bool u = hasUp() && up().size();
bool l = hasLimits();
if (u && d)
os << MTag("msubsup");
os << MTag(l ? "munderover" : "msubsup");
else if (u)
os << MTag("msup");
os << MTag(l ? "mover" : "msup");
else if (d)
os << MTag("msub");
os << MTag(l ? "munder" : "msub");
if (nuc().size())
os << MTag("mrow") << nuc() << ETag("mrow");
@ -647,11 +644,11 @@ void InsetMathScript::mathmlize(MathStream & os) const
if (u && d)
os << MTag("mrow") << down() << ETag("mrow")
<< MTag("mrow") << up() << ETag("mrow")
<< ETag("msubsup");
<< ETag(l ? "munderover" : "msubsup");
else if (u)
os << MTag("mrow") << up() << ETag("mrow") << ETag("msup");
os << MTag("mrow") << up() << ETag("mrow") << ETag(l ? "mover" : "msup");
else if (d)
os << MTag("mrow") << down() << ETag("mrow") << ETag("msub");
os << MTag("mrow") << down() << ETag("mrow") << ETag(l ? "munder" : "msub");
}

View File

@ -112,6 +112,8 @@ What's new
* LYXHTML
- Fix mathml output of display style scripts (bug 8784).
* TEX2LYX