X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathDelim.cpp;h=fb4f8f4d87c4a756f96e3d913ffac765b3338d11;hb=66fa801e74e1775b31008df548332436ce79e2e1;hp=a47678dd4c6924eecd20441f9c24c95af0918130;hpb=d4b3b615933bcb02b085dccf9b9fb48914c56806;p=lyx.git diff --git a/src/mathed/InsetMathDelim.cpp b/src/mathed/InsetMathDelim.cpp index a47678dd4c..fb4f8f4d87 100644 --- a/src/mathed/InsetMathDelim.cpp +++ b/src/mathed/InsetMathDelim.cpp @@ -14,10 +14,13 @@ #include "InsetMathDelim.h" #include "MathData.h" +#include "MathFactory.h" #include "MathStream.h" #include "MathSupport.h" #include "MetricsInfo.h" +#include "LaTeXFeatures.h" + #include "support/docstring.h" #include "frontends/FontMetrics.h" @@ -58,6 +61,30 @@ Inset * InsetMathDelim::clone() const } +void InsetMathDelim::validate(LaTeXFeatures & features) const +{ + InsetMathNest::validate(features); + // The delimiters may be used without \left or \right as well. + // Therefore they are listed in lib/symbols, and if they have + // requirements, we need to add them here. + MathWordList const & words = mathedWordList(); + MathWordList::const_iterator it = words.find(left_); + if (it != words.end()) + { + string const req = it->second.requires; + if (!req.empty()) + features.require(req); + } + it = words.find(right_); + if (it != words.end()) + { + string const req = it->second.requires; + if (!req.empty()) + features.require(req); + } +} + + void InsetMathDelim::write(WriteStream & os) const { MathEnsurer ensurer(os); @@ -163,8 +190,14 @@ void InsetMathDelim::mathematica(MathematicaStream & os) const void InsetMathDelim::mathmlize(MathStream & os) const { - os << "" << left_ << "" - << cell(0) << "" << right_ << ""; + os << "" << left_ << "" + << cell(0) << "" << right_ << ""; +} + + +void InsetMathDelim::htmlize(HtmlStream & os) const +{ + os << left_ << cell(0) << right_; }