version 1.564, 2009/11/16 11:13:24
|
version 1.568, 2009/12/21 12:11:51
|
Line 499 sub printf_style_subst {
|
Line 499 sub printf_style_subst {
|
sub format_page_header { |
sub format_page_header { |
my ($width, $format, $assignment, $course, $student, $section) = @_; |
my ($width, $format, $assignment, $course, $student, $section) = @_; |
|
|
|
|
|
|
$width = &recalcto_mm($width); # Get width in mm. |
$width = &recalcto_mm($width); # Get width in mm. |
|
my $chars_per_line = int($width/1.6); # Character/textline. |
|
|
# Default format? |
# Default format? |
|
|
if ($format eq '') { |
if ($format eq '') { |
Line 514 sub format_page_header {
|
Line 517 sub format_page_header {
|
# but only truncate the course. |
# but only truncate the course. |
# - Allow the assignment to be 2 lines (wrapped). |
# - Allow the assignment to be 2 lines (wrapped). |
# |
# |
my $chars_per_line = $width/2; # Character/textline. |
|
|
|
|
|
|
|
|
|
my $name_length = int($chars_per_line *3 /4); |
my $name_length = int($chars_per_line *3 /4); |
my $sec_length = int($chars_per_line / 5); |
my $sec_length = int($chars_per_line / 5); |
Line 552 sub format_page_header {
|
Line 554 sub format_page_header {
|
my $testPrintout = '\\\\'.&mt('Construction Space').' \\\\'.&mt('Test-Printout '); |
my $testPrintout = '\\\\'.&mt('Construction Space').' \\\\'.&mt('Test-Printout '); |
$format =~ s/\\\\\s\\\\\s/$testPrintout/; |
$format =~ s/\\\\\s\\\\\s/$testPrintout/; |
} |
} |
|
# |
|
# We're going to trust LaTeX to break lines appropriately, but |
|
# we'll truncate anything that's more than 3 lines worth of |
|
# text. This is also assuming (which will probably end badly) |
|
# nobody's going to embed LaTeX control sequences in the title |
|
# header or rather that those control sequences won't get broken |
|
# by the stuff below. |
|
# |
|
my $total_length = 3*$chars_per_line; |
|
if (length($format) > $total_length) { |
|
$format = substr($format, 0, $total_length); |
|
} |
|
|
|
|
return $format; |
return $format; |
|
|
Line 2094 ENDPART
|
Line 2108 ENDPART
|
|
|
|
|
$currentURL=~s|\/~([^\/]+)\/|\/home\/$1\/public_html\/|; |
$currentURL=~s|\/~([^\/]+)\/|\/home\/$1\/public_html\/|; |
# $result .= &print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
|
$result .= &print_construction_sequence($currentURL, $helper, %form, |
$result .= &print_construction_sequence($currentURL, $helper, %form, |
$LaTeXwidth); |
$LaTeXwidth); |
$result .= '\end{document}'; |
$result .= '\end{document}'; |
Line 2106 ENDPART
|
Line 2119 ENDPART
|
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
if ($currentURL=~/\/syllabus$/) {$currentURL=~s/\/res//;} |
if ($currentURL=~/\/syllabus$/) {$currentURL=~s/\/res//;} |
$resources_printed .= $currentURL.':'; |
$resources_printed .= $currentURL.':'; |
my $texversion = &print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
my $texversion = &ssi_with_retries($currentURL, $ssi_retry_count, %form); |
$texversion .= &ssi_with_retries($currentURL, $ssi_retry_count, %form); |
|
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
my $annotation = &annotate($currentURL); |
my $annotation = &annotate($currentURL); |
$texversion =~ s/(\\end{document})/$annotation$1/; |
$texversion =~ s/(\\end{document})/$annotation$1/; |
Line 2140 ENDPART
|
Line 2152 ENDPART
|
|
|
|
|
} else { |
} else { |
&Apache::lonnet::logthis("Unsupported type handler"); |
|
$result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'}, |
$result.=&unsupported($currentURL,$helper->{'VARS'}->{'LATEX_TYPE'}, |
$helper->{'VARS'}->{'symb'}); |
$helper->{'VARS'}->{'symb'}); |
} |
} |
Line 2213 ENDPART
|
Line 2224 ENDPART
|
&& $urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
&& $urlp=~/\.(problem|exam|quiz|assess|survey|form|library|page|xml|html|htm|xhtml|xhtm)$/) { |
$resources_printed .= $urlp.':'; |
$resources_printed .= $urlp.':'; |
&Apache::lonxml::remember_problem_counter(); |
&Apache::lonxml::remember_problem_counter(); |
$texversion.=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); # RF |
if ($flag_latex_header_remove eq 'NO') { |
|
$texversion.=&print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); # RF |
|
$flag_latex_header_remove = 'YES'; |
|
} |
$texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form); |
$texversion.=&ssi_with_retries($urlp, $ssi_retry_count, %form); |
if ($urlp=~/\.page$/) { |
if ($urlp=~/\.page$/) { |
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
($texversion,my $number_of_columns_page) = &page_cleanup($texversion); |
Line 2287 ENDPART
|
Line 2301 ENDPART
|
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
$form{'latex_type'}=$helper->{'VARS'}->{'LATEX_TYPE'}; |
if ($urlp=~/\/syllabus$/) {$urlp=~s/\/res//;} |
if ($urlp=~/\/syllabus$/) {$urlp=~s/\/res//;} |
$resources_printed .= $urlp.':'; |
$resources_printed .= $urlp.':'; |
my $texversion = &print_latex_header($helper->{'VARS'}->{'LATEX_TYPE'}); |
my $texversion = &ssi_with_retries($urlp, $ssi_retry_count, %form); |
$texversion .= &ssi_with_retries($urlp, $ssi_retry_count, %form); |
|
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
my $annotation = &annotate($urlp); |
my $annotation = &annotate($urlp); |
$texversion =~ s/(\\end{document)/$annotation$1/; |
$texversion =~ s/(\\end{document)/$annotation$1/; |
Line 2792 sub print_resources {
|
Line 2805 sub print_resources {
|
# so we will just rely on prntout.pl to strip ENDOFSTUDENTSTAMP from the |
# so we will just rely on prntout.pl to strip ENDOFSTUDENTSTAMP from the |
# postscript. Each ENDOFSTUDENTSTAMP will go on a line by itself. |
# postscript. Each ENDOFSTUDENTSTAMP will go on a line by itself. |
# |
# |
|
my $syllabus_first = 0; |
foreach my $curresline (@{$master_seq}) { |
foreach my $curresline (@{$master_seq}) { |
if (defined $page_breaks{$curresline}) { |
if (defined $page_breaks{$curresline}) { |
if($i != 0) { |
if($i != 0) { |
Line 2851 sub print_resources {
|
Line 2864 sub print_resources {
|
} |
} |
$current_output .= $rendered; |
$current_output .= $rendered; |
} elsif ($res_url=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { |
} elsif ($res_url=~/\/(smppg|syllabus|aboutme|bulletinboard)$/) { |
|
if ($i == 1) { |
|
$syllabus_first = 1; |
|
} |
$printed .= $curresline.':'; |
$printed .= $curresline.':'; |
my $rendered = &get_student_view_with_retries($curresline,$ssi_retry_count,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
my $rendered = &get_student_view_with_retries($curresline,$ssi_retry_count,$username,$userdomain,$env{'request.course.id'},'tex',$moreenv); |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
if ($helper->{'VARS'}->{'PRINT_ANNOTATIONS'} eq 'yes') { |
Line 2895 sub print_resources {
|
Line 2911 sub print_resources {
|
my $header_start = ($columns_in_format == 1) ? '\lhead' |
my $header_start = ($columns_in_format == 1) ? '\lhead' |
: '\fancyhead[LO]'; |
: '\fancyhead[LO]'; |
$header_line = $header_start.'{'.$header_line.'}'; |
$header_line = $header_start.'{'.$header_line.'}'; |
if ($current_output=~/\\documentclass/) { |
if ($current_output=~/\\documentclass/ && (!$syllabus_first)) { |
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent$header_line$namepostfix}\\vskip 5 mm /; |
$current_output =~ s/\\begin{document}/\\setlength{\\topmargin}{1cm} \\begin{document}\\noindent\\parbox{\\minipagewidth}{\\noindent$header_line$namepostfix}\\vskip 5 mm /; |
|
} elsif ($syllabus_first) { |
|
|
|
$current_output =~ s/\\\\ Last updated:/Last updated:/ |
} else { |
} else { |
my $blankpages = |
my $blankpages = |
'\clearpage\strut\clearpage'x$helper->{'VARS'}->{'EMPTY_PAGES'}; |
'\clearpage\strut\clearpage'x$helper->{'VARS'}->{'EMPTY_PAGES'}; |