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
LICENSE
This program is free software; you may redistribute it and/or modify it
under the same terms as Perl itself.
See