Diff for /loncom/interface/lonprintout.pm between versions 1.213 and 1.214

version 1.213, 2003/08/13 19:40:07 version 1.214, 2003/08/14 13:55:19
Line 481  sub get_course { Line 481  sub get_course {
 }  }
   
 sub page_format_transformation {  sub page_format_transformation {
     my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment,$tableofcontents) = @_;       my ($papersize,$layout,$numberofcolumns,$choice,$text,$assignment,$tableofcontents,$indexlist) = @_; 
     my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin);      my ($textwidth,$textheight,$oddoffset,$evenoffset,$topmargin);
     $assignment=~s/_/ /g;      $assignment=~s/_/ /g;
     if ($numberofcolumns != 1) {      if ($numberofcolumns != 1) {
Line 503  sub page_format_transformation { Line 503  sub page_format_transformation {
     $text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\begin{document}\\voffset=-0\.8cm\\setcounter{page}{1}  \\vskip 5 mm /;      $text =~ s/\\pagestyle{fancy}\\rhead{}\\chead{}\s*\\begin{document}/\\textheight = $textheight\\oddsidemargin = $evenoffset\\evensidemargin = $evenoffset\\textwidth= $textwidth\\newlength{\\minipagewidth}\\setlength{\\minipagewidth}{\\textwidth\/\$number_of_columns-0\.2cm}\\renewcommand{\\ref}{\\keephidden\}\\pagestyle{fancy}\\rhead{}\\chead{}\\begin{document}\\voffset=-0\.8cm\\setcounter{page}{1}  \\vskip 5 mm /;
  }   }
     }      }
     if ($tableofcontents eq 'yes') {$text=~s/(\\begin{document})/$1 \\tableofcontents \\vskip 0\.5mm\\noindent\\makebox\[\\textwidth\/1\]\[b\]{\\hrulefill}/;}      if ($tableofcontents eq 'yes') {$text=~s/(\\setcounter\{page\}\{1\})/$1 \\tableofcontents\\newpage /;}
       if ($indexlist eq 'yes') {
    $text=~s/(\\begin{document})/\\makeindex $1/;
    $text=~s/(\\end{document})/\\strut\\\\\\strut\\printindex $1/;
       }
     return $text;      return $text;
 }  }
   
