LaTeX::Pod - Transform LaTeX source files to POD


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:


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 "look-behind", which is what is being done.

LaTeX::Pod was designed with the intention to be context-sensitive aware. This is being achieved 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 documentation format has a limited subset of directives, the overhead of keeping track of node occurences appears to be bearable. The POD computed may consist of too many newlines before undergoing a transformation where leading and trailing newlines will be truncated.


SEE ALSO

the LaTeX::TOM manpage


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