The Texinfo Perl module main purpose is to be used in texi2any
to convert
Texinfo to other formats. There is no promise of API stability.
Includes miscellaneous methods set_menus_to_simple_menu
and
menu_to_simple_menu
to change the menu texinfo tree, as well
as insert_nodes_for_sectioning_commands
that adds nodes for
sectioning commands without nodes and complete_tree_nodes_menus
and complete_tree_nodes_missing_menu
that completes the
node menus based on the sectioning tree.
No method is exported in the default case.
Add menu entries or whole menus for nodes associated with sections,
based on the sectioning tree. If the optional
$add_section_names_in_entries
argument is set, a menu entry
name is added using the section name. This function should be
called after sectioning_structure.
Add whole menus for nodes associated with sections and without menu,
based on the sectioning tree. If the optional
$add_section_names_in_entries
argument is set, a menu entry
name is added using the section name. This function should be
called after sectioning_structure.
This function adds empty @unnumbered
and similar commands in a tree
to fill gaps in sectioning. This may be used, for example, when converting
from a format that can handle gaps in sectioning. $tree is the tree
root. An array reference is returned, containing the root contents
with added sectioning commands, as well as an array reference containing
the added sectioning commands.
If the sectioning commands are lowered or raised (with @raisesections
,
@lowersection
) the tree may be modified with @raisesections
or
@lowersection
added to some tree elements.
Insert nodes for sectioning commands without node in $tree
.
Add nodes to the labels used as targets for references $labels
and $targets_list
and to $nodes_list
.
An array reference is returned, containing the root contents with added nodes, as well as an array reference containing the added nodes.
menu_to_simple_menu
transforms the tree of a menu tree element.
set_menus_to_simple_menu
calls menu_to_simple_menu
for all the
menus of the nodes in $nodes_list
.
A simple menu has no menu_comment, menu_entry or menu_entry_description container anymore, their content are merged directly in the menu in preformatted container.
Protect hash (#) character at the beginning of line such that they would not be
considered as lines to be processed by the CPP processor. The $registrar
and $customization_information arguments may be undef. If defined, the
$registrar argument should be a Texinfo::Report object in which the
errors and warnings encountered while parsing are registered. If defined,
$customization_information should give access to customization through
get_conf
. If both $registrar and $customization_information are
defined they are used for error reporting in case an hash character could not
be protected because it appeared in a raw environment.
Modify $tree by converting reference @-commands to simple text using one of the arguments. This transformation can be used, for example, to remove reference @-command from constructed node names trees, as node names cannot contain reference @-command while there could be some in the tree used in input for the node name tree.
Regenerate the Top node master menu, replacing the first detailmenu in Top node menus or appending at the end of the Top node menu. $translations, if defined, should be a Texinfo::Translations object and should also hold customization information.
Copyright 2010- Free Software Foundation, Inc. See the source file for all copyright years.
This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.