version 1.1, 2002/07/30 17:56:06
|
version 1.3, 2003/06/20 21:10:52
|
Line 32 use strict;
|
Line 32 use strict;
|
use HTML::TokeParser; |
use HTML::TokeParser; |
use GDBM_File; |
use GDBM_File; |
|
|
# accept texxml document on standard in |
|
my $p = HTML::TokeParser->new( $ARGV[0] ); |
|
my $dirprefix = "/home/httpd/html/adm/help/tex/"; |
|
|
|
if (not defined($ARGV[1])) |
if (not defined($ARGV[1])) |
{ |
{ |
print <<USAGE; |
print <<USAGE; |
Usage: texxml2indextex.pl texxmlfilename headerfile |
Usage: texxml2indextex.pl texxmlfilename |
texxml2indextex.pl will create an 'index file' suitable for use as a |
texxml2indextex.pl will create an 'index file' suitable for use as a |
sort of title page for a given set of help files. The second file will |
sort of title page for a given set of help files. The second file will |
be placed at the beginning, verbatim, so it can be used to provide |
be placed at the beginning, verbatim, so it can be used to provide |
context, title, etc, if given. |
context, title, etc, if given. |
USAGE |
USAGE |
|
|
|
exit; |
} |
} |
|
|
# Print the specified header and title |
# accept texxml document on standard in |
print <$ARGV[1]>; |
my $p = HTML::TokeParser->new( <$ARGV[1]> ); |
|
my $dirprefix = "/home/httpd/html/adm/help/tex/"; |
|
|
|
# there's a TTH error if we put something before a section starts, |
|
# so don't display anything that precedes a section. Since that's just |
|
# the title page anyhow, no loss. |
|
my $inSection = 0; |
|
|
while (my $token = $p->get_token()) |
while (my $token = $p->get_token()) |
{ |
{ |
Line 57 while (my $token = $p->get_token())
|
Line 61 while (my $token = $p->get_token())
|
{ |
{ |
my $tag = $token->[1]; |
my $tag = $token->[1]; |
my $attr = $token->[2]; |
my $attr = $token->[2]; |
|
if ($tag eq 'title') |
|
{ |
|
my $title = $attr->{'name'}; |
|
print "{\\Large Online Access to $title}\n\n"; |
|
} |
if ($tag eq 'section') |
if ($tag eq 'section') |
{ |
{ |
|
$inSection = 1; |
my $title = $attr->{'name'}; |
my $title = $attr->{'name'}; |
print "\\emph{\\textbf{$title}}\n\n"; |
print "\\emph{\\textbf{$title}}\n"; |
|
print "\\begin{itemize}\n\n"; |
} |
} |
|
|
if ($tag eq 'subsection') |
if ($tag eq 'subsection') |
{ |
{ |
my $title = $attr->{'name'}; |
my $title = $attr->{'name'}; |
print "\\textbf{$title}\n\n"; |
print "\\textbf{$title}\n\n"; |
|
print "\\begin{itemize}\n\n"; |
} |
} |
|
|
if ($tag eq 'subsubsection') |
if ($tag eq 'subsubsection') |
{ |
{ |
my $title = $attr->{'name'}; |
my $title = $attr->{'name'}; |
print "$title\n\n"; |
print "\\emph{$title}\n\n"; |
|
print "\\begin{itemize}\n\n"; |
} |
} |
|
|
if ($tag eq 'file') |
if ($tag eq 'file') |
Line 80 while (my $token = $p->get_token())
|
Line 93 while (my $token = $p->get_token())
|
my $file = substr($attr->{'name'}, 0, -4); |
my $file = substr($attr->{'name'}, 0, -4); |
my $title = $file; |
my $title = $file; |
$title =~ s/_/ /g; |
$title =~ s/_/ /g; |
print "\\item \\ref{$file} $title"; |
if ($inSection) {print "\\item \\ref{$file} $title\n\n"}; |
|
} |
|
} |
|
elsif ($type eq 'E') |
|
{ |
|
my $tag = $token->[1]; |
|
if (index($tag, "section") != -1) |
|
{ |
|
print "\\end{itemize}\n\n"; |
} |
} |
} |
} |
} |
} |