version 1.50, 2002/10/01 20:17:04
|
version 1.51, 2002/10/17 14:30:40
|
Line 355 sub displayfoils {
|
Line 355 sub displayfoils {
|
} else { |
} else { |
if ($displayoptionintex == 0) { |
if ($displayoptionintex == 0) { |
my $texoptionlist = &optionlist_correction($optionlist); |
my $texoptionlist = &optionlist_correction($optionlist); |
|
if ($Apache::lonhomework::type eq 'exam') {$texoptionlist='';} |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
|
if ($Apache::lonhomework::type eq 'exam') { |
|
$Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/; |
|
} |
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
$result.= $texoptionlist.$Apache::response::foilgroup{$name.'.text'}; |
} else { |
} else { |
$result.= $texoptionlist.'\item '.$Apache::response::foilgroup{$name.'.text'}; |
if ($Apache::lonhomework::type eq 'exam') { |
|
$result.= $texoptionlist.'\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'}; |
|
} else { |
|
$result.= $texoptionlist.'\item '.$Apache::response::foilgroup{$name.'.text'}; |
|
} |
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.=&bubbles(\@alphabet,\@opt); |
$result.=&bubbles(\@alphabet,\@opt); |
Line 366 sub displayfoils {
|
Line 374 sub displayfoils {
|
$displayoptionintex=1; |
$displayoptionintex=1; |
} else { |
} else { |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
if ($Apache::response::foilgroup{$name.'.text'}=~m/\\item /) { |
|
if ($Apache::lonhomework::type eq 'exam') { |
|
$Apache::response::foilgroup{$name.'.text'}=~s/\\item/\\item[\\textbf{$Apache::lonxml::counter}\.]/; |
|
} |
$result.= $Apache::response::foilgroup{$name.'.text'}; |
$result.= $Apache::response::foilgroup{$name.'.text'}; |
} else { |
} else { |
$result.= '\item '.$Apache::response::foilgroup{$name.'.text'}; |
if ($Apache::lonhomework::type eq 'exam') { |
|
$result.= '\item[\textbf{'.$Apache::lonxml::counter.'}.]'.$Apache::response::foilgroup{$name.'.text'}; |
|
} else { |
|
$result.= '\item '.$Apache::response::foilgroup{$name.'.text'}; |
|
} |
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.=&bubbles(\@alphabet,\@opt); |
$result.=&bubbles(\@alphabet,\@opt); |
Line 389 sub displayfoils {
|
Line 404 sub displayfoils {
|
sub optionlist_correction { |
sub optionlist_correction { |
|
|
my $texoptionlist = shift; |
my $texoptionlist = shift; |
$texoptionlist =~ s/<option><\/option>/\\item \[\] The possible answers are:/; |
$texoptionlist =~ s/<option><\/option>/\\item \[\] Possible answers are:/; |
$texoptionlist =~ s/<option>/\{\\bf /g; |
$texoptionlist =~ s/<option>/\{\\bf /g; |
$texoptionlist =~ s/<option selected="on">/\{\\bf /g; |
$texoptionlist =~ s/<option selected="on">/\{\\bf /g; |
$texoptionlist =~ s/<\/option>/\},/g; |
$texoptionlist =~ s/<\/option>/\},/g; |
Line 406 sub bubbles {
|
Line 421 sub bubbles {
|
my ($ralphabit,$ropt) = @_; |
my ($ralphabit,$ropt) = @_; |
my @alphabet = @$ralphabit; |
my @alphabet = @$ralphabit; |
my @opt = @$ropt; |
my @opt = @$ropt; |
my $result=''; |
my ($result,$head,$line) =('','',''); |
my $number_of_bubbles = $#opt + 1; |
my $number_of_bubbles = $#opt + 1; |
$result.= '\vskip 2 mm \noindent \begin{tabular}{|'; |
my $current_length = 0; |
for (my $ind=0;$ind<$number_of_bubbles;$ind++) { |
for (my $ind=0;$ind<=$number_of_bubbles;$ind++) { |
$result.='lr|'; |
$current_length += (length($opt[$ind])+length($alphabet[$ind])+2)*2; |
} |
if ($current_length<80 and $ind!=$number_of_bubbles) { |
$result.='}\hline '; |
$line.='\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & '; |
for (my $ind=0;$ind<$number_of_bubbles;$ind++) { |
$head.='lr'; |
$result.=' '.$alphabet[$ind].': & '.$opt[$ind].' '; |
} else { |
if ($ind != $number_of_bubbles - 1) {$result.=' & ';} |
$line=~s/\&\s*$//; |
|
$result.='\vskip -5 mm\begin{tabular}{'.$head.'}\\\\'.$line.'\\\\\end{tabular}'; |
|
$line = '\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & ';; |
|
$head ='lr'; |
|
$current_length = (length($opt[$ind])+length($alphabet[$ind]))*2; |
|
} |
|
|
} |
} |
$result.='\\\\\hline\end{tabular}\vskip 0 mm '; |
$Apache::lonxml::counter++; |
|
my %moreenv; |
|
$moreenv{'form.counter'}=$Apache::lonxml::counter; |
|
&Apache::lonnet::appenv(%moreenv); |
return $result; |
return $result; |
} |
} |
|
|