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

sakharuk lon-capa-cvs@mail.lon-capa.org
Thu, 17 Jun 2004 17:03:00 -0000


This is a MIME encoded message

--sakharuk1087491780
Content-Type: text/plain

sakharuk		Thu Jun 17 13:03:00 2004 EDT

  Modified files:              
    /loncom/xml	londefdef.pm 
  Log:
  Bug 3057 (using TeXwidth in table doesn't seem to work) is fixed. It's work for the simple table (not nested) or for the most outer table in the case of nested
  tables. It's work for the nested table too but the auther has to be responsible (in correct definition of table width) to avoide internal LaTeX conflicts.
  
  
--sakharuk1087491780
Content-Type: text/plain
Content-Disposition: attachment; filename="sakharuk-20040617130300.txt"

Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.221 loncom/xml/londefdef.pm:1.222
--- loncom/xml/londefdef.pm:1.221	Tue Jun  8 10:13:21 2004
+++ loncom/xml/londefdef.pm	Thu Jun 17 13:03:00 2004
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.221 2004/06/08 14:13:21 sakharuk Exp $
+# $Id: londefdef.pm,v 1.222 2004/06/17 17:03:00 sakharuk Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -1534,22 +1534,22 @@
     } elsif ($target eq 'tex') {
 	my $TeXtype=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0);
 	if ($TeXtype eq 'disc') {
-	    $currentstring .= ' \renewcommand{\labelitemi}{$\bullet$}
-                                \renewcommand{\labelitemii}{$\bullet$} 
-                                \renewcommand{\labelitemiii}{$\bullet$}
-                                \renewcommand{\labelitemiv}{$\bullet$}\strut ';
+	    $currentstring .= '\renewcommand{\labelitemi}{$\bullet$}'.
+                              '\renewcommand{\labelitemii}{$\bullet$}'. 
+                              '\renewcommand{\labelitemiii}{$\bullet$}'.
+                              '\renewcommand{\labelitemiv}{$\bullet$}';
 	} elsif ($TeXtype eq 'circle') {
-	    $currentstring .= ' \renewcommand{\labelitemi}{$\circ$}
-                                \renewcommand{\labelitemii}{$\circ$} 
-                                \renewcommand{\labelitemiii}{$\circ$}
-                                \renewcommand{\labelitemiv}{$\circ$}\strut ';
+	    $currentstring .= '\renewcommand{\labelitemi}{$\circ$}'.
+                              '\renewcommand{\labelitemii}{$\circ$}'. 
+                              '\renewcommand{\labelitemiii}{$\circ$}'.
+                              '\renewcommand{\labelitemiv}{$\circ$}';
 	} elsif ($TeXtype eq 'square') {
-	    $currentstring .= ' \renewcommand{\labelitemi}{$\diamond$}
-                                \renewcommand{\labelitemii}{$\diamond$} 
-                                \renewcommand{\labelitemiii}{$\diamond$}
-                                \renewcommand{\labelitemiv}{$\diamond$}\strut ';
+	    $currentstring .= '\renewcommand{\labelitemi}{$\diamond$}'.
+                              '\renewcommand{\labelitemii}{$\diamond$}'. 
+                              '\renewcommand{\labelitemiii}{$\diamond$}'.
+                              '\renewcommand{\labelitemiv}{$\diamond$}';
 	}
-	$currentstring .= '\begin{itemize}';  
+	$currentstring .= '\strut \begin{itemize}';  
     } 
     return $currentstring;
 }
@@ -1560,10 +1560,10 @@
     if ($target eq 'web') {
 	$currentstring = $token->[2];     
     } elsif ($target eq 'tex') {
-	$currentstring = '\end{itemize} \renewcommand{\labelitemi}{$\bullet$}
-                                \renewcommand{\labelitemii}{$\bullet$} 
-                                \renewcommand{\labelitemiii}{$\bullet$}
-                                \renewcommand{\labelitemiv}{$\bullet$}\strut ';  
+	$currentstring = '\end{itemize} \renewcommand{\labelitemi}{$\bullet$}'.
+                               '\renewcommand{\labelitemii}{$\bullet$}'. 
+                               '\renewcommand{\labelitemiii}{$\bullet$}'.
+                               '\renewcommand{\labelitemiv}{$\bullet$}\strut ';  
     } 
     return $currentstring;
 }
