X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2FInsetMathDelim.cpp;h=fb4f8f4d87c4a756f96e3d913ffac765b3338d11;hb=c9d9309c1ecffa218dee04ce4f7991ed4fc0c9bb;hp=0d2fd9760748d4c551285c4520af9b804b1affcf;hpb=8d51923b8b6265e49f3be48c7436f4ac7df64577;p=lyx.git diff --git a/src/mathed/InsetMathDelim.cpp b/src/mathed/InsetMathDelim.cpp index 0d2fd97607..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);