--- loncom/interface/lonprintout.pm 2006/07/17 13:54:36 1.462 +++ loncom/interface/lonprintout.pm 2006/07/17 23:11:10 1.463 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.462 2006/07/17 13:54:36 albertel Exp $ +# $Id: lonprintout.pm,v 1.463 2006/07/17 23:11:10 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -627,7 +627,7 @@ my %page_formats= '2' => ['3.66 in','9.8 in', '-0.57 in','-0.57 in','0.7 cm'] }, 'album' => { - '1' => [ '8.8 in', '6.8 in','-40 pt in', '-60 pt','1 cm'], + '1' => [ '8.8 in', '6.8 in','-0.55 in', '-0.83 in','1 cm'], '2' => [ '4.4 in', '6.8 in','-0.5 in', '-1.5 in','3.5 in'] }, }, @@ -683,12 +683,12 @@ my %page_formats= }, 'a4' => { 'book' => { - '1' => ['176 mm','272 mm','-40 pt in','-60 pt','-0.5 in'], - '2' => [ '91 mm','272 mm','-40 pt in','-60 pt','-0.5 in'] + '1' => ['17.6 cm','27.2 cm','-0.55 in','-0.83 in','-0.5 in'], + '2' => [ '9.1 cm','27.2 cm','-0.55 in','-0.83 in','-0.5 in'] }, 'album' => { - '1' => ['8.5 in','7.7 in','-40 pt in','-60 pt','0 in'], - '2' => ['3.9 in','7.7 in','-40 pt in','-60 pt','0 in'] + '1' => ['8.5 in','7.7 in','-0.55 in','-0.83 in','0 in'], + '2' => ['3.9 in','7.7 in','-0.55 in','-0.83 in','0 in'] }, }, 'a5' => { @@ -1082,11 +1082,9 @@ sub print_construction_sequence { # my @order = @Apache::lonratedt::order; my @resources = @Apache::lonratedt::resources; - &Apache::lonnet::logthis("mapread for $currentURL returned: $errtext"); for (my $member=0;$member<=$#order;$member++) { $resources[$order[$member]]=~/^([^:]*):([^:]*):/; my $urlp=$2; - &Apache::lonnet::logthis("Processing $urlp from sequence ($member)"); if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|xml|html|htm|xhtml|xhtm)$/) { my $texversion=''; if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { @@ -1133,7 +1131,6 @@ sub print_construction_sequence { $result.=$texversion; } elsif ($urlp=~/\.(sequence|page)$/) { - &Apache::lonnet::logthis("elsif just strutting stuff"); # header: @@ -1337,15 +1334,11 @@ ENDPART && $currentURL=~/\.sequence$/ && $helper->{'VARS'}->{'construction'} eq '1') { #printing content of sequence from the construction space $currentURL=~s|\/~([^\/]+)\/|\/home\/$1\/public_html\/|; - &Apache::lonnet::logthis("Sequence from constrution space. ouptput is:"); - &Apache::lonnet::logthis($result); $result .= &print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); $result .= &print_construction_sequence($currentURL, $helper, %form, $LaTeXwidth); - &Apache::lonnet::logthis("Back from construction space print"); $result .= '\end{document}'; if (!($result =~ /\\begin\{document\}/)) { - &Apache::lonnet::logthis("inserting header"); $result = &print_latex_header() . $result; } # End construction space sequence. @@ -2973,8 +2966,7 @@ sub new { # $helper->{VARS} to figure out whether the columns are one or two $self->{'formatvar'} = shift; - # The state to transition to after selection, or after discovering - # the cols are not set to 1 + $self->{NEXTSTATE} = shift; bless($self); return $self; @@ -2990,41 +2982,87 @@ sub render { $result .= '
' . $self->{ERROR_MSG} . '
'; } - my $width = 18; my $format = $helper->{VARS}->{$self->{'formatvar'}}; - if (substr($format, 2, 1) ne '1') { - $width = 9; + + # Use format to get sensible defaults for the margins: + + + my ($laystyle, $cols, $papersize) = split(/\|/, $format); + ($papersize) = split(/ /, $papersize); + + + if ($laystyle eq 'L') { + $laystyle = 'album'; + } else { + $laystyle = 'book'; + } + + + + my ($width_and_units, + $height_and_units, + $margin_and_units) = + &Apache::lonprintout::page_format($papersize, $laystyle, $cols); + + + my ($width, $wunits) = split(/ /, $width_and_units); + my ($height, $hunits) = split(/ /, $height_and_units); + my ($margin, $munits) = split(/ /, $margin_and_units); + + + + # This code is a bit ugly and not very scalable with additional units. + # but I'm not sure my poor perlmanship knows a better way yet RF + + my ($wuoptions, $huoptions, $muoptions); + + if ($wunits eq 'cm') { + $wuoptions = ''; + } else { + $wuoptions = ''; + } + if ($hunits eq 'cm') { + $huoptions = ''; + } else { + $huoptions = ''; + } + if ($munits eq 'cm') { + $muoptions = ''; + } else { + $muoptions = ''; } $result .= <How should the column be formatted?

- + - + - + @@ -3044,9 +3082,6 @@ sub preprocess { my $helper = Apache::lonhelper::getHelper(); my $format = $helper->{VARS}->{$self->{'formatvar'}}; - if (substr($format, 2, 1) ne '1') { - $helper->changeState($self->{NEXTSTATE}); - } return 1; }
Width:
Height:
Left margin: