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
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.