X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathExInt.cpp;h=64f49cd996778bbd80637c8ec9b7533622c12a36;hb=c9f7ce0a7a6d48b9b60af92828654aa7547286b4;hp=052a13f78ba3f7829d989a480dde25fbee95dc3a;hpb=64c84ae883192c38e5dfdec4962d04fd97a42ff9;p=lyx.git diff --git a/src/mathed/InsetMathExInt.cpp b/src/mathed/InsetMathExInt.cpp index 052a13f78b..64f49cd996 100644 --- a/src/mathed/InsetMathExInt.cpp +++ b/src/mathed/InsetMathExInt.cpp @@ -11,6 +11,8 @@ #include #include "InsetMathExInt.h" + +#include "LaTeXFeatures.h" #include "MathData.h" #include "MathStream.h" #include "MathStream.h" @@ -74,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'; @@ -92,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' << ','; @@ -111,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' << ','; @@ -124,6 +126,10 @@ void InsetMathExInt::mathematica(MathematicaStream & 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 + // r32566 and r32568. + // So right now this only handles integrals. InsetMathSymbol sym(symbol_); bool const lower = !cell(2).empty(); bool const upper = !cell(3).empty(); @@ -152,10 +158,35 @@ void InsetMathExInt::mathmlize(MathStream & os) const } +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"); +} + + void InsetMathExInt::write(WriteStream &) const { LYXERR0("should not happen"); } - } // namespace lyx