MathClass InsetMathScript::mathClass() const
{
// FIXME: this is a hack, since the class will not be correct if
- // the nucleus has several elements.
+ // the nucleus has several elements or if the last element is a math macro
+ // or a macro argument proxy.
// The correct implementation would require to linearize the nucleus.
if (nuc().empty())
return MC_ORD;
- else
+ else {
// return the class of last element since this is the one that counts.
- return nuc().back()->mathClass();
+ MathClass mc = nuc().back()->mathClass();
+ return (mc == MC_UNKNOWN) ? MC_ORD : mc;
+ }
}
dim.des = max(nd, des);
} else
dim.des = nd;
- metricsMarkers(mi, dim);
}
up().draw(pi, x + dx1(bv), y - dy1(bv));
if (hasDown())
down().draw(pi, x + dx0(bv), y + dy0(bv));
- drawMarkers(pi, x, y);
}