[LON-CAPA-cvs] cvs: loncom /interface lonprintout.pm
sakharuk
lon-capa-cvs@mail.lon-capa.org
Wed, 10 Apr 2002 16:21:33 -0000
sakharuk Wed Apr 10 12:21:33 2002 EDT
Modified files:
/loncom/interface lonprintout.pm
Log:
this is a very very first and bad attempt to work with dynamically produced eps
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.20 loncom/interface/lonprintout.pm:1.21
--- loncom/interface/lonprintout.pm:1.20 Mon Apr 1 13:23:12 2002
+++ loncom/interface/lonprintout.pm Wed Apr 10 12:21:33 2002
@@ -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 @@
$_ = $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 @@
&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 @@
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 @@
$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 @@
}
print $temp_file $result;
$r->print(<<FINALEND);
-<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle">
+<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle&$notepslist">
</body>
</html>
FINALEND