--- loncom/interface/printout.pl 2005/11/15 20:53:06 1.93 +++ loncom/interface/printout.pl 2006/04/24 21:31:03 1.94.2.1 @@ -186,6 +186,8 @@ END @names_pack=split(/_ENDPERSON_/,$student_names); } +print "Return to last resource.

"; + my $figfile = $texfile; $figfile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.dat/; my $duefile = $texfile; @@ -201,6 +203,7 @@ END my $noteps; my %prog_state; if ($advanced_role) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Coverting Images to EPS','Picture Conversion Status',$#content_of_file,'inline','80'); } + print('
'); foreach my $not_eps (@content_of_file) { chomp($not_eps); if ($not_eps ne '') { @@ -239,15 +242,36 @@ END $done_conversion{$not_eps}=1; # print "Converting $not_eps -> $eps_f"; # Debugging system("convert $not_eps $eps_f"); - #check is eps exist in prtspool - if(not -e $eps_f) { + # check is eps exist in prtspool + if (not -e $eps_f) { + # converting an animated gif creates either: + # anim.gif.eps.0 + # or + # anim.gif-0.eps for (my $i=0;$i<10000;$i++) { if (-e $eps_f.'.'.$i) { - rename $eps_f.'.'.$i, $eps_f; + rename($eps_f.'.'.$i, $eps_f); + last; + } + my $anim_eps = $eps_f; + $anim_eps =~ s/(\.[^.]*)\.eps$/$1-$i\.eps/i; + if (-e $anim_eps) { + rename($anim_eps, $eps_f); last; } } - } + } + # imagemagick 6.2.0-6.2.7 fails to properly handle + # convert anim.gif anim.gif.eps + # it creates anim.eps instead. + if (not -e $eps_f) { + my $eps_f2 = $eps_f; + $eps_f2 =~ s/\.[^.]*\.eps$/\.eps/i; + if(-e $eps_f2) { + rename($eps_f2,$eps_f); + } + } + } } if ($advanced_role) { @@ -269,7 +293,6 @@ END my $ind=-1; my %prog_state; -print "Return to last resource.

"; if ($advanced_role) { %prog_state=&Apache::lonhtmlcommon::Create_PrgWin('','Print Status','Class Print Status',$number_of_files,'inline','80'); } print "
"; my $num_files = @texfile;