--- loncom/xml/londefdef.pm 2005/03/31 15:54:33 1.265 +++ loncom/xml/londefdef.pm 2005/04/06 06:09:42 1.266 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Tags Default Definition Module # -# $Id: londefdef.pm,v 1.265 2005/03/31 15:54:33 albertel Exp $ +# $Id: londefdef.pm,v 1.266 2005/04/06 06:09:42 albertel Exp $ # # # Copyright Michigan State University Board of Trustees @@ -2497,19 +2497,25 @@ sub start_img { &Apache::lonxml::debug("LaTeX rendering = $latex_rendering image file: $src"); #if original gif/jpg/png file exist do following: + my $origsrc=$src; my ($path,$file) = &get_eps_image($src); $src=&Apache::lonnet::filelocation($Apache::lonxml::pwd[-1],$src); &Apache::lonxml::debug("path = $path file = $file src = $src"); if (-e $src) { &Apache::lonxml::debug("$src exists"); my ($height_param,$width_param)= - &image_size($src,0.3,$parstack,$safeeval); + &image_size($origsrc,0.3,$parstack,$safeeval); my $destpath = $path; $destpath =~ s/ /\_/g; # Spaces in path cause LaTex to vomit. my $destfile = $file; $destfile =~ s/ /\_/g; + my $size; + if ($width_param) { $size.='width='.$width_param.' mm,'; } + if ($height_param) { $size.='height='.$height_param.' mm]'; } + $size='['.$size; + $size=~s/,$/]/; $currentstring .= '\graphicspath{{'.$destpath.'}}' - .'\includegraphics[width='.$width_param.' mm,height='.$height_param.'mm]{'.$destfile.'} '; + .'\includegraphics'.$size.'{'.$destfile.'} '; # If there's an alignment specification we need to honor it here. # For the horizontal alignments, we will also honor the @@ -3795,19 +3801,29 @@ sub image_size { } else { $width_param = $TeXwidth; } - $height_param=$TeXwidth/$old_width_param*$height_param; + if ($TeXheight) { + $height_param = $TeXheight; + } elsif ($old_width_param) { + $height_param=$TeXwidth/$old_width_param*$height_param; + } } elsif ($TeXheight) { $height_param = $TeXheight; - $width_param = $TeXheight/$height_param*$width_param; + if ($height_param) { + $width_param = $TeXheight/$height_param*$width_param; + } } elsif ($width) { my $old_width_param=$width_param; $width_param = $width*$scaling; - $height_param=$width_param/$old_width_param*$height_param; + if ($old_width_param) { + $height_param=$width_param/$old_width_param*$height_param; + } } if ($width_param > $ENV{'form.textwidth'}) { my $old_width_param=$width_param; $width_param =0.95*$ENV{'form.textwidth'}; - $height_param=$width_param/$old_width_param*$height_param; + if ($old_width_param) { + $height_param=$width_param/$old_width_param*$height_param; + } } return ($height_param, $width_param); }