Diff for /doc/help/texxml2latex.pl between versions 1.4 and 1.5

version 1.4, 2003/07/01 18:20:52 version 1.5, 2003/07/18 20:42:27
Line 30 Line 30
 use strict;  use strict;
 use HTML::TokeParser;  use HTML::TokeParser;
 use GDBM_File;  use GDBM_File;
   use File::Temp;
   
 # accept texxml document on standard in  # accept texxml document on standard in
 my $p = HTML::TokeParser->new( $ARGV[0] );  my $p = HTML::TokeParser->new( $ARGV[0] );
 my $dirprefix = "../../loncom/html/adm/help/tex/";  my $dirprefix = "../../loncom/html/adm/help/tex/";
   
   # Make myself a temp dir for processing POD
   my $tmpdir = File::Temp::tempdir('loncapahelpgenXXXXXXX', TMPDIR => 1);
   
 # Print the header  # Print the header
 open (LATEX_FILE, $dirprefix . "Latex_Header.tex");  open (LATEX_FILE, $dirprefix . "Latex_Header.tex");
 print <LATEX_FILE>;  print <LATEX_FILE>;
   
   
 while (my $token = $p->get_token())  while (my $token = $p->get_token())
 {  {
     my $type = $token->[0];      my $type = $token->[0];
     if ($type eq 'S')      if ($type eq 'S') {
     {  
  my $tag = $token->[1];   my $tag = $token->[1];
  my $attr = $token->[2];   my $attr = $token->[2];
  if ($tag eq 'section')   if ($tag eq 'section') {
  {  
     my $title = $attr->{'name'};      my $title = $attr->{'name'};
     print "\\section{$title}\n\n";      print "\\section{$title}\n\n";
  }   }
   
  if ($tag eq 'subsection')   if ($tag eq 'subsection') {
  {  
     my $title = $attr->{'name'};      my $title = $attr->{'name'};
     print "\\subsection{$title}\n\n";      print "\\subsection{$title}\n\n";
  }   }
   
  if ($tag eq 'subsubsection')   if ($tag eq 'subsubsection') {
  {  
     my $title = $attr->{'name'};      my $title = $attr->{'name'};
     print "\\subsubsection{$title}\n\n";      print "\\subsubsection{$title}\n\n";
  }   }
   
  if ($tag eq 'file')   if ($tag eq 'file') {
  {  
     my $file = $attr->{'name'};      my $file = $attr->{'name'};
     open (LATEX_FILE, $dirprefix . $file);      open (LATEX_FILE, $dirprefix . $file);
     print <LATEX_FILE>;      print <LATEX_FILE>;
     print "\n\n";      print "\n\n";
  }   }
   
  if ($tag eq 'tex')   if ($tag eq 'tex') {
  {  
     print "\n\n";      print "\n\n";
     print $attr->{'content'};      print $attr->{'content'};
     print "\n\n";      print "\n\n";
  }   }
   
    if ($tag eq 'pod') {
       my $file = $attr->{'file'};
       my $section = $attr->{'section'};
       if (!defined($section)) { $section = ''; }
       else { $section = "-section $section"; }
       $file = '../../loncom/' . $file;
       my $tempfile = 't' . substr($file, rindex($file, '/') + 1);
       system ("cp $file $tmpdir");
       # The "echo" command is necessary; pod2latex can't
       # handle a perl file that *starts* with pod.
       system ("echo > $tmpdir/$tempfile; cat $file | podselect $section >> $tmpdir/$tempfile; cd $tmpdir; pod2latex $tempfile");
       my $latexFile = substr($tempfile, 0, rindex($tempfile, '.')) . '.tex';
       open LATEX_FILE, $tmpdir . '/' . $latexFile;
       print <LATEX_FILE>;
       print "\n\n";
    }
     }      }
 }  }
   
 # Print out the footer.  # Print out the footer.
 open (LATEX_FILE, $dirprefix . "Latex_Footer.tex");  open (LATEX_FILE, $dirprefix . "Latex_Footer.tex");
 print <LATEX_FILE>;  print <LATEX_FILE>;
   
   # Remove the temp directory
   system ("rm -rf $tmpdir");

Removed from v.1.4  
changed lines
  Added in v.1.5


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>