Tabular::VAlignment valign = getVAlignment(cell, !isMultiColumn(cell));
LyXAlignment align = getAlignment(cell, !isMultiColumn(cell));
col_type c = cellColumn(cell);
- if (isMultiColumn(cell)
- || (leftLine(cell) && !columnLeftLine(c))
- || (rightLine(cell) && !columnRightLine(c))) {
+ bool needmulticol = (leftLine(cell) && !columnLeftLine(c))
+ || (rightLine(cell) && !columnRightLine(c))
+ || (!rightLine(cell) && c < columnCount() -1 && columnLeftLine(c + 1));
+ if (isMultiColumn(cell) || needmulticol) {
os << "\\multicolumn{" << columnSpan(cell) << "}{";
if (leftLine(cell))
os << '|';
}
} // end if else !getPWidth
} // end if else !cellinfo_of_cell
- if (rightLine(cell))
+ if (rightLine(cell) || (!rightLine(cell)
+ && c < columnCount() -1 && columnLeftLine(c + 1)))
os << '|';
os << "}{";
}
ret += 2;
}
col_type c = cellColumn(cell);
- if (isMultiColumn(cell)
- || (leftLine(cell) && !columnLeftLine(c))
- || (rightLine(cell) && !columnRightLine(c))) {
+ bool needmulticol = (leftLine(cell) && !columnLeftLine(c))
+ || (rightLine(cell) && !columnRightLine(c))
+ || (!rightLine(cell) && c < columnCount() -1 && columnLeftLine(c + 1));
+ if (isMultiColumn(cell) || needmulticol) {
os << '}';
}
if (getRotateCell(cell)) {