[LON-CAPA-cvs] cvs: loncom /homework randomlabel.pm
foxr
lon-capa-cvs@mail.lon-capa.org
Tue, 29 Aug 2006 10:42:59 -0000
foxr Tue Aug 29 06:42:59 2006 EDT
Modified files:
/loncom/homework randomlabel.pm
Log:
Defect number 2975 - Replace " " with "_" in image filenames so that
LaTeX does not get pissed off.
Index: loncom/homework/randomlabel.pm
diff -u loncom/homework/randomlabel.pm:1.82 loncom/homework/randomlabel.pm:1.83
--- loncom/homework/randomlabel.pm:1.82 Tue May 30 08:45:37 2006
+++ loncom/homework/randomlabel.pm Tue Aug 29 06:42:59 2006
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# random labelling tool
#
-# $Id: randomlabel.pm,v 1.82 2006/05/30 12:45:37 www Exp $
+# $Id: randomlabel.pm,v 1.83 2006/08/29 10:42:59 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -296,10 +296,20 @@
&Apache::lonxml::debug("Image size: $height_param x $width_param");
my $dirtywidth=$width_param+5;
+ #
+ # Note that lonprintout/prinout will conspire to replace
+ # spaces in paths and names with _'s since spacess cause problems
+ # for latex included filenames. Therefore:
+ #
+ my $safe_path = $path;
+ $safe_path =~ s/ /\_/g;
+ my $safe_file = $file;
+ $safe_file =~ s/ /\_/g;
+
my $result ="\n".'\vspace*{2mm}\noindent'."\n".
'\parbox{'.$dirtywidth.
' mm}{ \noindent \epsfxsize='.$width_param.
- ' mm \epsffile{'.$path.$file.
+ ' mm \epsffile{'.$safe_path.$safe_file.
'}\setlength{\unitlength}{1mm}'."\n".' \begin{picture}('.
$width_param.','.$height_param.')(0,-'.$height_param.')'."\n";
my $magick = Image::Magick->new;
@@ -482,6 +492,11 @@
} elsif ( $type eq 'image') {
my ($path,$file) = &Apache::londefdef::get_eps_image($label);
my $image_name = $path.$file;
+ #
+ # Note that spaces in e.. \includegraphics cause problems for Latex
+ # so they get replaced by _'s by lonprintout/printout and us:
+ #
+ $image_name =~ s/ /\_/g;
my $label_width = &get_label_width($label);
$result .= '\includegraphics[width='.$label_width.'mm]{'