version 1.94, 2003/10/27 20:04:34
|
version 1.99, 2004/02/12 15:50:01
|
Line 43 sub start_optionresponse {
|
Line 43 sub start_optionresponse {
|
%Apache::hint::option=(); |
%Apache::hint::option=(); |
if ($target eq 'edit') { |
if ($target eq 'edit') { |
$result.=&Apache::edit::start_table($token). |
$result.=&Apache::edit::start_table($token). |
"<tr><td>Multiple Option Response Question</td><td>Delete:". |
"<tr><td>Multiple Option Response Question ". |
|
&Apache::loncommon::help_open_topic('Option_Response_Problems')."</td><td>Delete:". |
&Apache::edit::deletelist($target,$token) |
&Apache::edit::deletelist($target,$token) |
."</td><td> ". |
."</td><td> ". |
&Apache::edit::end_row(). |
&Apache::edit::end_row(). |
Line 184 sub end_foilgroup {
|
Line 185 sub end_foilgroup {
|
if ($ENV{'form.submitted'} eq 'scantron') { |
if ($ENV{'form.submitted'} eq 'scantron') { |
$response = $opt[$response]; |
$response = $opt[$response]; |
} |
} |
$responsehash{$name}=$response; |
|
if ( $response =~ /[^\s]/) { |
if ( $response =~ /[^\s]/) { |
|
$responsehash{$name}=$response; |
my $value=$Apache::response::foilgroup{$name.'.value'}; |
my $value=$Apache::response::foilgroup{$name.'.value'}; |
&Apache::lonxml::debug("submitted a $response for $value<br />\n"); |
&Apache::lonxml::debug("submitted a $response for $value<br />\n"); |
if ($value eq $response) { |
if ($value eq $response) { |
Line 318 sub displayfoils {
|
Line 319 sub displayfoils {
|
} else { |
} else { |
$text=$value.': '.$text; |
$text=$value.': '.$text; |
} |
} |
|
} else { |
|
$text='•'.$text; |
} |
} |
$result.=$text."\n"; |
$result.=$text."\n"; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
Line 367 sub displayfoils {
|
Line 370 sub displayfoils {
|
my $text=$Apache::response::foilgroup{$name.'.text'}; |
my $text=$Apache::response::foilgroup{$name.'.text'}; |
if (!($text=~s|<drawoptionlist\s*/>|$optionlist|) && $Apache::lonhomework::type ne 'exam') { |
if (!($text=~s|<drawoptionlist\s*/>|$optionlist|) && $Apache::lonhomework::type ne 'exam') { |
$text=$optionlist.$text; |
$text=$optionlist.$text; |
|
} else { |
|
$text='•'.$text; |
} |
} |
$result.=$break.$text."\n"; |
$result.=$break.$text."\n"; |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
Line 393 sub displayfoils {
|
Line 398 sub displayfoils {
|
} |
} |
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.='\vskip -2 mm\parbox{\textwidth}{\begin{enumerate}\item[\textbf{'.$internal_counter.'}.]\parbox{\textwidth - 5 mm}{'.&bubbles(\@alphabet,\@opt).'}\end{enumerate}} \vskip -9 mm \strut '; |
$result.='\vskip -1 mm\noindent\begin{enumerate}\item[\textbf{'.$internal_counter.'}.]'.&bubbles(\@alphabet,\@opt).'\end{enumerate} \vskip -9 mm \strut '; |
$internal_counter++; |
$internal_counter++; |
} |
} |
$displayoptionintex=1; |
$displayoptionintex=1; |
Line 414 sub displayfoils {
|
Line 419 sub displayfoils {
|
} |
} |
} |
} |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result.='\vskip -2 mm \parbox{\textwidth}{\begin{enumerate}\item[\textbf{'.$internal_counter.'}.]\parbox{\textwidth - 5 mm}{'.&bubbles(\@alphabet,\@opt).'}\end{enumerate}} \vskip -9 mm \strut '; |
$result.='\vskip -1 mm \noindent\begin{enumerate}\item[\textbf{'.$internal_counter.'}.]'.&bubbles(\@alphabet,\@opt).'\end{enumerate} \vskip -9 mm \strut '; |
$internal_counter++; |
$internal_counter++; |
} |
} |
} |
} |
Line 441 sub optionlist_correction {
|
Line 446 sub optionlist_correction {
|
$texoptionlist =~ s/>/\$>\$/g; |
$texoptionlist =~ s/>/\$>\$/g; |
$texoptionlist =~ s/</\$<\$/g; |
$texoptionlist =~ s/</\$<\$/g; |
$texoptionlist =~ s/=/\$=\$/g; |
$texoptionlist =~ s/=/\$=\$/g; |
$texoptionlist =~ s/\^(\d+)/<m>\$$1\$<\/m>/g; |
$texoptionlist =~ s/\^(\d+)/\$^{$1}\$/g; |
} else { |
} else { |
$texoptionlist =~ s/<option><\/option>/\\item \[\] \\vskip -5 mm/; |
$texoptionlist =~ s/<option><\/option>/\\item \[\] \\vskip -5 mm/; |
} |
} |
Line 480 sub bubbles {
|
Line 485 sub bubbles {
|
my ($result,$head,$line) =('','',''); |
my ($result,$head,$line) =('','',''); |
my $number_of_bubbles = $#opt + 1; |
my $number_of_bubbles = $#opt + 1; |
my $current_length = 0; |
my $current_length = 0; |
|
$ENV{'form.textwidth'}=~/(\d+)/; |
|
my $textwidth=$1; |
for (my $ind=0;$ind<=$number_of_bubbles;$ind++) { |
for (my $ind=0;$ind<=$number_of_bubbles;$ind++) { |
$current_length += (length($opt[$ind])+length($alphabet[$ind])+2)*2; |
my $leftmargin; |
if ($current_length<0.9*$ENV{'form.textwidth'} and $ind!=$number_of_bubbles) { |
if ($ind==0) {$leftmargin=6;} else {$leftmargin=10;} |
|
$current_length += (length($opt[$ind])+length($alphabet[$ind])+3)*2; |
|
if ($current_length<($textwidth-$leftmargin) and $ind!=$number_of_bubbles) { |
$line.='\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & '; |
$line.='\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & '; |
$head.='lr'; |
$head.='lr'; |
} else { |
} else { |
$line=~s/\&\s*$//; |
$line=~s/\&\s*$//; |
$result.='\vskip -5 mm\begin{tabular}{'.$head.'}\\\\'.$line.'\\\\\end{tabular}'; |
$result.='\vskip -2 mm\noindent\begin{tabular}{'.$head.'}'.$line.'\\\\\end{tabular}'; |
$line = '\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & ';; |
$line = '\hskip -1 mm {\small \textbf{'.$alphabet[$ind].'}}$\bigcirc$\hskip -1 mm & \hskip -3 mm {\small '.$opt[$ind].'} & ';; |
$head ='lr'; |
$head ='lr'; |
$current_length = (length($opt[$ind])+length($alphabet[$ind]))*2; |
$current_length = (length($opt[$ind])+length($alphabet[$ind]))*2; |