#include "MathStream.h"
+#include "MathFactory.h"
#include "MathData.h"
#include "MathExtern.h"
+#include "TexRow.h"
+
#include "support/docstring.h"
#include "support/RefChanger.h"
#include "support/textutils.h"
: os_(os), fragile_(fragile), firstitem_(false), latex_(latex),
output_(output), pendingspace_(false), pendingbrace_(false),
textmode_(false), locked_(0), ascii_(0), canbreakline_(true),
- line_(0), encoding_(encoding), row_entry_(TexRow::row_none)
+ mathsout_(false), ulemcmd_(NONE), line_(0), encoding_(encoding),
+ row_entry_(TexRow::row_none)
{}
docstring MathStream::deferred() const
-{
+{
return deferred_.str();
}
docstring HtmlStream::deferred() const
-{
+{
return deferred_.str();
}
}
+docstring convertDelimToXMLEscape(docstring const & name)
+{
+ if (name.size() == 1) {
+ char_type const c = name[0];
+ if (c == '<')
+ return from_ascii("<");
+ else if (c == '>')
+ return from_ascii(">");
+ else
+ return name;
+ } else if (name.size() == 2 && name[0] == '\\') {
+ char_type const c = name[1];
+ if (c == '{')
+ return from_ascii("{");
+ else if (c == '}')
+ return from_ascii("}");
+ }
+ MathWordList const & words = mathedWordList();
+ MathWordList::const_iterator it = words.find(name);
+ if (it != words.end()) {
+ docstring const escape = it->second.xmlname;
+ return escape;
+ }
+ LYXERR0("Unable to find `" << name <<"' in the mathWordList.");
+ return name;
+}
+
} // namespace lyx