--- loncom/interface/printout.pl 2003/08/13 15:29:39 1.32 +++ loncom/interface/printout.pl 2003/10/16 15:30:43 1.38 @@ -1,9 +1,39 @@ #!/usr/bin/perl +# CGI-script to run LaTeX, dvips, ps2ps, ps2pdf etc. +# +# $Id: printout.pl,v 1.38 2003/10/16 15:30:43 sakharuk Exp $ +# +# Copyright Michigan State University Board of Trustees +# +# This file is part of the LearningOnline Network with CAPA (LON-CAPA). +# +# LON-CAPA is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# LON-CAPA is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with LON-CAPA; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# /home/httpd/html/adm/gpl.txt +# +# http://www.lon-capa.org/ +# + +use File::Path; use IO::File; use Image::Magick; print "Content-type: text/html\n\n"; print "
\n"; my ($texfile,$laystyle,$numberofcolumns,$selectionmade) = split(/&/,$ENV{'QUERY_STRING'}); + my $advans_role=0; + if ($selectionmade>=10000) {$selectionmade=$selectionmade/10000; $advans_role=1;} my $figfile = $texfile; $figfile =~ s/^([^\.]+printout)[^t]+\.tex/$1\.dat/; my $duefile = $texfile; @@ -19,8 +49,11 @@ use Image::Magick; my $eps_f = $not_eps; $eps_f =~ s/\.[^.]*$/\.eps/i; $_ = $eps_f; - m/\/([^\/]+)$/; + m/\/home\/httpd\/html\/res\/(.+)/; $eps_f = '/home/httpd/prtspool/'.$1; + my $path=$eps_f; + $path=~s/\/([^\/]+)\.eps$//; + File::Path::mkpath($path,0,0777); my $image = Image::Magick->new; $not_eps =~ s/^\s+//; $not_eps =~ s/\s+$//; @@ -40,7 +73,6 @@ use Image::Magick; } } } - unlink $figfile; } #print "$texfile\n"; #name of the tex file for debugging only if (-e $texfile) { @@ -49,7 +81,13 @@ use Image::Magick; my $path_file = $1.'/'; chdir $path_file; system("latex $name_file 1>/dev/null 2>/dev/null"); - if ($selectionmade>10) {system("latex $name_file 1>/dev/null 2>/dev/null");} #to create tableof contents + if ($selectionmade>=10) {system("latex $name_file 1>/dev/null 2>/dev/null");} #to create table of contents + my $idxname=$name_file; + $idxname=~s/\.tex$/\.idx/; + if ($selectionmade>=100) { + system("makeindex $idxname"); + system("latex $name_file 1>/dev/null 2>/dev/null"); + } #to create index #Do we have a latex error in the log file? my $logfilename = $texfile; $logfilename =~ s/\.tex$/\.log/; @@ -81,7 +119,27 @@ use Image::Magick; if ($sygnal) { print "$content_of_file[$i]'.$body_tex_file.''."\n"; + print "
'.$body_tex_file.''."\n"; + print "