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]) {

Reply via email to