Diff for /loncom/homework/optionresponse.pm between versions 1.106 and 1.107

version 1.106, 2004/04/16 22:25:13 version 1.107, 2004/04/23 17:57:18
Line 159  sub end_foilgroup { Line 159  sub end_foilgroup {
     my $name;      my $name;
     my @opt;      my @opt;
     eval '@opt ='.&Apache::lonxml::get_param('options',$parstack,$safeeval);      eval '@opt ='.&Apache::lonxml::get_param('options',$parstack,$safeeval);
       my $TeXlayout=&Apache::lonxml::get_param('TeXlayout',$parstack,$safeeval,undef,0);
       &Apache::lonnet::logthis("PARAMETER U>$TeXlayout<U");
     if ($target eq 'tex' && $tex_option_switch eq 'nochoice') {@opt=();}      if ($target eq 'tex' && $tex_option_switch eq 'nochoice') {@opt=();}
     &Apache::lonxml::debug("Options are $#opt");      &Apache::lonxml::debug("Options are $#opt");
     my $max = &Apache::lonxml::get_param('max',$parstack,$safeeval,'-2');      my $max = &Apache::lonxml::get_param('max',$parstack,$safeeval,'-2');
     my $randomize = &Apache::lonxml::get_param('randomize',$parstack,      my $randomize = &Apache::lonxml::get_param('randomize',$parstack,
        $safeeval,'-2');         $safeeval,'-2');
     if ($target eq 'web' || $target eq 'tex') {      if ($target eq 'web' || $target eq 'tex') {
       $result.=&displayfoils($target,$max,$randomize,@opt);        $result.=&displayfoils($target,$max,$randomize,$TeXlayout,@opt);
     } elsif ( $target eq 'answer') {      } elsif ( $target eq 'answer') {
       $result.=&displayanswers($max,$randomize,@opt);        $result.=&displayanswers($max,$randomize,@opt);
     } elsif ( $target eq 'analyze') {      } elsif ( $target eq 'analyze') {
Line 306  sub check_for_invalid { Line 308  sub check_for_invalid {
 }  }
   
 sub displayfoils {  sub displayfoils {
   my ($target,$max,$randomize,@opt)=@_;    my ($target,$max,$randomize,$TeXlayout,@opt)=@_;
     &Apache::lonnet::logthis("PARAMETER >>$TeXlayout<<");
   if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;}    if (!defined(@{ $Apache::response::foilgroup{'names'} })) {return;}
   my @names = @{ $Apache::response::foilgroup{'names'} };    my @names = @{ $Apache::response::foilgroup{'names'} };
   my @truelist;    my @truelist;
Line 397  sub displayfoils { Line 400  sub displayfoils {
   my $texoptionlist='';    my $texoptionlist='';
   if ($displayoptionintex &&    if ($displayoptionintex &&
       $Apache::lonhomework::type ne 'exam') {        $Apache::lonhomework::type ne 'exam') {
       $texoptionlist = &optionlist_correction(@opt);        $texoptionlist = &optionlist_correction($TeXlayout,@opt);
   }    }
   if ($text=~/<drawoptionlist\s*\/>/) {    if ($text=~/<drawoptionlist\s*\/>/) {
       $text=~s|<drawoptionlist\s*/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |;        $text=~s|<drawoptionlist\s*/>| \\makebox\[0\.3in\]\[b\]\{\\hrulefill\} |;
Line 412  sub displayfoils { Line 415  sub displayfoils {
       if ($Apache::lonhomework::type eq 'exam') {        if ($Apache::lonhomework::type eq 'exam') {
   $result.= $texoptionlist.'  '.$text;    $result.= $texoptionlist.'  '.$text;
       } else {        } else {
   $result.= $texoptionlist.'\vspace*{-2 mm}\item '.$text;    if ($text=~/\S/) {$result.= $texoptionlist.'\vspace*{-2 mm}\item '.$text;} else {$result.= $texoptionlist;}
       }        }
   }    }
   if ($Apache::lonhomework::type eq 'exam') {    if ($Apache::lonhomework::type eq 'exam') {
Line 434  sub displayfoils { Line 437  sub displayfoils {
   
   
 sub optionlist_correction {  sub optionlist_correction {
     my @options = @_;      my ($TeXlayout,@options) = @_;
       &Apache::lonnet::logthis("PARAMETER >$TeXlayout<");
     my $texoptionlist='\\item [] Choices: ';      my $texoptionlist='\\item [] Choices: ';
       if ($TeXlayout eq 'vertical') {$texoptionlist='\\item []';}
     if (scalar(@options) > 0) {      if (scalar(@options) > 0) {
  foreach my $option (@options) {   foreach my $option (@options) {
     $texoptionlist.='{\bf '.      $texoptionlist.='{\bf '.
  &Apache::lonxml::latex_special_symbols($option).   &Apache::lonxml::latex_special_symbols($option).
  '},';   '}';
       if ($TeXlayout eq 'vertical') {
    $texoptionlist.=' \vskip 0 mm ',
       } else {
    $texoptionlist.=',';
       }
  }   }
  chop($texoptionlist);   chop($texoptionlist);
  $texoptionlist.='.';   if ($TeXlayout ne 'vertical') {$texoptionlist.='.';}
     } else {      } else {
  $texoptionlist='\\item [] \\vskip -5 mm';   if ($TeXlayout ne 'vertical') {$texoptionlist='\\item [] \\vskip -5 mm';}
     }      }
     return $texoptionlist;      return $texoptionlist;
 }  }
Line 498  sub bubbles { Line 508  sub bubbles {
     $head.='lr';      $head.='lr';
  } else {   } else {
     $line=~s/\&\s*$//;      $line=~s/\&\s*$//;
     $result.='\vskip -2 mm\noindent\begin{tabular}{'.$head.'}'.$line.'\\\\\end{tabular}';      $result.='\vskip -2 mm\noindent\begin{tabular}{'.$head.'}'.$line.'\\\\\end{tabular}\vskip 0 mm';
     $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;
Line 586  sub end_foil { Line 596  sub end_foil {
   my $result = '';    my $result = '';
   if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') {     if ($target eq 'web' || $target eq 'tex' || $target eq 'analyze') { 
       $text=&Apache::lonxml::endredirection;        $text=&Apache::lonxml::endredirection;
       if ($target eq 'tex' and $Apache::lonhomework::type ne 'exam') { $text = '\vspace*{-2 mm}\item '.$text; }        $text=~/(\w)/;
         &Apache::lonnet::logthis("TTTEXT IS HERE NOW >>$text<< >>>$1<<<");
         if (($target eq 'tex') and ($Apache::lonhomework::type ne 'exam') and ($text=~/\S/)) {$text = '\vspace*{-2 mm}\item '.$text;} 
   }    }
   if ($target eq 'web' || $target eq 'grade' || $target eq 'answer'     if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' 
       || $target eq 'tex' || $target eq 'analyze') {        || $target eq 'tex' || $target eq 'analyze') {

Removed from v.1.106  
changed lines
  Added in v.1.107


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>