* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author André Pönitz
+ * \author André Pönitz
*
* Full author contact details are available in file CREDITS.
*/
}
+// FIXME This will likely need some work.
char const * MathMLtype(docstring const & s)
{
- if (s == "mathop")
- return "mo";
- return "mi";
+ if (s == "mathord")
+ return "mi";
+ return "mo";
}
-void InsetMathSymbol::mathmlize(MathStream & os) const
+docstring InsetMathSymbol::mathmlize(MathStream & os) const
{
+ // FIXME To get this working properly, we need to do add the
+ // XML entity definitions to lib/symbols. And probably do more
+ // interesting things with MathMLtype
char const * type = MathMLtype(sym_->extra);
os << '<' << type << "> ";
- if (sym_->xmlname == "x") // unknown so far
+ if (sym_->xmlname == "x")
+ // unknown so far
os << name();
else
os << sym_->xmlname;
os << " </" << type << '>';
+ return docstring();
}
void InsetMathSymbol::write(WriteStream & os) const
{
- bool brace = os.pendingBrace();
- os.pendingBrace(false);
- if (os.latex() && os.textMode()) {
- os << "\\ensuremath{";
- os.textMode(false);
- brace = true;
- }
+ MathEnsurer ensurer(os);
os << '\\' << name();
- os.pendingBrace(brace);
// $,#, etc. In theory the restriction based on catcodes, but then
// we do not handle catcodes very well, let alone cat code changes,