Diff for /loncom/interface/lonprintout.pm between versions 1.295 and 1.296

version 1.295, 2004/04/26 19:00:29 version 1.296, 2004/04/30 17:18:42
Line 672  sub get_textwidth { Line 672  sub get_textwidth {
     return $textwidth;      return $textwidth;
 }  }
   
   
   sub unsupported {
       my $currentURL=shift;
       my $result.='\documentclass[letterpaper]{article}\usepackage{calc}\begin{document}Printout of this type of document is currently not supported: ';
       if ($currentURL=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) {
    $result.='\textbf{'.$1.'}';
       } elsif ($currentURL=~/\/ext\//) {
    $result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' ';
       } else {
    $result.=$currentURL;
       }
       $result.=' \end{document}';
       return $result;
   }
   
   
 sub output_data {  sub output_data {
     my ($r,$helper,$rparmhash) = @_;      my ($r,$helper,$rparmhash) = @_;
     my %parmhash = %$rparmhash;      my %parmhash = %$rparmhash;
Line 868  ENDPART Line 884  ENDPART
  my $texversion=&Apache::lonnet::ssi($currentURL,%form);   my $texversion=&Apache::lonnet::ssi($currentURL,%form);
  $result .= $texversion;   $result .= $texversion;
  } else {   } else {
   $result.='\documentclass[letterpaper]{article}\usepackage{calc}\begin{document}Printout of this type of document is currently not supported: ';      $result.=&unsupported($currentURL);
   if ($currentURL=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) {  
       $result.=$1;  
   } elsif ($currentURL=~/\/ext\//) {  
       $result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' ';  
   } else {  
       $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
              ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') or               ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') or
      ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences')) {        ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences')) { 
         #-- produce an output string          #-- produce an output string
    if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') {
       $selectionmade = 2;
    } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') {
       $selectionmade = 3;
    } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') {
       $selectionmade = 4;
    } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences') {
       $selectionmade = 7;
    }
  my %form=();      my %form=();   
  $form{'grade_target'}='tex';   $form{'grade_target'}='tex';
  $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth);   $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth);
