Diff for /loncom/interface/lonprintout.pm between versions 1.201 and 1.207

version 1.201, 2003/07/01 20:15:06 version 1.207, 2003/08/01 19:22:47
Line 396  sub page_format { Line 396  sub page_format {
 # 8 - "A6 [105x148 mm]"  # 8 - "A6 [105x148 mm]"
 #   # 
     my ($papersize,$layout,$numberofcolumns) = @_;       my ($papersize,$layout,$numberofcolumns) = @_; 
     my ($textwidth,$textheight,$oddoffset,$evenoffset) = (0,0,0,0);      my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = (0,0,0,0,0);
     if ($papersize eq '0') {      if ($papersize eq '0') {
  if ($layout eq 'book') {   if ($layout eq 'book') {
     if ($numberofcolumns == 1) {      if ($numberofcolumns == 1) {
Line 417  sub page_format { Line 417  sub page_format {
  $oddoffset = '-40 pt';   $oddoffset = '-40 pt';
  $evenoffset = '-60 pt';   $evenoffset = '-60 pt';
     } elsif ($numberofcolumns == 2) {      } elsif ($numberofcolumns == 2) {
  $textwidth = '4.2 in';   $textwidth = '4.4 in';
  $textheight = '6.8 in';   $textheight = '6.8 in';
  $oddoffset = '-40 pt';   $oddoffset = '-0.5 in';
  $evenoffset = '-60 pt';   $evenoffset = '-1.5 in';
    $topmargin = '3.5 in';
     }      }
  }   }
 #    } elsif($papersize eq '1') {  #    } elsif($papersize eq '1') {
Line 457  sub page_format { Line 458  sub page_format {
 #    } elsif($papersize eq '7') {  #    } elsif($papersize eq '7') {
 #    } elsif($papersize eq '8') {  #    } elsif($papersize eq '8') {
     }      }
     return $textwidth,$textheight,$oddoffset,$evenoffset;      return $textwidth,$textheight,$oddoffset,$evenoffset,$topmargin;
 }  }
   
   
Line 474  sub get_name { Line 475  sub get_name {
   
 sub page_format_transformation {  sub page_format_transformation {
     my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment) = @_;       my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment) = @_; 
     my ($textwidth,$textheight,$oddoffset,$evenoffset);      my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin);
  $assignment=~s/_/ /g;   $assignment=~s/_/ /g;
         if ($numberofcolumns != 1) {          if ($numberofcolumns != 1) {
           ($textwidth,$textheight,$oddoffset,$evenoffset) = &page_format($papersize,$layout,$numberofcolumns);            ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin) = &page_format($papersize,$layout,$numberofcolumns,$topmargin);
  } else {   } else {
   ($textwidth,$textheight,$oddoffset,$evenoffset) = ($ENV{'form.width'},$ENV{'form.height'},$ENV{'form.leftmargin'},$ENV{'form.leftmargin'});    ($textwidth,$textheight,$oddoffset,$evenoffset) = ($ENV{'form.width'},$ENV{'form.height'},$ENV{'form.leftmargin'},$ENV{'form.leftmargin'});
  }   }
Line 488  sub page_format_transformation { Line 489  sub page_format_transformation {
     }      }
     my $courseidinfo = &Apache::lonxml::latex_special_symbols(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}),'','','header');      my $courseidinfo = &Apache::lonxml::latex_special_symbols(&Apache::lonnet::unescape($ENV{'course.'.$ENV{'request.course.id'}.'.description'}),'','','header');
     if ($layout eq 'album') {      if ($layout eq 'album') {
     $text =~ s/\\begin{document}/\\setlength{\\oddsidemargin}{$oddoffset}\\setlength{\\evensidemargin}{$evenoffset}\\setlength{\\topmargin}{200pt}\\setlength{\\textwidth}{$textwidth}\\setlength{\\textheight}{$textheight}\\setlength{\\parindent}{20pt}\\setlength{\\marginparwidth}{90pt}\\setlength{\\textfloatsep}{8pt plus 2\.0pt minus 4\.0pt}\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm} \\begin{document}\\setcounter{page}{1}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$name}} \\hfill  $courseidinfo} \\vskip 5 mm /;   my $topmargintoinsert = '';
    if ($topmargin ne '0') {$topmargintoinsert='\setlength{\topmargin}{'.$topmargin.'}';}
       $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} /;
     } 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\\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\\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}/;
