--- 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; }