Line 578  sub latex_corrections { Line 582  sub latex_corrections {
 }  }
   
   
   sub index_table {
       my $currentURL = shift;
       my $insex_string='';
       $currentURL=~s/\.([^\/+])$/\.$1\.meta/;
       $insex_string=&Apache::lonnet::metadata($currentURL,'keywords');
       return $insex_string;
   }
   
   
 sub output_data {  sub output_data {
     my ($r,$helper,$rparmhash) = @_;      my ($r,$helper,$rparmhash) = @_;
     my %parmhash = %$rparmhash;      my %parmhash = %$rparmhash;
Line 651  ENDPART Line 664  ENDPART
  my $answer=&Apache::lonnet::ssi($currentURL,%form);   my $answer=&Apache::lonnet::ssi($currentURL,%form);
  $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;   $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/;
     }      }
       if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') {
   # my $key_words=&index_table($currentURL);
    my @key_words=split(/,/,&index_table($currentURL));
    foreach my $key_word (@key_words) {
       if ($key_word=~/\S+/) {
    $texversion=~s/\b($key_word)\b/$1 \\index{$1} /;
       }
    }
   # $texversion=~s/(\\end{document})/\\strut\\\\\\strut {\\large \\textbf{INDEX}}\\strut\\\\\\strut$key_words\\strut\\\\\\strut$1/;
       }
     $result .= $texversion;      $result .= $texversion;
     if ($currentURL=~m/\.page\s*$/) {      if ($currentURL=~m/\.page\s*$/) {
  ($result,$number_of_columns) = &page_cleanup($result);   ($result,$number_of_columns) = &page_cleanup($result);
Line 853  ENDPART Line 876  ENDPART
  $result .= '\end{document}';         $result .= '\end{document}';      
     }      }
 #-------------------------------------------------------- corrections for the different page formats  #-------------------------------------------------------- corrections for the different page formats
     $result = &page_format_transformation($papersize,$laystyle,$numberofcolumns,$helper->{'VARS'}->{'PRINT_TYPE'},$result,$helper->{VARS}->{'assignment'},$helper->{'VARS'}->{'TABLE_CONTENTS'});      $result = &page_format_transformation($papersize,$laystyle,$numberofcolumns,$helper->{'VARS'}->{'PRINT_TYPE'},$result,$helper->{VARS}->{'assignment'},$helper->{'VARS'}->{'TABLE_CONTENTS'},$helper->{'VARS'}->{'TABLE_INDEX'});
     $result = &latex_corrections($number_of_columns,$result);      $result = &latex_corrections($number_of_columns,$result);
     #changes page's parameters for the one column output       #changes page's parameters for the one column output 
     if ($numberofcolumns == 1) {      if ($numberofcolumns == 1) {
Line 862  ENDPART Line 885  ENDPART
  $result =~ s/\\evensidemargin = -0\.57in/\\evensidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;   $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/\\oddsidemargin = -0\.57in/\\oddsidemargin= $helper->{'VARS'}->{'pagesize.lmargin'} $helper->{'VARS'}->{'pagesize.lmarginunit'} /;
     }      }
     if ($helper->{'VARS'}->{'TABLE_CONTENTS'} eq 'yes') {$selectionmade+=10;}      if ($helper->{'VARS'}->{'TABLE_CONTENTS'} eq 'yes') {$selectionmade*=10;}
       if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') {
    if ($selectionmade<10) {$selectionmade*=100;} else {$selectionmade*=10;}
       }
 #-- writing .tex file in prtspool   #-- writing .tex file in prtspool 
     my $temp_file;      my $temp_file;
     my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex";      my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex";
Line 1191  CHOOSE_FROM_SUBDIR Line 1217  CHOOSE_FROM_SUBDIR
   
           
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
         $paramHash->{MESSAGE_TEXT} = "<br /><big><b>Print with <i>Table of Contents:  </i></b></big>";          $paramHash->{MESSAGE_TEXT} = "<br /><big><i>Print with <b>Table of Contents:  </i></b></big>";
         Apache::lonhelper::message->new();          Apache::lonhelper::message->new();
         $paramHash = Apache::lonhelper::getParamHash();          $paramHash = Apache::lonhelper::getParamHash();
  $paramHash->{'variable'} = 'TABLE_CONTENTS';      $paramHash->{'variable'} = 'TABLE_CONTENTS';   
Line 1200  CHOOSE_FROM_SUBDIR Line 1226  CHOOSE_FROM_SUBDIR
                                    ['No', 'no'],                                     ['No', 'no'],
                                    ['Yes', 'yes'] ];                                     ['Yes', 'yes'] ];
         Apache::lonhelper::dropdown->new();          Apache::lonhelper::dropdown->new();
           
           $paramHash = Apache::lonhelper::getParamHash();
           $paramHash->{MESSAGE_TEXT} = "<br /><big><i>Print with <b>Index:  </i></b></big>";
           Apache::lonhelper::message->new();
           $paramHash = Apache::lonhelper::getParamHash();
    $paramHash->{'variable'} = 'TABLE_INDEX';   
    $helper->declareVar('TABLE_INDEX');         
           $paramHash->{CHOICES} = [
                                      ['No', 'no'],
                                      ['Yes', 'yes'] ];
           Apache::lonhelper::dropdown->new();
   
     Apache::lonprintout::page_format_state->new("FORMAT");      Apache::lonprintout::page_format_state->new("FORMAT");
   

Removed from v.1.213  
changed lines
  Added in v.1.214


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