Line 616  ENDPART Line 619  ENDPART
     $currentURL=$helper->{'VARS'}->{'filename'};      $currentURL=$helper->{'VARS'}->{'filename'};
     $currentURL=~s/\/home\//\/~/;      $currentURL=~s/\/home\//\/~/;
     $currentURL=~s/public_html\///;      $currentURL=~s/public_html\///;
       if ($currentURL=~/([^?]+)/) {$currentURL=$1;}
  }   }
  $selectionmade = 1;   $selectionmade = 1;
  if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {   if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
Line 624  ENDPART Line 628  ENDPART
     my %form;      my %form;
     $form{'grade_target'}='tex';      $form{'grade_target'}='tex';
     $form{'textwidth'}=$LaTeXwidth;      $form{'textwidth'}=$LaTeXwidth;
     $form{'problem_split'}=$parmhash{'problem_stream_switch'};       $form{'problem_split'}=$parmhash{'problem_stream_switch'};
       $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
     my $rndseed=time;      my $rndseed=time;
     $form{'rndseed'}=$rndseed;      $form{'rndseed'}=$rndseed;
     &Apache::lonnet::appenv(%moreenv);      &Apache::lonnet::appenv(%moreenv);
Line 646  ENDPART Line 651  ENDPART
  ($result,$number_of_columns) = &page_cleanup($result);   ($result,$number_of_columns) = &page_cleanup($result);
     }      }
  } else {   } else {
 #  $result='\documentclass[letterpaper]{article}\usepackage{calc}\begin{document}Printout of this type of document is currently not supported: ';    $result='\documentclass[letterpaper]{article}\usepackage{calc}\begin{document}Printout of this type of document is currently not supported: ';
 #  if ($ENV{'form.url'}=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) {    if ($currentURL=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) {
 #      $result.=$1;        $result.=$1;
 #  } else {    } elsif ($currentURL=~/\/ext\//) {
 #      $result.=$ENV{'form.url'};        $result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' ';
 #  }    } else {
 #  $result.=' \end{document}'        $result.=$currentURL;
     }
     $result.=' \end{document}'
  }   }
     } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') or      } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') or
              ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or               ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or
Line 662  ENDPART Line 669  ENDPART
  $form{'grade_target'}='tex';   $form{'grade_target'}='tex';
  $form{'textwidth'}=$LaTeXwidth;   $form{'textwidth'}=$LaTeXwidth;
  $form{'problem_split'}=$parmhash{'problem_stream_switch'};   $form{'problem_split'}=$parmhash{'problem_stream_switch'};
    $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
  my $flag_latex_header_remove = 'NO';   my $flag_latex_header_remove = 'NO';
  my $flag_page_in_sequence = 'NO';   my $flag_page_in_sequence = 'NO';
  my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};   my @master_seq=split /\|\|\|/, $helper->{'VARS'}->{'RESOURCES'};
Line 753  ENDPART Line 761  ENDPART
  if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {   if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
     my %form;      my %form;
     $form{'answer_output_mode'}='tex';      $form{'answer_output_mode'}='tex';
       $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
     my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%form);      my $ansrendered = &Apache::loncommon::get_student_answers($curresline,$username,$userdomain,$ENV{'request.course.id'},%form);
     $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/;      $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/;
  }   }
Line 802  ENDPART Line 811  ENDPART
     my %form;      my %form;
     $form{'grade_target'}='answer';      $form{'grade_target'}='answer';
     $form{'answer_output_mode'}='tex';      $form{'answer_output_mode'}='tex';
       $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
     $form{'rndseed'}=$rndseed;      $form{'rndseed'}=$rndseed;
     my $answer=&Apache::lonnet::ssi($urlp,%form);      my $answer=&Apache::lonnet::ssi($urlp,%form);
     $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;      $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
