--- loncom/xml/londefdef.pm 2004/07/15 17:05:20 1.230 +++ loncom/xml/londefdef.pm 2004/08/19 12:23:17 1.231.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.230 2004/07/15 17:05:20 sakharuk Exp $ +# $Id: londefdef.pm,v 1.231.2.1 2004/08/19 12:23:17 albertel Exp $ # # # Copyright Michigan State University Board of Trustees @@ -1134,13 +1134,15 @@ sub end_p { $currentstring .= $token->[2]; } elsif ($target eq 'tex') { my $align=&Apache::lonxml::get_param('align',$parstack,$safeeval,undef,1); - if ($align eq 'center') { + if (not defined $align) { + $currentstring.='\strut\\\\\strut '; + } elsif ($align eq 'center') { $currentstring .= '\end{center}'; } elsif ($align eq 'right') { $currentstring .= '}}'; } elsif ($align eq 'left') { $currentstring .= '}\hfill}'; - } + } } return $currentstring; } @@ -2193,6 +2195,26 @@ sub end_td_tex { push @ {$Apache::londefdef::table[-1]{'objectlen'}[$Apache::londefdef::table[-1]{'row_number'}] },$fwidth; push @ {$Apache::londefdef::table[-1]{'minlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0'; push @ {$Apache::londefdef::table[-1]{'maxlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0'; + } elsif ($data=~/\\parbox\{\s*\d+\.?\d*\s*(mm|cm|in|pc|pt)*\s*\}/ or $data=~/\\epsfxsize\s*=\s*\d+\.?\d*\s*(mm|cm|in|pc|pt)*/) { + my $garbage_data=$data; + my $fwidth=0; + while ($garbage_data=~/\\parbox\{\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)\s*\}/) { + my $current_length=&recalc($1); + $current_length=~/(\d+\.?\d*)/; + if ($fwidth<$1) {$fwidth=$1;} + $garbage_data=~s/\\parbox\{\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)//; + } + while ($garbage_data=~/\\epsfxsize\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)/) { + my $current_length=&recalc($1); + $current_length=~/(\d+\.?\d*)/; + if ($fwidth<$1) {$fwidth=$1;} + $garbage_data=~s/\\epsfxsize\s*=\s*(\d+\.?\d*\s*(mm|cm|in|pc|pt)*)//; + } + push @ {$Apache::londefdef::table[-1]{'TeXlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0'; + push @ {$Apache::londefdef::table[-1]{'objectlen'}[$Apache::londefdef::table[-1]{'row_number'}] },$fwidth; + push @ {$Apache::londefdef::table[-1]{'minlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0'; + push @ {$Apache::londefdef::table[-1]{'maxlen'}[$Apache::londefdef::table[-1]{'row_number'}] },'0'; + $data=~s/\\\\\s*$//; } else { $data=~s/^\s+(\S.*)/$1/; $data=~s/(.*\S)\s+$/$1/;