version 1.21, 2002/04/10 16:21:33
|
version 1.27, 2002/05/09 18:56:21
|
Line 68 sub menu_for_output {
|
Line 68 sub menu_for_output {
|
$r->print(<<ENDMENUOUT); |
$r->print(<<ENDMENUOUT); |
<input type="hidden" name="phase" value="two"> |
<input type="hidden" name="phase" value="two"> |
<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"> 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 /> |
<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 /><hr /><br /> |
<br /><hr /><br /> |
<h1>And what page format do you prefer?</h1> |
<h1>And what page format do you prefer?</h1> |
<input type="radio" name="layout" value="CBI" checked> CBI <br /> |
<input type="radio" name="layout" value="CBI"> Two columns landscape (<small>CBI</small>) <br /> |
<input type="radio" name="layout" value="CAPA"> CAPA <br /> |
<input type="radio" name="layout" value="CAPA" checked> Two columns portrait (<small>CAPA</small>) <br /> |
<input type="submit" value="Submit your choice"> |
<input type="submit" value="Submit your choice"> |
</form> |
</form> |
</body> |
</body> |
Line 219 ENDPART
|
Line 219 ENDPART
|
m/.*\/(.*)/; |
m/.*\/(.*)/; |
$courseidinfo = $ENV{'course.physnet_'.$1.'.description'}; |
$courseidinfo = $ENV{'course.physnet_'.$1.'.description'}; |
$result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/; |
$result =~ s/\\documentclass\[letterpaper\]{article}/\\documentclass\[twocolumn\]{article}/; |
$result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 7\.7in\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo \\vskip 5 mm /; |
$result =~ s/\\begin{document}/\\textheight 25\.9cm\\oddsidemargin = -0\.57in\\evensidemargin = -0\.57in\\textwidth= 7\.7in\\renewcommand{\\ref}{\\keephidden\}\\begin{document}\\voffset=-1\.8cm\\setcounter{page}{1}\\noindent\\fbox{\\textbf{$ENV{'environment.firstname'} $ENV{'environment.lastname'}}}\\hskip 1\.4in $courseidinfo \\vskip 5 mm /; |
$result =~ s/\\includegraphics/\\includegraphics\[width=9\.0 cm\]/g; |
$result =~ s/\\includegraphics{/\\includegraphics\[width=9\.0 cm\]{/g; |
$result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPS $1/; |
$result =~ s/(\\end{document})/\\newline\\noindent\\makebox\[9.0cm\]\[b\]{\\hrulefill}\\newline\\noindent\\tiny Dept\. of Physics and Astronomy, MSU\\makebox\[1.5cm\]\[b\]{\\hfill}LON-CAPA\\copyright MSU GNU\/GPL $1/; |
|
} |
|
#-- LaTeX corrections |
|
my $first_comment = index($result,'<!--',0); |
|
while ($first_comment != -1) { |
|
my $end_comment = index($result,'-->',$first_comment); |
|
substr($result,$first_comment,$end_comment-$first_comment+3) = ''; |
|
$first_comment = index($result,'<!--',$first_comment); |
} |
} |
#-- LaTeX corrections |
|
$result =~ s/^\s+$//gm; #remove empty lines |
$result =~ s/^\s+$//gm; #remove empty lines |
$result =~ s/%/\\%/g; #corrects % |
$result =~ s/%/\\%/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)/ $1/gm; |
$result =~ s/\\\\\s*\\vskip/\\vskip/gm; |
#-- Do all of eps figures exist? |
$result =~ s/ (<|>|) / \$$1\$ /g; #corrects < or > |
my $notepslist = ''; |
$result =~ s/\\\\\s*\\noindent\s*(\\\\)+/\\\\\\noindent /g; |
my $end_eps = index($result,'.eps}',0); |
$result =~ s/{\\par }\s*\\\\/\\\\/gm; |
while ($end_eps != -1) { |
$result =~ s/\\\\\s+\[/ \[/g; |
my $start_eps = rindex($result,'{',$end_eps); |
$result =~ s/θ/\$\\theta\$/g; #converts theta from html into tex |
my $start_path = rindex($result,'\graphicspath{',$start_eps); |
|
my $end_path = index($result,'}',$start_path); |
|
my $chunk_eps = substr($result,$start_eps+1,$end_eps-$start_eps+3); |
|
my $chunk_path = substr($result,$start_path+14,$end_path-$start_path-14); |
|
$chunk_path =~ s/^{*//g; |
|
unless (-s $chunk_path.$chunk_eps) { |
|
$notepslist .= $chunk_path.$chunk_eps; |
|
} |
|
$end_eps = index($result,'.eps}',$end_eps+5); |
|
} |
|
#-- writing .tex file in prtspool |
#-- writing .tex file in prtspool |
my $temp_file; |
my $temp_file; |
$filename = "/home/httpd/prtspool/$ENV{'user.name'}$ENV{'user.domain'}temp$ENV{'user.login.time'}.tex"; |
$filename = "/home/httpd/prtspool/$ENV{'user.name'}$ENV{'user.domain'}temp$ENV{'user.login.time'}.tex"; |
Line 252 ENDPART
|
Line 248 ENDPART
|
} |
} |
print $temp_file $result; |
print $temp_file $result; |
$r->print(<<FINALEND); |
$r->print(<<FINALEND); |
<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle&$notepslist"> |
<meta http-equiv="Refresh" content="0; url=/cgi-bin/printout.pl?$filename&$laystyle"> |
</body> |
</body> |
</html> |
</html> |
FINALEND |
FINALEND |
Line 331 sub handler {
|
Line 327 sub handler {
|
unless ($ENV{'form.phase'}) { |
unless ($ENV{'form.phase'}) { |
&menu_for_output($r); |
&menu_for_output($r); |
} |
} |
|
|
|
|
#-- core part |
#-- core part |
if ($ENV{'form.phase'} eq 'two') { |
if ($ENV{'form.phase'} eq 'two') { |
&output_data($r); |
&output_data($r); |
|
|
} |
} |
return OK; |
return OK; |
|
|