Fix bug #7019 (Math labels should not be escaped on saving)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@36164 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Enrico Forestieri 2010-11-06 15:24:37 +00:00
parent e8fc2aaf85
commit b983c2c5be
5 changed files with 18 additions and 9 deletions

View File

@ -634,7 +634,8 @@ void InsetMathGrid::drawT(TextPainter & /*pain*/, int /*x*/, int /*y*/) const
}
docstring InsetMathGrid::eolString(row_type row, bool fragile, bool last_eoln) const
docstring InsetMathGrid::eolString(row_type row, bool fragile, bool /*latex*/,
bool last_eoln) const
{
docstring eol;
@ -1006,7 +1007,7 @@ void InsetMathGrid::write(WriteStream & os) const
ModeSpecifier specifier(os, TEXT_MODE);
os << eocString(col, lastcol);
}
eol = eolString(row, os.fragile(), last_eoln);
eol = eolString(row, os.fragile(), os.latex(), last_eoln);
os << eol;
// append newline only if line wasn't completely empty
// and this was not the last line in the grid

View File

@ -230,7 +230,8 @@ protected:
/// returns y offset of cell compared to inset
int cellYOffset(idx_type idx) const;
/// returns proper 'end of line' code for LaTeX
virtual docstring eolString(row_type row, bool fragile, bool last_eoln) const;
virtual docstring eolString(row_type row, bool fragile, bool latex,
bool last_eoln) const;
/// returns proper 'end of column' code for LaTeX
virtual docstring eocString(col_type col, col_type lastcol) const;
/// splits cells and shifts right part to the next cell

View File

@ -1071,19 +1071,23 @@ void InsetMathHull::mutate(HullType newtype)
}
docstring InsetMathHull::eolString(row_type row, bool fragile, bool last_eoln) const
docstring InsetMathHull::eolString(row_type row, bool fragile, bool latex,
bool last_eoln) const
{
docstring res;
if (numberedType()) {
if (label_[row] && !nonum_[row])
res += "\\label{" +
escape(label_[row]->getParam("name")) + '}';
if (label_[row] && !nonum_[row]) {
docstring const name =
latex ? escape(label_[row]->getParam("name"))
: label_[row]->getParam("name");
res += "\\label{" + name + '}';
}
if (nonum_[row] && (type_ != hullMultline))
res += "\\nonumber ";
}
// Never add \\ on the last empty line of eqnarray and friends
last_eoln = false;
return res + InsetMathGrid::eolString(row, fragile, last_eoln);
return res + InsetMathGrid::eolString(row, fragile, latex, last_eoln);
}

View File

@ -155,7 +155,8 @@ protected:
bool getStatus(Cursor & cur, FuncRequest const & cmd,
FuncStatus & status) const;
///
docstring eolString(row_type row, bool fragile, bool last_eoln) const;
docstring eolString(row_type row, bool fragile, bool latex,
bool last_eoln) const;
private:
virtual Inset * clone() const;

View File

@ -116,6 +116,8 @@ What's new
- Save the path of pasted images as a relative path (part of bug 5561).
- Don't escape math labels when saving (bug 7019).
* USER INTERFACE