diff --git a/src/mathed/InsetMath.h b/src/mathed/InsetMath.h index e043a733fb..aae24abd0d 100644 --- a/src/mathed/InsetMath.h +++ b/src/mathed/InsetMath.h @@ -68,8 +68,11 @@ class InsetMathScript; class InsetMathString; class InsetMathSpace; class InsetMathSpecialChar; +class InsetMathSubstack; class InsetMathSymbol; +class InsetMathTabular; class InsetMathUnknown; +class InsetMathXYMatrix; class InsetMathRef; @@ -148,9 +151,15 @@ public: virtual InsetMathSpace const * asSpaceInset() const { return 0; } virtual InsetMathString * asStringInset() { return 0; } virtual InsetMathString const * asStringInset() const { return 0; } + virtual InsetMathSubstack * asSubstackInset() { return 0; } + virtual InsetMathSubstack const * asSubstackInset() const { return 0; } virtual InsetMathSymbol const * asSymbolInset() const { return 0; } + virtual InsetMathTabular * asTabularInset() { return 0; } + virtual InsetMathTabular const * asTabularInset() const { return 0; } virtual InsetMathUnknown * asUnknownInset() { return 0; } virtual InsetMathUnknown const * asUnknownInset() const { return 0; } + virtual InsetMathXYMatrix * asXYMatrixInset() { return 0; } + virtual InsetMathXYMatrix const * asXYMatrixInset() const { return 0; } virtual InsetMathRef * asRefInset() { return 0; } virtual InsetMathSpecialChar const * asSpecialCharInset() const { return 0; } diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp index ad7b1140a4..b4c3b2b611 100644 --- a/src/mathed/InsetMathGrid.cpp +++ b/src/mathed/InsetMathGrid.cpp @@ -646,6 +646,10 @@ void InsetMathGrid::updateBuffer(ParIterator const & it, UpdateType utype) docstring InsetMathGrid::eolString(row_type row, bool fragile, bool last_eoln) const { + // Never add \\ on the last empty line of substack, tabular and xymatrix + if (asSubstackInset() || asTabularInset() || asXYMatrixInset()) + last_eoln = false; + docstring eol; if (!rowinfo_[row].crskip_.zero())