MirOS Manual: Pod::LaTeX(3p)


Pod::LaTeX(3p)  Perl Programmers Reference Guide   Pod::LaTeX(3p)

NAME

     Pod::LaTeX - Convert Pod data to formatted Latex

SYNOPSIS

       use Pod::LaTeX;
       my $parser = Pod::LaTeX->new ( );

       $parser->parse_from_filehandle;

       $parser->parse_from_file ('file.pod', 'file.tex');

DESCRIPTION

     "Pod::LaTeX" is a module to convert documentation in the Pod
     format into Latex. The pod2latex  command uses this module
     for translation.

     "Pod::LaTeX" is a derived class from Pod::Select.

OBJECT METHODS

     The following methods are provided in this module. Methods
     inherited from "Pod::Select" are not described in the public
     interface.

     Data Accessors

     The following methods are provided for accessing instance
     data. These methods should be used for accessing configura-
     tion parameters rather than assuming the object is a hash.

     Default values can be supplied by using these names as keys
     to a hash of arguments when using the "new()" constructor.

     AddPreamble
         Logical to control whether a "latex" preamble is to be
         written. If true, a valid "latex" preamble is written
         before the pod data is written. This is similar to:

           \documentclass{article}
           \usepackage[T1]{fontenc}
           \usepackage{textcomp}
           \begin{document}

         but will be more complicated if table of contents and
         indexing are required. Can be used to set or retrieve
         the current value.

           $add = $parser->AddPreamble();
           $parser->AddPreamble(1);

         If used in conjunction with "AddPostamble" a full latex
         document will be written that could be immediately pro-
         cessed by "latex".

perl v5.8.8                2005-02-05                           1

Pod::LaTeX(3p)  Perl Programmers Reference Guide   Pod::LaTeX(3p)

         For some pod escapes it may be necessary to include the
         amsmath package. This is not yet added to the preamble
         automaatically.

     AddPostamble
         Logical to control whether a standard "latex" ending is
         written to the output file after the document has been
         processed. In its simplest form this is simply:

           \end{document}

         but can be more complicated if a index is required. Can
         be used to set or retrieve the current value.

           $add = $parser->AddPostamble();
           $parser->AddPostamble(1);

         If used in conjunction with "AddPreaamble" a full latex
         document will be written that could be immediately pro-
         cessed by "latex".

     Head1Level
         The "latex" sectioning level that should be used to
         correspond to a pod "=head1" directive. This can be
         used, for example, to turn a "=head1" into a "latex"
         "subsection". This should hold a number corresponding to
         the required position in an array containing the follow-
         ing elements:

          [0] chapter
          [1] section
          [2] subsection
          [3] subsubsection
          [4] paragraph
          [5] subparagraph

         Can be used to set or retrieve the current value:

           $parser->Head1Level(2);
           $sect = $parser->Head1Level;

         Setting this number too high can result in sections that
         may not be reproducible in the expected way. For exam-
         ple, setting this to 4 would imply that "=head3" do not
         have a corresponding "latex" section ("=head1" would
         correspond to a "paragraph").

         A check is made to ensure that the supplied value is an
         integer in the range 0 to 5.

         Default is for a value of 1 (i.e. a "section").

perl v5.8.8                2005-02-05                           2

