LaTeX::Pod - Transform LaTeX source files to POD (Plain old documentation)
use LaTeX::Pod; $parser = LaTeX::Pod->new('/path/to/source'); print $parser->convert;
LaTeX::Pod converts LaTeX sources to Perl's POD (Plain old documentation). Currently only a subset of the available LaTeX language is supported; see "SUPPORTED LANGUAGE SUBSET" for further details.
The constructor requires that the path to the LaTeX source is defined:
$parser = LaTeX::Pod->new('/path/to/source');
Returns the parser object.
There is one public method available, namely
$pod = $parser->convert;
Returns the computed POD as a string.
LaTeX currently supported:
The current implementation is based upon LaTeX::TOM (the framework being used for parsing the LaTeX source) and its clear distinction between various types of nodes. As an example, a
\chapter command has a separate text associated with it as its content.
LaTeX::Pod uses a "look-behind" mechanism for commands and their corresponding texts since they currently cannot be easily detected without such a mechanism.
LaTeX::Pod was designed with the intention to be context-sensitive aware. This is also being aimed at by eventually registering which type of node has been seen before the current one -- useful when constructing logical paragraphs made out of two or more nodes.
LaTeX::Pod then finally unregisters the type of node seen when it is no longer required. In addition, a dispatch queue is built internally which is executed after all nodes have been processed.
Considering that the POD format has a limited subset of directives, the complexity of keeping track of node occurences appears to be bearable. Leading and trailing newlines will be removed from the node's text extracted where needed; furthermore, trailing spaces and tabs will also be purged from each line of POD resulting.
It is highly recommended to ensure that the structure of the LaTeX input file follows the format specification strictly or the parser may not succeed.
Steven Schubiger <email@example.com>
This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself.