--- loncom/interface/lonprintout.pm 2009/04/20 09:57:17 1.551
+++ loncom/interface/lonprintout.pm 2009/06/17 10:21:33 1.554.2.1
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.551 2009/04/20 09:57:17 foxr Exp $
+# $Id: lonprintout.pm,v 1.554.2.1 2009/06/17 10:21:33 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -70,6 +70,10 @@ my $ssi_last_error; # The error text fr
my $ssi_retry_count = 5; # Some arbitrary value.
+# Font size:
+
+my $font_size = 'normalsize'; # Default is normalsize...
+
# Fetch the contents of a resource, uninterpreted.
# This is used here to fetch a latex file to be included
@@ -114,6 +118,24 @@ sub annotate {
return $result;
}
+#
+# Set a global document font size:
+# This is done by replacing \begin{document}
+# with \begin{document}{\some-font-directive
+# and \end{document} with
+# }\end{document
+#
+sub set_font_size {
+
+ my ($text) = @_;
+
+ $text =~ s/\\begin{document}/\\begin{document}{\\$font_size/;
+ $text =~ s/\\end{document}/}\\end{document}/;
+ return $text;
+
+
+}
+
# include_pdf - PDF files are included into the
# output as follows:
# - The PDF, if necessary, is replicated.
@@ -1474,10 +1496,17 @@ sub print_construction_sequence {
}
}
elsif ($urlp =~ /\.pdf$/i) {
- &Apache::lonnet::logthis("include_pdf 3");
-
- my $texversion = &include_pdf($urlp);
+ my $texversion;
+ if ($member != 0) {
+ $texversion .= '\cleardoublepage';
+ }
+
+ $texversion .= &include_pdf($urlp);
$texversion = &latex_header_footer_remove($texversion);
+ if ($member != $#order) {
+ $texversion .= '\\ \cleardoublepage';
+ }
+
$result .= $texversion;
}
}
@@ -1728,7 +1757,6 @@ ENDPART
$do_postprocessing = 0; # Don't massage the result.
} elsif ($cleanURL =~ /\.pdf$/i) {
- &Apache::lonnet::logthis("include_pdf 1");
$result .= &include_pdf($cleanURL);
$result .= '\end{document}';
} else {
@@ -1824,6 +1852,7 @@ ENDPART
} else {
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library)$/) {
$texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
+ $texversion =~ s/\\begin{document}//;
my $title = &Apache::lonnet::gettitle($master_seq[$i]);
$title = &Apache::lonxml::latex_special_symbols($title);
my $body ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm ';
@@ -1859,6 +1888,7 @@ ENDPART
$assignment,
$courseidinfo,
$name);
+
if ($numberofcolumns eq '1') {
$result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{'.$header_text.'}} \vskip 5 mm ';
} else {
@@ -1888,8 +1918,6 @@ ENDPART
if ($i > 0) {
$result .= '\cleardoublepage';
}
- &Apache::lonnet::logthis("include_pdf 2");
-
$result .= &include_pdf($urlp);
if ($i != $#master_seq) {
if ($numberofcolumns eq '1') {
@@ -1970,7 +1998,7 @@ ENDPART
my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};
#loop over students
- my $flag_latex_header_remove = 'NO';
+ my $flag_latex_header_remove = 'NO';
my %moreenv;
$moreenv{'instructor_comments'}='hide';
$moreenv{'textwidth'}=&get_textwidth($helper,$LaTeXwidth);
@@ -2216,6 +2244,11 @@ ENDPART
$URLback=~s|^/~|/priv/|;
}
}
+ #
+ # Final adjustment of the font size:
+ #
+
+ $result = set_font_size($result);
#-- writing .tex file in prtspool
my $temp_file;
@@ -2300,7 +2333,7 @@ ENDPART
# If there's been an unrecoverable SSI error, report it to the user
if ($ssi_error) {
my $helpurl = &Apache::loncommon::top_nav_help('Helpdesk');
- $r->print('
'.
+ $r->print('
'.&mt('An unrecoverable network error occurred:').'
'.
&mt('At least one of the resources you chose to print could not be rendered due to an unrecoverable error when communicating with a server:').
'
'.$ssi_last_error_resource.'
'.$ssi_last_error.
'
'.&mt('You can continue using the link provided below, but make sure to carefully inspect your output file! The errors will be marked in the file.').'
'.
@@ -2407,6 +2440,7 @@ sub print_resources {
my $header =&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
+ $header =~ s/\\begin{document}//; #<<<<<
my $title = &Apache::lonnet::gettitle($curresline);
$title = &Apache::lonxml::latex_special_symbols($title);
my $body ='\vskip 0 mm \noindent\textbf{'.$title.'}\vskip 0 mm ';
@@ -2442,7 +2476,13 @@ sub print_resources {
$rendered =~ s/\\end{document}//;
}
$current_output .= $rendered.'\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill}\strut \vskip 0 mm \strut ';
-
+ } elsif($res_url = ~/\.pdf$/) {
+ my $url = &Apache::lonnet::clutter($res_url);
+ my $rendered = &include_pdf($url);
+ if ($remove_latex_header ne 'NO') {
+ $rendered = &latex_header_footer_remove($rendered);
+ }
+ $current_output .= $rendered;
} else {
my $rendered = &unsupported($res_url,$helper->{'VARS'}->{'LATEX_TYPE'},$curresline);
if ($remove_latex_header ne 'NO') {
@@ -2457,6 +2497,8 @@ sub print_resources {
}
if (&Apache::loncommon::connection_aborted($r)) { last; }
}
+
+
my $courseidinfo = &get_course();
my $currentassignment=&Apache::lonxml::latex_special_symbols($helper->{VARS}->{'assignment'},'header');
my $header_line =
@@ -2465,7 +2507,6 @@ sub print_resources {
my $header_start = ($columns_in_format == 1) ? '\lhead'
: '\fancyhead[LO]';
$header_line = $header_start.'{'.$header_line.'}';
-
if ($current_output=~/\\documentclass/) {
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent$header_line$namepostfix}\\vskip 5 mm /;
} else {
@@ -3536,9 +3577,9 @@ sub render {
my $i;
for ($i = 1; $i <= $maxColumns; $i++) {
if ($i == 2) {
- $result .= "\n";
+ $result .= ''."\n";
} else {
- $result .= "\n";
+ $result .= ''."\n";
}
}
@@ -3554,9 +3595,9 @@ sub render {
$_=~/(\w+)/;
my $papersize=$1;
if ($paperSize[$i]=~/$DefaultPaperSize/) {
- $result .= "\n";
+ $result .= ''."\n";
} else {
- $result .= "\n";
+ $result .= ''."\n";
}
$i++;
}
@@ -3565,8 +3606,8 @@ sub render {