--- loncom/interface/lonprintout.pm 2003/04/21 17:53:10 1.130
+++ loncom/interface/lonprintout.pm 2003/05/01 20:37:32 1.140
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.130 2003/04/21 17:53:10 sakharuk Exp $
+# $Id: lonprintout.pm,v 1.140 2003/05/01 20:37:32 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -100,11 +100,6 @@ ENDMENUOUT1
Problem(s) plus page(s) or html/xml file(s) from $title_for_sequence
ENDMENUOUT2
}
- if ($ENV{'request.role.adv'}) {
- $r->print(< Problem(s) from $title_for_sequence with answers
-ENDMENUOUT27
- }
if (($ENV{'request.role'}=~m/^cc\./ or $ENV{'request.role'}=~m/^in\./ or $ENV{'request.role'}=~m/^ta\./) and ($ENV{'form.postdata'}=~/\/res\//)) {
$r->print(< All problems in this course (warning: this may be time consuming)
@@ -509,8 +504,7 @@ ENDPART
$result.=' \end{document}'
}
} elsif ($choice eq 'Standard LaTeX output for the primary sequence' or
- $choice eq 'Standard LaTeX output for whole primary sequence' or
- $choice eq 'Standard LaTeX output for the primary sequence with answers') {
+ $choice eq 'Standard LaTeX output for whole primary sequence') {
#-- minimal sequence to which the current document belongs
#-- where is the primary sequence containing file?
my @master_seq = ();
@@ -532,11 +526,10 @@ ENDPART
my %moreenv;
$moreenv{'form.grade_target'}='tex';
$moreenv{'form.textwidth'}=$LaTeXwidth;
- if ($choice eq 'Standard LaTeX output for the primary sequence with answers') {$moreenv{'form.texaward'}='SHOW_ANSWER';}
&Apache::lonnet::appenv(%moreenv);
#&Apache::lonnet::logthis("Trying to get $urlp with symb $symb");
my $texversion=&Apache::lonnet::ssi($urlp,('symb'=>$symb));
- &Apache::lonnet::delenv('form.grade_target','form.textwidth','form.texaward');
+ &Apache::lonnet::delenv('form.grade_target','form.textwidth');
if ($urlp =~ m/\.page/) {
($texversion,my $number_of_columns_page) = &page_cleanup($texversion);
if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;}
@@ -917,7 +910,7 @@ sub character_chart {
$result =~ s/&\#153;/\\texttrademark /g;
$result =~ s/&\#156;/\\oe/g;
$result =~ s/&\#159;/\\\"Y/g;
- $result =~ s/&(\#160|nbsp);?//g;
+ $result =~ s/&(\#160|nbsp);//g;
$result =~ s/&(\#161|iexcl);/!\`/g;
$result =~ s/&(\#162|cent);/\\textcent /g;
$result =~ s/&(\#163|pound);/\\pounds /g;
@@ -1113,7 +1106,86 @@ sub character_chart {
# } elsif($papersize=~/A6/) {
}
return $textwidth,$textheight,$oddoffset,$evenoffset;
+}
+
+
+sub page_format_new {
+#
+#Correspondence between $papersize variable and real paper format:
+# 0 - "Letter [8 1/2x11 in]"
+# 1 - "Legal [8 1/2x14 in]"
+# 2 - "Ledger/Tabloid [11x17 in]"
+# 3 - "Executive [7 1/2x10 in]"
+# 4 - "A2 [420x594 mm]"
+# 5 - "A3 [297x420 mm]"
+# 6 - "A4 [210x297 mm]"
+# 7 - "A5 [148x210 mm]"
+# 8 - "A6 [105x148 mm]"
+#
+ my ($papersize,$layout,$numberofcolumns) = @_;
+ my ($textwidth,$textheight,$oddoffset,$evenoffset) = (0,0,0,0);
+ if ($papersize eq '0') {
+ if ($layout eq 'book') {
+ if ($numberofcolumns == 1) {
+ $textwidth = '18 cm';
+ $textheight = '25.9 cm';
+ $oddoffset = '-0.57 in';
+ $evenoffset = '-0.57 in';
+ } elsif ($numberofcolumns == 2) {
+ $textwidth = '93 mm';
+ $textheight = '25.9 cm';
+ $oddoffset = '-0.57 in';
+ $evenoffset = '-0.57 in';
+ }
+ } elsif ($layout eq 'album') {
+ if ($numberofcolumns eq '1') {
+ $textwidth = '8.8 in';
+ $textheight = '6.8 in';
+ $oddoffset = '-40 pt';
+ $evenoffset = '-60 pt';
+ } elsif ($numberofcolumns == 2) {
+ $textwidth = '4.2 in';
+ $textheight = '6.8 in';
+ $oddoffset = '-40 pt';
+ $evenoffset = '-60 pt';
+ }
+ }
+# } elsif($papersize eq '1') {
+# } elsif($papersize eq '2') {
+# } elsif($papersize eq '3'/) {
+ } elsif($papersize eq '6') {
+ if ($layout eq 'book') {
+ if ($numberofcolumns == 1) {
+ $textwidth = '18 cm';
+ $textheight = '28 cm';
+ $oddoffset = '-0.57 in';
+ $evenoffset = '-0.57 in';
+ } elsif ($numberofcolumns == 2) {
+ $textwidth = '96 mm';
+ $textheight = '2 cm';
+ $oddoffset = '-0.57 in';
+ $evenoffset = '-0.57 in';
+ }
+ } elsif ($layout eq 'album') {
+ if ($numberofcolumns eq '1') {
+ $textwidth = '8.5 in';
+ $textheight = '7.7 in';
+ $oddoffset = '-40 pt';
+ $evenoffset = '-60 pt';
+ } elsif ($numberofcolumns == 2) {
+ $textwidth = '3.9 in';
+ $textheight = '7.7 in';
+ $oddoffset = '-40 pt';
+ $evenoffset = '-60 pt';
+ }
+ }
+# } elsif($papersize eq '5') {
+# } elsif($papersize eq '4') {
+# } elsif($papersize eq '7') {
+# } elsif($papersize eq '8') {
}
+ return $textwidth,$textheight,$oddoffset,$evenoffset;
+}
sub get_name {
@@ -1155,6 +1227,36 @@ sub page_format_transformation {
}
+sub page_format_transformation_new {
+ my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment) = @_;
+ my ($textwidth,$textheight,$oddoffset,$evenoffset);
+ $assignment=~s/_/ /g;
+ if ($numberofcolumns != 1) {
+ ($textwidth,$textheight,$oddoffset,$evenoffset) = &page_format_new($papersize,$layout,$numberofcolumns);
+ } else {
+ ($textwidth,$textheight,$oddoffset,$evenoffset) = ($ENV{'form.width'},$ENV{'form.height'},$ENV{'form.leftmargin'},$ENV{'form.leftmargin'});
+ }
+ my $name = &get_name();
+ if ($name =~ /^\s*$/) {
+ $name=&Apache::lonxml::latex_special_symbols($ENV{'user.name'},undef,
+ undef,'header');
+ }
+ my $courseidinfo = &Apache::lonxml::latex_special_symbols(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}),'','','header');
+ if ($layout eq 'album') {
+ $text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}\\setlength{\\topmargin}{200pt}\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\parindent}{20pt}\\setlength{\\marginparwidth}{90pt}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm} \\begin{document}\\setcounter{page}{1}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$name}} \\hfill $courseidinfo} \\vskip 5 mm /;
+ } elsif ($layout eq 'book') {
+ if ($choice ne 'All class print') {
+ $text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{\\textbf{$name} - $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1}/;
+ } else {
+ $text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\begin{document}\\voffset=-0\.8cm\\setcounter{page}{1} \\vskip 5 mm /;
+
+ }
+ }
+ return $text;
+}
+
+
+
sub page_cleanup {
my $result = shift;
@@ -1225,22 +1327,360 @@ sub latex_corrections {
}
+sub output_data_new {
+ my ($r,$helper) = @_;
+ $r->print(<
+
+LON-CAPA output for printing
+
+
+
+ENDPART
+
+ my $format_from_helper = $helper->{'VARS'}->{'FORMAT'};
+ my ($result,$selectionmade) = ('','');
+ my $number_of_columns = 1; #used only for pages to determine the width of the cell
+ my @temporary_array=split /\|/,$format_from_helper;
+ my ($laystyle,$numberofcolumns,$papersize)=@temporary_array;
+ if ($laystyle eq 'L') {
+ $laystyle='album';
+ } else {
+ $laystyle='book';
+ }
+ my ($textwidth,$textheight,$oddoffset,$evenoffset) = &page_format_new($papersize,$laystyle,$numberofcolumns);
+
+
+
+
+# my $choice = $ENV{'form.choice'};
+# my $layout = $ENV{'form.layout'};
+# my $numberofcolumns = $ENV{'form.numberofcolumns'};
+# my $papersize = $ENV{'form.papersize'};
+# my $laystyle = 'book';
+ my $assignment = $ENV{'form.assignment'};
+# if ($choice eq 'Subdirectory print') {
+# if ($ENV{'form.layout'} eq '') {$layout = 'CAPA';}
+# if ($ENV{'form.papersize'} eq '') {$papersize = 'Letter [8 1/2x11 in]';}
+# if ($ENV{'form.numberofcolumns'} eq '') {$numberofcolumns = 2;}
+# }
+# if (($choice eq 'Standard LaTeX output for current document') &&
+# ($ENV{'form.url'}=~m|^/~|)) {
+# if ($ENV{'form.layout'} eq '') {$layout = 'CAPA';}
+# if ($ENV{'form.papersize'} eq '') {$papersize = 'Letter [8 1/2x11 in]';}
+# if ($ENV{'form.numberofcolumns'} eq '') {$numberofcolumns = 2;}
+# }
+
+
+# my ($textwidth,$textheight,$oddoffset,$evenoffset) = &page_format($papersize,$layout,$numberofcolumns);
+# if ($numberofcolumns == 1) {
+# $textwidth=$ENV{'form.width'};
+# $textheight=$ENV{'form.height'};
+# }
+ my $LaTeXwidth;
+ if ($textwidth=~/(\d+)\s*cm/) {
+ $LaTeXwidth = $1*10;
+ } elsif ($textwidth=~/(\d+)\s*mm/) {
+ $LaTeXwidth = $1;
+ } elsif ($textwidth=~/(\d+)\s*in/) {
+ $LaTeXwidth = $1*25.4;
+ }
+ $LaTeXwidth.=' mm';
+
+
+ if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') {
+ #-- single document - problem, page, html, xml, ...
+ $selectionmade = 1;
+ if ($helper->{'VARS'}->{'url'}=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
+ my %moreenv;
+ $moreenv{'form.grade_target'}='tex';
+ if (&Apache::lonnet::allowed('bre',$helper->{'VARS'}->{'url'})) {
+ $helper->{'VARS'}->{'url'}=~s/http:\/\/[^\/]+//;
+ }
+ $moreenv{'request.filename'}=$helper->{'VARS'}->{'url'};
+ $moreenv{'form.textwidth'}=$LaTeXwidth;
+ &Apache::lonnet::appenv(%moreenv);
+ my $texversion=&Apache::lonnet::ssi($helper->{'VARS'}->{'url'});
+ &Apache::lonnet::delenv('form.grade_target','form.textwidth','form.counter');
+ $result .= $texversion;
+ if ($helper->{'VARS'}->{'url'}=~m/\.page\s*$/) {
+ ($result,$number_of_columns) = &page_cleanup($result);
+ }
+ } else {
+# $result='\documentclass[letterpaper]{article}\usepackage{calc}\begin{document}Printout of this type of document is currently not supported: ';
+# if ($ENV{'form.url'}=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) {
+# $result.=$1;
+# } else {
+# $result.=$ENV{'form.url'};
+# }
+# $result.=' \end{document}'
+ }
+
+
+# } elsif ($choice eq 'Standard LaTeX output for the primary sequence' or
+# $choice eq 'Standard LaTeX output for whole primary sequence') {
+# #-- minimal sequence to which the current document belongs
+# #-- where is the primary sequence containing file?
+# my @master_seq = ();
+# for (my $i=0; $i<$ENV{'form.numberoffiles'};$i++) {
+# if ($ENV{'form.whatfile'.$i}=~/\S/) {
+# push @master_seq,$ENV{'form.whatfile'.$i};
+# }
+# }
+# #-- produce an output string
+# my $flag_latex_header_remove = 'NO';
+# my $flag_page_in_sequence = 'NO';
+# for (my $i=0;$i<=$#master_seq;$i++) {
+# my ($urlp,$symb) = split /&&/, $master_seq[$i];
+# if ($choice eq 'Standard LaTeX output for the primary sequence') {
+# $selectionmade = 2;
+# } elsif ($choice eq 'Standard LaTeX output for whole primary sequence') {
+# $selectionmade = 3;
+# }
+# my %moreenv;
+# $moreenv{'form.grade_target'}='tex';
+# $moreenv{'form.textwidth'}=$LaTeXwidth;
+# &Apache::lonnet::appenv(%moreenv);
+# #&Apache::lonnet::logthis("Trying to get $urlp with symb $symb");
+# my $texversion=&Apache::lonnet::ssi($urlp,('symb'=>$symb));
+# &Apache::lonnet::delenv('form.grade_target','form.textwidth');
+# if ($urlp =~ m/\.page/) {
+# ($texversion,my $number_of_columns_page) = &page_cleanup($texversion);
+# if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;}
+# $texversion =~ s/\\end{document}\d*/\\end{document}/;
+# $flag_page_in_sequence = 'YES';
+# }
+# if ($flag_latex_header_remove ne 'NO') {
+# $texversion = &latex_header_footer_remove($texversion);
+# } else {
+# $texversion =~ s/\\end{document}//;
+# }
+# $result .= $texversion;
+# $flag_latex_header_remove = 'YES';
+# }
+# &Apache::lonnet::delenv('form.counter');
+# if ($flag_page_in_sequence eq 'YES') {$result =~ s/\\usepackage{calc}/\\usepackage{calc}\\usepackage{longtable}/;}
+# $result .= '\end{document}';
+# } elsif ($choice eq 'Standard LaTeX output for the top level sequence') {
+# # where is the main sequence of the course?
+# $selectionmade = 4;
+# my $main_seq=&Apache::lonnet::clutter($ENV{'request.course.uri'});
+# my @file_seq = &coming_from_hash($main_seq);
+# for (my $i=0;$i<=$#file_seq;$i++) {
+# my ($path,$title,$symb) = split /&&/,$file_seq[$i];
+# $file_seq[$i] = $path.'&&'.$symb;
+# }
+# my $flag_latex_header_remove = 'NO';
+# #-- produce an output string
+# for (my $i=0;$i<=$#file_seq;$i++) {
+# if (not $file_seq[$i]=~/^&&/) {
+# my ($urlp,$symb) = split /&&/, $file_seq[$i];
+# $urlp=~s/\/home\/httpd\/html//;
+# if ($urlp=~m/\.(problem|exam|quiz|assess|survey|form|library)/) {
+# my %moreenv;
+# $moreenv{'form.grade_target'}='tex';
+# $moreenv{'form.textwidth'}=$LaTeXwidth;
+# &Apache::lonnet::appenv(%moreenv);
+# my $texversion=&Apache::lonnet::ssi($urlp,('symb'=>$symb));
+# &Apache::lonnet::delenv('form.grade_target','form.textwidth');
+# if ($flag_latex_header_remove ne 'NO') {
+# $texversion = &latex_header_footer_remove($texversion);
+# } else {
+# $texversion =~ s/\\end{document}//;
+# }
+# $result .= $texversion;
+# $flag_latex_header_remove = 'YES';
+# }
+# }
+# }
+# $result .= '\end{document}';
+# } elsif ($choice eq 'All class print') {
+# #-- prints assignments for whole class or for selected students
+# $selectionmade = 5;
+# my @students = ();
+# for (my $i=0; $i<$ENV{'form.numberofstudents'};$i++) {
+# if ($ENV{'form.whomtoprint'.$i}=~/:/) {
+# push @students,$ENV{'form.whomtoprint'.$i};
+# }
+# }
+# #where is the primary sequence containing current resource (the same for all students)?
+# my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'});
+# my @sequence = split('___',$symbolic);
+# my $primary_sequence;
+#
+# $primary_sequence=&Apache::lonnet::clutter($sequence[0]);
+# my @master_seq = &coming_from_hash($primary_sequence);
+# for (my $i=0;$i<=$#master_seq;$i++) {
+# my ($path,$title,$symb) = split /&&/,$master_seq[$i];
+# $master_seq[$i] = $path.'&&'.$symb;
+# }
+# #loop over students
+# my $flag_latex_header_remove = 'NO';
+# my %moreenv;
+# $moreenv{'form.textwidth'}=$LaTeXwidth;
+# &Apache::lonnet::appenv(%moreenv);
+# my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin($r,'Print Status','Class Print Status',$#students+1);
+# foreach my $person (@students) {
+# my $current_output = '';
+# my ($usersection,$username,$userdomain) = split /:/,$person;
+# my $fullname = &get_name($username,$userdomain);
+# #goes through all resources, checks if they are available for current student, and produces output
+# foreach my $curresline (@master_seq) {
+# my ($curres,$symb) = split /&&/, $curresline;
+# if ($curres=~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {
+# my ($map,$id,$res_url) = split(/___/,$symb);
+# if (&Apache::lonnet::allowed('bre',$res_url)) {
+# my $rendered = &Apache::loncommon::get_student_view($symb,$username,$userdomain,
+# $ENV{'request.course.id'},'tex');
+# if ($flag_latex_header_remove eq 'YES') {
+# $rendered = &latex_header_footer_remove($rendered);
+# } else {
+# $rendered =~ s/\\end{document}//;
+# }
+# $current_output .= $rendered;
+# }
+# $flag_latex_header_remove = 'YES';
+# }
+# }
+# my $courseidinfo = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};
+# if ($current_output=~/\\documentclass/) {
+# $current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{} \\begin{document}\\noindent\\lhead{\\textit{\\textbf{$fullname}} - $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}\\vskip 3 mm /;
+# } else {
+# my $blanspages = '';
+# for (my $j=0;$j<$ENV{'form.addedpages'};$j++) {$blanspages.='\clearpage\strut\clearpage';}
+# $current_output = '\strut\\newline\\noindent\\makebox[\\textwidth/$number_of_columns][b]{\\hrulefill}\\newline\\noindent{\\tiny Printed from LON-CAPA\\copyright MSU{\\hfill} Licensed under GNU General Public License }\\newpage \\vskip 3mm'.$blanspages.'\setcounter{page}{1}\noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$fullname.'}} - '.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}\hskip 1.4in } \vskip 5 mm '.$current_output;
+# }
+# $result .= $current_output;
+# &Apache::lonnet::delenv('form.counter');
+# &Apache::lonxml::init_counter();
+# &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,
+# 'last student '.$fullname);
+# }
+# &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
+# $result .= '\end{document}';
+# &Apache::lonnet::delenv('form.textwidth');
+# } elsif ($choice eq 'Subdirectory print') {
+# #prints selected problems from the subdirectory
+# $selectionmade = 6;
+# my @list_of_files = ();
+# for (my $i=0; $i<$ENV{'form.numberofproblems'};$i++) {
+# if ($ENV{'form.whattoprint'.$i}=~/^\//) {
+# push @list_of_files,$ENV{'form.whattoprint'.$i};
+# }
+# }
+# my $flag_latex_header_remove = 'NO';
+# for (my $i=0;$i<=$#list_of_files;$i++) {
+# my $urlp = $list_of_files[$i];
+# if ($urlp=~/\//) {
+# my %moreenv;
+# $moreenv{'form.grade_target'}='tex';
+# $moreenv{'form.textwidth'}=$LaTeXwidth;
+# &Apache::lonnet::appenv(%moreenv);
+# if ($urlp =~ m|/home/([^/]+)/public_html|) {
+# $urlp =~ s|/home/([^/]*)/public_html|/~$1|;
+# } else {
+# $urlp =~ s|^/home/httpd/html||;
+# }
+# my $texversion=&Apache::lonnet::ssi($urlp);
+# &Apache::lonnet::delenv('form.grade_target','form.textwidth');
+# #this chunck is responsible for printing the path to problem
+# my $newurlp = '';
+# my $HowMany = length($urlp)*2;
+# if ($HowMany > $LaTeXwidth) {
+# my @temporrary = split '/',$urlp;
+# my $HowManyNew = 0;
+# for (my $ii=0;$ii<=$#temporrary;$ii++) {
+# if ($temporrary[$ii] ne '') {
+# $HowManyNew += length($temporrary[$ii])*2;
+# if ($HowManyNew < $LaTeXwidth ) {
+# $newurlp .= '/'.$temporrary[$ii];
+# } else {
+# $HowManyNew = 0;
+# $newurlp .= '|\vskip -1 mm \noindent \verb|';
+# $ii--;
+# }
+# }
+# }
+# }
+# $texversion =~ s/(\\begin{minipage}{\\textwidth})/$1 {\\small\\noindent\\verb|$newurlp\|\\vskip 0 mm}/;
+# if ($flag_latex_header_remove ne 'NO') {
+# $texversion = &latex_header_footer_remove($texversion);
+# } else {
+# $texversion =~ s/\\end{document}//;
+# }
+# $result .= $texversion;
+# }
+# $flag_latex_header_remove = 'YES';
+# }
+# $result .= '\end{document}';
+ }
+#-------------------------------------------------------- corrections for the different page formats
+ $result = &page_format_transformation_new($papersize,$laystyle,$numberofcolumns,$helper->{'VARS'}->{'PRINT_TYPE'},$result,$helper->{VARS}->{'assignment'});
+# if ($layout eq 'CBI') {
+# $laystyle = 'album';
+# }
+ $result = &latex_corrections($number_of_columns,$result);
+# #changes page's parameters for the one column output
+# if ($ENV{'form.numberofcolumns'} == 1) {
+# $result =~ s/\\textwidth= 9cm/\\textwidth= $ENV{'form.width'}/;
+# $result =~ s/\\textheight 25\.9cm/\\textheight $ENV{'form.height'}/;
+# $result =~ s/\\evensidemargin = -0\.57in/\\evensidemargin= $ENV{'form.leftmargin'}/;
+# $result =~ s/\\oddsidemargin = -0\.57in/\\oddsidemargin= $ENV{'form.leftmargin'}/;
+# }
+#-- writing .tex file in prtspool
+ my $temp_file;
+ my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex";
+ unless ($temp_file = Apache::File->new('>'.$filename)) {
+ $r->log_error("Couldn't open $filename for output $!");
+ return SERVER_ERROR;
+ }
+ print $temp_file $result;
+
+
+$r->print(<
+
+