Diff for /loncom/interface/lonprintout.pm between versions 1.71 and 1.72

version 1.71, 2002/09/19 18:33:20 version 1.72, 2002/09/19 20:18:09
Line 378  ENDPART Line 378  ENDPART
  for (my $i=0;$i<=$#master_seq;$i++) {   for (my $i=0;$i<=$#master_seq;$i++) {
             my ($urlp,$symb) = split /&&/, $master_seq[$i];              my ($urlp,$symb) = split /&&/, $master_seq[$i];
     if ($choice eq 'Standard LaTeX output for the primary sequence') {      if ($choice eq 'Standard LaTeX output for the primary sequence') {
               #prints only problems
  $selectionmade = 2;   $selectionmade = 2;
   if ($urlp =~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {    if ($urlp =~ m/\.(problem|exam|quiz|assess|survey|form|library)/) {
     my %moreenv;      my %moreenv;
Line 394  ENDPART Line 395  ENDPART
     $flag_latex_header_remove = 'YES';      $flag_latex_header_remove = 'YES';
  }   }
     } elsif ($urlp =~ /\S+/) {      } elsif ($urlp =~ /\S+/) {
                 #prints problems, pages and any html/xml files
  $selectionmade = 3;   $selectionmade = 3;
  my %moreenv;   my %moreenv;
  $moreenv{'form.grade_target'}='tex';   $moreenv{'form.grade_target'}='tex';
Line 421  ENDPART Line 423  ENDPART
         # where is the main sequence of the course?          # where is the main sequence of the course?
  $selectionmade = 4;   $selectionmade = 4;
  my $main_seq = '/res/'.$ENV{'request.course.uri'};   my $main_seq = '/res/'.$ENV{'request.course.uri'};
  my @file_seq = &coming_from_hash($main_seq);    my @file_seq = &coming_from_hash($main_seq);
    my $flag_latex_header_remove = 'NO';
         #-- produce an output string          #-- produce an output string
  for (my $i=0;$i<=$#file_seq;$i++) {   for (my $i=0;$i<=$#file_seq;$i++) {
             my ($urlp,$symb) = split /&&/, $file_seq[$i];              my ($urlp,$symb) = split /&&/, $file_seq[$i];
Line 431  ENDPART Line 434  ENDPART
  $moreenv{'form.grade_target'}='tex';   $moreenv{'form.grade_target'}='tex';
  &Apache::lonnet::appenv(%moreenv);   &Apache::lonnet::appenv(%moreenv);
  my $texversion=&Apache::lonnet::ssi($urlp);   my $texversion=&Apache::lonnet::ssi($urlp);
  &Apache::lonnet::delenv('form.grade_target');   &Apache::lonnet::delenv('form.grade_target');    
    if ($flag_latex_header_remove ne 'NO') {
       $texversion = &latex_header_footer_remove($texversion);
    } else {
       $texversion =~ s/\\end{document}//;
    }
  $result .= $texversion;           $result .= $texversion;        
     }      }
       $flag_latex_header_remove = 'YES';  
  }       }    
  $result = &additional_cleanup($result);   $result .= '\end{document}';
     } elsif ($choice eq 'All class print') {       } elsif ($choice eq 'All class print') { 
     #-- prints assignments for whole class or for selected students        #-- prints assignments for whole class or for selected students  
  $selectionmade = 5;   $selectionmade = 5;
Line 450  ENDPART Line 459  ENDPART
  $symbolic =~ m/([^_]+)_/;   $symbolic =~ m/([^_]+)_/;
  my $primary_sequence = '/res/'.$1;   my $primary_sequence = '/res/'.$1;
  my @master_seq = &coming_from_hash($primary_sequence);    my @master_seq = &coming_from_hash($primary_sequence); 
        #loop over students          #loop over students
    my $flag_latex_header_remove = 'NO';  
  foreach my $person (@students) {   foreach my $person (@students) {
     my $current_output = '';       my $current_output = ''; 
     my ($usersection,$username,$userdomain) = split /:/,$person;      my ($usersection,$username,$userdomain) = split /:/,$person;
     my $fullname = &Apache::grades::get_fullname($username,$userdomain);      my $fullname = &Apache::grades::get_fullname($username,$userdomain);
             #goes through all resources, checks if they are available for current student, and produces output               #goes through all resources, checks if they are available for current student, and produces output   
     foreach my $curresline (@master_seq)  {      foreach my $curresline (@master_seq)  {
  my ($curres,$symb) = split /&&/, $curresline;   my ($curres,$symb) = split /&&/, $curresline;
  $curres =~ s/^"//;   $curres =~ s/^"//;
Line 465  ENDPART Line 475  ENDPART
     if (&Apache::lonnet::allowed('bre',$res_url)) {      if (&Apache::lonnet::allowed('bre',$res_url)) {
  my $rendered = &Apache::loncommon::get_student_view($symb,$username,$userdomain,   my $rendered = &Apache::loncommon::get_student_view($symb,$username,$userdomain,
                                                                         $ENV{'request.course.id'},'tex');                                                                          $ENV{'request.course.id'},'tex');
    if ($flag_latex_header_remove ne 'NO') {
       $rendered = &latex_header_footer_remove($rendered);
    } else {
       $rendered =~ s/\\end{document}//;
    }
  $current_output .= $rendered;   $current_output .= $rendered;
     }      }
  }   }
    $flag_latex_header_remove = 'YES';  
       }
       if ($current_output=~/\\documentclass/) {
    $current_output =~ s/\\begin{document}/\\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$fullname}}\\hskip 1\.4in } \\vskip 5 mm /;
       } else {
    $current_output = '\\vskip 3mm\noindent\parbox{\minipagewidth}{\noindent\fbox{\textbf{'.$fullname.'}}\hskip 1.4in } \vskip 5 mm '.$current_output;
     }      }
     $current_output =~ s/\\begin{document}/\\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent\\fbox{\\textbf{$fullname}}\\hskip 1\.4in } \\vskip 5 mm /;  
     $result .= $current_output;      $result .= $current_output;
  }   }
  $result = &additional_cleanup($result);   $result .= '\end{document}'; 
     } elsif ($choice eq 'Subdirectory print') {            } elsif ($choice eq 'Subdirectory print') {      
     #prints selected problems from the subdirectory       #prints selected problems from the subdirectory 
  $selectionmade = 6;   $selectionmade = 6;
Line 481  ENDPART Line 501  ENDPART
     if ($ENV{'form.whattoprint'.$i}=~/^\//) {      if ($ENV{'form.whattoprint'.$i}=~/^\//) {
  push @list_of_files,$ENV{'form.whattoprint'.$i};   push @list_of_files,$ENV{'form.whattoprint'.$i};
     }      }
  }   }
    my $flag_latex_header_remove = 'NO';  
  for (my $i=0;$i<=$#list_of_files;$i++) {   for (my $i=0;$i<=$#list_of_files;$i++) {
     my $urlp = $list_of_files[$i];      my $urlp = $list_of_files[$i];
     if ($urlp=~/\//) {      if ($urlp=~/\//) {
Line 494  ENDPART Line 515  ENDPART
  my $texversion=&Apache::lonnet::ssi($urlp);   my $texversion=&Apache::lonnet::ssi($urlp);
  &Apache::lonnet::delenv('form.grade_target');   &Apache::lonnet::delenv('form.grade_target');
  $texversion =~ s/(\\begin{document})/$1 {\\tiny\\begin{verbatim}$urlp\\end{verbatim}}/;   $texversion =~ s/(\\begin{document})/$1 {\\tiny\\begin{verbatim}$urlp\\end{verbatim}}/;
    if ($flag_latex_header_remove ne 'NO') {
       $texversion = &latex_header_footer_remove($texversion);
    } else {
       $texversion =~ s/\\end{document}//;
    }
  $result .= $texversion;   $result .= $texversion;
     }         }
       $flag_latex_header_remove = 'YES';  
  }   }
  $result = &additional_cleanup($result);         $result .= '\end{document}';      
     }      }
 #-- corrections for the different page formats  #-- corrections for the different page formats
     if ($layout eq 'CBI' and $numberofcolumns eq '1') {      if ($layout eq 'CBI' and $numberofcolumns eq '1') {
Line 966  sub character_chart { Line 993  sub character_chart {
   
 #'"`  #'"`
   
 sub additional_cleanup {  
     my $result = shift;  
     my $first_app = index($result,'\documentclass',0);  
     $first_app = index($result,'\documentclass',$first_app+5);  
     while ($first_app != -1) {  
  my $second_app = index($result,'begin{document}',$first_app);  
  $first_app = rindex($result,'\end{document}',$first_app);  
  if ($first_app == -1) {last;}  
  substr($result,$first_app,$second_app-$first_app+15) = '\vskip 3 mm';  
  $first_app = index($result,'\documentclass',$first_app+5);  
     }  
     return $result;  
 }  
   
   
 sub page_cleanup {  sub page_cleanup {
     my $result = shift;      my $result = shift;

Removed from v.1.71  
changed lines
  Added in v.1.72


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