diff options
author | Norbert Preining <norbert@preining.info> | 2022-11-09 03:02:50 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-11-09 03:02:50 +0000 |
commit | 5de83ec843cdc88e6adc42b1fe3f0ec48c52b7f3 (patch) | |
tree | b49f7c180396c8ef389c8fd519370b6d03f4e100 /macros/texinfo/texinfo/doc/tp_api/texi2any_internals.info | |
parent | 118cb5bbc5236bf86ca1088b9b3bae04c7b09beb (diff) |
CTAN sync 202211090302
Diffstat (limited to 'macros/texinfo/texinfo/doc/tp_api/texi2any_internals.info')
-rw-r--r-- | macros/texinfo/texinfo/doc/tp_api/texi2any_internals.info | 6034 |
1 files changed, 6034 insertions, 0 deletions
diff --git a/macros/texinfo/texinfo/doc/tp_api/texi2any_internals.info b/macros/texinfo/texinfo/doc/tp_api/texi2any_internals.info new file mode 100644 index 0000000000..1c10845597 --- /dev/null +++ b/macros/texinfo/texinfo/doc/tp_api/texi2any_internals.info @@ -0,0 +1,6034 @@ +This is texi2any_internals.info, produced by texi2any version 7.0+dev +from texi2any_internals.texi. + +INFO-DIR-SECTION Texinfo documentation system +START-INFO-DIR-ENTRY +* texi2any modules: (texi2any_internals). + Texinfo Perl modules used in texi2any +END-INFO-DIR-ENTRY + + +File: texi2any_internals.info, Node: Top, Next: Texinfo::Commands, Up: (dir) + +Texinfo modules documentation +***************************** + +* Menu: + +* Texinfo::Commands:: +* Texinfo::Common:: +* Texinfo::Parser:: +* Texinfo::Structuring:: +* Texinfo::Report:: +* Texinfo::Translations:: +* Texinfo::Transformations:: +* Texinfo::Convert::Texinfo:: +* Texinfo::Convert::Utils:: +* Texinfo::Convert::Unicode:: +* Texinfo::Convert::NodeNameNormalization:: +* Texinfo::Convert::Text:: +* Texinfo::Convert::Converter:: +* Texinfo::Convert::Info:: +* Texinfo::Convert::HTML:: +* Texinfo::Convert::DocBook:: +* Texinfo::Convert::TexinfoMarkup:: +* Texinfo::Convert::TexinfoXML:: +* Texinfo::Convert::Plaintext:: + + — The Detailed Node Listing — + +Texinfo::Commands + +* Texinfo::Commands NAME:: +* Texinfo::Commands SYNOPSIS:: +* Texinfo::Commands NOTES:: +* Texinfo::Commands DESCRIPTION:: +* Texinfo::Commands @-COMMAND INFORMATION:: +* Texinfo::Commands @-COMMAND CLASSES:: +* Texinfo::Commands SEE ALSO:: +* Texinfo::Commands AUTHOR:: +* Texinfo::Commands COPYRIGHT AND LICENSE:: + +Texinfo::Common + +* Texinfo::Common NAME:: +* Texinfo::Common SYNOPSIS:: +* Texinfo::Common NOTES:: +* Texinfo::Common DESCRIPTION:: +* Texinfo::Common MISC INFORMATION:: +* Texinfo::Common @-COMMAND INFORMATION:: +* Texinfo::Common METHODS:: +* Texinfo::Common SEE ALSO:: +* Texinfo::Common AUTHOR:: +* Texinfo::Common COPYRIGHT AND LICENSE:: + +Texinfo::Parser + +* Texinfo::Parser NAME:: +* Texinfo::Parser SYNOPSIS:: +* Texinfo::Parser NOTES:: +* Texinfo::Parser DESCRIPTION:: +* Texinfo::Parser METHODS:: +* Texinfo::Parser TEXINFO TREE:: +* Texinfo::Parser SEE ALSO:: +* Texinfo::Parser AUTHOR:: +* Texinfo::Parser COPYRIGHT AND LICENSE:: + +Texinfo::Parser METHODS + +* Texinfo::Parser Initialization:: +* Texinfo::Parser Parsing Texinfo text:: +* Texinfo::Parser Getting information on the document:: + +TEXINFO TREE + +* Texinfo::Parser Element keys:: +* Texinfo::Parser Element types:: +* Texinfo::Parser Information available in the extra key:: + +Element types + +* Texinfo::Parser Types for command elements:: +* Texinfo::Parser Types for text elements:: +* Texinfo::Parser Tree container elements:: +* Texinfo::Parser Types of container elements:: + +Information available in the ‘extra’ key + +* Texinfo::Parser Extra keys available for more than one @-command:: +* Texinfo::Parser Extra keys specific of certain @-commands or containers:: + +Texinfo::Structuring + +* Texinfo::Structuring NAME:: +* Texinfo::Structuring SYNOPSIS:: +* Texinfo::Structuring NOTES:: +* Texinfo::Structuring DESCRIPTION:: +* Texinfo::Structuring METHODS:: +* Texinfo::Structuring SEE ALSO:: +* Texinfo::Structuring AUTHOR:: +* Texinfo::Structuring COPYRIGHT AND LICENSE:: + +Texinfo::Report + +* Texinfo::Report NAME:: +* Texinfo::Report SYNOPSIS:: +* Texinfo::Report NOTES:: +* Texinfo::Report DESCRIPTION:: +* Texinfo::Report METHODS:: +* Texinfo::Report AUTHOR:: +* Texinfo::Report COPYRIGHT AND LICENSE:: + +Texinfo::Translations + +* Texinfo::Translations NAME:: +* Texinfo::Translations SYNOPSIS:: +* Texinfo::Translations NOTES:: +* Texinfo::Translations DESCRIPTION:: +* Texinfo::Translations METHODS:: +* Texinfo::Translations AUTHOR:: +* Texinfo::Translations COPYRIGHT AND LICENSE:: + +Texinfo::Transformations + +* Texinfo::Transformations NAME:: +* Texinfo::Transformations NOTES:: +* Texinfo::Transformations DESCRIPTION:: +* Texinfo::Transformations METHODS:: +* Texinfo::Transformations SEE ALSO:: +* Texinfo::Transformations AUTHOR:: +* Texinfo::Transformations COPYRIGHT AND LICENSE:: + +Texinfo::Convert::Texinfo + +* Texinfo::Convert::Texinfo NAME:: +* Texinfo::Convert::Texinfo SYNOPSIS:: +* Texinfo::Convert::Texinfo NOTES:: +* Texinfo::Convert::Texinfo DESCRIPTION:: +* Texinfo::Convert::Texinfo METHODS:: +* Texinfo::Convert::Texinfo AUTHOR:: +* Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE:: + +Texinfo::Convert::Utils + +* Texinfo::Convert::Utils NAME:: +* Texinfo::Convert::Utils SYNOPSIS:: +* Texinfo::Convert::Utils NOTES:: +* Texinfo::Convert::Utils DESCRIPTION:: +* Texinfo::Convert::Utils METHODS:: +* Texinfo::Convert::Utils SEE ALSO:: +* Texinfo::Convert::Utils AUTHOR:: +* Texinfo::Convert::Utils COPYRIGHT AND LICENSE:: + +Texinfo::Convert::Unicode + +* Texinfo::Convert::Unicode NAME:: +* Texinfo::Convert::Unicode SYNOPSIS:: +* Texinfo::Convert::Unicode NOTES:: +* Texinfo::Convert::Unicode DESCRIPTION:: +* Texinfo::Convert::Unicode METHODS:: +* Texinfo::Convert::Unicode AUTHOR:: +* Texinfo::Convert::Unicode COPYRIGHT AND LICENSE:: + +Texinfo::Convert::NodeNameNormalization + +* Texinfo::Convert::NodeNameNormalization NAME:: +* Texinfo::Convert::NodeNameNormalization SYNOPSIS:: +* Texinfo::Convert::NodeNameNormalization NOTES:: +* Texinfo::Convert::NodeNameNormalization DESCRIPTION:: +* Texinfo::Convert::NodeNameNormalization METHODS:: +* Texinfo::Convert::NodeNameNormalization AUTHOR:: +* Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE:: + +Texinfo::Convert::Text + +* Texinfo::Convert::Text NAME:: +* Texinfo::Convert::Text SYNOPSIS:: +* Texinfo::Convert::Text NOTES:: +* Texinfo::Convert::Text DESCRIPTION:: +* Texinfo::Convert::Text METHODS:: +* Texinfo::Convert::Text AUTHOR:: +* Texinfo::Convert::Text COPYRIGHT AND LICENSE:: + +Texinfo::Convert::Converter + +* Texinfo::Convert::Converter NAME:: +* Texinfo::Convert::Converter SYNOPSIS:: +* Texinfo::Convert::Converter NOTES:: +* Texinfo::Convert::Converter DESCRIPTION:: +* Texinfo::Convert::Converter METHODS:: +* Texinfo::Convert::Converter SEE ALSO:: +* Texinfo::Convert::Converter AUTHOR:: +* Texinfo::Convert::Converter COPYRIGHT AND LICENSE:: + +Texinfo::Convert::Converter METHODS + +* Texinfo::Convert::Converter Initialization:: +* Texinfo::Convert::Converter Getting and setting customization variables:: +* Texinfo::Convert::Converter Conversion to XML:: +* Texinfo::Convert::Converter Helper methods:: + +Texinfo::Convert::Info + +* Texinfo::Convert::Info NAME:: +* Texinfo::Convert::Info SYNOPSIS:: +* Texinfo::Convert::Info NOTES:: +* Texinfo::Convert::Info DESCRIPTION:: +* Texinfo::Convert::Info METHODS:: +* Texinfo::Convert::Info AUTHOR:: +* Texinfo::Convert::Info COPYRIGHT AND LICENSE:: + +Texinfo::Convert::HTML + +* Texinfo::Convert::HTML NAME:: +* Texinfo::Convert::HTML SYNOPSIS:: +* Texinfo::Convert::HTML NOTES:: +* Texinfo::Convert::HTML DESCRIPTION:: +* Texinfo::Convert::HTML METHODS:: +* Texinfo::Convert::HTML AUTHOR:: +* Texinfo::Convert::HTML COPYRIGHT AND LICENSE:: + +Texinfo::Convert::DocBook + +* Texinfo::Convert::DocBook NAME:: +* Texinfo::Convert::DocBook SYNOPSIS:: +* Texinfo::Convert::DocBook NOTES:: +* Texinfo::Convert::DocBook DESCRIPTION:: +* Texinfo::Convert::DocBook METHODS:: +* Texinfo::Convert::DocBook AUTHOR:: +* Texinfo::Convert::DocBook COPYRIGHT AND LICENSE:: + +Texinfo::Convert::TexinfoMarkup + +* Texinfo::Convert::TexinfoMarkup NAME:: +* Texinfo::Convert::TexinfoMarkup SYNOPSIS:: +* Texinfo::Convert::TexinfoMarkup NOTES:: +* Texinfo::Convert::TexinfoMarkup DESCRIPTION:: +* Texinfo::Convert::TexinfoMarkup METHODS:: +* Texinfo::Convert::TexinfoMarkup AUTHOR:: +* Texinfo::Convert::TexinfoMarkup SEE ALSO:: +* Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE:: + +Texinfo::Convert::TexinfoMarkup METHODS + +* Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses:: +* Texinfo::Convert::TexinfoMarkup Formatting state information:: + +Texinfo::Convert::TexinfoXML + +* Texinfo::Convert::TexinfoXML NAME:: +* Texinfo::Convert::TexinfoXML SYNOPSIS:: +* Texinfo::Convert::TexinfoXML NOTES:: +* Texinfo::Convert::TexinfoXML DESCRIPTION:: +* Texinfo::Convert::TexinfoXML METHODS:: +* Texinfo::Convert::TexinfoXML AUTHOR:: +* Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE:: + +Texinfo::Convert::Plaintext + +* Texinfo::Convert::Plaintext NAME:: +* Texinfo::Convert::Plaintext SYNOPSIS:: +* Texinfo::Convert::Plaintext NOTES:: +* Texinfo::Convert::Plaintext DESCRIPTION:: +* Texinfo::Convert::Plaintext METHODS:: +* Texinfo::Convert::Plaintext AUTHOR:: +* Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Commands, Next: Texinfo::Common, Prev: Top, Up: Top + +1 Texinfo::Commands +******************* + +* Menu: + +* Texinfo::Commands NAME:: +* Texinfo::Commands SYNOPSIS:: +* Texinfo::Commands NOTES:: +* Texinfo::Commands DESCRIPTION:: +* Texinfo::Commands @-COMMAND INFORMATION:: +* Texinfo::Commands @-COMMAND CLASSES:: +* Texinfo::Commands SEE ALSO:: +* Texinfo::Commands AUTHOR:: +* Texinfo::Commands COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Commands NAME, Next: Texinfo::Commands SYNOPSIS, Up: Texinfo::Commands + +1.1 Texinfo::Commands NAME +========================== + +Texinfo::Commands - Classification of commands + + +File: texi2any_internals.info, Node: Texinfo::Commands SYNOPSIS, Next: Texinfo::Commands NOTES, Prev: Texinfo::Commands NAME, Up: Texinfo::Commands + +1.2 Texinfo::Commands SYNOPSIS +============================== + + use Texinfo::Commands; + if ($Texinfo::Commands::accent_commands{$a_command}) { + print STDERR "$a_command is an accent command\n"; + } + + +File: texi2any_internals.info, Node: Texinfo::Commands NOTES, Next: Texinfo::Commands DESCRIPTION, Prev: Texinfo::Commands SYNOPSIS, Up: Texinfo::Commands + +1.3 Texinfo::Commands NOTES +=========================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Commands DESCRIPTION, Next: Texinfo::Commands @-COMMAND INFORMATION, Prev: Texinfo::Commands NOTES, Up: Texinfo::Commands + +1.4 Texinfo::Commands DESCRIPTION +================================= + +Texinfo::Commands holds a few hashes with information on @-commands and +hashes classifying Texinfo @-commands. + + +File: texi2any_internals.info, Node: Texinfo::Commands @-COMMAND INFORMATION, Next: Texinfo::Commands @-COMMAND CLASSES, Prev: Texinfo::Commands DESCRIPTION, Up: Texinfo::Commands + +1.5 @-COMMAND INFORMATION +========================= + +Hashes are defined as ‘our’ variables, and are therefore available +outside of the module. + +%index_names + + Hash describing the default Texinfo indices. The format of this + hash is described in *note Texinfo::Parser indices_information::. + + +File: texi2any_internals.info, Node: Texinfo::Commands @-COMMAND CLASSES, Next: Texinfo::Commands SEE ALSO, Prev: Texinfo::Commands @-COMMAND INFORMATION, Up: Texinfo::Commands + +1.6 @-COMMAND CLASSES +===================== + +Hashes are defined as ‘our’ variables, and are therefore available +outside of the module. + + The key of the hashes are @-command names without the @. The +following hashes are available: + +%accent_commands + + Accent @-commands taking an argument, like ‘@'’ or ‘@ringaccent’, + including ‘@dotless’ and ‘@tieaccent’. + +%block_commands + + Commands delimiting a block with a closing ‘@end’. The values are: + + _conditional_ + + ‘@if*’ commands; + + _def_ + + Definition commands like ‘@deffn’; + + _float_ + + ‘@float’; + + _format_raw_ + + raw output format commands such as ‘@html’ or ‘@info’; + + _item_container_ + + commands with ‘@item’ containing any content, ‘@itemize’ and + ‘@enumerate’; + + _item_line_ + + commands like ‘@table’ in which the ‘@item’ argument is on its + line; + + _menu_ + + menu @-commands, ‘@menu’, ‘@detailmenu’ and ‘@direntry’; + + _math_ + + Math block commands, like ‘@displaymath’. + + _multitable_ + + ‘@multitable’; + + _other_ + + The remaining block commands. + + _preformatted_ + + Commands whose content should not be filled, like ‘@example’ + or ‘@display’. + + _quotation_ + + Commands like ‘@quotation’. + + _raw_ + + @-commands that have no expansion of @-commands in their + bodies (‘@macro’, ‘@verbatim’ and ‘@ignore’); + + _region_ + + Commands delimiting a region of the document out of the main + processing: ‘@titlepage’, ‘@copying’, ‘@documentdescription’. + +%commands_args_number + + Set to the number of arguments separated by commas that may appear + in braces or on the @-command line. That means 0 or unset for most + block commands, including ‘@example’ which has an unlimited + (variadic) number of arguments, 1 for ‘@quotation’, 2 for ‘@float’, + 1 for most brace commands, 2 for ‘@email’ or ‘@abbr’, 5 for + ‘@image’ of ‘@ref’. + + Values are not necessarily set for all the commands, as commands + are also classified by type of command, some type of commands + implying a number of arguments, and the number of arguments may not + be set if it corresponds to the default (0 for block commands, 1 + for other commands). + +%brace_commands + + The commands that take braces. Value is _noarg_ for brace commands + without argument such as ‘@AA’, ‘@TeX’, or ‘@equiv’. Other values + include _accent_, _arguments_, _context_ and other values. + +%def_commands + + Definition commands. + +%default_index_commands + + Index entry commands corresponding to default indices. For example + ‘@cindex’. + +%heading_spec_commands + + @-commands used to specify custom headings, like ‘@everyheading’. + +%in_heading_spec_commands + + Special @-commands appearing in custom headings, such as + ‘@thischapter’ or ‘@thistitle’. + +%letter_no_arg_commands + + @-commands with braces but no argument corresponding to letters, + like ‘@AA{}’ or ‘@ss{}’ or ‘@o{}’. + +%math_commands + + @-commands which contains math, like ‘@math’ or ‘@displaymath’. + +%line_commands + + Command that do not take braces, take arguments on the command line + and are not block commands either, like ‘@node’, ‘@chapter’, + ‘@cindex’, ‘@deffnx’, ‘@end’, ‘@footnotestyle’, ‘@set’, + ‘@settitle’, ‘@itemx’, ‘@definfoenclose’, ‘@comment’ and many + others. + + Note that ‘@item’ is in ‘%line_commands’ for its role in ‘@table’ + and similar @-commands. + +%nobrace_commands + + Command that do not take braces, do not have argument on their line + and are not block commands either. The value is _symbol_ for + single character non-alphabetical @-commands such as ‘@@’, ‘@ ’ or + ‘@:’. Other commands in that hash include ‘@indent’, ‘@tab’ or + ‘@thissection’. + + Note that ‘@item’ is in ‘%nobrace_commands’ for its role in + ‘@multitable’, ‘@itemize’ and ‘@enumerate’. + +%preformatted_commands + +%preformatted_code_commands + + _%preformatted_commands_ is for commands whose content should not + be filled, like ‘@example’ or ‘@display’. If the command is meant + for code, it is also in _%preformatted_code_commands_, like + ‘@example’. + +%ref_commands + + Cross reference @-command referencing nodes, like ‘@xref’. + +%root_commands + + Commands that are at the root of a Texinfo document, namely ‘@node’ + and sectioning commands, except heading commands like ‘@heading’. + +%sectioning_heading_commands + + All the sectioning and heading commands. + +%variadic_commands + + Commands with unlimited arguments, like ‘@example’. + + +File: texi2any_internals.info, Node: Texinfo::Commands SEE ALSO, Next: Texinfo::Commands AUTHOR, Prev: Texinfo::Commands @-COMMAND CLASSES, Up: Texinfo::Commands + +1.7 Texinfo::Commands SEE ALSO +============================== + +*note Texinfo::Parser: Texinfo::Parser NAME, *note Texinfo::Common: +Texinfo::Common NAME. + + +File: texi2any_internals.info, Node: Texinfo::Commands AUTHOR, Next: Texinfo::Commands COPYRIGHT AND LICENSE, Prev: Texinfo::Commands SEE ALSO, Up: Texinfo::Commands + +1.8 Texinfo::Commands AUTHOR +============================ + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Commands COPYRIGHT AND LICENSE, Prev: Texinfo::Commands AUTHOR, Up: Texinfo::Commands + +1.9 Texinfo::Commands COPYRIGHT AND LICENSE +=========================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Common, Next: Texinfo::Parser, Prev: Texinfo::Commands, Up: Top + +2 Texinfo::Common +***************** + +* Menu: + +* Texinfo::Common NAME:: +* Texinfo::Common SYNOPSIS:: +* Texinfo::Common NOTES:: +* Texinfo::Common DESCRIPTION:: +* Texinfo::Common MISC INFORMATION:: +* Texinfo::Common @-COMMAND INFORMATION:: +* Texinfo::Common METHODS:: +* Texinfo::Common SEE ALSO:: +* Texinfo::Common AUTHOR:: +* Texinfo::Common COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Common NAME, Next: Texinfo::Common SYNOPSIS, Up: Texinfo::Common + +2.1 Texinfo::Common NAME +======================== + +Texinfo::Common - Texinfo modules common data and miscellaneous methods + + +File: texi2any_internals.info, Node: Texinfo::Common SYNOPSIS, Next: Texinfo::Common NOTES, Prev: Texinfo::Common NAME, Up: Texinfo::Common + +2.2 Texinfo::Common SYNOPSIS +============================ + + use Texinfo::Common; + + + my @commands_to_collect = ('math'); + my $collected_commands + = Texinfo::Common::collect_commands_in_tree($document_root, + \@commands_to_collect); + + +File: texi2any_internals.info, Node: Texinfo::Common NOTES, Next: Texinfo::Common DESCRIPTION, Prev: Texinfo::Common SYNOPSIS, Up: Texinfo::Common + +2.3 Texinfo::Common NOTES +========================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Common DESCRIPTION, Next: Texinfo::Common MISC INFORMATION, Prev: Texinfo::Common NOTES, Up: Texinfo::Common + +2.4 Texinfo::Common DESCRIPTION +=============================== + +Texinfo::Common holds hashes with miscellaneous information and some +hashes with information on Texinfo @-commands, as well as miscellaneous +methods. + + +File: texi2any_internals.info, Node: Texinfo::Common MISC INFORMATION, Next: Texinfo::Common @-COMMAND INFORMATION, Prev: Texinfo::Common DESCRIPTION, Up: Texinfo::Common + +2.5 MISC INFORMATION +==================== + +Hashes are defined as ‘our’ variables, and are therefore available +outside of the module. + + TODO: undocumented %null_device_file +%default_parser_customization_values +%document_settable_multiple_at_commands +%document_settable_unique_at_commands +%default_converter_command_line_options +%default_main_program_customization_options +%default_converter_customization @variable_string_settables +%document_settable_at_commands %def_map %command_structuring_level +%level_to_structuring_command + +%texinfo_output_formats + + Cannonical output formats that have associated conditionals. In + practice corresponds to ‘format_raw’ ‘%block_commands’ plus ‘info’ + and ‘plaintext’. + + +File: texi2any_internals.info, Node: Texinfo::Common @-COMMAND INFORMATION, Next: Texinfo::Common METHODS, Prev: Texinfo::Common MISC INFORMATION, Up: Texinfo::Common + +2.6 @-COMMAND INFORMATION +========================= + +Hashes are defined as ‘our’ variables, and are therefore available +outside of the module. + + The key of the hashes are @-command names without the @. The +following hashes are available: + +%all_commands + + All the @-commands. + +%brace_code_commands + + Brace commands that have their argument in code style, like + ‘@code’. + +%def_aliases + +%def_no_var_arg_commands + + ‘%def_aliases’ associates an aliased command to the original + command, for example ‘defun’ is associated to ‘deffn’. + + ‘%def_no_var_arg_commands’ associates a definition command name + with a true value if the _argument_ on the definition command line + can contain non-metasyntactic variables. For instance, it is true + for ‘deftypevr’ but false for ‘defun’, since ‘@defun’ _argument_ is + supposed to contain metasyntactic variables only. + +%explained_commands + + @-commands whose second argument explain first argument and further + @-command call without first argument, as ‘@abbr’ and ‘@acronym’. + +%inline_conditional_commands + +%inline_format_commands + + Inline conditional commands, like ‘@inlineifclear’, and inline + format commands like ‘inlineraw’ and ‘inlinefmt’. + +%nobrace_symbol_text + + Values are ASCII representation of single character + non-alphabetical commands without brace such as ‘*’ or ‘:’. The + value may be an empty string. + +%small_block_associated_command + + Associate small command like ‘smallexample’ to the regular command + ‘example’. + + +File: texi2any_internals.info, Node: Texinfo::Common METHODS, Next: Texinfo::Common SEE ALSO, Prev: Texinfo::Common @-COMMAND INFORMATION, Up: Texinfo::Common + +2.7 Texinfo::Common METHODS +=========================== + +Two methods are exported in the default case for Texinfo modules +messages translation in the Uniforum gettext framework, ‘__’ and ‘__p’. + + The Texinfo tree and Texinfo tree elements used in argument of some +functions are documented in *note Texinfo::Parser TEXINFO TREE::. When +customization information is needed, an object that defines ‘set_conf’ +and/or ‘get_conf’ is expected, for example a converter inheriting from +‘Texinfo::Convert::Converter’, see *note Texinfo::Convert::Converter +Getting and setting customization variables::. + +$translated_string = __($msgid) + +$translated_string = __p($msgctxt, $msgid) + + Returns the _$msgid_ string translated in the Texinfo messages text + domain. ‘__p’ can be used instead of ‘__’ to pass a _$msgctxt_ + context string to provide translators with information on the + string context when the string is short or if the translation could + depend on the context. ‘__’ corresponds to the ‘gettext’ function + and ‘__p’ to the ‘pgettext’ function. + + It is not advised to use those functions in user-defined code. It + is not practical either, as the translatable strings marked by ‘__’ + or ‘__p’ need to be collected and added to the Texinfo messages + domain. This facility could only be used in user-defined code with + translatable strings already present in the domain anyway. In + fact, these functions are documented mainly because they are + automatically exported. + + See *note (libintl-perl)::, ‘gettext’ C interface + (https://www.gnu.org/software/gettext/manual/html_node/gettext.html), + Perl in GNU Gettext + (https://www.gnu.org/software/gettext/manual/html_node/Perl.html). + For translation of strings in output, see *note + Texinfo::Translations: Texinfo::Translations NAME. + +collect_commands_in_tree($tree, $commands_list) + + Returns a hash reference with keys @-commands names specified in + the _$commands_list_ array reference and values arrays of tree + elements corresponding to those @-command found in _$tree_ by + traversing the tree. + +collect_commands_list_in_tree($tree, $commands_list) + + Return a list reference containing the tree elements corresponding + to the @-commands names specified in the _$commands_list_ found in + _$tree_ by traversing the tree. The order of the @-commands should + be kept. + +$result = element_is_inline($element, $check_current) + + Return true if the element passed in argument is in running text + context. If the optional _$check_current_ argument is set, check + the element itself, in addition to the parent context. + +($encoded_file_name, $encoding) = encode_file_name($file_name, $input_encoding) + + Encode the _$file_name_ text string to a binary string + _$encoded_file_name_ based on _$input_encoding_. Also returns the + _$encoding_ name actually used which may have undergone some + normalization. This function is mostly a wrapper around *note + Encode::encode: (Encode)encode. which avoids calling the module if + not needed. Do nothing if _$input_encoding_ is ‘undef’. + +$text = enumerate_item_representation($specification, $number) + + This function returns the number or letter correponding to item + number _$number_ for an ‘@enumerate’ specification + _$specification_, appearing on an ‘@enumerate’ line. For example + + enumerate_item_representation('c', 3) + + is ‘e’. + +$command = find_parent_root_command($object, $tree_element) + + Find the parent root command (sectioning command or node) of a tree + element. The _$object_ argument is optional, its ‘global_commands’ + field is used to continue through ‘@insertcopying’ if in a + ‘@copying’. + +$result = is_content_empty($tree, $do_not_ignore_index_entries) + + Return true if the _$tree_ has content that could be formatted. + _$do_not_ignore_index_entries_ is optional. If set, index entries + are considered to be formatted. + +$file = locate_include_file($customization_information, file_path) + + Locate _$file_path_. If _$file_path_ is an absolute path or has + ‘.’ or ‘..’ in the path directories it is checked that the path + exists and is a file. Otherwise, the file name in _$file_path_ is + located in include directories also used to find texinfo files + included in Texinfo documents. _$file_path_ should be a binary + string. ‘undef’ is returned if the file was not found, otherwise + the file found is returned as a binary string. + +move_index_entries_after_items_in_tree($tree) + + In ‘@enumerate’ and ‘@itemize’ from the tree, move index entries + appearing just before ‘@item’ after the ‘@item’. Comment lines + between index entries are moved too. + +$normalized_name = normalize_top_node_name($node_string) + + Normalize the node name string given in argument, by normalizing + Top node case. + +protect_colon_in_tree($tree) + +protect_node_after_label_in_tree($tree) + + Protect colon with ‘protect_colon_in_tree’ and characters that are + special in node names after a label in menu entries (tab dot and + comma) with ‘protect_node_after_label_in_tree’. The protection is + achieved by putting protected characters in ‘@asis{}’. + +protect_comma_in_tree($tree) + + Protect comma characters, replacing ‘,’ with @comma{} in tree. + +$contents_result = protect_first_parenthesis($contents) + + Return a contents array reference with first parenthesis in the + contents array reference protected. If _$contents_ is undef a + fatal error with a backtrace will be emitted. + +relate_index_entries_to_table_entries_in_tree($tree) + + In @*table @-commands, reassociate the index entry information from + an index @-command appearing right after an @item line to the @item + first element. Remove the index @-command from the tree. + +$level = section_level($section) + + Return numbered level of the tree sectioning element _$section_, as + modified by raise/lowersections. + +$element = set_global_document_command($customization_information, $global_commands_information, $cmdname, $command_location) + + Set the Texinfo configuration option corresponding to _$cmdname_ in + _$customization_information_. The _$global_commands_information_ + should contain information about global commands in a Texinfo + document, typically obtained from a parser *note + $parser->global_commands_information(): Texinfo::Parser $commands = + global_commands_information($parser). _$command_location_ + specifies where in the document the value should be taken from, for + commands that may appear more than once. The possibilities are: + + last + + Set to the last value for the command. + + preamble + + Set sequentially to the values in the Texinfo preamble. + + preamble_or_first + + Set to the first value of the command if the first command is + not in the Texinfo preamble, else set as with _preamble_, + sequentially to the values in the Texinfo preamble. + + The _$element_ returned is the last element that was used to set + the configuration value, or ‘undef’ if no configuration value was + found. + + Notice that the only effect of this function is to set a + customization variable value, no @-command side effects are run, no + associated customization variables are set. + +set_informative_command_value($customization_information, $element) + + Set the Texinfo configuration option corresponding to the tree + element _$element_. The command associated to the tree element + should be a command that sets some information, such as + ‘@documentlanguage’, ‘@contents’ or ‘@footnotestyle’ for example. + +set_output_encodings($customization_information, $parser_information) + + If not already set, set ‘OUTPUT_ENCODING_NAME’ based on input file + encoding. Also set ‘OUTPUT_PERL_ENCODING’ accordingly which is + used to output in the correct encoding. In general, + ‘OUTPUT_PERL_ENCODING’ should not be set directly by user-defined + code such that it corresponds to ‘OUTPUT_ENCODING_NAME’. + +$split_contents = split_custom_heading_command_contents($contents) + + Split the _$contents_ array reference at ‘@|’ in at max three + parts. Return an array reference containing the split parts. The + _$contents_ array reference is supposed to be + ‘$element->{'args'}->[0]->{'contents'}’ of + ‘%Texinfo::Commands::heading_spec_commands’ commands such as + ‘@everyheading’. + +trim_spaces_comment_from_content($contents) + + Remove empty spaces after commands or braces at begin and spaces + and comments at end from a content array, modifying it. + +valid_customization_option($name) + + Return true if the _$name_ is a known customization option. + +valid_tree_transformation($name) + + Return true if the _$name_ is a known tree transformation name that + may be passed with ‘TREE_TRANSFORMATIONS’ to modify a texinfo tree. + + +File: texi2any_internals.info, Node: Texinfo::Common SEE ALSO, Next: Texinfo::Common AUTHOR, Prev: Texinfo::Common METHODS, Up: Texinfo::Common + +2.8 Texinfo::Common SEE ALSO +============================ + +*note Texinfo::Parser: Texinfo::Parser NAME, *note +Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. and *note +Texinfo::Report: Texinfo::Report NAME. + + +File: texi2any_internals.info, Node: Texinfo::Common AUTHOR, Next: Texinfo::Common COPYRIGHT AND LICENSE, Prev: Texinfo::Common SEE ALSO, Up: Texinfo::Common + +2.9 Texinfo::Common AUTHOR +========================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Common COPYRIGHT AND LICENSE, Prev: Texinfo::Common AUTHOR, Up: Texinfo::Common + +2.10 Texinfo::Common COPYRIGHT AND LICENSE +========================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Parser, Next: Texinfo::Structuring, Prev: Texinfo::Common, Up: Top + +3 Texinfo::Parser +***************** + +* Menu: + +* Texinfo::Parser NAME:: +* Texinfo::Parser SYNOPSIS:: +* Texinfo::Parser NOTES:: +* Texinfo::Parser DESCRIPTION:: +* Texinfo::Parser METHODS:: +* Texinfo::Parser TEXINFO TREE:: +* Texinfo::Parser SEE ALSO:: +* Texinfo::Parser AUTHOR:: +* Texinfo::Parser COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Parser NAME, Next: Texinfo::Parser SYNOPSIS, Up: Texinfo::Parser + +3.1 Texinfo::Parser NAME +======================== + +Texinfo::Parser - Parse Texinfo code into a Perl tree + + +File: texi2any_internals.info, Node: Texinfo::Parser SYNOPSIS, Next: Texinfo::Parser NOTES, Prev: Texinfo::Parser NAME, Up: Texinfo::Parser + +3.2 Texinfo::Parser SYNOPSIS +============================ + + use Texinfo::Parser; + my $parser = Texinfo::Parser::parser(); + my $tree = $parser->parse_texi_file("somefile.texi"); + # a Texinfo::Report object in which the errors and warnings + # encountered while parsing are registered. + my $registrar = $parser->registered_errors(); + my ($errors, $errors_count) = $registrar->errors(); + foreach my $error_message (@$errors) { + warn $error_message->{'error_line'}; + } + + my $index_names = $parser->indices_information(); + my $float_types_arrays = $parser->floats_information(); + my $internal_references_array + = $parser->internal_references_information(); + # $labels_information is an hash reference on normalized node/float/anchor names. + my ($labels_information, $targets_list, $nodes_list) = $parser->labels_information(); + # A hash reference, keys are @-command names, value is an + # array reference holding all the corresponding @-commands. + my $global_commands_information = $parser->global_commands_information(); + # a hash reference on document information (encodings, + # input file name, dircategory and direntry list, for example). + my $global_information = $parser->global_information(); + + +File: texi2any_internals.info, Node: Texinfo::Parser NOTES, Next: Texinfo::Parser DESCRIPTION, Prev: Texinfo::Parser SYNOPSIS, Up: Texinfo::Parser + +3.3 Texinfo::Parser NOTES +========================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Parser DESCRIPTION, Next: Texinfo::Parser METHODS, Prev: Texinfo::Parser NOTES, Up: Texinfo::Parser + +3.4 Texinfo::Parser DESCRIPTION +=============================== + +‘Texinfo::Parser’ will parse Texinfo text into a Perl tree. In one pass +it expands user-defined @-commands, conditionals (‘@ifset’, +‘@ifinfo’...) and ‘@value’ and constructs the tree. Some extra +information is gathered while doing the tree: for example, the +‘@quotation’ associated to an ‘@author’ command, the number of columns +in a multitable, or the node associated with a section. + + +File: texi2any_internals.info, Node: Texinfo::Parser METHODS, Next: Texinfo::Parser TEXINFO TREE, Prev: Texinfo::Parser DESCRIPTION, Up: Texinfo::Parser + +3.5 Texinfo::Parser METHODS +=========================== + +No method is exported in the default case. The module allows both an +object-oriented syntax, or traditional function, with the parser as an +opaque data structure given as an argument to every function. + +* Menu: + +* Texinfo::Parser Initialization:: +* Texinfo::Parser Parsing Texinfo text:: +* Texinfo::Parser Getting information on the document:: + + +File: texi2any_internals.info, Node: Texinfo::Parser Initialization, Next: Texinfo::Parser Parsing Texinfo text, Up: Texinfo::Parser METHODS + +3.5.1 Initialization +-------------------- + +The following method is used to construct a new ‘Texinfo::Parser’ +object: + +$parser = Texinfo::Parser::parser($options); + + This method creates a new parser. The options may be provided as a + hash reference. Most of those options correspond to Texinfo + customization options described in the Texinfo manual. + + CPP_LINE_DIRECTIVES + + Handle cpp like synchronization lines if set. Set in the + default case. + + EXPANDED_FORMATS + + An array reference of the output formats for which + ‘@if_FORMAT_’ conditional blocks should be expanded. Default + is empty. + + FORMAT_MENU + + Possible values are ‘nomenu’, ‘menu’ and ‘sectiontoc’. Only + report menu-related errors for ‘menu’. + + INCLUDE_DIRECTORIES + + An array reference of directories in which ‘@include’ files + should be searched for. Default contains the working + directory, ‘.’. + + IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME + + If set, spaces after an @-command name that take braces are + ignored. Default on. + + MAX_MACRO_CALL_NESTING + + Maximal number of nested user-defined macro calls. Default is + 100000. + + documentlanguage + + A string corresponding to a document language set by + ‘@documentlanguage’. It overrides the document + ‘@documentlanguage’ information, if present. + + registrar + + *note Texinfo::Report: Texinfo::Report NAME. object reused by + the parser to register errors. + + values + + A hash reference. Keys are names, values are the + corresponding values. Same as values set by ‘@set’. + + +File: texi2any_internals.info, Node: Texinfo::Parser Parsing Texinfo text, Next: Texinfo::Parser Getting information on the document, Prev: Texinfo::Parser Initialization, Up: Texinfo::Parser METHODS + +3.5.2 Parsing Texinfo text +-------------------------- + +Different methods may be called to parse some Texinfo code: +‘parse_texi_line’ for a line, ‘parse_texi_piece’ for a fragment of +Texinfo, ‘parse_texi_text’ for a string corresponding to a full document +and ‘parse_texi_file’ for a file. + + For all those functions, if the _$parser_ argument is undef, a new +parser object is generated to parse the line. Otherwise the parser +given as an argument is used to parse into a tree. + + When ‘parse_texi_line’ is used, the resulting tree is rooted at a +‘root_line’ type container. Otherwise, the resulting tree should be +rooted at a ‘document_root’ type container. + +$tree = parse_texi_line($parser, $text, $first_line_number) + + This function is used to parse a short fragment of Texinfo code. + + _$text_ is the string containing the texinfo line. + _$first_line_number_ is the line number of the line, if undef, it + will be set to 1. + +$tree = parse_texi_piece($parser, $text, $first_line_number) + + This function is used to parse Texinfo fragments. + + _$text_ is the string containing the texinfo text. + _$first_line_number_ is the line number of the first text line, if + undef, it will be set to 1. + +$tree = parse_texi_text($parser, $text, $first_line_number) + + This function is used to parse a text as a whole document. + + _$text_ is the string containing the texinfo text. + _$first_line_number_ is the line number of the first text line, if + undef, it will be set to 1. + +$tree = parse_texi_file($parser, $file_name) + + The file with name _$file_name_ is considered to be a Texinfo file + and is parsed into a tree. _$file_name_ should be a binary string. + + undef is returned if the file couldn’t be read. + + The errors collected during the tree parsing are registered in a +*note Texinfo::Report: Texinfo::Report NAME. object. This object is +available with ‘registered_errors’. The errors registered in the +‘Texinfo::Report’ object are available through the ‘errors’ method. +This method is described in *note Texinfo::Report::errors: +Texinfo::Report ($error_warnings_list, $error_count) = +errors($registrar). + +$registrar = registered_errors($parser) + + _$registrar_ is a *note Texinfo::Report: Texinfo::Report NAME. + object in which the errors and warnings encountered while parsing + are registered. If a _registrar_ is passed to the parser + initialization options, it is reused, otherwise a new one is + created. + + +File: texi2any_internals.info, Node: Texinfo::Parser Getting information on the document, Prev: Texinfo::Parser Parsing Texinfo text, Up: Texinfo::Parser METHODS + +3.5.3 Getting information on the document +----------------------------------------- + +After parsing some information about the Texinfo code that was processed +is available from the parser. + + Some global information is available through ‘global_information’: + +$info = global_information($parser) + + The _$info_ returned is a hash reference. The possible keys are + + dircategory_direntry + + An array of successive ‘@dircategory’ and ‘@direntry’ as they + appear in the document. + + input_encoding_name + + input_perl_encoding + + ‘input_encoding_name’ string is the encoding name used for the + Texinfo code. ‘input_perl_encoding’ string is a corresponding + Perl encoding name. + + input_file_name + + input_directory + + The name of the main Texinfo input file and the associated + directory. Binary strings. In ‘texi2any’, they should come + from the command line (and can be decoded with the encoding in + the customization variable ‘COMMAND_LINE_ENCODING’). + + Some command lists are available, such that it is possible to go +through the corresponding tree elements without walking the tree. They +are available through ‘global_commands_information’: + +$commands = global_commands_information($parser) + + _$commands_ is an hash reference. The keys are @-command names. + The associated values are array references containing all the + corresponding tree elements. + + All the @-commands that have an associated label (so can be the +target of cross references) -- ‘@node’, ‘@anchor’ and ‘@float’ with +label -- have a normalized name associated, constructed as described in +the _HTML Xref_ node in the Texinfo documentation. Those normalized +labels and the association with @-commands is available through +‘labels_information’: + +$labels_information, $targets_list, $nodes_list = labels_information($parser) + + _$labels_information_ is a hash reference whose keys are normalized + labels, and the associated value is the corresponding @-command. + _$targets_list_ is a list of labels @-command. Using + _$labels_information_ is preferred. _$nodes_list_ is a list of all + the nodes appearing in the document. + + Information on ‘@float’ is also available, grouped by type of floats, +each type corresponding to potential ‘@listoffloats’. This information +is available through the method ‘floats_information’. + +$float_types = floats_information($parser) + + _$float_types_ is a hash reference whose keys are normalized float + types (the first float argument, or the ‘@listoffloats’ argument). + The normalization is the same as for node names. The value is the + list of float tree elements appearing in the texinfo document. + + Internal references, that is, @-commands that refer to node, anchors +or floats within the document are also available: + +$internal_references_array = internal_references_information($parser); + + The function returns a list of cross-reference commands referring + to the same document. + + Information about defined indices, merged indices and index entries +is also available through the ‘indices_information’ method. + +indices_information + + $index_names = indices_information($parser); + + The index names is a hash reference. The keys are + + in_code + + 1 if the index entries should be formatted as code, 0 in the + opposite case. + + name + + The index name. + + prefix + + An array reference of prefix associated to the index. + + merged_in + + In case the index is merged to another index, this key holds + the name of the index the index is merged into. It takes into + account indirectly merged indices. + + contained_indices + + An hash reference holding names of indices that are merged + into the index, including itself. It also contains indirectly + merged indices. This key is removed if the index is itself + later merged to another index. + + index_entries + + An array reference containing index entry structures for index + entries associated with the index. The index entry could be + associated to @-commands like ‘@cindex’, or ‘@item’ in + ‘@vtable’, or definition commands entries like ‘@deffn’. + + The keys of the index entry structures are + + index_name + + The index name. + + index_at_command + + The name of the @-command associated with the index + entry. + + index_ignore_chars + + A hash reference with characters as keys and 1 as value. + Corresponds to the characters flagged as ignored in key + sorting in the document by setting flags such as + _txiindexbackslashignore_. + + entry_content + + An array reference corresponding to the index entry + content. + + content_normalized + + An array reference corresponding to the index entry + content, independent of the current language. + + entry_element + + The element in the parsed tree associated with the + @-command holding the index entry. + + entry_node + + The node in the parsed tree containing the index entry. + + entry_number + + The number of the index entry. + + entry_region + + The region command (‘@copying’, ‘@titlepage’) containing + the index entry, if it is in such an environement. + + The following shows the references corresponding to the default + indexes _cp_ and _fn_, the _fn_ index having its entries formatted + as code and the indices corresponding to the following texinfo + + @defindex some + @defcodeindex code + + $index_names = {'cp' => {'name' => 'cp', 'in_code' => 0, }, + 'fn' => {'name' => 'fn', 'in_code' => 1, }, + 'some' => {'in_code' => 0}, + 'code' => {'in_code' => 1}}; + + If ‘name’ is not set, it is set to the index name. + + +File: texi2any_internals.info, Node: Texinfo::Parser TEXINFO TREE, Next: Texinfo::Parser SEE ALSO, Prev: Texinfo::Parser METHODS, Up: Texinfo::Parser + +3.6 TEXINFO TREE +================ + +A Texinfo tree element (called element because node is overloaded in the +Texinfo world) is an hash reference. There are three main categories of +tree element. Tree elements associated with an @-command have a +‘cmdname’ key holding the @-command name. Tree elements corresponding +to text fragments have a ‘text’ key holding the corresponding text. +Finally, the last category is other elements, which in most cases have a +‘type’ key holding their name. Text fragments and @-command elements +may also have an associated type when such information is needed. + + The children of an @-command or of other container element are in the +array referred to with the ‘args’ key or with the ‘contents’ key. The +‘args’ key is for arguments of @-commands, either in braces or on the +rest of the line after the command, depending on the type of command. +‘args’ is also used for the elements of a menu entry, as a menu entry is +well-structured with a limited number of arguments. The ‘contents’ key +array holds the contents of the texinfo code appearing within a block +@-command, within a container, or within a ‘@node’ or sectioning +@-command. + + Another important key for the elements is the ‘extra’ key which is +associated to a hash reference and holds all kinds of information that +is gathered during the parsing and may help with the conversion. + + You can see examples of the tree structure by running makeinfo like +this: + + makeinfo -c DUMP_TREE=1 -c TEXINFO_OUTPUT_FORMAT=parse document.texi + + For a simpler, more regular representation of the tree structure, you +can do: + + makeinfo -c TEXINFO_OUTPUT_FORMAT=debugtree document.texi + +* Menu: + +* Texinfo::Parser Element keys:: +* Texinfo::Parser Element types:: +* Texinfo::Parser Information available in the extra key:: + + +File: texi2any_internals.info, Node: Texinfo::Parser Element keys, Next: Texinfo::Parser Element types, Up: Texinfo::Parser TEXINFO TREE + +3.6.1 Element keys +------------------ + +cmdname + + The command name of @-command elements. + +text + + The text fragment of text elements. + +type + + The type of element considered, in general a container. Frequent + types encountered are _paragraph_ for a paragraph container, + _brace_command_arg_ for the container holding the brace @-commands + contents, _line_arg_ and _block_line_arg_ contain the arguments + appearing on the line of @-commands. Text fragments may have a + type to give an information of the kind of text fragment, for + example _spaces_before_paragraph_ is associated to spaces appearing + before a paragraph beginning. Most @-commands elements do not have + a type associated. + +args + + Arguments in braces or on @-command line, and the elements of a + menu entry. An array reference. + +contents + + The Texinfo appearing in the element. For block commands, other + containers, ‘@node’ and sectioning commands. An array reference. + +parent + + The parent element. + +source_info + + An hash reference corresponding to information on the location of + the element in the Texinfo input manual. It should mainly be + available for @-command elements, and only for @-commands that are + considered to be complex enough that the location in the document + is needed, for example to prepare an error message. + + The keys of the line number hash references are + + line_nr + + The line number of the @-command. + + file_name + + The file name where @-command appeared. + + macro + + The user macro name the @-command is expanded from. + +extra + + A hash reference holding any other information. See *note + Information available in the ‘extra’ key: Texinfo::Parser + Information available in the extra key. + + +File: texi2any_internals.info, Node: Texinfo::Parser Element types, Next: Texinfo::Parser Information available in the extra key, Prev: Texinfo::Parser Element keys, Up: Texinfo::Parser TEXINFO TREE + +3.6.2 Element types +------------------- + +* Menu: + +* Texinfo::Parser Types for command elements:: +* Texinfo::Parser Types for text elements:: +* Texinfo::Parser Tree container elements:: +* Texinfo::Parser Types of container elements:: + + +File: texi2any_internals.info, Node: Texinfo::Parser Types for command elements, Next: Texinfo::Parser Types for text elements, Up: Texinfo::Parser Element types + +3.6.2.1 Types for command elements +.................................. + +Some types can be associated with @-commands (in addition to ‘cmdname’), +although usually there will be no type at all. The following are the +possible values of ‘type’ for tree elements for @-commands. + +command_as_argument + + This is the type of a command given in argument of ‘@itemize’, + ‘@table’, ‘@vtable’ or ‘@ftable’. For example in + + @itemize @bullet + @item item + @end itemize + + the element corresponding with bullet has the following keys: + + 'cmdname' => 'bullet' + 'type' => 'command_as_argument' + + The parent @-command has an entry in ‘extra’ for the + _command_as_argument_ element: + + 'cmdname' => 'itemize' + 'extra' => {'command_as_argument' => $command_element_as_argument} + +def_line + + This type may be associated with a definition command with a x + form, like ‘@defunx’, ‘@defvrx’. For the form without x, the + associated _def_line_ is the first ‘contents’ element. It is + described in more details below. + +definfoenclose_command + + This type is set for an @-command that is redefined by + ‘@definfoenclose’. The beginning is in ‘{'extra'}->{'begin'}’ and + the end in ‘{'extra'}->{'end'}’. + +following_arg + + This type is set for accent @-commands that don’t use braces but + instead have their argument after them, as + + @~n + @ringaccent A + +index_entry_command + + This is the type of index entry command like ‘@cindex’, and, more + importantly user-defined index entry commands. So for example if + there is: + + @defindex foo + ... + + @fooindex index entry + + the ‘@fooindex’ @-command element will have the + _index_entry_command_ type. + + +File: texi2any_internals.info, Node: Texinfo::Parser Types for text elements, Next: Texinfo::Parser Tree container elements, Prev: Texinfo::Parser Types for command elements, Up: Texinfo::Parser Element types + +3.6.2.2 Types for text elements +............................... + +The text elements may have the following types (or may have no type at +all): + +after_menu_description_line + +space_at_end_menu_node + + Space after a node in the menu entry, when there is no description, + and space appearing after the description line. + +empty_line + + An empty line (possibly containing whitespace characters only). + +ignorable_spaces_after_command + + spaces appearing after an @-command without braces that does not + take takes argument on the line, but which is followed by ignorable + spaces, such as ‘@item’ in ‘@itemize’ of ‘@multitable’, or + ‘@noindent’. + +spaces_after_close_brace + + Spaces appearing after a closing brace, for some rare commands for + which this space should be ignorable (like ‘@caption’ or + ‘@sortas’). + +spaces_before_paragraph + + Space appearing before a paragraph beginning. + +misc_arg + + Used for the arguments to some special line commands whose + arguments aren’t subject to the usual macro expansion. For example + ‘@set’, ‘@clickstyle’, ‘@unmacro’, ‘@comment’. The argument is + associated to the _text_ key. + +raw + + Text in an environment where it should be kept as is (in + ‘@verbatim’, ‘@verb’, ‘@macro’ body). + +spaces_at_end + + Space within an index @-command before an @-command interrupting + the index command, or at the end of line and end of bracketed + content on a definition line. + +text_before_beginning + + Text appearing before real content, including the ‘\input + texinfo.tex’. + +untranslated + + English text added by the parser that may need to be translated + during conversion. Happens for ‘@def*’ @-commands aliases that + leads to prepending text such as ’Function’. + + +File: texi2any_internals.info, Node: Texinfo::Parser Tree container elements, Next: Texinfo::Parser Types of container elements, Prev: Texinfo::Parser Types for text elements, Up: Texinfo::Parser Element types + +3.6.2.3 Tree container elements +............................... + +Some types of element are containers of portions of the tree, either for +the whole tree, or for contents appearing before ‘@node’ and sectioning +commands. + +before_node_section + + Content before nodes and sectioning commands at the beginning of + ‘document_root’. + +document_root + +root_line + + ‘root_line’ is the type of the root tree when parsing Texinfo line + fragments using ‘parse_texi_line’. ‘document_root’ is the document + root otherwise. + + ‘document_root’ first content should be ‘before_node_section’, then + nodes and sections @-commands elements, and also ‘@bye’ element. + +preamble_before_beginning + + This container holds everything appearing before the first content, + including the ‘\input texinfo.tex’ line and following blank lines. + +preamble_before_setfilename + + This container holds everything that appears before ‘@setfilename’. + +preamble_before_content + + This container holds everything appearing before the first + formatted content, corresponding to the _preamble_ in the Texinfo + documentation. + + +File: texi2any_internals.info, Node: Texinfo::Parser Types of container elements, Prev: Texinfo::Parser Tree container elements, Up: Texinfo::Parser Element types + +3.6.2.4 Types of container elements +................................... + +The other types of element are containers with other elements appearing +in their ‘contents’. The ‘paragraph’ container holds normal text from +the Texinfo manual outside of any @-commands, and within @-commands with +blocks of text (‘@footnote’, ‘@itemize’ ‘@item’, ‘@quotation’ for +example). The ‘preformatted’ container holds the content appearing in +@-commands like ‘@example’ and the ‘rawpreformatted’ container holds the +content appearing in format commands such as ‘@html’. The other +containers are more specific. + + The types of container element are the following: + +before_item + + A container for content before the first ‘@item’ of block + @-commands with items (‘@table’, ‘@multitable’, ‘@enumerate’...). + +brace_command_arg + +brace_command_context + +line_arg + +block_line_arg + + Those containers occur within the ‘args’ array of @-commands taking + an argument. _brace_command_arg_ is used for the arguments to + commands taking arguments surrounded by braces (and in some cases + separated by commas). _brace_command_context_ is used for + @-commands with braces that start a new context (‘@footnote’, + ‘@caption’, ‘@math’). + + _line_arg_ is used for commands that take the texinfo code on the + rest of the line as their argument, such as ‘@settitle’, ‘@node’, + ‘@section’. _block_line_arg_ is similar but is used for commands + that start a new block (which is to be ended with ‘@end’). + + For example + + @code{in code} + + leads to + + {'cmdname' => 'code', + 'args' => [{'type' => 'brace_command_arg', + 'contents' => [{'text' => 'in code'}]}]} + +bracketed + + This a special type containing content in brackets in the context + where they are valid, in ‘@math’. + +bracketed_def_content + + Content in brackets on definition command lines. + +bracketed_multitable_prototype + +row_prototype + + On ‘@multitable’ line, content in brackets is in + _bracketed_multitable_prototype_, text not in brackets is in + _row_prototype_. + +def_aggregate + + Contains several elements that together are a single unit on a + @def* line. + +def_line + +def_item + +inter_def_item + + The _def_line_ type is either associated with a container within a + definition command, or is the type of a definition command with a x + form, like ‘@deffnx’. It holds the definition line arguments. The + container with type _def_item_ holds the definition text content. + Content appearing before a definition command with a x form is in + an _inter_def_item_ container. + +macro_name + +macro_arg + + Taken from ‘@macro’ definition and put in the ‘args’ key array of + the macro, _macro_name_ is the type of the text fragment + corresponding to the macro name, _macro_arg_ is the type of the + text fragments corresponding to macro formal arguments. + +menu_comment + + The _menu_comment_ container holds what is between menu entries in + menus. For example, in: + + @menu + Menu title + + * entry:: + + Between entries + * other:: + @end menu + + Both + + Menu title + + and + + Between entries + + will be in a _menu_comment_. + +menu_entry + +menu_entry_leading_text + +menu_entry_name + +menu_entry_separator + +menu_entry_node + +menu_entry_description + + A _menu_entry_ holds a full menu entry, like + + * node:: description. + + The different elements of the menu entry are directly in the + _menu_entry_ ‘args’ array reference. + + _menu_entry_leading_text_ holds the star and following spaces. + _menu_entry_name_ is the menu entry name (if present), + _menu_entry_node_ corresponds to the node in the menu entry, + _menu_entry_separator_ holds the text after the node and before the + description, in most cases ‘:: ’. Lastly, _menu_entry_description_ + is for the description. + +multitable_head + +multitable_body + +row + + In ‘@multitable’, a _multitable_head_ container contains all the + rows with ‘@headitem’, while _multitable_body_ contains the rows + associated with ‘@item’. A _row_ container contains the ‘@item’ + and ‘@tab’ forming a row. + +paragraph + + A paragraph. The ‘contents’ of a paragraph (like other container + elements for Texinfo content) are elements representing the + contents of the paragraph in the order they occur, such as simple + text elements without a ‘cmdname’ or ‘type’, or @-command elements + for commands appearing in the paragraph. + +preformatted + + Texinfo code within a format that is not filled. Happens within + some block commands like ‘@example’, but also in menu (in menu + descriptions, menu comments...). + +rawpreformatted + + Texinfo code within raw output format block commands such as ‘@tex’ + or ‘@html’. + +table_entry + +table_term + +table_item + +inter_item + + Those containers appear in ‘@table’, ‘@ftable’ and ‘@vtable’. A + _table_entry_ container contains an entire row of the table. It + contains a _table_term_ container, which holds all the ‘@item’ and + ‘@itemx’ lines. This is followed by a _table_item_ container, + which holds the content that is to go into the second column of the + table. + + If there is any content before an ‘@itemx’ (normally only comments, + empty lines or maybe index entries are allowed), it will be in a + container with type _inter_item_ at the same level of ‘@item’ and + ‘@itemx’, in a _table_term_. + + +File: texi2any_internals.info, Node: Texinfo::Parser Information available in the extra key, Prev: Texinfo::Parser Element types, Up: Texinfo::Parser TEXINFO TREE + +3.6.3 Information available in the ‘extra’ key +---------------------------------------------- + +* Menu: + +* Texinfo::Parser Extra keys available for more than one @-command:: +* Texinfo::Parser Extra keys specific of certain @-commands or containers:: + + +File: texi2any_internals.info, Node: Texinfo::Parser Extra keys available for more than one @-command, Next: Texinfo::Parser Extra keys specific of certain @-commands or containers, Up: Texinfo::Parser Information available in the extra key + +3.6.3.1 Extra keys available for more than one @-command +........................................................ + +arg_line + + The string correspond to the line after the @-command for + @-commands that have special arguments on their line, and for + ‘@macro’ line. + +index_entry + + The index entry information (described in *note index_entries: + Texinfo::Parser index_entries. in details) is associated to + @-commands that have an associated index entry. + +misc_args + + An array holding strings, the arguments of @-commands taking simple + textual arguments as arguments, like ‘@everyheadingmarks’, + ‘@frenchspacing’, ‘@alias’, ‘@synindex’, ‘@columnfractions’. Also + filled for ‘@set’, ‘@clickstyle’, ‘@unmacro’ or ‘@comment’ + arguments. + +missing_argument + + Set for some @-commands with line arguments and a missing argument. + +spaces + + For accent commands with spaces following the @-command, like: + + @ringaccent A + @^ u + + there is a _spaces_ key which holds the spaces appearing after the + command. + +spaces_after_argument + + A reference to spaces after @-command arguments before a comma, a + closing brace or at end of line, for some @-commands and bracketed + content type with opening brace, and line commands and block + command lines taking Texinfo as argument and comma delimited + arguments. Depending on the @-command, the _spaces_after_argument_ + is associated with the @-command element, or with each argument + element. + +spaces_before_argument + + A reference to spaces following the opening brace of some + @-commands with braces and bracketed content type, spaces following + @-commands for line commands and block command taking Texinfo as + argument, and spaces following comma delimited arguments. For + context brace commands, line commands and block commands, + _spaces_before_argument_ is associated with the @-command element, + for other brace commands and for spaces after comma, it is + associated with each argument element. + +text_arg + + The string correspond to the line after the @-command for + @-commands that have an argument interpreted as simple text, like + ‘@setfilename’, ‘@end’ or ‘@documentencoding’. + + +File: texi2any_internals.info, Node: Texinfo::Parser Extra keys specific of certain @-commands or containers, Prev: Texinfo::Parser Extra keys available for more than one @-command, Up: Texinfo::Parser Information available in the extra key + +3.6.3.2 Extra keys specific of certain @-commands or containers +............................................................... + +‘@abbr’ + +‘@acronym’ + + The first argument normalized is in _normalized_. + +‘@anchor’ + +‘@float’ + + @-commands that are targets for cross-references have a + _normalized_ key for the normalized label, built as specified in + the Texinfo documentation in the _HTML Xref_ node. There is also a + _node_content_ key for an array holding the corresponding content. + + ‘@anchor’ also has _region_ set to the special region name if in a + special region (‘@copying’, ‘@titlepage’). + +‘@author’ + + If in a ‘@titlepage’, the titlepage is in _titlepage_, if in + ‘@quotation’ or ‘@smallquotation’, the corresponding tree element + is in _quotation_. + + The author tree element is in the _authors_ array of the + ‘@titlepage’ or the ‘@quotation’ or ‘@smallquotation’ it is + associated with. + +‘@click’ + + In _clickstyle_ there is the current clickstyle command. + +definition command + + _def_command_ holds the command name, without x if it is an x form + of a definition command. _original_def_cmdname_ is the original + def command. + + If it is an x form, it has _not_after_command_ set if not appearing + after the definition command without x. + +‘def_line’ + + For each element in a ‘def_line’, the key _def_role_ holds a string + describing the meaning of the element. It is one of _category_, + _name_, _class_, _type_, _arg_, _typearg_, _spaces_ or _delimiter_, + depending on the definition. + + The _def_parsed_hash_ hash reference has these strings as keys, and + the values are the corresponding elements. + + The _omit_def_name_space_ key value is set and true if the Texinfo + variable ‘txidefnamenospace’ was set for the ‘def_line’, signaling + that the space between function definition name and arguments + should be omitted. + +‘@definfoenclose’ defined commands + + _begin_ holds the string beginning the ‘@definfoenclose’, _end_ + holds the string ending the ‘@definfoenclose’. + +‘@documentencoding’ + + The argument, normalized is in _input_encoding_name_ if it is + recognized. The corresponding Perl encoding name is in + _input_perl_encoding_. + +‘@enumerate’ + + The _enumerate_specification_ ‘extra’ key contains the enumerate + argument. + +‘@float’ + +‘@listoffloats’ + + If float has a second argument, and for ‘@listoffloats’ argument + there is a _type_ key which is also a hash reference, with two + keys. _content_ is an array holding the associated contents, + _normalized_ holds the normalized float type. + + _caption_ and _shortcaption_ holds the corresponding tree elements + for float. The ‘@caption’ or ‘@shortcaption’ have the float tree + element stored in _float_. + +‘@ifclear’ + +‘@ifset’ + + The original line is in _line_. + +‘@inlinefmt’ + +‘@inlineraw’ + +‘@inlinefmtifelse’ + +‘@inlineifclear’ + +‘@inlineifset’ + + The first argument is in _format_. If an argument has been + determined as being expanded by the Parser, the index of this + argument is in _expand_index_. Index numbering begins at 0, but + the first argument is always the format or flag name, so, if set, + it should be 1 or 2 for ‘@inlinefmtifelse’, and 1 for other + commands. + +‘@item’ in ‘@enumerate’ or ‘@itemize’ + + The _item_number_ ‘extra’ key holds the number of this item. + +‘@item’ and ‘@tab’ in ‘@multitable’ + + The _cell_number_ index key holds the index of the column of the + cell. + +‘@itemize’ + +‘@table’ + +‘@vtable’ + +‘@ftable’ + + The _command_as_argument_ ‘extra’ key points to the @-command on as + argument on the @-command line. + + If the command in argument for ‘@table’, ‘@vtable’ or ‘@ftable’ is + ‘@kbd’ and the context and ‘@kbdinputstyle’ is such that ‘@kbd’ + should be formatted as code, the _command_as_argument_kbd_code_ + ‘extra’ key is set to 1. + +‘@kbd’ + + _code_ is set depending on the context and ‘@kbdinputstyle’. + +‘@macro’ + + _invalid_syntax_ is set if there was an error on the ‘@macro’ line. + _arg_line_ holds the line after ‘@macro’. + +‘menu_entry’ + + The _menu_entry_description_ and _menu_entry_name_ keys are + associated with the corresponding tree elements. The + _menu_entry_node_ value is a hash with information about the parsed + node entry; its keys are the same as those appearing in the + elements of the _nodes_manuals_ array for ‘@node’. + +‘@multitable’ + + The key _max_columns_ holds the maximal number of columns. If + there are prototypes on the line they are in the array associated + with _prototypes_. If there is a ‘@columnfractions’ as argument, + then the _columnfractions_ key is associated with the element for + the @columnfractions command. + +‘@node’ + + The arguments are in the _nodes_manuals_ array. Each of the + entries is a hash with a _node_content_ key for an array holding + the corresponding content, a _manual_content_ key if there is an + associated external manual name, and a _normalized_ key for the + normalized label, built as specified in the _HTML Xref_ Texinfo + documentation node. + + An _associated_section_ key holds the tree element of the + sectioning command that follows the node. An _node_preceding_part_ + key holds the tree element of the ‘@part’ that precedes the node, + if there is no sectioning command between the ‘@part’ and the node. + + A node containing a menu have a _menus_ key which refers to an + array of references to menu elements occuring in the node. + + The first node containing a ‘@printindex’ @-command has the + _isindex_ key set. + +‘paragraph’ + + The _indent_ or _noindent_ key value is set if the corresponding + @-commands are associated with that paragraph. + +‘@part’ + + The next sectioning command tree element is in + _part_associated_section_. The following node tree element is in + _part_following_node_ if there is no sectioning command between the + ‘@part’ and the node. + +‘@ref’ + +‘@xref’ + +‘@pxref’ + +‘@inforef’ + + The _node_argument_ entry holds a parsed node entry, like the one + appearing in the _nodes_manuals_ array for ‘@node’. + +‘row’ + + The _row_number_ index key holds the index of the row in the + ‘@multitable’. + +sectioning command + + The node preceding the command is in _associated_node_. The part + preceding the command is in _associated_part_. If the level of the + document was modified by ‘@raisections’ or ‘@lowersections’, the + differential level is in _sections_level_. + +‘@value’ + + The value argument string is in _flag_. Only for a ‘@value’ + command that is not expanded because there is no corresponding + value set, as only those are present in the tree. + +‘@verb’ + + The delimiter is in _delimiter_. + + +File: texi2any_internals.info, Node: Texinfo::Parser SEE ALSO, Next: Texinfo::Parser AUTHOR, Prev: Texinfo::Parser TEXINFO TREE, Up: Texinfo::Parser + +3.7 Texinfo::Parser SEE ALSO +============================ + +Texinfo manual (http://www.gnu.org/software/texinfo/manual/texinfo/). + + +File: texi2any_internals.info, Node: Texinfo::Parser AUTHOR, Next: Texinfo::Parser COPYRIGHT AND LICENSE, Prev: Texinfo::Parser SEE ALSO, Up: Texinfo::Parser + +3.8 Texinfo::Parser AUTHOR +========================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Parser COPYRIGHT AND LICENSE, Prev: Texinfo::Parser AUTHOR, Up: Texinfo::Parser + +3.9 Texinfo::Parser COPYRIGHT AND LICENSE +========================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Structuring, Next: Texinfo::Report, Prev: Texinfo::Parser, Up: Top + +4 Texinfo::Structuring +********************** + +* Menu: + +* Texinfo::Structuring NAME:: +* Texinfo::Structuring SYNOPSIS:: +* Texinfo::Structuring NOTES:: +* Texinfo::Structuring DESCRIPTION:: +* Texinfo::Structuring METHODS:: +* Texinfo::Structuring SEE ALSO:: +* Texinfo::Structuring AUTHOR:: +* Texinfo::Structuring COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Structuring NAME, Next: Texinfo::Structuring SYNOPSIS, Up: Texinfo::Structuring + +4.1 Texinfo::Structuring NAME +============================= + +Texinfo::Structuring - information on Texinfo::Parser tree + + +File: texi2any_internals.info, Node: Texinfo::Structuring SYNOPSIS, Next: Texinfo::Structuring NOTES, Prev: Texinfo::Structuring NAME, Up: Texinfo::Structuring + +4.2 Texinfo::Structuring SYNOPSIS +================================= + + use Texinfo::Structuring qw(sectioning_structure nodes_tree number_floats + associate_internal_references split_by_node split_by_section split_pages + merge_indices sort_indices elements_directions elements_file_directions); + + # $tree is a Texinfo document tree. $parser is a Texinfo::Parser object. + # $config is an object implementing the get_conf() method. + my $registrar = $parser->registered_errors(); + my $sections_root = sectioning_structure ($registrar, $config, $tree); + my ($labels, $targets_list, $nodes_list) = $parser->labels_information(); + my $parser_information = $parser->global_information(); + my $global_commands = $parser->global_commands_information(); + set_menus_node_directions($registrar, $config, $parser_information, + $global_commands, $nodes_list, $labels); + my $top_node = nodes_tree($registrar, $config, $parser_information, $nodes_list, $labels); + complete_node_tree_with_menus($registrar, $config, $nodes_list, $top_node); + my $refs = $parser->internal_references_information(); + check_nodes_are_referenced($registrar, $config, $nodes_list, $top_node, $labels, $refs); + associate_internal_references($registrar, $parser, $parser_information, $labels, $refs); + number_floats($parser->floats_information()); + my $tree_units; + if ($split_at_nodes) { + $tree_units = split_by_node($tree); + } else { + $tree_units = split_by_section($tree); + } + split_pages($tree_units, $split); + elements_directions($config, $labels, $tree_units); + elements_file_directions($tree_units); + + my $index_names = $parser->indices_information(); + my $merged_index_entries + = merge_indices($index_names); + my $index_entries_sorted; + if ($sort_by_letter) { + $index_entries_sorted = sort_indices($registrar, $config, + $merged_index_entries, 'by_letter'); + } else { + $index_entries_sorted = sort_indices($registrar, $config, + $merged_index_entries); + } + + +File: texi2any_internals.info, Node: Texinfo::Structuring NOTES, Next: Texinfo::Structuring DESCRIPTION, Prev: Texinfo::Structuring SYNOPSIS, Up: Texinfo::Structuring + +4.3 Texinfo::Structuring NOTES +============================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Structuring DESCRIPTION, Next: Texinfo::Structuring METHODS, Prev: Texinfo::Structuring NOTES, Up: Texinfo::Structuring + +4.4 Texinfo::Structuring DESCRIPTION +==================================== + +Texinfo::Structuring first allows to collect information on a Texinfo +tree. In most case, it also requires information from a parser object +to do that job. Thanks to ‘sectioning_structure’ the hierarchy of +sectioning commands is determined. The directions implied by menus are +determined with ‘set_menus_node_directions’. The node tree is analysed +with ‘nodes_tree’. Nodes directions are completed with menu directions +with ‘complete_node_tree_with_menus’. Floats get their standard +numbering with ‘number_floats’ and internal references are matched up +with nodes, floats or anchors with ‘associate_internal_references’. + + The following methods depend on the output format, so are usually +called from converters. + + It is also possible to associate top-level contents of the tree, +which consist in nodes and sectioning commands with tree unit elements +that group together a node and the next sectioning element. With +‘split_by_node’ nodes are considered to be the main sectioning elements, +while with ‘split_by_section’ the sectioning command elements are the +main elements. The first mode is typical of Info format, while the +second corresponds to a traditional book. The elements may be further +split in _pages_, which are not pages as in book pages, but more like +web pages, and hold series of tree unit elements. + + The elements may have directions to other elements prepared by +‘elements_directions’. ‘elements_file_directions’ should also set +direction related to files, provided files are associated with elements +by the user. + + ‘merge_indices’ may be used to merge indices, which may be sorted +with ‘sort_indices’. + + +File: texi2any_internals.info, Node: Texinfo::Structuring METHODS, Next: Texinfo::Structuring SEE ALSO, Prev: Texinfo::Structuring DESCRIPTION, Up: Texinfo::Structuring + +4.5 Texinfo::Structuring METHODS +================================ + +No method is exported in the default case. + + Most methods takes a *note Texinfo::Report: Texinfo::Report NAME. +‘$registrar’ as argument for error reporting. Most also require Texinfo +customization variables information, which means an object implementing +the ‘get_conf’ method, in practice the main program configuration or a +converter (*note Texinfo::Convert::Converter Getting and setting +customization variables::). Other common input arguments such as parser +information, labels or refs are obtained from a parser, see *note +Texinfo::Parser: Texinfo::Parser NAME. + +associate_internal_references($registrar, $customization_information, $parser_information, $labels, $refs) + + Verify that internal references (‘@ref’ and similar without fourth + of fifth argument and menu entries) have an associated node, anchor + or float. Set the ‘normalized’ key in the ‘extra’ hash + ‘menu_entry_node’ hash for menu entries and in the ‘extra’ hash + ‘node_argument’ hash for internal references ‘@ref’ and similar + @-commands. Set the ‘label’ key in the ‘extra’ hash of the + reference tree element to the associated labeled tree element. + Register errors in _$registrar_. + +check_nodes_are_referenced($registrar, $customization_information, $nodes_list, $top_node, $labels, $refs) + + Check that all the nodes are referenced (in menu, @*ref or node + direction). Register errors in _$registrar_. + + Should be called after ‘complete_node_tree_with_menus’ in order to + have the autogenerated menus available. + +complete_node_tree_with_menus($registrar, $customization_information, $nodes_list, $top_node) + + Complete nodes directions with menu directions. Check consistency + of menus, sectionning and nodes direction structures. Register + errors in _$registrar_. + +elements_directions($customization_information, $labels, $tree_units) + + Directions are set up for the tree unit elements in the array + reference _$tree_units_ given in argument. The corresponding hash + is in ‘{'structure'}->{'directions'}’ and keys correspond to + directions while values are elements. + + The following directions are set up: + + This + + The element itself. + + Forward + + Element next. + + Back + + Previous element. + + NodeForward + + Following node element in reading order. It is the next node, + or the first in menu or the next of the up node. + + NodeBack + + Preceding node element. + + NodeUp + + NodeNext + + NodePrev + + The up, next and previous node elements. + + Up + + Next + + Prev + + The up, next and previous section elements. + + FastBack + + For top level elements, the previous top level element. For + other elements the up top level element. For example, for a + chapter element it is the previous chapter, for a subsection + element it is the chapter element that contains the + subsection. + + FastForward + + The next top level section element. + +elements_file_directions($tree_units) + + In the directions reference described above for + ‘elements_directions’, sets the _PrevFile_ and _NextFile_ + directions to the elements in previous and following files. + + It also sets _FirstInFile*_ directions for all the elements by + using the directions of the first element in file. So, for + example, _FirstInFileNodeNext_ is the next node of the first + element in the file of each element. + + The API for association of pages/elements to files is not defined + yet. + +@nodes_list = get_node_node_childs_from_sectioning($node) + + _$node_ is a node tree element. Find the node _$node_ children + based on the sectioning structure. For the node associated with + ‘@top’ sectioning command, the sections associated with parts are + considered. + +$entry_key = index_entry_sort_string($main_entry, $entry_tree_element, $sortas, $options) + + Return a string suitable as a sort string, for index entries. The + index entry processed is _$entry_tree_element_, and can be a + ‘@subentry’. _$main_entry_ is the main index entry tree element + that can be used to gather information. _$sortas_ can be given to + override the sort string (typically obtained from ‘@sortas’). The + _$options_ are options used for Texinfo to text conversion for the + generation of the sort string, typically obtained from *note + setup_index_entry_keys_formatting: Texinfo::Structuring $option = + setup_index_entry_keys_formatting($customization_information). + +$merged_entries = merge_indices($index_names) + + Using information returned by *note Texinfo::Parser + indices_information::, a structure holding all the index entries by + index name is returned, with all the entries of merged indices + merged with those of the indice merged into. + + The _$merged_entries_ returned is a hash reference whose keys are + the index names and values arrays of index entry structures + described in details in *note Texinfo::Parser index_entries::. + +$new_block = new_block_command($content, $parent, $command_name) + + Returns the texinfo tree corresponding to a block command named + _$command_name_ with contents _$content_ and parent in tree + _$parent_. + +$new_menu = new_complete_node_menu($node, $use_sections) + + Returns a texinfo tree menu for node _$node_, pointing to the + children of the node obtained with the sectioning structure. If + _$use_sections_ is set, use section names for the menu entry names. + +$entry = new_node_menu_entry($node, $use_sections) + + Returns the texinfo tree corresponding to a single menu entry + pointing to _$node_. If _$use_sections_ is set, use the section + name for the menu entry name. Returns ‘undef’ if the node argument + is missing. + +$top_node = nodes_tree($registrar, $customization_information, $parser_information, $nodes_list, $labels) + + Goes through nodes and set directions. Returns the top node. + Register errors in _$registrar_. + + This functions sets, in the ‘structure’ node element hash: + + node_up + + node_prev + + node_next + + Up, next and previous directions for the node. + +number_floats($float_information) + + Number the floats as described in the Texinfo manual. Sets the + _number_ key in the ‘structure’ hash of the float tree elements. + +$command_name = section_level_adjusted_command_name($element) + + Return the sectioning command name corresponding to the sectioning + element _$element_, adjusted in order to take into account raised + and lowered sections, when needed. + +$sections_root, $sections_list = sectioning_structure($registrar, $customization_information, $tree) + + This function goes through the tree and gather information on the + document structure for sectioning commands. It returns + _$sections_root_ the root of the sectioning commands tree and a + reference on the sections elements list. Errors are registered in + _$registrar_. + + It sets section elements ‘structure’ hash values: + + section_level + + The level in the sectioning tree hierarchy. 0 is for ‘@top’ + or ‘@part’, 1 for ‘@chapter’, ‘@appendix’... This level is + corrected by ‘@raisesections’ and ‘@lowersections’. + + section_number + + The sectioning element number. + + section_childs + + An array holding sectioning elements children of the element. + + section_up + + section_prev + + section_next + + The up, previous and next sectioning elements. + + toplevel_next + + toplevel_prev + + toplevel_up + + The next and previous and up sectioning elements of toplevel + sectioning elements (like ‘@top’, ‘@chapter’, ‘@appendix’), + not taking into account ‘@part’ elements. + +set_menus_node_directions($registrar, $customization_information, $parser_information, $global_commands, $nodes_list, $labels); + + Goes through menu and set directions. Register errors in + _$registrar_. + + This functions sets, in the ‘structure’ node element hash + reference: + + menu_child + + The first child in the menu of the node. + + menu_up + + menu_next + + menu_prev + + Up, next and previous directions as set in menus. + +$option = setup_index_entry_keys_formatting($customization_information) + + Return options for conversion of Texinfo to text relevant for index + keys sorting. + +($index_entries_sorted, $index_entries_sort_strings) = sort_indices($registrar, $customization_information, $merged_index_entries, $sort_by_letter) + + If _$sort_by_letter_ is set, sort by letter, otherwise sort all + entries together. In both cases, a hash reference with index names + as keys _$index_entries_sorted_ is returned. + + When sorting by letter, an array reference of letter hash + references is associated with each index name. Each letter hash + reference has two keys, a _letter_ key with the letter, and an + _entries_ key with an array reference of sorted index entries + beginning with the letter. + + When simply sorting, the array of the sorted index entries is + associated with the index name. + + _$index_entries_sort_strings_ is a hash reference associating the + index entries with the strings that were used to sort them. + + Register errors in _$registrar_. + +$tree_units = split_by_node($tree) + + Returns a reference array of tree units where a node is associated + to the following sectioning commands. Sectioning commands without + nodes are also with the previous node, while nodes without + sectioning commands are alone in their tree units. + + Tree units are regular tree elements with type _unit_, the + associated nodes and sectioning tree elements are in the array + associated with the ‘contents’ key. The associated elements have a + _associated_unit_ key set in the ‘structure’ hash that points to + the associated tree unit. + + Tree units have directions in the ‘structure’ hash reference, + namely _unit_next_ and _unit_prev_ pointing to the previous and the + next tree unit. + + In the ‘extra’ hash reference, tree units have: + + unit_command + + The node command associated with the element. + +$tree_units = split_by_section($tree) + + Similarly with ‘split_by_node’, returns an array of tree units. + This time, lone nodes are associated with the previous sections and + lone sections makes up a tree unit. + + The ‘structure’ and ‘extra’ hash keys set are the same, except that + _unit_command_ is the sectioning command associated with the + element. + +$pages = split_pages($tree_units, $split) + + The tree units from the array reference argument have an extra + _first_in_page_ value set in the ‘structure’ hash reference to the + first tree unit in the group, and based on the value of _$split_. + The possible values for _$split_ are + + chapter + + The tree units are split at chapter or other toplevel + sectioning tree units. + + node + + Each element has its own page. + + section + + The tree units are split at sectioning commands below chapter. + + value evaluating to false + + No splitting, only one page is returned, holding all the tree + units. + +warn_non_empty_parts($registrar, $customization_information, $global_commands) + + Register a warning in _$registrar_ for each ‘@part’ that is not + empty in _$global_commands_ information (typically obtained by + calling ‘global_commands_information()’ on a parser). + + +File: texi2any_internals.info, Node: Texinfo::Structuring SEE ALSO, Next: Texinfo::Structuring AUTHOR, Prev: Texinfo::Structuring METHODS, Up: Texinfo::Structuring + +4.6 Texinfo::Structuring SEE ALSO +================================= + +Texinfo manual (http://www.gnu.org/s/texinfo/manual/texinfo/), *note +Texinfo::Parser: Texinfo::Parser NAME. + + +File: texi2any_internals.info, Node: Texinfo::Structuring AUTHOR, Next: Texinfo::Structuring COPYRIGHT AND LICENSE, Prev: Texinfo::Structuring SEE ALSO, Up: Texinfo::Structuring + +4.7 Texinfo::Structuring AUTHOR +=============================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Structuring COPYRIGHT AND LICENSE, Prev: Texinfo::Structuring AUTHOR, Up: Texinfo::Structuring + +4.8 Texinfo::Structuring COPYRIGHT AND LICENSE +============================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Report, Next: Texinfo::Translations, Prev: Texinfo::Structuring, Up: Top + +5 Texinfo::Report +***************** + +* Menu: + +* Texinfo::Report NAME:: +* Texinfo::Report SYNOPSIS:: +* Texinfo::Report NOTES:: +* Texinfo::Report DESCRIPTION:: +* Texinfo::Report METHODS:: +* Texinfo::Report AUTHOR:: +* Texinfo::Report COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Report NAME, Next: Texinfo::Report SYNOPSIS, Up: Texinfo::Report + +5.1 Texinfo::Report NAME +======================== + +Texinfo::Report - Error storing for Texinfo modules + + +File: texi2any_internals.info, Node: Texinfo::Report SYNOPSIS, Next: Texinfo::Report NOTES, Prev: Texinfo::Report NAME, Up: Texinfo::Report + +5.2 Texinfo::Report SYNOPSIS +============================ + + use Texinfo::Report; + + my $registrar = Texinfo::Report::new(); + + if ($warning_happened) { + $registrar->line_warn($converter, sprintf(__("\@%s is wrongly used"), + $current->{'cmdname'}), $current->{'source_info'}); + } + + my ($errors, $errors_count) = $registrar->errors(); + foreach my $error_message (@$errors) { + warn $error_message->{'error_line'}; + } + + +File: texi2any_internals.info, Node: Texinfo::Report NOTES, Next: Texinfo::Report DESCRIPTION, Prev: Texinfo::Report SYNOPSIS, Up: Texinfo::Report + +5.3 Texinfo::Report NOTES +========================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Report DESCRIPTION, Next: Texinfo::Report METHODS, Prev: Texinfo::Report NOTES, Up: Texinfo::Report + +5.4 Texinfo::Report DESCRIPTION +=============================== + +The ‘Texinfo::Report’ module helps with error handling. It is used by +the Texinfo modules *note Texinfo::Parser: Texinfo::Parser NAME. and +*note Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. To +use this module, either create a new ‘Texinfo::Report’ object or +initialize another object such as to be able to call ‘Texinfo::Report’ +methods. In any case, ‘Texinfo::Report::new()’ is called to setup the +module. + + Besides the ‘new’ method, ‘errors’ is used for reporting errors, and +the other methods to store errors (and warnings). + + +File: texi2any_internals.info, Node: Texinfo::Report METHODS, Next: Texinfo::Report AUTHOR, Prev: Texinfo::Report DESCRIPTION, Up: Texinfo::Report + +5.5 Texinfo::Report METHODS +=========================== + +No method is exported in the default case. + + The ‘new’ method initializes ‘Texinfo::Report’ related fields. The +errors collected are available through the ‘errors’ method, the other +methods allow registering errors and warnings. + +my $registrar = Texinfo::Report::new() + +$converter->Texinfo::Report::new() + + If called without argument, a ‘Texinfo::Report’ object is + initialized and returned. This is how the module is used in the + Texinfo Parsers, as a separate object. + + If called on a ‘$converter’, the ‘$converter’ is initialized itself + such as to be able to call ‘Texinfo::Report’ methods. It is how it + is used in the Converters. + +($error_warnings_list, $error_count) = errors($registrar) + + This function returns as _$error_count_ the count of errors since + calling ‘new’. The _$error_warnings_list_ is an array of hash + references one for each error, warning or error line continuation. + Each of these has the following keys: + + type + + May be ‘warning’, or ‘error’. + + text + + The text of the error. + + error_line + + The text of the error formatted with the file name, line + number and macro name, as needed. + + line_nr + + The line number of the error or warning. + + file_name + + The file name where the error or warning occurs. + + macro + + The user macro name that is expanded at the location of the + error or warning. + +$registrar->line_warn($text, $configuration_information, $error_location_info) + +$registrar->line_error($text, $configuration_information, $error_location_info) + + Register a warning or an error. The _$text_ is the text of the + error or warning. The _$configuration_information_ object gives + some information that can modify the messages or their delivery. + The optional _$error_location_info_ holds the information on the + error or warning location. The _$error_location_info_ reference on + hash may be obtained from Texinfo elements _source_info_ keys. It + may also be setup to point to a file name, using the ‘file_name’ + key and to a line number, using the ‘line_nr’ key. The ‘file_name’ + key value should be a binary string. + + The _source_info_ key of Texinfo tree elements is described in more + details in *note Texinfo::Parser source_info::. + +$registrar->document_warn($configuration_information, $text) + +$registrar->document_error($configuration_information, $text) + + Register a document-wide error or warning. _$text_ is the error or + warning message. The _$configuration_information_ object gives + some information that can modify the messages or their delivery. + + +File: texi2any_internals.info, Node: Texinfo::Report AUTHOR, Next: Texinfo::Report COPYRIGHT AND LICENSE, Prev: Texinfo::Report METHODS, Up: Texinfo::Report + +5.6 Texinfo::Report AUTHOR +========================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Report COPYRIGHT AND LICENSE, Prev: Texinfo::Report AUTHOR, Up: Texinfo::Report + +5.7 Texinfo::Report COPYRIGHT AND LICENSE +========================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Translations, Next: Texinfo::Transformations, Prev: Texinfo::Report, Up: Top + +6 Texinfo::Translations +*********************** + +* Menu: + +* Texinfo::Translations NAME:: +* Texinfo::Translations SYNOPSIS:: +* Texinfo::Translations NOTES:: +* Texinfo::Translations DESCRIPTION:: +* Texinfo::Translations METHODS:: +* Texinfo::Translations AUTHOR:: +* Texinfo::Translations COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Translations NAME, Next: Texinfo::Translations SYNOPSIS, Up: Texinfo::Translations + +6.1 Texinfo::Translations NAME +============================== + +Texinfo::Translations - Translations of output documents strings for +Texinfo modules + + +File: texi2any_internals.info, Node: Texinfo::Translations SYNOPSIS, Next: Texinfo::Translations NOTES, Prev: Texinfo::Translations NAME, Up: Texinfo::Translations + +6.2 Texinfo::Translations SYNOPSIS +================================== + + @ISA = qw(Texinfo::Translations); + + my $tree_translated = $converter->gdt('See {reference} in @cite{{book}}', + {'reference' => $tree_reference, + 'book' => {'text' => $book_name}}); + + +File: texi2any_internals.info, Node: Texinfo::Translations NOTES, Next: Texinfo::Translations DESCRIPTION, Prev: Texinfo::Translations SYNOPSIS, Up: Texinfo::Translations + +6.3 Texinfo::Translations NOTES +=============================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Translations DESCRIPTION, Next: Texinfo::Translations METHODS, Prev: Texinfo::Translations NOTES, Up: Texinfo::Translations + +6.4 Texinfo::Translations DESCRIPTION +===================================== + +The ‘Texinfo::Translations’ module helps with translations in output +documents. + + Translation of error messages uses another interface, which is the +classical gettext based perl interface. It is not described as it is +described in details elsewhere, some elements are in *note +Texinfo::Common ‘__’ and ‘__p’: Texinfo::Common $translated_string = +__($msgid). + + +File: texi2any_internals.info, Node: Texinfo::Translations METHODS, Next: Texinfo::Translations AUTHOR, Prev: Texinfo::Translations DESCRIPTION, Up: Texinfo::Translations + +6.5 Texinfo::Translations METHODS +================================= + +No method is exported. + + The ‘gdt’ method is used to translate strings to be output in +converted documents, and returns, in general, a texinfo tree. + +$tree = $object->gdt($string, $replaced_substrings, $mode, $lang) + + The _$string_ is a string to be translated. In the default case, + the function returns a Texinfo tree, as the string is interpreted + as Texinfo code after translation. _$replaced_substrings_ is an + optional hash reference specifying some substitution to be done + after the translation. The key of the _$replaced_substrings_ hash + reference identifies what is to be substituted, and the value is + some string, texinfo tree or array content that is substituted in + the resulting texinfo tree. In the string to be translated word in + brace matching keys of _$replaced_substrings_ are replaced. The + _$object_ is typically a converter, but can be any object that + implements ‘get_conf’, or undefined (‘undef’). If not undefined, + the information in the _$object_ is used to determine the encoding, + the documentlanguage and get some customization information. + _$lang_ is optional. If set, it overrides the documentlanguage. + + For example, in the following call, the string ‘See {reference} in + @cite{{book}}’ is translated, then parsed as a Texinfo string, with + _{reference}_ substituted by _$tree_reference_ in the resulting + tree, and _{book}_ replaced by the associated texinfo tree text + element: + + $tree = $converter->gdt('See {reference} in @cite{{book}}', + {'reference' => $tree_reference, + 'book' => {'text' => $book_name}}); + + ‘gdt’ uses a gettext-like infrastructure to retrieve the translated + strings, using the _texinfo_document_ domain. + + _$mode_ is an optional string which may modify how the function + behaves. The possible values are: + + translated_text + + In that case the string is not considered to be Texinfo, a + plain string that is returned after translation and + substitution. The substitutions may only be strings in that + case. + + +File: texi2any_internals.info, Node: Texinfo::Translations AUTHOR, Next: Texinfo::Translations COPYRIGHT AND LICENSE, Prev: Texinfo::Translations METHODS, Up: Texinfo::Translations + +6.6 Texinfo::Translations AUTHOR +================================ + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Translations COPYRIGHT AND LICENSE, Prev: Texinfo::Translations AUTHOR, Up: Texinfo::Translations + +6.7 Texinfo::Translations COPYRIGHT AND LICENSE +=============================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Transformations, Next: Texinfo::Convert::Texinfo, Prev: Texinfo::Translations, Up: Top + +7 Texinfo::Transformations +************************** + +* Menu: + +* Texinfo::Transformations NAME:: +* Texinfo::Transformations NOTES:: +* Texinfo::Transformations DESCRIPTION:: +* Texinfo::Transformations METHODS:: +* Texinfo::Transformations SEE ALSO:: +* Texinfo::Transformations AUTHOR:: +* Texinfo::Transformations COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Transformations NAME, Next: Texinfo::Transformations NOTES, Up: Texinfo::Transformations + +7.1 Texinfo::Transformations NAME +================================= + +Texinfo::Transformations - transformations of Texinfo Perl tree + + +File: texi2any_internals.info, Node: Texinfo::Transformations NOTES, Next: Texinfo::Transformations DESCRIPTION, Prev: Texinfo::Transformations NAME, Up: Texinfo::Transformations + +7.2 Texinfo::Transformations NOTES +================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Transformations DESCRIPTION, Next: Texinfo::Transformations METHODS, Prev: Texinfo::Transformations NOTES, Up: Texinfo::Transformations + +7.3 Texinfo::Transformations DESCRIPTION +======================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Transformations METHODS, Next: Texinfo::Transformations SEE ALSO, Prev: Texinfo::Transformations DESCRIPTION, Up: Texinfo::Transformations + +7.4 Texinfo::Transformations METHODS +==================================== + +No method is exported in the default case. + +complete_tree_nodes_menus($tree, $add_section_names_in_entries) + + 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 *note sectioning_structure: Texinfo::Structuring + $sections_root, $sections_list = sectioning_structure($registrar, + $customization_information, $tree). + +complete_tree_nodes_missing_menu($tree, $use_section_names_in_entries) + + 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 *note sectioning_structure: Texinfo::Structuring + $sections_root, $sections_list = sectioning_structure($registrar, + $customization_information, $tree). + +($root_content, $added_sections) = fill_gaps_in_sectioning($tree) + + 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. + +($root_content, $added_nodes) = insert_nodes_for_sectioning_commands($tree, $nodes_list, $targets_list, $labels) + + 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($menu) + +set_menus_to_simple_menu($nodes_list) + + ‘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. + +$detailmenu = new_master_menu($translations, $labels) + + Returns a detailmenu tree element formatted as a master node. + _$translations_, if defined, should be a *note + Texinfo::Translations: Texinfo::Translations NAME. object and + should also hold customization information. + +protect_hashchar_at_line_beginning($registrar, $customization_information, $tree) + + 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 *note Texinfo::Report: Texinfo::Report NAME. 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. + +$modified_tree = reference_to_arg_in_tree($tree) + + 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_master_menu($translations, $labels) + + 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 *note + Texinfo::Translations: Texinfo::Translations NAME. object and + should also hold customization information. + + +File: texi2any_internals.info, Node: Texinfo::Transformations SEE ALSO, Next: Texinfo::Transformations AUTHOR, Prev: Texinfo::Transformations METHODS, Up: Texinfo::Transformations + +7.5 Texinfo::Transformations SEE ALSO +===================================== + +Texinfo manual (http://www.gnu.org/s/texinfo/manual/texinfo/), *note +Texinfo::Parser: Texinfo::Parser NAME. + + +File: texi2any_internals.info, Node: Texinfo::Transformations AUTHOR, Next: Texinfo::Transformations COPYRIGHT AND LICENSE, Prev: Texinfo::Transformations SEE ALSO, Up: Texinfo::Transformations + +7.6 Texinfo::Transformations AUTHOR +=================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Transformations COPYRIGHT AND LICENSE, Prev: Texinfo::Transformations AUTHOR, Up: Texinfo::Transformations + +7.7 Texinfo::Transformations COPYRIGHT AND LICENSE +================================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo, Next: Texinfo::Convert::Utils, Prev: Texinfo::Transformations, Up: Top + +8 Texinfo::Convert::Texinfo +*************************** + +* Menu: + +* Texinfo::Convert::Texinfo NAME:: +* Texinfo::Convert::Texinfo SYNOPSIS:: +* Texinfo::Convert::Texinfo NOTES:: +* Texinfo::Convert::Texinfo DESCRIPTION:: +* Texinfo::Convert::Texinfo METHODS:: +* Texinfo::Convert::Texinfo AUTHOR:: +* Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo NAME, Next: Texinfo::Convert::Texinfo SYNOPSIS, Up: Texinfo::Convert::Texinfo + +8.1 Texinfo::Convert::Texinfo NAME +================================== + +Texinfo::Convert::Texinfo - Convert a Texinfo tree to Texinfo code + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo SYNOPSIS, Next: Texinfo::Convert::Texinfo NOTES, Prev: Texinfo::Convert::Texinfo NAME, Up: Texinfo::Convert::Texinfo + +8.2 Texinfo::Convert::Texinfo SYNOPSIS +====================================== + + use Texinfo::Convert::Texinfo qw(convert_to_texinfo); + + my $texinfo_text = convert_to_texinfo($tree); + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo NOTES, Next: Texinfo::Convert::Texinfo DESCRIPTION, Prev: Texinfo::Convert::Texinfo SYNOPSIS, Up: Texinfo::Convert::Texinfo + +8.3 Texinfo::Convert::Texinfo NOTES +=================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo DESCRIPTION, Next: Texinfo::Convert::Texinfo METHODS, Prev: Texinfo::Convert::Texinfo NOTES, Up: Texinfo::Convert::Texinfo + +8.4 Texinfo::Convert::Texinfo DESCRIPTION +========================================= + +‘Texinfo::Convert::Texinfo’ converts a Texinfo tree (described in *note +Texinfo::Parser: Texinfo::Parser NAME.) to Texinfo code. If the Texinfo +tree results from parsing some Texinfo document, The converted Texinfo +code should be exactly the same as the initial document, except that +user defined @-macros and ‘@value’ are expanded, and some invalid code +is discarded. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo METHODS, Next: Texinfo::Convert::Texinfo AUTHOR, Prev: Texinfo::Convert::Texinfo DESCRIPTION, Up: Texinfo::Convert::Texinfo + +8.5 Texinfo::Convert::Texinfo METHODS +===================================== + +$texinfo_text = convert_to_texinfo($tree) + + Converts the Texinfo tree _$tree_ to Texinfo code. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo AUTHOR, Next: Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Texinfo METHODS, Up: Texinfo::Convert::Texinfo + +8.6 Texinfo::Convert::Texinfo AUTHOR +==================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Texinfo AUTHOR, Up: Texinfo::Convert::Texinfo + +8.7 Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE +=================================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils, Next: Texinfo::Convert::Unicode, Prev: Texinfo::Convert::Texinfo, Up: Top + +9 Texinfo::Convert::Utils +************************* + +* Menu: + +* Texinfo::Convert::Utils NAME:: +* Texinfo::Convert::Utils SYNOPSIS:: +* Texinfo::Convert::Utils NOTES:: +* Texinfo::Convert::Utils DESCRIPTION:: +* Texinfo::Convert::Utils METHODS:: +* Texinfo::Convert::Utils SEE ALSO:: +* Texinfo::Convert::Utils AUTHOR:: +* Texinfo::Convert::Utils COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils NAME, Next: Texinfo::Convert::Utils SYNOPSIS, Up: Texinfo::Convert::Utils + +9.1 Texinfo::Convert::Utils NAME +================================ + +Texinfo::Convert::Utils - miscellaneous functions usable in all +converters + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils SYNOPSIS, Next: Texinfo::Convert::Utils NOTES, Prev: Texinfo::Convert::Utils NAME, Up: Texinfo::Convert::Utils + +9.2 Texinfo::Convert::Utils SYNOPSIS +==================================== + + use Texinfo::Convert::Utils qw(expand_today expand_verbatiminclude); + + my $today_tree = expand_today($converter); + my $verbatiminclude_tree + = expand_verbatiminclude(undef, $converter, $verbatiminclude); + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils NOTES, Next: Texinfo::Convert::Utils DESCRIPTION, Prev: Texinfo::Convert::Utils SYNOPSIS, Up: Texinfo::Convert::Utils + +9.3 Texinfo::Convert::Utils NOTES +================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils DESCRIPTION, Next: Texinfo::Convert::Utils METHODS, Prev: Texinfo::Convert::Utils NOTES, Up: Texinfo::Convert::Utils + +9.4 Texinfo::Convert::Utils DESCRIPTION +======================================= + +miscellaneous methods that may be useful for backends converting texinfo +trees. This module contains the methods that can be used in converters +that do not inherit *note Texinfo::Convert::Converter: +Texinfo::Convert::Converter NAME. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils METHODS, Next: Texinfo::Convert::Utils SEE ALSO, Prev: Texinfo::Convert::Utils DESCRIPTION, Up: Texinfo::Convert::Utils + +9.5 Texinfo::Convert::Utils METHODS +=================================== + +No method is exported in the default case. + + Most methods takes a _$converter_ as argument, in general optionally, +to get some information and use methods for error reporting, see *note +Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. and *note +Texinfo::Report: Texinfo::Report NAME. On strings translations, see +*note Texinfo::Translations: Texinfo::Translations NAME. + +$arguments = definition_arguments_content($element) + + _$element_ should be a ‘@def*’ Texinfo tree element. Texinfo + elements on the @-command line corresponding to arguments in the + function definition are returned in the _$arguments_ array + reference. Arguments correspond to text following the category and + the name on the @-command line. If there is no argument, + _$arguments_ will be ‘undef’. + +$tree = definition_category_tree($converter, $def_line) + + The _$converter_ argument may be undef. _$def_line_ is a + ‘def_line’ texinfo tree container. This function returns a texinfo + tree corresponding to the category of the _$def_line_ taking the + class into account, if there is one. If _$converter_ is not + defined, the resulting string won’t be translated. + +($encoded_name, $encoding) = $converter->encoded_output_file_name($converter, $character_string_name) + + Encode _$character_string_name_ in the same way as other file name + are encoded in converters, based on customization variables, and + possibly on the input file encoding. Return the encoded name and + the encoding used to encode the name. The _$converter_ argument is + not optional and is used both to access to customization variables + and to access to parser information. + +$tree = expand_today($converter) + + Expand today’s date, as a texinfo tree with translations. + +$tree = expand_verbatiminclude($registrar, $customization_information, $verbatiminclude) + + The _$registrar_ argument may be undef. _$verbatiminclude_ is a + ‘@verbatiminclude’ tree element. This function returns a + ‘@verbatim’ tree elements after finding the included file and + reading it. If _$registrar_ is not defined, errors messages are + not registered. + +(\@contents, \@accent_commands) = find_innermost_accent_contents($element) + + _$element_ should be an accent command Texinfo tree element. + Returns an array reference containing the innermost accent command + contents, normally a text element with one or two letter, and an + array reference containing the accent commands nested in _$element_ + (including _$element_). + +$result = add_heading_number($converter, $heading_element, $heading_text, $do_number) + + The _$converter_ argument may be undef. _$heading_element_ is a + heading command tree element. _$heading_text_ is the already + formatted heading text. if the _$do_number_ optional argument is + defined and false, no number is used and the text is returned as + is. This function returns the heading with a number and the + appendix part if needed. If _$converter_ is not defined, the + resulting string won’t be translated. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils SEE ALSO, Next: Texinfo::Convert::Utils AUTHOR, Prev: Texinfo::Convert::Utils METHODS, Up: Texinfo::Convert::Utils + +9.6 Texinfo::Convert::Utils SEE ALSO +==================================== + +*note Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. and +*note Texinfo::Translations: Texinfo::Translations NAME. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils AUTHOR, Next: Texinfo::Convert::Utils COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Utils SEE ALSO, Up: Texinfo::Convert::Utils + +9.7 Texinfo::Convert::Utils AUTHOR +================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::Utils COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Utils AUTHOR, Up: Texinfo::Convert::Utils + +9.8 Texinfo::Convert::Utils COPYRIGHT AND LICENSE +================================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode, Next: Texinfo::Convert::NodeNameNormalization, Prev: Texinfo::Convert::Utils, Up: Top + +10 Texinfo::Convert::Unicode +**************************** + +* Menu: + +* Texinfo::Convert::Unicode NAME:: +* Texinfo::Convert::Unicode SYNOPSIS:: +* Texinfo::Convert::Unicode NOTES:: +* Texinfo::Convert::Unicode DESCRIPTION:: +* Texinfo::Convert::Unicode METHODS:: +* Texinfo::Convert::Unicode AUTHOR:: +* Texinfo::Convert::Unicode COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode NAME, Next: Texinfo::Convert::Unicode SYNOPSIS, Up: Texinfo::Convert::Unicode + +10.1 Texinfo::Convert::Unicode NAME +=================================== + +Texinfo::Convert::Unicode - Representation as Unicode characters + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode SYNOPSIS, Next: Texinfo::Convert::Unicode NOTES, Prev: Texinfo::Convert::Unicode NAME, Up: Texinfo::Convert::Unicode + +10.2 Texinfo::Convert::Unicode SYNOPSIS +======================================= + + use Texinfo::Convert::Unicode qw(unicode_accent encoded_accents + unicode_text); + + my ($innermost_contents, $stack) + = Texinfo::Convert::Utils::find_innermost_accent_contents($accent); + + my $formatted_accents = encoded_accents ($converter, + convert_to_text($innermost_contents), $stack, $encoding, + \&Texinfo::Text::ascii_accent_fallback); + + my $accent_text = unicode_accent('e', $accent_command); + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode NOTES, Next: Texinfo::Convert::Unicode DESCRIPTION, Prev: Texinfo::Convert::Unicode SYNOPSIS, Up: Texinfo::Convert::Unicode + +10.3 Texinfo::Convert::Unicode NOTES +==================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode DESCRIPTION, Next: Texinfo::Convert::Unicode METHODS, Prev: Texinfo::Convert::Unicode NOTES, Up: Texinfo::Convert::Unicode + +10.4 Texinfo::Convert::Unicode DESCRIPTION +========================================== + +‘Texinfo::Convert::Unicode’ provides methods dealing with Unicode +representation and conversion of Unicode code points, to be used in +converters. + + When an encoding supported in Texinfo is given as argument of a +method of the module, the accented letters or characters should only be +represented by Unicode code points if it is known that Perl should +manage to convert the Unicode code points to encoded characters in the +encoding character set. Note that the actual conversion is done by +Perl, not by the module. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode METHODS, Next: Texinfo::Convert::Unicode AUTHOR, Prev: Texinfo::Convert::Unicode DESCRIPTION, Up: Texinfo::Convert::Unicode + +10.5 Texinfo::Convert::Unicode METHODS +====================================== + +$result = brace_no_arg_command($command_name, $encoding) + + Return the Unicode representation of a command with brace and no + argument _$command_name_ (like ‘@bullet{}’, ‘@aa{}’ or + ‘@guilsinglleft{}’), or ‘undef’ if the Unicode representation + cannot be converted to encoding _$encoding_. + +$possible_conversion = check_unicode_point_conversion($arg, $output_debug) + + Check that it is possible to output actual UTF-8 binary bytes + corresponding to the Unicode code point string _$arg_ (such as + ‘201D’). Perl gives a warning and will not output UTF-8 for + Unicode non-characters such as U+10FFFF. If the optional + _$output_debug_ argument is set, a debugging output warning is + emitted if the test of the conversion failed. Returns 1 if the + conversion is possible and can be attempted, 0 otherwise. + +$result = encoded_accents($converter, $text, $stack, $encoding, $format_accent, $set_case) + + _$encoding_ is the encoding the accented characters should be + encoded to. If _$encoding_ not set, _$result_ is set to ‘undef’. + Nested accents and their content are passed with _$text_ and + _$stack_. _$text_ is the text appearing within nested accent + commands. _$stack_ is an array reference holding the nested + accents texinfo tree elements. In general, _$text_ is the + formatted contents and _$stack_ the stack returned by *note + Texinfo::Convert::Utils::find_innermost_accent_contents: + Texinfo::Convert::Utils (\@contents, \@accent_commands) = + find_innermost_accent_contents($element). The function tries to + convert as much as possible the accents to _$encoding_ starting + from the innermost accent. + + _$format_accent_ is a function reference that is used to format the + accent commands if there is no encoded character available at some + point of the conversion of the _$stack_. _$converter_ is a + converter object optionaly used by _$format_accent_. It may be + ‘undef’ if there is no need of converter object in + _$format_accent_. + + If _$set_case_ is positive, the result is upper-cased, while if it + is negative, the result is lower-cased. + +$width = string_width($string) + + Return the string width, taking into account the fact that some + characters have a zero width (like composing accents) while some + have a width of 2 (most chinese characters, for example). + +$result = unicode_accent($text, $accent_command) + + _$text_ is the text appearing within an accent command. + _$accent_command_ should be a Texinfo tree element corresponding to + an accent command taking an argument. The function returns the + Unicode representation of the accented character. + +$is_decoded = unicode_point_decoded_in_encoding($encoding, $unicode_point) + + Return true if the _$unicode_point_ will be encoded in the encoding + _$encoding_. The _$unicode_point_ should be specified as a four + letter string describing an hexadecimal number with letters in + upper case (such as ‘201D’). Tables are used to determine if the + _$unicode_point_ will be encoded, when the encoding does not cover + the whole Unicode range. + + If the encoding is not supported in Texinfo, the result will always + be false. + +$result = unicode_text($text, $in_code) + + Return _$text_ with dashes and quotes corresponding, for example to + ‘---’ or ‘'’, represented as Unicode code points. If _$in_code_ is + set, the text is considered to be in code style. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode AUTHOR, Next: Texinfo::Convert::Unicode COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Unicode METHODS, Up: Texinfo::Convert::Unicode + +10.6 Texinfo::Convert::Unicode AUTHOR +===================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::Unicode COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Unicode AUTHOR, Up: Texinfo::Convert::Unicode + +10.7 Texinfo::Convert::Unicode COPYRIGHT AND LICENSE +==================================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization, Next: Texinfo::Convert::Text, Prev: Texinfo::Convert::Unicode, Up: Top + +11 Texinfo::Convert::NodeNameNormalization +****************************************** + +* Menu: + +* Texinfo::Convert::NodeNameNormalization NAME:: +* Texinfo::Convert::NodeNameNormalization SYNOPSIS:: +* Texinfo::Convert::NodeNameNormalization NOTES:: +* Texinfo::Convert::NodeNameNormalization DESCRIPTION:: +* Texinfo::Convert::NodeNameNormalization METHODS:: +* Texinfo::Convert::NodeNameNormalization AUTHOR:: +* Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization NAME, Next: Texinfo::Convert::NodeNameNormalization SYNOPSIS, Up: Texinfo::Convert::NodeNameNormalization + +11.1 Texinfo::Convert::NodeNameNormalization NAME +================================================= + +Texinfo::Convert::NodeNameNormalization - Normalize and transliterate +Texinfo trees + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization SYNOPSIS, Next: Texinfo::Convert::NodeNameNormalization NOTES, Prev: Texinfo::Convert::NodeNameNormalization NAME, Up: Texinfo::Convert::NodeNameNormalization + +11.2 Texinfo::Convert::NodeNameNormalization SYNOPSIS +===================================================== + + use Texinfo::Convert::NodeNameNormalization qw(normalize_node + transliterate_texinfo); + + my $normalized = normalize_node({'contents' => $node_contents}); + + my $file_name = transliterate_texinfo({'contents' + => $section_contents}); + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization NOTES, Next: Texinfo::Convert::NodeNameNormalization DESCRIPTION, Prev: Texinfo::Convert::NodeNameNormalization SYNOPSIS, Up: Texinfo::Convert::NodeNameNormalization + +11.3 Texinfo::Convert::NodeNameNormalization NOTES +================================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization DESCRIPTION, Next: Texinfo::Convert::NodeNameNormalization METHODS, Prev: Texinfo::Convert::NodeNameNormalization NOTES, Up: Texinfo::Convert::NodeNameNormalization + +11.4 Texinfo::Convert::NodeNameNormalization DESCRIPTION +======================================================== + +‘Texinfo::Convert::NodeNameNormalization’ allows to normalize node +names, with ‘normalize_node’ following the specification described in +the Texinfo manual _HTML Xref_ node. This is usefull each time one want +a unique identifier for Texinfo content that is only composed of letter, +digits, ‘-’ and ‘_’. In *note Texinfo::Parser: Texinfo::Parser NAME, +‘normalize_node’ is used for ‘@node’, ‘@float’ and ‘@anchor’ names +normalization, but also ‘@float’ types and ‘@acronym’ and ‘@abbr’ first +argument. + + It is also possible to transliterate non-ASCII letters, instead of +mangling them, with ‘transliterate_texinfo’, losing the uniqueness +feature of normalized node names. + + Another method, ‘transliterate_protect_file_name’ transliterates +non-ASCII letters and protect characters that should not appear on file +names. + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization METHODS, Next: Texinfo::Convert::NodeNameNormalization AUTHOR, Prev: Texinfo::Convert::NodeNameNormalization DESCRIPTION, Up: Texinfo::Convert::NodeNameNormalization + +11.5 Texinfo::Convert::NodeNameNormalization METHODS +==================================================== + +$partially_normalized = convert_to_normalized($tree) + + The Texinfo _$tree_ is returned as a string, with @-commands and + spaces normalized as described in the Texinfo manual _HTML Xref_ + node. ASCII 7-bit characters other than spaces and non-ASCII + characters are left as is in the resulting string. + +$normalized = normalize_node($tree) + + The Texinfo _$tree_ is returned as a string, normalized as + described in the Texinfo manual _HTML Xref_ node. + + The result will be poor for Texinfo trees which are not @-command + arguments (on an @-command line or in braces), for instance if the + tree contains ‘@node’ or block commands. + +$transliterated = transliterate_texinfo($tree, $no_unidecode) + + The Texinfo _$tree_ is returned as a string, with non-ASCII letters + transliterated as ASCII, but otherwise similar with + ‘normalize_node’ output. If the optional _$no_unidecode_ argument + is set, ‘Text::Unidecode’ is not used for characters whose + transliteration is not built-in. + +$file_name = transliterate_protect_file_name($string, $no_unidecode) + + The string _$string_ is returned with non-ASCII letters + transliterated as ASCII, and ASCII characters not safe in file + names protected as in node normalization. If the optional + _$no_unidecode_ argument is set, ‘Text::Unidecode’ is not used for + characters whose transliteration is not built-in. + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization AUTHOR, Next: Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::NodeNameNormalization METHODS, Up: Texinfo::Convert::NodeNameNormalization + +11.6 Texinfo::Convert::NodeNameNormalization AUTHOR +=================================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::NodeNameNormalization AUTHOR, Up: Texinfo::Convert::NodeNameNormalization + +11.7 Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE +================================================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text, Next: Texinfo::Convert::Converter, Prev: Texinfo::Convert::NodeNameNormalization, Up: Top + +12 Texinfo::Convert::Text +************************* + +* Menu: + +* Texinfo::Convert::Text NAME:: +* Texinfo::Convert::Text SYNOPSIS:: +* Texinfo::Convert::Text NOTES:: +* Texinfo::Convert::Text DESCRIPTION:: +* Texinfo::Convert::Text METHODS:: +* Texinfo::Convert::Text AUTHOR:: +* Texinfo::Convert::Text COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text NAME, Next: Texinfo::Convert::Text SYNOPSIS, Up: Texinfo::Convert::Text + +12.1 Texinfo::Convert::Text NAME +================================ + +Texinfo::Convert::Text - Convert Texinfo tree to simple text + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text SYNOPSIS, Next: Texinfo::Convert::Text NOTES, Prev: Texinfo::Convert::Text NAME, Up: Texinfo::Convert::Text + +12.2 Texinfo::Convert::Text SYNOPSIS +==================================== + + use Texinfo::Convert::Text qw(convert_to_text ascii_accent text_accents); + + my $result = convert_to_text($tree); + my $result_encoded = convert_to_text($tree, + {'enabled_encoding' => 'utf-8'}); + my $result_converter = convert_to_text($tree, + {'converter' => $converter}); + + my $result_accent_text = ascii_accent('e', $accent_command); + my $accents_text = text_accents($accents, 'utf-8'); + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text NOTES, Next: Texinfo::Convert::Text DESCRIPTION, Prev: Texinfo::Convert::Text SYNOPSIS, Up: Texinfo::Convert::Text + +12.3 Texinfo::Convert::Text NOTES +================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text DESCRIPTION, Next: Texinfo::Convert::Text METHODS, Prev: Texinfo::Convert::Text NOTES, Up: Texinfo::Convert::Text + +12.4 Texinfo::Convert::Text DESCRIPTION +======================================= + +‘Texinfo::Convert::Text’ is a simple backend that converts a Texinfo +tree to simple text. It is used in converters, especially for file +names. The converter is very simple, and, in the default case, cannot +handle output strings translation or error handling. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text METHODS, Next: Texinfo::Convert::Text AUTHOR, Prev: Texinfo::Convert::Text DESCRIPTION, Up: Texinfo::Convert::Text + +12.5 Texinfo::Convert::Text METHODS +=================================== + +$result = convert_to_text($tree, $options) + + Convert a Texinfo tree to simple text. _$options_ is a hash + reference of options. The converter is very simple, and has almost + no internal state besides the options. It cannot handle as is + output strings translation or error storing. + + If the _converter_ option is set, some additional features may be + available for the conversion of some @-commands, like output + strings translation or error reporting. + + The following options may be set: + + enabled_encoding + + If set, the value is considered to be the encoding name + texinfo accented letters should be converted to. This option + being set corresponds to the ‘--enable-encoding’ option, or + the ‘ENABLE_ENCODING’ customization variable for Info and + Plaintext. For HTML, DocBook or Texinfo XML, this variable + should in general be set unless the output encoding is + US-ASCII. + + sc + + If set, the text is upper-cased. + + code + + If set the text is in code style. (mostly ‘--’, ‘---’, ‘''’ + and ‘``’ are kept as is). + + NUMBER_SECTIONS + + If set, sections are numbered when output. + + sort_string + + A somehow internal option to convert to text more suitable for + alphabetical sorting rather than presentation. + + converter + + If this converter object is passed to the function, some + features of this object may be used during conversion. Mostly + error reporting and strings translation, as the converter + object is also supposed to be a *note Texinfo::Report: + Texinfo::Report NAME. objet. See also *note + Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. + + expanded_formats_hash + + A reference on a hash. The keys should be format names (like + ‘html’, ‘tex’), and if the corresponding value is set, the + format is expanded. + +$result_accent_text = ascii_accent($text, $accent_command) + + _$text_ is the text appearing within an accent command. + _$accent_command_ should be a Texinfo tree element corresponding to + an accent command taking an argument. The function returns a + transliteration of the accented character. + +$result_accent_text = ascii_accent_fallback($converter, $text, $accent_command) + + Same as ‘ascii_accent’ but with an additional first argument + converter, which is ignored, but needed if this function is to be + in argument of functions that need a fallback for accents + conversion. + +$accents_text = text_accents($accents, $encoding, $set_case) + + _$accents_ is an accent command that may contain other nested + accent commands. The function will format the whole stack of + nested accent commands and the innermost text. If _$encoding_ is + set, the formatted text is converted to this encoding as much as + possible instead of being converted as simple ASCII. If _$set_case_ + is positive, the result is meant to be upper-cased, if it is + negative, the result is to be lower-cased. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text AUTHOR, Next: Texinfo::Convert::Text COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Text METHODS, Up: Texinfo::Convert::Text + +12.6 Texinfo::Convert::Text AUTHOR +================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::Text COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Text AUTHOR, Up: Texinfo::Convert::Text + +12.7 Texinfo::Convert::Text COPYRIGHT AND LICENSE +================================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter, Next: Texinfo::Convert::Info, Prev: Texinfo::Convert::Text, Up: Top + +13 Texinfo::Convert::Converter +****************************** + +* Menu: + +* Texinfo::Convert::Converter NAME:: +* Texinfo::Convert::Converter SYNOPSIS:: +* Texinfo::Convert::Converter NOTES:: +* Texinfo::Convert::Converter DESCRIPTION:: +* Texinfo::Convert::Converter METHODS:: +* Texinfo::Convert::Converter SEE ALSO:: +* Texinfo::Convert::Converter AUTHOR:: +* Texinfo::Convert::Converter COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter NAME, Next: Texinfo::Convert::Converter SYNOPSIS, Up: Texinfo::Convert::Converter + +13.1 Texinfo::Convert::Converter NAME +===================================== + +Texinfo::Convert::Converter - Parent class for Texinfo tree converters + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter SYNOPSIS, Next: Texinfo::Convert::Converter NOTES, Prev: Texinfo::Convert::Converter NAME, Up: Texinfo::Convert::Converter + +13.2 Texinfo::Convert::Converter SYNOPSIS +========================================= + + package Texinfo::Convert::MyConverter; + + use Texinfo::Convert::Converter; + @ISA = qw(Texinfo::Convert::Converter); + + sub converter_defaults ($$) { + return %myconverter_defaults; + } + sub converter_initialize($) { + my $self = shift; + $self->{'document_context'} = [{}]; + } + + sub convert($$) { + ... + } + sub convert_tree($$) { + ... + } + sub output($$) { + ... + } + + # end of Texinfo::Convert::MyConverter + + my $converter = Texinfo::Convert::MyConverter->converter( + {'parser' => $parser}); + $converter->output($texinfo_tree); + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter NOTES, Next: Texinfo::Convert::Converter DESCRIPTION, Prev: Texinfo::Convert::Converter SYNOPSIS, Up: Texinfo::Convert::Converter + +13.3 Texinfo::Convert::Converter NOTES +====================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter DESCRIPTION, Next: Texinfo::Convert::Converter METHODS, Prev: Texinfo::Convert::Converter NOTES, Up: Texinfo::Convert::Converter + +13.4 Texinfo::Convert::Converter DESCRIPTION +============================================ + +‘Texinfo::Convert::Converter’ is a super class that can be used to +simplify converters initialization. The class also provide some useful +methods. + + In turn, the converter should define some methods. Two are optional, +‘converter_defaults’, ‘converter_initialize’ and used for +initialization, to give information to ‘Texinfo::Convert::Converter’. + + The ‘convert_tree’ method is mandatory and should convert portions of +Texinfo tree. The ‘output’ method is used by converters as entry point +for conversion to a file with headers and so on. Although it is is not +called from other modules, it should in general be implemented by +converters. ‘output’ is called from ‘texi2any’. ‘convert’ is not +required, but customarily used by converters as entry point for a +conversion of a whole Texinfo tree without the headers done when +outputting to a file. + + Existing backends may be used as examples that implement those +methods. ‘Texinfo::Convert::Texinfo’ together with +‘Texinfo::Convert::PlainTexinfo’, as well as +‘Texinfo::Convert::TextContent’ are trivial examples. +‘Texinfo::Convert::Text’ is less trivial, although still simple, while +‘Texinfo::Convert::DocBook’ is a real converter that is also not too +complex. + + The documentation of *note Texinfo::Common: Texinfo::Common NAME, +*note Texinfo::Convert::Unicode: Texinfo::Convert::Unicode NAME. and +*note Texinfo::Report: Texinfo::Report NAME. describes modules or +additional function that may be useful for backends, while the parsed +Texinfo tree is described in *note Texinfo::Parser: Texinfo::Parser +NAME. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter METHODS, Next: Texinfo::Convert::Converter SEE ALSO, Prev: Texinfo::Convert::Converter DESCRIPTION, Up: Texinfo::Convert::Converter + +13.5 Texinfo::Convert::Converter METHODS +======================================== + +* Menu: + +* Texinfo::Convert::Converter Initialization:: +* Texinfo::Convert::Converter Getting and setting customization variables:: +* Texinfo::Convert::Converter Conversion to XML:: +* Texinfo::Convert::Converter Helper methods:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter Initialization, Next: Texinfo::Convert::Converter Getting and setting customization variables, Up: Texinfo::Convert::Converter METHODS + +13.5.1 Initialization +--------------------- + +A module subclassing ‘Texinfo::Convert::Converter’ is created by calling +the ‘converter’ method that should be inherited from +‘Texinfo::Convert::Converter’. + +$converter = MyConverter->converter($options) + + The _$options_ hash reference holds options for the converter. In + this option hash reference a *note parser object: Texinfo::Parser + NAME. may be associated with the _parser_ key. The other options + are Texinfo customization options and a few other options that can + be passed to the converter. Most of the customization options are + described in the Texinfo manual. Those customization options, when + appropriate, override the document content. *TODO what about the + other options (all are used in converters; ’structuring’ is + available in HTML $converter->get_info()?* The parser should not + be available directly anymore after getting the associated + information. *TODO document this associated information + (’parser_info’, ’indices_information’, ’floats’..., most available + in HTML converter, either through $converter->get_info() or + label_command())* + + The ‘converter’ function returns a converter object (a blessed hash + reference) after checking the options and performing some + initializations, especially when a parser is given among the + options. The converter is also initialized as a *note + Texinfo::Report: Texinfo::Report NAME. + + To help with these initializations, the modules subclassing +‘Texinfo::Convert::Converter’ can define two methods: + +%defaults = $converter->converter_defaults($options) + + The module can provide a defaults hash for converter customization + options. The _$options_ hash reference holds options for the + converter. + +converter_initialize + + This method is called at the end of the + ‘Texinfo::Convert::Converter’ converter initialization. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter Getting and setting customization variables, Next: Texinfo::Convert::Converter Conversion to XML, Prev: Texinfo::Convert::Converter Initialization, Up: Texinfo::Convert::Converter METHODS + +13.5.2 Getting and setting customization variables +-------------------------------------------------- + +‘Texinfo::Convert::Converter’ implements a simple interface to set and +retrieve Texinfo customization variables. Helper functions from diverse +Texinfo modules needing customization information expect an object +implementing ‘get_conf’ and/or ‘set_conf’. The converter itself can +therefore be used in such cases. + +$converter->force_conf($variable_name, $variable_value) + + Set the Texinfo customization option _$variable_name_ to + _$variable_value_. This should rarely be used, but the purpose of + this method is to be able to revert a customization that is always + wrong for a given output format, like the splitting for example. + +$converter->get_conf($variable_name) + + Returns the value of the Texinfo customization variable + _$variable_name_. + +$converter->set_conf($variable_name, $variable_value) + + Set the Texinfo customization option _$variable_name_ to + _$variable_value_ if not set as a converter option. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter Conversion to XML, Next: Texinfo::Convert::Converter Helper methods, Prev: Texinfo::Convert::Converter Getting and setting customization variables, Up: Texinfo::Convert::Converter METHODS + +13.5.3 Conversion to XML +------------------------ + +Some ‘Texinfo::Convert::Converter’ methods target conversion to XML. +Most methods take a _$converter_ as argument to get some information and +use methods for error reporting. + +$formatted_text = $converter->xml_format_text_with_numeric_entities($text) + + Replace quotation marks and hyphens used to represent dash in + Texinfo text with numeric XML entities. + +$protected_text = $converter->xml_protect_text($text) + + Protect special XML characters (&, <, >, ") of _$text_. + +$comment = $converter->xml_comment($text) + + Returns an XML comment for _$text_. + +$result = xml_accent($text, $accent_command, $in_upper_case, $use_numeric_entities) + + _$text_ is the text appearing within an accent command. + _$accent_command_ should be a Texinfo tree element corresponding to + an accent command taking an argument. _$in_upper_case_ is + optional, and, if set, the text is put in upper case. The function + returns the accented letter as XML named entity if possible, + falling back to numeric entities if there is no named entity and to + an ASCII transliteration as last resort. _$use_numeric_entities_ + is optional. If set, numerical entities are used instead of named + entities if possible. + +$result = $converter->xml_accents($accent_command, $in_upper_case) + + _$accent_command_ is an accent command, which may have other accent + commands nested. If _$in_upper_case_ is set, the result should be + upper cased. The function returns the accents formatted as XML. + +$result = xml_numeric_entity_accent($accent_command_name, $text) + + _$accent_command_name_ is the name of an accent command. _$text_ + is the text appearing within the accent command. Returns the + accented letter as XML numeric entity, or ‘undef’ is there is no + such entity. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter Helper methods, Prev: Texinfo::Convert::Converter Conversion to XML, Up: Texinfo::Convert::Converter METHODS + +13.5.4 Helper methods +--------------------- + +The module provides methods that may be useful for converter. Most +methods take a _$converter_ as argument to get some information and use +methods for error reporting, see *note Texinfo::Report: Texinfo::Report +NAME. Also to translate strings, see *note Texinfo::Translations: +Texinfo::Translations NAME. For useful methods that need a converter +optionally and can be used in converters that do not inherit from +‘Texinfo::Convert::Converter’, see *note Texinfo::Convert::Utils: +Texinfo::Convert::Utils NAME. + +$contents_array = $converter->comma_index_subentries_tree($entry) + + _$entry_ is a Texinfo tree index entry element. The function sets + up an array with the ‘@subentry’ contents, separated by commas. + The array reference is returned as _$contents_array_, or ‘undef’ if + there is no such content. + +$result = $converter->convert_accents($accent_command, \&format_accents, $in_upper_case) + + _$accent_command_ is an accent command, which may have other accent + commands nested. The function returns the accents formatted either + as encoded letters, or formatted using _\&format_accents_. If + _$in_upper_case_ is set, the result should be uppercased. + +$result = $converter->convert_document_sections($root, $file_handler) + + This method splits the _$root_ Texinfo tree at sections and calls + ‘convert_tree’ on the elements. If the optional _$file_handler_ is + given in argument, the result are output in _$file_handler_, + otherwise the resulting string is returned. + +$succeeded = $converter->create_destination_directory($destination_directory_path, $destination_directory_name) + + Create destination directory _$destination_directory_path_. + _$destination_directory_path_ should be a binary string, while + _$destination_directory_name_ should be a character string, that + can be used in error messages. _$succeeded_ is true if the + creation was successful or uneeded, false otherwise. + +($output_file, $destination_directory, $output_filename, $document_name, $input_basefile) = $converter->determine_files_and_directory($output_format) + + Determine output file and directory, as well as names related to + files. The result depends on the presence of ‘@setfilename’, on + the Texinfo input file name, and on customization options such as + ‘OUTPUT’, ‘SUBDIR’ or ‘SPLIT’, as described in the Texinfo manual. + _$output_format_ is optional. If it is not set the current output + format, if defined, is used instead. If not an empty string, + ‘_$output_format’ is prepended to the default directory name. + + _$output_file_ is mainly relevant when not split and should be used + as the output file name. In general, if not split and + _$output_file_ is an empty string, it means that text should be + returned by the converter instead of being written to an output + file. This is used in the test suite. _$destination_directory_ is + either the directory _$output_file_ is in, or if split, the + directory where the files should be created. _$output_filename_ + is, in general, the file name portion of _$output_file_ (without + directory) but can also be set based on ‘@setfilename’, in + particular when _$output_file_ is an empty string. + _$document_name_ is _$output_filename_ without extension. + _$input_basefile_ is based on the input texinfo file name, with the + file name portion only (without directory). + + The strings returned are text strings. + +($encoded_name, $encoding) = $converter->encoded_input_file_name($character_string_name) + +($encoded_name, $encoding) = $converter->encoded_output_file_name($character_string_name) + + Encode _$character_string_name_ in the same way as other file name + are encoded in the converter, based on customization variables, and + possibly on the input file encoding. Return the encoded name and + the encoding used to encode the name. The + ‘encoded_input_file_name’ and ‘encoded_output_file_name’ functions + use different customization variables to determine the encoding. + + Note that ‘encoded_output_file_name’ is a wrapper around the + function with the same name in *note + Texinfo::Convert::Utils::encoded_output_file_name: + Texinfo::Convert::Utils ($encoded_name, $encoding) = + $converter->encoded_output_file_name($converter, + $character_string_name). + +($caption, $prepended) = $converter->float_name_caption($float) + + _$float_ is a texinfo tree ‘@float’ element. This function returns + the caption element that should be used for the float formatting + and the _$prepended_ texinfo tree combining the type and label of + the float. + +$tree = $converter->float_type_number($float) + + _$float_ is a texinfo tree ‘@float’ element. This function returns + the type and number of the float as a texinfo tree with + translations. + +$end_line = $converter->format_comment_or_return_end_line($element) + + Format comment at end of line or return the end of line associated + with the element. In many cases, converters ignore comments and + output is better formatted with new lines added independently of + the presence of newline or comment in the initial Texinfo line, so + most converters are better off not using this method. + +$filename = sub $converter->node_information_filename($node_info) + + Returns the normalized file name corresponding to the _$node_info_ + node element tree ‘extra’ field. + +($normalized_name, $filename) = $converter->normalized_sectioning_command_filename($element) + + Returns a normalized name _$normalized_name_ corresponding to a + sectioning command tree element _$element_, expanding the command + argument using transliteration and characters protection. Also + returns _$filename_ the corresponding filename based on + _$normalized_name_ taking into account additional constraint on + file names and adding a file extension. + +$converter->present_bug_message($message, $element) + + Show a bug message using _$message_ text. Use information on + _$element_ tree element if given in argument. + +$converter->set_global_document_commands($commands_location, $selected_commands) + + Set the Texinfo customization options for @-commands. + _$selected_commands_ is an optional array reference containing the + @-commands set, if not given all the global informative @-commands + are set. _$commands_location_ specifies where in the document the + value should be taken from. The possibilities are: + + before + + Set to the values before document conversion, from defaults + and command-line. + + last + + Set to the last value for the command. + + preamble + + Set sequentially to the values in the Texinfo preamble. + + preamble_or_first + + Set to the first value of the command if the first command is + not in the Texinfo preamble, else set as with _preamble_, + sequentially to the values in the Texinfo preamble. + + Notice that the only effect of this function is to set a + customization variable value, no @-command side effects are run, no + associated customization variables are set. + + For more information on the function used to set the value for each + of the command, see *note Texinfo::Common + set_global_document_command: Texinfo::Common $element = + set_global_document_command($customization_information, + $global_commands_information, $cmdname, $command_location). + +$table_item_tree = $converter->table_item_content_tree($element, $contents) + + _$element_ should be an ‘@item’ or ‘@itemx’ tree element, + _$contents_ should be corresponding texinfo tree contents. Returns + a tree in which the @-command in argument of ‘@*table’ of the + _$element_ has been applied to _$contents_. + +$result = $converter->top_node_filename($document_name) + + Returns a file name for the Top node file using either ‘TOP_FILE’ + customization value, or ‘EXTENSION’ customization value and + _$document_name_. + + Finally, there is: + +$result = $converter->output_internal_links() + + At this level, the method just returns undef. It is used in the + HTML output, following the ‘--internal-links’ option of ‘texi2any’ + specification. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter SEE ALSO, Next: Texinfo::Convert::Converter AUTHOR, Prev: Texinfo::Convert::Converter METHODS, Up: Texinfo::Convert::Converter + +13.6 Texinfo::Convert::Converter SEE ALSO +========================================= + +*note Texinfo::Common: Texinfo::Common NAME, *note +Texinfo::Convert::Unicode: Texinfo::Convert::Unicode NAME, *note +Texinfo::Report: Texinfo::Report NAME, *note Texinfo::Translations: +Texinfo::Translations NAME, *note Texinfo::Convert::Utils: +Texinfo::Convert::Utils NAME. and *note Texinfo::Parser: Texinfo::Parser +NAME. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter AUTHOR, Next: Texinfo::Convert::Converter COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Converter SEE ALSO, Up: Texinfo::Convert::Converter + +13.7 Texinfo::Convert::Converter AUTHOR +======================================= + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::Converter COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Converter AUTHOR, Up: Texinfo::Convert::Converter + +13.8 Texinfo::Convert::Converter COPYRIGHT AND LICENSE +====================================================== + +Copyright 2011- 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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info, Next: Texinfo::Convert::HTML, Prev: Texinfo::Convert::Converter, Up: Top + +14 Texinfo::Convert::Info +************************* + +* Menu: + +* Texinfo::Convert::Info NAME:: +* Texinfo::Convert::Info SYNOPSIS:: +* Texinfo::Convert::Info NOTES:: +* Texinfo::Convert::Info DESCRIPTION:: +* Texinfo::Convert::Info METHODS:: +* Texinfo::Convert::Info AUTHOR:: +* Texinfo::Convert::Info COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info NAME, Next: Texinfo::Convert::Info SYNOPSIS, Up: Texinfo::Convert::Info + +14.1 Texinfo::Convert::Info NAME +================================ + +Texinfo::Convert::Info - Convert Texinfo tree to Info + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info SYNOPSIS, Next: Texinfo::Convert::Info NOTES, Prev: Texinfo::Convert::Info NAME, Up: Texinfo::Convert::Info + +14.2 Texinfo::Convert::Info SYNOPSIS +==================================== + + my $converter + = Texinfo::Convert::Info->converter({'parser' => $parser}); + + $converter->output($tree); + $converter->convert($tree); + $converter->convert_tree($tree); + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info NOTES, Next: Texinfo::Convert::Info DESCRIPTION, Prev: Texinfo::Convert::Info SYNOPSIS, Up: Texinfo::Convert::Info + +14.3 Texinfo::Convert::Info NOTES +================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info DESCRIPTION, Next: Texinfo::Convert::Info METHODS, Prev: Texinfo::Convert::Info NOTES, Up: Texinfo::Convert::Info + +14.4 Texinfo::Convert::Info DESCRIPTION +======================================= + +Texinfo::Convert::Info converts a Texinfo tree to Info. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info METHODS, Next: Texinfo::Convert::Info AUTHOR, Prev: Texinfo::Convert::Info DESCRIPTION, Up: Texinfo::Convert::Info + +14.5 Texinfo::Convert::Info METHODS +=================================== + +$converter = Texinfo::Convert::Info->converter($options) + + Initialize converter from Texinfo to Info. + + The _$options_ hash reference holds options for the converter. In + this option hash reference a *note parser object: Texinfo::Parser + NAME. may be associated with the _parser_ key. The other options + are Texinfo customization options and a few other options that can + be passed to the converter. Most of the customization options are + described in the Texinfo manual. Those customization options, when + appropriate, override the document content. The parser should not + be available directly anymore after getting the associated + information. + + See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter + NAME. for more information. + +$converter->output($tree) + + Convert a Texinfo tree _$tree_ and output the result in files as + described in the Texinfo manual. + +$result = $converter->convert($tree) + + Convert a Texinfo tree _$tree_ and return the resulting output. + +$result = $converter->convert_tree($tree) + + Convert a Texinfo tree portion _$tree_ and return the resulting + output. This function does not try to output a full document but + only portions. For a full document use ‘convert’. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info AUTHOR, Next: Texinfo::Convert::Info COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Info METHODS, Up: Texinfo::Convert::Info + +14.6 Texinfo::Convert::Info AUTHOR +================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::Info COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Info AUTHOR, Up: Texinfo::Convert::Info + +14.7 Texinfo::Convert::Info COPYRIGHT AND LICENSE +================================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML, Next: Texinfo::Convert::DocBook, Prev: Texinfo::Convert::Info, Up: Top + +15 Texinfo::Convert::HTML +************************* + +* Menu: + +* Texinfo::Convert::HTML NAME:: +* Texinfo::Convert::HTML SYNOPSIS:: +* Texinfo::Convert::HTML NOTES:: +* Texinfo::Convert::HTML DESCRIPTION:: +* Texinfo::Convert::HTML METHODS:: +* Texinfo::Convert::HTML AUTHOR:: +* Texinfo::Convert::HTML COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML NAME, Next: Texinfo::Convert::HTML SYNOPSIS, Up: Texinfo::Convert::HTML + +15.1 Texinfo::Convert::HTML NAME +================================ + +Texinfo::Convert::HTML - Convert Texinfo tree to HTML + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML SYNOPSIS, Next: Texinfo::Convert::HTML NOTES, Prev: Texinfo::Convert::HTML NAME, Up: Texinfo::Convert::HTML + +15.2 Texinfo::Convert::HTML SYNOPSIS +==================================== + + my $converter + = Texinfo::Convert::HTML->converter({'parser' => $parser}); + + $converter->output($tree); + $converter->convert($tree); + $converter->convert_tree($tree); + $converter->output_internal_links(); # HTML only + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML NOTES, Next: Texinfo::Convert::HTML DESCRIPTION, Prev: Texinfo::Convert::HTML SYNOPSIS, Up: Texinfo::Convert::HTML + +15.3 Texinfo::Convert::HTML NOTES +================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML DESCRIPTION, Next: Texinfo::Convert::HTML METHODS, Prev: Texinfo::Convert::HTML NOTES, Up: Texinfo::Convert::HTML + +15.4 Texinfo::Convert::HTML DESCRIPTION +======================================= + +Texinfo::Convert::HTML converts a Texinfo tree to HTML. + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML METHODS, Next: Texinfo::Convert::HTML AUTHOR, Prev: Texinfo::Convert::HTML DESCRIPTION, Up: Texinfo::Convert::HTML + +15.5 Texinfo::Convert::HTML METHODS +=================================== + +$converter = Texinfo::Convert::HTML->converter($options) + + Initialize converter from Texinfo to HTML. + + The _$options_ hash reference holds options for the converter. In + this option hash reference a *note parser object: Texinfo::Parser + NAME. may be associated with the _parser_ key. The other options + are Texinfo customization options and a few other options that can + be passed to the converter. Most of the customization options are + described in the Texinfo manual. Those customization options, when + appropriate, override the document content. The parser should not + be available directly anymore after getting the associated + information. + + See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter + NAME. for more information. + +$converter->output($tree) + + Convert a Texinfo tree _$tree_ and output the result in files as + described in the Texinfo manual. + +$result = $converter->convert($tree) + + Convert a Texinfo tree _$tree_ and return the resulting output. + +$result = $converter->convert_tree($tree) + + Convert a Texinfo tree portion _$tree_ and return the resulting + output. This function does not try to output a full document but + only portions. For a full document use ‘convert’. + +$result = $converter->output_internal_links() + + Returns text representing the links in the document. The format + should follow the ‘--internal-links’ option of the ‘texi2any’ + specification. This is only supported in (and relevant for) HTML. + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML AUTHOR, Next: Texinfo::Convert::HTML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::HTML METHODS, Up: Texinfo::Convert::HTML + +15.6 Texinfo::Convert::HTML AUTHOR +================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::HTML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::HTML AUTHOR, Up: Texinfo::Convert::HTML + +15.7 Texinfo::Convert::HTML COPYRIGHT AND LICENSE +================================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook, Next: Texinfo::Convert::TexinfoMarkup, Prev: Texinfo::Convert::HTML, Up: Top + +16 Texinfo::Convert::DocBook +**************************** + +* Menu: + +* Texinfo::Convert::DocBook NAME:: +* Texinfo::Convert::DocBook SYNOPSIS:: +* Texinfo::Convert::DocBook NOTES:: +* Texinfo::Convert::DocBook DESCRIPTION:: +* Texinfo::Convert::DocBook METHODS:: +* Texinfo::Convert::DocBook AUTHOR:: +* Texinfo::Convert::DocBook COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook NAME, Next: Texinfo::Convert::DocBook SYNOPSIS, Up: Texinfo::Convert::DocBook + +16.1 Texinfo::Convert::DocBook NAME +=================================== + +Texinfo::Convert::DocBook - Convert Texinfo tree to DocBook + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook SYNOPSIS, Next: Texinfo::Convert::DocBook NOTES, Prev: Texinfo::Convert::DocBook NAME, Up: Texinfo::Convert::DocBook + +16.2 Texinfo::Convert::DocBook SYNOPSIS +======================================= + + my $converter + = Texinfo::Convert::DocBook->converter({'parser' => $parser}); + + $converter->output($tree); + $converter->convert($tree); + $converter->convert_tree($tree); + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook NOTES, Next: Texinfo::Convert::DocBook DESCRIPTION, Prev: Texinfo::Convert::DocBook SYNOPSIS, Up: Texinfo::Convert::DocBook + +16.3 Texinfo::Convert::DocBook NOTES +==================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook DESCRIPTION, Next: Texinfo::Convert::DocBook METHODS, Prev: Texinfo::Convert::DocBook NOTES, Up: Texinfo::Convert::DocBook + +16.4 Texinfo::Convert::DocBook DESCRIPTION +========================================== + +Texinfo::Convert::DocBook converts a Texinfo tree to DocBook. + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook METHODS, Next: Texinfo::Convert::DocBook AUTHOR, Prev: Texinfo::Convert::DocBook DESCRIPTION, Up: Texinfo::Convert::DocBook + +16.5 Texinfo::Convert::DocBook METHODS +====================================== + +$converter = Texinfo::Convert::DocBook->converter($options) + + Initialize converter from Texinfo to DocBook. + + The _$options_ hash reference holds options for the converter. In + this option hash reference a *note parser object: Texinfo::Parser + NAME. may be associated with the _parser_ key. The other options + are Texinfo customization options and a few other options that can + be passed to the converter. Most of the customization options are + described in the Texinfo manual. Those customization options, when + appropriate, override the document content. The parser should not + be available directly anymore after getting the associated + information. + + See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter + NAME. for more information. + +$converter->output($tree) + + Convert a Texinfo tree _$tree_ and output the result in files as + described in the Texinfo manual. + +$result = $converter->convert($tree) + + Convert a Texinfo tree _$tree_ and return the resulting output. + +$result = $converter->convert_tree($tree) + + Convert a Texinfo tree portion _$tree_ and return the resulting + output. This function does not try to output a full document but + only portions. For a full document use ‘convert’. + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook AUTHOR, Next: Texinfo::Convert::DocBook COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::DocBook METHODS, Up: Texinfo::Convert::DocBook + +16.6 Texinfo::Convert::DocBook AUTHOR +===================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::DocBook COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::DocBook AUTHOR, Up: Texinfo::Convert::DocBook + +16.7 Texinfo::Convert::DocBook COPYRIGHT AND LICENSE +==================================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup, Next: Texinfo::Convert::TexinfoXML, Prev: Texinfo::Convert::DocBook, Up: Top + +17 Texinfo::Convert::TexinfoMarkup +********************************** + +* Menu: + +* Texinfo::Convert::TexinfoMarkup NAME:: +* Texinfo::Convert::TexinfoMarkup SYNOPSIS:: +* Texinfo::Convert::TexinfoMarkup NOTES:: +* Texinfo::Convert::TexinfoMarkup DESCRIPTION:: +* Texinfo::Convert::TexinfoMarkup METHODS:: +* Texinfo::Convert::TexinfoMarkup AUTHOR:: +* Texinfo::Convert::TexinfoMarkup SEE ALSO:: +* Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup NAME, Next: Texinfo::Convert::TexinfoMarkup SYNOPSIS, Up: Texinfo::Convert::TexinfoMarkup + +17.1 Texinfo::Convert::TexinfoMarkup NAME +========================================= + +Texinfo::Convert::TexinfoMarkup - Convert Texinfo tree to element and +attribute markup + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup SYNOPSIS, Next: Texinfo::Convert::TexinfoMarkup NOTES, Prev: Texinfo::Convert::TexinfoMarkup NAME, Up: Texinfo::Convert::TexinfoMarkup + +17.2 Texinfo::Convert::TexinfoMarkup SYNOPSIS +============================================= + + package Texinfo::Convert::TexinfoMyMarkup; + + use Texinfo::Convert::TexinfoMarkup; + + @ISA = qw(Texinfo::Convert::TexinfoMarkup); + + sub converter_defaults ($$) { + return %myconverter_defaults; + } + + sub txi_markup_protect_text($$) + { + my $self = shift; + .... + } + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup NOTES, Next: Texinfo::Convert::TexinfoMarkup DESCRIPTION, Prev: Texinfo::Convert::TexinfoMarkup SYNOPSIS, Up: Texinfo::Convert::TexinfoMarkup + +17.3 Texinfo::Convert::TexinfoMarkup NOTES +========================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup DESCRIPTION, Next: Texinfo::Convert::TexinfoMarkup METHODS, Prev: Texinfo::Convert::TexinfoMarkup NOTES, Up: Texinfo::Convert::TexinfoMarkup + +17.4 Texinfo::Convert::TexinfoMarkup DESCRIPTION +================================================ + +‘Texinfo::Convert::TexinfoMarkup’ converts a Texinfo tree to the Texinfo +Markup Language which is based on nested elements with attributes, +similar to XML. All the information present in the Texinfo tree, after +expansion of ‘@macro’, ‘@value’ and inclusion of include files is kept. +‘Texinfo::Convert::TexinfoMarkup’ is an abstract class, to be used as a +super class for modules implementing specific markup formatting +functions called by ‘Texinfo::Convert::TexinfoMarkup’. + + The Texinfo Markup Language elements and attributes are not +documented, but the Texinfo XML output by the +‘Texinfo::Convert::TexinfoXML’ subclass (*note +Texinfo::Convert::TexinfoXML: Texinfo::Convert::TexinfoXML NAME.) is a +straightforward formatting as XML, and is described by the texinfo DTD. +Therefore the texinfo DTD can be used as a description of the structure +of both Texinfo XML and of the more abstract Texinfo Markup Language. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup METHODS, Next: Texinfo::Convert::TexinfoMarkup AUTHOR, Prev: Texinfo::Convert::TexinfoMarkup DESCRIPTION, Up: Texinfo::Convert::TexinfoMarkup + +17.5 Texinfo::Convert::TexinfoMarkup METHODS +============================================ + +* Menu: + +* Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses:: +* Texinfo::Convert::TexinfoMarkup Formatting state information:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses, Next: Texinfo::Convert::TexinfoMarkup Formatting state information, Up: Texinfo::Convert::TexinfoMarkup METHODS + +17.5.1 Markup formatting methods defined by subclasses +------------------------------------------------------ + +The following methods should be implemented by the modules inheriting +from ‘Texinfo::Convert::TexinfoMarkup’: + +$result = $converter->txi_markup_atom($atom) + + Format the _$atom_ symbol string in a simpler way than with an + element. For example in XML the formatting of the symbol is + achieved with an entity. + +$result = $converter->txi_markup_comment($comment_string) + + Format _$comment_string_ as a comment. + +$result = $converter->txi_markup_convert_text($element) + + Called to format the Texinfo tree _$element_ text, which is a + reference on a hash. The _$element_ text is in the ‘text’ key. + The ‘type’ key value may also be set to distinguish the type of + text (*note Texinfo::Parser Types for text elements::). Texinfo + tree elements are described in details in *note Texinfo::Parser + TEXINFO TREE::. + +$result = $converter->txi_markup_element($format_element, $attributes) + +$result = $converter->txi_markup_open_element($format_element, $attributes) + +$result = $converter->txi_markup_close_element($format_element, $attributes) + + ‘txi_markup_element’ is called for the formatting of empty + elements. Otherwise, ‘txi_markup_open_element’ is called when an + element is opened, and ‘txi_markup_close_element’ is called when an + element is closed. _$format_element_ is the element name, + _$attributes_ is a reference on an array containing references on + arrays of pairs, one pair for each attribute, with the attribute + name as the first item of the pair and the attribute text as the + second item of the pair. + +$result = $converter->txi_markup_header() + + Called to format a header at the beginning of output files. + +$result = $converter->txi_markup_protect_text($string) + + Protect special character in text for text fragments out of text + texinfo tree elements. For example, for spaces at end of line that + are ignorable in most output formats, for ‘@set’ or ‘@macro’ + arguments. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup Formatting state information, Prev: Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses, Up: Texinfo::Convert::TexinfoMarkup METHODS + +17.5.2 Formatting state information +----------------------------------- + +A method is available for subclasses to gather information on the +formatting state: + +$converter->in_monospace() + + Return 1 if in a context where spacing should be kept and ‘---’ or + ‘''’ left as is, for example in ‘@code’, ‘@example’. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup AUTHOR, Next: Texinfo::Convert::TexinfoMarkup SEE ALSO, Prev: Texinfo::Convert::TexinfoMarkup METHODS, Up: Texinfo::Convert::TexinfoMarkup + +17.6 Texinfo::Convert::TexinfoMarkup AUTHOR +=========================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup SEE ALSO, Next: Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoMarkup AUTHOR, Up: Texinfo::Convert::TexinfoMarkup + +17.7 Texinfo::Convert::TexinfoMarkup SEE ALSO +============================================= + +*note Texinfo::Convert::Converter: Texinfo::Convert::Converter NAME. +*note Texinfo::Convert::TexinfoXML: Texinfo::Convert::TexinfoXML NAME. +The ‘Texinfo::Convert::TexinfoSXML’ is another subclass, which outputs +SXML. It is not much documented. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoMarkup SEE ALSO, Up: Texinfo::Convert::TexinfoMarkup + +17.8 Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE +========================================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML, Next: Texinfo::Convert::Plaintext, Prev: Texinfo::Convert::TexinfoMarkup, Up: Top + +18 Texinfo::Convert::TexinfoXML +******************************* + +* Menu: + +* Texinfo::Convert::TexinfoXML NAME:: +* Texinfo::Convert::TexinfoXML SYNOPSIS:: +* Texinfo::Convert::TexinfoXML NOTES:: +* Texinfo::Convert::TexinfoXML DESCRIPTION:: +* Texinfo::Convert::TexinfoXML METHODS:: +* Texinfo::Convert::TexinfoXML AUTHOR:: +* Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML NAME, Next: Texinfo::Convert::TexinfoXML SYNOPSIS, Up: Texinfo::Convert::TexinfoXML + +18.1 Texinfo::Convert::TexinfoXML NAME +====================================== + +Texinfo::Convert::TexinfoXML - Convert Texinfo tree to TexinfoXML + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML SYNOPSIS, Next: Texinfo::Convert::TexinfoXML NOTES, Prev: Texinfo::Convert::TexinfoXML NAME, Up: Texinfo::Convert::TexinfoXML + +18.2 Texinfo::Convert::TexinfoXML SYNOPSIS +========================================== + + my $converter + = Texinfo::Convert::TexinfoXML->converter({'parser' => $parser}); + + $converter->output($tree); + $converter->convert($tree); + $converter->convert_tree($tree); + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML NOTES, Next: Texinfo::Convert::TexinfoXML DESCRIPTION, Prev: Texinfo::Convert::TexinfoXML SYNOPSIS, Up: Texinfo::Convert::TexinfoXML + +18.3 Texinfo::Convert::TexinfoXML NOTES +======================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML DESCRIPTION, Next: Texinfo::Convert::TexinfoXML METHODS, Prev: Texinfo::Convert::TexinfoXML NOTES, Up: Texinfo::Convert::TexinfoXML + +18.4 Texinfo::Convert::TexinfoXML DESCRIPTION +============================================= + +Texinfo::Convert::TexinfoXML converts a Texinfo tree to TexinfoXML. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML METHODS, Next: Texinfo::Convert::TexinfoXML AUTHOR, Prev: Texinfo::Convert::TexinfoXML DESCRIPTION, Up: Texinfo::Convert::TexinfoXML + +18.5 Texinfo::Convert::TexinfoXML METHODS +========================================= + +$converter = Texinfo::Convert::TexinfoXML->converter($options) + + Initialize converter from Texinfo to TexinfoXML. + + The _$options_ hash reference holds options for the converter. In + this option hash reference a *note parser object: Texinfo::Parser + NAME. may be associated with the _parser_ key. The other options + are Texinfo customization options and a few other options that can + be passed to the converter. Most of the customization options are + described in the Texinfo manual. Those customization options, when + appropriate, override the document content. The parser should not + be available directly anymore after getting the associated + information. + + See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter + NAME. for more information. + +$converter->output($tree) + + Convert a Texinfo tree _$tree_ and output the result in files as + described in the Texinfo manual. + +$result = $converter->convert($tree) + + Convert a Texinfo tree _$tree_ and return the resulting output. + +$result = $converter->convert_tree($tree) + + Convert a Texinfo tree portion _$tree_ and return the resulting + output. This function does not try to output a full document but + only portions. For a full document use ‘convert’. + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML AUTHOR, Next: Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoXML METHODS, Up: Texinfo::Convert::TexinfoXML + +18.6 Texinfo::Convert::TexinfoXML AUTHOR +======================================== + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::TexinfoXML AUTHOR, Up: Texinfo::Convert::TexinfoXML + +18.7 Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE +======================================================= + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext, Next: Index, Prev: Texinfo::Convert::TexinfoXML, Up: Top + +19 Texinfo::Convert::Plaintext +****************************** + +* Menu: + +* Texinfo::Convert::Plaintext NAME:: +* Texinfo::Convert::Plaintext SYNOPSIS:: +* Texinfo::Convert::Plaintext NOTES:: +* Texinfo::Convert::Plaintext DESCRIPTION:: +* Texinfo::Convert::Plaintext METHODS:: +* Texinfo::Convert::Plaintext AUTHOR:: +* Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE:: + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext NAME, Next: Texinfo::Convert::Plaintext SYNOPSIS, Up: Texinfo::Convert::Plaintext + +19.1 Texinfo::Convert::Plaintext NAME +===================================== + +Texinfo::Convert::Plaintext - Convert Texinfo tree to Plaintext + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext SYNOPSIS, Next: Texinfo::Convert::Plaintext NOTES, Prev: Texinfo::Convert::Plaintext NAME, Up: Texinfo::Convert::Plaintext + +19.2 Texinfo::Convert::Plaintext SYNOPSIS +========================================= + + my $converter + = Texinfo::Convert::Plaintext->converter({'parser' => $parser}); + + $converter->output($tree); + $converter->convert($tree); + $converter->convert_tree($tree); + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext NOTES, Next: Texinfo::Convert::Plaintext DESCRIPTION, Prev: Texinfo::Convert::Plaintext SYNOPSIS, Up: Texinfo::Convert::Plaintext + +19.3 Texinfo::Convert::Plaintext NOTES +====================================== + +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. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext DESCRIPTION, Next: Texinfo::Convert::Plaintext METHODS, Prev: Texinfo::Convert::Plaintext NOTES, Up: Texinfo::Convert::Plaintext + +19.4 Texinfo::Convert::Plaintext DESCRIPTION +============================================ + +Texinfo::Convert::Plaintext converts a Texinfo tree to Plaintext. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext METHODS, Next: Texinfo::Convert::Plaintext AUTHOR, Prev: Texinfo::Convert::Plaintext DESCRIPTION, Up: Texinfo::Convert::Plaintext + +19.5 Texinfo::Convert::Plaintext METHODS +======================================== + +$converter = Texinfo::Convert::Plaintext->converter($options) + + Initialize converter from Texinfo to Plaintext. + + The _$options_ hash reference holds options for the converter. In + this option hash reference a *note parser object: Texinfo::Parser + NAME. may be associated with the _parser_ key. The other options + are Texinfo customization options and a few other options that can + be passed to the converter. Most of the customization options are + described in the Texinfo manual. Those customization options, when + appropriate, override the document content. The parser should not + be available directly anymore after getting the associated + information. + + See *note Texinfo::Convert::Converter: Texinfo::Convert::Converter + NAME. for more information. + +$converter->output($tree) + + Convert a Texinfo tree _$tree_ and output the result in files as + described in the Texinfo manual. + +$result = $converter->convert($tree) + + Convert a Texinfo tree _$tree_ and return the resulting output. + +$result = $converter->convert_tree($tree) + + Convert a Texinfo tree portion _$tree_ and return the resulting + output. This function does not try to output a full document but + only portions. For a full document use ‘convert’. + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext AUTHOR, Next: Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Plaintext METHODS, Up: Texinfo::Convert::Plaintext + +19.6 Texinfo::Convert::Plaintext AUTHOR +======================================= + +Patrice Dumas, <pertusus@free.fr> + + +File: texi2any_internals.info, Node: Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE, Prev: Texinfo::Convert::Plaintext AUTHOR, Up: Texinfo::Convert::Plaintext + +19.7 Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE +====================================================== + +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. + + +File: texi2any_internals.info, Node: Index, Prev: Texinfo::Convert::Plaintext, Up: Top + +Appendix A Index +**************** + + +* Menu: + +* %accent_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 13) +* %all_commands: Texinfo::Common @-COMMAND INFORMATION. + (line 13) +* %block_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 18) +* %brace_code_commands: Texinfo::Common @-COMMAND INFORMATION. + (line 17) +* %brace_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 98) +* %commands_args_number: Texinfo::Commands @-COMMAND CLASSES. + (line 83) +* %default_index_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 108) +* %def_aliases: Texinfo::Common @-COMMAND INFORMATION. + (line 24) +* %def_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 104) +* %def_no_var_arg_commands: Texinfo::Common @-COMMAND INFORMATION. + (line 24) +* %explained_commands: Texinfo::Common @-COMMAND INFORMATION. + (line 35) +* %heading_spec_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 113) +* %index_names: Texinfo::Commands @-COMMAND INFORMATION. + (line 10) +* %inline_conditional_commands: Texinfo::Common @-COMMAND INFORMATION. + (line 42) +* %inline_format_commands: Texinfo::Common @-COMMAND INFORMATION. + (line 42) +* %in_heading_spec_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 117) +* %letter_no_arg_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 122) +* %line_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 131) +* %math_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 127) +* %nobrace_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 142) +* %nobrace_symbol_text: Texinfo::Common @-COMMAND INFORMATION. + (line 47) +* %preformatted_code_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 155) +* %preformatted_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 155) +* %ref_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 162) +* %root_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 166) +* %sectioning_heading_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 171) +* %small_block_associated_command: Texinfo::Common @-COMMAND INFORMATION. + (line 53) +* %texinfo_output_formats: Texinfo::Common MISC INFORMATION. + (line 20) +* %variadic_commands: Texinfo::Commands @-COMMAND CLASSES. + (line 175) +* add_heading_number: Texinfo::Convert::Utils METHODS. + (line 61) +* ascii_accent: Texinfo::Convert::Text METHODS. + (line 63) +* ascii_accent_fallback: Texinfo::Convert::Text METHODS. + (line 70) +* associate_internal_references: Texinfo::Structuring METHODS. + (line 18) +* brace_no_arg_command: Texinfo::Convert::Unicode METHODS. + (line 7) +* check_nodes_are_referenced: Texinfo::Structuring METHODS. + (line 29) +* check_unicode_point_conversion: Texinfo::Convert::Unicode METHODS. + (line 14) +* collect_commands_in_tree: Texinfo::Common METHODS. + (line 43) +* collect_commands_list_in_tree: Texinfo::Common METHODS. + (line 50) +* comma_index_subentries_tree: Texinfo::Convert::Converter Helper methods. + (line 16) +* complete_node_tree_with_menus: Texinfo::Structuring METHODS. + (line 37) +* complete_tree_nodes_menus: Texinfo::Transformations METHODS. + (line 9) +* complete_tree_nodes_missing_menu: Texinfo::Transformations METHODS. + (line 19) +* convert: Texinfo::Convert::Converter DESCRIPTION. + (line 14) +* converter: Texinfo::Convert::Converter Initialization. + (line 6) +* converter_defaults: Texinfo::Convert::Converter Initialization. + (line 37) +* converter_initialize: Texinfo::Convert::Converter Initialization. + (line 43) +* convert_accents: Texinfo::Convert::Converter Helper methods. + (line 23) +* convert_document_sections: Texinfo::Convert::Converter Helper methods. + (line 30) +* convert_to_normalized: Texinfo::Convert::NodeNameNormalization METHODS. + (line 7) +* convert_to_texinfo: Texinfo::Convert::Texinfo METHODS. + (line 7) +* convert_to_text: Texinfo::Convert::Text METHODS. + (line 7) +* convert_tree: Texinfo::Convert::Converter DESCRIPTION. + (line 14) +* create_destination_directory: Texinfo::Convert::Converter Helper methods. + (line 37) +* definition_arguments_content: Texinfo::Convert::Utils METHODS. + (line 15) +* definition_category_tree: Texinfo::Convert::Utils METHODS. + (line 24) +* determine_files_and_directory: Texinfo::Convert::Converter Helper methods. + (line 45) +* document_error: Texinfo::Report METHODS. + (line 77) +* document_warn: Texinfo::Report METHODS. + (line 77) +* elements_directions: Texinfo::Structuring METHODS. + (line 43) +* elements_file_directions: Texinfo::Structuring METHODS. + (line 101) +* element_is_inline: Texinfo::Common METHODS. + (line 57) +* encoded_accents: Texinfo::Convert::Unicode METHODS. + (line 24) +* encoded_input_file_name: Texinfo::Convert::Converter Helper methods. + (line 73) +* encoded_output_file_name: Texinfo::Convert::Utils METHODS. + (line 32) +* encoded_output_file_name <1>: Texinfo::Convert::Converter Helper methods. + (line 73) +* enumerate_item_representation: Texinfo::Common METHODS. + (line 72) +* errors: Texinfo::Report METHODS. + (line 25) +* expand_today: Texinfo::Convert::Utils METHODS. + (line 41) +* expand_verbatiminclude: Texinfo::Convert::Utils METHODS. + (line 45) +* fill_gaps_in_sectioning: Texinfo::Transformations METHODS. + (line 29) +* find_innermost_accent_contents: Texinfo::Convert::Utils METHODS. + (line 53) +* find_parent_root_command: Texinfo::Common METHODS. + (line 82) +* floats_information: Texinfo::Parser Getting information on the document. + (line 67) +* float_name_caption: Texinfo::Convert::Converter Helper methods. + (line 89) +* float_type_number: Texinfo::Convert::Converter Helper methods. + (line 96) +* force_conf: Texinfo::Convert::Converter Getting and setting customization variables. + (line 13) +* format_comment_or_return_end_line: Texinfo::Convert::Converter Helper methods. + (line 102) +* gdt: Texinfo::Translations METHODS. + (line 12) +* get_conf: Texinfo::Convert::Converter Getting and setting customization variables. + (line 20) +* get_node_node_childs_from_sectioning: Texinfo::Structuring METHODS. + (line 115) +* global_commands_information: Texinfo::Parser Getting information on the document. + (line 42) +* global_information: Texinfo::Parser Getting information on the document. + (line 12) +* index_entry_sort_string: Texinfo::Structuring METHODS. + (line 122) +* indices_information: Texinfo::Parser Getting information on the document. + (line 85) +* insert_nodes_for_sectioning_commands: Texinfo::Transformations METHODS. + (line 43) +* internal_references_information: Texinfo::Parser Getting information on the document. + (line 77) +* is_content_empty: Texinfo::Common METHODS. + (line 89) +* labels_information: Texinfo::Parser Getting information on the document. + (line 55) +* line_error: Texinfo::Report METHODS. + (line 60) +* line_warn: Texinfo::Report METHODS. + (line 60) +* locate_include_file: Texinfo::Common METHODS. + (line 95) +* menu_to_simple_menu: Texinfo::Transformations METHODS. + (line 55) +* merge_indices: Texinfo::Structuring METHODS. + (line 134) +* move_index_entries_after_items_in_tree: Texinfo::Common METHODS. + (line 105) +* new_block_command: Texinfo::Structuring METHODS. + (line 145) +* new_complete_node_menu: Texinfo::Structuring METHODS. + (line 151) +* new_master_menu: Texinfo::Transformations METHODS. + (line 65) +* new_node_menu_entry: Texinfo::Structuring METHODS. + (line 157) +* nodes_tree: Texinfo::Structuring METHODS. + (line 164) +* node_information_filename: Texinfo::Convert::Converter Helper methods. + (line 110) +* normalized_sectioning_command_filename: Texinfo::Convert::Converter Helper methods. + (line 115) +* normalize_node: Texinfo::Convert::NodeNameNormalization METHODS. + (line 14) +* normalize_top_node_name: Texinfo::Common METHODS. + (line 111) +* number_floats: Texinfo::Structuring METHODS. + (line 179) +* output: Texinfo::Convert::Converter DESCRIPTION. + (line 14) +* output_internal_links: Texinfo::Convert::Converter Helper methods. + (line 181) +* output_internal_links <1>: Texinfo::Convert::HTML METHODS. + (line 39) +* Parser initialization: Texinfo::Parser Initialization. + (line 10) +* parse_texi_file: Texinfo::Parser Parsing Texinfo text. + (line 44) +* parse_texi_line: Texinfo::Parser Parsing Texinfo text. + (line 20) +* parse_texi_piece: Texinfo::Parser Parsing Texinfo text. + (line 28) +* parse_texi_text: Texinfo::Parser Parsing Texinfo text. + (line 36) +* present_bug_message: Texinfo::Convert::Converter Helper methods. + (line 124) +* protect_colon_in_tree: Texinfo::Common METHODS. + (line 118) +* protect_comma_in_tree: Texinfo::Common METHODS. + (line 125) +* protect_first_parenthesis: Texinfo::Common METHODS. + (line 129) +* protect_hashchar_at_line_beginning: Texinfo::Transformations METHODS. + (line 72) +* protect_node_after_label_in_tree: Texinfo::Common METHODS. + (line 118) +* reference_to_arg_in_tree: Texinfo::Transformations METHODS. + (line 86) +* regenerate_master_menu: Texinfo::Transformations METHODS. + (line 94) +* registered_errors: Texinfo::Parser Parsing Texinfo text. + (line 59) +* relate_index_entries_to_table_entries_in_tree: Texinfo::Common METHODS. + (line 135) +* sectioning_structure: Texinfo::Structuring METHODS. + (line 190) +* section_level: Texinfo::Common METHODS. + (line 141) +* section_level_adjusted_command_name: Texinfo::Structuring METHODS. + (line 184) +* setup_index_entry_keys_formatting: Texinfo::Structuring METHODS. + (line 252) +* set_conf: Texinfo::Convert::Converter Getting and setting customization variables. + (line 25) +* set_global_document_command: Texinfo::Common METHODS. + (line 146) +* set_global_document_commands: Texinfo::Convert::Converter Helper methods. + (line 129) +* set_informative_command_value: Texinfo::Common METHODS. + (line 179) +* set_menus_node_directions: Texinfo::Structuring METHODS. + (line 232) +* set_menus_to_simple_menu: Texinfo::Transformations METHODS. + (line 55) +* set_output_encodings: Texinfo::Common METHODS. + (line 186) +* sort_indices: Texinfo::Structuring METHODS. + (line 257) +* split_by_node: Texinfo::Structuring METHODS. + (line 277) +* split_by_section: Texinfo::Structuring METHODS. + (line 300) +* split_custom_heading_command_contents: Texinfo::Common METHODS. + (line 194) +* split_pages: Texinfo::Structuring METHODS. + (line 310) +* string_width: Texinfo::Convert::Unicode METHODS. + (line 49) +* table_item_content_tree: Texinfo::Convert::Converter Helper methods. + (line 166) +* Texinfo tree element extra key: Texinfo::Parser Information available in the extra key. + (line 5) +* Texinfo tree element structure: Texinfo::Parser Element keys. + (line 6) +* Texinfo tree elements: Texinfo::Parser TEXINFO TREE. + (line 6) +* Texinfo::Convert::Converter initialization: Texinfo::Convert::Converter Initialization. + (line 6) +* Texinfo::Parser::parser: Texinfo::Parser Initialization. + (line 10) +* Texinfo::Report::new: Texinfo::Report METHODS. + (line 15) +* text_accents: Texinfo::Convert::Text METHODS. + (line 77) +* top_node_filename: Texinfo::Convert::Converter Helper methods. + (line 173) +* transliterate_protect_file_name: Texinfo::Convert::NodeNameNormalization METHODS. + (line 31) +* transliterate_texinfo: Texinfo::Convert::NodeNameNormalization METHODS. + (line 23) +* trim_spaces_comment_from_content: Texinfo::Common METHODS. + (line 203) +* unicode_accent: Texinfo::Convert::Unicode METHODS. + (line 55) +* unicode_point_decoded_in_encoding: Texinfo::Convert::Unicode METHODS. + (line 62) +* unicode_text: Texinfo::Convert::Unicode METHODS. + (line 74) +* valid_option: Texinfo::Common METHODS. + (line 208) +* valid_tree_transformation: Texinfo::Common METHODS. + (line 212) +* warn_non_empty_parts: Texinfo::Structuring METHODS. + (line 335) +* xml_accent: Texinfo::Convert::Converter Conversion to XML. + (line 24) +* xml_accents: Texinfo::Convert::Converter Conversion to XML. + (line 36) +* xml_comment: Texinfo::Convert::Converter Conversion to XML. + (line 20) +* xml_format_text_with_numeric_entities: Texinfo::Convert::Converter Conversion to XML. + (line 11) +* xml_numeric_entity_accent: Texinfo::Convert::Converter Conversion to XML. + (line 42) +* xml_protect_text: Texinfo::Convert::Converter Conversion to XML. + (line 16) + + + +Tag Table: +Node: Top300 +Node: Texinfo::Commands8156 +Node: Texinfo::Commands NAME8620 +Node: Texinfo::Commands SYNOPSIS8846 +Node: Texinfo::Commands NOTES9205 +Node: Texinfo::Commands DESCRIPTION9570 +Node: Texinfo::Commands @-COMMAND INFORMATION9926 +Ref: Texinfo::Commands %index_names10274 +Node: Texinfo::Commands @-COMMAND CLASSES10419 +Ref: Texinfo::Commands %accent_commands10858 +Ref: Texinfo::Commands %block_commands11007 +Ref: Texinfo::Commands _conditional_11105 +Ref: Texinfo::Commands _def_11149 +Ref: Texinfo::Commands _float_11213 +Ref: Texinfo::Commands _format_raw_11257 +Ref: Texinfo::Commands _item_container_11354 +Ref: Texinfo::Commands _item_line_11480 +Ref: Texinfo::Commands _menu_11591 +Ref: Texinfo::Commands _math_11684 +Ref: Texinfo::Commands _multitable_11760 +Ref: Texinfo::Commands _other_11804 +Ref: Texinfo::Commands _preformatted_11866 +Ref: Texinfo::Commands _quotation_11989 +Ref: Texinfo::Commands _raw_12044 +Ref: Texinfo::Commands _region_12195 +Ref: Texinfo::Commands %commands_args_number12374 +Ref: Texinfo::Commands %brace_commands13100 +Ref: Texinfo::Commands %def_commands13337 +Ref: Texinfo::Commands %default_index_commands13389 +Ref: Texinfo::Commands %heading_spec_commands13507 +Ref: Texinfo::Commands %in_heading_spec_commands13610 +Ref: Texinfo::Commands %letter_no_arg_commands13743 +Ref: Texinfo::Commands %math_commands13882 +Ref: Texinfo::Commands %line_commands13976 +Ref: Texinfo::Commands %nobrace_commands14433 +Ref: Texinfo::Commands %preformatted_commands14919 +Ref: Texinfo::Commands %preformatted_code_commands14948 +Ref: Texinfo::Commands %ref_commands15201 +Ref: Texinfo::Commands %root_commands15286 +Ref: Texinfo::Commands %sectioning_heading_commands15469 +Ref: Texinfo::Commands %variadic_commands15536 +Node: Texinfo::Commands SEE ALSO15599 +Node: Texinfo::Commands AUTHOR15926 +Node: Texinfo::Commands COPYRIGHT AND LICENSE16193 +Node: Texinfo::Common16758 +Node: Texinfo::Common NAME17239 +Node: Texinfo::Common SYNOPSIS17480 +Node: Texinfo::Common NOTES17908 +Node: Texinfo::Common DESCRIPTION18261 +Node: Texinfo::Common MISC INFORMATION18639 +Ref: Texinfo::Common %texinfo_output_formats19376 +Node: Texinfo::Common @-COMMAND INFORMATION19558 +Ref: Texinfo::Common %all_commands19992 +Ref: Texinfo::Common %brace_code_commands20040 +Ref: Texinfo::Common %def_aliases20138 +Ref: Texinfo::Common %def_no_var_arg_commands20164 +Ref: Texinfo::Common %explained_commands20682 +Ref: Texinfo::Common %inline_conditional_commands20865 +Ref: Texinfo::Common %inline_format_commands20890 +Ref: Texinfo::Common %nobrace_symbol_text21048 +Ref: Texinfo::Common %small_block_associated_command21252 +Node: Texinfo::Common METHODS21350 +Ref: Texinfo::Common $translated_string = __($msgid)22169 +Ref: Texinfo::Common $translated_string = __p($msgctxt, $msgid)22213 +Ref: Texinfo::Common collect_commands_in_tree($tree, $commands_list)23486 +Ref: Texinfo::Common collect_commands_list_in_tree($tree, $commands_list)23772 +Ref: Texinfo::Common $result = element_is_inline($element, $check_current)24059 +Ref: Texinfo::Common ($encoded_file_name, $encoding) = encode_file_name($file_name, $input_encoding)24342 +Ref: Texinfo::Common $text = enumerate_item_representation($specification, $number)24813 +Ref: Texinfo::Common $command = find_parent_root_command($object, $tree_element)25143 +Ref: Texinfo::Common $result = is_content_empty($tree, $do_not_ignore_index_entries)25448 +Ref: Texinfo::Common $file = locate_include_file($customization_information, file_path)25695 +Ref: Texinfo::Common move_index_entries_after_items_in_tree($tree)26226 +Ref: Texinfo::Common $normalized_name = normalize_top_node_name($node_string)26482 +Ref: Texinfo::Common protect_colon_in_tree($tree)26603 +Ref: Texinfo::Common protect_node_after_label_in_tree($tree)26644 +Ref: Texinfo::Common protect_comma_in_tree($tree)26961 +Ref: Texinfo::Common $contents_result = protect_first_parenthesis($contents)27091 +Ref: Texinfo::Common relate_index_entries_to_table_entries_in_tree($tree)27334 +Ref: Texinfo::Common $level = section_level($section)27578 +Ref: Texinfo::Common $element = set_global_document_command($customization_information, $global_commands_information, $cmdname, $command_location)27817 +Ref: Texinfo::Common last28374 +Ref: Texinfo::Common preamble28439 +Ref: Texinfo::Common preamble_or_first28530 +Ref: Texinfo::Common set_informative_command_value($customization_information, $element)29145 +Ref: Texinfo::Common set_output_encodings($customization_information, $parser_information)29498 +Ref: Texinfo::Common $split_contents = split_custom_heading_command_contents($contents)29915 +Ref: Texinfo::Common trim_spaces_comment_from_content($contents)30303 +Ref: Texinfo::Common valid_customization_option($name)30470 +Ref: Texinfo::Common valid_tree_transformation($name)30570 +Node: Texinfo::Common SEE ALSO30722 +Node: Texinfo::Common AUTHOR31102 +Node: Texinfo::Common COPYRIGHT AND LICENSE31357 +Node: Texinfo::Parser31914 +Node: Texinfo::Parser NAME32352 +Node: Texinfo::Parser SYNOPSIS32575 +Node: Texinfo::Parser NOTES33943 +Node: Texinfo::Parser DESCRIPTION34296 +Node: Texinfo::Parser METHODS34927 +Node: Texinfo::Parser Initialization35490 +Ref: Texinfo::Parser $parser = Texinfo::Parser::parser($options);35804 +Ref: Texinfo::Parser CPP_LINE_DIRECTIVES36030 +Ref: Texinfo::Parser EXPANDED_FORMATS36146 +Ref: Texinfo::Parser FORMAT_MENU36322 +Ref: Texinfo::Parser INCLUDE_DIRECTORIES36485 +Ref: Texinfo::Parser IGNORE_SPACE_AFTER_BRACED_COMMAND_NAME36699 +Ref: Texinfo::Parser MAX_MACRO_CALL_NESTING36831 +Ref: Texinfo::Parser documentlanguage36946 +Ref: Texinfo::Parser registrar37147 +Ref: Texinfo::Parser values37276 +Node: Texinfo::Parser Parsing Texinfo text37405 +Ref: Texinfo::Parser $tree = parse_texi_line($parser, $text, $first_line_number)38363 +Ref: Texinfo::Parser $tree = parse_texi_piece($parser, $text, $first_line_number)38647 +Ref: Texinfo::Parser $tree = parse_texi_text($parser, $text, $first_line_number)38926 +Ref: Texinfo::Parser $tree = parse_texi_file($parser, $file_name)39199 +Ref: Texinfo::Parser $registrar = registered_errors($parser)39866 +Node: Texinfo::Parser Getting information on the document40152 +Ref: Texinfo::Parser $info = global_information($parser)40620 +Ref: Texinfo::Parser dircategory_direntry40718 +Ref: Texinfo::Parser input_encoding_name40859 +Ref: Texinfo::Parser input_perl_encoding40885 +Ref: Texinfo::Parser input_file_name41092 +Ref: Texinfo::Parser input_directory41114 +Ref: Texinfo::Parser $commands = global_commands_information($parser)41647 +Ref: Texinfo::Parser $labels_information, $targets_list, $nodes_list = labels_information($parser)42277 +Ref: Texinfo::Parser $float_types = floats_information($parser)42851 +Ref: Texinfo::Parser $internal_references_array = internal_references_information($parser);43335 +Ref: Texinfo::Parser indices_information43591 +Ref: Texinfo::Parser in_code43715 +Ref: Texinfo::Parser name43823 +Ref: Texinfo::Parser prefix43863 +Ref: Texinfo::Parser merged_in43944 +Ref: Texinfo::Parser contained_indices44158 +Ref: Texinfo::Parser index_entries44432 +Ref: Texinfo::Parser index_name44801 +Ref: Texinfo::Parser index_at_command44861 +Ref: Texinfo::Parser index_ignore_chars44981 +Ref: Texinfo::Parser entry_content45256 +Ref: Texinfo::Parser content_normalized45378 +Ref: Texinfo::Parser entry_element45532 +Ref: Texinfo::Parser entry_node45671 +Ref: Texinfo::Parser entry_number45767 +Ref: Texinfo::Parser entry_region45838 +Node: Texinfo::Parser TEXINFO TREE46549 +Node: Texinfo::Parser Element keys48553 +Ref: Texinfo::Parser cmdname48743 +Ref: Texinfo::Parser text48795 +Ref: Texinfo::Parser type48843 +Ref: Texinfo::Parser args49434 +Ref: Texinfo::Parser contents49552 +Ref: Texinfo::Parser parent49706 +Ref: Texinfo::Parser source_info49745 +Ref: Texinfo::Parser line_nr50152 +Ref: Texinfo::Parser file_name50213 +Ref: Texinfo::Parser macro50276 +Ref: Texinfo::Parser extra50346 +Node: Texinfo::Parser Element types50524 +Node: Texinfo::Parser Types for command elements50964 +Ref: Texinfo::Parser command_as_argument51435 +Ref: Texinfo::Parser def_line51986 +Ref: Texinfo::Parser definfoenclose_command52263 +Ref: Texinfo::Parser following_arg52461 +Ref: Texinfo::Parser index_entry_command52636 +Node: Texinfo::Parser Types for text elements52956 +Ref: Texinfo::Parser after_menu_description_line53343 +Ref: Texinfo::Parser space_at_end_menu_node53367 +Ref: Texinfo::Parser empty_line53506 +Ref: Texinfo::Parser ignorable_spaces_after_command53608 +Ref: Texinfo::Parser spaces_after_close_brace53876 +Ref: Texinfo::Parser spaces_before_paragraph54061 +Ref: Texinfo::Parser misc_arg54123 +Ref: Texinfo::Parser raw54388 +Ref: Texinfo::Parser spaces_at_end54521 +Ref: Texinfo::Parser text_before_beginning54717 +Ref: Texinfo::Parser untranslated54818 +Node: Texinfo::Parser Tree container elements55016 +Ref: Texinfo::Parser before_node_section55478 +Ref: Texinfo::Parser document_root55590 +Ref: Texinfo::Parser root_line55601 +Ref: Texinfo::Parser preamble_before_beginning55963 +Ref: Texinfo::Parser preamble_before_setfilename56142 +Ref: Texinfo::Parser preamble_before_content56245 +Node: Texinfo::Parser Types of container elements56402 +Ref: Texinfo::Parser before_item57272 +Ref: Texinfo::Parser brace_command_arg57442 +Ref: Texinfo::Parser brace_command_context57465 +Ref: Texinfo::Parser line_arg57475 +Ref: Texinfo::Parser block_line_arg57491 +Ref: Texinfo::Parser bracketed58377 +Ref: Texinfo::Parser bracketed_def_content58515 +Ref: Texinfo::Parser bracketed_multitable_prototype58602 +Ref: Texinfo::Parser row_prototype58617 +Ref: Texinfo::Parser def_aggregate58779 +Ref: Texinfo::Parser def_line 158875 +Ref: Texinfo::Parser def_item58885 +Ref: Texinfo::Parser inter_def_item58901 +Ref: Texinfo::Parser macro_name59314 +Ref: Texinfo::Parser macro_arg59325 +Ref: Texinfo::Parser menu_comment59611 +Ref: Texinfo::Parser menu_entry59943 +Ref: Texinfo::Parser menu_entry_leading_text59968 +Ref: Texinfo::Parser menu_entry_name59985 +Ref: Texinfo::Parser menu_entry_separator60007 +Ref: Texinfo::Parser menu_entry_node60024 +Ref: Texinfo::Parser menu_entry_description60048 +Ref: Texinfo::Parser multitable_head60636 +Ref: Texinfo::Parser multitable_body60653 +Ref: Texinfo::Parser row60658 +Ref: Texinfo::Parser paragraph60931 +Ref: Texinfo::Parser preformatted61283 +Ref: Texinfo::Parser rawpreformatted61481 +Ref: Texinfo::Parser table_entry61593 +Ref: Texinfo::Parser table_term61605 +Ref: Texinfo::Parser table_item61617 +Ref: Texinfo::Parser inter_item61629 +Node: Texinfo::Parser Information available in the extra key62277 +Node: Texinfo::Parser Extra keys available for more than one @-command62700 +Ref: Texinfo::Parser arg_line63071 +Ref: Texinfo::Parser index_entry63239 +Ref: Texinfo::Parser misc_args63437 +Ref: Texinfo::Parser missing_argument63781 +Ref: Texinfo::Parser spaces63863 +Ref: Texinfo::Parser spaces_after_argument64074 +Ref: Texinfo::Parser spaces_before_argument64530 +Ref: Texinfo::Parser text_arg65058 +Node: Texinfo::Parser Extra keys specific of certain @-commands or containers65258 +Ref: Texinfo::Parser @abbr65646 +Ref: Texinfo::Parser @acronym65662 +Ref: Texinfo::Parser @anchor65733 +Ref: Texinfo::Parser @float65747 +Ref: Texinfo::Parser @author66172 +Ref: Texinfo::Parser @click66522 +Ref: Texinfo::Parser definition command66605 +Ref: Texinfo::Parser def_line 266901 +Ref: Texinfo::Parser @definfoenclose defined commands67562 +Ref: Texinfo::Parser @documentencoding67717 +Ref: Texinfo::Parser @enumerate67892 +Ref: Texinfo::Parser @float 167996 +Ref: Texinfo::Parser @listoffloats68017 +Ref: Texinfo::Parser @ifclear68478 +Ref: Texinfo::Parser @ifset68492 +Ref: Texinfo::Parser @inlinefmt68548 +Ref: Texinfo::Parser @inlineraw68566 +Ref: Texinfo::Parser @inlinefmtifelse68590 +Ref: Texinfo::Parser @inlineifclear68612 +Ref: Texinfo::Parser @inlineifset68632 +Ref: Texinfo::Parser @item in @enumerate or @itemize69041 +Ref: Texinfo::Parser @item and @tab in @multitable69161 +Ref: Texinfo::Parser @itemize69259 +Ref: Texinfo::Parser @table69273 +Ref: Texinfo::Parser @vtable69288 +Ref: Texinfo::Parser @ftable69303 +Ref: Texinfo::Parser @kbd69699 +Ref: Texinfo::Parser @macro69784 +Ref: Texinfo::Parser menu_entry 169931 +Ref: Texinfo::Parser @multitable70273 +Ref: Texinfo::Parser @node70607 +Ref: Texinfo::Parser paragraph 171510 +Ref: Texinfo::Parser @part71646 +Ref: Texinfo::Parser @ref71886 +Ref: Texinfo::Parser @xref71899 +Ref: Texinfo::Parser @pxref71913 +Ref: Texinfo::Parser @inforef71929 +Ref: Texinfo::Parser row 172073 +Ref: Texinfo::Parser sectioning command72184 +Ref: Texinfo::Parser @value72469 +Ref: Texinfo::Parser @verb72676 +Node: Texinfo::Parser SEE ALSO72716 +Node: Texinfo::Parser AUTHOR73002 +Node: Texinfo::Parser COPYRIGHT AND LICENSE73257 +Node: Texinfo::Structuring73812 +Node: Texinfo::Structuring NAME74267 +Node: Texinfo::Structuring SYNOPSIS74520 +Node: Texinfo::Structuring NOTES76763 +Node: Texinfo::Structuring DESCRIPTION77146 +Node: Texinfo::Structuring METHODS79082 +Ref: Texinfo::Structuring associate_internal_references($registrar, $customization_information, $parser_information, $labels, $refs)80019 +Ref: Texinfo::Structuring check_nodes_are_referenced($registrar, $customization_information, $nodes_list, $top_node, $labels, $refs)80679 +Ref: Texinfo::Structuring complete_node_tree_with_menus($registrar, $customization_information, $nodes_list, $top_node)81017 +Ref: Texinfo::Structuring elements_directions($customization_information, $labels, $tree_units)81259 +Ref: Texinfo::Structuring This81566 +Ref: Texinfo::Structuring Forward81611 +Ref: Texinfo::Structuring Back81647 +Ref: Texinfo::Structuring NodeForward81694 +Ref: Texinfo::Structuring NodeBack81842 +Ref: Texinfo::Structuring NodeUp81890 +Ref: Texinfo::Structuring NodeNext81905 +Ref: Texinfo::Structuring NodePrev81920 +Ref: Texinfo::Structuring Up81981 +Ref: Texinfo::Structuring Next81992 +Ref: Texinfo::Structuring Prev82003 +Ref: Texinfo::Structuring FastBack82073 +Ref: Texinfo::Structuring FastForward82389 +Ref: Texinfo::Structuring elements_file_directions($tree_units)82475 +Ref: Texinfo::Structuring @nodes_list = get_node_node_childs_from_sectioning($node)83044 +Ref: Texinfo::Structuring $entry_key = index_entry_sort_string($main_entry, $entry_tree_element, $sortas, $options)83367 +Ref: Texinfo::Structuring $merged_entries = merge_indices($index_names)84052 +Ref: Texinfo::Structuring $new_block = new_block_command($content, $parent, $command_name)84576 +Ref: Texinfo::Structuring $new_menu = new_complete_node_menu($node, $use_sections)84785 +Ref: Texinfo::Structuring $entry = new_node_menu_entry($node, $use_sections)85048 +Ref: Texinfo::Structuring $top_node = nodes_tree($registrar, $customization_information, $parser_information, $nodes_list, $labels)85387 +Ref: Texinfo::Structuring node_up85576 +Ref: Texinfo::Structuring node_prev85592 +Ref: Texinfo::Structuring node_next85608 +Ref: Texinfo::Structuring number_floats($float_information)85701 +Ref: Texinfo::Structuring $command_name = section_level_adjusted_command_name($element)85908 +Ref: Texinfo::Structuring $sections_root, $sections_list = sectioning_structure($registrar, $customization_information, $tree)86194 +Ref: Texinfo::Structuring section_level86567 +Ref: Texinfo::Structuring section_number86816 +Ref: Texinfo::Structuring section_childs86879 +Ref: Texinfo::Structuring section_up86969 +Ref: Texinfo::Structuring section_prev86988 +Ref: Texinfo::Structuring section_next87007 +Ref: Texinfo::Structuring toplevel_next87085 +Ref: Texinfo::Structuring toplevel_prev87105 +Ref: Texinfo::Structuring toplevel_up87123 +Ref: Texinfo::Structuring set_menus_node_directions($registrar, $customization_information, $parser_information, $global_commands, $nodes_list, $labels);87462 +Ref: Texinfo::Structuring menu_child87646 +Ref: Texinfo::Structuring menu_up87712 +Ref: Texinfo::Structuring menu_next87728 +Ref: Texinfo::Structuring menu_prev87744 +Ref: Texinfo::Structuring $option = setup_index_entry_keys_formatting($customization_information)87878 +Ref: Texinfo::Structuring ($index_entries_sorted, $index_entries_sort_strings) = sort_indices($registrar, $customization_information, $merged_index_entries, $sort_by_letter)88120 +Ref: Texinfo::Structuring $tree_units = split_by_node($tree)88931 +Ref: Texinfo::Structuring unit_command89754 +Ref: Texinfo::Structuring $tree_units = split_by_section($tree)89850 +Ref: Texinfo::Structuring $pages = split_pages($tree_units, $split)90243 +Ref: Texinfo::Structuring chapter90515 +Ref: Texinfo::Structuring node90624 +Ref: Texinfo::Structuring section90680 +Ref: Texinfo::Structuring value evaluating to false90786 +Ref: Texinfo::Structuring warn_non_empty_parts($registrar, $customization_information, $global_commands)90956 +Node: Texinfo::Structuring SEE ALSO91162 +Node: Texinfo::Structuring AUTHOR91513 +Node: Texinfo::Structuring COPYRIGHT AND LICENSE91798 +Node: Texinfo::Report92378 +Node: Texinfo::Report NAME92760 +Node: Texinfo::Report SYNOPSIS92981 +Node: Texinfo::Report NOTES93580 +Node: Texinfo::Report DESCRIPTION93933 +Node: Texinfo::Report METHODS94730 +Ref: Texinfo::Report my $registrar = Texinfo::Report::new()95225 +Ref: Texinfo::Report $converter->Texinfo::Report::new()95261 +Ref: Texinfo::Report ($error_warnings_list, $error_count) = errors($registrar)95693 +Ref: Texinfo::Report type95963 +Ref: Texinfo::Report text96023 +Ref: Texinfo::Report error_line96074 +Ref: Texinfo::Report line_nr96200 +Ref: Texinfo::Report file_name96268 +Ref: Texinfo::Report macro96340 +Ref: Texinfo::Report $registrar->line_warn($text, $configuration_information, $error_location_info)96519 +Ref: Texinfo::Report $registrar->line_error($text, $configuration_information, $error_location_info)96600 +Ref: Texinfo::Report $registrar->document_warn($configuration_information, $text)97413 +Ref: Texinfo::Report $registrar->document_error($configuration_information, $text)97476 +Node: Texinfo::Report AUTHOR97690 +Node: Texinfo::Report COPYRIGHT AND LICENSE97944 +Node: Texinfo::Translations98499 +Node: Texinfo::Translations NAME98939 +Node: Texinfo::Translations SYNOPSIS99223 +Node: Texinfo::Translations NOTES99696 +Node: Texinfo::Translations DESCRIPTION100085 +Node: Texinfo::Translations METHODS100715 +Ref: Texinfo::Translations $tree = $object->gdt($string, $replaced_substrings, $mode, $lang)101184 +Ref: Texinfo::Translations translated_text102936 +Node: Texinfo::Translations AUTHOR103156 +Node: Texinfo::Translations COPYRIGHT AND LICENSE103446 +Node: Texinfo::Transformations104031 +Node: Texinfo::Transformations NAME104508 +Node: Texinfo::Transformations NOTES104783 +Node: Texinfo::Transformations DESCRIPTION105186 +Node: Texinfo::Transformations METHODS105831 +Ref: Texinfo::Transformations complete_tree_nodes_menus($tree, $add_section_names_in_entries)106206 +Ref: Texinfo::Transformations complete_tree_nodes_missing_menu($tree, $use_section_names_in_entries)106724 +Ref: Texinfo::Transformations ($root_content, $added_sections) = fill_gaps_in_sectioning($tree)107238 +Ref: Texinfo::Transformations ($root_content, $added_nodes) = insert_nodes_for_sectioning_commands($tree, $nodes_list, $targets_list, $labels)107997 +Ref: Texinfo::Transformations menu_to_simple_menu($menu)108380 +Ref: Texinfo::Transformations set_menus_to_simple_menu($nodes_list)108419 +Ref: Texinfo::Transformations $detailmenu = new_master_menu($translations, $labels)108864 +Ref: Texinfo::Transformations protect_hashchar_at_line_beginning($registrar, $customization_information, $tree)109185 +Ref: Texinfo::Transformations $modified_tree = reference_to_arg_in_tree($tree)109978 +Ref: Texinfo::Transformations regenerate_master_menu($translations, $labels)110382 +Node: Texinfo::Transformations SEE ALSO110696 +Node: Texinfo::Transformations AUTHOR111071 +Node: Texinfo::Transformations COPYRIGHT AND LICENSE111380 +Node: Texinfo::Convert::Texinfo111980 +Node: Texinfo::Convert::Texinfo NAME112468 +Node: Texinfo::Convert::Texinfo SYNOPSIS112754 +Node: Texinfo::Convert::Texinfo NOTES113128 +Node: Texinfo::Convert::Texinfo DESCRIPTION113541 +Node: Texinfo::Convert::Texinfo METHODS114200 +Ref: Texinfo::Convert::Texinfo $texinfo_text = convert_to_texinfo($tree)114513 +Node: Texinfo::Convert::Texinfo AUTHOR114571 +Node: Texinfo::Convert::Texinfo COPYRIGHT AND LICENSE114885 +Node: Texinfo::Convert::Utils115490 +Node: Texinfo::Convert::Utils NAME115998 +Node: Texinfo::Convert::Utils SYNOPSIS116282 +Node: Texinfo::Convert::Utils NOTES116751 +Node: Texinfo::Convert::Utils DESCRIPTION117152 +Node: Texinfo::Convert::Utils METHODS117655 +Ref: Texinfo::Convert::Utils $arguments = definition_arguments_content($element)118361 +Ref: Texinfo::Convert::Utils $tree = definition_category_tree($converter, $def_line)118799 +Ref: Texinfo::Convert::Utils ($encoded_name, $encoding) = $converter->encoded_output_file_name($converter, $character_string_name)119237 +Ref: Texinfo::Convert::Utils $tree = expand_today($converter)119672 +Ref: Texinfo::Convert::Utils $tree = expand_verbatiminclude($registrar, $customization_information, $verbatiminclude)119828 +Ref: Texinfo::Convert::Utils (\@contents, \@accent_commands) = find_innermost_accent_contents($element)120204 +Ref: Texinfo::Convert::Utils $result = add_heading_number($converter, $heading_element, $heading_text, $do_number)120602 +Node: Texinfo::Convert::Utils SEE ALSO121060 +Node: Texinfo::Convert::Utils AUTHOR121453 +Node: Texinfo::Convert::Utils COPYRIGHT AND LICENSE121756 +Node: Texinfo::Convert::Unicode122351 +Node: Texinfo::Convert::Unicode NAME122856 +Node: Texinfo::Convert::Unicode SYNOPSIS123142 +Node: Texinfo::Convert::Unicode NOTES123893 +Node: Texinfo::Convert::Unicode DESCRIPTION124308 +Node: Texinfo::Convert::Unicode METHODS125110 +Ref: Texinfo::Convert::Unicode $result = brace_no_arg_command($command_name, $encoding)125440 +Ref: Texinfo::Convert::Unicode $possible_conversion = check_unicode_point_conversion($arg, $output_debug)125780 +Ref: Texinfo::Convert::Unicode $result = encoded_accents($converter, $text, $stack, $encoding, $format_accent, $set_case)126340 +Ref: Texinfo::Convert::Unicode $width = string_width($string)127624 +Ref: Texinfo::Convert::Unicode $result = unicode_accent($text, $accent_command)127877 +Ref: Texinfo::Convert::Unicode $is_decoded = unicode_point_decoded_in_encoding($encoding, $unicode_point)128212 +Ref: Texinfo::Convert::Unicode $result = unicode_text($text, $in_code)128731 +Node: Texinfo::Convert::Unicode AUTHOR128941 +Node: Texinfo::Convert::Unicode COPYRIGHT AND LICENSE129257 +Node: Texinfo::Convert::NodeNameNormalization129864 +Node: Texinfo::Convert::NodeNameNormalization NAME130494 +Node: Texinfo::Convert::NodeNameNormalization SYNOPSIS130869 +Node: Texinfo::Convert::NodeNameNormalization NOTES131545 +Node: Texinfo::Convert::NodeNameNormalization DESCRIPTION132044 +Node: Texinfo::Convert::NodeNameNormalization METHODS133285 +Ref: Texinfo::Convert::NodeNameNormalization $partially_normalized = convert_to_normalized($tree)133695 +Ref: Texinfo::Convert::NodeNameNormalization $normalized = normalize_node($tree)133996 +Ref: Texinfo::Convert::NodeNameNormalization $transliterated = transliterate_texinfo($tree, $no_unidecode)134373 +Ref: Texinfo::Convert::NodeNameNormalization $file_name = transliterate_protect_file_name($string, $no_unidecode)134756 +Node: Texinfo::Convert::NodeNameNormalization AUTHOR135082 +Node: Texinfo::Convert::NodeNameNormalization COPYRIGHT AND LICENSE135482 +Node: Texinfo::Convert::Text136159 +Node: Texinfo::Convert::Text NAME136638 +Node: Texinfo::Convert::Text SYNOPSIS136905 +Node: Texinfo::Convert::Text NOTES137574 +Node: Texinfo::Convert::Text DESCRIPTION137971 +Node: Texinfo::Convert::Text METHODS138499 +Ref: Texinfo::Convert::Text $result = convert_to_text($tree, $options)138797 +Ref: Texinfo::Convert::Text enabled_encoding139301 +Ref: Texinfo::Convert::Text sc139750 +Ref: Texinfo::Convert::Text code139805 +Ref: Texinfo::Convert::Text NUMBER_SECTIONS139951 +Ref: Texinfo::Convert::Text sort_string140023 +Ref: Texinfo::Convert::Text converter140170 +Ref: Texinfo::Convert::Text expanded_formats_hash140604 +Ref: Texinfo::Convert::Text $result_accent_text = ascii_accent($text, $accent_command)140844 +Ref: Texinfo::Convert::Text $result_accent_text = ascii_accent_fallback($converter, $text, $accent_command)141175 +Ref: Texinfo::Convert::Text $accents_text = text_accents($accents, $encoding, $set_case)141459 +Node: Texinfo::Convert::Text AUTHOR141923 +Node: Texinfo::Convert::Text COPYRIGHT AND LICENSE142221 +Node: Texinfo::Convert::Converter142813 +Node: Texinfo::Convert::Converter NAME143361 +Node: Texinfo::Convert::Converter SYNOPSIS143663 +Node: Texinfo::Convert::Converter NOTES144544 +Node: Texinfo::Convert::Converter DESCRIPTION144971 +Node: Texinfo::Convert::Converter METHODS146898 +Node: Texinfo::Convert::Converter Initialization147415 +Ref: Texinfo::Convert::Converter $converter = MyConverter->converter($options)147882 +Ref: Texinfo::Convert::Converter %defaults = $converter->converter_defaults($options)149312 +Ref: Texinfo::Convert::Converter converter_initialize149490 +Node: Texinfo::Convert::Converter Getting and setting customization variables149602 +Ref: Texinfo::Convert::Converter $converter->force_conf($variable_name, $variable_value)150347 +Ref: Texinfo::Convert::Converter $converter->get_conf($variable_name)150662 +Ref: Texinfo::Convert::Converter $converter->set_conf($variable_name, $variable_value)150802 +Node: Texinfo::Convert::Converter Conversion to XML150923 +Ref: Texinfo::Convert::Converter $formatted_text = $converter->xml_format_text_with_numeric_entities($text)151489 +Ref: Texinfo::Convert::Converter $protected_text = $converter->xml_protect_text($text)151657 +Ref: Texinfo::Convert::Converter $comment = $converter->xml_comment($text)151762 +Ref: Texinfo::Convert::Converter $result = xml_accent($text, $accent_command, $in_upper_case, $use_numeric_entities)151889 +Ref: Texinfo::Convert::Converter $result = $converter->xml_accents($accent_command, $in_upper_case)152538 +Ref: Texinfo::Convert::Converter $result = xml_numeric_entity_accent($accent_command_name, $text)152820 +Node: Texinfo::Convert::Converter Helper methods153052 +Ref: Texinfo::Convert::Converter $contents_array = $converter->comma_index_subentries_tree($entry)153863 +Ref: Texinfo::Convert::Converter $result = $converter->convert_accents($accent_command, \&format_accents, $in_upper_case)154207 +Ref: Texinfo::Convert::Converter $result = $converter->convert_document_sections($root, $file_handler)154556 +Ref: Texinfo::Convert::Converter $succeeded = $converter->create_destination_directory($destination_directory_path, $destination_directory_name)154933 +Ref: Texinfo::Convert::Converter ($output_file, $destination_directory, $output_filename, $document_name, $input_basefile) = $converter->determine_files_and_directory($output_format)155411 +Ref: Texinfo::Convert::Converter ($encoded_name, $encoding) = $converter->encoded_input_file_name($character_string_name)156915 +Ref: Texinfo::Convert::Converter ($encoded_name, $encoding) = $converter->encoded_output_file_name($character_string_name)157006 +Ref: Texinfo::Convert::Converter ($caption, $prepended) = $converter->float_name_caption($float)157801 +Ref: Texinfo::Convert::Converter $tree = $converter->float_type_number($float)158083 +Ref: Texinfo::Convert::Converter $end_line = $converter->format_comment_or_return_end_line($element)158310 +Ref: Texinfo::Convert::Converter $filename = sub $converter->node_information_filename($node_info)158721 +Ref: Texinfo::Convert::Converter ($normalized_name, $filename) = $converter->normalized_sectioning_command_filename($element)158930 +Ref: Texinfo::Convert::Converter $converter->present_bug_message($message, $element)159368 +Ref: Texinfo::Convert::Converter $converter->set_global_document_commands($commands_location, $selected_commands)159569 +Ref: Texinfo::Convert::Converter before159915 +Ref: Texinfo::Convert::Converter last160025 +Ref: Texinfo::Convert::Converter preamble160090 +Ref: Texinfo::Convert::Converter preamble_or_first160181 +Ref: Texinfo::Convert::Converter $table_item_tree = $converter->table_item_content_tree($element, $contents)160958 +Ref: Texinfo::Convert::Converter $result = $converter->top_node_filename($document_name)161280 +Ref: Texinfo::Convert::Converter $result = $converter->output_internal_links()161518 +Node: Texinfo::Convert::Converter SEE ALSO161690 +Node: Texinfo::Convert::Converter AUTHOR162309 +Node: Texinfo::Convert::Converter COPYRIGHT AND LICENSE162638 +Node: Texinfo::Convert::Info163255 +Node: Texinfo::Convert::Info NAME163717 +Node: Texinfo::Convert::Info SYNOPSIS163977 +Node: Texinfo::Convert::Info NOTES164403 +Node: Texinfo::Convert::Info DESCRIPTION164800 +Node: Texinfo::Convert::Info METHODS165119 +Ref: Texinfo::Convert::Info $converter = Texinfo::Convert::Info->converter($options)165431 +Ref: Texinfo::Convert::Info $converter->output($tree)166201 +Ref: Texinfo::Convert::Info $result = $converter->convert($tree)166348 +Ref: Texinfo::Convert::Info $result = $converter->convert_tree($tree)166461 +Node: Texinfo::Convert::Info AUTHOR166663 +Node: Texinfo::Convert::Info COPYRIGHT AND LICENSE166961 +Node: Texinfo::Convert::HTML167553 +Node: Texinfo::Convert::HTML NAME168013 +Node: Texinfo::Convert::HTML SYNOPSIS168273 +Node: Texinfo::Convert::HTML NOTES168750 +Node: Texinfo::Convert::HTML DESCRIPTION169147 +Node: Texinfo::Convert::HTML METHODS169466 +Ref: Texinfo::Convert::HTML $converter = Texinfo::Convert::HTML->converter($options)169778 +Ref: Texinfo::Convert::HTML $converter->output($tree)170548 +Ref: Texinfo::Convert::HTML $result = $converter->convert($tree)170695 +Ref: Texinfo::Convert::HTML $result = $converter->convert_tree($tree)170808 +Ref: Texinfo::Convert::HTML $result = $converter->output_internal_links()171056 +Node: Texinfo::Convert::HTML AUTHOR171275 +Node: Texinfo::Convert::HTML COPYRIGHT AND LICENSE171573 +Node: Texinfo::Convert::DocBook172165 +Node: Texinfo::Convert::DocBook NAME172661 +Node: Texinfo::Convert::DocBook SYNOPSIS172942 +Node: Texinfo::Convert::DocBook NOTES173389 +Node: Texinfo::Convert::DocBook DESCRIPTION173804 +Node: Texinfo::Convert::DocBook METHODS174147 +Ref: Texinfo::Convert::DocBook $converter = Texinfo::Convert::DocBook->converter($options)174480 +Ref: Texinfo::Convert::DocBook $converter->output($tree)175253 +Ref: Texinfo::Convert::DocBook $result = $converter->convert($tree)175400 +Ref: Texinfo::Convert::DocBook $result = $converter->convert_tree($tree)175513 +Node: Texinfo::Convert::DocBook AUTHOR175715 +Node: Texinfo::Convert::DocBook COPYRIGHT AND LICENSE176031 +Node: Texinfo::Convert::TexinfoMarkup176638 +Node: Texinfo::Convert::TexinfoMarkup NAME177239 +Node: Texinfo::Convert::TexinfoMarkup SYNOPSIS177577 +Node: Texinfo::Convert::TexinfoMarkup NOTES178159 +Node: Texinfo::Convert::TexinfoMarkup DESCRIPTION178610 +Node: Texinfo::Convert::TexinfoMarkup METHODS179869 +Node: Texinfo::Convert::TexinfoMarkup Markup formatting methods defined by subclasses180337 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_atom($atom)180844 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_comment($comment_string)181068 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_convert_text($element)181170 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_element($format_element, $attributes)181620 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_open_element($format_element, $attributes)181697 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_close_element($format_element, $attributes)181775 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_header()182344 +Ref: Texinfo::Convert::TexinfoMarkup $result = $converter->txi_markup_protect_text($string)182466 +Node: Texinfo::Convert::TexinfoMarkup Formatting state information182701 +Ref: Texinfo::Convert::TexinfoMarkup $converter->in_monospace()183122 +Node: Texinfo::Convert::TexinfoMarkup AUTHOR183270 +Node: Texinfo::Convert::TexinfoMarkup SEE ALSO183609 +Node: Texinfo::Convert::TexinfoMarkup COPYRIGHT AND LICENSE184184 +Node: Texinfo::Convert::TexinfoXML184823 +Node: Texinfo::Convert::TexinfoXML NAME185354 +Node: Texinfo::Convert::TexinfoXML SYNOPSIS185656 +Node: Texinfo::Convert::TexinfoXML NOTES186124 +Node: Texinfo::Convert::TexinfoXML DESCRIPTION186557 +Node: Texinfo::Convert::TexinfoXML METHODS186924 +Ref: Texinfo::Convert::TexinfoXML $converter = Texinfo::Convert::TexinfoXML->converter($options)187278 +Ref: Texinfo::Convert::TexinfoXML $converter->output($tree)188054 +Ref: Texinfo::Convert::TexinfoXML $result = $converter->convert($tree)188201 +Ref: Texinfo::Convert::TexinfoXML $result = $converter->convert_tree($tree)188314 +Node: Texinfo::Convert::TexinfoXML AUTHOR188516 +Node: Texinfo::Convert::TexinfoXML COPYRIGHT AND LICENSE188850 +Node: Texinfo::Convert::Plaintext189472 +Node: Texinfo::Convert::Plaintext NAME189968 +Node: Texinfo::Convert::Plaintext SYNOPSIS190263 +Node: Texinfo::Convert::Plaintext NOTES190724 +Node: Texinfo::Convert::Plaintext DESCRIPTION191151 +Node: Texinfo::Convert::Plaintext METHODS191510 +Ref: Texinfo::Convert::Plaintext $converter = Texinfo::Convert::Plaintext->converter($options)191857 +Ref: Texinfo::Convert::Plaintext $converter->output($tree)192632 +Ref: Texinfo::Convert::Plaintext $result = $converter->convert($tree)192779 +Ref: Texinfo::Convert::Plaintext $result = $converter->convert_tree($tree)192892 +Node: Texinfo::Convert::Plaintext AUTHOR193094 +Node: Texinfo::Convert::Plaintext COPYRIGHT AND LICENSE193422 +Node: Index194039 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: |