--- loncom/homework/caparesponse/caparesponse.pm 2003/07/24 13:25:37 1.106 +++ loncom/homework/caparesponse/caparesponse.pm 2003/09/22 18:38:59 1.111 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # caparesponse definition # -# $Id: caparesponse.pm,v 1.106 2003/07/24 13:25:37 sakharuk Exp $ +# $Id: caparesponse.pm,v 1.111 2003/09/22 18:38:59 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -194,6 +194,7 @@ sub end_numericalresponse { } my $formatted; if ((defined($format)) && ($format ne '')) { + $format=~s/e/E/g; &Apache::lonxml::debug("formatting with :$format: answer :$answer:"); $formatted=sprintf('%.'.$format,$answer).','; } else { @@ -247,7 +248,7 @@ sub end_numericalresponse {

'; } } elsif ($target eq 'tex') { - if (defined $unit and $Apache::lonhomework::type eq 'exam') { + if ((defined $unit) and ($unit=~/\S/) and ($Apache::lonhomework::type eq 'exam')) { $result.=' \textit{(in} \verb|'.$unit.'|\textit{)} '; } if ($$tagstack[-1] eq 'numericalresponse') { @@ -366,7 +367,7 @@ sub end_numericalresponse { if ($target eq 'answer') { if ($ENV{'form.answer_output_mode'} eq 'tex') { $result.=&Apache::response::answer_part($$tagstack[-1], - "\\textbf{$string}"); + "$string"); } else { $result.=&Apache::response::answer_part($$tagstack[-1], "$string"); @@ -416,12 +417,13 @@ sub format_number { my ($number,$format,$target)=@_; my $ans; if ($format ne '') { + $format=~s/e/E/g; $ans = sprintf('%.'.$format,$number); } else { my $format = ''; #What is the number? (integer,decimal,floating point) if ($number=~/^(\d*\.?\d*)(E|e)(\d*)$/) { - $format = 'e'.$2; + if (abs($3)>=100) {$format = 'e3';} else {$format = 'e2';} } elsif ($number=~/^(\d*)\.(\d*)$/) { $format = '4f'; } elsif ($number=~/^(\d*)$/) {