[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm
sakharuk
lon-capa-cvs@mail.lon-capa.org
Wed, 16 Apr 2003 19:20:51 -0000
sakharuk Wed Apr 16 15:20:51 2003 EDT
Modified files:
/loncom/xml londefdef.pm
Log:
Better variant but still needs some work to put nested tables in the correct place in the parent table.
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.126 loncom/xml/londefdef.pm:1.127
--- loncom/xml/londefdef.pm:1.126 Wed Apr 16 13:59:01 2003
+++ loncom/xml/londefdef.pm Wed Apr 16 15:20:51 2003
@@ -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 @@
#-- <table> 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 @@
}
}
$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 @@
$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 @@
$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 @@
$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;
}