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

albertel lon-capa-cvs@mail.lon-capa.org
Tue, 02 Sep 2003 14:30:31 -0000


albertel		Tue Sep  2 10:30:31 2003 EDT

  Modified files:              (Branch: version_1_0_1)
    /loncom/xml	londefdef.pm 
  Log:
  - backport 1.166 1.167
  
  
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.158.4.4 loncom/xml/londefdef.pm:1.158.4.5
--- loncom/xml/londefdef.pm:1.158.4.4	Fri Aug 29 22:41:26 2003
+++ loncom/xml/londefdef.pm	Tue Sep  2 10:30:31 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.158.4.4 2003/08/30 02:41:26 albertel Exp $
+# $Id: londefdef.pm,v 1.158.4.5 2003/09/02 14:30:31 albertel Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -319,7 +319,7 @@
     if ($target eq 'web') {
 	$currentstring = $token->[4];     
     } elsif ($target eq 'tex') {
-	$currentstring .= '\keephidden{' 
+	$currentstring .= '\keephidden{Title of the document:  ' 
     }
     if ($target eq 'meta') {
 	$currentstring='<title>';
@@ -1788,7 +1788,7 @@
 	$needed=$#length_row_final-$needed+1;
 	for (my $jn=0;$jn<=$#length_row_final;$jn++) {
 	    if ($length_row_final[$jn]==0) {
-		if ($length_raw_row[$jn]<$available_length/3) {
+		if ($length_raw_row[$jn]<$available_length) {
 		    $length_row_final[$jn]=$length_raw_row[$jn];
 		    $available_length=$available_length-$length_raw_row[$jn];
 		    $needed--;
@@ -1824,7 +1824,7 @@
     return $currentstring;
 }
 
-#-- <tr> tag
+#-- <tr> tag (end tag optional)
 sub start_tr {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $currentstring = '';
@@ -1858,7 +1858,7 @@
     return $currentstring;
 }
 
-#-- <td> tag
+#-- <td> tag (end tag optional)
 sub start_td {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $currentstring = '';
@@ -1894,16 +1894,30 @@
 	    if ($data=~m/width\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/) {
 		my $current_length=&recalc($1);
 		$current_length=~/(\d+\.?\d*)/;
-		$Apache::londefdef::table[-1]{'TeXlength'} .= $1.',';
-		$Apache::londefdef::table[-1]{'length'} .= '0,';
-	    } else {  
-		$data=~s/^\s+(\S.*)/$1/;
-		$data=~s/(.*\S)\s+$/$1/;
-		my $current_length=2*length($data);
-		$Apache::londefdef::table[-1]{'length'} .= $current_length.',';
-		$Apache::londefdef::table[-1]{'TeXlength'} .= '0,';
-	    }        
-	}
+  	    $Apache::londefdef::table[-1]{'TeXlength'} .= $1.',';
+  	    $Apache::londefdef::table[-1]{'length'} .= '0,';
+  	} else {  
+ 	    $data=~s/^\s+(\S.*)/$1/; 
+	    $data=~s/(.*\S)\s+$/$1/;
+	    $data=~s/(\s)+/$1/;
+	    my $current_length=0;
+	    if ($data=~/\\vskip/) {
+		my $newdata=$data;
+ 		$newdata=~s/\\vskip \d*\.?\d*\s*mm/THISISJUSTTEMPORARYSEPARATOR/g;
+ 		my @newdata=split(/THISISJUSTTEMPORARYSEPARATOR/,$newdata);
+ 		foreach my $elementdata (@newdata) {
+ 		    $elementdata=~s/^\s+(\S.*)/$1/; 
+ 		    $elementdata=~s/(.*\S)\s+$/$1/;
+ 		    $elementdata=~s/(\s)+/$1/;
+ 		    my $lengthnewdata=1.8*length($elementdata);
+ 		    if ($lengthnewdata>$current_length) {$current_length=$lengthnewdata;}
+ 		}
+ 	    } else {
+ 		$current_length=1.8*length($data);
+ 	    }
+  	    $Apache::londefdef::table[-1]{'length'} .= $current_length.',';
+  	    $Apache::londefdef::table[-1]{'TeXlength'} .= '0,';
+  	}
 	for (my $in=0; $in<=$#{$Apache::londefdef::table[-1]{'include'}};$in++) {         
 	    $data=~s/\\keephidden\{NEW TABLE ENTRY\}/$Apache::londefdef::table[-1]{'include'}[$in]/;
 	}
@@ -1912,7 +1926,7 @@
     return $currentstring;
 }
 
-#-- <th> tag
+#-- <th> tag (end tag optional)
 sub start_th {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
     my $currentstring = '';
@@ -3043,7 +3057,7 @@
     return $currentstring;
 }
 
-#-- <tfoot> tag
+#-- <tfoot> tag (end tag optional)
 sub start_tfoot {
     my ($target,$token) = @_;
     my $currentstring = '';
@@ -3062,7 +3076,7 @@
     return $currentstring;
 }
 
-#-- <thead> tag
+#-- <thead> tag (end tag optional)
 sub start_thead {
     my ($target,$token) = @_;
     my $currentstring = '';