Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Pod::LaTeX(3)	      User Contributed Perl Documentation	 Pod::LaTeX(3)

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 configuration 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 processed by "latex".

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

       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 processed 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
	   following 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 example, 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").

       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 exclamation 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 "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 "LevelNoNum"). 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 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 identified by prefixing the
	   contents of "Label".	This allows multiple documents to be combined
	   without clashing common 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, Pod::Simple.

AUTHORS
       Tim Jenness <tjenness@cpan.org>

       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 Ferreira
       <ferreira@triang.com.br>, R. de Vries <r.de.vries@dutchspace.nl>	and
       Dave Mitchell <davem@iabyn.com>.

COPYRIGHT
       Copyright (C) 2011 Tim Jenness.	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.32.1			  2021-08-26			 Pod::LaTeX(3)

NAME | SYNOPSIS | DESCRIPTION | OBJECT METHODS | NOTES | SEE ALSO | AUTHORS | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Pod::LaTeX&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help