NAME
LaTeX::Pod - Transform LaTeX source files to POD (Plain old documentation)
SYNOPSIS
use LaTeX::Pod;
$parser = LaTeX::Pod->new('/path/to/source');
print $parser->convert;
DESCRIPTION
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.
CONSTRUCTOR
new
The constructor requires that the path to the LaTeX source is defined:
$parser = LaTeX::Pod->new('/path/to/source');
Returns the parser object.
METHODS
convert
There is one public method available, namely convert()
:
$pod = $parser->convert;
Returns the computed POD as a string.
SUPPORTED LANGUAGE SUBSET
LaTeX currently supported:
abstracts
chapters
sections/subsections/subsubsections
description, enumerate and itemize lists
verbatim blocks (and indentation)
plain text
bold/italic/code font tags
umlauts
newlines
comments
IMPLEMENTATION DETAILS
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.
Thus 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.
BUGS & CAVEATS
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.
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.