[LON-CAPA-cvs] cvs: loncom /interface lonprintout.pm
sakharuk
lon-capa-cvs@mail.lon-capa.org
Mon, 01 Apr 2002 18:23:12 -0000
sakharuk Mon Apr 1 13:23:12 2002 EDT
Modified files:
/loncom/interface lonprintout.pm
Log:
added copyright information and fixed a few LaTeX bugs
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.19 loncom/interface/lonprintout.pm:1.20
--- loncom/interface/lonprintout.pm:1.19 Thu Mar 21 13:46:15 2002
+++ loncom/interface/lonprintout.pm Mon Apr 1 13:23:12 2002
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.19 2002/03/21 18:46:15 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.20 2002/04/01 18:23:12 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -71,6 +71,7 @@
<input type="radio" name="choice" value="Standard LaTeX output for current document"> Current document
(you will print what you see on the screen)<br />
<input type="radio" name="choice" value="Standard LaTeX output for the primary sequence"> All problems from the primary sequence<br />
+<input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence"> The whole primary sequence (problems plus all html and xml files)<br />
<input type="radio" name="choice" value="Standard LaTeX output for the top level sequence"> All problems from the top level sequence<br />
<br /><hr /><br />
<h1>And what page format do you prefer?</h1>
@@ -117,7 +118,7 @@
&Apache::lonnet::appenv(%moreenv);
$result .= $texversion;
- } elsif ($choice eq 'Standard LaTeX output for the primary sequence') {
+ } elsif ($choice eq 'Standard LaTeX output for the primary sequence' or $choice eq 'Standard LaTeX output for whole primary sequence') {
#-- where is the primary sequence containing file?
my %moreenv;
my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
@@ -134,14 +135,23 @@
m/\"(.*)\"/;
$_ = $1;
my $urlp = $1;
- if (/\.problem/) {
- my %moreenv;
+ if ($choice eq 'Standard LaTeX output for the primary sequence') {
+ if (/\.problem/) {
+ 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 {
$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;
+ $texversion =~ s!\.gif!\.eps!g;
+ $result .= $texversion;
}
}
#-- additional cleanup for output
@@ -150,7 +160,7 @@
while ($first_app != -1) {
my $second_app = index($result,'begin{document}',$first_app);
$first_app = rindex($result,'\end{document}',$first_app);
- substr($result,$first_app,$second_app-$first_app+15) = '\vskip 7 mm';
+ substr($result,$first_app,$second_app-$first_app+15) = '\vskip 3 mm';
$first_app = index($result,'\documentclass',$first_app+5);
}
} elsif ($choice eq 'Standard LaTeX output for the top level sequence') {
@@ -198,7 +208,7 @@
while ($first_app != -1) {
my $second_app = index($result,'begin{document}',$first_app);
$first_app = rindex($result,'\end{document}',$first_app);
- substr($result,$first_app,$second_app-$first_app+15) = '\vskip 7 mm';
+ substr($result,$first_app,$second_app-$first_app+15) = '\vskip 3 mm';
$first_app = index($result,'\documentclass',$first_app+5);
}
}
@@ -214,13 +224,16 @@
$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/;
}
#-- 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;
#-- writing .tex file in prtspool
my $temp_file;
- $filename = "/home/httpd/prtspool/$ENV{'environment.firstname'}$ENV{'environment.lastname'}temp$ENV{'user.login.time'}.tex";
+ $filename = "/home/httpd/prtspool/$ENV{'user.name'}$ENV{'user.domain'}temp$ENV{'user.login.time'}.tex";
unless ($temp_file = Apache::File->new('>'.$filename)) {
$r->log_error("Couldn't open $filename for output $!");
return SERVER_ERROR;