NAME

LaTeX::Pod - Transform LaTeX source files to POD (Plain old documentation)

SYNOPSIS

use LaTeX::Pod;

my $parser = LaTeX::Pod->new('/path/to/latex/source');
print $parser->convert;

DESCRIPTION

LaTeX::Pod converts LaTeX sources to Perl's POD (Plain old documentation) format. Currently only a subset of the available LaTeX language is suppported - see below for detailed information.

CONSTRUCTOR

new

The constructor requires that the path to the latex source must be declared:

$parser = LaTeX::Pod->new('/path/to/latex/source');

Returns the parser object.

METHODS

convert

There is only one public method available, convert:

$parser->convert;

Returns the POD document as string.

SUPPORTED LANGUAGE SUBSET

It's not much, but there's more to come:

  • chapters

  • sections/subsections/subsub...

  • verbatim blocks

  • itemized lists

  • plain text

  • bold/italic/code font tags

  • umlauts

IMPLEMENTATION DETAILS

The current implementation is a bit flaky because LaTeX::TOM, the framework being used for parsing the LaTeX nodes, makes a clear distinction between various types of nodes. As example, an \item directive has quite often a separate text which is associated with former one. And they can't be detected without some kind of sophisticated "lookbehind", which is what is done.

The author tried to implement a context-sensitive awareness for LaTeX::Pod. He did so by setting which node has been seen before the current one in order to be able to call the appropriate routine for a LaTeX directive with two or more nodes. Furthermore, LaTeX::Pod registers which node it has previously encountered and unregisters this information when it made use of it.

Considering that the POD language has a limited subset of commands, the overhead of keeping track of node occurences seems almost bearable. The POD processed may consist of too many newlines before undergoing the scrubbing where leading and trailing newlines will be truncated.

SEE ALSO

LaTeX::TOM

AUTHOR

Steven Schubiger <schubiger@cpan.org>

LICENSE

This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html