version 1.38, 2002/07/16 20:30:53
|
version 1.43, 2002/07/26 18:40:43
|
Line 71 sub menu_for_output {
|
Line 71 sub menu_for_output {
|
<input type="hidden" name="url" value="$ENV{'form.postdata'}"> |
<input type="hidden" name="url" value="$ENV{'form.postdata'}"> |
<input type="radio" name="choice" value="Standard LaTeX output for current document" checked> Current document |
<input type="radio" name="choice" value="Standard LaTeX output for current document" checked> Current document |
(you will print what you see on the screen)<br /> |
(you will print what you see on the screen)<br /> |
|
ENDMENUOUT1 |
|
if (not $ENV{'request.role'}=~m/^au\./) { |
|
$r->print(<<ENDMENUOUT2); |
<input type="radio" name="choice" value="Standard LaTeX output for the primary sequence"> All problems from the primary sequence<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for the primary sequence"> All problems from the primary sequence<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence"> The whole primary sequence (problems plus all html and xml files)<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for whole primary sequence"> The whole primary sequence (problems plus all html and xml files)<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for the top level sequence"> All problems from the top level sequence<br /> |
<input type="radio" name="choice" value="Standard LaTeX output for the top level sequence"> All problems from the top level sequence<br /> |
<br /> |
<br /> |
ENDMENUOUT1 |
|
my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'}); |
|
$subdirtoprint =~ s/\/[^\/]+$//; |
|
if (&Apache::lonnet::allowed('bre',$subdirtoprint) eq 'F') { |
|
$r->print(<<ENDMENUOUT2); |
|
<input type="radio" name="choice" value="Subdirectory print"> All problems from current subdirectory (where this particular problem is)<br /> |
|
ENDMENUOUT2 |
ENDMENUOUT2 |
} |
my $subdirtoprint = &Apache::lonnet::filelocation("",$ENV{'form.url'}); |
$r->print(<<ENDMENUOUT3); |
$subdirtoprint =~ s/\/[^\/]+$//; |
|
if (&Apache::lonnet::allowed('bre',$subdirtoprint) eq 'F') { |
|
$r->print(<<ENDMENUOUT4); |
|
<input type="radio" name="choice" value="Subdirectory print"> All problems from current subdirectory (where this particular problem is)<br /> |
|
ENDMENUOUT4 |
|
} |
|
} |
|
$r->print(<<ENDMENUOUT5); |
<br /><hr /><br /> |
<br /><hr /><br /> |
<h1>And what page format do you prefer?</h1> |
<h1>And what page format do you prefer?</h1> |
<table> |
<table> |
Line 103 ENDMENUOUT2
|
Line 107 ENDMENUOUT2
|
</form> |
</form> |
</body> |
</body> |
</html> |
</html> |
ENDMENUOUT3 |
ENDMENUOUT5 |
} |
} |
|
|
|
|
Line 131 ENDPART
|
Line 135 ENDPART
|
#-- single document - problem, page, html, xml |
#-- single document - problem, page, html, xml |
my %moreenv; |
my %moreenv; |
$moreenv{'form.grade_target'}='tex'; |
$moreenv{'form.grade_target'}='tex'; |
|
if ($ENV{'request.role'}=~m/^au\./) {$ENV{'form.url'}=~s/http:\/\/[^\/]+//;} |
$moreenv{'request.filename'}=$ENV{'form.url'}; |
$moreenv{'request.filename'}=$ENV{'form.url'}; |
&Apache::lonnet::appenv(%moreenv); |
&Apache::lonnet::appenv(%moreenv); |
my $texversion=&Apache::lonnet::ssi($ENV{'form.url'}); |
my $texversion=&Apache::lonnet::ssi($ENV{'form.url'}); |
&Apache::lonnet::delenv('form.grade_target'); |
&Apache::lonnet::delenv('form.grade_target'); |
$result .= $texversion; |
$result .= $texversion; |
$result = &additional_cleanup($result); |
$result = &additional_cleanup($result); |
if ($ENV{'form.url'}=~m/\.page\s*$/) {($result,$number_of_columns) = &page_cleanup($result);} |
if ($ENV{'form.url'}=~m/\.page\s*$/) { |
} elsif ($choice eq 'Standard LaTeX output for the primary sequence' or $choice eq 'Standard LaTeX output for whole primary sequence') { |
($result,$number_of_columns) = &page_cleanup($result); |
|
} |
|
} elsif ($choice eq 'Standard LaTeX output for the primary sequence' or |
|
$choice eq 'Standard LaTeX output for whole primary sequence') { |
#-- minimal sequence to which the current document belongs |
#-- minimal sequence to which the current document belongs |
#-- where is the primary sequence containing file? |
#-- where is the primary sequence containing file? |
my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'}); |
my $symbolic = &Apache::lonnet::symbread($ENV{'form.url'}); |
Line 276 ENDPART
|
Line 284 ENDPART
|
$first_comment = index($result,'<!--',$first_comment); |
$first_comment = index($result,'<!--',$first_comment); |
} |
} |
$result =~ s/^\s+$//gm; #remove empty lines |
$result =~ s/^\s+$//gm; #remove empty lines |
$result =~ s/%/\\%/g; #corrects % |
$result =~ s/([^\\])%/\$1\%/g; #corrects % |
$result =~ s/(\s)+/$1/g; #removes more than one empty space |
$result =~ s/(\s)+/$1/g; #removes more than one empty space |
$result =~ s/\\\\\s*\\vskip/\\vskip/gm; |
$result =~ s/\\\\\s*\\vskip/\\vskip/gm; |
$result =~ s/ (<|>|) / \$$1\$ /g; #corrects < or > |
$result =~ s/ (<|>|) / \$$1\$ /g; #corrects < or > |
Line 284 ENDPART
|
Line 292 ENDPART
|
$result =~ s/{\\par }\s*\\\\/\\\\/gm; |
$result =~ s/{\\par }\s*\\\\/\\\\/gm; |
$result =~ s/\\\\\s+\[/ \[/g; |
$result =~ s/\\\\\s+\[/ \[/g; |
$result =~ s/θ/\$\\theta\$/g; #converts theta from html into tex |
$result =~ s/θ/\$\\theta\$/g; #converts theta from html into tex |
$result =~ s/\b_+\b/\\makebox\[1 cm\]\[b\]{\\hrulefill}/g; |
$result =~ s/\b__+\b/\\makebox\[1 cm\]\[b\]{\\hrulefill}/g; |
#conversion of html characters to LaTeX equivalents |
#conversion of html characters to LaTeX equivalents |
if ($result =~ m/&(\w+|#\d+);/) { |
if ($result =~ m/&(\w+|#\d+);/) { |
$result = &character_chart($result); |
$result = &character_chart($result); |
} |
} |
|
$result =~ s/(\\end{tabular})\s*\\vskip 0 mm/$1/g; |
|
$result =~ s/(\\begin{enumerate})\s*\\noindent/$1/g; |
#-- writing .tex file in prtspool |
#-- writing .tex file in prtspool |
my $temp_file; |
my $temp_file; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; |
my $filename = "/home/httpd/prtspool/$ENV{'user.name'}_$ENV{'user.domain'}_printout_".time."_".rand(10000000).".tex"; |
Line 306 FINALEND
|
Line 316 FINALEND
|
|
|
sub character_chart { |
sub character_chart { |
my $result = shift; |
my $result = shift; |
$result =~ s/	//g; |
$result =~ s/�?0?7;//g; |
$result =~ s/
//g; |
$result =~ s/�?0?9;//g; |
$result =~ s/
//g; |
$result =~ s/�?10;//g; |
$result =~ s/ / /g; |
$result =~ s/�?13;//g; |
$result =~ s/!/!/g; |
$result =~ s/�?32;/ /g; |
$result =~ s/"/"/g; |
$result =~ s/�?33;/!/g; |
$result =~ s/"/"/g; #" |
$result =~ s/�?34;/"/g; |
$result =~ s/#/\\#/g; |
$result =~ s/"/"/g; |
$result =~ s/$/\\\$/g; |
$result =~ s/�?35;/\\#/g; |
$result =~ s/%/\\%/g; |
# $result =~ s/�?36;/\\\$/g; |
$result =~ s/&/\\&/g; |
$result =~ s/�?37;/\\%/g; |
|
$result =~ s/�?38;/\\&/g; |
$result =~ s/&/\\&/g; |
$result =~ s/&/\\&/g; |
$result =~ s/'/'/g; |
$result =~ s/�?39;/'/g; |
$result =~ s/(/(/g; |
$result =~ s/�?40;/(/g; |
$result =~ s/)/)/g; |
$result =~ s/�?41;/)/g; |
$result =~ s/*/\*/g; |
$result =~ s/�?42;/\*/g; |
$result =~ s/+/\+/g; |
$result =~ s/�?43;/\+/g; |
$result =~ s/,/,/g; |
$result =~ s/�?44;/,/g; |
$result =~ s/-/-/g; |
$result =~ s/�?45;/-/g; |
$result =~ s/./\./g; |
$result =~ s/�?46;/\./g; |
$result =~ s///\//g; |
$result =~ s/�?47;/\//g; |
$result =~ s/0/0/g; |
$result =~ s/�?48;/0/g; |
$result =~ s/1/1/g; |
$result =~ s/�?49;/1/g; |
$result =~ s/2/2/g; |
$result =~ s/�?50;/2/g; |
$result =~ s/3/3/g; |
$result =~ s/�?51;/3/g; |
$result =~ s/4/4/g; |
$result =~ s/�?52;/4/g; |
$result =~ s/5/5/g; |
$result =~ s/�?53;/5/g; |
$result =~ s/6/6/g; |
$result =~ s/�?54;/6/g; |
$result =~ s/7/7/g; |
$result =~ s/�?55;/7/g; |
$result =~ s/8/8/g; |
$result =~ s/�?56;/8/g; |
$result =~ s/9/9/g; |
$result =~ s/�?57;/9/g; |
$result =~ s/:/:/g; |
$result =~ s/�?58;/:/g; |
$result =~ s/;/;/g; |
$result =~ s/�?59;/;/g; |
$result =~ s/</\$<\$/g; |
$result =~ s/�?60;/\$<\$/g; |
$result =~ s/</\$<\$/g; |
$result =~ s/</\$<\$/g; |
$result =~ s/=/\$=\$/g; |
$result =~ s/�?61;/\$=\$/g; |
$result =~ s/>/\$>\$/g; |
$result =~ s/�?62;/\$>\$/g; |
$result =~ s/>/\$>\$/g; |
$result =~ s/>/\$>\$/g; |
$result =~ s/?/?/g; |
$result =~ s/�?63;/?/g; |
# $result =~ s/@//g; |
# $result =~ s/�?64;//g; |
$result =~ s/A/A/g; |
$result =~ s/�?65;/A/g; |
$result =~ s/B/B/g; |
$result =~ s/�?66;/B/g; |
$result =~ s/C/C/g; |
$result =~ s/�?67;/C/g; |
$result =~ s/D/D/g; |
$result =~ s/�?68;/D/g; |
$result =~ s/E/E/g; |
$result =~ s/�?69;/E/g; |
$result =~ s/F/F/g; |
$result =~ s/�?70;/F/g; |
$result =~ s/G/G/g; |
$result =~ s/�?71;/G/g; |
$result =~ s/H/H/g; |
$result =~ s/�?72;/H/g; |
$result =~ s/I/I/g; |
$result =~ s/�?73;/I/g; |
$result =~ s/J/J/g; |
$result =~ s/�?74;/J/g; |
$result =~ s/K/K/g; |
$result =~ s/�?75;/K/g; |
$result =~ s/L/L/g; |
$result =~ s/�?76;/L/g; |
$result =~ s/M/M/g; |
$result =~ s/�?77;/M/g; |
$result =~ s/N/N/g; |
$result =~ s/�?78;/N/g; |
$result =~ s/O/O/g; |
$result =~ s/�?79;/O/g; |
$result =~ s/P/P/g; |
$result =~ s/�?80;/P/g; |
$result =~ s/Q/Q/g; |
$result =~ s/�?81;/Q/g; |
$result =~ s/R/R/g; |
$result =~ s/�?82;/R/g; |
$result =~ s/S/S/g; |
$result =~ s/�?83;/S/g; |
$result =~ s/T/T/g; |
$result =~ s/�?84;/T/g; |
$result =~ s/U/U/g; |
$result =~ s/�?85;/U/g; |
$result =~ s/V/V/g; |
$result =~ s/�?86;/V/g; |
$result =~ s/W/W/g; |
$result =~ s/�?87;/W/g; |
$result =~ s/X/X/g; |
$result =~ s/�?88;/X/g; |
$result =~ s/Y/Y/g; |
$result =~ s/�?89;/Y/g; |
$result =~ s/Z/Z/g; |
$result =~ s/�?90;/Z/g; |
$result =~ s/[/[/g; |
$result =~ s/�?91;/[/g; |
$result =~ s/\/\\/g; |
$result =~ s/�?92;/\\/g; |
$result =~ s/]/]/g; |
$result =~ s/�?93;/]/g; |
# $result =~ s/^//g; |
# $result =~ s/�?94;//g; |
# $result =~ s/_//g; |
# $result =~ s/�?95;//g; |
$result =~ s/`/`/g; |
$result =~ s/�?96;/`/g; |
$result =~ s/a/a/g; |
$result =~ s/�?97;/a/g; |
$result =~ s/b/b/g; |
$result =~ s/�?98;/b/g; |
$result =~ s/c/c/g; |
$result =~ s/�?99;/c/g; |
$result =~ s/d/d/g; |
$result =~ s/d/d/g; |
$result =~ s/e/e/g; |
$result =~ s/e/e/g; |
$result =~ s/f/f/g; |
$result =~ s/f/f/g; |
Line 464 sub character_chart {
|
Line 475 sub character_chart {
|
# $result =~ s/®//g; |
# $result =~ s/®//g; |
# $result =~ s/¯//g; |
# $result =~ s/¯//g; |
# $result =~ s/¯//g; |
# $result =~ s/¯//g; |
$result =~ s/°/\$^\\{\\circ\\}\$/g; |
$result =~ s/°/\$^{\\circ}\$/g; |
$result =~ s/°/\$^\\{\\circ\\}\$/g; |
$result =~ s/°/\$^{\\circ}\$/g; |
$result =~ s/±/\$\\pm\$/g; |
$result =~ s/±/\$\\pm\$/g; |
$result =~ s/±/\$\\pm\$/g; |
$result =~ s/±/\$\\pm\$/g; |
$result =~ s/²/\$^2\$/g; |
$result =~ s/²/\$^2\$/g; |
Line 627 sub character_chart {
|
Line 638 sub character_chart {
|
return $result; |
return $result; |
} |
} |
|
|
|
|
|
#'"` |
|
|
sub additional_cleanup { |
sub additional_cleanup { |
my $result = shift; |
my $result = shift; |
my $first_app = index($result,'\documentclass',0); |
my $first_app = index($result,'\documentclass',0); |