--- loncom/xml/londefdef.pm 2003/04/16 17:59:01 1.126
+++ loncom/xml/londefdef.pm 2003/04/16 19:20:51 1.127
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.126 2003/04/16 17:59:01 sakharuk Exp $
+# $Id: londefdef.pm,v 1.127 2003/04/16 19:20:51 sakharuk Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -1696,9 +1696,14 @@ sub end_dd {
#--
tag
sub start_table {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
- my $textwidth=&recalc($ENV{'form.textwidth'});
- $textwidth=~/(\d+)/;
- $textwidth=$1;
+ my $textwidth;
+ if ($#Apache::londefdef::table==0) {
+ $textwidth=&recalc($ENV{'form.textwidth'});
+ $textwidth=~/(\d+)/;
+ $textwidth=$1;
+ } else {
+ $textwidth=&Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0);
+ }
my $currentstring = '';
if ($target eq 'web') {
$currentstring = $token->[4];
@@ -1784,8 +1789,6 @@ sub end_table {
}
}
$needed=$#length_row_final-$needed+1;
- $currentstring.=' SSSSS '.$needed.' EEEEE \\\\';
- $currentstring.=' SSSSS '.$available_length.' EEEEE \\\\';
for (my $jn=0;$jn<=$#length_row_final;$jn++) {
if ($length_row_final[$jn]==0) {
if ($length_raw_row[$jn]<$available_length/3) {
@@ -1800,10 +1803,6 @@ sub end_table {
$length_row_final[$jn]=0.9*$available_length/$needed;
}
}
- for (my $jn=0;$jn<=$#length_row_final;$jn++) {
- $currentstring.=' SSSSS '.$length_row_final[$jn].' EEEEE \\\\';
- $currentstring.=' JJJJJJJ '.$length_raw_row[$jn].' HHHHHHH \\\\';
- }
#fill the table
for (my $in=0;$in<=$Apache::londefdef::table[-1]{'row_number'};$in++) {
for (my $jn=0;$jn<=$#length_row_final;$jn++) {
@@ -1815,7 +1814,15 @@ sub end_table {
$output .= ' \\\\ ';
}
$Apache::londefdef::table[-1]{'output'} .= $header_of_table.$output.$Apache::londefdef::table[-1]{'hinc'}.'\end{tabular}\vskip 0 mm ';
- $currentstring .= $Apache::londefdef::table[-1]{'output'};
+ if ($#Apache::londefdef::table > 0) {
+ my $inmemory = $Apache::londefdef::table[-1]{'output'};
+ pop @Apache::londefdef::table;
+ $Apache::londefdef::table[-1]{'rowdata'}[$Apache::londefdef::table[-1]{'row_number'}] .= $inmemory; ###Need to work with (wrong place to add)
+
+ } else {
+ $currentstring .= $Apache::londefdef::table[-1]{'output'};
+ pop @Apache::londefdef::table;
+ }
}
return $currentstring;
}
@@ -1902,8 +1909,8 @@ sub end_td {
$Apache::londefdef::table[-1]{'TeXlength'} .= '0,';
}
}
- @{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= '\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.
- $Apache::londefdef::table[-1]{'vinc'};
+ $data='\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.$Apache::londefdef::table[-1]{'vinc'};
+ @{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= $data;
}
return $currentstring;
}