#include "InsetMathScript.h"
#include "InsetMathSymbol.h"
#include "MathData.h"
+#include "MathExtern.h"
#include "MathStream.h"
#include "MathSupport.h"
// 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
+docstring InsetMathScript::mathmlize(MathStream & os) const
{
bool d = hasDown() && down().size();
bool u = hasUp() && up().size();
else if (d)
os << MTag("msub");
- if (nuc().size())
- os << MTag("mrow") << nuc() << ETag("mrow");
- else
+ docstring rv;
+ if (nuc().size()) {
+ os << MTag("mrow");
+ rv = lyx::mathmlize(nuc(), os);
+ os << ETag("mrow");
+ } else
os << "<mrow />";
if (u && d)
os << MTag("mrow") << up() << ETag("mrow") << ETag("msup");
else if (d)
os << MTag("mrow") << down() << ETag("mrow") << ETag("msub");
+ return rv;
}