--- loncom/homework/randomlabel.pm 2005/04/12 09:56:07 1.69 +++ loncom/homework/randomlabel.pm 2005/04/12 21:41:28 1.71 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # random labelling tool # -# $Id: randomlabel.pm,v 1.69 2005/04/12 09:56:07 foxr Exp $ +# $Id: randomlabel.pm,v 1.71 2005/04/12 21:41:28 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -302,10 +302,15 @@ sub end_labelgroup { my $tcY=$height_param-$y*($height_param/$wheight); $tcX=sprintf('%.2f',$tcX); $tcY=sprintf('%.2f',$tcY); - $result.='\put('.$tcX.','.$tcY.'){'.$TeXsize.' \bf '.$label.'}'."\n"; + $result .= '\put('.$tcX.','.$tcY.'){'; if( $type eq 'text') { + $result.= $TeXsize.' \bf '.$label."}\n"; &add_vars($gname,$i,$label,$idx_arr[$i],$value,'',$safeeval); } elsif ( $type eq 'image') { + my ($path,$file) = &Apache::londefdef::get_eps_image($label); + my $image_name = $path.$file; + $result .= '\includegraphics{' + .$image_name."}}\n"; &add_vars($gname,$i, $Apache::randomlabel::description[$idx_arr[$i]], $idx_arr[$i],$value,$label,$safeeval); @@ -403,13 +408,17 @@ sub end_label { my $type = &Apache::lonxml::get_param('type',$parstack,$safeeval,-2); my $ltext=&Apache::lonxml::endredirection; if ($type eq 'image') { - &Apache::lonxml::debug("Turning $ltext, $Apache::lonxml::pwd[-1]"); - $ltext=&Apache::imageresponse::clean_up_image($ltext); - # In .tex output mode, at least _ has to be replaced with - # \_ if ($target eq 'tex') { - $ltext =~ s/\_/\\\_/g; + # For tex targets, our image url has been potentially corrupted + # by prepending \'s in front of special latex symbols. + # For now we only worry about the _ case (most common?) + # There's a whole host of theim in lonxml::latex_special_symbols + # that could potentially have to be re-done. + + $ltext =~ s/\\_/_/g; } + &Apache::lonxml::debug("Turning $ltext, $Apache::lonxml::pwd[-1]"); + $ltext=&Apache::imageresponse::clean_up_image($ltext); # $ltext=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1], # $ltext); &Apache::lonxml::debug("into $ltext");