Line 897  ENDPART Line 914  ENDPART
  for (my $i=0;$i<=$#master_seq;$i++) {   for (my $i=0;$i<=$#master_seq;$i++) {
     my (undef,undef,$urlp)=&Apache::lonnet::decode_symb($master_seq[$i]);      my (undef,undef,$urlp)=&Apache::lonnet::decode_symb($master_seq[$i]);
     $urlp=&Apache::lonnet::clutter($urlp);      $urlp=&Apache::lonnet::clutter($urlp);
     if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') {  
  $selectionmade = 2;  
     } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') {  
  $selectionmade = 3;  
     } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') {  
  $selectionmade = 4;  
     } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences') {  
  $selectionmade = 7;  
     }  
     $form{'symb'}=$master_seq[$i];      $form{'symb'}=$master_seq[$i];
     my ($sequence)=&Apache::lonnet::decode_symb($master_seq[$i]);      my ($sequence)=&Apache::lonnet::decode_symb($master_seq[$i]);
     my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #tittle of the assignment which contains this problem      my $assignment=&Apache::lonxml::latex_special_symbols(&Apache::lonnet::gettitle($sequence),'header'); #tittle of the assignment which contains this problem
     if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;}      if ($selectionmade==7) {$helper->{VARS}->{'assignment'}=$assignment;}
     if ($i==0) {$prevassignment=$assignment;}      if ($i==0) {$prevassignment=$assignment;}
     #&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]");      #&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]");
     my $texversion.=&Apache::lonnet::ssi($urlp,%form);      if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) {
     if ($urlp=~/\.page$/) {   my $texversion.=&Apache::lonnet::ssi($urlp,%form);
  ($texversion,my $number_of_columns_page) = &page_cleanup($texversion);   if ($urlp=~/\.page$/) {
  if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;}       ($texversion,my $number_of_columns_page) = &page_cleanup($texversion);
  $texversion =~ s/\\end{document}\d*/\\end{document}/;      if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;} 
  $flag_page_in_sequence = 'YES';      $texversion =~ s/\\end{document}\d*/\\end{document}/;
     }       $flag_page_in_sequence = 'YES';
     my $lonidsdir=$r->dir_config('lonIDsDir');   } 
     my $envfile=$ENV{'user.environment'};   my $lonidsdir=$r->dir_config('lonIDsDir');
     $envfile=~/\/([^\/]+)\.id$/;   my $envfile=$ENV{'user.environment'};
             $envfile=$1;   $envfile=~/\/([^\/]+)\.id$/;
     &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);   $envfile=$1;
     my $current_counter=$ENV{'form.counter'};   &Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile);
     if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||   my $current_counter=$ENV{'form.counter'};
        ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {   if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') ||
  my %form;     ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) {
  $form{'grade_target'}='answer';      my %form;
  $form{'answer_output_mode'}='tex';      $form{'grade_target'}='answer';
  my $answer=&Apache::lonnet::ssi($urlp,%form);      $form{'answer_output_mode'}='tex';
                 &Apache::lonnet::appenv(('form.counter' => $current_counter));      my $answer=&Apache::lonnet::ssi($urlp,%form);
  if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {      &Apache::lonnet::appenv(('form.counter' => $current_counter));
     $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;      if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
  } else {   $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
     if ($urlp=~/\.(problem|exam|quiz|library)$/) {  
  $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});  
  $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($urlp).'}\vskip 0 mm ';  
  $texversion.=&path_to_problem ($urlp,$LaTeXwidth);  
  $texversion.='\vskip 1 mm '.$answer;  
     } else {      } else {
  $texversion='';   if ($urlp=~/\.(problem|exam|quiz|library)$/) {
       $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'});
       $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($urlp).'}\vskip 0 mm ';
       $texversion.=&path_to_problem ($urlp,$LaTeXwidth);
       $texversion.='\vskip 1 mm '.$answer;
    } else {
       $texversion='';
    }
     }      }
  }   }
     }   if ($flag_latex_header_remove ne 'NO') {
     if ($flag_latex_header_remove ne 'NO') {      $texversion = &latex_header_footer_remove($texversion);
  $texversion = &latex_header_footer_remove($texversion);   } else {
       $texversion =~ s/\\end{document}//;
    }
    if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') {
       $texversion=&IndexCreation($texversion,$urlp);
    }
    if (($selectionmade == 4) and ($assignment ne $prevassignment)) {
       my $name = &get_name();
       my $courseidinfo = &get_course();
       if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }
       $prevassignment=$assignment;
       $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip -5 mm ';
    }
    $result .= $texversion;
    $flag_latex_header_remove = 'YES';   
     } else {      } else {
  $texversion =~ s/\\end{document}//;   $result.=&unsupported($urlp);
     }      }    
     if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') {  
  $texversion=&IndexCreation($texversion,$urlp);  
     }  
     if (($selectionmade == 4) and ($assignment ne $prevassignment)) {  
  my $name = &get_name();  
  my $courseidinfo = &get_course();  
  if (defined($courseidinfo)) { $courseidinfo=' - '.$courseidinfo }  
  $prevassignment=$assignment;  
  $result .='\newpage \noindent\parbox{\minipagewidth}{\noindent\\lhead{\\textit{\\textbf{'.$name.'}}'.$courseidinfo.' \\hfill \\thepage \\\\ \\textit{'.$assignment.'}}} \vskip -5 mm ';  
     }  
     $result .= $texversion;  
     $flag_latex_header_remove = 'YES';     
  }   }
  &Apache::lonnet::delenv('form.counter');   &Apache::lonnet::delenv('form.counter');
  if ($flag_page_in_sequence eq 'YES') {$result =~ s/\\usepackage{calc}/\\usepackage{calc}\\usepackage{longtable}/;}   if ($flag_page_in_sequence eq 'YES') {$result =~ s/\\usepackage{calc}/\\usepackage{calc}\\usepackage{longtable}/;}

Removed from v.1.295  
changed lines
  Added in v.1.296


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