version 1.295, 2004/04/26 19:00:29
|
version 1.298, 2004/05/03 17:51:11
|
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)$/) { |
|
$result.='\textbf{'.$1.'}'; |
|
} elsif ($currentURL=~/\/ext\//) { |
|
$result.=' \strut \\\\ THIS IS EXTERNAL RESOURCE WITH URL \strut \\\\ '.$currentURL.' '; |
|
} else { |
|
$result.=$currentURL; |
|
} |
|
$result.= '\vskip 0.5mm\noindent\makebox[\textwidth/$number_of_columns][b]{\hrulefill} \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 738 ENDPART
|
Line 754 ENDPART
|
} |
} |
$selectionmade = 1; |
$selectionmade = 1; |
if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
if ($currentURL=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
|
&Apache::lonnet::logthis("II AMAM IN A WRONG PLACE"); |
my $rndseed=time; |
my $rndseed=time; |
my $texversion=''; |
my $texversion=''; |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} ne 'only') { |
Line 860 ENDPART
|
Line 877 ENDPART
|
} |
} |
if ($helper->{VARS}->{'construction'} eq '1') {$result=~s/(\\begin{document})/$1 \\fbox\{RANDOM SEED IS $rndseed\} /;} |
if ($helper->{VARS}->{'construction'} eq '1') {$result=~s/(\\begin{document})/$1 \\fbox\{RANDOM SEED IS $rndseed\} /;} |
$result .= '\end{document}'; |
$result .= '\end{document}'; |
} elsif ($currentURL=~/\/smppg$/) { |
} elsif ($currentURL=~/\/(smppg|syllabus)$/) { |
my %form; |
my %form; |
$form{'grade_target'}='tex'; |
$form{'grade_target'}='tex'; |
$form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); |
$form{'textwidth'}=&get_textwidth($helper,$LaTeXwidth); |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
|
if ($currentURL=~/\/syllabus$/) {$currentURL=~s/\/res//;} |
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: '; |
&Apache::lonnet::logthis("IIII AMAM IN A WRONG PLACE"); |
if ($currentURL=~/\/(aboutme|syllabus|bulletinboard|smppg)$/) { |
$result.=&unsupported($currentURL); |
$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 917 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); |
my $texversion=''; |
if ($urlp=~/\.page$/) { |
if ($urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
$texversion.=&Apache::lonnet::ssi($urlp,%form); |
if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;} |
if ($urlp=~/\.page$/) { |
$texversion =~ s/\\end{document}\d*/\\end{document}/; |
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
$flag_page_in_sequence = 'YES'; |
if ($number_of_columns_page > $number_of_columns) {$number_of_columns=$number_of_columns_page;} |
} |
$texversion =~ s/\\end{document}\d*/\\end{document}/; |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
$flag_page_in_sequence = 'YES'; |
my $envfile=$ENV{'user.environment'}; |
} |
$envfile=~/\/([^\/]+)\.id$/; |
my $lonidsdir=$r->dir_config('lonIDsDir'); |
$envfile=$1; |
my $envfile=$ENV{'user.environment'}; |
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile); |
$envfile=~/\/([^\/]+)\.id$/; |
my $current_counter=$ENV{'form.counter'}; |
$envfile=$1; |
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
&Apache::lonnet::transfer_profile_to_env($lonidsdir,$envfile); |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
my $current_counter=$ENV{'form.counter'}; |
my %form; |
if(($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') || |
$form{'grade_target'}='answer'; |
($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'only')) { |
$form{'answer_output_mode'}='tex'; |
my %form; |
my $answer=&Apache::lonnet::ssi($urlp,%form); |
$form{'grade_target'}='answer'; |
&Apache::lonnet::appenv(('form.counter' => $current_counter)); |
$form{'answer_output_mode'}='tex'; |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
my $answer=&Apache::lonnet::ssi($urlp,%form); |
$texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; |
&Apache::lonnet::appenv(('form.counter' => $current_counter)); |
} else { |
if ($helper->{'VARS'}->{'ANSWER_TYPE'} eq 'no') { |
if ($urlp=~/\.(problem|exam|quiz|library)$/) { |
$texversion=~s/(\\keephidden{ENDOFPROBLEM})/$answer$1/; |
$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}//; |
$texversion=&unsupported($urlp); |
} |
if ($flag_latex_header_remove ne 'NO') { |
if ($helper->{'VARS'}->{'TABLE_INDEX'} eq 'yes') { |
$texversion = &latex_header_footer_remove($texversion); |
$texversion=&IndexCreation($texversion,$urlp); |
} else { |
} |
$texversion =~ s/\\end{document}//; |
if (($selectionmade == 4) and ($assignment ne $prevassignment)) { |
} |
my $name = &get_name(); |
$result .= $texversion; |
my $courseidinfo = &get_course(); |
$flag_latex_header_remove = 'YES'; |
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}/;} |