#include "InsetMathFont.h"
#include "InsetMathScript.h"
#include "InsetMathSymbol.h"
+#include "LaTeXFeatures.h"
#include "MathData.h"
#include "MathStream.h"
#include "MathSupport.h"
}
+void InsetMathScript::htmlize(HtmlStream & os) const
+{
+ bool d = hasDown() && down().size();
+ bool u = hasUp() && up().size();
+
+ if (nuc().size())
+ os << nuc();
+
+ if (u && d)
+ os << MTag("span", "class='scripts'")
+ << MTag("span") << up() << ETag("span")
+ << MTag("span") << down() << ETag("span")
+ << ETag("span");
+ else if (u)
+ os << MTag("sup", "class='math'") << up() << ETag("sup");
+ else if (d)
+ os << MTag("sub", "class='math'") << down() << ETag("sub");
+}
+
+
void InsetMathScript::octave(OctaveStream & os) const
{
if (nuc().size())
// must be a subscript...
old.recordUndoInset();
removeScript(false);
- cur.updateFlags(cur.disp_.update() | Update::SinglePar);
+ cur.updateFlags(cur.result().update() | Update::SinglePar);
return true;
} else if (cell(1).empty()) {
// must be a superscript...
old.recordUndoInset();
removeScript(true);
- cur.updateFlags(cur.disp_.update() | Update::SinglePar);
+ cur.updateFlags(cur.result().update() | Update::SinglePar);
return true;
}
}
insetCur.cell().insert(insetCur.pos(), ar);
// redraw
- cur.updateFlags(cur.disp_.update() | Update::SinglePar);
+ cur.updateFlags(cur.result().update() | Update::SinglePar);
return true;
}
{
//LYXERR("InsetMathScript: request: " << cmd);
- if (cmd.action == LFUN_MATH_LIMITS) {
+ if (cmd.action() == LFUN_MATH_LIMITS) {
if (!cmd.argument().empty()) {
if (cmd.argument() == "limits")
limits_ = 1;
}
+// the idea for dual scripts came from the eLyXer code
+void InsetMathScript::validate(LaTeXFeatures & features) const
+{
+ if (features.runparams().math_flavor == OutputParams::MathAsHTML)
+ features.addPreambleSnippet("<style type=\"text/css\">\n"
+ "span.scripts{display: inline-block; vertical-align: middle; text-align:center; font-size: 75%;}\n"
+ "span.scripts span {display: block;}\n"
+ "sub.math{font-size: 75%;}\n"
+ "sup.math{font-size: 75%;}\n"
+ "</style>");
+ InsetMathNest::validate(features);
+}
+
} // namespace lyx