version 1.31, 2002/05/22 21:10:42
|
version 1.35, 2002/07/01 15:02:54
|
Line 46 use Apache::lonnet;
|
Line 46 use Apache::lonnet;
|
use Apache::inputtags; |
use Apache::inputtags; |
use Apache::edit; |
use Apache::edit; |
use Apache::File(); |
use Apache::File(); |
|
use POSIX qw(strftime); |
|
|
|
|
sub headerform { |
sub headerform { |
Line 110 ENDPART
|
Line 110 ENDPART
|
|
|
my $choice = $ENV{'form.choice'}; |
my $choice = $ENV{'form.choice'}; |
my $layout = $ENV{'form.layout'}; |
my $layout = $ENV{'form.layout'}; |
my $subdirtoprint = $ENV{'form.subdirect'}; |
|
my $laystyle = 'book'; |
my $laystyle = 'book'; |
my $result = ''; |
my $result = ''; |
my %mystyle; |
my $number_of_columns = 1; |
my $filename; |
|
|
|
if ($choice eq 'Standard LaTeX output for current document') { |
if ($choice eq 'Standard LaTeX output for current document') { |
my %moreenv; |
my %moreenv; |
my $currequest=$ENV{'request.filename'}; |
|
$moreenv{'form.grade_target'}='tex'; |
$moreenv{'form.grade_target'}='tex'; |
$moreenv{'request.filename'}=$ENV{'form.url'}; |
$moreenv{'request.filename'}=$ENV{'form.url'}; |
&Apache::lonnet::appenv(%moreenv); |
&Apache::lonnet::appenv(%moreenv); |
my $texversion=&Apache::lonnet::ssi($ENV{'form.url'}); |
my $texversion=&Apache::lonnet::ssi($ENV{'form.url'}); |
&Apache::lonnet::delenv('form.grade_target'); |
&Apache::lonnet::delenv('form.grade_target'); |
%moreenv = (); |
|
$moreenv{'request.filename'}=$currequest; |
|
&Apache::lonnet::appenv(%moreenv); |
|
$result .= $texversion; |
$result .= $texversion; |
$result = &additional_cleanup($result); |
$result = &additional_cleanup($result); |
|
if ($ENV{'form.url'}=~m/\.page\s*$/) {($result,$number_of_columns) = &page_cleanup($result);} |
} elsif ($choice eq 'Standard LaTeX output for the primary sequence' or $choice eq 'Standard LaTeX output for whole 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? |
#-- where is the primary sequence containing file? |
my %moreenv; |
my %moreenv; |
Line 245 ENDPART
|
Line 240 ENDPART
|
$_ = $courseidinfo; |
$_ = $courseidinfo; |
m/.*\/(.*)/; |
m/.*\/(.*)/; |
$courseidinfo = $ENV{'course.physnet_'.$1.'.description'}; |
$courseidinfo = $ENV{'course.physnet_'.$1.'.description'}; |
$result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/; |
# $result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/; |
$result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 7\.7in\\renewcommand{\\ref}{\\keephidden\}\\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/\\documentclass\[letterpaper\]{article}/\\documentclass{article}/; |
|
$result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 9cm\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\parbox{\\minipagewidth}{\\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/\\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.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPL $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\/GPL $1/; |
|
$result =~ s/(\\end{longtable}\s*)(\\newline\\noindent\\makebox\[9\.0cm\]\[b\]{\\hrulefill})/$2$1/g; |
|
$result =~ s/(\\end{longtable}\s*)\\newline/$1/g; |
} |
} |
#-- LaTeX corrections |
#-- LaTeX corrections |
my $first_comment = index($result,'<!--',0); |
my $first_comment = index($result,'<!--',0); |
Line 269 ENDPART
|
Line 267 ENDPART
|
$result =~ s/\b_+\b/\\makebox\[1 cm\]\[b\]{\\hrulefill}/g; |
$result =~ s/\b_+\b/\\makebox\[1 cm\]\[b\]{\\hrulefill}/g; |
#-- writing .tex file in prtspool |
#-- writing .tex file in prtspool |
my $temp_file; |
my $temp_file; |
$filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; |
unless ($temp_file = Apache::File->new('>'.$filename)) { |
unless ($temp_file = Apache::File->new('>'.$filename)) { |
$r->log_error("Couldn't open $filename for output $!"); |
$r->log_error("Couldn't open $filename for output $!"); |
return SERVER_ERROR; |
return SERVER_ERROR; |
Line 294 sub additional_cleanup {
|
Line 292 sub additional_cleanup {
|
} |
} |
return $result; |
return $result; |
} |
} |
|
sub page_cleanup { |
|
my $result = shift; |
|
$_ = $result; |
|
m/\\end{document}(\d*)$/; |
|
my $number_of_columns = $1; |
|
my $insert = '{'; |
|
for (my $id=1;$id<=$number_of_columns;$id++) { $insert .='l'; } |
|
$insert .= '}'; |
|
$result =~ s/(\\begin{longtable})INSERTTHEHEADOFLONGTABLE/$1$insert/g; |
|
$result =~ s/&\s*REMOVETHEHEADOFLONGTABLE\\\\/\\\\/g; |
|
$result =~ s/(\\vskip\s*\d+\s*mm)/}\\\\\\parbox{\\minipagewidth}{/g; |
|
$result =~ s/\\parbox{\\minipagewidth}{}\s*\\\\\s*(\\parbox{\\minipagewidth})/$1/g; |
|
return $result,$number_of_columns; |
|
} |
|
|
sub content_map { |
sub content_map { |
#-- find a list of files to print |
#-- find a list of files to print |