--- loncom/interface/lonprintout.pm 2005/02/02 11:13:34 1.355 +++ loncom/interface/lonprintout.pm 2005/02/10 21:05:03 1.360 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.355 2005/02/02 11:13:34 foxr Exp $ +# $Id: lonprintout.pm,v 1.360 2005/02/10 21:05:03 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,9 +42,6 @@ use Apache::lonratedt; use POSIX qw(strftime); use Apache::lonlocal; -my $LaTeXwidth = 0; - - # Compare two students by name. The students are in the form # returned by the helper: # user:domain:section:last, first:status @@ -698,7 +695,7 @@ sub IndexCreation { sub print_latex_header { my $mode=shift; my $output='\documentclass[letterpaper]{article}'; - if ($mode eq 'batchmode') { + if (($mode eq 'batchmode') || (!$ENV{'request.role.adv'})) { $output.='\batchmode'; } $output.='\newcommand{\keephidden}[1]{}\renewcommand{\deg}{$^{\circ}$}'."\n". @@ -726,7 +723,7 @@ sub path_to_problem { my $newurlp = ''; $colwidth=~s/\s*mm\s*$//; #characters average about 2 mm in width - if (length($urlp)*2 > $LaTeXwidth) { + if (length($urlp)*2 > $colwidth) { my @elements = split '/',$urlp; my $curlength=0; foreach my $element (@elements) { @@ -824,10 +821,6 @@ $bodytag Please stand by while processing your print request, this may take some time ... ENDPART - # Common settings for the %form has: - - my %form; - my $format_from_helper = $helper->{'VARS'}->{'FORMAT'}; my ($result,$selectionmade) = ('',''); my $number_of_columns = 1; #used only for pages to determine the width of the cell @@ -843,6 +836,15 @@ ENDPART my $LaTeXwidth=&recalcto_mm($textwidth); my @print_array=(); my @student_names=(); + + # Common settings for the %form has: + # In some cases these settings get overriddent by specific cases, but the + # settings are common enough to make it worthwhile factoring them out + # here. + # + my %form; + $form{'grade_target'} = 'tex'; + $form{'textwidth'} = &get_textwidth($helper, $LaTeXwidth); if ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'current_document') { #-- single document - problem, page, html, xml, ... @@ -871,8 +873,6 @@ ENDPART my $put_result = &Apache::lonnet::put('environment',{'construct.style'=>$helper->{'VARS'}->{'style_file'}},$dom,$user); } if ($helper->{'VARS'}->{'probstatus'} eq 'exam') {$form{'problemtype'}='exam';} - $form{'grade_target'}='tex'; - $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'problem_split'}=$parmhash{'problem_stream_switch'}; $form{'suppress_tries'}=$parmhash{'suppress_tries'}; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; @@ -938,8 +938,6 @@ ENDPART if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|xml|html|htm|xhtml|xhtm)$/) { my $texversion=''; if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { - $form{'grade_target'}='tex'; - $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'problem_split'}=$parmhash{'problem_stream_switch'}; $form{'suppress_tries'}=$parmhash{'suppress_tries'}; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; @@ -984,8 +982,6 @@ ENDPART if ($helper->{VARS}->{'construction'} eq '1') {$result=~s/(\\begin{document})/$1 \\fbox\{RANDOM SEED IS $rndseed\} /;} $result .= '\end{document}'; } elsif ($cleanURL=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { - $form{'grade_target'}='tex'; - $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; if ($currentURL=~/\/syllabus$/) {$currentURL=~s/\/res//;} my $texversion=&Apache::lonnet::ssi($currentURL,%form); @@ -1010,8 +1006,6 @@ ENDPART } elsif ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences') { $selectionmade = 7; } - $form{'grade_target'}='tex'; - $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'problem_split'}=$parmhash{'problem_stream_switch'}; $form{'suppress_tries'}=$parmhash{'suppress_tries'}; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; @@ -1096,8 +1090,6 @@ ENDPART $result .= $texversion; $flag_latex_header_remove = 'YES'; } elsif ($urlp=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { - $form{'grade_target'}='tex'; - $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; if ($urlp=~/\/syllabus$/) {$urlp=~s/\/res//;} my $texversion=&Apache::lonnet::ssi($urlp,%form); @@ -1177,7 +1169,8 @@ ENDPART my ($output,$fullname)=&print_resources($r,$helper, $person,$type, \%moreenv,\@master_seq, - $flag_latex_header_remove); + $flag_latex_header_remove, + $LaTeXwidth); $print_array[$i].=$output; $student_names[$i].=$person.':'.$fullname.'_END_'; &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,&mt('last student').' '.$fullname); @@ -1228,7 +1221,8 @@ ENDPART $moreenv{'CODE'}=&num_to_letters($code); my ($output,$fullname)= &print_resources($r,$helper,'anonymous',$type,\%moreenv, - \@master_seq,$flag_latex_header_remove); + \@master_seq,$flag_latex_header_remove, + $LaTeXwidth); $print_array[$file_num].=$output; &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, &mt('last assignment').' '.$fullname); @@ -1253,8 +1247,6 @@ ENDPART $urlp=~s|//|/|; if ($urlp=~/\//) { $form{'problem_split'}=$parmhash{'problem_stream_switch'}; - $form{'grade_target'}='tex'; - $form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); $form{'rndseed'}=$rndseed; if ($urlp =~ m|/home/([^/]+)/public_html|) { $urlp =~ s|/home/([^/]*)/public_html|/~$1|; @@ -1427,7 +1419,8 @@ sub get_CODE { } sub print_resources { - my ($r,$helper,$person,$type,$moreenv,$master_seq,$remove_latex_header)=@_; + my ($r,$helper,$person,$type,$moreenv,$master_seq,$remove_latex_header, + $LaTeXwidth)=@_; my $current_output = ''; my ($username,$userdomain,$usersection) = split /:/,$person; my $fullname = &get_name($username,$userdomain);