[LON-CAPA-cvs] cvs: loncom /interface printout.pl

sakharuk lon-capa-cvs@mail.lon-capa.org
Wed, 14 Aug 2002 19:33:14 -0000


sakharuk		Wed Aug 14 15:33:14 2002 EDT

  Modified files:              
    /loncom/interface	printout.pl 
  Log:
  Changed the way used to determine either we have errors in the log file after
  proceccing tex file by latex.
  
  
Index: loncom/interface/printout.pl
diff -u loncom/interface/printout.pl:1.16 loncom/interface/printout.pl:1.17
--- loncom/interface/printout.pl:1.16	Mon Aug 12 16:01:08 2002
+++ loncom/interface/printout.pl	Wed Aug 14 15:33:14 2002
@@ -39,67 +39,67 @@
   my $path_file = $1.'/';
   chdir $path_file;
   system("latex $name_file 1>/dev/null 2>/dev/null");
-  $name_file =~ s/\.tex/\.dvi/;
-  if (-e $name_file) {
-      #if dvi file exist = LaTeX successfully parsed tex file 
-      print "<h1>OUTPUT is in the PDF FILE (see link below)</h1>\n";
+  #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); 
+  if ($body_log_file=~m/!\s+Emergency stop/) {
+      #LaTeX failed to parse tex file 
+      print "<h1>LaTeX could not successfully parse your tex file.</h1>";
+      print "<h2>It probably has errors in it.</h2>";
+      print "Here are the error messages in the LaTeX log file</br>";
+      my $sygnal = 0;
+      for (my $i=0;$i<=$#content_of_file;$i++) {
+	  if ($content_of_file[$i]=~m/^!/) {
+	      $sygnal = 1;
+	  } 
+	  if ($content_of_file[$i]=~m/Here is how much of/) {
+	      $sygnal = 0;
+	  } 
+	  if ($sygnal) {
+	      print "$content_of_file[$i]<br />";
+	  }  
+      } 
+  } else {
+      #LaTeX successfully parsed tex file 
+      $name_file =~ s/\.tex/\.dvi/;
       my $new_name_file = $name_file;
       $new_name_file =~ s/\.dvi/\.ps/;
       my $comma = "dvips -o $new_name_file";
       system("$comma $name_file");
-      $_ = $new_name_file;
-      m/^(.*)\./;
-      my $tempo_file = $1.'temporar.ps';
-      my $name_file = $1.'.pdf';
-      if ($laystyle eq 'album') {
-	  $comma = "psnup -2 -s1.0 $new_name_file";
-	  system("$comma $tempo_file"); 
-	  system("ps2pdf $tempo_file $name_file");
-      } elsif ($laystyle eq 'book') {
-	  system("ps2pdf $new_name_file $name_file");
-      }	    
-      my $texlog = $texfile;
-      my $texaux = $texfile;
-      my $texdvi = $texfile;
-      my $texps = $texfile;
-      $texlog =~ s/\.tex/\.log/;
-      $texaux =~ s/\.tex/\.aux/;
-      $texdvi =~ s/\.tex/\.dvi/;
-      $texps =~ s/\.tex/\.ps/;
-      my @garb = ($texlog,$texaux,$texdvi,$texps);
-      unlink @garb;
-      unlink $duefile;
-      print "<a href=\"/prtspool/$name_file\">Your PDF document</a>";
-      print "\n";
-  } else {
-      print "<h1>LaTeX could not successfully parse your tex file.</h1>";
-      print "<h2>It probably has errors in it.</h2>";
-      my $logfilename = $texfile;
-      $logfilename =~ s/\.tex$/\.log/;
-      if (-e $logfilename) {     
-          #if dvi file does not exist = LaTeX failed to parse tex file 
-	  print "Here are the error messages in the LaTeX log file</br>";
-	  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 $sygnal = 0;
-	  for (my $i=0;$i<=$#content_of_file;$i++) {
-	      if ($content_of_file[$i]=~m/^!/) {
-		  $sygnal = 1;
-	      } 
-	      if ($content_of_file[$i]=~m/Here is how much of/) {
-		  $sygnal = 0;
-	      } 
-	      if ($sygnal) {
-		  print "$content_of_file[$i]<br />";
-	      }
-
-	  } 
-#	  my $content_file_string = join(' ',@content_of_file);
-          
-#	  print "$content_file_string\n";
+      if (-e $new_name_file) {
+	  print "<h1>OUTPUT is in the PDF FILE (see link below)</h1>\n";
+	  $new_name_file =~ m/^(.*)\./;
+	  my $tempo_file = $1.'temporar.ps';
+	  my $name_file = $1.'.pdf';
+	  if ($laystyle eq 'album') {
+	      $comma = "psnup -2 -s1.0 $new_name_file";
+	      system("$comma $tempo_file"); 
+	      system("ps2pdf $tempo_file $name_file");
+	  } elsif ($laystyle eq 'book') {
+	      system("ps2pdf $new_name_file $name_file");
+	  }	    
+	  my $texlog = $texfile;
+	  my $texaux = $texfile;
+	  my $texdvi = $texfile;
+	  my $texps = $texfile;
+	  $texlog =~ s/\.tex/\.log/;
+	  $texaux =~ s/\.tex/\.aux/;
+	  $texdvi =~ s/\.tex/\.dvi/;
+	  $texps =~ s/\.tex/\.ps/;
+	  my @garb = ($texlog,$texaux,$texdvi,$texps);
+	  unlink @garb;
+	  unlink $duefile;
+	  print "<a href=\"/prtspool/$name_file\">Your PDF document</a>";
+	  print "\n";
       }
   }
+
+
+