[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm

albertel lon-capa-cvs@mail.lon-capa.org
Thu, 31 Aug 2006 18:45:44 -0000


albertel		Thu Aug 31 14:45:44 2006 EDT

  Modified files:              
    /loncom/xml	londefdef.pm 
  Log:
  - latex goes into an infite loop when one does:
  \begin{tabular}{c}
  \multicolumn{1}{|l|}{\vskip 0 mm B \vskip 0 mm}\\
  \end{tabular}
  
  as a workaround, <br /> will have no effect when inside of a <td colspan="..">
  
  
  
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.333 loncom/xml/londefdef.pm:1.334
--- loncom/xml/londefdef.pm:1.333	Wed Aug 16 16:14:24 2006
+++ loncom/xml/londefdef.pm	Thu Aug 31 14:45:42 2006
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.333 2006/08/16 20:14:24 albertel Exp $
+# $Id: londefdef.pm,v 1.334 2006/08/31 18:45:42 albertel Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -1210,14 +1210,22 @@
 	#
 	for (my $i=$#tempo;$i>=0;$i--) {
 	    if (($tempo[$i] eq 'b') || ($tempo[$i] eq 'strong') ||
-                ($tempo[$i] eq 'ol') || ($tempo[$i] eq 'ul') ||
-                ($tempo[$i] eq 'td') || ($tempo[$i] eq 'th'))  {
+                ($tempo[$i] eq 'ol') || ($tempo[$i] eq 'ul'))  {
 		$signal=1;
-		last;
+	    }
+	    if (($tempo[$i] eq 'td') || ($tempo[$i] eq 'th')) {
+		my $colspan = 
+		    &Apache::lonxml::get_param('colspan', $parstack,
+					       $safeeval, $i, 0);
+		if ($colspan) {
+		    $signal = 2;
+		}
 	    }
 	}
-	if ($signal) {
+	if ($signal eq 1) {
 	    $currentstring .= ' \vskip 0 mm ';
+	} elsif ($signal eq '2') {
+	    # multicol doesn't like blank lines
 	} elsif ($$tagstack[-2] ne 'sub' && $$tagstack[-2] ne 'sup') {
 	    $currentstring .= '\strut \\\\ \strut ';
 	}