Am 10.02.2010 05:32, schrieb Uwe Stöhr:
I fixed now some remaining \hline issues.
Attached is that part of the patch.
I propose that I or you put the patch into branch in a few days...
I meant of course trunk. regards Uwe
int Tabular::TeXTopHLine(odocstream & os, row_type row, string const lang) const { // we only output complete row lines and the 1st row here, the rest @@ -1884,6 +1992,13 @@ col_type nset = 0; for (col_type c = 0; c < ncols; ++c) { topline.push_back(topLine(cellIndex(row, c))); + // If cell is part of a multirow and not the first cell of the + // multirow, no line must be drawn. + if (row != 0) + if (isMultiRow(cellIndex(row, c))) { + if (isMultiRow(cellIndex(row - 1, c))) + topline[c] = false; + } if (topline[c]) ++nset; } @@ -1935,6 +2050,15 @@ for (col_type c = 0; c < ncols; ++c) { bottomline.push_back(bottomLine(cellIndex(row, c))); topline.push_back(!lastrow && topLine(cellIndex(row + 1, c))); + // If cell is part of a multirow and not the last or first cell of the + // multirow, no line must be drawn. + if (!lastrow) + if (isMultiRow(cellIndex(row, c))) { + if (isMultiRow(cellIndex(row + 1, c))) { + bottomline[c] = false; + topline[c] = false; + } + } nextrowset &= topline[c]; } @@ -1955,7 +2079,7 @@ if (use_booktabs) os << (lastrow ? "\\bottomrule" : "\\midrule"); else - os << "\\hline"; + os << "\\hline "; } else { for (col_type c = 0; c < ncols; ++c) { if (bottomline[c]) {