--- loncom/interface/lonprintout.pm 2003/10/02 19:10:06 1.248 +++ loncom/interface/lonprintout.pm 2003/10/09 19:15:25 1.253 @@ -1,7 +1,7 @@ # The LearningOnline Network # Printout # -# $Id: lonprintout.pm,v 1.248 2003/10/02 19:10:06 bowersj2 Exp $ +# $Id: lonprintout.pm,v 1.253 2003/10/09 19:15:25 sakharuk Exp $ # # Copyright Michigan State University Board of Trustees # @@ -656,6 +656,8 @@ sub path_to_problem { } } } + } else { + $newurlp=$urlp; } return '{\small\noindent\verb|'.$newurlp.'|\vskip 0 mm}'; } @@ -786,8 +788,9 @@ ENDPART $form{'rndseed'}=$rndseed; $texversion=&Apache::lonnet::ssi($urlp,%form); } - if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || - ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { + if((($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || + ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) && + ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page)$/)) { my %form; $form{'grade_target'}='answer'; $form{'answer_output_mode'}='tex'; @@ -835,7 +838,8 @@ ENDPART } } elsif (($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems') or ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'map_problems_pages') or - ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems')) { + ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'all_problems') or + ($helper->{'VARS'}->{'PRINT_TYPE'} eq 'select_sequences')) { #-- produce an output string my %form=(); $form{'grade_target'}='tex'; @@ -879,10 +883,14 @@ ENDPART if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; } else { - $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); - $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm '; - $texversion.=&path_to_problem ($urlp,$LaTeXwidth); - $texversion.='\vskip 1 mm '.$answer; + 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') { @@ -933,17 +941,25 @@ ENDPART if (&Apache::lonnet::allowed('bre',$res_url)) { my $rendered = &Apache::loncommon::get_student_view($curresline,$username,$userdomain, $ENV{'request.course.id'},'tex'); - if ($flag_latex_header_remove eq 'YES') { - $rendered = &latex_header_footer_remove($rendered); - } else { - $rendered =~ s/\\end{document}//; - } - if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || + ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { my %form; $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); - $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/; + if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + $rendered=~s/(\\keephidden{ENDOFPROBLEM})/$ansrendered$1/; + } else { + $rendered=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); + $rendered.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($curresline).'}\vskip 0 mm '; + $rendered.=&path_to_problem ($curresline,$LaTeXwidth); + $rendered.='\vskip 1 mm '.$ansrendered; + } + } + if ($flag_latex_header_remove eq 'YES') { + $rendered = &latex_header_footer_remove($rendered); + } else { + $rendered =~ s/\\end{document}//; } $current_output .= $rendered; } @@ -981,6 +997,7 @@ ENDPART } for (my $i=0;$i<=$#list_of_files;$i++) { my $urlp = $list_of_files[$i]; + $urlp=~s|//|/|; if ($urlp=~/\//) { my %form; $form{'grade_target'}='tex'; @@ -992,17 +1009,34 @@ ENDPART $urlp =~ s|^/home/httpd/html||; } my $texversion=&Apache::lonnet::ssi($urlp,%form); - if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || + ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { my %form; $form{'grade_target'}='answer'; $form{'answer_output_mode'}='tex'; $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; $form{'rndseed'}=$rndseed; my $answer=&Apache::lonnet::ssi($urlp,%form); - $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; + if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { + $texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; + } else { + $texversion=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); + if ($helper->{'VARS'}->{'construction'} ne '1') { + $texversion.='\vskip 0 mm \noindent '; + $texversion.=&path_to_problem ($urlp,$LaTeXwidth); + } else { + $texversion.='\vskip 0 mm \noindent\textbf{Prints from construction space - there is no title.}\vskip 0 mm '; + my $URLpath=$urlp; + $URLpath=~s/~([^\/]+)/public_html\/$1\/$1/; + $texversion.=&path_to_problem ($URLpath,$LaTeXwidth); + } + $texversion.='\vskip 1 mm '.$answer.'\end{document}'; + } } #this chunck is responsible for printing the path to problem - my $newurlp=&path_to_problem($urlp,$LaTeXwidth); + my $newurlp=$urlp; + if ($newurlp=~/~/) {$newurlp=~s|\/~([^\/]+)\/|\/home\/$1\/public_html\/|;} + $newurlp=&path_to_problem($newurlp,$LaTeXwidth); $texversion =~ s/(\\begin{minipage}{\\textwidth})/$1 $newurlp/; if ($flag_latex_header_remove ne 'NO') { $texversion = &latex_header_footer_remove($texversion); @@ -1352,7 +1386,7 @@ CHOOSE_FROM_SUBDIR # another resource selector for that sequence if (!$helper->{VARS}->{'construction'}) { push @$printChoices, ["Resources from selected sequence in course", - 'selected_sequence', 'CHOOSE_SEQUENCE']; + 'select_sequences', 'CHOOSE_SEQUENCE']; my $escapedSequenceName = $helper->{VARS}->{'SEQUENCE'}; #Escape apostrophes and backslashes for Perl $escapedSequenceName =~ s/\\/\\\\/g;