[LON-CAPA-cvs] cvs: loncom /homework randomlabel.pm

foxr lon-capa-cvs@mail.lon-capa.org
Tue, 12 Apr 2005 11:03:08 -0000


foxr		Tue Apr 12 07:03:08 2005 EDT

  Modified files:              
    /loncom/homework	randomlabel.pm 
  Log:
  At least it attempts to insert label images. Need to take the image and 
  convert it to, or queue it to convert to an .eps however..as now i've
  got it trying to directly include e.g. .jpg's which LaTeX has no
  love for.
  
  
Index: loncom/homework/randomlabel.pm
diff -u loncom/homework/randomlabel.pm:1.69 loncom/homework/randomlabel.pm:1.70
--- loncom/homework/randomlabel.pm:1.69	Tue Apr 12 05:56:07 2005
+++ loncom/homework/randomlabel.pm	Tue Apr 12 07:03:08 2005
@@ -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.70 2005/04/12 11:03:08 foxr Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -302,10 +302,12 @@
 	    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') {
+		$result .=  '\includegraphics{'.$label."}}\n";
 		&add_vars($gname,$i,
 			  $Apache::randomlabel::description[$idx_arr[$i]],
 			  $idx_arr[$i],$value,$label,$safeeval);
@@ -403,13 +405,17 @@
 	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");