X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathExInt.cpp;h=64f49cd996778bbd80637c8ec9b7533622c12a36;hb=c9f7ce0a7a6d48b9b60af92828654aa7547286b4;hp=5277b6cde818253302213b17e17a1fc9f9e3d95f;hpb=8a0134cc8ce7de41d6d6911a1c4219ca958f2b71;p=lyx.git diff --git a/src/mathed/InsetMathExInt.cpp b/src/mathed/InsetMathExInt.cpp index 5277b6cde8..64f49cd996 100644 --- a/src/mathed/InsetMathExInt.cpp +++ b/src/mathed/InsetMathExInt.cpp @@ -11,8 +11,9 @@ #include #include "InsetMathExInt.h" + +#include "LaTeXFeatures.h" #include "MathData.h" -#include "MathExtern.h" #include "MathStream.h" #include "MathStream.h" #include "InsetMathSymbol.h" @@ -75,7 +76,7 @@ void InsetMathExInt::draw(PainterInfo &, int, int) const void InsetMathExInt::maple(MapleStream & os) const { os << symbol_ << '('; - if (cell(0).size()) + if (!cell(0).empty()) os << cell(0); else os << '1'; @@ -93,7 +94,7 @@ void InsetMathExInt::maxima(MaximaStream & os) const else os << symbol_ << '('; - if (cell(0).size()) + if (!cell(0).empty()) os << cell(0) << ','; else os << '1' << ','; @@ -112,7 +113,7 @@ void InsetMathExInt::mathematica(MathematicaStream & os) const else os << symbol_ << '['; - if (cell(0).size()) + if (!cell(0).empty()) os << cell(0) << ','; else os << '1' << ','; @@ -123,7 +124,7 @@ void InsetMathExInt::mathematica(MathematicaStream & os) const } -docstring InsetMathExInt::mathmlize(MathStream & os) const +void InsetMathExInt::mathmlize(MathStream & os) const { // At the moment, we are not extracting sums and the like for MathML. // If we should decide to do so later, then we'll need to re-merge @@ -151,11 +152,35 @@ docstring InsetMathExInt::mathmlize(MathStream & os) const os << ETag("msub"); else if (upper) os << ETag("msup"); - docstring rv = lyx::mathmlize(cell(0), os); - os << "" + os << cell(0) << "" << MTag("mrow") << "" << cell(1) << ETag("mrow"); - return rv; +} + + +void InsetMathExInt::htmlize(HtmlStream & os) const +{ + // At the moment, we are not extracting sums and the like for HTML. + // So right now this only handles integrals. + InsetMathSymbol sym(symbol_); + bool const lower = !cell(2).empty(); + bool const upper = !cell(3).empty(); + + os << MTag("span", "class='integral'") + << MTag("span", "class='intsym'"); + sym.htmlize(os, false); + os << ETag("span"); + + if (lower && upper) { + os << MTag("span", "class='limits'") + << MTag("span") << cell(2) << ETag("span") + << MTag("span") << cell(3) << ETag("span") + << ETag("span"); + } else if (lower) + os << MTag("sub", "class='limit'") << cell(2) << ETag("sub"); + else if (upper) + os << MTag("sup", "class='limit'") << cell(3) << ETag("sup"); + os << cell(0) << "d" << cell(1) << ETag("span"); } @@ -164,5 +189,4 @@ void InsetMathExInt::write(WriteStream &) const LYXERR0("should not happen"); } - } // namespace lyx