[LON-CAPA-cvs] cvs: loncom /interface lonprintout.pm
foxr
foxr@source.lon-capa.org
Mon, 19 Apr 2010 10:29:40 -0000
foxr Mon Apr 19 10:29:40 2010 EDT
Modified files:
/loncom/interface lonprintout.pm
Log:
Fix for BZ 6240... \special{papersize} sometimes gets printed sometimes causes
print errors and sometimes works.. Now I _think_ a4 paper printing works
for all cases.
Index: loncom/interface/lonprintout.pm
diff -u loncom/interface/lonprintout.pm:1.574 loncom/interface/lonprintout.pm:1.575
--- loncom/interface/lonprintout.pm:1.574 Wed Mar 31 14:37:36 2010
+++ loncom/interface/lonprintout.pm Mon Apr 19 10:29:40 2010
@@ -2,7 +2,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.574 2010/03/31 14:37:36 wenzelju Exp $
+# $Id: lonprintout.pm,v 1.575 2010/04/19 10:29:40 foxr Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -306,7 +306,14 @@
my ($text) = @_;
- $text =~ s/\\begin{document}/\\begin{document}{\\$font_size/;
+ # There appear to be cases where the font directive is empty.. in which
+ # case the first substituion would insert a spurious \ oh happy day.
+ # as this has been the cause of much mystery and hair pulling _sigh_
+
+ if ($font_size ne '') {
+
+ $text =~ s/\\begin{document}/\\begin{document}{\\$font_size/;
+ }
$text =~ s/\\end{document}/}\\end{document}/;
return $text;
@@ -1309,7 +1316,13 @@
$text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\n\\evensidemargin = $evenoffset $topmargintoinsert\\textwidth= $textwidth\\newlength{\\minipagewidth}\n\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\usepackage{booktabs}\\begin{document}\\voffset=-0\.8cm\n\\setcounter{page}{1} \\vskip 5 mm\n /;
}
if ($papersize eq 'a4') {
- $text =~ s/(\\begin{document})/$1\\special\{papersize=210mm,297mm\}/;
+ my $papersize_text;
+ if ($perm{'pav'}) {
+ $papersize_text = '\\special{papersize=210mm,297mm}';
+ } else {
+ $papersize_text = '\special{papersize=210mm,297mm}';
+ }
+ $text =~ s/(\\begin{document})/$1$papersize_text/;
}
}
if ($tableofcontents eq 'yes') {$text=~s/(\\setcounter\{page\}\{1\})/$1 \\tableofcontents\\newpage /;}