[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;