<< " in atom: '";
odocstringstream os;
otexrowstream ots(os);
- WriteStream wi(ots, false, true, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsDefault);
inset().asInsetMath()->write(wi);
lyxerr << to_utf8(os.str()) << endl;
pos() = lastpos();
buffer_.writeLaTeXSource(os, buffer_.filePath(), runparams, Buffer::OnlyPreamble);
// FIXME! This is a HACK! The proper fix is to control the 'true'
- // passed to WriteStream below:
+ // passed to TeXMathStream below:
// int InsetMathNest::latex(Buffer const &, odocstream & os,
// OutputParams const & runparams) const
// {
- // WriteStream wi(os, runparams.moving_arg, true);
+ // TeXMathStream wi(os, runparams.moving_arg, true);
// par_->write(wi);
// return wi.line();
// }
for (int s = cur.depth() - 1; s >= 0; --s) {
CursorSlice const & cs = cur[s];
if (cs.asInsetMath() && cs.asInsetMath()->asHullInset()) {
- WriteStream ws(os);
+ TeXMathStream ws(os);
cs.asInsetMath()->asHullInset()->header_write(ws);
break;
}
CursorSlice const & cs2 = cur[s];
InsetMath * inset = cs2.asInsetMath();
if (inset && inset->asHullInset()) {
- WriteStream ws(os);
+ TeXMathStream ws(os);
inset->asHullInset()->footer_write(ws);
break;
}
/// write LaTeX and LyX code
-void InsetMath::writeLimits(WriteStream & os) const
+void InsetMath::writeLimits(TeXMathStream & os) const
{
if (limits() == LIMITS) {
os << "\\limits";
lyxerr << "---------------------------------------------" << endl;
odocstringstream os;
otexrowstream ots(os);
- WriteStream wi(ots, false, true, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsDefault);
write(wi);
lyxerr << to_utf8(os.str());
lyxerr << "\n---------------------------------------------" << endl;
}
-void InsetMath::write(WriteStream & os) const
+void InsetMath::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
docstring const s = name();
{
odocstringstream oss;
otexrowstream ots(oss);
- WriteStream wi(ots, false, false, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, false, TeXMathStream::wsDefault);
at->write(wi);
return os << to_utf8(oss.str());
}
odocstream & operator<<(odocstream & os, MathAtom const & at)
{
otexrowstream ots(os);
- WriteStream wi(ots, false, false, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, false, TeXMathStream::wsDefault);
at->write(wi);
return os;
}
class MaximaStream;
class MathematicaStream;
class MathMLStream;
-class WriteStream;
+class TeXMathStream;
class MathData;
class InsetMathMacroTemplate;
/// sets types of sub/superscripts
virtual void limits(Limits) {}
/// write limits status for LaTeX and LyX code
- void writeLimits(WriteStream & os) const;
+ void writeLimits(TeXMathStream & os) const;
/// replace things by other things
virtual void replace(ReplaceData &) {}
// write(). This is to shut off a clang warning.
using Inset::write;
/// write LaTeX and LyX code
- virtual void write(WriteStream & os) const;
+ virtual void write(TeXMathStream & os) const;
/// write normalized content
virtual void normalize(NormalStream &) const;
/// write content as something readable by Maple
}
-void InsetMathAMSArray::write(WriteStream & os) const
+void InsetMathAMSArray::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\begin{" << name_ << '}';
bool getStatus(Cursor & cur, FuncRequest const & cmd,
FuncStatus & flag) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
}
-void InsetMathArray::write(WriteStream & os) const
+void InsetMathArray::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
InsetMathArray const * asArrayInset() const override { return this; }
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
}
-void InsetMathBig::write(WriteStream & os) const
+void InsetMathBig::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << '\\' << name_ << delim_;
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream & os) const override;
///
}
-void InsetMathBoldSymbol::write(WriteStream & os) const
+void InsetMathBoldSymbol::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
switch (kind_) {
///
void validate(LaTeXFeatures & features) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void mathmlize(MathMLStream &) const override;
///
{}
-void InsetMathBox::write(WriteStream & os) const
+void InsetMathBox::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, TEXT_MODE);
os << '\\' << name_ << '{' << cell(0) << '}';
}
-void InsetMathFBox::write(WriteStream & os) const
+void InsetMathFBox::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, TEXT_MODE);
os << "\\fbox{" << cell(0) << '}';
}
-void InsetMathMakebox::write(WriteStream & os) const
+void InsetMathMakebox::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, TEXT_MODE);
os << (framebox_ ? "\\framebox" : "\\makebox");
}
-void InsetMathBoxed::write(WriteStream & os) const
+void InsetMathBoxed::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, MATH_MODE);
os << "\\boxed{" << cell(0) << '}';
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream & ns) const override;
///
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream & ns) const override;
///
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream & ns) const override;
///
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void mathmlize(MathMLStream & ms) const override;
///
}
-void InsetMathBrace::write(WriteStream & os) const
+void InsetMathBrace::write(TeXMathStream & os) const
{
os << '{' << cell(0) << '}';
}
///
void draw(PainterInfo &, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream & ns) const override;
///
}
-void InsetMathCancel::write(WriteStream & os) const
+void InsetMathCancel::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
switch (kind_) {
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream & ns) const override;
///
}
-void InsetMathCancelto::write(WriteStream & os) const
+void InsetMathCancelto::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\cancelto{" << cell(1) << "}{" << cell(0) << '}';
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream & ns) const override;
///
}
-void InsetMathCases::write(WriteStream & os) const
+void InsetMathCases::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
if (os.fragile())
///
void htmlize(HtmlStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void validate(LaTeXFeatures & features) const override;
///
}
-void InsetMathChar::write(WriteStream & os) const
+void InsetMathChar::write(TeXMathStream & os) const
{
os.os().put(char_);
}
int kerning(BufferView const *) const override { return kerning_; }
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void validate(LaTeXFeatures & features) const override;
///
}
-void InsetMathClass::write(WriteStream & os) const
+void InsetMathClass::write(TeXMathStream & os) const
{
InsetMathNest::write(os);
writeLimits(os);
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
}
-void InsetMathColor::write(WriteStream & os) const
+void InsetMathColor::write(TeXMathStream & os) const
{
// We have to ensure correct spacing when the front and/or back
// atoms are not ordinary ones (bug 11827).
/// we need package color
void validate(LaTeXFeatures & features) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// FIXME XHTML For now, we do nothing with color.
void mathmlize(MathMLStream &) const override {}
/// FIXME XHTML For now, we do nothing with color.
}
-void InsetMathCommand::write(WriteStream & os) const
+void InsetMathCommand::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, currentMode(), lockedMode(), asciiOnly());
MathEnsurer ensurer(os, needs_math_mode_);
///
Inset * editXY(Cursor &, int, int) override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
//
// void infoize(odocstream & os) const;
///
}
-void InsetMathComment::write(WriteStream & os) const
+void InsetMathComment::write(TeXMathStream & os) const
{
os << '%' << cell(0) << "\n";
}
void drawT(TextPainter & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void maple(MapleStream &) const override;
///
}
-void InsetMathDecoration::write(WriteStream & os) const
+void InsetMathDecoration::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
if (os.fragile() && protect())
///
void draw(PainterInfo &, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void metrics(MetricsInfo & mi, Dimension & dim) const override;
///
}
-void InsetMathDelim::write(WriteStream & os) const
+void InsetMathDelim::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\left" << convertDelimToLatexName(left_) << cell(0)
///
void validate(LaTeXFeatures & features) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream &) const override;
///
}
-void InsetMathDiagram::write(WriteStream & os) const
+void InsetMathDiagram::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\Diagram";
int rowsep() const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
}
-void InsetMathDiff::write(WriteStream &) const
+void InsetMathDiff::write(TeXMathStream &) const
{
LYXERR0("should not happen");
}
///
void maxima(MaximaStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
InsetCode lyxCode() const override { return MATH_DIFF_CODE; }
private:
}
-void InsetMathEnsureMath::write(WriteStream & os) const
+void InsetMathEnsureMath::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, MATH_MODE);
os << "\\ensuremath{" << cell(0) << "}";
///
void drawT(TextPainter & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void mathmlize(MathMLStream &) const override;
///
}
-void InsetMathEnv::write(WriteStream & os) const
+void InsetMathEnv::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\begin{" << name_ << '}' << cell(0) << "\\end{" << name_ << '}';
///
void draw(PainterInfo &, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream & ns) const override;
///
}
-void InsetMathExInt::write(WriteStream &) const
+void InsetMathExInt::write(TeXMathStream &) const
{
LYXERR0("should not happen");
}
///
void htmlize(HtmlStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
InsetCode lyxCode() const override { return MATH_EXINT_CODE; }
private:
}
-void InsetMathFont::write(WriteStream & os) const
+void InsetMathFont::write(TeXMathStream & os) const
{
// Close the mode changing command inserted during export if
// we are going to output another mode changing command that
/// do we allow changing mode during latex export?
bool lockedMode() const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
docstring name() const override;
///
}
-void InsetMathFontOld::write(WriteStream & os) const
+void InsetMathFontOld::write(TeXMathStream & os) const
{
os << "{\\" << key_->name << ' ' << cell(0) << '}';
}
///
void drawT(TextPainter & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
}
-void InsetMathFrac::write(WriteStream & os) const
+void InsetMathFrac::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
switch (kind_) {
}
-void InsetMathBinom::write(WriteStream & os) const
+void InsetMathBinom::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
switch (kind_) {
///
bool extraBraces() const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void maple(MapleStream &) const override;
///
///
explicit InsetMathBinom(Buffer * buf, Kind kind = BINOM);
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
/// Generalized fractions are of inner class (see The TeXbook, p.292)
}
-void InsetMathGrid::write(WriteStream & os) const
+void InsetMathGrid::write(TeXMathStream & os) const
{
write(os, 0, 0, nrows(), ncols());
}
-void InsetMathGrid::write(WriteStream & os,
- row_type beg_row, col_type beg_col,
- row_type end_row, col_type end_col) const
+void InsetMathGrid::write(TeXMathStream & os,
+ row_type beg_row, col_type beg_col,
+ row_type end_row, col_type end_col) const
{
MathEnsurer ensurer(os, false);
docstring eol;
virtual bool handlesMulticolumn() const { return false; }
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
- void write(WriteStream & os,
- row_type beg_row, col_type beg_col,
- row_type end_row, col_type end_col) const;
+ void write(TeXMathStream & os,
+ row_type beg_row, col_type beg_col,
+ row_type end_row, col_type end_col) const;
///
void normalize(NormalStream &) const override;
///
// writes a preamble for underlined or struck out math display
- void writeMathdisplayPreamble(WriteStream & os)
+ void writeMathdisplayPreamble(TeXMathStream & os)
{
if (os.strikeoutMath())
return;
- if (os.ulemCmd() == WriteStream::UNDERLINE)
+ if (os.ulemCmd() == TeXMathStream::UNDERLINE)
os << "\\raisebox{-\\belowdisplayshortskip}{"
"\\parbox[b]{\\linewidth}{";
- else if (os.ulemCmd() == WriteStream::STRIKEOUT)
+ else if (os.ulemCmd() == TeXMathStream::STRIKEOUT)
os << "\\parbox{\\linewidth}{";
}
// writes a postamble for underlined or struck out math display
- void writeMathdisplayPostamble(WriteStream & os)
+ void writeMathdisplayPostamble(TeXMathStream & os)
{
if (os.strikeoutMath())
return;
- if (os.ulemCmd() == WriteStream::UNDERLINE)
+ if (os.ulemCmd() == TeXMathStream::UNDERLINE)
os << "}}\\\\\n";
- else if (os.ulemCmd() == WriteStream::STRIKEOUT)
+ else if (os.ulemCmd() == TeXMathStream::STRIKEOUT)
os << "}\\\\\n";
}
} else {
odocstringstream os;
otexrowstream ots(os);
- WriteStream wi(ots, false, true, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsDefault);
write(wi);
dim.wid = os.str().size();
dim.asc = 1;
} else {
odocstringstream os;
otexrowstream ots(os);
- WriteStream wi(ots, false, true, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsDefault);
write(wi);
pain.draw(x, y, os.str().c_str());
}
if (inset.isBufferValid())
encoding = &(inset.buffer().params().encoding());
otexrowstream ots(ls);
- WriteStream wi(ots, false, true, WriteStream::wsPreview, encoding);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsPreview, encoding);
inset.write(wi);
return ls.str();
}
}
-void InsetMathHull::header_write(WriteStream & os) const
+void InsetMathHull::header_write(TeXMathStream & os) const
{
bool n = numberedType();
}
-void InsetMathHull::footer_write(WriteStream & os) const
+void InsetMathHull::footer_write(TeXMathStream & os) const
{
bool n = numberedType();
return res + InsetMathGrid::eolString(row, fragile, latex, last_eoln);
}
-void InsetMathHull::write(WriteStream & os) const
+void InsetMathHull::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, MATH_MODE);
header_write(os);
{
odocstringstream oss;
otexrowstream ots(oss);
- WriteStream wi(ots, false, false, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, false, TeXMathStream::wsDefault);
oss << "Formula ";
write(wi);
os << to_utf8(oss.str());
odocstringstream oss;
otexrowstream ots(oss);
Encoding const * const enc = encodings.fromLyXName("utf8");
- WriteStream wi(ots, false, true, WriteStream::wsDefault, enc);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsDefault, enc);
// Fix Bug #6139
if (type_ == hullRegexp)
// Workaround for db2latex: db2latex always includes equations with
// \ensuremath{} or \begin{display}\end{display}
// so we strip LyX' math environment
- WriteStream wi(ols, false, false, WriteStream::wsDefault, runparams.encoding);
+ TeXMathStream wi(ols, false, false, TeXMathStream::wsDefault, runparams.encoding);
InsetMathGrid::write(wi);
ms << from_utf8(subst(subst(to_utf8(ls.str()), "&", "&"), "<", "<"));
ms << "</" << from_ascii("alt") << ">";
}
-void InsetMathHull::mathAsLatex(WriteStream & os) const
+void InsetMathHull::mathAsLatex(TeXMathStream & os) const
{
MathEnsurer ensurer(os, false);
bool havenumbers = haveNumbers();
// $...$ or whatever.
odocstringstream ls;
otexrowstream ots(ls);
- WriteStream wi(ots, false, true, WriteStream::wsPreview);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsPreview);
ModeSpecifier specifier(wi, MATH_MODE);
mathAsLatex(wi);
docstring const latex = ls.str();
char displayColAlign(idx_type idx) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
///
void write(std::ostream & os) const override;
///
- void header_write(WriteStream &) const;
+ void header_write(TeXMathStream &) const;
///
- void footer_write(WriteStream &) const;
+ void footer_write(TeXMathStream &) const;
///
void read(Lexer & lex) override;
///
///
void htmlize(HtmlStream &) const override;
///
- void mathAsLatex(WriteStream &) const;
+ void mathAsLatex(TeXMathStream &) const;
///
void toString(odocstream &) const override;
///
{}
-void InsetMathKern::write(WriteStream & os) const
+void InsetMathKern::write(TeXMathStream & os) const
{
if (wid_.empty())
os << "\\kern" << ' ';
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream & ns) const override;
///
}
-void InsetMathLim::write(WriteStream &) const
+void InsetMathLim::write(TeXMathStream &) const
{
LYXERR0("should not happen");
}
///
void mathematica(MathematicaStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
InsetCode lyxCode() const override { return MATH_LIM_CODE; }
}
-void InsetMathMacro::write(WriteStream & os) const
+void InsetMathMacro::write(TeXMathStream & os) const
{
mode_type mode = currentMode();
MathEnsurer ensurer(os, mode == MATH_MODE, true, mode == TEXT_MODE);
mode_type currentMode() const override;
/// Assumes that macros are up-to-date
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream & os) const override;
///
}
-void InsetMathHash::write(WriteStream & os) const
+void InsetMathHash::write(TeXMathStream & os) const
{
os << str_;
}
///
void normalize(NormalStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
private:
Inset * clone() const override;
{
odocstringstream oss;
otexrowstream ots(oss);
- WriteStream wi(ots, false, false, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, false, TeXMathStream::wsDefault);
oss << "FormulaMacro\n";
write(wi);
os << to_utf8(oss.str());
}
-void InsetMathMacroTemplate::write(WriteStream & os) const
+void InsetMathMacroTemplate::write(TeXMathStream & os) const
{
write(os, false);
}
-int InsetMathMacroTemplate::write(WriteStream & os, bool overwriteRedefinition) const
+int InsetMathMacroTemplate::write(TeXMathStream & os, bool overwriteRedefinition) const
{
int num_lines = 0;
///
void write(std::ostream & os) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// Output LaTeX code, but assume that the macro is not defined yet
/// if overwriteRedefinition is true
- int write(WriteStream & os, bool overwriteRedefinition) const;
+ int write(TeXMathStream & os, bool overwriteRedefinition) const;
/// Nothing happens. This is simply to suppress the default output.
docstring xhtml(XMLStream &, OutputParams const &) const override;
///
}
-void InsetMathMatrix::write(WriteStream & os) const
+void InsetMathMatrix::write(TeXMathStream & os) const
{
InsetMathGrid::write(os);
}
InsetMathMatrix const * asMatrixInset() const override { return this; }
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
{
odocstringstream oss;
otexrowstream ots(oss);
- WriteStream os(ots);
+ TeXMathStream os(ots);
os << "---------------------------------------------\n";
write(os);
os << "\n";
}
-void InsetMathNest::write(WriteStream & os) const
+void InsetMathNest::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os, currentMode() == MATH_MODE);
ModeSpecifier specifier(os, currentMode(), lockedMode());
void InsetMathNest::latex(otexstream & os, OutputParams const & runparams) const
{
- WriteStream wi(os, runparams.moving_arg, true,
- runparams.dryrun ? WriteStream::wsDryrun : WriteStream::wsDefault,
- runparams.encoding);
+ TeXMathStream wi(os, runparams.moving_arg, true,
+ runparams.dryrun ? TeXMathStream::wsDryrun : TeXMathStream::wsDefault,
+ runparams.encoding);
wi.strikeoutMath(runparams.inDeletedInset);
if (runparams.inulemcmd) {
- wi.ulemCmd(WriteStream::UNDERLINE);
+ wi.ulemCmd(TeXMathStream::UNDERLINE);
if (runparams.local_font) {
FontInfo f = runparams.local_font->fontInfo();
if (f.strikeout() == FONT_ON)
- wi.ulemCmd(WriteStream::STRIKEOUT);
+ wi.ulemCmd(TeXMathStream::STRIKEOUT);
}
}
wi.canBreakLine(os.canBreakLine());
void dump() const override;
/// writes \\, name(), and args in braces and '\\lyxlock' if necessary
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// writes [, name(), and args in []
void normalize(NormalStream & os) const override;
///
}
-void InsetMathNumber::write(WriteStream & os) const
+void InsetMathNumber::write(TeXMathStream & os) const
{
os << str_;
}
///
void htmlize(HtmlStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
InsetCode lyxCode() const override { return MATH_NUMBER_CODE; }
}
-void InsetMathOverset::write(WriteStream & os) const
+void InsetMathOverset::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
if (os.fragile())
///
bool idxLast(Cursor &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
}
-void InsetMathPar::write(WriteStream & os) const
+void InsetMathPar::write(TeXMathStream & os) const
{
for (idx_type i = 0; i < nargs(); ++i)
os << cell(i) << "\n";
///
void infoize(odocstream & os) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
InsetCode lyxCode() const override { return MATH_PAR_CODE; }
}
-void InsetMathPhantom::write(WriteStream & os) const
+void InsetMathPhantom::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
if (os.fragile())
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream & ns) const override;
///
///
void updateBuffer(ParIterator const &, UpdateType, bool const deleted = false) override;
///
- //void write(WriteStream & os) const override;
+ //void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
}
-void InsetMathRoot::write(WriteStream & os) const
+void InsetMathRoot::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\sqrt[" << cell(1) << "]{" << cell(0) << '}';
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
}
-void InsetMathScript::write(WriteStream & os) const
+void InsetMathScript::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
size_type lastIdx() const override { return 0; }
/// write LaTeX and Lyx code
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream &) const override;
/// write content as something readable by Maple
}
-void InsetMathSideset::write(WriteStream & os) const
+void InsetMathSideset::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
size_type lastIdx() const override { return 0; }
/// write LaTeX and Lyx code
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// write normalized content
void normalize(NormalStream &) const override;
/// write content as MathML
}
-void InsetMathSize::write(WriteStream & os) const
+void InsetMathSize::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "{\\" << key_->name << ' ' << cell(0) << '}';
void draw(PainterInfo &, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
}
-void InsetMathSpace::write(WriteStream & os) const
+void InsetMathSpace::write(TeXMathStream & os) const
{
// All kinds work in text and math mode, so simply suspend
// writing a possibly pending mode closing brace.
///
void htmlize(HtmlStream & ms) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
/// generate something that will be understood by the Dialogs.
InsetSpaceParams params() const;
///
}
-void InsetMathSpecialChar::write(WriteStream & os) const
+void InsetMathSpecialChar::write(TeXMathStream & os) const
{
os << '\\' << name_;
if (name_.size() != 1)
///
int kerning(BufferView const *) const override { return kerning_; }
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void validate(LaTeXFeatures & features) const override;
///
}
-void InsetMathSplit::write(WriteStream & ws) const
+void InsetMathSplit::write(TeXMathStream & ws) const
{
MathEnsurer ensurer(ws);
if (ws.fragile())
bool getStatus(Cursor & cur, FuncRequest const & cmd,
FuncStatus & flag) const override;
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
}
-void InsetMathSqrt::write(WriteStream & os) const
+void InsetMathSqrt::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\sqrt{" << cell(0) << '}';
void metricsT(TextMetricsInfo const & mi, Dimension & dim) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
}
-void InsetMathStackrel::write(WriteStream & os) const
+void InsetMathStackrel::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\stackrel";
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void normalize(NormalStream &) const override;
///
}
-void InsetMathString::write(WriteStream & os) const
+void InsetMathString::write(TeXMathStream & os) const
{
writeString(str_, os);
}
///
void mathmlize(MathMLStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
InsetCode lyxCode() const override { return MATH_STRING_CODE; }
}
-void InsetMathSubstack::write(WriteStream & os) const
+void InsetMathSubstack::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\substack{";
///
void infoize(odocstream & os) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void mathmlize(MathMLStream &) const override;
///
}
-void InsetMathSymbol::write(WriteStream & os) const
+void InsetMathSymbol::write(TeXMathStream & os) const
{
unique_ptr<MathEnsurer> ensurer;
if (currentMode() != TEXT_MODE)
///
void octave(OctaveStream &) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize2(odocstream & os) const override;
///
}
-void InsetMathTabular::write(WriteStream & os) const
+void InsetMathTabular::write(TeXMathStream & os) const
{
ModeSpecifier specifier(os, TEXT_MODE);
InsetMathTabular const * asTabularInset() const { return this; }
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
}
-void InsetMathUnderset::write(WriteStream & os) const
+void InsetMathUnderset::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
if (os.fragile())
///
bool idxLast(Cursor &) const override;
///
- void write(WriteStream & ws) const override;
+ void write(TeXMathStream & ws) const override;
///
void normalize(NormalStream & ns) const override;
///
}
-void InsetMathXArrow::write(WriteStream & os) const
+void InsetMathXArrow::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << '\\' << name_;
///
void draw(PainterInfo & pi, int x, int y) const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void metrics(MetricsInfo & mi, Dimension & dim) const override;
///
}
-void InsetMathXYMatrix::write(WriteStream & os) const
+void InsetMathXYMatrix::write(TeXMathStream & os) const
{
MathEnsurer ensurer(os);
os << "\\xymatrix";
int rowsep() const override;
///
- void write(WriteStream & os) const override;
+ void write(TeXMathStream & os) const override;
///
void infoize(odocstream & os) const override;
///
InsetMathMacroTemplate const & tmpl =
static_cast<InsetMathMacroTemplate const &>(*inset);
otexrowstream ots(os);
- WriteStream wi(ots, false, true, WriteStream::wsDefault);
+ TeXMathStream wi(ots, false, true, TeXMathStream::wsDefault);
return tmpl.write(wi, overwriteRedefinition);
}
} // namespace
-void write(MathData const & dat, WriteStream & wi)
+void write(MathData const & dat, TeXMathStream & wi)
{
wi.firstitem() = true;
docstring s;
}
-void writeString(docstring const & s, WriteStream & os)
+void writeString(docstring const & s, TeXMathStream & os)
{
if (!os.latex()) {
os << (os.asciiOnly() ? escape(s) : s);
os.pendingSpace(space);
} catch (EncodingException const & e) {
switch (os.output()) {
- case WriteStream::wsDryrun: {
+ case TeXMathStream::wsDryrun: {
os << "<" << _("LyX Warning: ")
<< _("uncodable character") << " '";
os << docstring(1, e.failed_char);
os << "'>";
break;
}
- case WriteStream::wsPreview: {
+ case TeXMathStream::wsPreview: {
// indicate the encoding error by a boxed '?'
os << "{\\fboxsep=1pt\\fbox{?}}";
LYXERR0("Uncodable character" << " '"
<< "'");
break;
}
- case WriteStream::wsDefault:
+ case TeXMathStream::wsDefault:
default:
// throw again
throw;
os.pendingSpace(true);
} catch (EncodingException const & e) {
switch (os.output()) {
- case WriteStream::wsDryrun: {
+ case TeXMathStream::wsDryrun: {
os << "<" << _("LyX Warning: ")
<< _("uncodable character") << " '";
os << docstring(1, e.failed_char);
os << "'>";
break;
}
- case WriteStream::wsPreview: {
+ case TeXMathStream::wsPreview: {
// indicate the encoding error by a boxed '?'
os << "{\\fboxsep=1pt\\fbox{?}}";
LYXERR0("Uncodable character" << " '"
<< "'");
break;
}
- case WriteStream::wsDefault:
+ case TeXMathStream::wsDefault:
default:
// throw again
throw;
class MathematicaStream;
class MathMLStream;
class OctaveStream;
-class WriteStream;
+class TeXMathStream;
class MathData;
-void write(MathData const &, WriteStream &);
+void write(MathData const &, TeXMathStream &);
void htmlize(MathData const &, HtmlStream &);
void normalize(MathData const &, NormalStream &);
void maple(MathData const &, MapleStream &);
bool extractNumber(MathData const & ar, double & i);
/// Write \p s (which may contain math or text contents in LaTeX syntax) to \p os
-void writeString(docstring const & s, WriteStream & os);
+void writeString(docstring const & s, TeXMathStream & os);
MathData pipeThroughExtern(std::string const & language,
docstring const & extra, MathData const & ar);
}
-bool ensureMath(WriteStream & os, bool needs_mathmode, bool macro,
+bool ensureMath(TeXMathStream & os, bool needs_mathmode, bool macro,
bool textmode_macro)
{
bool brace = os.pendingBrace();
}
-int ensureMode(WriteStream & os, InsetMath::mode_type mode,
- bool locked, bool ascii)
+int ensureMode(TeXMathStream & os, InsetMath::mode_type mode,
+ bool locked, bool ascii)
{
bool textmode = mode == InsetMath::TEXT_MODE;
if (os.latex() && textmode && os.pendingBrace()) {
/////////////////////////////////////////////////////////////////
-WriteStream & operator<<(WriteStream & ws, docstring const & s)
+TeXMathStream & operator<<(TeXMathStream & ws, docstring const & s)
{
// Skip leading '\n' if we had already output a newline char
size_t const first =
}
-WriteStream::WriteStream(otexrowstream & os, bool fragile, bool latex,
- OutputType output, Encoding const * encoding)
+TeXMathStream::TeXMathStream(otexrowstream & os, bool fragile, bool latex,
+ OutputType output, Encoding const * encoding)
: os_(os), fragile_(fragile), latex_(latex),
output_(output), encoding_(encoding)
{}
-WriteStream::~WriteStream()
+TeXMathStream::~TeXMathStream()
{
if (pendingbrace_)
os_ << '}';
}
-void WriteStream::addlines(unsigned int n)
+void TeXMathStream::addlines(unsigned int n)
{
line_ += n;
}
-void WriteStream::pendingSpace(bool how)
+void TeXMathStream::pendingSpace(bool how)
{
pendingspace_ = how;
}
-void WriteStream::pendingBrace(bool brace)
+void TeXMathStream::pendingBrace(bool brace)
{
pendingbrace_ = brace;
}
-void WriteStream::textMode(bool textmode)
+void TeXMathStream::textMode(bool textmode)
{
textmode_ = textmode;
}
-void WriteStream::lockedMode(bool locked)
+void TeXMathStream::lockedMode(bool locked)
{
locked_ = locked;
}
-void WriteStream::asciiOnly(bool ascii)
+void TeXMathStream::asciiOnly(bool ascii)
{
ascii_ = ascii;
}
-Changer WriteStream::changeRowEntry(TexRow::RowEntry entry)
+Changer TeXMathStream::changeRowEntry(TexRow::RowEntry entry)
{
return changeVar(row_entry_, entry);
}
-bool WriteStream::startOuterRow()
+bool TeXMathStream::startOuterRow()
{
if (TexRow::isNone(row_entry_))
return false;
}
-WriteStream & operator<<(WriteStream & ws, MathAtom const & at)
+TeXMathStream & operator<<(TeXMathStream & ws, MathAtom const & at)
{
at->write(ws);
return ws;
}
-WriteStream & operator<<(WriteStream & ws, MathData const & ar)
+TeXMathStream & operator<<(TeXMathStream & ws, MathData const & ar)
{
write(ar, ws);
return ws;
}
-WriteStream & operator<<(WriteStream & ws, char const * s)
+TeXMathStream & operator<<(TeXMathStream & ws, char const * s)
{
ws << from_utf8(s);
return ws;
}
-WriteStream & operator<<(WriteStream & ws, char c)
+TeXMathStream & operator<<(TeXMathStream & ws, char c)
{
if (c == '\n' && !ws.canBreakLine())
return ws;
}
-WriteStream & operator<<(WriteStream & ws, int i)
+TeXMathStream & operator<<(TeXMathStream & ws, int i)
{
if (ws.pendingBrace()) {
ws.os() << '}';
}
-WriteStream & operator<<(WriteStream & ws, unsigned int i)
+TeXMathStream & operator<<(TeXMathStream & ws, unsigned int i)
{
if (ws.pendingBrace()) {
ws.os() << '}';
// LaTeX/LyX
//
-class WriteStream {
+class TeXMathStream {
public:
///
enum OutputType {
STRIKEOUT
};
///
- explicit WriteStream(otexrowstream & os, bool fragile = false,
- bool latex = false, OutputType output = wsDefault,
- Encoding const * encoding = nullptr);
+ explicit TeXMathStream(otexrowstream & os, bool fragile = false,
+ bool latex = false, OutputType output = wsDefault,
+ Encoding const * encoding = nullptr);
///
- ~WriteStream();
+ ~TeXMathStream();
///
int line() const { return line_; }
///
};
///
-WriteStream & operator<<(WriteStream &, MathAtom const &);
+TeXMathStream & operator<<(TeXMathStream &, MathAtom const &);
///
-WriteStream & operator<<(WriteStream &, MathData const &);
+TeXMathStream & operator<<(TeXMathStream &, MathData const &);
///
-WriteStream & operator<<(WriteStream &, docstring const &);
+TeXMathStream & operator<<(TeXMathStream &, docstring const &);
///
-WriteStream & operator<<(WriteStream &, char const * const);
+TeXMathStream & operator<<(TeXMathStream &, char const * const);
///
-WriteStream & operator<<(WriteStream &, char);
+TeXMathStream & operator<<(TeXMathStream &, char);
///
-WriteStream & operator<<(WriteStream &, int);
+TeXMathStream & operator<<(TeXMathStream &, int);
///
-WriteStream & operator<<(WriteStream &, unsigned int);
+TeXMathStream & operator<<(TeXMathStream &, unsigned int);
/// ensure correct mode, possibly by opening \ensuremath or \lyxmathsym
-bool ensureMath(WriteStream & os, bool needs_mathmode = true,
+bool ensureMath(TeXMathStream & os, bool needs_mathmode = true,
bool macro = false, bool textmode_macro = false);
/// ensure the requested mode, possibly by closing \ensuremath or \lyxmathsym
-int ensureMode(WriteStream & os, InsetMath::mode_type mode, bool locked, bool ascii);
+int ensureMode(TeXMathStream & os, InsetMath::mode_type mode, bool locked, bool ascii);
/**
{
public:
///
- explicit MathEnsurer(WriteStream & os, bool needs_mathmode = true,
+ explicit MathEnsurer(TeXMathStream & os, bool needs_mathmode = true,
bool macro = false, bool textmode_macro = false)
: os_(os), brace_(ensureMath(os, needs_mathmode, macro, textmode_macro)) {}
///
~MathEnsurer() { os_.pendingBrace(brace_); }
private:
///
- WriteStream & os_;
+ TeXMathStream & os_;
///
bool brace_;
};
{
public:
///
- explicit ModeSpecifier(WriteStream & os, InsetMath::mode_type mode,
- bool locked = false, bool ascii = false)
+ explicit ModeSpecifier(TeXMathStream & os, InsetMath::mode_type mode,
+ bool locked = false, bool ascii = false)
: os_(os), oldmodes_(ensureMode(os, mode, locked, ascii)) {}
///
~ModeSpecifier()
}
private:
///
- WriteStream & os_;
+ TeXMathStream & os_;
///
int oldmodes_;
};
{
odocstringstream os;
otexrowstream ots(os);
- WriteStream ws(ots);
+ TeXMathStream ws(ots);
ws << ar;
return os.str();
}
{
odocstringstream os;
otexrowstream ots(os);
- WriteStream ws(ots);
+ TeXMathStream ws(ots);
inset.write(ws);
return os.str();
}
{
odocstringstream os;
otexrowstream ots(os);
- WriteStream ws(ots);
+ TeXMathStream ws(ots);
at->write(ws);
return os.str();
}