InsetMathHull::~InsetMathHull()
{
- for (size_t i = 0; i < label_.size(); ++i)
- delete label_[i];
+ for (auto & i : label_)
+ delete i;
}
numbered_ = other.numbered_;
numbers_ = other.numbers_;
buffer_ = other.buffer_;
- for (size_t i = 0; i < label_.size(); ++i)
- delete label_[i];
+ for (auto & i : label_)
+ delete i;
label_ = other.label_;
for (size_t i = 0; i != label_.size(); ++i) {
if (label_[i])
case hullEqnArray:
break;
}
- for (size_t row = 0; row < numbered_.size(); ++row)
- if (numbered_[row] == NOTAG)
+ for (auto const & row : numbered_)
+ if (row == NOTAG)
return true;
return false;
}
numbered(0, false);
} else {
setType(hullEquation);
- numbered(0, label_[0] ? true : false);
+ numbered(0, label_[0] != nullptr);
mutate(newtype);
}
break;
{
// Choose the tag around the MathML equation.
docstring name;
+ bool doCR = false;
if (getType() == hullSimple)
name = from_ascii("inlineequation");
- else
+ else {
+ doCR = true; // This is a block equation, always have <informalequation> on its own line.
name = from_ascii("informalequation");
+ }
// DocBook also has <equation>, but it comes with a title.
+ // TODO: recognise \tag from amsmath? This would allow having <equation> with a proper title.
docstring attr;
for (row_type i = 0; i < nrows(); ++i) {
}
}
+ if (doCR)
+ if (!xs.isLastTagCR())
+ xs << xml::CR();
+
xs << xml::StartTag(name, attr);
xs << xml::CR();
osmath << ostmp.str(); // osmath is not a XMLStream, so no need for XMLStream::ESCAPE_NONE.
ms << ETag("math");
} catch (MathExportException const &) {
- osmath << "MathML export failed. Please report this as a bug.";
+ ms.cr();
+ osmath << "<mathphrase>MathML export failed. Please report this as a bug.</mathphrase>";
}
// Output the complete formula to the DocBook stream.
xs << XMLStream::ESCAPE_NONE << osmath.str();
xs << xml::CR();
xs << xml::EndTag(name);
+ if (doCR)
+ xs << xml::CR();
}