--- loncom/interface/lonprintout.pm 2003/10/29 18:30:07 1.260 +++ loncom/interface/lonprintout.pm 2003/11/10 23:26:42 1.263 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.260 2003/10/29 18:30:07 sakharuk Exp $ +# $Id: lonprintout.pm,v 1.263 2003/11/10 23:26:42 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -475,11 +475,7 @@ sub page_format_transformation { my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment,$tableofcontents,$indexlist) = @_; my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin); $assignment=&Apache::lonxml::latex_special_symbols($assignment,'header'); - if ($numberofcolumns != 1) { - ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = &page_format($papersize,$layout,$numberofcolumns,$topmargin); - } else { - ($textwidth,$textheight,$oddoffset,$evenoffset) = ($ENV{'form.width'},$ENV{'form.height'},$ENV{'form.leftmargin'},$ENV{'form.leftmargin'}); - } + ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = &page_format($papersize,$layout,$numberofcolumns,$topmargin); my $name = &get_name(); my $courseidinfo = &get_course(); if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo } @@ -705,6 +701,7 @@ ENDPART if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { my %moreenv; $moreenv{'request.filename'}=$currentURL; + if ($helper->{'VARS'}->{'style_file'}=~/\w/) {$moreenv{'construction_space_style'}=$helper->{'VARS'}->{'style_file'};} my %form; $form{'grade_target'}='tex'; $form{'textwidth'}=$LaTeXwidth; @@ -1078,10 +1075,10 @@ ENDPART $result = &latex_corrections($number_of_columns,$result); #changes page's parameters for the one column output if ($numberofcolumns == 1) { - $result =~ s/\\textwidth= 9cm/\\textwidth= $helper->{'VARS'}->{'pagesize.width'} $helper->{'VARS'}->{'pagesize.widthunit'} /; - $result =~ s/\\textheight 25\.9cm/\\textheight $helper->{'VARS'}->{'pagesize.height'} $helper->{'VARS'}->{'pagesize.heightunit'} /; - $result =~ s/\\evensidemargin = -0\.57in/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; - $result =~ s/\\oddsidemargin = -0\.57in/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; + $result =~ s/\\textwidth\s*=\s*\d*\.?\d*\s*(cm|mm|in)/\\textwidth= $helper->{'VARS'}->{'pagesize.width'} $helper->{'VARS'}->{'pagesize.widthunit'} /; + $result =~ s/\\textheight\s*=\s*\d*\.?\d*\s*(cm|mm|in)/\\textheight $helper->{'VARS'}->{'pagesize.height'} $helper->{'VARS'}->{'pagesize.heightunit'} /; + $result =~ s/\\evensidemargin\s*=\s*\d*\.?\d*\s*(cm|mm|in)/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; + $result =~ s/\\oddsidemargin\s*=\s*\d*\.?\d*\s*(cm|mm|in)/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /; } #-- writing .tex file in prtspool my $temp_file; @@ -1091,7 +1088,7 @@ ENDPART return SERVER_ERROR; } - my $identifier = time.'_'.int(rand(1000)); + my $identifier = &Apache::loncommon::get_cgi_id(); &Apache::lonnet::appenv('cgi.'.$identifier.'.file' => $filename, 'cgi.'.$identifier.'.layout' => $laystyle, 'cgi.'.$identifier.'.numcol' => $numberofcolumns, @@ -1198,6 +1195,7 @@ sub printHelper { $helper->declareVar('filename'); $helper->declareVar('construction'); $helper->declareVar('assignment'); + $helper->declareVar('style_file'); # This will persistently load in the data we want from the # very first screen. @@ -1546,7 +1544,10 @@ CHOOSE_FROM_ANY_SEQUENCE return $helper->{VARS}->{'curseed'}; - + + Use style file: + + RNDSEED &Apache::lonxml::xmlparse($r, 'helper', $xmlfrag);