Line 893  sub handler { Line 903  sub handler {
   
     my %parmhash=&Apache::lonnet::coursedescription($ENV{'request.course.id'});      my %parmhash=&Apache::lonnet::coursedescription($ENV{'request.course.id'});
           
  my $key;   # my $key; 
 # foreach $key (keys %parmhash) {  # foreach $key (keys %parmhash) {
 #    $r->print(' '.$key.'->'.$parmhash{$key}.'<-<br />');  #    $r->print(' '.$key.'->'.$parmhash{$key}.'<-<br />');
 # }  # }
Line 1100  HELPERFRAGMENT Line 1110  HELPERFRAGMENT
       </resource>        </resource>
     <message><br /><big><i><b>How should the results be printed?</b></i></big><br /></message>      <message><br /><big><i><b>How should the results be printed?</b></i></big><br /></message>
     <choices variable="EMPTY_PAGES">      <choices variable="EMPTY_PAGES">
       <choice computer='0'>Start each student\'s assignment on a new page (add a pagefeed after each assignment)</choice>        <choice computer='0'>Start each student\'s assignment on a new page/column (add a pagefeed after each assignment)</choice>
       <choice computer='1'>Add one empty page after each student\'s assignment</choice>        <choice computer='1'>Add one empty page/column after each student\'s assignment</choice>
       <choice computer='2'>Add two empty pages after each student\'s assignment</choice>        <choice computer='2'>Add two empty pages/column after each student\'s assignment</choice>
         <choice computer='3'>Add three empty pages/column after each student\'s assignment</choice>
       </choices>        </choices>
     </state>      </state>
 CHOOSE_STUDENTS  CHOOSE_STUDENTS
Line 1123  CHOOSE_FROM_SUBDIR Line 1134  CHOOSE_FROM_SUBDIR
                   
         $xmlfrag .= <<'CHOOSE_FROM_SUBDIR';          $xmlfrag .= <<'CHOOSE_FROM_SUBDIR';
       <filefilter>return $filename =~         <filefilter>return $filename =~ 
            m/^[^\.]+\.(problem|exam|quiz|assess|survey|form|library)$/;             m/\.(problem|exam|quiz|assess|survey|form|library)$/;
       </filefilter>        </filefilter>
       </files>        </files>
     </state>      </state>
Line 1155  CHOOSE_FROM_SUBDIR Line 1166  CHOOSE_FROM_SUBDIR
                                    ['Print with answers', 'no'] ];                                     ['Print with answers', 'no'] ];
         Apache::lonhelper::choices->new();          Apache::lonhelper::choices->new();
     }      }
       if ($ENV{'request.role.adv'}) {
           $paramHash = Apache::lonhelper::getParamHash();
           $paramHash->{MESSAGE_TEXT} = "<br /><big><b><i>Another option available only for advanced users:</i></b></big><br />";
           Apache::lonhelper::message->new();
           $paramHash = Apache::lonhelper::getParamHash();
    $paramHash->{'variable'} = 'LATEX_TYPE';   
    $helper->declareVar('LATEX_TYPE');  
    if ($helper->{VARS}->{'construction'} eq '1') {       
       $paramHash->{CHOICES} = [
        ['Print in standard LaTeX mode', 'standard'], 
        ['Print in LaTeX batchmode', 'batchmode'], ];
    } else {
       $paramHash->{CHOICES} = [
        ['Print in LaTeX batchmode', 'batchmode'],
        ['Print in standard LaTeX mode', 'standard'] ];
    }
           Apache::lonhelper::choices->new();
       } 
   
     Apache::lonprintout::page_format_state->new("FORMAT");      Apache::lonprintout::page_format_state->new("FORMAT");
   

Removed from v.1.201  
changed lines
  Added in v.1.207


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>