version 1.324, 2004/08/13 18:06:14
|
version 1.326, 2004/08/18 18:56:46
|
Line 375 sub character_chart {
|
Line 375 sub character_chart {
|
|
|
sub page_format { |
sub page_format { |
# |
# |
#Correspondence between $papersize variable and real paper format: |
#Supported paper format: "Letter [8 1/2x11 in]", "Legal [8 1/2x14 in]", |
# 0 - "Letter [8 1/2x11 in]" |
# "Ledger/Tabloid [11x17 in]", "Executive [7 1/2x10 in]", |
# 1 - "Legal [8 1/2x14 in]" |
# "A2 [420x594 mm]", "A3 [297x420 mm]", |
# 2 - "Ledger/Tabloid [11x17 in]" |
# "A4 [210x297 mm]", "A5 [148x210 mm]", |
# 3 - "Executive [7 1/2x10 in]" |
# "A6 [105x148 mm]" |
# 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 ($papersize,$layout,$numberofcolumns) = @_; |
my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = (0,0,0,0,0); |
my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = (0,0,0,0,0); |
if ($papersize eq '0') { |
my $page_formats={'book'=>{ |
if ($layout eq 'book') { |
'1'=>{'letter'=>{'width'=>'7.1 in','height'=>'10.2 in','topmargin'=>'0 in', |
if ($numberofcolumns == 1) { |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
$textwidth = '7.1 in'; #'18 cm'; |
}, |
$textheight = '10.2 in'; #'25.9 cm'; |
'legal'=>{'width'=>'7.1 in','height'=>'13 in','topmargin'=>'-0.5 in', |
$oddoffset = '-0.57 in'; |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
$evenoffset = '-0.57 in'; |
}, |
} elsif ($numberofcolumns == 2) { |
'tabloid'=>{'width'=>'9.8 in','height'=>'16 in','topmargin'=>'-0.5 in', |
$textwidth = '3.66 in'; #'93 mm'; |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
$textheight = '10.2 in'; #'25.9 cm'; |
}, |
$oddoffset = '-0.57 in'; |
'exacutive'=>{'width'=>'6.8 in','height'=>'9 in','topmargin'=>'1.2 in', |
$evenoffset = '-0.57 in'; |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
} |
}, |
} elsif ($layout eq 'album') { |
'a2'=>{ |
if ($numberofcolumns eq '1') { |
|
$textwidth = '8.8 in'; |
}, |
$textheight = '6.8 in'; |
'a3'=>{ |
$oddoffset = '-40 pt'; |
|
$evenoffset = '-60 pt'; |
}, |
} elsif ($numberofcolumns == 2) { |
'a4'=>{'width'=>'176 mm','height'=>'272 mm','topmargin'=>'-0.5 in', |
$textwidth = '4.4 in'; |
'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt', |
$textheight = '6.8 in'; |
|
$oddoffset = '-0.5 in'; |
}, |
$evenoffset = '-1.5 in'; |
'a5'=>{ |
$topmargin = '3.5 in'; |
|
} |
}, |
} |
'a6'=>{ |
} elsif($papersize eq '1') { |
|
if ($layout eq 'book') { |
}, |
if ($numberofcolumns == 1) { |
}, |
$textwidth = '7.1 in'; |
'2'=>{'letter'=>{'width'=>'3.66 in','height'=>'10.2 in','topmargin'=>'0 in', |
$textheight = '13 in'; |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
$oddoffset = '-0.57 in'; |
}, |
$evenoffset = '-0.57 in'; |
'legal'=>{'width'=>'3.16 in','height'=>'13 in','topmargin'=>'-0.5 in', |
$topmargin = '-0.5 in'; |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
} elsif ($numberofcolumns == 2) { |
}, |
$textwidth = '3.66 in'; |
'tabloid'=>{'width'=>'4.9 in','height'=>'16 in','topmargin'=>'-0.5 in', |
$textheight = '13 in'; |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
$oddoffset = '-0.57 in'; |
|
$evenoffset = '-0.57 in'; |
}, |
$topmargin = '-0.5 in'; |
'exacutive'=>{'width'=>'3.1 in','height'=>'9 in','topmargin'=>'1.2 in', |
} |
'oddsidemargin'=>'-0.57 in','evensidemargin'=>'-0.57 in', |
} elsif ($layout eq 'album') { |
}, |
if ($numberofcolumns eq '1') { |
'a2'=>{ |
# $textwidth = '8.8 in'; |
|
# $textheight = '6.8 in'; |
}, |
# $oddoffset = '-40 pt'; |
'a3'=>{ |
# $evenoffset = '-60 pt'; |
|
} elsif ($numberofcolumns == 2) { |
}, |
# $textwidth = '4.4 in'; |
'a4'=>{'width'=>'91 mm','height'=>'272 mm','topmargin'=>'-0.5 in', |
# $textheight = '6.8 in'; |
'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt', |
# $oddoffset = '-0.5 in'; |
|
# $evenoffset = '-1.5 in'; |
}, |
# $topmargin = '3.5 in'; |
'a5'=>{ |
} |
|
} |
}, |
} elsif($papersize eq '2') { |
'a6'=>{ |
if ($layout eq 'book') { |
|
if ($numberofcolumns == 1) { |
}, |
$textwidth = '9.8 in'; |
|
$textheight = '16 in'; |
}, |
$oddoffset = '-0.57 in'; |
},'album'=>{ |
$evenoffset = '-0.57 in'; |
'1'=>{'letter'=>{'width'=>'8.8 in','height'=>'6.8 in','topmargin'=>'0 in', |
$topmargin = '-0.5 in'; |
'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt', |
} elsif ($numberofcolumns == 2) { |
}, |
$textwidth = '4.9 in'; |
'legal'=>{ |
$textheight = '16 in'; |
|
$oddoffset = '-0.57 in'; |
}, |
$evenoffset = '-0.57 in'; |
'tabloid'=>{ |
$topmargin = '-0.5 in'; |
|
} |
}, |
} elsif ($layout eq 'album') { |
'exacutive'=>{ |
if ($numberofcolumns eq '1') { |
|
# $textwidth = '8.8 in'; |
}, |
# $textheight = '6.8 in'; |
'a2'=>{ |
# $oddoffset = '-40 pt'; |
|
# $evenoffset = '-60 pt'; |
}, |
} elsif ($numberofcolumns == 2) { |
'a3'=>{ |
# $textwidth = '4.4 in'; |
|
# $textheight = '6.8 in'; |
}, |
# $oddoffset = '-0.5 in'; |
'a4'=>{'width'=>'8.5 in','height'=>'7.7 in','topmargin'=>'0 in', |
# $evenoffset = '-1.5 in'; |
'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt', |
# $topmargin = '3.5 in'; |
|
} |
}, |
} |
'a5'=>{ |
} elsif($papersize eq '3') { |
|
if ($layout eq 'book') { |
}, |
if ($numberofcolumns == 1) { |
'a6'=>{ |
$textwidth = '7 in'; |
|
$textheight = '9 in'; |
}, |
$oddoffset = '-0.57 in'; |
}, |
$evenoffset = '-0.57 in'; |
'2'=>{'letter'=>{'width'=>'4.4 in','height'=>'6.8 in','topmargin'=>'3.5 in', |
$topmargin = '-0.5 in'; |
'oddsidemargin'=>'-0.5 in','evensidemargin'=>'-1.5 in', |
} elsif ($numberofcolumns == 2) { |
}, |
$textwidth = '3.5 in'; |
'legal'=>{ |
$textheight = '9 in'; |
|
$oddoffset = '-0.57 in'; |
}, |
$evenoffset = '-0.57 in'; |
'tabloid'=>{ |
$topmargin = '-0.5 in'; |
|
} |
}, |
} elsif ($layout eq 'album') { |
'exacutive'=>{ |
if ($numberofcolumns eq '1') { |
|
# $textwidth = '8.8 in'; |
}, |
# $textheight = '6.8 in'; |
'a2'=>{ |
# $oddoffset = '-40 pt'; |
|
# $evenoffset = '-60 pt'; |
}, |
} elsif ($numberofcolumns == 2) { |
'a3'=>{ |
# $textwidth = '4.4 in'; |
|
# $textheight = '6.8 in'; |
}, |
# $oddoffset = '-0.5 in'; |
'a4'=>{'width'=>'3.9 in','height'=>'7.7 in','topmargin'=>'0 in', |
# $evenoffset = '-1.5 in'; |
'oddsidemargin'=>'-40 pt in','evensidemargin'=>'-60 pt', |
# $topmargin = '3.5 in'; |
|
} |
}, |
} |
'a5'=>{ |
} elsif($papersize eq '6') { |
|
if ($layout eq 'book') { |
}, |
if ($numberofcolumns == 1) { |
'a6'=>{ |
$textwidth = '176 mm'; |
|
$textheight = '272 mm'; |
}, |
$oddoffset = '-0.57 in'; |
|
$evenoffset = '-0.57 in'; |
}, |
$topmargin = '-0.5 in'; |
}, |
} elsif ($numberofcolumns == 2) { |
}; |
$textwidth = '91 mm'; |
return $page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'width'}, |
$textheight = '272 mm'; |
$page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'height'}, |
$oddoffset = '-0.57 in'; |
$page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'oddmargin'}, |
$evenoffset = '-0.57 in'; |
$page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'evensidemargin'}, |
$topmargin = '-0.5 in'; |
$page_formats->{$layout}->{$numberofcolumns}->{$papersize}->{'topmargin'}; |
} |
|
} 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,$topmargin; |
|
} |
} |
|
|
|
|
Line 571 sub page_format_transformation {
|
Line 546 sub page_format_transformation {
|
if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo } |
if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo } |
my $topmargintoinsert = ''; |
my $topmargintoinsert = ''; |
if ($topmargin ne '0') {$topmargintoinsert='\setlength{\topmargin}{'.$topmargin.'}';} |
if ($topmargin ne '0') {$topmargintoinsert='\setlength{\topmargin}{'.$topmargin.'}';} |
|
my $fancypagestatement=''; |
|
if ($numberofcolumns eq '2') { |
|
$fancypagestatement="\\fancyhead{}\\fancyhead[LO]{\\textbf{$name} $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}"; |
|
} else { |
|
$fancypagestatement="\\rhead{}\\chead{}\\lhead{\\textbf{$name} $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}}"; |
|
} |
if ($layout eq 'album') { |
if ($layout eq 'album') { |
$text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}$topmargintoinsert\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\usepackage{fancyhdr}\\pagestyle{fancy}\\rhead{}\\chead{}\\lhead{\\textbf{$name} $courseidinfo \\hfill \\thepage \\\\ \\textit{$assignment}} \\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1} /; |
$text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}$topmargintoinsert\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\usepackage{fancyhdr}\\pagestyle{fancy}$fancypagestatement\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1} /; |
} elsif ($layout eq 'book') { |
} elsif ($layout eq 'book') { |
|
|
if ($choice ne 'All class print') { |
if ($choice ne 'All class print') { |
$text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset $topmargintoinsert\\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}/; |
$text =~ s/\\begin{document}/\\textheight $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset $topmargintoinsert\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\usepackage{fancyhdr}\\pagestyle{fancy}$fancypagestatement\\begin{document}\\voffset=-0\.8 cm\\setcounter{page}{1}/; |
} else { |
} else { |
$text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset $topmargintoinsert\\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 /; |
$text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset $topmargintoinsert\\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 /; |
} |
} |
if ($papersize eq '6') { |
if ($papersize eq 'a4') { |
$text =~ s/(\\begin{document})/$1\\special{papersize=210mm,297mm}/; |
$text =~ s/(\\begin{document})/$1\\special{papersize=210mm,297mm}/; |
} |
} |
} |
} |
Line 1340 ENDPART
|
Line 1320 ENDPART
|
} |
} |
} |
} |
|
|
|
&Apache::lonnet::logthis("SSSSSSS: $filename,$laystyle,$papersize,$numberofcolumns,$selectionmade,$helper->{'VARS'}->{'TABLE_CONTENTS'},$helper->{'VARS'}->{'TABLE_INDEX'},$ENV{'request.role.adv'},$#print_array,$student_names,$URLback"); |
|
|
|
|
&Apache::lonnet::appenv('cgi.'.$identifier.'.file' => $filename, |
&Apache::lonnet::appenv('cgi.'.$identifier.'.file' => $filename, |
'cgi.'.$identifier.'.layout' => $laystyle, |
'cgi.'.$identifier.'.layout' => $laystyle, |
'cgi.'.$identifier.'.numcol' => $numberofcolumns, |
'cgi.'.$identifier.'.numcol' => $numberofcolumns, |
Line 1707 sub printHelper {
|
Line 1690 sub printHelper {
|
</state> |
</state> |
HELPERFRAGMENT |
HELPERFRAGMENT |
|
|
&Apache::lonxml::xmlparse($r, 'helper', $helperFragment); |
&Apache::lonxml::xmlparse($r, 'helper', $helperFragment); |
} |
} |
|
|
# If the user is priviledged, allow them to print all |
# If the user is priviledged, allow them to print all |
Line 2059 use strict;
|
Line 2042 use strict;
|
use Apache::lonlocal; |
use Apache::lonlocal; |
|
|
my $maxColumns = 2; |
my $maxColumns = 2; |
my @paperSize = ("Letter [8 1/2x11 in]", "Legal [8 1/2x14 in]", |
my @paperSize = ("letter [8 1/2x11 in]", "legal [8 1/2x14 in]", |
"Ledger/Tabloid [11x17 in]", "Executive [7 1/2x10 in]", |
"tabloid (ladger) [11x17 in]", "executive [7 1/2x10 in]", |
"A2 [420x594 mm]", "A3 [297x420 mm]", "A4 [210x297 mm]", |
"a2 [420x594 mm]", "a3 [297x420 mm]", "a4 [210x297 mm]", |
"A5 [148x210 mm]", "A6 [105x148 mm]" ); |
"a5 [148x210 mm]", "a6 [105x148 mm]" ); |
|
|
# Tentative format: Orientation (L = Landscape, P = portrait) | Colnum | |
# Tentative format: Orientation (L = Landscape, P = portrait) | Colnum | |
# Paper type |
# Paper type |
Line 2122 STATEHTML
|
Line 2105 STATEHTML
|
if ($DefaultPaperSize eq '') {$DefaultPaperSize='letter';} |
if ($DefaultPaperSize eq '') {$DefaultPaperSize='letter';} |
$i = 0; |
$i = 0; |
foreach (@paperSize) { |
foreach (@paperSize) { |
|
$_=~/(\w+)/; |
|
my $papersize=$1; |
if ($paperSize[$i]=~/$DefaultPaperSize/) { |
if ($paperSize[$i]=~/$DefaultPaperSize/) { |
$result .= "<option selected value='$i'>" . $paperSize[$i] . "</option>\n"; |
$result .= "<option selected value='$papersize'>" . $paperSize[$i] . "</option>\n"; |
} else { |
} else { |
$result .= "<option value='$i'>" . $paperSize[$i] . "</option>\n"; |
$result .= "<option value='$papersize'>" . $paperSize[$i] . "</option>\n"; |
} |
} |
$i++; |
$i++; |
} |
} |
|
|
$result .= "</select></td></tr></table>"; |
$result .= "</select></td></tr></table>"; |
return $result; |
return $result; |
} |
} |