--- loncom/homework/matchresponse.pm 2005/06/22 12:03:23 1.55 +++ loncom/homework/matchresponse.pm 2006/03/31 11:10:24 1.57 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Full matching style response # -# $Id: matchresponse.pm,v 1.55 2005/06/22 12:03:23 albertel Exp $ +# $Id: matchresponse.pm,v 1.57 2006/03/31 11:10:24 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -163,15 +163,19 @@ sub end_itemgroup { $table.=''; $Apache::matchresponse::itemtable{'display'}=$table; } elsif ($target eq 'tex') { - my $table=' \begin{description}\setlength{\leftmargin}{2em}\setlength{\labelwidth}{1em}\setlength{\itemsep}{0.5pt plus1pt minus2pt}\setlength{\listparindent}{0em} '; + #my $table='\begin{description}\setlength{\leftmargin}{2em}\setlength{\labelwidth}{1em}\setlength{\itemsep}{0.5pt plus1pt minus2pt}\setlength{\listparindent}{0em} '; + my $table="\\\\ \\makebox[\\textwidth][l]{ \\begin{tabular}{ll}\n"; my $i=0; foreach my $name (@names) { $Apache::response::itemgroup{$name.'.text'}=~s/\$\$/\$/g; - $table.='\item['.$alphabet[$i].'] '. - $Apache::response::itemgroup{$name.'.text'}; + # $table.='\item['.$alphabet[$i].'] '. + # $Apache::response::itemgroup{$name.'.text'}; + my $response = $Apache::response::itemgroup{"$name.text"}; + $table .= "$alphabet[$i] & $response \\\\ \n"; $i++; } - $table.=' \end{description} \strut '; + # $table.=' \end{description} \ \strut '; + $table .= "\\end{tabular}} \\strut \n\n \\vskip \\parskip "; if ($Apache::lonhomework::type eq 'exam') {$table.='\vskip -13 mm \strut ';} $Apache::matchresponse::itemtable{'display'}=$table; } @@ -296,18 +300,30 @@ sub displayanswers { $randomize, &Apache::response::showallfoils(), \%Apache::response::foilgroup); - my $result=&Apache::response::answer_header('matchresponse'); my %name_letter_map; if (defined(%{ $Apache::response::itemgroup{'name_letter_map'} })) { %name_letter_map= %{ $Apache::response::itemgroup{'name_letter_map'} }; } - foreach my $name (@whichfoils) { - my $value_name=$Apache::response::foilgroup{$name.'.value'}; - my $letter=$name_letter_map{$value_name}; - $result.=&Apache::response::answer_part('matchresponse',$letter); + my $result; + if ($Apache::lonhomework::type eq 'exam') { + my $i=0; + foreach my $name (@whichfoils) { + $result.=&Apache::response::answer_header('matchresponse',$i++); + my $value_name=$Apache::response::foilgroup{$name.'.value'}; + my $letter=$name_letter_map{$value_name}; + $result.=&Apache::response::answer_part('matchresponse',$letter); + $result.=&Apache::response::answer_footer('matchresponse'); + } + } else { + $result=&Apache::response::answer_header('matchresponse'); + foreach my $name (@whichfoils) { + my $value_name=$Apache::response::foilgroup{$name.'.value'}; + my $letter=$name_letter_map{$value_name}; + $result.=&Apache::response::answer_part('matchresponse',$letter); + } + $result.=&Apache::response::answer_footer('matchresponse'); } - $result.=&Apache::response::answer_footer('matchresponse'); return $result; }