--- loncom/interface/printout.pl 2003/07/22 14:46:44 1.29 +++ loncom/interface/printout.pl 2003/08/28 13:52:22 1.34 @@ -49,13 +49,23 @@ 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 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/; my $temporary_file=IO::File->new($logfilename) || die "Couldn't open file for reading: $!\n"; my @content_of_file = <$temporary_file>; close $temporary_file; - my $body_log_file = join(' ',@content_of_file); + my $body_log_file = join(' ',@content_of_file); + $logfilename =~ s/\.log$/\.html/; + $temporary_file = IO::File->new('>'.$logfilename); + print $temporary_file 'LOGFILE
'.$body_log_file.'
'."\n"; if ($body_log_file=~m/!\s+Emergency stop/) { #LaTeX failed to parse tex file print "

LaTeX could not successfully parse your tex file.

"; @@ -80,11 +90,15 @@ use Image::Magick; } } elsif ($body_log_file=~m//) { my $whereitbegins = index $body_log_file,''; - $whereitbegins = rindex $body_log_file,'STAMPOFPASSEDRESOURCESTART',$whereitbegins; - my $whereitends = index $body_log_file,'STAMPOFPASSEDRESOURCEEND',$whereitbegins; - print "You are running LaTeX in the batch mode. \n"; - print "It has found an error in".substr($body_log_file,$whereitbegins+26,$whereitends-$whereitbegins-26)." and corrected it.\n"; - print "Usually this correction is valid but you probably need to check the indicated resource one more time and implement neccessary corrections by yourself.\n"; + print "You are running LaTeX in the batch mode."; + while ($whereitbegins != -1) { + my $tempobegin=$whereitbegins; + $whereitbegins = rindex $body_log_file,'STAMPOFPASSEDRESOURCESTART',$whereitbegins; + my $whereitends = index $body_log_file,'STAMPOFPASSEDRESOURCEEND',$whereitbegins; + print "
It has found an error in".substr($body_log_file,$whereitbegins+26,$whereitends-$whereitbegins-26)."
and corrected it.\n"; + print "Usually this correction is valid but you probably need to check the indicated resource one more time and implement neccessary corrections by yourself.\n"; + $whereitbegins = index $body_log_file,'',$tempobegin+10; + } $name_file =~ s/\.tex/\.dvi/; my $new_name_file = $name_file; $new_name_file =~ s/\.dvi/\.ps/; @@ -114,10 +128,27 @@ use Image::Magick; $texaux =~ s/\.tex/\.aux/; $texdvi =~ s/\.tex/\.dvi/; $texps =~ s/\.tex/\.ps/; - my @garb = ($texlog,$texaux,$texdvi,$texps); + my @garb = ($texaux,$texdvi,$texps); # unlink @garb; unlink $duefile; print "Your PDF document"; + print "

"; + print "The link to "; + $logfilename=~s/\/home\/httpd//; + print "Your log file "; + print "\n"; + #link tooriginal LaTeX file (included according Michael Hamlin desire) + my $tex_temporary_file=IO::File->new($texfile) || die "Couldn't open file for reading: $!\n"; + my @tex_content_of_file = <$tex_temporary_file>; + close $tex_temporary_file; + my $body_tex_file = join(' ',@tex_content_of_file); + $texfile =~ s/\.tex$/aaaaa\.html/; + $tex_temporary_file = IO::File->new('>'.$texfile); + print $tex_temporary_file 'LOGFILE
'.$body_tex_file.'
'."\n"; + print "

"; + print "The link to "; + $texfile=~s/\/home\/httpd//; + print "Your original LaTeX file "; print "\n"; } } else {