--- loncom/xml/londefdef.pm 2003/08/22 16:44:47 1.165 +++ loncom/xml/londefdef.pm 2003/08/26 14:40:03 1.166 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.165 2003/08/22 16:44:47 albertel Exp $ +# $Id: londefdef.pm,v 1.166 2003/08/26 14:40:03 sakharuk Exp $ # # # Copyright Michigan State University Board of Trustees @@ -323,7 +323,7 @@ sub start_title { if ($target eq 'web') { $currentstring = $token->[4]; } elsif ($target eq 'tex') { - $currentstring .= '\keephidden{' + $currentstring .= '\keephidden{Title of the document: ' } if ($target eq 'meta') { $currentstring=''; @@ -1776,9 +1776,11 @@ sub end_table { } } #continues trying estimate the width of raw data +# $currentstring.=' SSS '.$Apache::londefdef::table[-1]{'lengthrow'}[0].' FFF '; ####for test only my @length_raw_row = split(/,/,$Apache::londefdef::table[-1]{'lengthrow'}[0]); for (my $in=1;$in<=$Apache::londefdef::table[-1]{'row_number'};$in++) { my @length_row = split(/,/,$Apache::londefdef::table[-1]{'lengthrow'}[$in]); +# $currentstring.=' SSS '.$Apache::londefdef::table[-1]{'lengthrow'}[$in].' FFF '; ####for test only for (my $jn=0;$jn<=$#length_row;$jn++) { if ($length_raw_row[$jn]<$length_row[$jn]) {$length_raw_row[$jn]=$length_row[$jn];} } @@ -1831,7 +1833,7 @@ sub end_table { return $currentstring; } -#-- <tr> tag +#-- <tr> tag (end tag optional) sub start_tr { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = ''; @@ -1868,7 +1870,7 @@ sub end_tr { return $currentstring; } -#-- <td> tag +#-- <td> tag (end tag optional) sub start_td { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = ''; @@ -1927,9 +1929,24 @@ sub end_td_tex { $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)\s+$/$1/; - my $current_length=2*length($data); + $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,'; } @@ -1953,7 +1970,7 @@ sub end_td { return $currentstring; } -#-- <th> tag +#-- <th> tag (end tag optional) sub start_th { my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_; my $currentstring = ''; @@ -3107,7 +3124,7 @@ sub end_tbody { return $currentstring; } -#-- <tfoot> tag +#-- <tfoot> tag (end tag optional) sub start_tfoot { my ($target,$token) = @_; my $currentstring = ''; @@ -3126,7 +3143,7 @@ sub end_tfoot { return $currentstring; } -#-- <thead> tag +#-- <thead> tag (end tag optional) sub start_thead { my ($target,$token) = @_; my $currentstring = '';