--- loncom/interface/lonprintout.pm 2003/09/30 14:43:26 1.243
+++ loncom/interface/lonprintout.pm 2003/10/02 15:33:03 1.247
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Printout
#
-# $Id: lonprintout.pm,v 1.243 2003/09/30 14:43:26 bowersj2 Exp $
+# $Id: lonprintout.pm,v 1.247 2003/10/02 15:33:03 sakharuk Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -740,8 +740,15 @@ ENDPART
$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 ($currentURL,$LaTeXwidth);
+ if ($helper->{'VARS'}->{'construction'} ne '1') {
+ $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';
+ $texversion.=&path_to_problem ($currentURL,$LaTeXwidth);
+ } else {
+ $texversion.='\vskip 0 mm \noindent\textbf{Prints from construction space - there is no title.}\vskip 0 mm ';
+ my $URLpath=$currentURL;
+ $URLpath=~s/~([^\/]+)/public_html\/$1\/$1/;
+ $texversion.=&path_to_problem ($URLpath,$LaTeXwidth);
+ }
$texversion.='\vskip 1 mm '.$answer.'\end{document}';
}
}
@@ -769,21 +776,32 @@ ENDPART
$Apache::lonratedt::resources[$Apache::lonratedt::order[$member]]=~/^([^:]*):([^:]*):/;
my $urlp=$2;
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|xml|html|htm|xhtml|xhtm)$/) {
- my %form;
- $form{'grade_target'}='tex';
- $form{'textwidth'}=$LaTeXwidth;
- $form{'problem_split'}=$parmhash{'problem_stream_switch'};
- $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
- $form{'rndseed'}=$rndseed;
- my $texversion=&Apache::lonnet::ssi($urlp,%form);
- if($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') {
+ my $texversion='';
+ if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') {
+ my %form;
+ $form{'grade_target'}='tex';
+ $form{'textwidth'}=$LaTeXwidth;
+ $form{'problem_split'}=$parmhash{'problem_stream_switch'};
+ $form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'};
+ $form{'rndseed'}=$rndseed;
+ $texversion=&Apache::lonnet::ssi($urlp,%form);
+ }
+ 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{'rndseed'}=$rndseed;
if ($urlp=~/\/res\//) {$ENV{'request.state'}='published';}
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'});
+ $texversion.='\vskip 0 mm \noindent\textbf{'.&Apache::lonnet::gettitle($helper->{'VARS'}->{'symb'}).'}\vskip 0 mm ';
+ $texversion.=&path_to_problem ($currentURL,$LaTeXwidth);
+ $texversion.='\vskip 1 mm '.$answer.'\end{document}';
+ }
}
if ($flag_latex_header_remove ne 'NO') {
$texversion = &latex_header_footer_remove($texversion);
@@ -843,6 +861,7 @@ ENDPART
$form{'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
+ if ($i==0) {$prevassignment=$assignment;}
#&Apache::lonnet::logthis("Trying to get $urlp with symb $master_seq[$i]");
my $texversion=&Apache::lonnet::ssi($urlp,%form);
if ($urlp=~/\.page$/) {
@@ -851,24 +870,32 @@ ENDPART
$texversion =~ s/\\end{document}\d*/\\end{document}/;
$flag_page_in_sequence = 'YES';
}
- if ($flag_latex_header_remove ne 'NO') {
- $texversion = &latex_header_footer_remove($texversion);
- } else {
- $texversion =~ 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{'grade_target'}='answer';
$form{'answer_output_mode'}='tex';
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'});
+ $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 ($flag_latex_header_remove ne 'NO') {
+ $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) and ($i>=1)) {
- my ($name,$courseidinfo) = &get_name;
- $courseidinfo = &get_course();
+ 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 ';
@@ -1326,6 +1353,10 @@ CHOOSE_FROM_SUBDIR
if (!$helper->{VARS}->{'construction'}) {
push @$printChoices, ["Resources from selected sequence in course",
'map_problems_pages', 'CHOOSE_SEQUENCE'];
+ my $escapedSequenceName = $helper->{VARS}->{'SEQUENCE'};
+ #Escape apostrophes and backslashes for Perl
+ $escapedSequenceName =~ s/\\/\\\\/g;
+ $escapedSequenceName =~ s/'/\\'/g;
&Apache::lonxml::xmlparse($r, 'helper', <
Select the sequence to print resources from:
@@ -1340,7 +1371,7 @@ CHOOSE_FROM_SUBDIR
PAGESIZE
return $isProblem
- return $helper->{VARS}->{'SEQUENCE'};
+ return '$escapedSequenceName';
return $symbFilter;