@@ -1623,32 +1623,32 @@
     } elsif ($target eq 'tex') {
 	my $type=&Apache::lonxml::get_param('type',$parstack,$safeeval,undef,0);
 	if ($type eq '1') {
-	    $currentstring .= ' \renewcommand{\labelenumi}{\arabic{enumi}.}
-                                \renewcommand{\labelenumii}{\arabic{enumii}.} 
-                                \renewcommand{\labelenumiii}{\arabic{enumiii}.}
-                                \renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut ';
+	    $currentstring .= '\renewcommand{\labelenumi}{\arabic{enumi}.}'.
+                              '\renewcommand{\labelenumii}{\arabic{enumii}.}'. 
+                              '\renewcommand{\labelenumiii}{\arabic{enumiii}.}'.
+                              '\renewcommand{\labelenumiv}{\arabic{enumiv}.}';
 	} elsif ($type eq 'A') {
-	    $currentstring .= ' \renewcommand{\labelenumi}{\Alph{enumi}.}
-                                \renewcommand{\labelenumii}{\Alph{enumii}.} 
-                                \renewcommand{\labelenumiii}{\Alph{enumiii}.}
-                                \renewcommand{\labelenumiv}{\Alph{enumiv}.}\strut ';
+	    $currentstring .= '\renewcommand{\labelenumi}{\Alph{enumi}.}'.
+                              '\renewcommand{\labelenumii}{\Alph{enumii}.}'. 
+                              '\renewcommand{\labelenumiii}{\Alph{enumiii}.}'.
+                              '\renewcommand{\labelenumiv}{\Alph{enumiv}.}';
 	} elsif ($type eq 'a') {
-	    $currentstring .= ' \renewcommand{\labelenumi}{\alph{enumi}.}
-                                \renewcommand{\labelenumii}{\alph{enumii}.}
-                                \renewcommand{\labelenumiii}{\alph{enumiii}.}
-                                \renewcommand{\labelenumiv}{\alph{enumiv}.} \strut ';
+	    $currentstring .= '\renewcommand{\labelenumi}{\alph{enumi}.}'.
+                              '\renewcommand{\labelenumii}{\alph{enumii}.}'.
+                              '\renewcommand{\labelenumiii}{\alph{enumiii}.}'.
+                              '\renewcommand{\labelenumiv}{\alph{enumiv}.}';
 	} elsif ($type eq 'i') {
-	    $currentstring .= ' \renewcommand{\labelenumi}{\roman{enumi}.}
-                                \renewcommand{\labelenumii}{\roman{enumii}.}
-                                \renewcommand{\labelenumiii}{\roman{enumiii}.}
-                                \renewcommand{\labelenumiv}{\roman{enumiv}.}\strut  ';
+	    $currentstring .= '\renewcommand{\labelenumi}{\roman{enumi}.}'.
+                              '\renewcommand{\labelenumii}{\roman{enumii}.}'.
+                              '\renewcommand{\labelenumiii}{\roman{enumiii}.}'.
+                              '\renewcommand{\labelenumiv}{\roman{enumiv}.}';
 	} elsif ($type eq 'I') {
-	    $currentstring .= ' \renewcommand{\labelenumi}{\Roman{enumi}.}
-                                \renewcommand{\labelenumii}{\Roman{enumii}.}
-                                \renewcommand{\labelenumiii}{\Roman{enumiii}.}
-                                \renewcommand{\labelenumiv}{\Roman{enumiv}.} \strut ';
+	    $currentstring .= '\renewcommand{\labelenumi}{\Roman{enumi}.}'.
+                              '\renewcommand{\labelenumii}{\Roman{enumii}.}'.
+                              '\renewcommand{\labelenumiii}{\Roman{enumiii}.}'.
+                              '\renewcommand{\labelenumiv}{\Roman{enumiv}.}';
 	}
-	$currentstring .= '\begin{enumerate}';  
+	$currentstring .= '\strut \begin{enumerate}';  
     } 
     return $currentstring;
 }
@@ -1659,10 +1659,10 @@
     if ($target eq 'web') {
 	$currentstring = $token->[2];     
     } elsif ($target eq 'tex') {
-	$currentstring = '\end{enumerate} \renewcommand{\labelenumi}{\arabic{enumi}.}
-                                          \renewcommand{\labelenumii}{\arabic{enumii}.}
-                                          \renewcommand{\labelenumiii}{\arabic{enumiii}.}
-                                          \renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut ';  
+	$currentstring = '\end{enumerate}\renewcommand{\labelenumi}{\arabic{enumi}.}'.
+                                        '\renewcommand{\labelenumii}{\arabic{enumii}.}'.
+                                        '\renewcommand{\labelenumiii}{\arabic{enumiii}.}'.
+                                        '\renewcommand{\labelenumiv}{\arabic{enumiv}.}\strut ';  
     } 
     return $currentstring;
 }
@@ -1786,8 +1786,7 @@
 	my $aa = {};
 	push @Apache::londefdef::table, $aa; 
 	$Apache::londefdef::table[-1]{'row_number'} = -1;
-        #table's width 
-        #default coincides with text line length
+        #maximum table's width (default coincides with text line length)
 	if ($#Apache::londefdef::table==0) {
 	    $textwidth=&recalc($ENV{'form.textwidth'}); #result is always in mm
 	    $textwidth=~/(\d+\.?\d*)/;
@@ -1819,6 +1818,7 @@
 	    $TeXwidth=~/(\d+)/;
             $Apache::londefdef::table[-1]{'width'}=$1*$textwidth/100;
 	} else {
+	    $Apache::londefdef::table[-1]{'forcetablewidth'}=1;
 	    $Apache::londefdef::table[-1]{'width'}=$TeXwidth;
 	}        
         #table's border
@@ -1963,8 +1963,8 @@
 		}
 	    }
 	}
-        #recalculation for the use of all available width if width is defined in %
-        if ($Apache::londefdef::table[-1]{'percent'}==1) {
+        #use all available width if it is defined in % or as TeXwidth
+        if (($Apache::londefdef::table[-1]{'percent'}==1) || ($Apache::londefdef::table[-1]{'forcetablewidth'}==1)) {
 	    my $current=0; 
 	    for (my $i=0;$i<=$#fwidth;$i++) {  
 		$current+=$fwidth[$i];

--sakharuk1087491780--