diff options
Diffstat (limited to 'contrib/perl5/pod/pod2latex.PL')
-rw-r--r-- | contrib/perl5/pod/pod2latex.PL | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/contrib/perl5/pod/pod2latex.PL b/contrib/perl5/pod/pod2latex.PL index feed98e..71115f3 100644 --- a/contrib/perl5/pod/pod2latex.PL +++ b/contrib/perl5/pod/pod2latex.PL @@ -101,7 +101,6 @@ print OUT <<'!NO!SUBS!'; # Translation of HTML escapes of various European accents might be wrong. -$/ = ""; # record separator is blank lines # TeX special characters. ##$tt_ables = "!@*()-=+|;:'\"`,./?<>"; $backslash_escapables = "#\$%&{}_"; @@ -119,13 +118,16 @@ $indent = 0; # parse the pods, produce LaTeX. -open(POD,"<$ARGV[0]") || die "cant open $ARGV[0]"; +use Pod::Plainer; +open(POD,"-|") or Pod::Plainer -> new() -> parse_from_file($ARGV[0]), exit; + ($pod=$ARGV[0]) =~ s/\.pod$//; open(LATEX,">$pod.tex"); &do_hdr(); $cutting = 1; $begun = ""; +$/ = ""; # record separator is blank lines while (<POD>) { if ($cutting) { next unless /^=/; @@ -314,6 +316,8 @@ while (<POD>) { } }gex; + s/X<([^<>]*)>/\\index{$1}/g; + s/Z<>/\\&/g; # the "don't format me" thing # comes last because not subject to reprocessing @@ -416,7 +420,7 @@ while (<POD>) { } print LATEX "\n\\begin{$listingcmd}\n"; push(@listingcmd,$listingcmd); - } elsif ($lastcmd ne 'item') { + } elsif ( !@listingcmd ) { warn "Illegal '=item' command without preceding 'over':"; warn "=item $bareitem"; } |