--- loncom/interface/lonprintout.pm 2002/04/01 18:23:12 1.20 +++ loncom/interface/lonprintout.pm 2002/04/10 16:21:33 1.21 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.20 2002/04/01 18:23:12 sakharuk Exp $ +# $Id: lonprintout.pm,v 1.21 2002/04/10 16:21:33 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -136,13 +136,12 @@ ENDPART $_ = $1; my $urlp = $1; if ($choice eq 'Standard LaTeX output for the primary sequence') { - if (/\.problem/) { + if (/\.(problem|exam|quiz|assess|survey|form|library)/) { my %moreenv; $moreenv{'form.grade_target'}='tex'; &Apache::lonnet::appenv(%moreenv); my $texversion=&Apache::lonnet::ssi($urlp); &Apache::lonnet::delenv('form.grade_target'); - $texversion =~ s!\.gif!\.eps!g; $result .= $texversion; } } else { @@ -150,7 +149,6 @@ ENDPART &Apache::lonnet::appenv(%moreenv); my $texversion=&Apache::lonnet::ssi($urlp); &Apache::lonnet::delenv('form.grade_target'); - $texversion =~ s!\.gif!\.eps!g; $result .= $texversion; } } @@ -192,13 +190,12 @@ ENDPART m/\"(.*)\"/; $_ = $1; my $urlp = $1; - if (/\.problem/) { + if (/\.(problem|exam|quiz|assess|survey|form|library)/) { my %moreenv; $moreenv{'form.grade_target'}='tex'; &Apache::lonnet::appenv(%moreenv); my $texversion=&Apache::lonnet::ssi($urlp); &Apache::lonnet::delenv('form.grade_target'); - $texversion =~ s!\.gif!\.eps!; $result .= $texversion; } } @@ -224,13 +221,28 @@ ENDPART $result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/; $result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 7\.7in\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo \\vskip 5 mm /; $result =~ s/\\includegraphics/\\includegraphics\[width=9\.0 cm\]/g; - $result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.0cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPS $1/; + $result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPS $1/; } #-- LaTeX corrections $result =~ s/^\s+$//gm; #remove empty lines $result =~ s/%/\\%/g; #corrects % $result =~ s/(\s)+/$1/g; #removes more than one empty space $result =~ s/\\\\\s*(\\vskip)/ $1/gm; +#-- Do all of eps figures exist? + my $notepslist = ''; + my $end_eps = index($result,'.eps}',0); + while ($end_eps != -1) { + my $start_eps = rindex($result,'{',$end_eps); + my $start_path = rindex($result,'\graphicspath{',$start_eps); + my $end_path = index($result,'}',$start_path); + my $chunk_eps = substr($result,$start_eps+1,$end_eps-$start_eps+3); + my $chunk_path = substr($result,$start_path+14,$end_path-$start_path-14); + $chunk_path =~ s/^{*//g; + unless (-s $chunk_path.$chunk_eps) { + $notepslist .= $chunk_path.$chunk_eps; + } + $end_eps = index($result,'.eps}',$end_eps+5); + } #-- writing .tex file in prtspool my $temp_file; $filename = "/home/httpd/prtspool/$ENV{'user.name'}$ENV{'user.domain'}temp$ENV{'user.login.time'}.tex"; @@ -240,7 +252,7 @@ ENDPART } print $temp_file $result; $r->print(< + FINALEND