Pod::LaTeX(3p)  Perl Programmers Reference Guide   Pod::LaTeX(3p)

     Label
         This is the label that is prefixed to all "latex" label
         and index entries to make them unique. In general, pods
         have similarly titled sections (NAME, DESCRIPTION etc)
         and a "latex" label will be multiply defined if more
         than one pod document is to be included in a single
         "latex" file. To overcome this, this label is prefixed
         to a label whenever a label is required (joined with an
         underscore) or to an index entry (joined by an exclama-
         tion mark which is the normal index separator). For
         example, "\label{text}" becomes "\label{Label_text}".

         Can be used to set or retrieve the current value:

           $label = $parser->Label;
           $parser->Label($label);

         This label is only used if "UniqueLabels" is true. Its
         value is set automatically from the "NAME" field if
         "ReplaceNAMEwithSection" is true. If this is not the
         case it must be set manually before starting the parse.

         Default value is "undef".

     LevelNoNum
         Control the point at which "latex" section numbering is
         turned off. For example, this can be used to make sure
         that "latex" sections are numbered but subsections are
         not.

         Can be used to set or retrieve the current value:

           $lev = $parser->LevelNoNum;
           $parser->LevelNoNum(2);

         The argument must be an integer between 0 and 5 and is
         the same as the number described in "Head1Level" method
         description. The number has nothing to do with the pod
         heading number, only the "latex" sectioning.

         Default is 2. (i.e. "latex" subsections are written as
         "subsection*" but sections are numbered).

     MakeIndex
         Controls whether "latex" commands for creating an index
         are to be inserted into the preamble and postamble

           $makeindex = $parser->MakeIndex;
           $parser->MakeIndex(0);

         Irrelevant if both "AddPreamble" and "AddPostamble" are
         false (or equivalently, "UserPreamble" and

perl v5.8.8                2005-02-05                           3

Pod::LaTeX(3p)  Perl Programmers Reference Guide   Pod::LaTeX(3p)

         "UserPostamble" are set).

         Default is for an index to be created.

     ReplaceNAMEwithSection
         This controls whether the "NAME" section in the pod is
         to be translated literally or converted to a slightly
         modified output where the section name is the pod name
         rather than "NAME".

         If true, the pod segment

           =head1 NAME

           pod::name - purpose

           =head1 SYNOPSIS

         is converted to the "latex"

           \section{pod::name\label{pod_name}\index{pod::name}}

           Purpose

           \subsection*{SYNOPSIS\label{pod_name_SYNOPSIS}%
                        \index{pod::name!SYNOPSIS}}

         (dependent on the value of "Head1Level" and "LevelNo-
         Num"). Note that subsequent "head1" directives translate
         to subsections rather than sections and that the labels
         and index now include the pod name (dependent on the
         value of "UniqueLabels").

         The "Label" is set from the pod name regardless of any
         current value of "Label".

           $mod = $parser->ReplaceNAMEwithSection;
           $parser->ReplaceNAMEwithSection(0);

         Default is to translate the pod literally.

     StartWithNewPage
         If true, each pod translation will begin with a "latex"
         "\clearpage".

           $parser->StartWithNewPage(1);
           $newpage = $parser->StartWithNewPage;

         Default is false.

     TableOfContents
         If true, a table of contents will be created. Irrelevant

perl v5.8.8                2005-02-05                           4

Pod::LaTeX(3p)  Perl Programmers Reference Guide   Pod::LaTeX(3p)

         if "AddPreamble" is false or "UserPreamble" is set.

           $toc = $parser->TableOfContents;
           $parser->TableOfContents(1);

         Default is false.

     UniqueLabels
         If true, the translator will attempt to make sure that
         each "latex" label or index entry will be uniquely iden-
         tified by prefixing the contents of "Label". This allows
         multiple documents to be combined without clashing com-
         mon labels such as "DESCRIPTION" and "SYNOPSIS"

           $parser->UniqueLabels(1);
           $unq = $parser->UniqueLabels;

         Default is true.

     UserPreamble
         User supplied "latex" preamble. Added before the pod
         translation data.

         If set, the contents will be prepended to the output
         file before the translated data regardless of the value
         of "AddPreamble". "MakeIndex" and "TableOfContents" will
         also be ignored.

     UserPostamble
         User supplied "latex" postamble. Added after the pod
         translation data.

         If set, the contents will be prepended to the output
         file after the translated data regardless of the value
         of "AddPostamble". "MakeIndex" will also be ignored.

NOTES

     Compatible with "latex2e" only. Can not be used with "latex"
     v2.09 or earlier.

     A subclass of "Pod::Select" so that specific pod sections
     can be converted to "latex" by using the "select" method.

     Some HTML escapes are missing and many have not been tested.

SEE ALSO

     Pod::Parser, Pod::Select, pod2latex

AUTHORS

     Tim Jenness <tjenness@cpan.org>

perl v5.8.8                2005-02-05                           5

Pod::LaTeX(3p)  Perl Programmers Reference Guide   Pod::LaTeX(3p)

     Bug fixes and improvements have been received from: Simon
     Cozens <simon@cozens.net>, Mark A. Hershberger
     <mah@everybody.org>, Marcel Grunauer <marcel@codewerk.com>,
     Hugh S Myers <hsmyers@sdragons.com>, Peter J Acklam
     <jacklam@math.uio.no>, Sudhi Herle <sudhi@herle.net>, Ariel
     Scolnicov <ariels@compugen.co.il>, Adriano Rodrigues Fer-
     reira <ferreira@triang.com.br> and R. de Vries
     <r.de.vries@dutchspace.nl>.

COPYRIGHT

     Copyright (C) 2000-2004 Tim Jenness. All Rights Reserved.

     This program is free software; you can redistribute it
     and/or modify it under the same terms as Perl itself.

perl v5.8.8                2005-02-05                           6

Generated on 2014-07-04 21:17:45 by $MirOS: src/scripts/roff2htm,v 1.79 2014/02/10 00:36:11 tg Exp $

These manual pages and other documentation are copyrighted by their respective writers; their source is available at our CVSweb, AnonCVS, and other mirrors. The rest is Copyright © 2002‒2014 The MirOS Project, Germany.
This product includes material provided by Thorsten Glaser.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report – diffs preferred.