summaryrefslogtreecommitdiff
path: root/Build/source/utils/texi2html
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/texi2html')
-rw-r--r--Build/source/utils/texi2html/doc/texi2html.info3660
-rw-r--r--Build/source/utils/texi2html/doc/texi2html.info-11299
-rw-r--r--Build/source/utils/texi2html/doc/texi2html.info-21262
-rw-r--r--Build/source/utils/texi2html/doc/texi2html.info-31085
4 files changed, 3561 insertions, 3745 deletions
diff --git a/Build/source/utils/texi2html/doc/texi2html.info b/Build/source/utils/texi2html/doc/texi2html.info
index d791b234206..c868298c367 100644
--- a/Build/source/utils/texi2html/doc/texi2html.info
+++ b/Build/source/utils/texi2html/doc/texi2html.info
@@ -1,8 +1,9 @@
-This is texi2html.info, produced by makeinfo version 4.5 from
-texi2html.texi.
+This is ../../../../TeXlive-svn/utils/texi2html/doc/texi2html.info,
+produced by makeinfo version 4.8 from
+../../../../TeXlive-svn/utils/texi2html/doc/texi2html.texi.
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003
+Free Software Foundation, Inc.
Portions
of
@@ -21,6 +22,7 @@ manual
Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
Copyright (C) 2003 Patrice Dumas (manual)
Copyright (C) 2003 Derek Price (manual)
+
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
@@ -34,6 +36,7 @@ permission notice identical to this one.
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
+
INFO-DIR-SECTION Texinfo documentation system
START-INFO-DIR-ENTRY
* Texi2HTML: (texi2html). Texinfo to HTML Converter.
@@ -43,8 +46,57 @@ END-INFO-DIR-ENTRY
script which converts Texinfo (http://www.texinfo.org) into HTML
(http://w3c.org). This edition is for `texi2html' version 1.76.
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2003
+Free Software Foundation, Inc.
+
+Portions
+of
+`texi2html'
+ Copyright (C) 1999, 2000 Lionel Cons
+ Copyright (C) 1999, 2000 Karl Berry
+ Copyright (C) 1999, 2000 Olaf Bachmann
+ Copyright (C) 2002, 2003 Patrice Dumas
+ Copyright (C) 2001, 2002, 2003 Derek Price
+ Copyright (C) many others.
+
+
+Portions
+of this
+manual
+ Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
+ Copyright (C) 2003 Patrice Dumas (manual)
+ Copyright (C) 2003 Derek Price (manual)
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Free Software Foundation.
+
+
+File: texi2html.info, Node: Top, Next: Overview, Up: (dir)
+
+Texi2HTML
+*********
+
+This manual, last updated 1 February 2005, describes version 1.76 of
+the `texi2html' Perl script which converts Texinfo (*note Texinfo:
+(Texinfo)Top.) into HTML.
+
+ Please send bug reports concerning this manual to the Texi2HTML user
+discussion list <user@texi2html.cvshome.org>. Please state the exact
+version of the manual which contains the bug, as given above.
+
+ Copyright (C) 1999, 2000, 2001, 2002, 2003
+Free Software Foundation, Inc.
Portions
of
@@ -63,6 +115,7 @@ manual
Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
Copyright (C) 2003 Patrice Dumas (manual)
Copyright (C) 2003 Derek Price (manual)
+
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.
@@ -76,101 +129,3510 @@ permission notice identical to this one.
manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
+
+ *This manual is currently under construction and of course incomplete. ;-)*
+
+* Menu:
+
+* Overview::
+* Obtaining texi2html::
+ Obtaining a copy of the `texi2html'
+ source code distribution
+* Installation:: Installing `texi2html'
+* Invoking texi2html:: Description of the command line options
+* Initialization files:: What kind of variables and subroutines appear
+ in init files and how they are called
+* Changing the page layout:: Fine tuning of the page layout
+* Customizing HTML:: Fine tuning of the HTML elements
+ associated with the texinfo constructs
+* Internationalization:: Help translating !
+* Indexop:: Command Line Option Index
+* Indexvr:: Variable Index
+* Indexcp:: Concept Index
+
+
+File: texi2html.info, Node: Overview, Next: Obtaining texi2html, Prev: Top, Up: Top
+
+1 Overview
+**********
+
+Texinfo (http://www.texinfo.org) is the official documentation format
+of the GNU (http://www.gnu.org) project. It uses a single source file
+to produce both online information and printed output.
+
+ It is often desirable to have a way to produce HTML from Texinfo
+sources, as GNU-Info files are produced. It is much simpler to run a
+converter than it is to rewrite all the documentation in HTML,
+especially considering that there is so much Texinfo documentation in
+the world.
+
+ Some time ago `makeinfo' wasn't able to produce HTML output format,
+but people still wanted documentation in HTML. This was the birthing
+hour for `texi2html'. The basic purpose of `texi2html' is to convert
+Texinfo documents into HTML.
+
+ Since then, HTML support in `makeinfo' has improved, but `texi2html'
+is still stronger in many areas, including the degree to which it
+allows customization. With `texi2html', some important aspects of the
+resulting HTML files may be specified via command line options, and
+configuration files provide an even finer degree of control over the
+final output, allowing most every aspect of the final output not
+specified in the Texinfo input file to be specified. Configuration
+files are written in `perl', like the main program, and anything which
+may be specified on the command line may also be specified within a
+configuration file.
+
+ For an example of the kind of pages `texi2html' is capable of
+producing, have a look at the following sites: the Singular Manual
+(http://www.singular.uni-kl.de/Manual/html/), the Cederqvist (CVS
+Manual) (http://ccvs.cvshome.org/docs/manual).
+
+* Menu:
+
+* whytexi2html:: Why `texi2html' and not `makeinfo'?.
+
+
+File: texi2html.info, Node: whytexi2html, Up: Overview
+
+1.1 Why `texi2html' and not `makeinfo'?
+=======================================
+
+You would like to produce HTML files from your existing Texinfo files?
+There are two programs you can use to do this. The first is `makeinfo'
+(*note Generating HTML: (texinfo)Generating HTML.). The second is
+`texi2html'.
+
+ The design goal of `makeinfo''s HTML output was to produce readable
+HTML output. It is now possible to use CSS for HTML customization.
+Another possibility is to use intermediate formats, like docbook or
+`mekeinfo' XML and XSL stylesheets to customize the resulting document.
+Still the output produced by `makeinfo' isn't customizable.
+
+ The current development of `texi2html' tries to provide for
+producing the more interesting and sophisticated HTML pages that
+today's Internet users have come to expect. The goal behind
+`texi2html' is to generate attractive HTML by default but also to allow
+users considerable freedom to affect the final style and design of the
+output HTML pages. This is achieved via command line options and
+flexible configuration files.
+
+ In contrast to the HTML produced by `makeinfo --html' (the
+`makeinfo' program is part of the Texinfo distribution), the
+`texi2html' program, among other differences, allows for the
+customization of the entire page layout, including headers, footers,
+style sheets, etc., allows for customization of the low level HTML
+formatting, provides for splitting documents at various levels, and
+provides for using the `latex2html' program to convert `@tex' sections
+of the Texinfo source.
+
+ The focus on HTML is still present but with the help of the
+customization files it is now possible to use `texi2html' to produce
+other formats as well. `texi2html' may for example be turned into a
+texinfo to roff translator with the help of a customization file
+provided with the distribution.
+
+ `texi2html' should reasonably convert all Texinfo 4.8 constructs.
+If you find it does not, please send a bug report to the
+<users@texi2html.cvshome.org> email list.
+
+
+File: texi2html.info, Node: Obtaining texi2html, Next: Installation, Prev: Overview, Up: Top
+
+2 Obtaining `texi2html'
+***********************
+
+The latest version of the source code for `texi2html' should be
+available from texi2html.cvshome.org (http://texi2html.cvshome.org).
+
+
+File: texi2html.info, Node: Installation, Next: Invoking texi2html, Prev: Obtaining texi2html, Up: Top
+
+3 Installation of `texi2html'
+*****************************
+
+To install `texi2html', you must first obtain a copy of the source
+distribution. *Note Obtaining texi2html::.
+
+ `texi2html' also requires `perl' version 5.004 or above. The
+current version has not been tested extensively on versions of `perl'
+below 5.6, however.
+
+ `texi2html' is a standard Automake-based distribution. If you have
+a source version, you should run `./configure' to regenerate the
+executable `texi2html' file. `./configure' accepts options to select
+the installation directory for the `texi2html' file, the default
+directories `texi2html' will use to look for configuration files, and
+other details. Run `./configure --help' for more information.
+
+ Running `./configure' combines four files into the final `texi2html'
+program file:
+ * `texi2html.pl' contains the base program,
+
+ * `MySimple.pm' handles the command line options,
+
+ * `texi2html.init' is the default configuration file, and
+
+ * `T2h_i18n.pm' is used for internationalization.
+
+ * `translations.pl' contains the translations of the strings used in
+ documents.
+
+ Running `./configure' also builds the `make' configuration files
+(`Makefile's). To make the documentation run `make'.
+
+ `make install' performs the installation to the locations specified
+to the `./configure' script. This usually involves placing the actual
+`texi2html' file someplace in your path, such as `/usr/local/bin' or
+`/usr/bin'.
+
+ Installing `texi2html' in your path should be sufficient to run it.
+To use default initialization files, or a configuration file for
+LaTeX2HTML when using `latex2html' to convert `@tex' sections (*note
+Expanding TeX regions::), install them in the package data directory
+specified to configure. This is `/usr/local/share/texi2html/' by
+default, but depends on the value of the `--pkgdatadir=DIR' option
+passed to the `./configure' script. Files used for strings
+customization and internationalization are also searched for in the
+`i18n' directory of this directory. *Note Using init files:: for more.
+
+
+File: texi2html.info, Node: Invoking texi2html, Next: Initialization files, Prev: Installation, Up: Top
+
+4 Invoking `texi2html'
+**********************
+
+To produce an HTML manual, run `texi2html' with a Texinfo file as an
+argument. For example, this manual is created with:
+
+ $ texi2html texi2html.texi
+
+ The behaviour of `texi2html' may be changed with command line
+options. These command line options are always associated with
+corresponding `perl' variables which may appear in init files, and these
+variables are presented in this chapter each time a switch is described.
+
+ Boolean command line switches always have a corresponding negated
+switch, obtained by prepending `no' or `no-' to the switch name. For
+example `--nomenu' does the reverse of `--menu'.
+
+* Menu:
+
+* Splitting output:: The HTML output may be split at
+ different levels
+* Output files::
+* Expansion::
+* Texinfo related options::
+* Page layout options:: Customizing page layout
+* Style options:: Customizing the HTML and text style
+* Expanding TeX regions::
+* Using init files:: Specifying initialization files for fine tuning
+
+
+File: texi2html.info, Node: Splitting output, Next: Output files, Up: Invoking texi2html
+
+4.1 Specifying where to split the generated document
+====================================================
+
+The HTML manual resulting from the processing of the Texinfo source may
+be split into files at different levels. This is specified with the
+option `--split' which takes an argument, namely the level of splitting
+(variable: `$SPLIT'). This level may be:
+
+`chapter'
+ The document is split at `@chapter', `@appendix', or `@unnumbered'.
+
+`section'
+ The document is split at the same places as it is using the
+ `chapter' argument, and also at `@section', `@appendixsec' or
+ `@unnumberedsec'.
+
+`node'
+ The document is split at every sectioning command. It is not
+ necessarily split at each node, if the `@node' structure doesn't
+ correspond with the sectioning command structure (see below).
+
+`none'
+ The document isn't split. This is the default.
+
+ There are two kinds of commands which may be used to define
+sectioning elements in Texinfo: `@node' and the structuring commands
+(`@top', `@section', `@appendixsubsec', and so on). A node just
+preceding a structuring command is considered to be part of the same
+sectioning element as that command. If the `@node Top' isn't
+associated with a structuring command it also defines a sectioning
+element.
+
+ By default, nodes which aren't associated with a structuring command
+are not considered to be sectioning commands. They are always
+considered to be part of a sectioning element defined by a structuring
+command. It is possible to change this behaviour via the `--use-nodes'
+option (variable `$USE_NODES'). In this case, nodes not associated
+with structuring commands are also considered to be sectioning commands
+defining a sectioning element.
+
+ This default behaviour mimics `texi2dvi' behaviour, which ignores
+`@node' commands for the purprose of sectioning, while the second looks
+like `makeinfo' behaviour (*note Two Paths: (texinfo)Two Paths.).
+
+ As an illustration, the following table shows how a sample Texinfo
+document is divided into sectioning elements when `--use-nodes' is used
+and not:
+
+Texinfo code default case with
+ `--use-nodes'
+ @node node1 first element: first element:
+ @chapter node 1
+ node1 text @node node1 @node node1
+ @chapter node 1 @chapter node 1
+ @node node2 node1 text node1 text
+ node2 text second
+ @node node2 element:
+ @node node3 node2 text
+ node3 text second @node node2
+ @chapter node 3 element: node2 text
+ chapter text third
+ @node node3 element:
+ node3 text
+ @chapter node 3 @node node3
+ chapter text node3 text
+ @chapter node 3
+ chapter text
+
+
+File: texi2html.info, Node: Output files, Next: Expansion, Prev: Splitting output, Up: Invoking texi2html
+
+4.2 Setting output file and directory names
+===========================================
+
+The manual name is constructed by stripping the `.texi', `.txi',
+`.texinfo', or `.txinfo' extension from the Texinfo file name.
+
+ By default, `texi2html' generates the manual file in the current
+directory if the manual isn't split. A `.html' file extension is
+appended to the manual name.
+
+ If the manual is split the files are put in a directory named after
+the manual name. The file name is constructed using the manual name as
+basename. An underscore followed by a number is appended to the
+basename for each files corresponding with sectioning elements, with the
+exception of the top element. For the top element there nothing
+appended. The files containing special elements pages have an
+underscore and a 3 letter code corresponding to their content (`toc'
+for table of contents, `abt' for about, `ovr' for overview) appended.
+Lastly, an `.html' file extension is appended.
+
+ Thus, if the texinfo file `afile.texi' is processed and split at
+chapters into 3 files, the generated files (in directory `afile') will
+be:
+
+ afile.html --> `@node Top' or `@top' section
+ afile_1.html --> Chapter 1
+ afile_2.html --> Chapter 2
+ afile_toc.html --> Table of Contents
+ afile_abt.html --> About Page
+
+ This default behavior may be modified by several command line
+options. If the output isn't split, the prefix file name may be
+overrided by the `--output' command line option (variable `$OUT'). If
+the output is split, and `--output' is set, the files are placed in the
+directory specified by the argument to the option.
+
+ The basename may be overridden with `--prefix' (variable `$PREFIX').
+If `--short-ext' is given, `.htm' is appended instead of `.html' in
+the final step (variable `$SHORTEXTN'). The `--top-file' option
+overrides the top element file name (variable `$TOP_FILE'). This can
+be used to name the top element file `index.html'. Similarly, `--toc-file'
+changes the name of the table of contents file (variable `$TOC_FILE').
+
+ Reusing the example above, but this time calling `texi2html' like so:
+
+ $ texi2html -split chapter -prefix manual -short-ext -top-file index.htm -toc-file contents.htm afile.texi
+
+ we get, in `manual':
+
+ index.htm --> `@node Top' or `@top' section
+ manual_1.htm --> Chapter 1
+ manual_2.htm --> Chapter 2
+ contents.htm --> Table of Contents
+ manual_abt.htm --> About Page
+
+ The file names generated by `texi2html' differ from those generated
+by `makeinfo'. `makeinfo' uses the node name to construct the file
+names while splitting at nodes. It is possible to get the same
+behaviour out of `texi2html' by specifying the `--node-files' option
+(variable `$NODE_FILES'). If the output isn't split at nodes,
+`texi2html' will still output files named after the nodes, without real
+content but redirecting to the right file. The default is false for
+this option. This trick enables the generated HTML manual to be a
+target for the cross-references of other manuals generated by
+`makeinfo' or `texi2html'.
+
+
+File: texi2html.info, Node: Expansion, Next: Texinfo related options, Prev: Output files, Up: Invoking texi2html
+
+4.3 Specifying which regions get expanded
+=========================================
+
+The default for `texi2html' is to expand the `@ifhtml', `@html', and
+`@menu' regions, all the `@ifnot' regions except `@ifnothtml', and no
+other `@if' regions.
+
+ It is possible to expand other regions by setting `--if<region>',
+where `<region>' is replaced by the literal name of the region (for
+example, `--iftex'). Symetrically, if `--no-if<region>' is specified,
+the `<region>' region is ignored. The configuration file array, `@EXPAND',
+holds the names of regions which should be expanded. The only region
+name present in `@EXPAND' in the default case is `html'.
+
+ If `--nomenu' is set, the `@menu' sections are not expanded
+(variable `$SHOW_MENU'). The default is to expand `@menu' sections.
+
+
+File: texi2html.info, Node: Texinfo related options, Next: Page layout options, Prev: Expansion, Up: Invoking texi2html
+
+4.4 Command line options related to Texinfo language features
+=============================================================
+
+Miscalleneous Texinfo related things may be specified via command line
+options.
+
+`--lang=LANG'
+ Sets the document language similar to the Texinfo directive,
+ `@documentlanguage LANG' (variable `$LANG'). The default is `en',
+ that is, use the english language strings.
+
+`-DVAR'
+ Sets VAR. Equivalent to, `@set VAR 1', in Texinfo.
+
+`-UVAR'
+ Clears VAR. Equivalent to, `@clear VAR', in Texinfo.
+
+`-PDIR'
+ Prepend DIR to the list of directories to search for `@include'
+ files (the associated array is `@PREPEND_DIRS', empty in the
+ default case).
+
+`-IDIR'
+ Append DIR to the list of directories to search for `@include'
+ files (the associated array is `@INCLUDE_DIRS', empty in the
+ default case).
+
+ The include files are always searched for in the current directory.
+
+
+File: texi2html.info, Node: Page layout options, Next: Style options, Prev: Texinfo related options, Up: Invoking texi2html
+
+4.5 Page layout related command line options
+============================================
+
+If the `--frames' option is specified, HTML frames are used. A file
+describing the frame layout is generated, and the document page is
+associated with a frame where the short table of content appears
+(variable `$FRAMES'). The default is not to use frames.
+
+ It is also possible to suppress the section navigation panel with `--nosec-nav'
+(variable `$SECTION_NAVIGATION', the default is to output all the
+navigation panels), and to specify whether footnotes should appear at
+the foot of the same page which contains the reference to the note or
+on a separate page with `--separated-footnotes' (variable `$SEPARATED_FOOTNOTES').
+The default is to have separated footnotes.
+
+
+File: texi2html.info, Node: Style options, Next: Expanding TeX regions, Prev: Page layout options, Up: Invoking texi2html
+
+4.6 Customizing the HTML and text style
+=======================================
+
+Miscalleneous style changes may be achieved with command line options.
+
+`--doctype=DTD'
+`--frameset-doctype=DTD'
+ You can specify the document DTD by setting these options. `--frameset-doctype'
+ applies to the file describing the frames when frames are used
+ (corresponding variables are `$DOCTYPE' and `$FRAMESET_DOCTYPE').
+
+ The default for the document doctype is:
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
+ And for the frameset doctype:
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html401/frameset.dtd">
+
+`--iso'
+ If this option is set, ISO8859 entities are used for some special
+ symbols, like Copyright (C) (variable `$USE_ISO'). It is the
+ default.
+
+`--css-include=FILE'
+ This command line switch provides for the inclusion of an external
+ Cascading Style Sheet (CSS) file. More than one file may be
+ specified, and `-' stands for the standard input (array `@CSS_FILES').
+
+ The option use is the same than for `makeinfo' and is described
+ extensively in *Note HTML CSS: (texinfo)HTML CSS. Briefly, the
+ CSS `@import' lines from the external file CSS file are pasted
+ before the `texi2html' CSS rules, and the external file CSS rules
+ are pasted after the `texi2html' CSS rules.
+
+`--html-xref-prefix=PATH'
+ This option sets the base directory for external HTML texinfo
+ manuals (variable `$EXTERNAL_DIR'). Defaults to `../'.
+
+`--def-table'
+ If this option is set, HTML tables are used to format definition
+ commands, rather than HTML definition tables (variable `$DEF_TABLE').
+ Default is false.
+
+`--short-ref'
+ If this option is set, cross-references are given without section
+ numbers (variable `$SHORT_REF'). Default is false.
+
+`--number'
+ If this option is set, sections are numbered (variable `$NUMBER_SECTIONS').
+ This is the default.
+
+`--toc-links'
+ If this option is set, links from headings to TOC entries are
+ created (variable `$TOC_LINKS'). Default is false.
+
+
+File: texi2html.info, Node: Expanding TeX regions, Next: Using init files, Prev: Style options, Up: Invoking texi2html
+
+4.7 Expanding `@tex' and `@math' regions using LaTeX2HTML
+=========================================================
+
+It is possible to use LaTeX2HTML (http://www.latex2html.org/) to
+process `@tex' regions and `@math{}' commands. This is an attractive
+way to display mathematical constructs in the HTML manual. The `--l2h'
+option activates this feature (variable $L2H). It is usually desirable
+to expand `@tex' sections when this option is specified (*note
+Expansion::). The default is not to use this feature.
+
+ The `--l2h-l2h=PROGRAM' option enables changing the name/location of
+the LaTeX2HTML program processing TeX regions (variable `$L2H_L2H').
+The default is `latex2html'.
+
+ `--l2h-tmp' sets the directory used for temporary files, this name
+shouldn't contain a dot `.' (variable is `$L2H_TMP'). Defaults to the
+current dir.
+
+ The file specified by `--l2h-file' is used as LaTeX2HTML init file.
+It is searched at the same places than init files (*note Using init
+files::), and the default is `l2h.init'.
+
+
+File: texi2html.info, Node: Using init files, Prev: Expanding TeX regions, Up: Invoking texi2html
+
+4.8 Use initialization files for fine tuning
+============================================
+
+Initialization variables are read first from
+`/usr/local/share/texi2html/Config' (the exact location being
+changeable with the `--pkgdatadir=dir' option of the `configure'
+script, see *Note Installation::), `/usr/local/etc/texi2html/Config'
+(the exact location being changeable with the `--sysconfdir=dir' option
+of the `configure' script, see *Note Installation::), from `./Config'
+then from `$HOME/.texi2html/Config'. Any command-line option can
+override the corresponding option set in init file, and the option `--init-file'
+specifies an init file to be loaded, with later settings overriding
+earlier ones.
+
+ The init files specified with `--init-file' are searched first in
+the current directory, then in the `$HOME/.texi2html/' directory, in
+the `/usr/local/etc/texi2html/' directory and lastly in the
+`/usr/local/share/texi2html/' directory.
+
+ A file is also included based on the language selected, by `$LANG', `--lang'
+or `@documentlanguage'. If no language was selected `en' is considered
+to be the language. All the files with name the language name in
+`/usr/local/share/texi2html/i18n/', `/usr/local/etc/texi2html/i18n/',
+`$HOME/.texi2html/i18n/' and then `./i18n/' are included.
+
+ The default initialization options are defined in the
+`texi2html.init' file contained in the `texi2html' distribution (which
+gets included near the beginning of the `texi2html' script that gets
+installed).
+
+ To customize `texi2html' it is best if you copy the appropriate
+sections from the `texi2html.init' contents into an appropriate local
+initialization file, make the necessary changes there, and then have
+`texi2html' read this initialization file by one of the means described
+above.
+
+
+File: texi2html.info, Node: Initialization files, Next: Changing the page layout, Prev: Invoking texi2html, Up: Top
+
+5 Overview of initialization files content and loading
+******************************************************
+
+The initialization files are `perl' files, read as explained in *Note
+Using init files::. You don't need to know much of `perl' to do some
+simple changes in variable values, however, to be able to really take
+advantage of all the features of the initialization file, a good
+knowledge of `perl' is required.
+
+ In initialization file two kind of variables appear. These are normal
+variables (including arrays and hashes) and references on functions.
+The later permits the dynamic redefinition of functions used to produce
+the HTML manual. You should be able to change the value of some normal
+variables without a deep knowledge of `perl', by looking at the
+existing examples. The possible mistakes in that case could be omitted
+`;', and bad quoting.
+
+ Initialization file are loaded from the main program by the mean of
+a `require', while in the `Texi2HTML::Config' namespace. This means
+that the namespace of the main program and the namespace of
+inititalization files are distinct, which ensures that no name clash
+should happen. The variables are declared with the `our' specifier,
+such that it should be possible to use the `use strict' pragma in the
+initialization file code.
+
+ To avoid messing with the variables in the `main' namespace all the
+global variables which could be of use in the init files are in the
+`Texi2HTML' namespace. Notice that the functions of the main program
+are still in the `main' namespace.
+
+* Menu:
+
+* Redefining functions:: Function redefinition is achieved with
+ redefinition of references on functions.
+* Function prototypes:: Conventions used in that manual for function
+ reference prototypes display.
+
+
+File: texi2html.info, Node: Redefining functions, Next: Function prototypes, Up: Initialization files
+
+5.1 Redefining functions in initialization files
+================================================
+
+To redefine a function you must replace the corresponding funtion
+reference with a reference on your function. Thus you should write
+your function, give it a name you are certain it is unique in the
+`Texi2HTML::Config' namespace, and override the value of the function
+reference with your own function reference. When another function from
+the main program (or from another functions of an initialization file)
+calls the reference, your function will be used.
+
+ For example the function reference corresponding with the function
+called when doing an anchor is called `$anchor'. Thus if you want to
+override the corresponding function you could write:
+
+ # override the function reference
+ $anchor = \&my_own_function;
+
+ # the function reference now refers to
+ sub my_own_function {
+ # process arguments and return an html anchor
+ }
+
+
+File: texi2html.info, Node: Function prototypes, Prev: Redefining functions, Up: Initialization files
+
+5.2 Conventions used for function prototypes
+============================================
+
+As the functions are defined by a reference name, we will always use
+the reference name in function prototypes. For the function arguments
+we will use `\@array' for a reference on an array and similarly
+`\%hash' for a reference on a hash.
+
+ Thus, the prototype for the function associated with the function
+reference `$formatting_function' will be:
+
+ -- Function Reference: $text formatting_function $arg1 \@arg2
+ `formatting_function' takes as first argument $ARG2, as second
+ argument a reference on an array \@ARG2 and returns the formatted
+ text $TEXT.
+
+ To redefined the corresponding function, you should write:
+
+ $formatting_function = \&my_formatting_function
+
+ sub my_formatting_function($ $)
+ {
+ my $arg1 = shift;
+ my $arg2 = shift;
+ # prepare $formatted_text
+ .....
+ return $formatted_text
+ }
+
+
+File: texi2html.info, Node: Changing the page layout, Next: Customizing HTML, Prev: Initialization files, Up: Top
+
+6 Fine tuning of the page layout
+********************************
+
+Some features of the page layout might be specified with command line
+options, the corresponding variables are described in *Note Page layout
+options::. Fine tuning of the page layout may be achieved with
+redefinition of other variables and function references in the
+initialization files.
+
+* Menu:
+
+* The different pages:: The different categories of pages.
+* The page layout:: The elements of a page.
+* Navigation panel:: How to change the navigation panel.
+* Program variables:: The available main program variables and some
+ usefull functions from the main program.
+* Output initialization:: Setting variables before the document
+ production but after the texinfo parsing.
+* Output finalization:: Cleaning after document generation.
+* css:: Customizing css lines.
+* Customizing header::
+* Customizing section::
+* Customizing footer::
+* Special pages:: Customizing table of contents, top, about page.
+* File names:: Customizing the file names.
+* External index files:: Putting index entries in external files.
+
+
+File: texi2html.info, Node: The different pages, Next: The page layout, Up: Changing the page layout
+
+6.1 The different categories of pages and sectioning elements
+=============================================================
+
+The following sectioning elements can be associated with pages:
+
+_Normal elements_
+ These are normal sections or nodes. Their association with pages is
+ determined by the splitting of the document. *Note Splitting
+ output::.
+
+_Top element_
+ The top element is the higher element in the document structure.
+ If there is a `@top' section it is the element associated with
+ that section. Otherwise it is the element associated with the
+ `@node Top'. If there is no `@node Top' the first element is the
+ top element.
+
+ The top element is formatted differently than a normal element if
+ there is a `@top' section or the `@node Top' isn't associated with
+ a sectioning command.
+
+_Misc elements_
+ These elements are associated with pages if the document is split.
+ There are four misc elements:
+ 1. Table of contents
+
+ 2. Short table of contents, also called Overview
+
+ 3. Footnotes page
+
+ 4. About page
+
+ The _About page_ shouldn't be present for documents consisting in
+ only one sectioning element. The _Footnote page_ should only be
+ present if the footnotes appear on a separated page (*note Page
+ layout options::), however a footnote element is present if the
+ document isn't split. The _Table of contents_ should only be
+ formatted if `@contents' is present in the document. Similarly
+ the _Overview_ should only appear if `@shortcontents' or
+ `@summarycontents' is present.
+
+
+File: texi2html.info, Node: The page layout, Next: Navigation panel, Prev: The different pages, Up: Changing the page layout
+
+6.2 Page layout and navigation panel overview
+=============================================
+
+A page is broken up in three parts. A page header, the sections and a
+page footer. A common element in the page layout is a navigation panel
+with icons or text linking to other sections or pages. Another common
+element is a rule, separating sections or footer. The navigation panel
+and the rules may be part of the sections or part of headers or
+footers. You may use the variables `$SMALL_RULE', `$DEFAULT_RULE', `$MIDDLE_RULE'
+and `$BIG_RULE' for rules of different sizes. The defaults are
+ $SMALL_RULE = '<hr size="1">';
+ $DEFAULT_RULE = '<hr>';
+ $MIDDLE_RULE = '<hr size="2">';
+ $BIG_RULE = '<hr size="6">';
+
+ In the header some important meta data may be defined, like the
+title or style information, and textual informations may be present in
+comments. All this doesn't appear directly in the displayed HTML,
+though.
+
+ The page layout is mainly controlled by functions, the precise
+functions called depending on the document splitting. The navigation
+panel, however, can be customized with variables.
+
+Element labels
+--------------
+
+There are 19 items associated with elements. Each of these is
+associated with a name and a reference to the element they represent,
+when such an element exists. The element is either a global element or
+an element relative to the current element. The relative elements are
+found with respect with the document structure defined by the section
+structuring commands (`@chapter', `@unnumbered'...) or by the nodes (in
+that case the node directions are specified on node line or in menu
+organization). These items are called "element labels". They may be
+associated with a button (*note Button specifications::), and used in
+the formatting functions (*note Program variables::).
+
+ Here is the list:
+
+_` '_
+ An empty button
+
+_Top_
+ Top element. The associated name is `$TOP_HEADING' if that
+ variable is defined. This variable is not set by default.
+
+_Contents_
+ Table of contents
+
+_About_
+ About (help) page
+
+_Overview_
+ Overview, short table of contents
+
+_First_
+ First element in reading order
+
+_Last_
+ Last element in reading order
+
+_Index_
+ The first chapter with `@printindex'. The associated name is `$INDEX_CHAPTER',
+ if the variable is set. This variable is not set by default.
+
+_This_
+ The current element
+
+_Back_
+ Preceding element in reading order
+
+_FastBack_
+ Beginning of this chapter or previous chapter if the element is a
+ chapter
+
+_Prev_
+ Previous section on the same level
+
+_NodePrev_
+ Previous node
+
+_Forward_
+ Next element in reading order
+
+_FastForward_
+ Next chapter
+
+_Next_
+ Next section on the same level
+
+_NodeNext_
+ Next node
+
+_Following_
+ Next node in node reading order
+
+_Up_
+ Up section
+
+_NodeUp_
+ Up node
+
+
+File: texi2html.info, Node: Navigation panel, Next: Program variables, Prev: The page layout, Up: Changing the page layout
+
+6.3 Customization of the navigation panels buttons
+==================================================
+
+A lot of customization of the navigation panel may be achieved without
+redefining functions, with variables redefinition. In case it isn't
+enough, it is also possible to redefine the function doing the
+navigation panel formatting.
+
+* Menu:
+
+* General purpose variables:: Variables controlling the navigation panel
+ at a global level
+* Button specifications::
+* Panel formatting function::
+
+
+File: texi2html.info, Node: General purpose variables, Next: Button specifications, Up: Navigation panel
+
+6.3.1 Controlling the navigation panel panel at a high level
+------------------------------------------------------------
+
+The global formatting of the navigation panels may be changed with the
+following variables:
+
+`$VERTICAL_HEAD_NAVIGATION'
+ A vertical navigation panel will be used for the header navigation
+ panel if this variable is true.
+
+`$ICONS'
+ Icons are used instead of textual buttons if this variable is true.
+
+`$SECTION_NAVIGATION'
+ If this variable is false there is no section navigation, no
+ navigation panels for the elements within the pages, only at the
+ beginning and the end of the page (*note Page layout options::).
+
+
+File: texi2html.info, Node: Button specifications, Next: Panel formatting function, Prev: General purpose variables, Up: Navigation panel
+
+6.3.2 Specifying the buttons formatting
+---------------------------------------
+
+Several arrays and hashes enable a precise control on the buttons and
+their display. The following arrays determine the buttons present in
+navigation panels:
+
+`@SECTION_BUTTONS'
+ This array is used for the navigation panel buttons present at the
+ begining of sectioning elements. If split at node or section they
+ are also used at the page footer, and in the case of section
+ navigation at the page header.
+
+`@SECTION_FOOTER_BUTTONS'
+`@NODE_FOOTER_BUTTONS'
+ This array is used for the navigation panel buttons present at the
+ footer of pages when split at node or at section.
+
+ If `$WORDS_IN_PAGE' is set and the output is split at nodes, these
+ buttons are only present if there are more than `$WORDS_IN_PAGE'
+ words in the sectioning element text. This counting is very rough
+ and include punctuation marks, html elements, numbers. The
+ default is to include the buttons after 300 words.
+
+`@CHAPTER_BUTTONS'
+ This array is used for the buttons appearing at the page footer if
+ split at chapter, and at the page header if split at chapter and
+ there is no section navigation.
+
+`@MISC_BUTTONS'
+ These buttons appear at the beginning of special and sections and
+ at the end of these section pages if the output is split.
+
+ The array specify the buttons displayed in navigation panels, and
+how the button is displayed. Each element is associated with a button
+of the navigation panel from left to right. The signification of the
+array element value is the following:
+
+_reference on a function_
+ The function is called with first argument a filehandle reference
+ on the current file and second argument a boolean true if the
+ navigation panel should be vertical.
+
+_reference on a scalar_
+ The scalar value is printed. For some possibly usefull scalars,
+ *Note Elements hashes::.
+
+_reference on an array_
+ In this case the first array element should be a reference on text
+ and the second element an element label. In that case a link to the
+ element associated with the element label with the scalar value
+ text is generated.
+
+ For example if the buttons array element is
+ [ 'Next', \$Texi2HTML::NODE{Next} ]
+
+ The button will be a link to the next section with text `$Texi2HTML::NODE{Next}'.
+
+_element label_
+ If icons are not used, the button is a link to the corresponding
+ element which text is defined by the value associated with the
+ element label in the `%NAVIGATION_TEXT' hash, surrounded by `['
+ and `]'. If the element label is ` ', there is no `[' and `]'.
+ The element of the `%NAVIGATION_TEXT' hash are defined
+ dynamically, in the `init_out' function reference (*note Output
+ initialization::).
+
+ If icons are used, the button is an image with file determined by
+ the value associated with the element label in the `%ACTIVE_ICONS'
+ hash if the the link really leads to an element, or in the `%PASSIVE_ICONS'
+ hash if there is no element to link to. Of course if there is a
+ link to the element the icon links to that element.
+
+
+File: texi2html.info, Node: Panel formatting function, Prev: Button specifications, Up: Navigation panel
+
+6.3.3 Changing the navigation panel formatting
+----------------------------------------------
+
+If you are not satisfied with this scheme, it is possible to control
+exactly the formatting of navigation panels by redefining a function
+reference. The function controlling the display of navigation panel is
+associated with the following function reference:
+
+ -- Function Reference: print_navigation $filehandle \@buttons $vertical
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@BUTTONS is an array reference which should hold the
+ specification of the buttons for that navigation panel. $VERTICAL
+ is true if the navigation panel should be vertical.
+
+
+File: texi2html.info, Node: Program variables, Next: Output initialization, Prev: Navigation panel, Up: Changing the page layout
+
+6.4 Main program variables and usefull functions
+================================================
+
+In the functions controlling the page layout some global variables set
+by the main program are available, with value corresponding with the
+current layout element.
+
+* Menu:
+
+* Elements hashes:: Accessing information related with the
+ different elements
+* Global informations:: Accessing global informations, like date,
+ title...
+* Global functions:: main program usefull functions
+
+
+File: texi2html.info, Node: Elements hashes, Next: Global informations, Up: Program variables
+
+6.4.1 Accessing elements informations
+-------------------------------------
+
+Four hashes are available, with key the elements labels (as described
+in *Note Element labels::) and values:
+
+`%Texi2HTML::NAME'
+ The formatted element name
+
+`%Texi2HTML::HREF'
+ The element hypertext reference
+
+`%Texi2HTML::NODE'
+ The element node name
+
+`%Texi2HTML::NO_TEXI'
+ The element name after removal of texi commands
+
+
+File: texi2html.info, Node: Global informations, Next: Global functions, Prev: Elements hashes, Up: Program variables
+
+6.4.2 Accessing global informations
+-----------------------------------
+
+Three kinds of global informations are available, miscalleneous global
+strings, flags set by `@set' and special flags and section lines.
+
+Global strings
+..............
+
+The `%Texi2HTML::THISDOC' hash holds some global informations:
+
+`fulltitle'
+ title set by `@title'. If there is no `@title' other possibilities
+ are tried (`@settitle', `@shorttitlepage'...).
+
+`title'
+ title set by `@settitle', or `fulltitle'.
+
+`title_no_texi'
+ title without texi formatting
+
+`title_texi'
+ title with texi commands
+
+`author'
+ Authors list set by `@author'.
+
+`authors'
+ A reference on an array containing each author set by `@author'.
+
+`copying'
+ Text appearing in `@copying' with all the texinfo commands removed,
+ put in comments.
+
+`program'
+ The name and version of `texi2html'.
+
+`program_homepage'
+ Homepage for `texi2html'.
+
+`program_authors'
+ Authors of `texi2html'.
+
+`file_base_name'
+ base name of the texinfo manual file.
+
+`destination_directory'
+ Destination directory for the resulting files.
+
+`toc_file'
+ The file name of the table of contents.
+
+`today'
+ The date.
+
+ It also holds the arg of the following commands, associated with the
+command name: kbdinputstyle, paragraphindent, setchapternewpage,
+headings, footnotestyle, exampleindent, firstparagraphindent,
+everyheading, everyfooting, evenheading, evenfooting, oddheading,
+oddfooting.
+
+Flags
+.....
+
+Flags defined by `@set' may be accessed through the `%main::value'
+hash. The key is the flag name, the value is the flag value at the end
+of the document.
+
+ Special flags are set by the main program. They correspond with a
+texinfo command, like `@setfilename', or `@settitle', `@author'... The
+corresponding flag is the command name with `_' appended, for example,
+`_titlefont' corresponds with `@titlefont'. Like other flags they are
+available in `%main::value'.
+
+Section lines
+.............
+
+The following array references or arrays holds formatted lines:
+
+`$Texi2HTML::THIS_SECTION'
+ Lines of the current element.
+
+`$Texi2HTML::THIS_HEADER'
+ Lines of the current element appearing before the element label
+ (anchors).
+
+`$Texi2HTML::OVERVIEW'
+ Lines of short table of contents. *Note Special pages::.
+
+`$Texi2HTML::TOC_LINES'
+ Lines of table of contents. *Note Special pages::.
+
+
+File: texi2html.info, Node: Global functions, Prev: Global informations, Up: Program variables
+
+6.4.3 Function usefull in page formatting
+-----------------------------------------
+
+The usefull function is a function used to print an array of lines,
+which also counts the number of words in the array, if needed.
+
+ -- Function: $words_number main::print_lines $filehandle \@lines_array
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@LINES_ARRAY is the array line the function should write to the
+ file. If this argument is omitted, the function uses `$Texi2HTML::THIS_SECTION'.
+ $WORDS_NUMBER is the number of words in the array, only defined if
+ split at nodes and `$WORDS_IN_PAGE' is defined.
+
+
+File: texi2html.info, Node: Output initialization, Next: Output finalization, Prev: Program variables, Up: Changing the page layout
+
+6.5 Preparing the output
+========================
+
+After the texinfo file has been parsed, some information is available
+which can be used to modify some variables and prepare the outputting.
+For example the document language, the document encoding, values set
+with `@set' or `@setfilename' and other similar @-commands are not
+known before the texinfo parsing.
+
+ The following function reference may be redefined to be called after
+texinfo processing and before document generation:
+
+ -- Function Reference: $encoding init_out
+ This function perform the initialization of variables and any other
+ task before document outputting. It returns the encoding used for
+ the output files.
+
+ In the default case the `$BODYTEXT' (*note Customizing header::) and
+the hashes `%NAVIGATION_TEXT' (*note Button specifications::) and `%BUTTONS_GOTO'
+(*note About text::) are initialized.
+
+ To perform the default initializations and also add more code, you
+could do as in the following example (save the default function
+reference and call it in your own function) :
+
+ my $default_init_out = $init_out;
+ $init_out = \&makeinfo_like_init_out;
+ sub makeinfo_like_init_out()
+ {
+ my $encoding = &$default_init_out();
+ $NAVIGATION_TEXT{'Following'} = ' &gt; ';
+ return $encoding;
+ }
+
+
+File: texi2html.info, Node: Output finalization, Next: css, Prev: Output initialization, Up: Changing the page layout
+
+6.6 Finalizing the output
+=========================
+
+If you want to do some cleaning after the document was generated (close
+files, write at the end of files and so on), the following function
+reference may be redefined:
+
+ -- Function Reference: finish_out
+ This function is called after the document generation.
+
+ The default is to do nothing.
+
+
+File: texi2html.info, Node: css, Next: Customizing header, Prev: Output finalization, Up: Changing the page layout
+
+6.7 Customizing the `texi2html' css lines
+=========================================
+
+It is possible to modify the `texi2html' css lines by modifying the
+entries or adding to the `%css_map' hash. Each key is a css selector,
+the corresponding value is a style string.
+
+ The whole css text is in the variable `$CSS_LINES'. If this variable
+is defined the variable value is used instead of being constructed
+using the `%css_map' entries. For example if you don't want any css
+entries, set
+
+ $CSS_LINES = '';
+
+ It is also possible to change completely the way `$CSS_LINES' are
+generated by redefining the following function reference:
+
+ -- Function Reference: css_lines \@import_lines \@rule_lines
+ This function should be used to construct the `$CSS_LINES'.
+ \@IMPORT_LINES are the `@import' lines of the files specified with `--include-css',
+ and \@RULE_LINES are the css commands lines of these files. *Note
+ Style options::.
+
+
+File: texi2html.info, Node: Customizing header, Next: Customizing section, Prev: css, Up: Changing the page layout
+
+6.8 Customizing the page header
+===============================
+
+It is possible to add lines to the text within the `<head>' HTML
+elements, by defining the variable `$EXTRA_HEAD'. Similarly it is
+possible to add text just after the `<body>' element with the variable `$AFTER_BODY_OPEN'.
+These variables are empty by default.
+
+ The encoding of the texinfo file is defined by `$DOCUMENT_ENCODING'
+if no `@documentencoding' appears in the document. The default is a
+`en-ascii' encoding. The encoding of the resulting document is defined
+by `$ENCODING'. The default is the `$DOCUMENT_ENCODING'.
+
+ The description of the document may be specified in `$DOCUMENT_DESCRIPTION'.
+If this variable is undef, the text associated with
+`@documentdescription' is used, and if there isn't such test a default
+description is constructed using the document title and the name of the
+first section of the file.
+
+ The `<body>' element attributes may be set by defining the variable `$BODYTEXT'.
+If you want to define that variable dynamically, you should use the
+`init_out' function reference (*note Output initialization::).
+
+ The default functions call the function associated with `$print_head_navigation'
+to format the navigation panel for the page header. Thus you can
+control parts of the formatting by redefining the function reference.
+
+ -- Function Reference: print_head_navigation $filehandle \@buttons
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@BUTTONS is an array reference which should hold the
+ specification of the buttons for the navigation panel.
+
+ If you want even more control, you can have full control over the
+page header formatting by redefining three function references. The
+function associated with `$print_page_head' is called for all the
+pages, and after that, the function associated with `$print_chapter_header'
+is called if the document is split at chapters, or the function
+associated with `$print_section_header' is called if the document is
+split at sections.
+
+ -- Function Reference: print_page_head $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function should print the page head, including the `<body>'
+ element.
+
+ -- Function Reference: print_chapter_header $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at chapters, after
+ `print_page_head'.
+
+ -- Function Reference: print_section_header $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at sections, after
+ `print_page_head'.
+
+
+File: texi2html.info, Node: Customizing section, Next: Customizing footer, Prev: Customizing header, Up: Changing the page layout
+
+6.9 Customizing the sections
+============================
+
+The functions associated with the following function references are
+used for the formatting of sections:
+
+ -- Function Reference: print_section $filehandle $first_in_page
+ $previous_is_top
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $FIRST_IN_PAGE is true if this section is the first section in the
+ page. $PREVIOUS_IS_TOP is true if this section is the section
+ following the Top section. This function should print the current
+ section.
+
+ -- Function Reference: end_section $filehandle
+ $last_element_or_before_top
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $LAST_ELEMENT_OR_BEFORE_TOP is true if this section precedes the
+ top element or is the last one in page, or before the special
+ elements.
+
+
+File: texi2html.info, Node: Customizing footer, Next: Special pages, Prev: Customizing section, Up: Changing the page layout
+
+6.10 Customizing the page footer
+================================
+
+It is possible to add text just before the `</body>' element with the
+variable `$PRE_BODY_CLOSE'. Nothing is added by default.
+
+ The default functions call the function associated with `$print_foot_navigation'
+to format the navigation panel for the page footer. Thus you can
+control parts of the formatting by redefining the function reference.
+
+ -- Function Reference: print_foot_navigation $filehandle \@buttons
+ $FILEHANDLE is the opened filehandle the function should write to.
+ \@BUTTONS is an array reference which should hold the
+ specification of the buttons for the navigation panel.
+
+ If you want even more control, you can have full control the page
+footer formatting by redefining three function references. The
+function associated with `$print_chapter_footer' is called if the
+document is split at chapters, or the function associated with `$print_section_footer'
+is called if the document is split at sections. After that the
+function associated with `$print_page_foot' is called.
+
+ -- Function Reference: print_page_foot $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function should print the page foot, including the `</body>'
+ element.
+
+ -- Function Reference: print_chapter_footer $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at chapters,
+ before `print_page_foot'.
+
+ -- Function Reference: print_section_footer $filehandle
+ $FILEHANDLE is the opened filehandle the function should write to.
+ This function is called if the document is split at sections,
+ before `print_page_foot'.
+
+
+File: texi2html.info, Node: Special pages, Next: File names, Prev: Customizing footer, Up: Changing the page layout
+
+6.11 Special pages formatting
+=============================
+
+For the special elements, two things must be formatted: the content and
+the page layout
+
+* Menu:
+
+* Special pages content::
+* Special pages layout::
+
+
+File: texi2html.info, Node: Special pages content, Next: Special pages layout, Up: Special pages
+
+6.11.1 Customizing the content of the special pages
+---------------------------------------------------
+
+* Menu:
+
+* Top element text::
+* Contents and Overview text::
+* Footnotes text::
+* About text::
+
+
+File: texi2html.info, Node: Top element text, Next: Contents and Overview text, Up: Special pages content
+
+6.11.1.1 Top element text formatting
+....................................
+
+The top element formatting is controlled by three function which also
+controls the layout of the top element page or section. The associated
+function references are:
+
+ -- Function Reference: print_Top_header $filehandle $begin_page
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $BEGIN_PAGE is true if the element is the first in a page. This
+ function should begin the Top element. At the time this function
+ is called the top element text hasn't been parsed.
+
+ -- Function Reference: print_Top $filehandle $has_top_heading
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $HAS_TOP_HEADING is true if there is a `@heading' command or
+ `@titlefont' command appearing in the Top element text. This
+ function should be used to format the Top element text and
+ navigation panel.
+
+ -- Function Reference: print_Top_footer $filehandle $end_page
+ $FILEHANDLE is the opened filehandle the function should write to.
+ $END_PAGE is true if the element is the last in a page. This
+ function should end the Top element.
+
+
+File: texi2html.info, Node: Contents and Overview text, Next: Footnotes text, Prev: Top element text, Up: Special pages content
+
+6.11.1.2 Table of contents and Short table of contents
+......................................................
+
+Several variables may be used to control the formatting of table of
+contents and short table of contents:
+
+`$DO_CONTENTS'
+ If the variable is true a table of contents is done even if there
+ is no `@contents' command.
+
+`$DO_SCONTENTS'
+ If the variable is true a short table of contents is done even if
+ there is no `@summarycontents' command.
+
+`$BEFORE_OVERVIEW'
+ The variable value is inserted before the short table of contents
+ text.
+
+`$AFTER_OVERVIEW'
+ The variable value is inserted after the short table of contents
+ text.
+
+`$BEFORE_TOC_LINES'
+ The variable value is inserted before the table of contents text.
+
+`$AFTER_TOC_LINES'
+ The variable value is inserted after the table of contents text.
+
+`$TOC_LIST_STYLE'
+ This should contain a css style used for the list style if the
+ tables of content are formatted with a list.
+
+`$TOC_LIST_ATTRIBUTE'
+ This should contain an attribute text used for the list element if
+ the tables of content are formatted with a list.
+
+ More control on the table of contents and short table of contents
+formatting may be achieved by redefining a function with the following
+associated function reference:
+
+ -- Function Reference: toc_body \@elements
+ \@ELEMENTS is an array reference contining informations about all
+ the elements of the document. Each of the entry of this array is
+ an hash reference which entries correspond with different
+ informations about the element. Interesting keys have the
+ following meaning:
+
+ `top'
+ true if the element is the top element,
+
+ `index_page'
+ true if the element is an index page added because of index
+ splitting,
+
+ `toc_level'
+ level of the element in the table of content. Highest level
+ is 1 for the top element and for chapters, appendix and so on,
+ 2 for section, unnumberedsec and so on...
+
+ `tocid'
+ label used for reference linking to the element in table of
+ contents,
+
+ `file'
+ the file containing the element, usefull to do href to that
+ file in case the document is split,
+
+ `text'
+ text of the element, with section number,
+
+ `name'
+ text of the element, without section number.
+
+ This function doesn't return anything but should fill the array
+ corresponding with the `$Texi2HTML::TOC_LINES' and `$Texi2HTML::OVERVIEW'
+ references with the table of contents and short table of contents.
+
+
+
+File: texi2html.info, Node: Footnotes text, Next: About text, Prev: Contents and Overview text, Up: Special pages content
+
+6.11.1.3 Formatting of footnotes text
+.....................................
+
+The footnotes text is allready formatting when `@footnote' commands are
+expanded. *Note Footnotes::.
+
+
+File: texi2html.info, Node: About text, Prev: Footnotes text, Up: Special pages content
+
+6.11.1.4 Formatting of about text
+.................................
+
+The default about element contains an explaination of the buttons used
+in the document (`@SECTION_BUTTONS', *Note Button specifications::) and
+an example locating the buttons targets in an example. The formatting
+of this text may be influenced by the following hashes and variables:
+
+`$PRE_ABOUT'
+`$AFTER_ABOUT'
+ This variable may be a scalar or a function reference. If it is a
+ scalar, the value is used. If this is a function reference it is
+ expanded and the returned text is used. The text is added before
+ or after the main about text.
+
+`%BUTTONS_GOTO'
+ The keys of this hash are element labels (*note Element labels::).
+ The value is the text associated with the element label in the
+ about text. The element of the hash are defined dynamically, you
+ should in the `init_out' function reference (*note Output
+ initialization::).
+
+`%BUTTONS_EXAMPLE'
+ The keys of this hash are element labels (*note Element
+ labels::). The value is the text associated with the element label
+ in the about example, typically a section number.
+
+
+ If this is not enough and you want to control exactly the formatting
+of the about text, you can redefine the function associated with the
+following function reference:
+
+ -- Function Reference: $about_text print_about
+ This function should return the about text.
+
+
+File: texi2html.info, Node: Special pages layout, Prev: Special pages content, Up: Special pages
+
+6.11.2 Customizing the layout of the special pages
+--------------------------------------------------
+
+The formatting of each of the special pages, or section in case the
+document is not split, is controlled by a function. The associated
+function reference is called accordingly:
+
+`print_Top'
+
+`print_Top_header'
+
+`print_Top_footer'
+ Formatting of top element page or section. It is also used for the
+ formatting of the top element text (*note Top element text::).
+
+`print_Toc'
+ Formatting of table of contents page or section
+
+`print_Overview'
+ Formatting of short table of contents page or section
+
+`print_About'
+ Formatting of about (help) page or section
+
+`print_Footnotes'
+ Formatting of footnotes section or page in case footnotes are on a
+ separated page or the document isn't split.
+
+ In the default case, `$print_Top' calls `$print_Top_header' for the
+header and `$print_Top_footer' for the footer of top element. All the
+other function call `$print_misc' which in turn calls `$print_misc_header'
+for the headers and `$print_misc_footer' for the footers.
+
+
+File: texi2html.info, Node: File names, Next: External index files, Prev: Special pages, Up: Changing the page layout
+
+6.12 Customizing the file names
+===============================
+
+It is possible to specify the file names with more control than with the
+command line options (*note Output files::). First the extension may
+be overrided by the variable `$EXTENSION' value. Two function
+references enable further customization. One is usefull in case `$NODE_FILES'
+is true and it is used to customize the node file name itself and is
+also used to produce a file name with a redirection leading to the node
+file.
+
+ -- Function Reference: ($node_file $redirection_node_file)
+node_file_name $node
+ $NODE is a hash reference with the following interesting keys
+ (there are much more keys):
+ `texi'
+ The texinfo node name.
+
+ `with_section'
+ True if associated with a section.
+ The result is the node file name $NODE_FILE, and the file
+ containing a redirection to the node $REDIRECTION_NODE_FILE.
+
+ The other is usefull if `$NODE_FILES' isn't true. It is used to
+customize the file associated with each element.
+
+ -- Function Reference: $file element_file_name $element $is_top
+ $docu_name
+ $ELEMENT is a hash reference with the following interesting keys
+ (there are much more keys):
+ `texi'
+ The texinfo element name.
+
+ `number'
+ The number associated with a section.
+
+ `doc_nr'
+ A number incremented whenever a new file should begin, based
+ on how the document is split (*note Splitting output::).
+
+ `text'
+ The element text.
+
+ `name'
+ The element text without section number.
+ $IS_TOP is true if the element is considered as the top element.
+ $DOCU_NAME is the basename of the texinfo manual. The result is
+ the element file name.
+
+
+File: texi2html.info, Node: External index files, Prev: File names, Up: Changing the page layout
+
+6.13 Generation of external files for index entries
+===================================================
+
+Within the document, `@printindex' commands are expanded as explained
+in *Note Index list::. In case you want to do something special with
+index entries, outside of the document, you should first set the
+variable `$IDX_SUMMARY' true. After that some function reference will
+be called for each non empty index. For each index there are 3 function
+references, one called for initialization, one called for each index
+entry and the last one called for finalazation.
+
+ -- Function Reference: index_summary_file_begin $index_name $is_printed
+ $INDEX_NAME is the two letters name for the index. This function
+ is called for each index appearing in the document, before
+ `index_summary_file_entry'. $IS_PRINTED is true if there is a
+ `@printindex' for that index.
+
+ -- Function Reference: index_summary_file_entry $index_name
+ $entry_text $entry_reference $formatted_entry $texi_entry
+ $entry_element_reference $entry_element_header $is_printed
+ This function is called for each entry of an index. INDEX_NAME is
+ the name of the index. $ENTRY_TEXT is the entry in plain text,
+ $FORMATTED_ENTRY is the index entry formatted, $TEXI_ENTRY is the
+ entry with texinfo commands. $ENTRY_REFERENCE is the reference
+ placed at the index entry place, in the form `file#id'.
+ $ENTRY_ELEMENT_HEADER is the formatted header of the element
+ containing the index entry. ENTRY_ELEMENT_HEADER is the reference
+ to the beginning of the element containing the index entry, in the
+ form `file#id'. $IS_PRINTED is true if there is a `@printindex'
+ for that index.
+
+ -- Function Reference: index_summary_file_end $index_name $is_printed
+ $INDEX_NAME is the two letters name for the index. This function
+ is called for each index appearing in the document, after
+ `index_summary_file_entry'. $IS_PRINTED is true if there is a
+ `@printindex' for that index.
+
+
+File: texi2html.info, Node: Customizing HTML, Next: Internationalization, Prev: Changing the page layout, Up: Top
+
+7 Customizing HTML and text style in init files
+***********************************************
+
+Some simple customization may be achieved with the redefinition of the
+variables associated with the command line options. For the description
+and an explanation of the meaning of these variables, *Note Style
+options::.
+
+ Other variables and hash entries can be modified in initialization
+file to achieve more customization. Lastly, functions references
+corresponding with functions called from the main program and
+initialization files may be redefined.
+
+* Menu:
+
+* Three contexts:: there are three different contexts for command
+ expansion: normal text, preformatted text and
+ strings.
+* Commands without argument::
+* Style and accent commands::
+* Anchors images and spaces:: Formatting of `@anchor', `@image', `@sp', `@acronym', `@abbr'
+* Text:: Some characters are processed specially
+* Strings:: `texi2html' write some strings in the output
+ different for each languages
+* References::
+* Alignement commands:: `@center', `@flushleft'...
+* Paragraph and preformatted region::
+* Complex formats:: `@example', `@display'...
+* Lists tables::
+* Definitions::
+* Headings::
+* Special regions:: `@verbatim', `@cartouche', `@quotation'
+* Menus::
+* Indices::
+* Floats and lists of floats:: `@float' and `@listoffloats'
+* Footnotes::
+* Other and unknown commands:: You can handle specifically other commands
+
+
+File: texi2html.info, Node: Three contexts, Next: Commands without argument, Up: Customizing HTML
+
+7.1 Three contexts for expansions: preformatted, normal and string
+==================================================================
+
+There are three contexts of interest, one is the normal context, the
+other is a special context, called the "preformatted" context and the
+last is the string context. The preformatted context occurs when the
+spacing between words is kept. This is the case, for example, in
+`@display' or `@example' regions, and in menu comments (*note Menus::).
+The preformatted regions are usually rendered in `<pre>' elements in
+HTML. The string context occurs when rendering strings without
+formatting elements, in comments or titles for example.
+
+
+File: texi2html.info, Node: Commands without argument, Next: Style and accent commands, Prev: Three contexts, Up: Customizing HTML
+
+7.2 Customizing the formatting of commands without argument
+===========================================================
+
+This includes the commands whose name is a nonletter character like
+`@@', the commands with lettered characters and braces but whose braces
+should be empty, like `@TeX{}', or some commands associated with
+accentted letters like `@AA{}'. If there happens to be something within
+the braces, it is put after the command, thus
+ @TeX{something}
+ leads to the same than
+ @TeX{} something
+
+ Each of these categories of commands have three associated hashes,
+one for normal context, the other for preformatted context and the last
+in strings. The keys of the hashes are the command names, the
+associated value is the text replacing the command.
+
+ The hashes are:
+command type normal text preformatted text string
+one nonlettered character `%simple_map' `%simple_map_pre' `%simple_map_texi'
+nothing in braces `%things_map' `%pre_map' `%texi_map'
+
+ To change the HTML resulting from these constructs, just change the
+value. For example, if you want `&shy;' to be outputted for `@-' in
+normal and preformatted context, write in your init file:
+
+ $simple_map{'-'} = '&shy;';
+ $simple_map_pre{'-'} = '&shy;';
+
+
+File: texi2html.info, Node: Style and accent commands, Next: Anchors images and spaces, Prev: Commands without argument, Up: Customizing HTML
+
+7.3 Customizing accent, style and other simple commands
+=======================================================
+
+The formatting of the HTML produced by style and indicatric commands
+(`@tt', `@code', `@email', `@titlefont'), the accentuation related
+commands taking argument (`@'', `@udotaccent', `@dotless') and
+miscalleneous commands (`@email', `@verb', `@w', `@uref', `@math',
+`@asis') is controlled by two hash in the default case, `%style_map'
+for normal context, `%style_map_pre' for preformatted context and `%style_map_texi'
+in string context.
+
+ The key of the hashes are the command names. There are two
+possibilities for the values corresponding with two interfaces. The
+values may be strings or hash references, and you can chose the
+interface depending on the one you prefer. The interface with hash
+reference is a bit more flexible but might also be regarded as more
+complex. If you don't like either of these interfaces you can define
+your own.
+
+ Some remarks are in order:
+
+ * The nonlettered accent commands which following character is
+ considered to be the argument (like in `@`a') should be keys of the
+ hash `%accent_map' hash, even if no value is associated.
+
+ * `@math' is handled differently if LaTeX2HTML is used.
+
+* Menu:
+
+* Hash reference interface::
+* String interface::
+* Define your own interface::
+
+
+File: texi2html.info, Node: Hash reference interface, Next: String interface, Up: Style and accent commands
+
+7.3.1 An interface for commands formatting with a hash reference
+----------------------------------------------------------------
+
+The key of the hashes are the command names. The value determine how
+the command argument is formatted. This value is a reference on a hash.
+In this hash each key corresponds with a type of information for the
+formatting, and the value is the corresponding information. For
+example, in
+
+ $style_map{'command'} = { 'args' => ['code'], 'attribute' => 'code'};
+
+ the arguments for `@command' are interpreted as specified by the
+values associated with the `args' key while the attribute associated
+with that command is `code'.
+
+ The following keys in the hashes associated with each command have
+the following meaning:
+
+`args'
+ The value associated is a reference on an array. Each element of
+ the array defines how the arguments (separated by `,' in the
+ texinfo code) for the @-command should be formatted. The
+ possibilities are
+ `normal'
+ for normal text,
+
+ `code'
+ for text with `---', `--', `''' and ```' kept as is,
+
+ `keep'
+ if the texinfo should be kept as is, without interpretation
+ of the @-commands.
+
+ For example, we have
+ $style_map{'email'}->{'args'} = ['code', 'normal'];
+
+ because `---', `--', `''' and ```' should be kept as is in the
+ first argument of `@email'.
+
+ The default is `['normal']'.
+
+`attribute'
+ If the associated value is a word, it is considered to be an HTML
+ element name, and the argument is enclosed between the element
+ opening and the element closing. For example, if the value is
+ `elem', the resulting HTML is `<elem>ARG</elem>'.
+
+ If the text is a word followed by some text, the word and is
+ interpreted as above, and the text is considered to be the
+ attributes text of the element. Thus `elem class="elem"' leads to
+ `<elem class="elem">ARG</elem>'.
+
+ This works only if there is only one argument.
+
+`begin'
+ The associated value is added in front of the text.
+
+`begin'
+ The associated value is added after the text.
+
+`quotes'
+ If the corresponding value is true, the result is enclosed in
+ quotes `$OPEN_QUOTE_SYMBOL' and `$CLOSE_QUOTE_SYMBOL', with
+ defaults ``' and `''.
+
+`function'
+ The corresponding value should be a function reference. The
+ corresponding function is called with the following arguments:
+
+ `$command'
+ The @-command name
+
+ `$args'
+ A reference on an array containing the arguments of the
+ @-command.
+
+ `$style_stack'
+ A reference on an array containing the name of the @-commands
+ containing the @-command being formatted.
+
+ `$state'
+ A reference on a hash containing a lot of informations about
+ the context of the @-command.
+
+ `$line_nr'
+ An opaque structure containing the information about the line
+ number of the @-command. It can be used to call
+ `main::echo_error' or `main::echo_warning' with first
+ argument a message, and second argument `$line_nr'.
+
+
+File: texi2html.info, Node: String interface, Next: Define your own interface, Prev: Hash reference interface, Up: Style and accent commands
+
+7.3.2 An interface for commands formatting with a string
+--------------------------------------------------------
+
+The keys of the hashes are the command names. The value determine how
+the command argument is formatted. If the value begins with `"', the
+result is enclosed in quotes `$OPEN_QUOTE_SYMBOL' and `$CLOSE_QUOTE_SYMBOL',
+with defaults ``' and `''.
+
+ The command argument is allready formatted as HTML. The remaining
+of the value text (or the value text if there were no `"') is
+interpreted as follow:
+
+ * If the text is empty the argument of the command is left as is.
+
+ * If the text is a `&' followed by a name, like `&function', the
+ name is considered to be a function name, and this function is
+ called to format the argument of the command. The first argument
+ of the function is the command name, the second is the command
+ argument. For example, if the value associated with the
+ (fictituous) command `@foo' is `&my_func' and we have:
+
+ sub my_func
+ {
+ my @args = split /,\s*/ $_[1];
+ return "$_[0]: $args[0]" if ($args[1] = 1);
+ return "$args[0]";
+ }
+
+ The result of
+ @foo{truc, 1}
+ @foo{truc, bidule}
+ will be
+ foo: truc
+ truc
+
+ * If the text is a word, it is considered to be an HTML element
+ name, and the argument is enclosed between the element opening and
+ the element closing. For example, if the value is `elem', the
+ resulting HTML is `<elem>ARG</elem>'. Similarly `"quoted' leads to
+ ``<quoted>ARG</quoted>''.
+
+ * If the text is a word followed by some text, the word and is
+ interpreted as above, and the text is considered to be the
+ attributes text of the element. Thus `elem class="elem"' leads to
+ `<elem class="elem">ARG</elem>'.
+
+
+File: texi2html.info, Node: Define your own interface, Prev: String interface, Up: Style and accent commands
+
+7.3.3 Defining the style and indicatric commands interface
+----------------------------------------------------------
+
+If you don't like this scheme, it is possible to change how those
+commands are processed by redefining the following function reference:
+
+ -- Function Reference: $resulting_text style $style $command $text
+ $args $no_close $no_open $line_nr $state $style_stack
+ $COMMAND is the @-command, $STYLE is the value associated with the
+ $COMMAND in the `%style_map', `%style_map_pre' or
+ `%style_map_texi' hashes. The $TEXT is the text appearing within
+ the @-command braces. ARGS is a reference on an array contening
+ the command arguments formatted according to the same conventions
+ than with the reference hash style (provided the value associated
+ with the @-command is a hash reference with a $ARG key as
+ described in *Note Reference hash args::). If $TEXT is split in
+ paragraphs each paragraph is passed through the function, and
+ $NO_CLOSE is true if it is not the last paragraph, while $NO_OPEN
+ is true if it is not the first paragraph. $LINE_NR is an opaque
+ structure containing the information about the line number of the
+ @-command. It can be used to call `main::echo_error' or
+ `main::echo_warning' with first argument a message, and second
+ argument `$line_nr'. $STATE is a reference on a hash containing a
+ lot of informations about the context of the @-command.
+ $STYLE_STACK is a reference on an array containing the name of the
+ @-commands containing the @-command being formatted.
+
+
+
+File: texi2html.info, Node: Anchors images and spaces, Next: Text, Prev: Style and accent commands, Up: Customizing HTML
+
+7.4 Formatting of special simple commands
+=========================================
+
+The formatting of special simple commands is controlled by functions. To
+customize the output, the corresponding function references should be
+redefined. All these functions return a formatted text.
+
+ The formatting of anchors is controlled by `$anchor', but the
+function associated with the function reference does more, it is usefull
+to produce a reference target or link.
+
+ -- Function Reference: $anchor anchor $identifier $href $text
+ $attributes
+ If $IDENTIFIER is not empty, this value should be used to create a
+ target for links (typically associated with a name or id attribute
+ in HTML). The $HREF argument specifies a hpertextual reference
+ which should be used to link to a target. In case both
+ $IDENTIFIER and $HREF are given the text produced should be both
+ a target for $IDENTIFIER and a link to $HREF. $TEXT is the text
+ to be displayed. $ATTRIBUTES are additional attributes. It
+ should be reasonable to assume that the attributes are for a `<a>'
+ HTML element.
+
+ The formatting of `@image' is controlled by:
+
+ -- Function Reference: $image image $file_path $basename $preformatted
+ $file_name
+ $FILE_PATH is the image file name with the path, $BASENAME is the
+ alternate text or the file name without extension if no alternate
+ text is given. $PREFORMATTED is true if the image appears in
+ preformatted text. $FILE_NAME is the file name without path but
+ with extension.
+
+ The formatting of `@sp' is controlled by:
+
+ -- Function Reference: $sp sp $number $preformatted
+ $NUMBER is the numeric argument of `@sp'. $PREFORMATTED is true
+ if the `@sp' appears in preformatted text.
+
+ The formatting of `@acronym' and `@abbr' is controlled by:
+
+ -- Function Reference: $acronym acronym_like $acronym_texi
+ $acronym_text $with_explanation \@explanation_lines
+ $explanation_text $explanation_simply_formatted
+ $ACRONYM_TEXI is the acronym argument with texinfo @-commands,
+ $ACRONYM_TEXT is formatted.
+
+ The other arguments are related with the explanation, the second
+ arg of the acronym. $WITH_EXPLANATION is true if the second
+ argument of the acronym command is present. If an explanation
+ exists, coming from previous `@acronym' or as an arg of this
+ command, the other args are defined: \@EXPLANATION_LINES is a
+ reference on an array containing the unformatted explanation lines,
+ $EXPLANATION_TEXT is the explanation text formatted,
+ $EXPLANATION_SIMPLY_FORMATTED is the explanation with a light
+ formatting, unabling in HTML (or XML) the explanation to be in an
+ attribute.
+
+
+File: texi2html.info, Node: Text, Next: Strings, Prev: Anchors images and spaces, Up: Customizing HTML
+
+7.5 Processing special characters in text
+=========================================
+
+Some characters are processed especially in text: `---', `--', ```' and
+`'''. This is done only if in normal text and not in some commands
+(`@code', `@env'...). A function reference is called to process those
+characters in text
+
+ -- Function Reference: $processed_text normal_text $text
+ The function processes `---', `--', ```' and `''' in $TEXT and
+ returns $PROCESSED_TEXT. The default is to change `---' to `--',
+ `--' to `-', and ```' and `''' to `"'.
+
+ Some characters are special in HTML (`&', `"', `<' and `>') and
+should be protected. This is done by the function associated with the
+function reference
+
+ -- Function Reference: $protected_text protect_text $text
+ The function processes the unprotected text $TEXT and returns the
+ resulting protected text $PROTECTED_TEXT.
+
+ Empty lines are processed by the following function reference, which
+could be usefull if empty lines are to be removed for example
+
+ -- Function Reference: $resulting_text empty_line $empty_line
+ This function processes an $EMPTY_LINE and returns the resulting
+ text $RESULTING_TEXT. Empty lines are left as is by default.
+
+
+File: texi2html.info, Node: Strings, Next: References, Prev: Text, Up: Customizing HTML
+
+7.6 Customizing strings written by `texi2html'
+==============================================
+
+`texi2html' writes some strings in the generated document at various
+places, at the page footers, on the help page, for special section
+headings, buttons alt text and so on. These strings are customizable.
+The string chosen depends on the language of the document (set by `--lang', `$LANG'
+or `@documentlanguage'). This is the basis for internationalization as
+it allows for strings translations.
+
+ The strings are found in a hash reference, `$LANGUAGES'. Each key
+is a language code. The associated value is also a hash reference. The
+key is an english string and the associated value is the string
+replacing the english string, if present. For example, we have
+
+ $LANGUAGES->{'fr'} = {
+ ' Up ' => 'Plus haut',
+ };
+
+ It means that whenever the string ` Up ' is to be written and the
+language is `fr', `Plus haut' is written. It is possible to customize
+the english strings by redefining the `en' language hash.
+
+ When a string contains a `%' followed by `{' NAME `}' it means that
+the string will be expanded by `texi2html'. For example, if we have
+
+ $LANGUAGES->{'fr'} = {
+ 'See %{node_file_href}' => 'Voir %{node_file_href}',
+ };
+
+ `%{node_file_href}' will be expanded to an href for a node in a file
+by `texi2html' in the string. A `%%' will be expanded as `%'.
+
+ For more on internationalization, see *Note Internationalization::.
+
+
+File: texi2html.info, Node: References, Next: Alignement commands, Prev: Strings, Up: Customizing HTML
+
+7.7 References
+==============
+
+* Menu:
+
+* Reference to external manual::
+* Internal reference::
+
+
+File: texi2html.info, Node: Reference to external manual, Next: Internal reference, Up: References
+
+7.7.1 Reference to external manual
+----------------------------------
+
+The references are produced with two function references, one for the
+hypertextual reference construction, the other for the full reference to
+external manual.
+
+ -- Function Reference: $href external_href $node $node_identifier
+ $xml_node_identifier $manual_file_name
+ $NODE is the node name, with @-commands. $NODE_IDENTIFER is the
+ node name mapped to an identifier acceptable as a file name.
+ $XML_NODE_IDENTIFIER is the node name mapped to an identifier
+ acceptable as an XML identifier. Those identifiers are built as
+ explained in *Note HTML Xref: (texinfo)HTML Xref, thus allowing
+ for cross references to external manuals. $FILE is the manual or
+ file name of the external reference. This function should return an
+ href leading to the external manual.
+
+ The default for this function is to make a reference compatible
+ with `makeinfo' (*note HTML Xref: (texinfo)HTML Xref.).
+
+ -- Function Reference: $text external_ref $command $section $book
+ $node_and_file $href $cross_ref_name
+ This function formats a reference to an external texinfo manual.
+ The $COMMAND is the ref command (`ref', `xref' or `pxref', in
+ text, at sentence beginning or in parenthesis). The optionnal
+ $SECTION argument is the section in the book and BOOK is the book
+ title. $NODE_AND_FILE is the node and file name formatted
+ according to the convention used in info: `(file)node'. $HREF it
+ an hypertextual reference to the distant manual constructed using
+ the above function. $CROSS_REF_NAME is an optionnal cross
+ reference name appearing in the reference command. This function
+ returns the text corresponding with the external html manual
+ reference. This function returns the full formatted text of the
+ external reference.
+
+
+File: texi2html.info, Node: Internal reference, Prev: Reference to external manual, Up: References
+
+7.7.2 Reference to an internal node
+-----------------------------------
+
+A function reference is available for internal references.
+
+ -- Function Reference: $text internal_ref $command $href $short_name
+ $name $is_section
+ This function formats a reference to a node in the current manual.
+ The $COMMAND is the ref command (`ref', `xref' or `pxref', in
+ text, at sentence beginning or in parenthesis). $HREF it an
+ hypertextual reference linking to the corresponding node or
+ section. $SHORT_NAME and $NAME hold the text for the reference but
+ $SHORT_NAME can be the node name which is assumed to be shorter
+ than the section name. $IS_SECTION is a boolean true if the
+ reference is a reference to a section. This function returns the
+ full formatted text of the internal reference.
+
+
+File: texi2html.info, Node: Alignement commands, Next: Paragraph and preformatted region, Prev: References, Up: Customizing HTML
+
+7.8 Commands used for centering and flushing of text
+====================================================
+
+When a command controlling the alignement of text is used (`@center',
+`@flushleft' and `@flushright'), the main program takes care of opening
+and closing paragraphs. The alignement commands are the key of the `%paragraph_style'
+hash. The value is used in the function doing the formatting of the
+paragraphs. *Note Paragraph and preformatted region::.
+
+ A function references allows for a customization of the formatting
+of the text appearing in the command block.
+
+ -- Function Reference: $result paragraph_style_command $command $text
+ $COMMAND is the command name, $TEXT is the text appearing within
+ the command. This function returns a formatted text. The default
+ is to return the text unmodified.
+
+
+File: texi2html.info, Node: Paragraph and preformatted region, Next: Complex formats, Prev: Alignement commands, Up: Customizing HTML
+
+7.9 Formatting or not a paragraph or a preformatted region
+==========================================================
+
+* Menu:
+
+* Paragraph and preformatted formatting::
+* Avoiding paragraphs::
+
+
+File: texi2html.info, Node: Paragraph and preformatted formatting, Next: Avoiding paragraphs, Up: Paragraph and preformatted region
+
+7.9.1 Paragraph and preformatted region formatting
+--------------------------------------------------
+
+The formatting of a paragraph region or a preformatted region, is
+controlled by function references:
+
+ -- Function Reference: $paragraph_text paragraph $text $alignement
+ $formatting_command $formatting_command_formatted
+ \$paragraph_number $format $item_number $enumerate_style
+ $number
+ This function formats a paragraph. $TEXT is the text of the
+ paragraph, $ALIGNEMENT is the empty string when no alignement
+ command has been seen, otherwise it is the current alignement
+ command name. *Note Alignement commands::.
+
+ The remaining arguments are usefull when the paragraph appears
+ within a list or table. It is usefull whenever the paragraph has
+ to be formatted differently when appearing in such environments.
+ Moreover in that case the format command (`@itemize'...) may have
+ an associated formatting command. $FORMATTING_COMMAND is this
+ formatting command (like `@minus'). $FORMATTING_COMMAND_FORMATTED
+ is the command formatted in html in case the formatting command is
+ a leading command (like `@minus') which should be leading the
+ first paragraph. \$PARAGRAPH_NUMBER is a reference on the number
+ of paragraphs in that format command. The corresponding variable
+ should be increased when a paragraph is added. $FORMAT is the
+ format command. *Note Table and list items::.
+
+ If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of the
+ item in the list, $ENUMERATE_STYLE is the argument of the
+ enumerate, $NUMBER is the number or letter corresponding with this
+ item.
+
+ -- Function Reference: $preformatted_text preformatted $text $style
+ $region_name $formatting_command
+ $formatting_command_formatted \$preformatted_number $format
+ $item_number $enumerate_style $number
+ This function formats a preformatted region. $TEXT is the text of
+ the preformatted region, $STYLE is the css style associated with
+ that preformatted region (*Note css::). $REGION_NAME is the name
+ of the command opening the preformatted region (`example'..., see
+ *Note Complex formats::) or a identifier for the preformatted
+ context (for example `menu-comment', see *Note Menus::). The
+ alignment commands are not taken into account, as the spaces are
+ preserved in preformatted regions, you should flush and center by
+ hand.
+
+ The remaining arguments are usefull when the preformatted region
+ appears within a list or table. It is usefull whenever the
+ preformatted region has to be formatted differently when appearing
+ in such environments. Moreover in that case the format command
+ (`@itemize'...) may have an associated formatting command.
+ $FORMATTING_COMMAND is this formatting command (like `@minus').
+ $FORMATTING_COMMAND_FORMATTED is the command formatted in html in
+ case the formatting command is a leading command (like `@minus')
+ which should be leading the first preformatted region.
+ \$PREFORMATTED_NUMBER is a reference on the number of preformatted
+ regions in that format command. The corresponding variable should
+ be increased when a preformatted region is added. $FORMAT is the
+ format command. *Note Table and list items::.
+
+ If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of the
+ item in the list, $ENUMERATE_STYLE is the argument of the
+ enumerate, $NUMBER is the number or letter corresponding with this
+ item.
+
+
+File: texi2html.info, Node: Avoiding paragraphs, Prev: Paragraph and preformatted formatting, Up: Paragraph and preformatted region
+
+7.9.2 Avoiding paragraphs in formats
+------------------------------------
+
+It is possible to avoid that a format closes the previous paragraph or
+preformatted region and reopens one, by putting the format command in a
+hash, `%format_in_paragraph' with a true value.
+
+
+File: texi2html.info, Node: Complex formats, Next: Lists tables, Prev: Paragraph and preformatted region, Up: Customizing HTML
+
+7.10 Formatting of complex formats (`@example', `@display'...)
+==============================================================
+
+Here we see how a whole complex format is formatted. For the formatting
+of the text, see *Note Paragraph and preformatted region::.
+
+ The formatting of the complex formats is ultimately controlled by a
+function, however the default for this function uses a hash reference
+and changing the hash reference values should be enough in most cases.
+This hash reference is called `$complex_format_map'. It has a key for
+each of the complex format commands (`example', `smallexample', `lisp',
+`smalllisp', `display', `smalldisplay', `format', `smallformat').
+
+ The associated value is also a reference on a hash. The keys are
+`begin' and `end'. An eval of `begin' should lead to the beginning of
+the formatted HTML, an eval of `end' should lead to the end of the
+formatted HTML. The enclosed text will be formatted as described in
+*Note Paragraph and preformatted region::, and the name of the complex
+format will be available to the function formatting the text.
+
+ If you aren't satisfied with this scheme, you can redefine the
+following function reference for a better control over the complex
+format formatting:
+
+ -- Function Reference: $complex_format_text complex_format
+ $format_name $preformatted_text
+ $FORMAT_NAME is the complex format name, $PREFORMATTED_TEXT is the
+ text allready formatted as described in *Note Paragraph and
+ preformatted region::. This function returns the whole complex
+ format.
+
+
+File: texi2html.info, Node: Lists tables, Next: Definitions, Prev: Complex formats, Up: Customizing HTML
+
+7.11 Customizing the formatting of lists and tables
+===================================================
+
+The formatting of lists and tables is done at two levels:
+ * At the level of the whole region (table or list),
+
+ * At the level of the individual items, rows or cells of the list or
+ table.
+
+* Menu:
+
+* Table and list items::
+* Whole table list::
+
+
+File: texi2html.info, Node: Table and list items, Next: Whole table list, Up: Lists tables
+
+7.11.1 Formatting individual table and list items
+-------------------------------------------------
+
+In texinfo it is possible to give `@itemize' or table command (hereafter
+called a "format command") a "formatting command". For example
+`@minus' is the formatting command here:
+ @table @minus
+
+ The default is to apply the command to the text item, however it is
+possible to avoid it. The hash `%special_list_commands' has an entry
+for each of the format command. Each of these entries is a hash
+reference. If a formatting command is a key of the hash reference, then
+the formatting command is not applied to the text item for that format
+command. For example, if we have:
+
+ $special_list_commands{'itemize'} = { 'bullet' => '' };
+
+ and we have the following `@itemize':
+ @itemize @bullet
+ @item an item
+ @end itemize
+
+ then `@bullet' will not be applied to `an item'.
+
+_lists_
+ The items of lists are formatted using the following function
+ reference:
+
+ -- Function Reference: $list_item list_item $text $format
+ $command $formatted_command $item_number
+ $enumerate_style $number
+ This function formats the text between `@item' commands. $TEXT
+ is the text corresponding with the item. $FORMAT is the type
+ of format, `itemize' or `enumerate'. $COMMAND is the
+ formatting command given in argument to `@itemize',
+ $FORMATTED_COMMAND is this command formatted if it is a
+ leading command, like `@minus'.
+
+ If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of
+ the item in the list, $ENUMERATE_STYLE is the argument of the
+ enumerate, $NUMBER is the number or letter corresponding with
+ this item.
+
+_two column tables_
+ The two columns tables (`@table', `@ftable' and `@vtable'), items
+ are formatted using two function references, one for the first
+ line located on the `@item' line corresponding with the first
+ column, the other for the text appearing on the following lines,
+ corresponding with the second column text.
+
+ -- Function Reference: $table_item table_item $item_text
+ $index_label_text $format $command $formatted_command
+ This function is used to format the text on the `@item' line.
+ $TEXT_ITEM is the text line. In case there is an index entry
+ associated with the `@item' (as with `@ftable' and
+ `@vtable'), $INDEX_LABEL_TEXT is the text inserted at the
+ place where an index entry appears. *Note Index entry place::.
+ $FORMAT is the type of format, `table', `ftable' or `vtable'.
+ $COMMAND is the formatting command given in argument to the
+ table format command, $FORMATTED_COMMAND is this command
+ formatted if it is a leading command, like `@minus'.
+
+ -- Function Reference: $table_line table_line $text
+ This function is used to format the text on the lines
+ following the `@item' line. $TEXT is the corresponding text.
+
+_multitable_
+ The multitable elements formatting is controlled by the functions
+ associated with two function references. One for a cell, and the
+ other for a row.
+
+ -- Function Reference: $multitable_cell cell $text
+ This function is used to format the text of a multitable
+ cell, the text following a `@item' or a `@tab'. $TEXT is the
+ corresponding text.
+
+ -- Function Reference: $multitable_row row $text $item_command
+ This function is used to format a multitable row. $TEXT is
+ the row text, with cells allready formatted with the `$cell'
+ function reference. $ITEM_COMMAND is the command used to
+ introduce the row, such that it is possible to distinguish
+ between `@item' and `@headitem'.
+

-Indirect:
-texi2html.info-1: 2995
-texi2html.info-2: 51146
-texi2html.info-3: 101110
+File: texi2html.info, Node: Whole table list, Prev: Table and list items, Up: Lists tables
+
+7.11.2 Formatting of a whole table or list
+------------------------------------------
+
+If the Texinfo command is a key of the `%format_map', the associated
+value is used to specify the formatting of the construct, otherwise a
+function is called. The value in `%format_map' associated with a
+command is interpreted similarly with values associated with more
+simpler commands:
+
+ * If the text is a word, it is considered to be an HTML element
+ name, and the whole table or list is enclosed between the element
+ opening and the element closing.
+
+ * If the text is a word followed by some text, the word and is
+ interpreted as above, and the text is considered to be the
+ attributes text of the element.
+
+ * If the text is empty nothing is added to the text.
+
+ In case the `%format_map' isn't used, a function reference called
+`$table_list' should be redefined, the associated function will be
+called each time a command isn't found in `%format_map'.
+
+ -- Function Reference: $whole_table_list table_list $command $text
+ $COMMAND is the Texinfo command name, $TEXT is the formatted items.
+
+ If you still want to use `%format_map' but differently from the
+default, it is possible to redefine the following function reference:
+
+ -- Function Reference: $whole_table_list format $command $format $text
+ $COMMAND is the @-command, $FORMAT is the entry associated with
+ $COMMAND in `%format_map'. $TEXT is the formatted items.
+
+
+File: texi2html.info, Node: Definitions, Next: Headings, Prev: Lists tables, Up: Customizing HTML
+
+7.12 Definition commands formatting
+===================================
+
+The formatting of definition commands is controlled by a hash and four
+functions. The hash describes how the text on the definition line is
+interpreted, the functions control the formatting of the definition line
+and the definition function text.
+
+* Menu:
+
+* Definition line::
+* Definition formatting::
+
+
+File: texi2html.info, Node: Definition line, Next: Definition formatting, Up: Definitions
+
+7.12.1 Customizing the interpretation of a definition line
+----------------------------------------------------------
+
+The keys of the hash `%def_map' are definition command names. There
+are two types of entries:
+
+ * If the command is a shortcut for another definition command the
+ value is a text and the definition command is replaced by the text.
+
+ For example if we have:
+ $def_map{'deftruc'} = '@defvr {A truc}';
+
+ and a line like
+ @deftruc var
+
+ the line will be transformed in
+ @defvr {A truc} var
+
+ * If the command isn't a shortcut, it is associated with an array
+ reference. The first element is `f', `v' or `t' corresponding with
+ the index type (`f' for function, `v' for variable, `t' for type).
+
+ The remaining of the array describes how to interpret the text
+ following the definition command on the definition command line.
+ The entry item specify what corresponds with the next bracketed
+ item or word. Currently the possibilities are `category', `name',
+ `type', `class' and `arg'.
+
+ For example if we have
+ def_map{'defvr'} = [ 'v', 'category', 'name' ];
+
+ The first bracketed item following `@defvr' is considered to be
+ the category and the next one is the name. The index associated
+ with the definition line is the variables index.
+
+
+File: texi2html.info, Node: Definition formatting, Prev: Definition line, Up: Definitions
+
+7.12.2 Customization of the definition formatting
+-------------------------------------------------
+
+Four functions are used when formatting a definition command:
+
+category name
+ -- Function Reference: $category definition_category
+ $category_or_name $class $style
+ This function precise a category or an index entry name
+ associating a class $CLASS (if given) with $CATEGORY_OR_NAME.
+ The $STYLE of the definition may be `f', for function, `v',
+ for variable or `t', for type.
+
+formatting of the definition line
+ -- Function Reference: $line def_line $category $name $type
+ $arguments $index_label
+ This function formats the definition line. $CATEGORY is the
+ category formatted with `$definition_category', $NAME, $TYPE
+ and ARGUMENTS are the element of the definition line.
+ $INDEX_LABEL is the text inserted at the place where an index
+ entry appears. *Note Index entry place::.
+
+definition text
+ -- Function Reference: $definition_text def_item $text
+ This function formats the definition text, $TEXT.
+
+the whole definition
+ -- Function Reference: $definition def $text
+ This function formats the whole definition. The definition
+ line and text formatted by the above functions are in $TEXT.
+
+
+
+File: texi2html.info, Node: Headings, Next: Special regions, Prev: Definitions, Up: Customizing HTML
+
+7.13 Customizing headings formatting
+====================================
+
+A function controls the formatting of sectioning element headings, with
+the corresponding function reference:
+
+ -- Function Reference: $heading_text heading \%element_reference
+ The \%ELEMENT_REFERENCE is a reference on a hash corresponding
+ with the sectioning element. The following keys are of interest:
+ `text'
+ The heading text
+
+ `name'
+ The heading text without section number
+
+ `node'
+ true if the sectioning element is a node without associated
+ structuring command
+
+ `level'
+ The level of the element in the document tree. `0' is for
+ `@top', `1' for `@chapter' and so on
+
+ `tag_level'
+ the sectioning element name, with `@raisesections' and
+ `@lowersections' taken into account
+
+
+File: texi2html.info, Node: Special regions, Next: Menus, Prev: Headings, Up: Customizing HTML
+
+7.14 Formatting of special regions (`@verbatim', `@cartouche', `@quotation')
+============================================================================
+
+Regions corresponding with raw text, like `@verbatim', `@html' or
+`@tex' are formatted according to the following function reference:
+
+ -- Function Reference: $raw_region raw $command $text
+ $COMMAND is the command name, $TEXT is the raw text.
+
+ If LaTeX2HTML is used, `@tex' regions are handled differently, from
+within the main program.
+
+ The `@cartouche' command formatting is controlled by the function
+reference:
+
+ -- Function Reference: $cartouche cartouche $text
+ $TEXT is the text appearing within the cartouche.
+
+ The formatting of `@quotation' is controlled by two function
+references. The first one is usefull in case the `@quotation' has an
+argument, as it allows to prepend a string to the quotation text:
+
+ -- Function Reference: $prepended_string quotation_prepend_text $style
+ $text
+ $STYLE is the first argument of the `@quotation' if there are two
+ arguments. $TEXT is the second argument or the first if there is
+ one argument. There are still @-commands in these strings. This
+ function can return a string which will be prepended to the
+ quotation text.
+
+ The whole quotation is formatted by:
+
+ -- Function Reference: $quotation quotation $quotation_text
+ $argument_text $argument_style_texi $argument_style_id
+ $QUOTATION_TEXT is the quotation text, formatted, with the text
+ prepended by the function above. $ARGUMENT_TEXT is the second
+ argument of the `@quotation' or the first if there is one
+ argument, formatted. The other arguments are defiend if there are
+ two arguments for the `@quotation', $ARGUMENT_STYLE_TEXI is this
+ argument, with @-commands, and $ARGUMENT_STYLE_ID is this
+ argument transformed in an identifier which can be used as an XML
+ identifier.
+
+
+File: texi2html.info, Node: Menus, Next: Indices, Prev: Special regions, Up: Customizing HTML
+
+7.15 Menu formatting
+====================
+
+To understand how the formatting of menus is controlled, the different
+parts of a menu are first described, then how to control the formatting
+of each of these parts.
+
+* Menu:
+
+* Menu parts:: A menu consists in menu entry and menu
+ comments
+* Menu formatting::
+
+
+File: texi2html.info, Node: Menu parts, Next: Menu formatting, Up: Menus
+
+7.15.1 The structure of a menu
+------------------------------
+
+In `texi2html', a menu is considered to be composed of 2 parts, the
+"menu entries" and the "menu comments". Menu entries are further
+divided in an "entry link" and optionnaly an "entry description". The
+entry link consists in a node name and an optionnal menu entry name.
+
+ A menu entry begins with `*' at the beginning of the line. It begins
+with the entry link, followed by the description. The description spans
+until the next menu entry, or some text begining at the first character
+of a line or an empty line, not contained within a command block which
+begun in the description. An empty line or a line with text at the
+first character starts a menu comment, which spans until the next menu
+entry.
+
+ Here is an illustration of these rules:
+
+ @menu
+ * node name: entry name. description begins
+ description continues
+ * another menu entry::
+ description begins
+ description continues
+
+ A menu comment, after an empty line
+
+ * node:: description begins
+ A menu comment. The line starts at the first character
+
+ * last entry:: description begins _text
+ of the description, even if the line begins at the first character,
+ because we are in @emph_.
+ @end menu
+
+
+File: texi2html.info, Node: Menu formatting, Prev: Menu parts, Up: Menus
+
+7.15.2 The formatting of the different menu components
+------------------------------------------------------
+
+In the default case, the name of the section corresponding with the
+node is used instead of the node name. If `$NODE_NAME_IN_MENU' is true,
+however, node names are used. If `$AVOID_MENU_REDUNDANCY' is true and
+menu entry equal menu description the description isn't printed. This
+is the default. Likewise, if node or section name equal entry name, do
+not print entry name.
+
+ A symbol, `$MENU_SYMBOL' is put at the beginning of menu entries
+when the node name is used. The default is `&bull;'. If `$UNNUMBERED_SYMBOL_IN_MENU'
+is true it is also put at the beginning of unnumbered section names.
+This is not done by default.
+
+ The menu comments are considered to be preformatted text. The style
+associated with this preformatted text is determined by `$MENU_PRE_STYLE'.
+Default is `font-family: serif'. The css class associated with menu
+comments is `menu-comments'.
+
+ Three function references are associated with the formatting of the
+different parts of a menu:
+
+ -- Function Reference: $link menu_link $section \%state $href $node
+ $name $ending
+ $SECTION is the section name corresponding with the link, $HREF is
+ the link hypertextual reference. $HREF may be absent. \%STATE
+ holds informations about the current context. The only key which
+ could be of interest is `preformatted', true if the context is a
+ preformatted context. *Note Three contexts::. $NODE is the node
+ name, $NAME is the name of the node, and $ENDING is the text
+ ending the link entry.
+
+ -- Function Reference: $description menu_description $description_text
+ \%state
+ $DESCRIPTION_TEXT is the text of the menu description. \%STATE
+ should be used similarly than for the menu link.
+
+ -- Function Reference: $menu_comment menu_comment $text
+ $TEXT is the text of the menu comment. It is in a preformatted
+ environment.
+
+ The following function reference controls the formatting of a wole
+menu:
+
+ -- Function Reference: $menu menu $menu_components_text
+ $MENU_COMPONENTS_TEXT is the formatted menu components text,
+ obtained as explained above.
+
+ The last function reference corresponds with a special case. It is
+used when a menu entry appears within another block command, to avoid
+the possibilities of invalid HTML production. In that case the menu
+description and menu comments are not formatted specially, but treated
+like normal text.
+
+ -- Function Reference: $link simple_menu_link $link_text $href $node
+ $name $ending
+ $LINK_TEXT is the text corresponding with the link name, $HREF is
+ the link hypertextual reference. $NODE is the node name, $NAME is
+ the name of the node, and $ENDING is the text ending the link
+ entry.
+
+
+File: texi2html.info, Node: Indices, Next: Floats and lists of floats, Prev: Menus, Up: Customizing HTML
+
+7.16 Indices formatting
+=======================
+
+Two different things needs to be handled for indices formatting, the
+place where the index term appears, the index entry, and the index list
+itself. The indexing commands like `@cindex' determines where index
+entries appear, and the index list is printed with a `@printindex'
+command.
+
+* Menu:
+
+* Index entry place:: Index entries in the main document are
+ targets for hypertext references
+* Index list:: Customizing the formatting of the index list
+
+
+File: texi2html.info, Node: Index entry place, Next: Index list, Up: Indices
+
+7.16.1 Formatting of index entries
+----------------------------------
+
+Index entry places in the main text may be the target for hypertext
+references. Their formatting is controlled by the function associated
+with the following function reference:
+
+ -- Function Reference: $target index_entry_label $identifier
+ $preformatted
+ $IDENTIFIER should be used to create a target for links (typically
+ associated with a name or id attribute in HTML). $PREFORMATTED is
+ true if the index entry appeared in preformatted text.
+
+
+File: texi2html.info, Node: Index list, Prev: Index entry place, Up: Indices
+
+7.16.2 Customizing the formatting of index lists
+------------------------------------------------
+
+The index entries are sorted alphabetically. A whole index list is
+considered to be composed of letter entries. A letter entry is composed
+by all the index entries beginning with that letter. A letter may be a
+non alphabetical character, but we call it letter here.
+
+ An index summary appears at the beginning and at the end of an index
+list, and should be used to jump directly to a letter entry. Indices
+lists may be split across pages, thus the different letters may appear
+on different files. The number of index entries appearing on each page
+is determined by a variable `$SPLIT_INDEX' if set. The default is to
+split indices after 100 entries.
+
+ The formatting of all these elements is controlled by the following
+function references:
+
+_formatting of a letter in a summary_
+ -- Function Reference: $letter summary_letter $letter $file
+ $identifier
+ This function is used to format a letter appearing in a
+ summary, refering to a letter entry in the index list.
+ $LETTER is the letter. $FILE is the file name where the letter
+ entry appears. More precisely, it is empty when the letter
+ entry is on the same page than the summary, it contains the
+ file name when the index page is split accross page.
+ $IDENTIFIER is an identifier for the target letter entry.
+
+_formatting of a summary_
+ -- Function Reference: $summary index_summary
+ \@alphabetical_letters \@nonalphabetical_letters
+ \@ALPHABETICAL_LETTERS and \@NONALPHABETICAL_LETTERS contain
+ the formatted summary letters, formatted with the above
+ function.
+
+_formatting of an index entry_
+ -- Function Reference: $entry index_entry $entry_href $entry_text
+ $section_href $section_heading
+ $ENTRY_HREF is a reference to the place where the index entry
+ appeared, $ENTRY_TEXT is the corresponding text. $SECTION_HREF
+ is a reference to the beginning of the sectioning element
+ containing the index entry, $SECTION_HEADING is the heading
+ of the element.
+
+_formatting of letter entry_
+ -- Function Reference: $letter_entry index_letter $letter
+ $identifier $index_entries_text
+ This function formats a letter entry, consisting in all the
+ index entries beginning with this letter. $LETTER is the
+ letter, $IDENTIFIER should be used to create a target for
+ links (typically links from summaries), and
+ $INDEX_ENTRIES_TEXT is the text of the index entries
+ formatted as described above.
+
+_formatting of whole index_
+ -- Function Reference: $index print_index $index_text $index_name
+ $INDEX_TEXT is the text of all the index entries grouped by
+ letter appearing in that page formatted as above. INDEX_NAME
+ is the name of the index, the argument of `@printindex'.
+
+
+File: texi2html.info, Node: Floats and lists of floats, Next: Footnotes, Prev: Indices, Up: Customizing HTML
+
+7.17 Floats and lists of floats
+===============================
+
+Floats appear in the `@float' environment, optionaly with a style and a
+label, and with optionnal `@caption' and `@shortcaption'. Their list
+appear after a `@listoffloats'.
+
+ A hash reference is associated with each float, it is available in
+some formatting functions. The keys are:
+`caption_texi'
+`shortcaption_texi'
+ A reference on an array containing the caption or shortcaption
+ lines, unformatted.
+
+`style_texi'
+ The style with texi @-commands.
+
+`style_id'
+ The unique identifier associated with the style.
+
+`nr'
+ The number with the same conventions than makeinfo (use the
+ chapter number a dot and then the number of the float of that
+ style in the chapter, or an absolute number if in unnumbered).
+
+`chapter_nr'
+ The number of the chapter containing the float.
+
+`nr_in_chapter'
+ The number of the float in the chapter.
+
+`absolut_nr'
+ The number of the float in the document.
+
+`texi'
+ The label with @-commands.
+
+`id'
+ The unique identifier associated with the label. Usefull to make
+ an anchor or a reference.
+
+`element'
+ A reference on a structure representing the element the float
+ appear in.
+
+* Menu:
+
+* Floats:: Formatting of floats
+* Lists of floats:: Formatting the lists of floats
+
+
+File: texi2html.info, Node: Floats, Next: Lists of floats, Up: Floats and lists of floats
+
+7.17.1 Formatting a float
+-------------------------
+
+First there is an occasion to construct a texinfo text for the caption,
+using the caption texinfo lines and the informations in the float
+structure. The returned lines will be formatted in the main program. A
+function reference is used here:
+
+ -- Function Reference: (\@caption_lines_returned,
+\@shortcaption_lines_returned) caption_shortcaption \%float
+ \@caption_lines \@shortcaption_lines
+ \%FLOAT is the structure defined above. \@CAPTION_LINES and
+ \@SHORTCAPTION_LINES are references on arrays containing the
+ texinfo lines for caption and short caption.
+ \@CAPTION_LINES_RETURNED and \@SHORTCAPTION_LINES_RETURNED are
+ references on an array containing the texinfo lines for the
+ caption and shortcaption.
+
+ Then the float is formatted with the following function reference:
+
+ -- Function Reference: $text float $float_text \%float $caption_text
+ $shortcaption_text
+ $FLOAT_TEXT is the text appearing within the `@float', formatted.
+ \%FLOAT is still the structure defined above. $CAPTION_TEXT and
+ $SHORTCAPTION_TEXT are the caption and short caption build with the
+ above function and formatted.
+
+
+File: texi2html.info, Node: Lists of floats, Prev: Floats, Up: Floats and lists of floats
+
+7.17.2 Formatting lists of floats
+---------------------------------
+
+A list of floats is introduced by `@listoffloats'. The argument of
+`@listoffloats' is the "style". First the style texinfo can be modified
+with the following function reference:
+
+ -- Function Reference: $style_texi_returned listoffloats_style
+ $style_texi
+ $STYLE_TEXI is the `@listoffloats' argument with texinfo
+ @-commands kept. It is possible to make changes to the $STYLE_TEXI
+ and return a modified string, still with @-commands. The modified
+ string is formatted in the main program.
+
+ After that, for each of the floats with that style, first there is a
+possibility to modify the float style and the float caption before they
+are formatted in the main program, with the following function
+references:
+
+ -- Function Reference: $float_style_texi_returned
+listoffloats_float_style $style_texi \%float
+ $STYLE_TEXI is the style, and \%FLOAT is the structure described
+ above. This function reference returns a style to be formatted in
+ the main program.
+
+ -- Function Reference: $caption_texi_returned listoffloats_caption
+ \%float
+ \%FLOAT is the structure described above. This function reference
+ returns a caption to be formatted in the main program.
+
+ Each entry is formatted by:
+
+ -- Function Reference: $listoffloats_entry listoffloats_entry
+ $style_texi \%float $float_style $caption $href
+ $STYLE_TEXI is the style with @-commands, $FLOAT_STYLE is the
+ style returned by the above function and formatted. $CAPTION is the
+ caption returned by the above function formatted. \%FLOAT is the
+ structure corresponding with the float, and $HREF is an href
+ pointing to the float location.
+
+ Lastly, the whole `@listoffloats' is formatted by:
+
+ -- Function Reference: $listoffloats listoffloats $style_texi $style
+ \@listoffloats_entries
+ $STYLE_TEXI is the style with @-commands, $STYLE is the style
+ returned by the above function and formatted. The array reference
+ \@LISTOFFLOATS_ENTRIES holds the entries formatted by the above
+ function.
+
+
+File: texi2html.info, Node: Footnotes, Next: Other and unknown commands, Prev: Floats and lists of floats, Up: Customizing HTML
+
+7.18 Customizing the footnotes formatting
+=========================================
+
+Each footnote is associated with a footnote entry. Several footnote
+entries are grouped in a footnote section. When a footnote appears, two
+things must be formatted: in the main text the place where the footnote
+appear and the footnote text.
+
+ Two functions, with corresponding function references control the
+formatting of the footnotes:
+
+ -- Function Reference: (\@lines $text_for_document) foot_line_and_ref
+ $number_in_doc $number_in_page $footnote_id $place_id
+ $document_file $footnote_file \@lines \%state
+ $NUMBER_IN_DOC is the footnote number in the whole document,
+ $NUMBER_IN_PAGE is the footnote number in the current page.
+ $FOOTNOTE_ID is an identifier for the footnote in the footnote text
+ which should be used to make target for references to that
+ footnote, while $PLACE_ID is an identifier for the location of the
+ footnote in the main document. Similarly, $DOCUMENT_FILE is the
+ file name of the file containing the text where the footnote
+ appears in the main document, while $FOOTNOTE_FILE is the file
+ name of the file where the footnote text appears.
+
+ \@LINES is a reference on an array containing the footnote text
+ lines, allready formatted. And \%STATE holds informations about
+ the context at the footnote place in the main document. As usual
+ the most usefull entry is `preformatted' which is true if the
+ footnote appears in a preformatted context.
+
+ This function returns a reference on an array, \@LINES containing
+ the updated footnote text for the footnote entry, and
+ $TEXT_FOR_DOCUMENT, the text appearing at the footnote place in
+ the main document, linking to the footnote entry.
+
+ The following function is only used when footnotes are at the bottom
+of a page and the document is split. For customization of the
+footnotes page in case they are on a separated page or section, *Note
+Special pages layout::. For the determination of the footnote
+locations, *Note Page layout options::.
+
+ -- Function Reference: foot_section \@footnotes_lines
+ This function formats a group of footnotes. \@FOOTNOTES_LINES is a
+ reference on an array holding the lines of all the footnote entries
+ formatted as explained above. This function modifies the reference.
+
+
+File: texi2html.info, Node: Other and unknown commands, Prev: Footnotes, Up: Customizing HTML
+
+7.19 Customizing other commands, and unknown commands
+=====================================================
+
+Many commands without braces are available in texinfo, sometimes with a
+specific syntax. For example we have `@sp', `@noindent',
+`@documentlanguage', `@oddheading', `@headings', `@shortcontents',
+`@shorttitlepage' or `@comment'. `texi2html' interprets some of these
+commands and some functions or variables are used for their formatting
+or to access their information. In the default case, however, most of
+these constructs are ignored.
+
+ It is possible to change how the things following these commands on
+the line are handled, what is considered to be an arg for those
+commands and it is also possible to keep them instead of discarding
+them such that it is possible to handle them specially, with the same
+function than the one used for unknown commands.
+
+ Those special commands without braces are the key of a hash: `%misc_command'.
+The associated value is a reference on a hash enabling to set the
+properties of these commands. The keys of this hash reference is the
+name of a property, the value is the value of the property. For example
+here we have `line' for the `arg' property for the `command' @-command.
+
+ $misc_command{'command'} = {'arg' => 'line', 'skip' => 'space'};
+
+ The properties and possible values are:
+
+`skip'
+ This property enables to set what is skipped after the command
+ arguments. Here are the possible values:
+ `line'
+ The remaining of the line is skipped.
+
+ `space'
+ Spaces are skipped but not newline.
+
+ `whitespace'
+ Spaces are skipped
+
+ `linewhitespace'
+ Spaces are skipped if there are only spaces remaining on the
+ line.
+
+ `linespace'
+ Spaces are skipped, but not newline if there are only spaces
+ remaining on the line
+
+`arg'
+ If the associated value is `line' the line is considered to be the
+ argument. If it is a number it is the number of args (separated by
+ spaces).
+
+`texi'
+ If true the arguments are considered to real texinfo, therefore
+ `@value' and `@macro' are expanded.
+
+`keep'
+ If true the args and the macro are kept, otherwise they are
+ discarded. The defaut is to have `keep' undef for all the
+ commands. If `keep' is true for `@verbatiminclude' the default
+ action for this macro isn't done.
+
+ Commands which don't appear in the hashes `%simple_map', `%simple_map_pre', `%simple_map_texi'
+and `%misc_command', or that appear in `%misc_command' but with `keep'
+true are processed by the following function reference:
+
+ -- Function Reference: ($result_line, $result, $result_text, $message)
+unknown $command $line
+ $COMMAND is the @-command, $LINE is the line following the
+ $COMMAND. $RESULT is a boolean. If it is true then the other return
+ values are taken into account otherwise the default actions are
+ used. In case $RESULT is true, $RESULT_LINE is the new line to be
+ processed further, $RESULT_TEXT is the resulting formatted text
+ and $MESSAGE, if defined is a message outputted to the output with
+ line number added by `texi2html'.
+
+ Commands with braces not specified above nor in `%style_map', `%style_map_pre'
+and `%style_map_texi' are processed by the following function reference
+
+ -- Function Reference: ($result, $result_text, $message) unknown_style
+ $command $text
+ $COMMAND is the @-command, $TEXT is the text appearing within the
+ braces (allready formatted). $RESULT is a boolean. If it is true
+ then the other return values are taken into account otherwise the
+ default actions are used. In case $RESULT is true, $RESULT_TEXT is
+ the resulting formatted text and $MESSAGE, if defined is a message
+ outputted to the output with line number added by `texi2html'.
+
+
+File: texi2html.info, Node: Internationalization, Next: Indexop, Prev: Customizing HTML, Up: Top
+
+Appendix A Internationalization
+*******************************
+
+The strings written in the document are selected based on the document
+language. This can be used to customize the strings, as described in
+*Note Strings::. This also enables translation of the strings.
+
+* Menu:
+
+* Translating strings::
+* Adding new strings::
+
+
+File: texi2html.info, Node: Translating strings, Next: Adding new strings, Up: Internationalization
+
+A.1 Translating strings
+=======================
+
+If the language is allready supported, then there will be a file in the
+`i18n' directory with name the two-letter ISO-639 language code. In
+that case you can enhance the translations by editing this file. There
+is a `$LANGUAGES->{'LANGUAGE'}' hash in that file. The keys are the
+english strings, in `''', the values (in `''' after `=>') are the
+translations. When a string contains a `%' followed by `{' NAME `}' it
+means that the string will be expanded by `texi2html'. For an example,
+see *Note Strings::.
+
+ After that you should run the command `./manage_i18n.pl all' in the
+top directory, it should merge your file with the existing files in
+`translations.pl', which is incorporated to the `texi2html' script by
+`./configure'.
+
+ If the language isn't currently supported, copy the `en' file in
+`i18n' to a file with name the two-letter ISO-639 language code of your
+language and then add your translations to the strings. You could also
+add your two-letter language code in the `manage_i18n.pl' file in the
+`@known_languages' array.
+
+ After that you should similarly run the command `./manage_i18n.pl
+all' in the top directory.
+
+ Obsoleted strings are not removed from the files, they are still
+present in the `$T2H_OBSOLETE_STRINGS->{'LANGUAGE'}' hash in case the
+string is reused later.
+
+ If you made change to strings specified in installed files (*note
+Installation::) you will have to reinstall them otherwise the
+installated files will take precedence (*note Using init files::).
+
+
+File: texi2html.info, Node: Adding new strings, Prev: Translating strings, Up: Internationalization
+
+A.2 Adding new strings written to document
+==========================================
+
+If you need to write strings, for example the new string A STRING to
+the resulting document, call `&$I('a string')'. Use simple quotes. If
+you want to substitute a value in the string put `%{STRING_VALUE}', in
+the string, and give a second argument to `&$I', a hash reference with
+key STRING_VALUE and value the what you want to substitute. Here is an
+example:
+
+ return &$I('%{name} of %{class}', { 'name' => $name, 'class' => $class });
+
+ In that case `%{name}' is substituted by `$name' in the translated
+string.
+
+ After that you should run the command `./manage_i18n.pl all' in the
+top directory, it should add your new strings to all the files in the
+`i18n' directory.
+
+
+File: texi2html.info, Node: Indexop, Next: Indexvr, Prev: Internationalization, Up: Top
+
+Appendix B Command Line Option Index
+************************************
+
+
+* Menu:
+
+* css-include=FILE: Style options. (line 24)
+* def-table: Style options. (line 39)
+* doctype=DTD: Style options. (line 8)
+* DVAR: Texinfo related options.
+ (line 14)
+* frames: Page layout options. (line 6)
+* frameset-doctype: Style options. (line 10)
+* frameset-doctype=DTD: Style options. (line 9)
+* html-xref-prefix=PATH: Style options. (line 35)
+* IDIR: Texinfo related options.
+ (line 25)
+* if<region>: Expansion. (line 10)
+* include-css: css. (line 22)
+* init-file: Using init files. (line 13)
+* iso: Style options. (line 19)
+* l2h: Expanding TeX regions.
+ (line 8)
+* l2h-file: Expanding TeX regions.
+ (line 21)
+* l2h-l2h=PROGRAM: Expanding TeX regions.
+ (line 13)
+* l2h-tmp: Expanding TeX regions.
+ (line 17)
+* lang <1>: Strings. (line 9)
+* lang: Using init files. (line 22)
+* lang=LANG: Texinfo related options.
+ (line 9)
+* menu: Invoking texi2html. (line 18)
+* no-if<region>: Expansion. (line 12)
+* node-files: Output files. (line 61)
+* nomenu <1>: Expansion. (line 17)
+* nomenu: Invoking texi2html. (line 18)
+* nosec-nav: Page layout options. (line 11)
+* number: Style options. (line 48)
+* output: Output files. (line 35)
+* PDIR: Texinfo related options.
+ (line 20)
+* pkgdatadir=dir: Using init files. (line 8)
+* pkgdatadir=DIR: Installation. (line 46)
+* prefix: Output files. (line 39)
+* separated-footnotes: Page layout options. (line 15)
+* short-ext: Output files. (line 40)
+* short-ref: Style options. (line 44)
+* split: Splitting output. (line 8)
+* sysconfdir=dir: Using init files. (line 10)
+* toc-file: Output files. (line 43)
+* toc-links: Style options. (line 52)
+* top-file: Output files. (line 41)
+* use-nodes: Splitting output. (line 38)
+* UVAR: Texinfo related options.
+ (line 17)
+
+
+File: texi2html.info, Node: Indexvr, Next: Indexcp, Prev: Indexop, Up: Top
+
+Appendix C Variable Index
+*************************
+
+
+* Menu:
+
+* $AFTER_BODY_OPEN: Customizing header. (line 8)
+* $AFTER_OVERVIEW: Contents and Overview text.
+ (line 21)
+* $AFTER_TOC_LINES: Contents and Overview text.
+ (line 28)
+* $anchor <1>: Anchors images and spaces.
+ (line 10)
+* $anchor: Redefining functions. (line 15)
+* $AVOID_MENU_REDUNDANCY: Menu formatting. (line 8)
+* $BEFORE_OVERVIEW: Contents and Overview text.
+ (line 17)
+* $BEFORE_TOC_LINES: Contents and Overview text.
+ (line 25)
+* $BIG_RULE: The page layout. (line 12)
+* $BODYTEXT <1>: Customizing header. (line 22)
+* $BODYTEXT: Output initialization.
+ (line 20)
+* $cell: Table and list items. (line 81)
+* $CLOSE_QUOTE_SYMBOL <1>: String interface. (line 8)
+* $CLOSE_QUOTE_SYMBOL: Hash reference interface.
+ (line 65)
+* $complex_format_map: Complex formats. (line 12)
+* $CSS_LINES: css. (line 10)
+* $DEF_TABLE: Style options. (line 41)
+* $DEFAULT_RULE: The page layout. (line 11)
+* $definition_category: Definition formatting.
+ (line 20)
+* $DO_CONTENTS: Contents and Overview text.
+ (line 9)
+* $DO_SCONTENTS: Contents and Overview text.
+ (line 13)
+* $DOCTYPE: Style options. (line 12)
+* $DOCUMENT_DESCRIPTION: Customizing header. (line 16)
+* $DOCUMENT_ENCODING: Customizing header. (line 11)
+* $ENCODING: Customizing header. (line 14)
+* $EXTENSION: File names. (line 8)
+* $EXTERNAL_DIR: Style options. (line 37)
+* $EXTRA_HEAD: Customizing header. (line 7)
+* $FRAMES: Page layout options. (line 9)
+* $FRAMESET_DOCTYPE: Style options. (line 12)
+* $ICONS: General purpose variables.
+ (line 13)
+* $IDX_SUMMARY: External index files. (line 9)
+* $INDEX_CHAPTER: The page layout. (line 66)
+* $L2H_L2H: Expanding TeX regions.
+ (line 14)
+* $L2H_TMP: Expanding TeX regions.
+ (line 18)
+* $LANG <1>: Strings. (line 9)
+* $LANG <2>: Using init files. (line 22)
+* $LANG: Texinfo related options.
+ (line 11)
+* $LANGUAGES <1>: Translating strings. (line 6)
+* $LANGUAGES: Strings. (line 13)
+* $MENU_PRE_STYLE: Menu formatting. (line 19)
+* $MENU_SYMBOL: Menu formatting. (line 13)
+* $MIDDLE_RULE: The page layout. (line 11)
+* $NODE_FILES <1>: File names. (line 9)
+* $NODE_FILES: Output files. (line 62)
+* $NODE_NAME_IN_MENU: Menu formatting. (line 7)
+* $NUMBER_SECTIONS: Style options. (line 49)
+* $OPEN_QUOTE_SYMBOL <1>: String interface. (line 8)
+* $OPEN_QUOTE_SYMBOL: Hash reference interface.
+ (line 65)
+* $OUT: Output files. (line 35)
+* $PRE_BODY_CLOSE: Customizing footer. (line 7)
+* $PREFIX: Output files. (line 39)
+* $print_chapter_footer: Customizing footer. (line 20)
+* $print_chapter_header: Customizing header. (line 38)
+* $print_foot_navigation: Customizing footer. (line 9)
+* $print_head_navigation: Customizing header. (line 26)
+* $print_misc: Special pages layout. (line 33)
+* $print_misc_footer: Special pages layout. (line 34)
+* $print_misc_header: Special pages layout. (line 33)
+* $print_page_foot: Customizing footer. (line 23)
+* $print_page_head: Customizing header. (line 37)
+* $print_section_footer: Customizing footer. (line 21)
+* $print_section_header: Customizing header. (line 40)
+* $print_Top: Special pages layout. (line 31)
+* $print_Top_footer: Special pages layout. (line 32)
+* $print_Top_header: Special pages layout. (line 31)
+* $SECTION_NAVIGATION <1>: General purpose variables.
+ (line 16)
+* $SECTION_NAVIGATION: Page layout options. (line 12)
+* $SEPARATED_FOOTNOTES: Page layout options. (line 15)
+* $SHORT_REF: Style options. (line 46)
+* $SHORTEXTN: Output files. (line 41)
+* $SHOW_MENU: Expansion. (line 18)
+* $SMALL_RULE: The page layout. (line 11)
+* $SPLIT: Splitting output. (line 9)
+* $SPLIT_INDEX: Index list. (line 15)
+* $T2H_OBSOLETE_STRINGS: Translating strings. (line 6)
+* $Texi2HTML::NODE{Next}: Button specifications.
+ (line 59)
+* $Texi2HTML::OVERVIEW <1>: Contents and Overview text.
+ (line 77)
+* $Texi2HTML::OVERVIEW: Global informations. (line 89)
+* $Texi2HTML::THIS_HEADER: Global informations. (line 85)
+* $Texi2HTML::THIS_SECTION <1>: Global functions. (line 12)
+* $Texi2HTML::THIS_SECTION: Global informations. (line 82)
+* $Texi2HTML::TOC_LINES <1>: Contents and Overview text.
+ (line 77)
+* $Texi2HTML::TOC_LINES: Global informations. (line 92)
+* $TOC_FILE: Output files. (line 44)
+* $TOC_LINKS: Style options. (line 54)
+* $TOC_LIST_ATTRIBUTE: Contents and Overview text.
+ (line 35)
+* $TOC_LIST_STYLE: Contents and Overview text.
+ (line 31)
+* $TOP_FILE: Output files. (line 42)
+* $TOP_HEADING: The page layout. (line 47)
+* $UNNUMBERED_SYMBOL_IN_MENU: Menu formatting. (line 14)
+* $USE_ISO: Style options. (line 21)
+* $USE_NODES: Splitting output. (line 39)
+* $VERTICAL_HEAD_NAVIGATION: General purpose variables.
+ (line 9)
+* $WORDS_IN_PAGE <1>: Global functions. (line 14)
+* $WORDS_IN_PAGE: Button specifications.
+ (line 21)
+* %accent_map: Style and accent commands.
+ (line 26)
+* %ACTIVE_ICONS: Button specifications.
+ (line 71)
+* %BUTTONS_GOTO: Output initialization.
+ (line 21)
+* %css_map: css. (line 7)
+* %def_map: Definition line. (line 6)
+* %format_in_paragraph: Avoiding paragraphs. (line 8)
+* %format_map: Whole table list. (line 6)
+* %main::value: Global informations. (line 67)
+* %misc_command: Other and unknown commands.
+ (line 20)
+* %NAVIGATION_TEXT <1>: Output initialization.
+ (line 21)
+* %NAVIGATION_TEXT: Button specifications.
+ (line 64)
+* %paragraph_style: Alignement commands. (line 8)
+* %PASSIVE_ICONS: Button specifications.
+ (line 72)
+* %pre_map: Commands without argument.
+ (line 23)
+* %simple_map <1>: Other and unknown commands.
+ (line 65)
+* %simple_map: Commands without argument.
+ (line 22)
+* %simple_map_pre <1>: Other and unknown commands.
+ (line 65)
+* %simple_map_pre: Commands without argument.
+ (line 22)
+* %simple_map_texi <1>: Other and unknown commands.
+ (line 65)
+* %simple_map_texi: Commands without argument.
+ (line 22)
+* %special_list_commands: Table and list items. (line 12)
+* %style_map <1>: Other and unknown commands.
+ (line 79)
+* %style_map: Style and accent commands.
+ (line 10)
+* %style_map_pre <1>: Other and unknown commands.
+ (line 79)
+* %style_map_pre: Style and accent commands.
+ (line 11)
+* %style_map_texi <1>: Other and unknown commands.
+ (line 80)
+* %style_map_texi: Style and accent commands.
+ (line 11)
+* %Texi2HTML::HREF: Elements hashes. (line 12)
+* %Texi2HTML::NAME: Elements hashes. (line 9)
+* %Texi2HTML::NO_TEXI: Elements hashes. (line 18)
+* %Texi2HTML::NODE: Elements hashes. (line 15)
+* %Texi2HTML::THISDOC: Global informations. (line 12)
+* %texi_map: Commands without argument.
+ (line 23)
+* %things_map: Commands without argument.
+ (line 23)
+* @CHAPTER_BUTTONS: Button specifications.
+ (line 27)
+* @CSS_FILES: Style options. (line 27)
+* @EXPAND: Expansion. (line 13)
+* @INCLUDE_DIRS: Texinfo related options.
+ (line 27)
+* @MISC_BUTTONS: Button specifications.
+ (line 32)
+* @NODE_FOOTER_BUTTONS: Button specifications.
+ (line 17)
+* @PREPEND_DIRS: Texinfo related options.
+ (line 22)
+* @SECTION_BUTTONS: Button specifications.
+ (line 10)
+* @SECTION_FOOTER_BUTTONS: Button specifications.
+ (line 16)
+
+
+File: texi2html.info, Node: Indexcp, Prev: Indexvr, Up: Top
+
+Appendix D Concept Index
+************************
+
+
+* Menu:
+
+* Avoid paragraph opening: Avoiding paragraphs. (line 6)
+* bug report: Top. (line 6)
+* centering: Alignement commands. (line 6)
+* complex format: Complex formats. (line 6)
+* Config: Using init files. (line 6)
+* configure: Installation. (line 6)
+* downloading texi2html source: Obtaining texi2html. (line 6)
+* examples of manuals: Overview. (line 6)
+* external manual: Reference to external manual.
+ (line 6)
+* flushing text: Alignement commands. (line 6)
+* i18n <1>: Translating strings. (line 6)
+* i18n: Strings. (line 6)
+* Installation: Installation. (line 6)
+* internationalization: Using init files. (line 6)
+* internationalized strings: Adding new strings. (line 6)
+* makeinfo: whytexi2html. (line 6)
+* manage_i18n.pl: Adding new strings. (line 6)
+* paragraph: Paragraph and preformatted formatting.
+ (line 6)
+* preformatted region: Paragraph and preformatted formatting.
+ (line 6)
+* reference: References. (line 6)
+* skipped command: Other and unknown commands.
+ (line 6)
+* source code for texi2html, downloading: Obtaining texi2html. (line 6)
+* texi2html source, downloading: Obtaining texi2html. (line 6)
+* Texinfo: Overview. (line 6)
+* text alignement: Alignement commands. (line 6)
+* Translation: Translating strings. (line 6)
+* unknown command: Other and unknown commands.
+ (line 6)
+
+

Tag Table:
-(Indirect)
-Node: Top2995
-Node: Overview5644
-Node: whytexi2html7433
-Node: Obtaining texi2html9512
-Node: Installation9794
-Node: Invoking texi2html11983
-Node: Splitting output13162
-Node: Output files16491
-Node: Expansion19748
-Node: Texinfo related options20652
-Node: Page layout options21714
-Node: Style options22607
-Node: Expanding TeX regions24932
-Node: Using init files26073
-Node: Initialization files27957
-Node: Redefining functions29903
-Node: Function prototypes30969
-Node: Changing the page layout32044
-Node: The different pages33401
-Node: The page layout35114
-Ref: Element labels36393
-Node: Navigation panel38129
-Node: General purpose variables38787
-Node: Button specifications39555
-Node: Panel formatting function42887
-Node: Program variables43676
-Node: Elements hashes44381
-Node: Global informations44891
-Node: Global functions47411
-Node: Output initialization48152
-Node: Output finalization49609
-Node: css50080
-Node: Customizing header51146
-Node: Customizing section53951
-Node: Customizing footer54948
-Node: Special pages56815
-Node: Special pages content57142
-Node: Top element text57432
-Node: Contents and Overview text58703
-Node: Footnotes text61441
-Node: About text61734
-Node: Special pages layout63238
-Node: File names64428
-Node: External index files66300
-Node: Customizing HTML68420
-Node: Three contexts70141
-Node: Commands without argument70910
-Node: Style and accent commands72327
-Node: Hash reference interface73815
-Ref: Reference hash args74682
-Node: String interface77052
-Node: Define your own interface79028
-Node: Anchors images and spaces80738
-Node: Text83603
-Node: Strings84931
-Node: References86516
-Node: Reference to external manual86715
-Node: Internal reference88708
-Node: Alignement commands89634
-Node: Paragraph and preformatted region90592
-Node: Paragraph and preformatted formatting90920
-Node: Avoiding paragraphs94646
-Node: Complex formats95042
-Node: Lists tables96731
-Node: Table and list items97196
-Node: Whole table list101110
-Node: Definitions102651
-Node: Definition line103126
-Node: Definition formatting104568
-Node: Headings106005
-Node: Special regions106964
-Node: Menus108991
-Node: Menu parts109436
-Node: Menu formatting110869
-Node: Indices113760
-Node: Index entry place114430
-Node: Index list115041
-Node: Floats and lists of floats118130
-Node: Floats119608
-Node: Lists of floats120911
-Node: Footnotes123124
-Node: Other and unknown commands125630
-Node: Internationalization129570
-Node: Translating strings129981
-Node: Adding new strings131634
-Node: Indexop132506
-Node: Indexvr135109
-Node: Indexcp143811
+Node: Top3047
+Node: Overview5675
+Node: whytexi2html7465
+Node: Obtaining texi2html9548
+Node: Installation9831
+Node: Invoking texi2html12021
+Node: Splitting output13201
+Node: Output files16535
+Node: Expansion19797
+Node: Texinfo related options20706
+Node: Page layout options21773
+Node: Style options22670
+Node: Expanding TeX regions24990
+Node: Using init files26136
+Node: Initialization files28025
+Node: Redefining functions29972
+Node: Function prototypes31038
+Node: Changing the page layout32114
+Node: The different pages33472
+Node: The page layout35190
+Ref: Element labels36474
+Node: Navigation panel38203
+Node: General purpose variables38866
+Node: Button specifications39643
+Node: Panel formatting function42979
+Node: Program variables43778
+Node: Elements hashes44488
+Node: Global informations45007
+Node: Global functions47527
+Node: Output initialization48272
+Node: Output finalization49735
+Node: css50212
+Node: Customizing header51284
+Node: Customizing section54097
+Node: Customizing footer55101
+Node: Special pages56981
+Node: Special pages content57315
+Node: Top element text57619
+Node: Contents and Overview text58908
+Node: Footnotes text61657
+Node: About text61965
+Node: Special pages layout63485
+Node: File names64686
+Node: External index files66567
+Node: Customizing HTML68697
+Node: Three contexts70419
+Node: Commands without argument71193
+Node: Style and accent commands72615
+Node: Hash reference interface74108
+Ref: Reference hash args74984
+Node: String interface77354
+Node: Define your own interface79339
+Node: Anchors images and spaces81059
+Node: Text83933
+Node: Strings85269
+Node: References86859
+Node: Reference to external manual87066
+Node: Internal reference89070
+Node: Alignement commands90006
+Node: Paragraph and preformatted region90970
+Node: Paragraph and preformatted formatting91306
+Node: Avoiding paragraphs95043
+Node: Complex formats95448
+Node: Lists tables97145
+Node: Table and list items97617
+Node: Whole table list101562
+Node: Definitions103116
+Node: Definition line103598
+Node: Definition formatting105051
+Node: Headings106503
+Node: Special regions107470
+Node: Menus109508
+Node: Menu parts109960
+Node: Menu formatting111389
+Node: Indices114296
+Node: Index entry place114973
+Node: Index list115596
+Node: Floats and lists of floats118701
+Node: Floats120186
+Node: Lists of floats121502
+Node: Footnotes123731
+Node: Other and unknown commands126246
+Node: Internationalization130195
+Node: Translating strings130625
+Node: Adding new strings132283
+Node: Indexop133160
+Node: Indexvr137004
+Node: Indexcp150789

End Tag Table
diff --git a/Build/source/utils/texi2html/doc/texi2html.info-1 b/Build/source/utils/texi2html/doc/texi2html.info-1
deleted file mode 100644
index 1b2eaccb006..00000000000
--- a/Build/source/utils/texi2html/doc/texi2html.info-1
+++ /dev/null
@@ -1,1299 +0,0 @@
-This is texi2html.info, produced by makeinfo version 4.5 from
-texi2html.texi.
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
-
-Portions
-of
-`texi2html'
- Copyright (C) 1999, 2000 Lionel Cons
- Copyright (C) 1999, 2000 Karl Berry
- Copyright (C) 1999, 2000 Olaf Bachmann
- Copyright (C) 2002, 2003 Patrice Dumas
- Copyright (C) 2001, 2002, 2003 Derek Price
- Copyright (C) many others.
-
-
-Portions
-of this
-manual
- Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
- Copyright (C) 2003 Patrice Dumas (manual)
- Copyright (C) 2003 Derek Price (manual)
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-INFO-DIR-SECTION Texinfo documentation system
-START-INFO-DIR-ENTRY
-* Texi2HTML: (texi2html). Texinfo to HTML Converter.
-END-INFO-DIR-ENTRY
-
- This file, last updated 1 February 2005, documents the `texi2html'
-script which converts Texinfo (http://www.texinfo.org) into HTML
-(http://w3c.org). This edition is for `texi2html' version 1.76.
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
-
-Portions
-of
-`texi2html'
- Copyright (C) 1999, 2000 Lionel Cons
- Copyright (C) 1999, 2000 Karl Berry
- Copyright (C) 1999, 2000 Olaf Bachmann
- Copyright (C) 2002, 2003 Patrice Dumas
- Copyright (C) 2001, 2002, 2003 Derek Price
- Copyright (C) many others.
-
-
-Portions
-of this
-manual
- Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
- Copyright (C) 2003 Patrice Dumas (manual)
- Copyright (C) 2003 Derek Price (manual)
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-
-File: texi2html.info, Node: Top, Next: Overview, Up: (dir)
-
-Texi2HTML
-*********
-
- This manual, last updated 1 February 2005, describes version 1.76 of
-the `texi2html' Perl script which converts Texinfo (*note Texinfo:
-(Texinfo)Top.) into HTML.
-
- Please send bug reports concerning this manual to the Texi2HTML user
-discussion list <user@texi2html.cvshome.org>. Please state the exact
-version of the manual which contains the bug, as given above.
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
-
-Portions
-of
-`texi2html'
- Copyright (C) 1999, 2000 Lionel Cons
- Copyright (C) 1999, 2000 Karl Berry
- Copyright (C) 1999, 2000 Olaf Bachmann
- Copyright (C) 2002, 2003 Patrice Dumas
- Copyright (C) 2001, 2002, 2003 Derek Price
- Copyright (C) many others.
-
-
-Portions
-of this
-manual
- Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
- Copyright (C) 2003 Patrice Dumas (manual)
- Copyright (C) 2003 Derek Price (manual)
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
- *This manual is currently under construction and of course incomplete. ;-)*
-
-* Menu:
-
-* Overview::
-* Obtaining texi2html::
- Obtaining a copy of the `texi2html'
- source code distribution
-* Installation:: Installing `texi2html'
-* Invoking texi2html:: Description of the command line options
-* Initialization files:: What kind of variables and subroutines appear
- in init files and how they are called
-* Changing the page layout:: Fine tuning of the page layout
-* Customizing HTML:: Fine tuning of the HTML elements
- associated with the texinfo constructs
-* Internationalization:: Help translating !
-* Indexop:: Command Line Option Index
-* Indexvr:: Variable Index
-* Indexcp:: Concept Index
-
-
-File: texi2html.info, Node: Overview, Next: Obtaining texi2html, Prev: Top, Up: Top
-
-Overview
-********
-
- Texinfo (http://www.texinfo.org) is the official documentation
-format of the GNU (http://www.gnu.org) project. It uses a single
-source file to produce both online information and printed output.
-
- It is often desirable to have a way to produce HTML from Texinfo
-sources, as GNU-Info files are produced. It is much simpler to run a
-converter than it is to rewrite all the documentation in HTML,
-especially considering that there is so much Texinfo documentation in
-the world.
-
- Some time ago `makeinfo' wasn't able to produce HTML output format,
-but people still wanted documentation in HTML. This was the birthing
-hour for `texi2html'. The basic purpose of `texi2html' is to convert
-Texinfo documents into HTML.
-
- Since then, HTML support in `makeinfo' has improved, but `texi2html'
-is still stronger in many areas, including the degree to which it
-allows customization. With `texi2html', some important aspects of the
-resulting HTML files may be specified via command line options, and
-configuration files provide an even finer degree of control over the
-final output, allowing most every aspect of the final output not
-specified in the Texinfo input file to be specified. Configuration
-files are written in `perl', like the main program, and anything which
-may be specified on the command line may also be specified within a
-configuration file.
-
- For an example of the kind of pages `texi2html' is capable of
-producing, have a look at the following sites: the Singular Manual
-(http://www.singular.uni-kl.de/Manual/html/), the Cederqvist (CVS
-Manual) (http://ccvs.cvshome.org/docs/manual).
-
-* Menu:
-
-* whytexi2html:: Why `texi2html' and not `makeinfo'?.
-
-
-File: texi2html.info, Node: whytexi2html, Up: Overview
-
-Why `texi2html' and not `makeinfo'?
-===================================
-
- You would like to produce HTML files from your existing Texinfo
-files? There are two programs you can use to do this. The first is
-`makeinfo' (*note Generating HTML: (texinfo)Generating HTML.). The
-second is `texi2html'.
-
- The design goal of `makeinfo''s HTML output was to produce readable
-HTML output. It is now possible to use CSS for HTML customization.
-Another possibility is to use intermediate formats, like docbook or
-`mekeinfo' XML and XSL stylesheets to customize the resulting document.
-Still the output produced by `makeinfo' isn't customizable.
-
- The current development of `texi2html' tries to provide for
-producing the more interesting and sophisticated HTML pages that
-today's Internet users have come to expect. The goal behind
-`texi2html' is to generate attractive HTML by default but also to allow
-users considerable freedom to affect the final style and design of the
-output HTML pages. This is achieved via command line options and
-flexible configuration files.
-
- In contrast to the HTML produced by `makeinfo --html' (the
-`makeinfo' program is part of the Texinfo distribution), the
-`texi2html' program, among other differences, allows for the
-customization of the entire page layout, including headers, footers,
-style sheets, etc., allows for customization of the low level HTML
-formatting, provides for splitting documents at various levels, and
-provides for using the `latex2html' program to convert `@tex' sections
-of the Texinfo source.
-
- The focus on HTML is still present but with the help of the
-customization files it is now possible to use `texi2html' to produce
-other formats as well. `texi2html' may for example be turned into a
-texinfo to roff translator with the help of a customization file
-provided with the distribution.
-
- `texi2html' should reasonably convert all Texinfo 4.8 constructs.
-If you find it does not, please send a bug report to the
-<users@texi2html.cvshome.org> email list.
-
-
-File: texi2html.info, Node: Obtaining texi2html, Next: Installation, Prev: Overview, Up: Top
-
-Obtaining `texi2html'
-*********************
-
- The latest version of the source code for `texi2html' should be
-available from texi2html.cvshome.org (http://texi2html.cvshome.org).
-
-
-File: texi2html.info, Node: Installation, Next: Invoking texi2html, Prev: Obtaining texi2html, Up: Top
-
-Installation of `texi2html'
-***************************
-
- To install `texi2html', you must first obtain a copy of the source
-distribution. *Note Obtaining texi2html::.
-
- `texi2html' also requires `perl' version 5.004 or above. The
-current version has not been tested extensively on versions of `perl'
-below 5.6, however.
-
- `texi2html' is a standard Automake-based distribution. If you have
-a source version, you should run `./configure' to regenerate the
-executable `texi2html' file. `./configure' accepts options to select
-the installation directory for the `texi2html' file, the default
-directories `texi2html' will use to look for configuration files, and
-other details. Run `./configure --help' for more information.
-
- Running `./configure' combines four files into the final `texi2html'
-program file:
- * `texi2html.pl' contains the base program,
-
- * `MySimple.pm' handles the command line options,
-
- * `texi2html.init' is the default configuration file, and
-
- * `T2h_i18n.pm' is used for internationalization.
-
- * `translations.pl' contains the translations of the strings used in
- documents.
-
- Running `./configure' also builds the `make' configuration files
-(`Makefile's). To make the documentation run `make'.
-
- `make install' performs the installation to the locations specified
-to the `./configure' script. This usually involves placing the actual
-`texi2html' file someplace in your path, such as `/usr/local/bin' or
-`/usr/bin'.
-
- Installing `texi2html' in your path should be sufficient to run it.
-To use default initialization files, or a configuration file for
-LaTeX2HTML when using `latex2html' to convert `@tex' sections (*note
-Expanding TeX regions::), install them in the package data directory
-specified to configure. This is `/usr/local/share/texi2html/' by
-default, but depends on the value of the `--pkgdatadir=DIR' option
-passed to the `./configure' script. Files used for strings
-customization and internationalization are also searched for in the
-`i18n' directory of this directory. *Note Using init files:: for more.
-
-
-File: texi2html.info, Node: Invoking texi2html, Next: Initialization files, Prev: Installation, Up: Top
-
-Invoking `texi2html'
-********************
-
- To produce an HTML manual, run `texi2html' with a Texinfo file as an
-argument. For example, this manual is created with:
-
- $ texi2html texi2html.texi
-
- The behaviour of `texi2html' may be changed with command line
-options. These command line options are always associated with
-corresponding `perl' variables which may appear in init files, and these
-variables are presented in this chapter each time a switch is described.
-
- Boolean command line switches always have a corresponding negated
-switch, obtained by prepending `no' or `no-' to the switch name. For
-example `--nomenu' does the reverse of `--menu'.
-
-* Menu:
-
-* Splitting output:: The HTML output may be split at
- different levels
-* Output files::
-* Expansion::
-* Texinfo related options::
-* Page layout options:: Customizing page layout
-* Style options:: Customizing the HTML and text style
-* Expanding TeX regions::
-* Using init files:: Specifying initialization files for fine tuning
-
-
-File: texi2html.info, Node: Splitting output, Next: Output files, Up: Invoking texi2html
-
-Specifying where to split the generated document
-================================================
-
- The HTML manual resulting from the processing of the Texinfo source
-may be split into files at different levels. This is specified with the
-option `--split' which takes an argument, namely the level of splitting
-(variable: `$SPLIT'). This level may be:
-
-`chapter'
- The document is split at `@chapter', `@appendix', or `@unnumbered'.
-
-`section'
- The document is split at the same places as it is using the
- `chapter' argument, and also at `@section', `@appendixsec' or
- `@unnumberedsec'.
-
-`node'
- The document is split at every sectioning command. It is not
- necessarily split at each node, if the `@node' structure doesn't
- correspond with the sectioning command structure (see below).
-
-`none'
- The document isn't split. This is the default.
-
- There are two kinds of commands which may be used to define
-sectioning elements in Texinfo: `@node' and the structuring commands
-(`@top', `@section', `@appendixsubsec', and so on). A node just
-preceding a structuring command is considered to be part of the same
-sectioning element as that command. If the `@node Top' isn't
-associated with a structuring command it also defines a sectioning
-element.
-
- By default, nodes which aren't associated with a structuring command
-are not considered to be sectioning commands. They are always
-considered to be part of a sectioning element defined by a structuring
-command. It is possible to change this behaviour via the `--use-nodes'
-option (variable `$USE_NODES'). In this case, nodes not associated
-with structuring commands are also considered to be sectioning commands
-defining a sectioning element.
-
- This default behaviour mimics `texi2dvi' behaviour, which ignores
-`@node' commands for the purprose of sectioning, while the second looks
-like `makeinfo' behaviour (*note Two Paths: (texinfo)Two Paths.).
-
- As an illustration, the following table shows how a sample Texinfo
-document is divided into sectioning elements when `--use-nodes' is used
-and not:
-
-Texinfo code default case with
- `--use-nodes'
- @node node1 first element: first element:
- @chapter node 1
- node1 text @node node1 @node node1
- @chapter node 1 @chapter node 1
- @node node2 node1 text node1 text
- node2 text second
- @node node2 element:
- @node node3 node2 text
- node3 text second @node node2
- @chapter node 3 element: node2 text
- chapter text third
- @node node3 element:
- node3 text
- @chapter node 3 @node node3
- chapter text node3 text
- @chapter node 3
- chapter text
-
-
-File: texi2html.info, Node: Output files, Next: Expansion, Prev: Splitting output, Up: Invoking texi2html
-
-Setting output file and directory names
-=======================================
-
- The manual name is constructed by stripping the `.texi', `.txi',
-`.texinfo', or `.txinfo' extension from the Texinfo file name.
-
- By default, `texi2html' generates the manual file in the current
-directory if the manual isn't split. A `.html' file extension is
-appended to the manual name.
-
- If the manual is split the files are put in a directory named after
-the manual name. The file name is constructed using the manual name as
-basename. An underscore followed by a number is appended to the
-basename for each files corresponding with sectioning elements, with the
-exception of the top element. For the top element there nothing
-appended. The files containing special elements pages have an
-underscore and a 3 letter code corresponding to their content (`toc'
-for table of contents, `abt' for about, `ovr' for overview) appended.
-Lastly, an `.html' file extension is appended.
-
- Thus, if the texinfo file `afile.texi' is processed and split at
-chapters into 3 files, the generated files (in directory `afile') will
-be:
-
- afile.html --> `@node Top' or `@top' section
- afile_1.html --> Chapter 1
- afile_2.html --> Chapter 2
- afile_toc.html --> Table of Contents
- afile_abt.html --> About Page
-
- This default behavior may be modified by several command line
-options. If the output isn't split, the prefix file name may be
-overrided by the `--output' command line option (variable `$OUT'). If
-the output is split, and `--output' is set, the files are placed in the
-directory specified by the argument to the option.
-
- The basename may be overridden with `--prefix' (variable `$PREFIX').
-If `--short-ext' is given, `.htm' is appended instead of `.html' in
-the final step (variable `$SHORTEXTN'). The `--top-file' option
-overrides the top element file name (variable `$TOP_FILE'). This can
-be used to name the top element file `index.html'. Similarly,
-`--toc-file' changes the name of the table of contents file (variable
-`$TOC_FILE').
-
- Reusing the example above, but this time calling `texi2html' like so:
-
- $ texi2html -split chapter -prefix manual -short-ext -top-file index.htm -toc-file contents.htm afile.texi
-
- we get, in `manual':
-
- index.htm --> `@node Top' or `@top' section
- manual_1.htm --> Chapter 1
- manual_2.htm --> Chapter 2
- contents.htm --> Table of Contents
- manual_abt.htm --> About Page
-
- The file names generated by `texi2html' differ from those generated
-by `makeinfo'. `makeinfo' uses the node name to construct the file
-names while splitting at nodes. It is possible to get the same
-behaviour out of `texi2html' by specifying the `--node-files' option
-(variable `$NODE_FILES'). If the output isn't split at nodes,
-`texi2html' will still output files named after the nodes, without real
-content but redirecting to the right file. The default is false for
-this option. This trick enables the generated HTML manual to be a
-target for the cross-references of other manuals generated by
-`makeinfo' or `texi2html'.
-
-
-File: texi2html.info, Node: Expansion, Next: Texinfo related options, Prev: Output files, Up: Invoking texi2html
-
-Specifying which regions get expanded
-=====================================
-
- The default for `texi2html' is to expand the `@ifhtml', `@html', and
-`@menu' regions, all the `@ifnot' regions except `@ifnothtml', and no
-other `@if' regions.
-
- It is possible to expand other regions by setting `--if<region>',
-where `<region>' is replaced by the literal name of the region (for
-example, `--iftex'). Symetrically, if `--no-if<region>' is specified,
-the `<region>' region is ignored. The configuration file array,
-`@EXPAND', holds the names of regions which should be expanded. The
-only region name present in `@EXPAND' in the default case is `html'.
-
- If `--nomenu' is set, the `@menu' sections are not expanded
-(variable `$SHOW_MENU'). The default is to expand `@menu' sections.
-
-
-File: texi2html.info, Node: Texinfo related options, Next: Page layout options, Prev: Expansion, Up: Invoking texi2html
-
-Command line options related to Texinfo language features
-=========================================================
-
- Miscalleneous Texinfo related things may be specified via command
-line options.
-
-`--lang=LANG'
- Sets the document language similar to the Texinfo directive,
- `@documentlanguage LANG' (variable `$LANG'). The default is `en',
- that is, use the english language strings.
-
-`-DVAR'
- Sets VAR. Equivalent to, `@set VAR 1', in Texinfo.
-
-`-UVAR'
- Clears VAR. Equivalent to, `@clear VAR', in Texinfo.
-
-`-PDIR'
- Prepend DIR to the list of directories to search for `@include'
- files (the associated array is `@PREPEND_DIRS', empty in the
- default case).
-
-`-IDIR'
- Append DIR to the list of directories to search for `@include'
- files (the associated array is `@INCLUDE_DIRS', empty in the
- default case).
-
- The include files are always searched for in the current directory.
-
-
-File: texi2html.info, Node: Page layout options, Next: Style options, Prev: Texinfo related options, Up: Invoking texi2html
-
-Page layout related command line options
-========================================
-
- If the `--frames' option is specified, HTML frames are used. A file
-describing the frame layout is generated, and the document page is
-associated with a frame where the short table of content appears
-(variable `$FRAMES'). The default is not to use frames.
-
- It is also possible to suppress the section navigation panel with
-`--nosec-nav' (variable `$SECTION_NAVIGATION', the default is to output
-all the navigation panels), and to specify whether footnotes should
-appear at the foot of the same page which contains the reference to the
-note or on a separate page with `--separated-footnotes' (variable
-`$SEPARATED_FOOTNOTES'). The default is to have separated footnotes.
-
-
-File: texi2html.info, Node: Style options, Next: Expanding TeX regions, Prev: Page layout options, Up: Invoking texi2html
-
-Customizing the HTML and text style
-===================================
-
- Miscalleneous style changes may be achieved with command line
-options.
-
-`--doctype=DTD'
-`--frameset-doctype=DTD'
- You can specify the document DTD by setting these options.
- `--frameset-doctype' applies to the file describing the frames when
- frames are used (corresponding variables are `$DOCTYPE' and
- `$FRAMESET_DOCTYPE').
-
- The default for the document doctype is:
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
- And for the frameset doctype:
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html401/frameset.dtd">
-
-`--iso'
- If this option is set, ISO8859 entities are used for some special
- symbols, like Copyright (C) (variable `$USE_ISO'). It is the
- default.
-
-`--css-include=FILE'
- This command line switch provides for the inclusion of an external
- Cascading Style Sheet (CSS) file. More than one file may be
- specified, and `-' stands for the standard input (array
- `@CSS_FILES').
-
- The option use is the same than for `makeinfo' and is described
- extensively in *Note HTML CSS: (texinfo)HTML CSS. Briefly, the
- CSS `@import' lines from the external file CSS file are pasted
- before the `texi2html' CSS rules, and the external file CSS rules
- are pasted after the `texi2html' CSS rules.
-
-`--html-xref-prefix=PATH'
- This option sets the base directory for external HTML texinfo
- manuals (variable `$EXTERNAL_DIR'). Defaults to `../'.
-
-`--def-table'
- If this option is set, HTML tables are used to format definition
- commands, rather than HTML definition tables (variable
- `$DEF_TABLE'). Default is false.
-
-`--short-ref'
- If this option is set, cross-references are given without section
- numbers (variable `$SHORT_REF'). Default is false.
-
-`--number'
- If this option is set, sections are numbered (variable
- `$NUMBER_SECTIONS'). This is the default.
-
-`--toc-links'
- If this option is set, links from headings to TOC entries are
- created (variable `$TOC_LINKS'). Default is false.
-
-
-File: texi2html.info, Node: Expanding TeX regions, Next: Using init files, Prev: Style options, Up: Invoking texi2html
-
-Expanding `@tex' and `@math' regions using LaTeX2HTML
-=====================================================
-
- It is possible to use LaTeX2HTML (http://www.latex2html.org/) to
-process `@tex' regions and `@math{}' commands. This is an attractive
-way to display mathematical constructs in the HTML manual. The `--l2h'
-option activates this feature (variable $L2H). It is usually desirable
-to expand `@tex' sections when this option is specified (*note
-Expansion::). The default is not to use this feature.
-
- The `--l2h-l2h=PROGRAM' option enables changing the name/location of
-the LaTeX2HTML program processing TeX regions (variable `$L2H_L2H').
-The default is `latex2html'.
-
- `--l2h-tmp' sets the directory used for temporary files, this name
-shouldn't contain a dot `.' (variable is `$L2H_TMP'). Defaults to the
-current dir.
-
- The file specified by `--l2h-file' is used as LaTeX2HTML init file.
-It is searched at the same places than init files (*note Using init
-files::), and the default is `l2h.init'.
-
-
-File: texi2html.info, Node: Using init files, Prev: Expanding TeX regions, Up: Invoking texi2html
-
-Use initialization files for fine tuning
-========================================
-
- Initialization variables are read first from
-`/usr/local/share/texi2html/Config' (the exact location being
-changeable with the `--pkgdatadir=dir' option of the `configure'
-script, see *Note Installation::), `/usr/local/etc/texi2html/Config'
-(the exact location being changeable with the `--sysconfdir=dir' option
-of the `configure' script, see *Note Installation::), from `./Config'
-then from `$HOME/.texi2html/Config'. Any command-line option can
-override the corresponding option set in init file, and the option
-`--init-file' specifies an init file to be loaded, with later settings
-overriding earlier ones.
-
- The init files specified with `--init-file' are searched first in
-the current directory, then in the `$HOME/.texi2html/' directory, in
-the `/usr/local/etc/texi2html/' directory and lastly in the
-`/usr/local/share/texi2html/' directory.
-
- A file is also included based on the language selected, by `$LANG',
-`--lang' or `@documentlanguage'. If no language was selected `en' is
-considered to be the language. All the files with name the language
-name in `/usr/local/share/texi2html/i18n/',
-`/usr/local/etc/texi2html/i18n/', `$HOME/.texi2html/i18n/' and then
-`./i18n/' are included.
-
- The default initialization options are defined in the
-`texi2html.init' file contained in the `texi2html' distribution (which
-gets included near the beginning of the `texi2html' script that gets
-installed).
-
- To customize `texi2html' it is best if you copy the appropriate
-sections from the `texi2html.init' contents into an appropriate local
-initialization file, make the necessary changes there, and then have
-`texi2html' read this initialization file by one of the means described
-above.
-
-
-File: texi2html.info, Node: Initialization files, Next: Changing the page layout, Prev: Invoking texi2html, Up: Top
-
-Overview of initialization files content and loading
-****************************************************
-
- The initialization files are `perl' files, read as explained in
-*Note Using init files::. You don't need to know much of `perl' to do
-some simple changes in variable values, however, to be able to really
-take advantage of all the features of the initialization file, a good
-knowledge of `perl' is required.
-
- In initialization file two kind of variables appear. These are normal
-variables (including arrays and hashes) and references on functions.
-The later permits the dynamic redefinition of functions used to produce
-the HTML manual. You should be able to change the value of some normal
-variables without a deep knowledge of `perl', by looking at the
-existing examples. The possible mistakes in that case could be omitted
-`;', and bad quoting.
-
- Initialization file are loaded from the main program by the mean of
-a `require', while in the `Texi2HTML::Config' namespace. This means
-that the namespace of the main program and the namespace of
-inititalization files are distinct, which ensures that no name clash
-should happen. The variables are declared with the `our' specifier,
-such that it should be possible to use the `use strict' pragma in the
-initialization file code.
-
- To avoid messing with the variables in the `main' namespace all the
-global variables which could be of use in the init files are in the
-`Texi2HTML' namespace. Notice that the functions of the main program
-are still in the `main' namespace.
-
-* Menu:
-
-* Redefining functions:: Function redefinition is achieved with
- redefinition of references on functions.
-* Function prototypes:: Conventions used in that manual for function
- reference prototypes display.
-
-
-File: texi2html.info, Node: Redefining functions, Next: Function prototypes, Up: Initialization files
-
-Redefining functions in initialization files
-============================================
-
- To redefine a function you must replace the corresponding funtion
-reference with a reference on your function. Thus you should write
-your function, give it a name you are certain it is unique in the
-`Texi2HTML::Config' namespace, and override the value of the function
-reference with your own function reference. When another function from
-the main program (or from another functions of an initialization file)
-calls the reference, your function will be used.
-
- For example the function reference corresponding with the function
-called when doing an anchor is called `$anchor'. Thus if you want to
-override the corresponding function you could write:
-
- # override the function reference
- $anchor = \&my_own_function;
-
- # the function reference now refers to
- sub my_own_function {
- # process arguments and return an html anchor
- }
-
-
-File: texi2html.info, Node: Function prototypes, Prev: Redefining functions, Up: Initialization files
-
-Conventions used for function prototypes
-========================================
-
- As the functions are defined by a reference name, we will always use
-the reference name in function prototypes. For the function arguments
-we will use `\@array' for a reference on an array and similarly
-`\%hash' for a reference on a hash.
-
- Thus, the prototype for the function associated with the function
-reference `$formatting_function' will be:
-
- - Function Reference: $text formatting_function $arg1 \@arg2
- `formatting_function' takes as first argument $ARG2, as second
- argument a reference on an array \@ARG2 and returns the formatted
- text $TEXT.
-
- To redefined the corresponding function, you should write:
-
- $formatting_function = \&my_formatting_function
-
- sub my_formatting_function($ $)
- {
- my $arg1 = shift;
- my $arg2 = shift;
- # prepare $formatted_text
- .....
- return $formatted_text
- }
-
-
-File: texi2html.info, Node: Changing the page layout, Next: Customizing HTML, Prev: Initialization files, Up: Top
-
-Fine tuning of the page layout
-******************************
-
- Some features of the page layout might be specified with command line
-options, the corresponding variables are described in *Note Page layout
-options::. Fine tuning of the page layout may be achieved with
-redefinition of other variables and function references in the
-initialization files.
-
-* Menu:
-
-* The different pages:: The different categories of pages.
-* The page layout:: The elements of a page.
-* Navigation panel:: How to change the navigation panel.
-* Program variables:: The available main program variables and some
- usefull functions from the main program.
-* Output initialization:: Setting variables before the document
- production but after the texinfo parsing.
-* Output finalization:: Cleaning after document generation.
-* css:: Customizing css lines.
-* Customizing header::
-* Customizing section::
-* Customizing footer::
-* Special pages:: Customizing table of contents, top, about page.
-* File names:: Customizing the file names.
-* External index files:: Putting index entries in external files.
-
-
-File: texi2html.info, Node: The different pages, Next: The page layout, Up: Changing the page layout
-
-The different categories of pages and sectioning elements
-=========================================================
-
- The following sectioning elements can be associated with pages:
-
-_Normal elements_
- These are normal sections or nodes. Their association with pages is
- determined by the splitting of the document. *Note Splitting
- output::.
-
-_Top element_
- The top element is the higher element in the document structure.
- If there is a `@top' section it is the element associated with
- that section. Otherwise it is the element associated with the
- `@node Top'. If there is no `@node Top' the first element is the
- top element.
-
- The top element is formatted differently than a normal element if
- there is a `@top' section or the `@node Top' isn't associated with
- a sectioning command.
-
-_Misc elements_
- These elements are associated with pages if the document is split.
- There are four misc elements:
- 1. Table of contents
-
- 2. Short table of contents, also called Overview
-
- 3. Footnotes page
-
- 4. About page
-
- The _About page_ shouldn't be present for documents consisting in
- only one sectioning element. The _Footnote page_ should only be
- present if the footnotes appear on a separated page (*note Page
- layout options::), however a footnote element is present if the
- document isn't split. The _Table of contents_ should only be
- formatted if `@contents' is present in the document. Similarly
- the _Overview_ should only appear if `@shortcontents' or
- `@summarycontents' is present.
-
-
-File: texi2html.info, Node: The page layout, Next: Navigation panel, Prev: The different pages, Up: Changing the page layout
-
-Page layout and navigation panel overview
-=========================================
-
- A page is broken up in three parts. A page header, the sections and
-a page footer. A common element in the page layout is a navigation
-panel with icons or text linking to other sections or pages. Another
-common element is a rule, separating sections or footer. The navigation
-panel and the rules may be part of the sections or part of headers or
-footers. You may use the variables `$SMALL_RULE', `$DEFAULT_RULE',
-`$MIDDLE_RULE' and `$BIG_RULE' for rules of different sizes. The
-defaults are
- $SMALL_RULE = '<hr size="1">';
- $DEFAULT_RULE = '<hr>';
- $MIDDLE_RULE = '<hr size="2">';
- $BIG_RULE = '<hr size="6">';
-
- In the header some important meta data may be defined, like the
-title or style information, and textual informations may be present in
-comments. All this doesn't appear directly in the displayed HTML,
-though.
-
- The page layout is mainly controlled by functions, the precise
-functions called depending on the document splitting. The navigation
-panel, however, can be customized with variables.
-
-Element labels
---------------
-
- There are 19 items associated with elements. Each of these is
-associated with a name and a reference to the element they represent,
-when such an element exists. The element is either a global element or
-an element relative to the current element. The relative elements are
-found with respect with the document structure defined by the section
-structuring commands (`@chapter', `@unnumbered'...) or by the nodes (in
-that case the node directions are specified on node line or in menu
-organization). These items are called "element labels". They may be
-associated with a button (*note Button specifications::), and used in
-the formatting functions (*note Program variables::).
-
- Here is the list:
-
-_` '_
- An empty button
-
-_Top_
- Top element. The associated name is `$TOP_HEADING' if that
- variable is defined. This variable is not set by default.
-
-_Contents_
- Table of contents
-
-_About_
- About (help) page
-
-_Overview_
- Overview, short table of contents
-
-_First_
- First element in reading order
-
-_Last_
- Last element in reading order
-
-_Index_
- The first chapter with `@printindex'. The associated name is
- `$INDEX_CHAPTER', if the variable is set. This variable is not set
- by default.
-
-_This_
- The current element
-
-_Back_
- Preceding element in reading order
-
-_FastBack_
- Beginning of this chapter or previous chapter if the element is a
- chapter
-
-_Prev_
- Previous section on the same level
-
-_NodePrev_
- Previous node
-
-_Forward_
- Next element in reading order
-
-_FastForward_
- Next chapter
-
-_Next_
- Next section on the same level
-
-_NodeNext_
- Next node
-
-_Following_
- Next node in node reading order
-
-_Up_
- Up section
-
-_NodeUp_
- Up node
-
-
-File: texi2html.info, Node: Navigation panel, Next: Program variables, Prev: The page layout, Up: Changing the page layout
-
-Customization of the navigation panels buttons
-==============================================
-
- A lot of customization of the navigation panel may be achieved
-without redefining functions, with variables redefinition. In case it
-isn't enough, it is also possible to redefine the function doing the
-navigation panel formatting.
-
-* Menu:
-
-* General purpose variables:: Variables controlling the navigation panel
- at a global level
-* Button specifications::
-* Panel formatting function::
-
-
-File: texi2html.info, Node: General purpose variables, Next: Button specifications, Up: Navigation panel
-
-Controlling the navigation panel panel at a high level
-------------------------------------------------------
-
- The global formatting of the navigation panels may be changed with
-the following variables:
-
-`$VERTICAL_HEAD_NAVIGATION'
- A vertical navigation panel will be used for the header navigation
- panel if this variable is true.
-
-`$ICONS'
- Icons are used instead of textual buttons if this variable is true.
-
-`$SECTION_NAVIGATION'
- If this variable is false there is no section navigation, no
- navigation panels for the elements within the pages, only at the
- beginning and the end of the page (*note Page layout options::).
-
-
-File: texi2html.info, Node: Button specifications, Next: Panel formatting function, Prev: General purpose variables, Up: Navigation panel
-
-Specifying the buttons formatting
----------------------------------
-
- Several arrays and hashes enable a precise control on the buttons and
-their display. The following arrays determine the buttons present in
-navigation panels:
-
-`@SECTION_BUTTONS'
- This array is used for the navigation panel buttons present at the
- begining of sectioning elements. If split at node or section they
- are also used at the page footer, and in the case of section
- navigation at the page header.
-
-`@SECTION_FOOTER_BUTTONS'
-`@NODE_FOOTER_BUTTONS'
- This array is used for the navigation panel buttons present at the
- footer of pages when split at node or at section.
-
- If `$WORDS_IN_PAGE' is set and the output is split at nodes, these
- buttons are only present if there are more than `$WORDS_IN_PAGE'
- words in the sectioning element text. This counting is very rough
- and include punctuation marks, html elements, numbers. The
- default is to include the buttons after 300 words.
-
-`@CHAPTER_BUTTONS'
- This array is used for the buttons appearing at the page footer if
- split at chapter, and at the page header if split at chapter and
- there is no section navigation.
-
-`@MISC_BUTTONS'
- These buttons appear at the beginning of special and sections and
- at the end of these section pages if the output is split.
-
- The array specify the buttons displayed in navigation panels, and
-how the button is displayed. Each element is associated with a button
-of the navigation panel from left to right. The signification of the
-array element value is the following:
-
-_reference on a function_
- The function is called with first argument a filehandle reference
- on the current file and second argument a boolean true if the
- navigation panel should be vertical.
-
-_reference on a scalar_
- The scalar value is printed. For some possibly usefull scalars,
- *Note Elements hashes::.
-
-_reference on an array_
- In this case the first array element should be a reference on text
- and the second element an element label. In that case a link to the
- element associated with the element label with the scalar value
- text is generated.
-
- For example if the buttons array element is
- [ 'Next', \$Texi2HTML::NODE{Next} ]
-
- The button will be a link to the next section with text
- `$Texi2HTML::NODE{Next}'.
-
-_element label_
- If icons are not used, the button is a link to the corresponding
- element which text is defined by the value associated with the
- element label in the `%NAVIGATION_TEXT' hash, surrounded by `['
- and `]'. If the element label is ` ', there is no `[' and `]'.
- The element of the `%NAVIGATION_TEXT' hash are defined
- dynamically, in the `init_out' function reference (*note Output
- initialization::).
-
- If icons are used, the button is an image with file determined by
- the value associated with the element label in the `%ACTIVE_ICONS'
- hash if the the link really leads to an element, or in the
- `%PASSIVE_ICONS' hash if there is no element to link to. Of course
- if there is a link to the element the icon links to that element.
-
-
-File: texi2html.info, Node: Panel formatting function, Prev: Button specifications, Up: Navigation panel
-
-Changing the navigation panel formatting
-----------------------------------------
-
- If you are not satisfied with this scheme, it is possible to control
-exactly the formatting of navigation panels by redefining a function
-reference. The function controlling the display of navigation panel is
-associated with the following function reference:
-
- - Function Reference: print_navigation $filehandle \@buttons $vertical
- $FILEHANDLE is the opened filehandle the function should write to.
- \@BUTTONS is an array reference which should hold the
- specification of the buttons for that navigation panel. $VERTICAL
- is true if the navigation panel should be vertical.
-
-
-File: texi2html.info, Node: Program variables, Next: Output initialization, Prev: Navigation panel, Up: Changing the page layout
-
-Main program variables and usefull functions
-============================================
-
- In the functions controlling the page layout some global variables
-set by the main program are available, with value corresponding with
-the current layout element.
-
-* Menu:
-
-* Elements hashes:: Accessing information related with the
- different elements
-* Global informations:: Accessing global informations, like date,
- title...
-* Global functions:: main program usefull functions
-
-
-File: texi2html.info, Node: Elements hashes, Next: Global informations, Up: Program variables
-
-Accessing elements informations
--------------------------------
-
- Four hashes are available, with key the elements labels (as described
-in *Note Element labels::) and values:
-
-`%Texi2HTML::NAME'
- The formatted element name
-
-`%Texi2HTML::HREF'
- The element hypertext reference
-
-`%Texi2HTML::NODE'
- The element node name
-
-`%Texi2HTML::NO_TEXI'
- The element name after removal of texi commands
-
-
-File: texi2html.info, Node: Global informations, Next: Global functions, Prev: Elements hashes, Up: Program variables
-
-Accessing global informations
------------------------------
-
- Three kinds of global informations are available, miscalleneous
-global strings, flags set by `@set' and special flags and section lines.
-
-Global strings
-..............
-
- The `%Texi2HTML::THISDOC' hash holds some global informations:
-
-`fulltitle'
- title set by `@title'. If there is no `@title' other possibilities
- are tried (`@settitle', `@shorttitlepage'...).
-
-`title'
- title set by `@settitle', or `fulltitle'.
-
-`title_no_texi'
- title without texi formatting
-
-`title_texi'
- title with texi commands
-
-`author'
- Authors list set by `@author'.
-
-`authors'
- A reference on an array containing each author set by `@author'.
-
-`copying'
- Text appearing in `@copying' with all the texinfo commands removed,
- put in comments.
-
-`program'
- The name and version of `texi2html'.
-
-`program_homepage'
- Homepage for `texi2html'.
-
-`program_authors'
- Authors of `texi2html'.
-
-`file_base_name'
- base name of the texinfo manual file.
-
-`destination_directory'
- Destination directory for the resulting files.
-
-`toc_file'
- The file name of the table of contents.
-
-`today'
- The date.
-
- It also holds the arg of the following commands, associated with the
-command name: kbdinputstyle, paragraphindent, setchapternewpage,
-headings, footnotestyle, exampleindent, firstparagraphindent,
-everyheading, everyfooting, evenheading, evenfooting, oddheading,
-oddfooting.
-
-Flags
-.....
-
- Flags defined by `@set' may be accessed through the `%main::value'
-hash. The key is the flag name, the value is the flag value at the end
-of the document.
-
- Special flags are set by the main program. They correspond with a
-texinfo command, like `@setfilename', or `@settitle', `@author'... The
-corresponding flag is the command name with `_' appended, for example,
-`_titlefont' corresponds with `@titlefont'. Like other flags they are
-available in `%main::value'.
-
-Section lines
-.............
-
- The following array references or arrays holds formatted lines:
-
-`$Texi2HTML::THIS_SECTION'
- Lines of the current element.
-
-`$Texi2HTML::THIS_HEADER'
- Lines of the current element appearing before the element label
- (anchors).
-
-`$Texi2HTML::OVERVIEW'
- Lines of short table of contents. *Note Special pages::.
-
-`$Texi2HTML::TOC_LINES'
- Lines of table of contents. *Note Special pages::.
-
-
-File: texi2html.info, Node: Global functions, Prev: Global informations, Up: Program variables
-
-Function usefull in page formatting
------------------------------------
-
- The usefull function is a function used to print an array of lines,
-which also counts the number of words in the array, if needed.
-
- - Function: $words_number main::print_lines $filehandle \@lines_array
- $FILEHANDLE is the opened filehandle the function should write to.
- \@LINES_ARRAY is the array line the function should write to the
- file. If this argument is omitted, the function uses
- `$Texi2HTML::THIS_SECTION'. $WORDS_NUMBER is the number of words
- in the array, only defined if split at nodes and `$WORDS_IN_PAGE'
- is defined.
-
-
-File: texi2html.info, Node: Output initialization, Next: Output finalization, Prev: Program variables, Up: Changing the page layout
-
-Preparing the output
-====================
-
- After the texinfo file has been parsed, some information is available
-which can be used to modify some variables and prepare the outputting.
-For example the document language, the document encoding, values set
-with `@set' or `@setfilename' and other similar @-commands are not
-known before the texinfo parsing.
-
- The following function reference may be redefined to be called after
-texinfo processing and before document generation:
-
- - Function Reference: $encoding init_out
- This function perform the initialization of variables and any other
- task before document outputting. It returns the encoding used for
- the output files.
-
- In the default case the `$BODYTEXT' (*note Customizing header::) and
-the hashes `%NAVIGATION_TEXT' (*note Button specifications::) and
-`%BUTTONS_GOTO' (*note About text::) are initialized.
-
- To perform the default initializations and also add more code, you
-could do as in the following example (save the default function
-reference and call it in your own function) :
-
- my $default_init_out = $init_out;
- $init_out = \&makeinfo_like_init_out;
- sub makeinfo_like_init_out()
- {
- my $encoding = &$default_init_out();
- $NAVIGATION_TEXT{'Following'} = ' &gt; ';
- return $encoding;
- }
-
-
-File: texi2html.info, Node: Output finalization, Next: css, Prev: Output initialization, Up: Changing the page layout
-
-Finalizing the output
-=====================
-
- If you want to do some cleaning after the document was generated
-(close files, write at the end of files and so on), the following
-function reference may be redefined:
-
- - Function Reference: finish_out
- This function is called after the document generation.
-
- The default is to do nothing.
-
-
-File: texi2html.info, Node: css, Next: Customizing header, Prev: Output finalization, Up: Changing the page layout
-
-Customizing the `texi2html' css lines
-=====================================
-
- It is possible to modify the `texi2html' css lines by modifying the
-entries or adding to the `%css_map' hash. Each key is a css selector,
-the corresponding value is a style string.
-
- The whole css text is in the variable `$CSS_LINES'. If this variable
-is defined the variable value is used instead of being constructed
-using the `%css_map' entries. For example if you don't want any css
-entries, set
-
- $CSS_LINES = '';
-
- It is also possible to change completely the way `$CSS_LINES' are
-generated by redefining the following function reference:
-
- - Function Reference: css_lines \@import_lines \@rule_lines
- This function should be used to construct the `$CSS_LINES'.
- \@IMPORT_LINES are the `@import' lines of the files specified with
- `--include-css', and \@RULE_LINES are the css commands lines of
- these files. *Note Style options::.
-
diff --git a/Build/source/utils/texi2html/doc/texi2html.info-2 b/Build/source/utils/texi2html/doc/texi2html.info-2
deleted file mode 100644
index 7ca7887deb8..00000000000
--- a/Build/source/utils/texi2html/doc/texi2html.info-2
+++ /dev/null
@@ -1,1262 +0,0 @@
-This is texi2html.info, produced by makeinfo version 4.5 from
-texi2html.texi.
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
-
-Portions
-of
-`texi2html'
- Copyright (C) 1999, 2000 Lionel Cons
- Copyright (C) 1999, 2000 Karl Berry
- Copyright (C) 1999, 2000 Olaf Bachmann
- Copyright (C) 2002, 2003 Patrice Dumas
- Copyright (C) 2001, 2002, 2003 Derek Price
- Copyright (C) many others.
-
-
-Portions
-of this
-manual
- Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
- Copyright (C) 2003 Patrice Dumas (manual)
- Copyright (C) 2003 Derek Price (manual)
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-INFO-DIR-SECTION Texinfo documentation system
-START-INFO-DIR-ENTRY
-* Texi2HTML: (texi2html). Texinfo to HTML Converter.
-END-INFO-DIR-ENTRY
-
- This file, last updated 1 February 2005, documents the `texi2html'
-script which converts Texinfo (http://www.texinfo.org) into HTML
-(http://w3c.org). This edition is for `texi2html' version 1.76.
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
-
-Portions
-of
-`texi2html'
- Copyright (C) 1999, 2000 Lionel Cons
- Copyright (C) 1999, 2000 Karl Berry
- Copyright (C) 1999, 2000 Olaf Bachmann
- Copyright (C) 2002, 2003 Patrice Dumas
- Copyright (C) 2001, 2002, 2003 Derek Price
- Copyright (C) many others.
-
-
-Portions
-of this
-manual
- Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
- Copyright (C) 2003 Patrice Dumas (manual)
- Copyright (C) 2003 Derek Price (manual)
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-
-File: texi2html.info, Node: Customizing header, Next: Customizing section, Prev: css, Up: Changing the page layout
-
-Customizing the page header
-===========================
-
- It is possible to add lines to the text within the `<head>' HTML
-elements, by defining the variable `$EXTRA_HEAD'. Similarly it is
-possible to add text just after the `<body>' element with the variable
-`$AFTER_BODY_OPEN'. These variables are empty by default.
-
- The encoding of the texinfo file is defined by `$DOCUMENT_ENCODING'
-if no `@documentencoding' appears in the document. The default is a
-`en-ascii' encoding. The encoding of the resulting document is defined
-by `$ENCODING'. The default is the `$DOCUMENT_ENCODING'.
-
- The description of the document may be specified in
-`$DOCUMENT_DESCRIPTION'. If this variable is undef, the text associated
-with `@documentdescription' is used, and if there isn't such test a
-default description is constructed using the document title and the
-name of the first section of the file.
-
- The `<body>' element attributes may be set by defining the variable
-`$BODYTEXT'. If you want to define that variable dynamically, you
-should use the `init_out' function reference (*note Output
-initialization::).
-
- The default functions call the function associated with
-`$print_head_navigation' to format the navigation panel for the page
-header. Thus you can control parts of the formatting by redefining the
-function reference.
-
- - Function Reference: print_head_navigation $filehandle \@buttons
- $FILEHANDLE is the opened filehandle the function should write to.
- \@BUTTONS is an array reference which should hold the
- specification of the buttons for the navigation panel.
-
- If you want even more control, you can have full control over the
-page header formatting by redefining three function references. The
-function associated with `$print_page_head' is called for all the
-pages, and after that, the function associated with
-`$print_chapter_header' is called if the document is split at chapters,
-or the function associated with `$print_section_header' is called if
-the document is split at sections.
-
- - Function Reference: print_page_head $filehandle
- $FILEHANDLE is the opened filehandle the function should write to.
- This function should print the page head, including the `<body>'
- element.
-
- - Function Reference: print_chapter_header $filehandle
- $FILEHANDLE is the opened filehandle the function should write to.
- This function is called if the document is split at chapters, after
- `print_page_head'.
-
- - Function Reference: print_section_header $filehandle
- $FILEHANDLE is the opened filehandle the function should write to.
- This function is called if the document is split at sections, after
- `print_page_head'.
-
-
-File: texi2html.info, Node: Customizing section, Next: Customizing footer, Prev: Customizing header, Up: Changing the page layout
-
-Customizing the sections
-========================
-
- The functions associated with the following function references are
-used for the formatting of sections:
-
- - Function Reference: print_section $filehandle $first_in_page
- $previous_is_top
- $FILEHANDLE is the opened filehandle the function should write to.
- $FIRST_IN_PAGE is true if this section is the first section in the
- page. $PREVIOUS_IS_TOP is true if this section is the section
- following the Top section. This function should print the current
- section.
-
- - Function Reference: end_section $filehandle
- $last_element_or_before_top
- $FILEHANDLE is the opened filehandle the function should write to.
- $LAST_ELEMENT_OR_BEFORE_TOP is true if this section precedes the
- top element or is the last one in page, or before the special
- elements.
-
-
-File: texi2html.info, Node: Customizing footer, Next: Special pages, Prev: Customizing section, Up: Changing the page layout
-
-Customizing the page footer
-===========================
-
- It is possible to add text just before the `</body>' element with
-the variable `$PRE_BODY_CLOSE'. Nothing is added by default.
-
- The default functions call the function associated with
-`$print_foot_navigation' to format the navigation panel for the page
-footer. Thus you can control parts of the formatting by redefining the
-function reference.
-
- - Function Reference: print_foot_navigation $filehandle \@buttons
- $FILEHANDLE is the opened filehandle the function should write to.
- \@BUTTONS is an array reference which should hold the
- specification of the buttons for the navigation panel.
-
- If you want even more control, you can have full control the page
-footer formatting by redefining three function references. The
-function associated with `$print_chapter_footer' is called if the
-document is split at chapters, or the function associated with
-`$print_section_footer' is called if the document is split at sections.
-After that the function associated with `$print_page_foot' is called.
-
- - Function Reference: print_page_foot $filehandle
- $FILEHANDLE is the opened filehandle the function should write to.
- This function should print the page foot, including the `</body>'
- element.
-
- - Function Reference: print_chapter_footer $filehandle
- $FILEHANDLE is the opened filehandle the function should write to.
- This function is called if the document is split at chapters,
- before `print_page_foot'.
-
- - Function Reference: print_section_footer $filehandle
- $FILEHANDLE is the opened filehandle the function should write to.
- This function is called if the document is split at sections,
- before `print_page_foot'.
-
-
-File: texi2html.info, Node: Special pages, Next: File names, Prev: Customizing footer, Up: Changing the page layout
-
-Special pages formatting
-========================
-
- For the special elements, two things must be formatted: the content
-and the page layout
-
-* Menu:
-
-* Special pages content::
-* Special pages layout::
-
-
-File: texi2html.info, Node: Special pages content, Next: Special pages layout, Up: Special pages
-
-Customizing the content of the special pages
---------------------------------------------
-
-* Menu:
-
-* Top element text::
-* Contents and Overview text::
-* Footnotes text::
-* About text::
-
-
-File: texi2html.info, Node: Top element text, Next: Contents and Overview text, Up: Special pages content
-
-Top element text formatting
-...........................
-
- The top element formatting is controlled by three function which also
-controls the layout of the top element page or section. The associated
-function references are:
-
- - Function Reference: print_Top_header $filehandle $begin_page
- $FILEHANDLE is the opened filehandle the function should write to.
- $BEGIN_PAGE is true if the element is the first in a page. This
- function should begin the Top element. At the time this function
- is called the top element text hasn't been parsed.
-
- - Function Reference: print_Top $filehandle $has_top_heading
- $FILEHANDLE is the opened filehandle the function should write to.
- $HAS_TOP_HEADING is true if there is a `@heading' command or
- `@titlefont' command appearing in the Top element text. This
- function should be used to format the Top element text and
- navigation panel.
-
- - Function Reference: print_Top_footer $filehandle $end_page
- $FILEHANDLE is the opened filehandle the function should write to.
- $END_PAGE is true if the element is the last in a page. This
- function should end the Top element.
-
-
-File: texi2html.info, Node: Contents and Overview text, Next: Footnotes text, Prev: Top element text, Up: Special pages content
-
-Table of contents and Short table of contents
-.............................................
-
- Several variables may be used to control the formatting of table of
-contents and short table of contents:
-
-`$DO_CONTENTS'
- If the variable is true a table of contents is done even if there
- is no `@contents' command.
-
-`$DO_SCONTENTS'
- If the variable is true a short table of contents is done even if
- there is no `@summarycontents' command.
-
-`$BEFORE_OVERVIEW'
- The variable value is inserted before the short table of contents
- text.
-
-`$AFTER_OVERVIEW'
- The variable value is inserted after the short table of contents
- text.
-
-`$BEFORE_TOC_LINES'
- The variable value is inserted before the table of contents text.
-
-`$AFTER_TOC_LINES'
- The variable value is inserted after the table of contents text.
-
-`$TOC_LIST_STYLE'
- This should contain a css style used for the list style if the
- tables of content are formatted with a list.
-
-`$TOC_LIST_ATTRIBUTE'
- This should contain an attribute text used for the list element if
- the tables of content are formatted with a list.
-
- More control on the table of contents and short table of contents
-formatting may be achieved by redefining a function with the following
-associated function reference:
-
- - Function Reference: toc_body \@elements
- \@ELEMENTS is an array reference contining informations about all
- the elements of the document. Each of the entry of this array is
- an hash reference which entries correspond with different
- informations about the element. Interesting keys have the
- following meaning:
-
- `top'
- true if the element is the top element,
-
- `index_page'
- true if the element is an index page added because of index
- splitting,
-
- `toc_level'
- level of the element in the table of content. Highest level
- is 1 for the top element and for chapters, appendix and so on,
- 2 for section, unnumberedsec and so on...
-
- `tocid'
- label used for reference linking to the element in table of
- contents,
-
- `file'
- the file containing the element, usefull to do href to that
- file in case the document is split,
-
- `text'
- text of the element, with section number,
-
- `name'
- text of the element, without section number.
-
- This function doesn't return anything but should fill the array
- corresponding with the `$Texi2HTML::TOC_LINES' and
- `$Texi2HTML::OVERVIEW' references with the table of contents and
- short table of contents.
-
-
-
-File: texi2html.info, Node: Footnotes text, Next: About text, Prev: Contents and Overview text, Up: Special pages content
-
-Formatting of footnotes text
-............................
-
- The footnotes text is allready formatting when `@footnote' commands
-are expanded. *Note Footnotes::.
-
-
-File: texi2html.info, Node: About text, Prev: Footnotes text, Up: Special pages content
-
-Formatting of about text
-........................
-
- The default about element contains an explaination of the buttons
-used in the document (`@SECTION_BUTTONS', *Note Button
-specifications::) and an example locating the buttons targets in an
-example. The formatting of this text may be influenced by the following
-hashes and variables:
-
-`$PRE_ABOUT'
-`$AFTER_ABOUT'
- This variable may be a scalar or a function reference. If it is a
- scalar, the value is used. If this is a function reference it is
- expanded and the returned text is used. The text is added before
- or after the main about text.
-
-`%BUTTONS_GOTO'
- The keys of this hash are element labels (*note Element labels::).
- The value is the text associated with the element label in the
- about text. The element of the hash are defined dynamically, you
- should in the `init_out' function reference (*note Output
- initialization::).
-
-`%BUTTONS_EXAMPLE'
- The keys of this hash are element labels (*note Element
- labels::). The value is the text associated with the element label
- in the about example, typically a section number.
-
-
- If this is not enough and you want to control exactly the formatting
-of the about text, you can redefine the function associated with the
-following function reference:
-
- - Function Reference: $about_text print_about
- This function should return the about text.
-
-
-File: texi2html.info, Node: Special pages layout, Prev: Special pages content, Up: Special pages
-
-Customizing the layout of the special pages
--------------------------------------------
-
- The formatting of each of the special pages, or section in case the
-document is not split, is controlled by a function. The associated
-function reference is called accordingly:
-
-`print_Top'
-
-`print_Top_header'
-
-`print_Top_footer'
- Formatting of top element page or section. It is also used for the
- formatting of the top element text (*note Top element text::).
-
-`print_Toc'
- Formatting of table of contents page or section
-
-`print_Overview'
- Formatting of short table of contents page or section
-
-`print_About'
- Formatting of about (help) page or section
-
-`print_Footnotes'
- Formatting of footnotes section or page in case footnotes are on a
- separated page or the document isn't split.
-
- In the default case, `$print_Top' calls `$print_Top_header' for the
-header and `$print_Top_footer' for the footer of top element. All the
-other function call `$print_misc' which in turn calls
-`$print_misc_header' for the headers and `$print_misc_footer' for the
-footers.
-
-
-File: texi2html.info, Node: File names, Next: External index files, Prev: Special pages, Up: Changing the page layout
-
-Customizing the file names
-==========================
-
- It is possible to specify the file names with more control than with
-the command line options (*note Output files::). First the extension
-may be overrided by the variable `$EXTENSION' value. Two function
-references enable further customization. One is usefull in case
-`$NODE_FILES' is true and it is used to customize the node file name
-itself and is also used to produce a file name with a redirection
-leading to the node file.
-
- - Function Reference: ($node_file $redirection_node_file)
-node_file_name $node
- $NODE is a hash reference with the following interesting keys
- (there are much more keys):
- `texi'
- The texinfo node name.
-
- `with_section'
- True if associated with a section.
- The result is the node file name $NODE_FILE, and the file
- containing a redirection to the node $REDIRECTION_NODE_FILE.
-
- The other is usefull if `$NODE_FILES' isn't true. It is used to
-customize the file associated with each element.
-
- - Function Reference: $file element_file_name $element $is_top
- $docu_name
- $ELEMENT is a hash reference with the following interesting keys
- (there are much more keys):
- `texi'
- The texinfo element name.
-
- `number'
- The number associated with a section.
-
- `doc_nr'
- A number incremented whenever a new file should begin, based
- on how the document is split (*note Splitting output::).
-
- `text'
- The element text.
-
- `name'
- The element text without section number.
- $IS_TOP is true if the element is considered as the top element.
- $DOCU_NAME is the basename of the texinfo manual. The result is
- the element file name.
-
-
-File: texi2html.info, Node: External index files, Prev: File names, Up: Changing the page layout
-
-Generation of external files for index entries
-==============================================
-
- Within the document, `@printindex' commands are expanded as explained
-in *Note Index list::. In case you want to do something special with
-index entries, outside of the document, you should first set the
-variable `$IDX_SUMMARY' true. After that some function reference will
-be called for each non empty index. For each index there are 3 function
-references, one called for initialization, one called for each index
-entry and the last one called for finalazation.
-
- - Function Reference: index_summary_file_begin $index_name $is_printed
- $INDEX_NAME is the two letters name for the index. This function
- is called for each index appearing in the document, before
- `index_summary_file_entry'. $IS_PRINTED is true if there is a
- `@printindex' for that index.
-
- - Function Reference: index_summary_file_entry $index_name $entry_text
- $entry_reference $formatted_entry $texi_entry
- $entry_element_reference $entry_element_header $is_printed
- This function is called for each entry of an index. INDEX_NAME is
- the name of the index. $ENTRY_TEXT is the entry in plain text,
- $FORMATTED_ENTRY is the index entry formatted, $TEXI_ENTRY is the
- entry with texinfo commands. $ENTRY_REFERENCE is the reference
- placed at the index entry place, in the form `file#id'.
- $ENTRY_ELEMENT_HEADER is the formatted header of the element
- containing the index entry. ENTRY_ELEMENT_HEADER is the reference
- to the beginning of the element containing the index entry, in the
- form `file#id'. $IS_PRINTED is true if there is a `@printindex'
- for that index.
-
- - Function Reference: index_summary_file_end $index_name $is_printed
- $INDEX_NAME is the two letters name for the index. This function
- is called for each index appearing in the document, after
- `index_summary_file_entry'. $IS_PRINTED is true if there is a
- `@printindex' for that index.
-
-
-File: texi2html.info, Node: Customizing HTML, Next: Internationalization, Prev: Changing the page layout, Up: Top
-
-Customizing HTML and text style in init files
-*********************************************
-
- Some simple customization may be achieved with the redefinition of
-the variables associated with the command line options. For the
-description and an explanation of the meaning of these variables, *Note
-Style options::.
-
- Other variables and hash entries can be modified in initialization
-file to achieve more customization. Lastly, functions references
-corresponding with functions called from the main program and
-initialization files may be redefined.
-
-* Menu:
-
-* Three contexts:: there are three different contexts for command
- expansion: normal text, preformatted text and
- strings.
-* Commands without argument::
-* Style and accent commands::
-* Anchors images and spaces:: Formatting of `@anchor', `@image', `@sp', `@acronym', `@abbr'
-* Text:: Some characters are processed specially
-* Strings:: `texi2html' write some strings in the output
- different for each languages
-* References::
-* Alignement commands:: `@center', `@flushleft'...
-* Paragraph and preformatted region::
-* Complex formats:: `@example', `@display'...
-* Lists tables::
-* Definitions::
-* Headings::
-* Special regions:: `@verbatim', `@cartouche', `@quotation'
-* Menus::
-* Indices::
-* Floats and lists of floats:: `@float' and `@listoffloats'
-* Footnotes::
-* Other and unknown commands:: You can handle specifically other commands
-
-
-File: texi2html.info, Node: Three contexts, Next: Commands without argument, Up: Customizing HTML
-
-Three contexts for expansions: preformatted, normal and string
-==============================================================
-
- There are three contexts of interest, one is the normal context, the
-other is a special context, called the "preformatted" context and the
-last is the string context. The preformatted context occurs when the
-spacing between words is kept. This is the case, for example, in
-`@display' or `@example' regions, and in menu comments (*note Menus::).
-The preformatted regions are usually rendered in `<pre>' elements in
-HTML. The string context occurs when rendering strings without
-formatting elements, in comments or titles for example.
-
-
-File: texi2html.info, Node: Commands without argument, Next: Style and accent commands, Prev: Three contexts, Up: Customizing HTML
-
-Customizing the formatting of commands without argument
-=======================================================
-
- This includes the commands whose name is a nonletter character like
-`@@', the commands with lettered characters and braces but whose braces
-should be empty, like `@TeX{}', or some commands associated with
-accentted letters like `@AA{}'. If there happens to be something within
-the braces, it is put after the command, thus
- @TeX{something}
- leads to the same than
- @TeX{} something
-
- Each of these categories of commands have three associated hashes,
-one for normal context, the other for preformatted context and the last
-in strings. The keys of the hashes are the command names, the
-associated value is the text replacing the command.
-
- The hashes are:
-command type normal text preformatted text string
-one nonlettered character `%simple_map' `%simple_map_pre' `%simple_map_texi'
-nothing in braces `%things_map' `%pre_map' `%texi_map'
-
- To change the HTML resulting from these constructs, just change the
-value. For example, if you want `&shy;' to be outputted for `@-' in
-normal and preformatted context, write in your init file:
-
- $simple_map{'-'} = '&shy;';
- $simple_map_pre{'-'} = '&shy;';
-
-
-File: texi2html.info, Node: Style and accent commands, Next: Anchors images and spaces, Prev: Commands without argument, Up: Customizing HTML
-
-Customizing accent, style and other simple commands
-===================================================
-
- The formatting of the HTML produced by style and indicatric commands
-(`@tt', `@code', `@email', `@titlefont'), the accentuation related
-commands taking argument (`@'', `@udotaccent', `@dotless') and
-miscalleneous commands (`@email', `@verb', `@w', `@uref', `@math',
-`@asis') is controlled by two hash in the default case, `%style_map'
-for normal context, `%style_map_pre' for preformatted context and
-`%style_map_texi' in string context.
-
- The key of the hashes are the command names. There are two
-possibilities for the values corresponding with two interfaces. The
-values may be strings or hash references, and you can chose the
-interface depending on the one you prefer. The interface with hash
-reference is a bit more flexible but might also be regarded as more
-complex. If you don't like either of these interfaces you can define
-your own.
-
- Some remarks are in order:
-
- * The nonlettered accent commands which following character is
- considered to be the argument (like in `@`a') should be keys of the
- hash `%accent_map' hash, even if no value is associated.
-
- * `@math' is handled differently if LaTeX2HTML is used.
-
-* Menu:
-
-* Hash reference interface::
-* String interface::
-* Define your own interface::
-
-
-File: texi2html.info, Node: Hash reference interface, Next: String interface, Up: Style and accent commands
-
-An interface for commands formatting with a hash reference
-----------------------------------------------------------
-
- The key of the hashes are the command names. The value determine how
-the command argument is formatted. This value is a reference on a hash.
-In this hash each key corresponds with a type of information for the
-formatting, and the value is the corresponding information. For
-example, in
-
- $style_map{'command'} = { 'args' => ['code'], 'attribute' => 'code'};
-
- the arguments for `@command' are interpreted as specified by the
-values associated with the `args' key while the attribute associated
-with that command is `code'.
-
- The following keys in the hashes associated with each command have
-the following meaning:
-
-`args'
- The value associated is a reference on an array. Each element of
- the array defines how the arguments (separated by `,' in the
- texinfo code) for the @-command should be formatted. The
- possibilities are
- `normal'
- for normal text,
-
- `code'
- for text with `---', `--', `''' and ```' kept as is,
-
- `keep'
- if the texinfo should be kept as is, without interpretation
- of the @-commands.
-
- For example, we have
- $style_map{'email'}->{'args'} = ['code', 'normal'];
-
- because `---', `--', `''' and ```' should be kept as is in the
- first argument of `@email'.
-
- The default is `['normal']'.
-
-`attribute'
- If the associated value is a word, it is considered to be an HTML
- element name, and the argument is enclosed between the element
- opening and the element closing. For example, if the value is
- `elem', the resulting HTML is `<elem>ARG</elem>'.
-
- If the text is a word followed by some text, the word and is
- interpreted as above, and the text is considered to be the
- attributes text of the element. Thus `elem class="elem"' leads to
- `<elem class="elem">ARG</elem>'.
-
- This works only if there is only one argument.
-
-`begin'
- The associated value is added in front of the text.
-
-`begin'
- The associated value is added after the text.
-
-`quotes'
- If the corresponding value is true, the result is enclosed in
- quotes `$OPEN_QUOTE_SYMBOL' and `$CLOSE_QUOTE_SYMBOL', with
- defaults ``' and `''.
-
-`function'
- The corresponding value should be a function reference. The
- corresponding function is called with the following arguments:
-
- `$command'
- The @-command name
-
- `$args'
- A reference on an array containing the arguments of the
- @-command.
-
- `$style_stack'
- A reference on an array containing the name of the @-commands
- containing the @-command being formatted.
-
- `$state'
- A reference on a hash containing a lot of informations about
- the context of the @-command.
-
- `$line_nr'
- An opaque structure containing the information about the line
- number of the @-command. It can be used to call
- `main::echo_error' or `main::echo_warning' with first
- argument a message, and second argument `$line_nr'.
-
-
-File: texi2html.info, Node: String interface, Next: Define your own interface, Prev: Hash reference interface, Up: Style and accent commands
-
-An interface for commands formatting with a string
---------------------------------------------------
-
- The keys of the hashes are the command names. The value determine
-how the command argument is formatted. If the value begins with `"',
-the result is enclosed in quotes `$OPEN_QUOTE_SYMBOL' and
-`$CLOSE_QUOTE_SYMBOL', with defaults ``' and `''.
-
- The command argument is allready formatted as HTML. The remaining
-of the value text (or the value text if there were no `"') is
-interpreted as follow:
-
- * If the text is empty the argument of the command is left as is.
-
- * If the text is a `&' followed by a name, like `&function', the
- name is considered to be a function name, and this function is
- called to format the argument of the command. The first argument
- of the function is the command name, the second is the command
- argument. For example, if the value associated with the
- (fictituous) command `@foo' is `&my_func' and we have:
-
- sub my_func
- {
- my @args = split /,\s*/ $_[1];
- return "$_[0]: $args[0]" if ($args[1] = 1);
- return "$args[0]";
- }
-
- The result of
- @foo{truc, 1}
- @foo{truc, bidule}
- will be
- foo: truc
- truc
-
- * If the text is a word, it is considered to be an HTML element
- name, and the argument is enclosed between the element opening and
- the element closing. For example, if the value is `elem', the
- resulting HTML is `<elem>ARG</elem>'. Similarly `"quoted' leads to
- ``<quoted>ARG</quoted>''.
-
- * If the text is a word followed by some text, the word and is
- interpreted as above, and the text is considered to be the
- attributes text of the element. Thus `elem class="elem"' leads to
- `<elem class="elem">ARG</elem>'.
-
-
-File: texi2html.info, Node: Define your own interface, Prev: String interface, Up: Style and accent commands
-
-Defining the style and indicatric commands interface
-----------------------------------------------------
-
- If you don't like this scheme, it is possible to change how those
-commands are processed by redefining the following function reference:
-
- - Function Reference: $resulting_text style $style $command $text
- $args $no_close $no_open $line_nr $state $style_stack
- $COMMAND is the @-command, $STYLE is the value associated with the
- $COMMAND in the `%style_map', `%style_map_pre' or
- `%style_map_texi' hashes. The $TEXT is the text appearing within
- the @-command braces. ARGS is a reference on an array contening
- the command arguments formatted according to the same conventions
- than with the reference hash style (provided the value associated
- with the @-command is a hash reference with a $ARG key as
- described in *Note Reference hash args::). If $TEXT is split in
- paragraphs each paragraph is passed through the function, and
- $NO_CLOSE is true if it is not the last paragraph, while $NO_OPEN
- is true if it is not the first paragraph. $LINE_NR is an opaque
- structure containing the information about the line number of the
- @-command. It can be used to call `main::echo_error' or
- `main::echo_warning' with first argument a message, and second
- argument `$line_nr'. $STATE is a reference on a hash containing a
- lot of informations about the context of the @-command.
- $STYLE_STACK is a reference on an array containing the name of the
- @-commands containing the @-command being formatted.
-
-
-
-File: texi2html.info, Node: Anchors images and spaces, Next: Text, Prev: Style and accent commands, Up: Customizing HTML
-
-Formatting of special simple commands
-=====================================
-
- The formatting of special simple commands is controlled by
-functions. To customize the output, the corresponding function
-references should be redefined. All these functions return a formatted
-text.
-
- The formatting of anchors is controlled by `$anchor', but the
-function associated with the function reference does more, it is usefull
-to produce a reference target or link.
-
- - Function Reference: $anchor anchor $identifier $href $text
- $attributes
- If $IDENTIFIER is not empty, this value should be used to create a
- target for links (typically associated with a name or id attribute
- in HTML). The $HREF argument specifies a hpertextual reference
- which should be used to link to a target. In case both
- $IDENTIFIER and $HREF are given the text produced should be both
- a target for $IDENTIFIER and a link to $HREF. $TEXT is the text
- to be displayed. $ATTRIBUTES are additional attributes. It
- should be reasonable to assume that the attributes are for a `<a>'
- HTML element.
-
- The formatting of `@image' is controlled by:
-
- - Function Reference: $image image $file_path $basename $preformatted
- $file_name
- $FILE_PATH is the image file name with the path, $BASENAME is the
- alternate text or the file name without extension if no alternate
- text is given. $PREFORMATTED is true if the image appears in
- preformatted text. $FILE_NAME is the file name without path but
- with extension.
-
- The formatting of `@sp' is controlled by:
-
- - Function Reference: $sp sp $number $preformatted
- $NUMBER is the numeric argument of `@sp'. $PREFORMATTED is true
- if the `@sp' appears in preformatted text.
-
- The formatting of `@acronym' and `@abbr' is controlled by:
-
- - Function Reference: $acronym acronym_like $acronym_texi
- $acronym_text $with_explanation \@explanation_lines
- $explanation_text $explanation_simply_formatted
- $ACRONYM_TEXI is the acronym argument with texinfo @-commands,
- $ACRONYM_TEXT is formatted.
-
- The other arguments are related with the explanation, the second
- arg of the acronym. $WITH_EXPLANATION is true if the second
- argument of the acronym command is present. If an explanation
- exists, coming from previous `@acronym' or as an arg of this
- command, the other args are defined: \@EXPLANATION_LINES is a
- reference on an array containing the unformatted explanation lines,
- $EXPLANATION_TEXT is the explanation text formatted,
- $EXPLANATION_SIMPLY_FORMATTED is the explanation with a light
- formatting, unabling in HTML (or XML) the explanation to be in an
- attribute.
-
-
-File: texi2html.info, Node: Text, Next: Strings, Prev: Anchors images and spaces, Up: Customizing HTML
-
-Processing special characters in text
-=====================================
-
- Some characters are processed especially in text: `---', `--', ```'
-and `'''. This is done only if in normal text and not in some commands
-(`@code', `@env'...). A function reference is called to process those
-characters in text
-
- - Function Reference: $processed_text normal_text $text
- The function processes `---', `--', ```' and `''' in $TEXT and
- returns $PROCESSED_TEXT. The default is to change `---' to `--',
- `--' to `-', and ```' and `''' to `"'.
-
- Some characters are special in HTML (`&', `"', `<' and `>') and
-should be protected. This is done by the function associated with the
-function reference
-
- - Function Reference: $protected_text protect_text $text
- The function processes the unprotected text $TEXT and returns the
- resulting protected text $PROTECTED_TEXT.
-
- Empty lines are processed by the following function reference, which
-could be usefull if empty lines are to be removed for example
-
- - Function Reference: $resulting_text empty_line $empty_line
- This function processes an $EMPTY_LINE and returns the resulting
- text $RESULTING_TEXT. Empty lines are left as is by default.
-
-
-File: texi2html.info, Node: Strings, Next: References, Prev: Text, Up: Customizing HTML
-
-Customizing strings written by `texi2html'
-==========================================
-
- `texi2html' writes some strings in the generated document at various
-places, at the page footers, on the help page, for special section
-headings, buttons alt text and so on. These strings are customizable.
-The string chosen depends on the language of the document (set by
-`--lang', `$LANG' or `@documentlanguage'). This is the basis for
-internationalization as it allows for strings translations.
-
- The strings are found in a hash reference, `$LANGUAGES'. Each key
-is a language code. The associated value is also a hash reference. The
-key is an english string and the associated value is the string
-replacing the english string, if present. For example, we have
-
- $LANGUAGES->{'fr'} = {
- ' Up ' => 'Plus haut',
- };
-
- It means that whenever the string ` Up ' is to be written and the
-language is `fr', `Plus haut' is written. It is possible to customize
-the english strings by redefining the `en' language hash.
-
- When a string contains a `%' followed by `{' NAME `}' it means that
-the string will be expanded by `texi2html'. For example, if we have
-
- $LANGUAGES->{'fr'} = {
- 'See %{node_file_href}' => 'Voir %{node_file_href}',
- };
-
- `%{node_file_href}' will be expanded to an href for a node in a file
-by `texi2html' in the string. A `%%' will be expanded as `%'.
-
- For more on internationalization, see *Note Internationalization::.
-
-
-File: texi2html.info, Node: References, Next: Alignement commands, Prev: Strings, Up: Customizing HTML
-
-References
-==========
-
-* Menu:
-
-* Reference to external manual::
-* Internal reference::
-
-
-File: texi2html.info, Node: Reference to external manual, Next: Internal reference, Up: References
-
-Reference to external manual
-----------------------------
-
- The references are produced with two function references, one for the
-hypertextual reference construction, the other for the full reference to
-external manual.
-
- - Function Reference: $href external_href $node $node_identifier
- $xml_node_identifier $manual_file_name
- $NODE is the node name, with @-commands. $NODE_IDENTIFER is the
- node name mapped to an identifier acceptable as a file name.
- $XML_NODE_IDENTIFIER is the node name mapped to an identifier
- acceptable as an XML identifier. Those identifiers are built as
- explained in *Note HTML Xref: (texinfo)HTML Xref, thus allowing
- for cross references to external manuals. $FILE is the manual or
- file name of the external reference. This function should return an
- href leading to the external manual.
-
- The default for this function is to make a reference compatible
- with `makeinfo' (*note HTML Xref: (texinfo)HTML Xref.).
-
- - Function Reference: $text external_ref $command $section $book
- $node_and_file $href $cross_ref_name
- This function formats a reference to an external texinfo manual.
- The $COMMAND is the ref command (`ref', `xref' or `pxref', in
- text, at sentence beginning or in parenthesis). The optionnal
- $SECTION argument is the section in the book and BOOK is the book
- title. $NODE_AND_FILE is the node and file name formatted
- according to the convention used in info: `(file)node'. $HREF it
- an hypertextual reference to the distant manual constructed using
- the above function. $CROSS_REF_NAME is an optionnal cross
- reference name appearing in the reference command. This function
- returns the text corresponding with the external html manual
- reference. This function returns the full formatted text of the
- external reference.
-
-
-File: texi2html.info, Node: Internal reference, Prev: Reference to external manual, Up: References
-
-Reference to an internal node
------------------------------
-
- A function reference is available for internal references.
-
- - Function Reference: $text internal_ref $command $href $short_name
- $name $is_section
- This function formats a reference to a node in the current manual.
- The $COMMAND is the ref command (`ref', `xref' or `pxref', in
- text, at sentence beginning or in parenthesis). $HREF it an
- hypertextual reference linking to the corresponding node or
- section. $SHORT_NAME and $NAME hold the text for the reference but
- $SHORT_NAME can be the node name which is assumed to be shorter
- than the section name. $IS_SECTION is a boolean true if the
- reference is a reference to a section. This function returns the
- full formatted text of the internal reference.
-
-
-File: texi2html.info, Node: Alignement commands, Next: Paragraph and preformatted region, Prev: References, Up: Customizing HTML
-
-Commands used for centering and flushing of text
-================================================
-
- When a command controlling the alignement of text is used (`@center',
-`@flushleft' and `@flushright'), the main program takes care of opening
-and closing paragraphs. The alignement commands are the key of the
-`%paragraph_style' hash. The value is used in the function doing the
-formatting of the paragraphs. *Note Paragraph and preformatted
-region::.
-
- A function references allows for a customization of the formatting
-of the text appearing in the command block.
-
- - Function Reference: $result paragraph_style_command $command $text
- $COMMAND is the command name, $TEXT is the text appearing within
- the command. This function returns a formatted text. The default
- is to return the text unmodified.
-
-
-File: texi2html.info, Node: Paragraph and preformatted region, Next: Complex formats, Prev: Alignement commands, Up: Customizing HTML
-
-Formatting or not a paragraph or a preformatted region
-======================================================
-
-* Menu:
-
-* Paragraph and preformatted formatting::
-* Avoiding paragraphs::
-
-
-File: texi2html.info, Node: Paragraph and preformatted formatting, Next: Avoiding paragraphs, Up: Paragraph and preformatted region
-
-Paragraph and preformatted region formatting
---------------------------------------------
-
- The formatting of a paragraph region or a preformatted region, is
-controlled by function references:
-
- - Function Reference: $paragraph_text paragraph $text $alignement
- $formatting_command $formatting_command_formatted
- \$paragraph_number $format $item_number $enumerate_style
- $number
- This function formats a paragraph. $TEXT is the text of the
- paragraph, $ALIGNEMENT is the empty string when no alignement
- command has been seen, otherwise it is the current alignement
- command name. *Note Alignement commands::.
-
- The remaining arguments are usefull when the paragraph appears
- within a list or table. It is usefull whenever the paragraph has
- to be formatted differently when appearing in such environments.
- Moreover in that case the format command (`@itemize'...) may have
- an associated formatting command. $FORMATTING_COMMAND is this
- formatting command (like `@minus'). $FORMATTING_COMMAND_FORMATTED
- is the command formatted in html in case the formatting command is
- a leading command (like `@minus') which should be leading the
- first paragraph. \$PARAGRAPH_NUMBER is a reference on the number
- of paragraphs in that format command. The corresponding variable
- should be increased when a paragraph is added. $FORMAT is the
- format command. *Note Table and list items::.
-
- If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of the
- item in the list, $ENUMERATE_STYLE is the argument of the
- enumerate, $NUMBER is the number or letter corresponding with this
- item.
-
- - Function Reference: $preformatted_text preformatted $text $style
- $region_name $formatting_command
- $formatting_command_formatted \$preformatted_number $format
- $item_number $enumerate_style $number
- This function formats a preformatted region. $TEXT is the text of
- the preformatted region, $STYLE is the css style associated with
- that preformatted region (*Note css::). $REGION_NAME is the name
- of the command opening the preformatted region (`example'..., see
- *Note Complex formats::) or a identifier for the preformatted
- context (for example `menu-comment', see *Note Menus::). The
- alignment commands are not taken into account, as the spaces are
- preserved in preformatted regions, you should flush and center by
- hand.
-
- The remaining arguments are usefull when the preformatted region
- appears within a list or table. It is usefull whenever the
- preformatted region has to be formatted differently when appearing
- in such environments. Moreover in that case the format command
- (`@itemize'...) may have an associated formatting command.
- $FORMATTING_COMMAND is this formatting command (like `@minus').
- $FORMATTING_COMMAND_FORMATTED is the command formatted in html in
- case the formatting command is a leading command (like `@minus')
- which should be leading the first preformatted region.
- \$PREFORMATTED_NUMBER is a reference on the number of preformatted
- regions in that format command. The corresponding variable should
- be increased when a preformatted region is added. $FORMAT is the
- format command. *Note Table and list items::.
-
- If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of the
- item in the list, $ENUMERATE_STYLE is the argument of the
- enumerate, $NUMBER is the number or letter corresponding with this
- item.
-
-
-File: texi2html.info, Node: Avoiding paragraphs, Prev: Paragraph and preformatted formatting, Up: Paragraph and preformatted region
-
-Avoiding paragraphs in formats
-------------------------------
-
- It is possible to avoid that a format closes the previous paragraph
-or preformatted region and reopens one, by putting the format command
-in a hash, `%format_in_paragraph' with a true value.
-
-
-File: texi2html.info, Node: Complex formats, Next: Lists tables, Prev: Paragraph and preformatted region, Up: Customizing HTML
-
-Formatting of complex formats (`@example', `@display'...)
-=========================================================
-
- Here we see how a whole complex format is formatted. For the
-formatting of the text, see *Note Paragraph and preformatted region::.
-
- The formatting of the complex formats is ultimately controlled by a
-function, however the default for this function uses a hash reference
-and changing the hash reference values should be enough in most cases.
-This hash reference is called `$complex_format_map'. It has a key for
-each of the complex format commands (`example', `smallexample', `lisp',
-`smalllisp', `display', `smalldisplay', `format', `smallformat').
-
- The associated value is also a reference on a hash. The keys are
-`begin' and `end'. An eval of `begin' should lead to the beginning of
-the formatted HTML, an eval of `end' should lead to the end of the
-formatted HTML. The enclosed text will be formatted as described in
-*Note Paragraph and preformatted region::, and the name of the complex
-format will be available to the function formatting the text.
-
- If you aren't satisfied with this scheme, you can redefine the
-following function reference for a better control over the complex
-format formatting:
-
- - Function Reference: $complex_format_text complex_format $format_name
- $preformatted_text
- $FORMAT_NAME is the complex format name, $PREFORMATTED_TEXT is the
- text allready formatted as described in *Note Paragraph and
- preformatted region::. This function returns the whole complex
- format.
-
-
-File: texi2html.info, Node: Lists tables, Next: Definitions, Prev: Complex formats, Up: Customizing HTML
-
-Customizing the formatting of lists and tables
-==============================================
-
- The formatting of lists and tables is done at two levels:
- * At the level of the whole region (table or list),
-
- * At the level of the individual items, rows or cells of the list or
- table.
-
-* Menu:
-
-* Table and list items::
-* Whole table list::
-
-
-File: texi2html.info, Node: Table and list items, Next: Whole table list, Up: Lists tables
-
-Formatting individual table and list items
-------------------------------------------
-
- In texinfo it is possible to give `@itemize' or table command
-(hereafter called a "format command") a "formatting command". For
-example `@minus' is the formatting command here:
- @table @minus
-
- The default is to apply the command to the text item, however it is
-possible to avoid it. The hash `%special_list_commands' has an entry
-for each of the format command. Each of these entries is a hash
-reference. If a formatting command is a key of the hash reference, then
-the formatting command is not applied to the text item for that format
-command. For example, if we have:
-
- $special_list_commands{'itemize'} = { 'bullet' => '' };
-
- and we have the following `@itemize':
- @itemize @bullet
- @item an item
- @end itemize
-
- then `@bullet' will not be applied to `an item'.
-
-_lists_
- The items of lists are formatted using the following function
- reference:
-
- - Function Reference: $list_item list_item $text $format $command
- $formatted_command $item_number $enumerate_style $number
- This function formats the text between `@item' commands. $TEXT
- is the text corresponding with the item. $FORMAT is the type
- of format, `itemize' or `enumerate'. $COMMAND is the
- formatting command given in argument to `@itemize',
- $FORMATTED_COMMAND is this command formatted if it is a
- leading command, like `@minus'.
-
- If the $FORMAT is an enumerate, $ITEM_NUMBER is the number of
- the item in the list, $ENUMERATE_STYLE is the argument of the
- enumerate, $NUMBER is the number or letter corresponding with
- this item.
-
-_two column tables_
- The two columns tables (`@table', `@ftable' and `@vtable'), items
- are formatted using two function references, one for the first
- line located on the `@item' line corresponding with the first
- column, the other for the text appearing on the following lines,
- corresponding with the second column text.
-
- - Function Reference: $table_item table_item $item_text
- $index_label_text $format $command $formatted_command
- This function is used to format the text on the `@item' line.
- $TEXT_ITEM is the text line. In case there is an index entry
- associated with the `@item' (as with `@ftable' and
- `@vtable'), $INDEX_LABEL_TEXT is the text inserted at the
- place where an index entry appears. *Note Index entry place::.
- $FORMAT is the type of format, `table', `ftable' or `vtable'.
- $COMMAND is the formatting command given in argument to the
- table format command, $FORMATTED_COMMAND is this command
- formatted if it is a leading command, like `@minus'.
-
- - Function Reference: $table_line table_line $text
- This function is used to format the text on the lines
- following the `@item' line. $TEXT is the corresponding text.
-
-_multitable_
- The multitable elements formatting is controlled by the functions
- associated with two function references. One for a cell, and the
- other for a row.
-
- - Function Reference: $multitable_cell cell $text
- This function is used to format the text of a multitable
- cell, the text following a `@item' or a `@tab'. $TEXT is the
- corresponding text.
-
- - Function Reference: $multitable_row row $text $item_command
- This function is used to format a multitable row. $TEXT is
- the row text, with cells allready formatted with the `$cell'
- function reference. $ITEM_COMMAND is the command used to
- introduce the row, such that it is possible to distinguish
- between `@item' and `@headitem'.
-
diff --git a/Build/source/utils/texi2html/doc/texi2html.info-3 b/Build/source/utils/texi2html/doc/texi2html.info-3
deleted file mode 100644
index 29fade237c7..00000000000
--- a/Build/source/utils/texi2html/doc/texi2html.info-3
+++ /dev/null
@@ -1,1085 +0,0 @@
-This is texi2html.info, produced by makeinfo version 4.5 from
-texi2html.texi.
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
-
-Portions
-of
-`texi2html'
- Copyright (C) 1999, 2000 Lionel Cons
- Copyright (C) 1999, 2000 Karl Berry
- Copyright (C) 1999, 2000 Olaf Bachmann
- Copyright (C) 2002, 2003 Patrice Dumas
- Copyright (C) 2001, 2002, 2003 Derek Price
- Copyright (C) many others.
-
-
-Portions
-of this
-manual
- Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
- Copyright (C) 2003 Patrice Dumas (manual)
- Copyright (C) 2003 Derek Price (manual)
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-INFO-DIR-SECTION Texinfo documentation system
-START-INFO-DIR-ENTRY
-* Texi2HTML: (texi2html). Texinfo to HTML Converter.
-END-INFO-DIR-ENTRY
-
- This file, last updated 1 February 2005, documents the `texi2html'
-script which converts Texinfo (http://www.texinfo.org) into HTML
-(http://w3c.org). This edition is for `texi2html' version 1.76.
-
-Copyright (C) 1999, 2000, 2001, 2002, 2003 Free
-Software Foundation, Inc.
-
-Portions
-of
-`texi2html'
- Copyright (C) 1999, 2000 Lionel Cons
- Copyright (C) 1999, 2000 Karl Berry
- Copyright (C) 1999, 2000 Olaf Bachmann
- Copyright (C) 2002, 2003 Patrice Dumas
- Copyright (C) 2001, 2002, 2003 Derek Price
- Copyright (C) many others.
-
-
-Portions
-of this
-manual
- Copyright (C) 1999, 2000 Karl Heinz Marbaise (manual)
- Copyright (C) 2003 Patrice Dumas (manual)
- Copyright (C) 2003 Derek Price (manual)
- Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
- Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
- Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Free Software Foundation.
-
-File: texi2html.info, Node: Whole table list, Prev: Table and list items, Up: Lists tables
-
-Formatting of a whole table or list
------------------------------------
-
- If the Texinfo command is a key of the `%format_map', the associated
-value is used to specify the formatting of the construct, otherwise a
-function is called. The value in `%format_map' associated with a
-command is interpreted similarly with values associated with more
-simpler commands:
-
- * If the text is a word, it is considered to be an HTML element
- name, and the whole table or list is enclosed between the element
- opening and the element closing.
-
- * If the text is a word followed by some text, the word and is
- interpreted as above, and the text is considered to be the
- attributes text of the element.
-
- * If the text is empty nothing is added to the text.
-
- In case the `%format_map' isn't used, a function reference called
-`$table_list' should be redefined, the associated function will be
-called each time a command isn't found in `%format_map'.
-
- - Function Reference: $whole_table_list table_list $command $text
- $COMMAND is the Texinfo command name, $TEXT is the formatted items.
-
- If you still want to use `%format_map' but differently from the
-default, it is possible to redefine the following function reference:
-
- - Function Reference: $whole_table_list format $command $format $text
- $COMMAND is the @-command, $FORMAT is the entry associated with
- $COMMAND in `%format_map'. $TEXT is the formatted items.
-
-
-File: texi2html.info, Node: Definitions, Next: Headings, Prev: Lists tables, Up: Customizing HTML
-
-Definition commands formatting
-==============================
-
- The formatting of definition commands is controlled by a hash and
-four functions. The hash describes how the text on the definition line
-is interpreted, the functions control the formatting of the definition
-line and the definition function text.
-
-* Menu:
-
-* Definition line::
-* Definition formatting::
-
-
-File: texi2html.info, Node: Definition line, Next: Definition formatting, Up: Definitions
-
-Customizing the interpretation of a definition line
----------------------------------------------------
-
- The keys of the hash `%def_map' are definition command names. There
-are two types of entries:
-
- * If the command is a shortcut for another definition command the
- value is a text and the definition command is replaced by the text.
-
- For example if we have:
- $def_map{'deftruc'} = '@defvr {A truc}';
-
- and a line like
- @deftruc var
-
- the line will be transformed in
- @defvr {A truc} var
-
- * If the command isn't a shortcut, it is associated with an array
- reference. The first element is `f', `v' or `t' corresponding with
- the index type (`f' for function, `v' for variable, `t' for type).
-
- The remaining of the array describes how to interpret the text
- following the definition command on the definition command line.
- The entry item specify what corresponds with the next bracketed
- item or word. Currently the possibilities are `category', `name',
- `type', `class' and `arg'.
-
- For example if we have
- def_map{'defvr'} = [ 'v', 'category', 'name' ];
-
- The first bracketed item following `@defvr' is considered to be
- the category and the next one is the name. The index associated
- with the definition line is the variables index.
-
-
-File: texi2html.info, Node: Definition formatting, Prev: Definition line, Up: Definitions
-
-Customization of the definition formatting
-------------------------------------------
-
- Four functions are used when formatting a definition command:
-
-category name
- - Function Reference: $category definition_category
- $category_or_name $class $style
- This function precise a category or an index entry name
- associating a class $CLASS (if given) with $CATEGORY_OR_NAME.
- The $STYLE of the definition may be `f', for function, `v',
- for variable or `t', for type.
-
-formatting of the definition line
- - Function Reference: $line def_line $category $name $type
- $arguments $index_label
- This function formats the definition line. $CATEGORY is the
- category formatted with `$definition_category', $NAME, $TYPE
- and ARGUMENTS are the element of the definition line.
- $INDEX_LABEL is the text inserted at the place where an index
- entry appears. *Note Index entry place::.
-
-definition text
- - Function Reference: $definition_text def_item $text
- This function formats the definition text, $TEXT.
-
-the whole definition
- - Function Reference: $definition def $text
- This function formats the whole definition. The definition
- line and text formatted by the above functions are in $TEXT.
-
-
-
-File: texi2html.info, Node: Headings, Next: Special regions, Prev: Definitions, Up: Customizing HTML
-
-Customizing headings formatting
-===============================
-
- A function controls the formatting of sectioning element headings,
-with the corresponding function reference:
-
- - Function Reference: $heading_text heading \%element_reference
- The \%ELEMENT_REFERENCE is a reference on a hash corresponding
- with the sectioning element. The following keys are of interest:
- `text'
- The heading text
-
- `name'
- The heading text without section number
-
- `node'
- true if the sectioning element is a node without associated
- structuring command
-
- `level'
- The level of the element in the document tree. `0' is for
- `@top', `1' for `@chapter' and so on
-
- `tag_level'
- the sectioning element name, with `@raisesections' and
- `@lowersections' taken into account
-
-
-File: texi2html.info, Node: Special regions, Next: Menus, Prev: Headings, Up: Customizing HTML
-
-Formatting of special regions (`@verbatim', `@cartouche', `@quotation')
-=======================================================================
-
- Regions corresponding with raw text, like `@verbatim', `@html' or
-`@tex' are formatted according to the following function reference:
-
- - Function Reference: $raw_region raw $command $text
- $COMMAND is the command name, $TEXT is the raw text.
-
- If LaTeX2HTML is used, `@tex' regions are handled differently, from
-within the main program.
-
- The `@cartouche' command formatting is controlled by the function
-reference:
-
- - Function Reference: $cartouche cartouche $text
- $TEXT is the text appearing within the cartouche.
-
- The formatting of `@quotation' is controlled by two function
-references. The first one is usefull in case the `@quotation' has an
-argument, as it allows to prepend a string to the quotation text:
-
- - Function Reference: $prepended_string quotation_prepend_text $style
- $text
- $STYLE is the first argument of the `@quotation' if there are two
- arguments. $TEXT is the second argument or the first if there is
- one argument. There are still @-commands in these strings. This
- function can return a string which will be prepended to the
- quotation text.
-
- The whole quotation is formatted by:
-
- - Function Reference: $quotation quotation $quotation_text
- $argument_text $argument_style_texi $argument_style_id
- $QUOTATION_TEXT is the quotation text, formatted, with the text
- prepended by the function above. $ARGUMENT_TEXT is the second
- argument of the `@quotation' or the first if there is one
- argument, formatted. The other arguments are defiend if there are
- two arguments for the `@quotation', $ARGUMENT_STYLE_TEXI is this
- argument, with @-commands, and $ARGUMENT_STYLE_ID is this
- argument transformed in an identifier which can be used as an XML
- identifier.
-
-
-File: texi2html.info, Node: Menus, Next: Indices, Prev: Special regions, Up: Customizing HTML
-
-Menu formatting
-===============
-
- To understand how the formatting of menus is controlled, the
-different parts of a menu are first described, then how to control the
-formatting of each of these parts.
-
-* Menu:
-
-* Menu parts:: A menu consists in menu entry and menu
- comments
-* Menu formatting::
-
-
-File: texi2html.info, Node: Menu parts, Next: Menu formatting, Up: Menus
-
-The structure of a menu
------------------------
-
- In `texi2html', a menu is considered to be composed of 2 parts, the
-"menu entries" and the "menu comments". Menu entries are further
-divided in an "entry link" and optionnaly an "entry description". The
-entry link consists in a node name and an optionnal menu entry name.
-
- A menu entry begins with `*' at the beginning of the line. It begins
-with the entry link, followed by the description. The description spans
-until the next menu entry, or some text begining at the first character
-of a line or an empty line, not contained within a command block which
-begun in the description. An empty line or a line with text at the
-first character starts a menu comment, which spans until the next menu
-entry.
-
- Here is an illustration of these rules:
-
- @menu
- * node name: entry name. description begins
- description continues
- * another menu entry::
- description begins
- description continues
-
- A menu comment, after an empty line
-
- * node:: description begins
- A menu comment. The line starts at the first character
-
- * last entry:: description begins _text
- of the description, even if the line begins at the first character,
- because we are in @emph_.
- @end menu
-
-
-File: texi2html.info, Node: Menu formatting, Prev: Menu parts, Up: Menus
-
-The formatting of the different menu components
------------------------------------------------
-
- In the default case, the name of the section corresponding with the
-node is used instead of the node name. If `$NODE_NAME_IN_MENU' is true,
-however, node names are used. If `$AVOID_MENU_REDUNDANCY' is true and
-menu entry equal menu description the description isn't printed. This
-is the default. Likewise, if node or section name equal entry name, do
-not print entry name.
-
- A symbol, `$MENU_SYMBOL' is put at the beginning of menu entries
-when the node name is used. The default is `&bull;'. If
-`$UNNUMBERED_SYMBOL_IN_MENU' is true it is also put at the beginning of
-unnumbered section names. This is not done by default.
-
- The menu comments are considered to be preformatted text. The style
-associated with this preformatted text is determined by
-`$MENU_PRE_STYLE'. Default is `font-family: serif'. The css class
-associated with menu comments is `menu-comments'.
-
- Three function references are associated with the formatting of the
-different parts of a menu:
-
- - Function Reference: $link menu_link $section \%state $href $node
- $name $ending
- $SECTION is the section name corresponding with the link, $HREF is
- the link hypertextual reference. $HREF may be absent. \%STATE
- holds informations about the current context. The only key which
- could be of interest is `preformatted', true if the context is a
- preformatted context. *Note Three contexts::. $NODE is the node
- name, $NAME is the name of the node, and $ENDING is the text
- ending the link entry.
-
- - Function Reference: $description menu_description $description_text
- \%state
- $DESCRIPTION_TEXT is the text of the menu description. \%STATE
- should be used similarly than for the menu link.
-
- - Function Reference: $menu_comment menu_comment $text
- $TEXT is the text of the menu comment. It is in a preformatted
- environment.
-
- The following function reference controls the formatting of a wole
-menu:
-
- - Function Reference: $menu menu $menu_components_text
- $MENU_COMPONENTS_TEXT is the formatted menu components text,
- obtained as explained above.
-
- The last function reference corresponds with a special case. It is
-used when a menu entry appears within another block command, to avoid
-the possibilities of invalid HTML production. In that case the menu
-description and menu comments are not formatted specially, but treated
-like normal text.
-
- - Function Reference: $link simple_menu_link $link_text $href $node
- $name $ending
- $LINK_TEXT is the text corresponding with the link name, $HREF is
- the link hypertextual reference. $NODE is the node name, $NAME is
- the name of the node, and $ENDING is the text ending the link
- entry.
-
-
-File: texi2html.info, Node: Indices, Next: Floats and lists of floats, Prev: Menus, Up: Customizing HTML
-
-Indices formatting
-==================
-
- Two different things needs to be handled for indices formatting, the
-place where the index term appears, the index entry, and the index list
-itself. The indexing commands like `@cindex' determines where index
-entries appear, and the index list is printed with a `@printindex'
-command.
-
-* Menu:
-
-* Index entry place:: Index entries in the main document are
- targets for hypertext references
-* Index list:: Customizing the formatting of the index list
-
-
-File: texi2html.info, Node: Index entry place, Next: Index list, Up: Indices
-
-Formatting of index entries
----------------------------
-
- Index entry places in the main text may be the target for hypertext
-references. Their formatting is controlled by the function associated
-with the following function reference:
-
- - Function Reference: $target index_entry_label $identifier
- $preformatted
- $IDENTIFIER should be used to create a target for links (typically
- associated with a name or id attribute in HTML). $PREFORMATTED is
- true if the index entry appeared in preformatted text.
-
-
-File: texi2html.info, Node: Index list, Prev: Index entry place, Up: Indices
-
-Customizing the formatting of index lists
------------------------------------------
-
- The index entries are sorted alphabetically. A whole index list is
-considered to be composed of letter entries. A letter entry is composed
-by all the index entries beginning with that letter. A letter may be a
-non alphabetical character, but we call it letter here.
-
- An index summary appears at the beginning and at the end of an index
-list, and should be used to jump directly to a letter entry. Indices
-lists may be split across pages, thus the different letters may appear
-on different files. The number of index entries appearing on each page
-is determined by a variable `$SPLIT_INDEX' if set. The default is to
-split indices after 100 entries.
-
- The formatting of all these elements is controlled by the following
-function references:
-
-_formatting of a letter in a summary_
- - Function Reference: $letter summary_letter $letter $file
- $identifier
- This function is used to format a letter appearing in a
- summary, refering to a letter entry in the index list.
- $LETTER is the letter. $FILE is the file name where the letter
- entry appears. More precisely, it is empty when the letter
- entry is on the same page than the summary, it contains the
- file name when the index page is split accross page.
- $IDENTIFIER is an identifier for the target letter entry.
-
-_formatting of a summary_
- - Function Reference: $summary index_summary
- \@alphabetical_letters \@nonalphabetical_letters
- \@ALPHABETICAL_LETTERS and \@NONALPHABETICAL_LETTERS contain
- the formatted summary letters, formatted with the above
- function.
-
-_formatting of an index entry_
- - Function Reference: $entry index_entry $entry_href $entry_text
- $section_href $section_heading
- $ENTRY_HREF is a reference to the place where the index entry
- appeared, $ENTRY_TEXT is the corresponding text. $SECTION_HREF
- is a reference to the beginning of the sectioning element
- containing the index entry, $SECTION_HEADING is the heading
- of the element.
-
-_formatting of letter entry_
- - Function Reference: $letter_entry index_letter $letter
- $identifier $index_entries_text
- This function formats a letter entry, consisting in all the
- index entries beginning with this letter. $LETTER is the
- letter, $IDENTIFIER should be used to create a target for
- links (typically links from summaries), and
- $INDEX_ENTRIES_TEXT is the text of the index entries
- formatted as described above.
-
-_formatting of whole index_
- - Function Reference: $index print_index $index_text $index_name
- $INDEX_TEXT is the text of all the index entries grouped by
- letter appearing in that page formatted as above. INDEX_NAME
- is the name of the index, the argument of `@printindex'.
-
-
-File: texi2html.info, Node: Floats and lists of floats, Next: Footnotes, Prev: Indices, Up: Customizing HTML
-
-Floats and lists of floats
-==========================
-
- Floats appear in the `@float' environment, optionaly with a style
-and a label, and with optionnal `@caption' and `@shortcaption'. Their
-list appear after a `@listoffloats'.
-
- A hash reference is associated with each float, it is available in
-some formatting functions. The keys are:
-`caption_texi'
-`shortcaption_texi'
- A reference on an array containing the caption or shortcaption
- lines, unformatted.
-
-`style_texi'
- The style with texi @-commands.
-
-`style_id'
- The unique identifier associated with the style.
-
-`nr'
- The number with the same conventions than makeinfo (use the
- chapter number a dot and then the number of the float of that
- style in the chapter, or an absolute number if in unnumbered).
-
-`chapter_nr'
- The number of the chapter containing the float.
-
-`nr_in_chapter'
- The number of the float in the chapter.
-
-`absolut_nr'
- The number of the float in the document.
-
-`texi'
- The label with @-commands.
-
-`id'
- The unique identifier associated with the label. Usefull to make
- an anchor or a reference.
-
-`element'
- A reference on a structure representing the element the float
- appear in.
-
-* Menu:
-
-* Floats:: Formatting of floats
-* Lists of floats:: Formatting the lists of floats
-
-
-File: texi2html.info, Node: Floats, Next: Lists of floats, Up: Floats and lists of floats
-
-Formatting a float
-------------------
-
- First there is an occasion to construct a texinfo text for the
-caption, using the caption texinfo lines and the informations in the
-float structure. The returned lines will be formatted in the main
-program. A function reference is used here:
-
- - Function Reference: (\@caption_lines_returned,
-\@shortcaption_lines_returned) caption_shortcaption \%float
- \@caption_lines \@shortcaption_lines
- \%FLOAT is the structure defined above. \@CAPTION_LINES and
- \@SHORTCAPTION_LINES are references on arrays containing the
- texinfo lines for caption and short caption.
- \@CAPTION_LINES_RETURNED and \@SHORTCAPTION_LINES_RETURNED are
- references on an array containing the texinfo lines for the
- caption and shortcaption.
-
- Then the float is formatted with the following function reference:
-
- - Function Reference: $text float $float_text \%float $caption_text
- $shortcaption_text
- $FLOAT_TEXT is the text appearing within the `@float', formatted.
- \%FLOAT is still the structure defined above. $CAPTION_TEXT and
- $SHORTCAPTION_TEXT are the caption and short caption build with the
- above function and formatted.
-
-
-File: texi2html.info, Node: Lists of floats, Prev: Floats, Up: Floats and lists of floats
-
-Formatting lists of floats
---------------------------
-
- A list of floats is introduced by `@listoffloats'. The argument of
-`@listoffloats' is the "style". First the style texinfo can be modified
-with the following function reference:
-
- - Function Reference: $style_texi_returned listoffloats_style
- $style_texi
- $STYLE_TEXI is the `@listoffloats' argument with texinfo
- @-commands kept. It is possible to make changes to the $STYLE_TEXI
- and return a modified string, still with @-commands. The modified
- string is formatted in the main program.
-
- After that, for each of the floats with that style, first there is a
-possibility to modify the float style and the float caption before they
-are formatted in the main program, with the following function
-references:
-
- - Function Reference: $float_style_texi_returned
-listoffloats_float_style $style_texi \%float
- $STYLE_TEXI is the style, and \%FLOAT is the structure described
- above. This function reference returns a style to be formatted in
- the main program.
-
- - Function Reference: $caption_texi_returned listoffloats_caption
- \%float
- \%FLOAT is the structure described above. This function reference
- returns a caption to be formatted in the main program.
-
- Each entry is formatted by:
-
- - Function Reference: $listoffloats_entry listoffloats_entry
- $style_texi \%float $float_style $caption $href
- $STYLE_TEXI is the style with @-commands, $FLOAT_STYLE is the
- style returned by the above function and formatted. $CAPTION is the
- caption returned by the above function formatted. \%FLOAT is the
- structure corresponding with the float, and $HREF is an href
- pointing to the float location.
-
- Lastly, the whole `@listoffloats' is formatted by:
-
- - Function Reference: $listoffloats listoffloats $style_texi $style
- \@listoffloats_entries
- $STYLE_TEXI is the style with @-commands, $STYLE is the style
- returned by the above function and formatted. The array reference
- \@LISTOFFLOATS_ENTRIES holds the entries formatted by the above
- function.
-
-
-File: texi2html.info, Node: Footnotes, Next: Other and unknown commands, Prev: Floats and lists of floats, Up: Customizing HTML
-
-Customizing the footnotes formatting
-====================================
-
- Each footnote is associated with a footnote entry. Several footnote
-entries are grouped in a footnote section. When a footnote appears, two
-things must be formatted: in the main text the place where the footnote
-appear and the footnote text.
-
- Two functions, with corresponding function references control the
-formatting of the footnotes:
-
- - Function Reference: (\@lines $text_for_document) foot_line_and_ref
- $number_in_doc $number_in_page $footnote_id $place_id
- $document_file $footnote_file \@lines \%state
- $NUMBER_IN_DOC is the footnote number in the whole document,
- $NUMBER_IN_PAGE is the footnote number in the current page.
- $FOOTNOTE_ID is an identifier for the footnote in the footnote text
- which should be used to make target for references to that
- footnote, while $PLACE_ID is an identifier for the location of the
- footnote in the main document. Similarly, $DOCUMENT_FILE is the
- file name of the file containing the text where the footnote
- appears in the main document, while $FOOTNOTE_FILE is the file
- name of the file where the footnote text appears.
-
- \@LINES is a reference on an array containing the footnote text
- lines, allready formatted. And \%STATE holds informations about
- the context at the footnote place in the main document. As usual
- the most usefull entry is `preformatted' which is true if the
- footnote appears in a preformatted context.
-
- This function returns a reference on an array, \@LINES containing
- the updated footnote text for the footnote entry, and
- $TEXT_FOR_DOCUMENT, the text appearing at the footnote place in
- the main document, linking to the footnote entry.
-
- The following function is only used when footnotes are at the bottom
-of a page and the document is split. For customization of the
-footnotes page in case they are on a separated page or section, *Note
-Special pages layout::. For the determination of the footnote
-locations, *Note Page layout options::.
-
- - Function Reference: foot_section \@footnotes_lines
- This function formats a group of footnotes. \@FOOTNOTES_LINES is a
- reference on an array holding the lines of all the footnote entries
- formatted as explained above. This function modifies the reference.
-
-
-File: texi2html.info, Node: Other and unknown commands, Prev: Footnotes, Up: Customizing HTML
-
-Customizing other commands, and unknown commands
-================================================
-
- Many commands without braces are available in texinfo, sometimes with
-a specific syntax. For example we have `@sp', `@noindent',
-`@documentlanguage', `@oddheading', `@headings', `@shortcontents',
-`@shorttitlepage' or `@comment'. `texi2html' interprets some of these
-commands and some functions or variables are used for their formatting
-or to access their information. In the default case, however, most of
-these constructs are ignored.
-
- It is possible to change how the things following these commands on
-the line are handled, what is considered to be an arg for those
-commands and it is also possible to keep them instead of discarding
-them such that it is possible to handle them specially, with the same
-function than the one used for unknown commands.
-
- Those special commands without braces are the key of a hash:
-`%misc_command'. The associated value is a reference on a hash enabling
-to set the properties of these commands. The keys of this hash
-reference is the name of a property, the value is the value of the
-property. For example here we have `line' for the `arg' property for
-the `command' @-command.
-
- $misc_command{'command'} = {'arg' => 'line', 'skip' => 'space'};
-
- The properties and possible values are:
-
-`skip'
- This property enables to set what is skipped after the command
- arguments. Here are the possible values:
- `line'
- The remaining of the line is skipped.
-
- `space'
- Spaces are skipped but not newline.
-
- `whitespace'
- Spaces are skipped
-
- `linewhitespace'
- Spaces are skipped if there are only spaces remaining on the
- line.
-
- `linespace'
- Spaces are skipped, but not newline if there are only spaces
- remaining on the line
-
-`arg'
- If the associated value is `line' the line is considered to be the
- argument. If it is a number it is the number of args (separated by
- spaces).
-
-`texi'
- If true the arguments are considered to real texinfo, therefore
- `@value' and `@macro' are expanded.
-
-`keep'
- If true the args and the macro are kept, otherwise they are
- discarded. The defaut is to have `keep' undef for all the
- commands. If `keep' is true for `@verbatiminclude' the default
- action for this macro isn't done.
-
- Commands which don't appear in the hashes `%simple_map',
-`%simple_map_pre', `%simple_map_texi' and `%misc_command', or that
-appear in `%misc_command' but with `keep' true are processed by the
-following function reference:
-
- - Function Reference: ($result_line, $result, $result_text, $message)
-unknown $command $line
- $COMMAND is the @-command, $LINE is the line following the
- $COMMAND. $RESULT is a boolean. If it is true then the other return
- values are taken into account otherwise the default actions are
- used. In case $RESULT is true, $RESULT_LINE is the new line to be
- processed further, $RESULT_TEXT is the resulting formatted text
- and $MESSAGE, if defined is a message outputted to the output with
- line number added by `texi2html'.
-
- Commands with braces not specified above nor in `%style_map',
-`%style_map_pre' and `%style_map_texi' are processed by the following
-function reference
-
- - Function Reference: ($result, $result_text, $message) unknown_style
- $command $text
- $COMMAND is the @-command, $TEXT is the text appearing within the
- braces (allready formatted). $RESULT is a boolean. If it is true
- then the other return values are taken into account otherwise the
- default actions are used. In case $RESULT is true, $RESULT_TEXT is
- the resulting formatted text and $MESSAGE, if defined is a message
- outputted to the output with line number added by `texi2html'.
-
-
-File: texi2html.info, Node: Internationalization, Next: Indexop, Prev: Customizing HTML, Up: Top
-
-Internationalization
-********************
-
- The strings written in the document are selected based on the
-document language. This can be used to customize the strings, as
-described in *Note Strings::. This also enables translation of the
-strings.
-
-* Menu:
-
-* Translating strings::
-* Adding new strings::
-
-
-File: texi2html.info, Node: Translating strings, Next: Adding new strings, Up: Internationalization
-
-Translating strings
-===================
-
- If the language is allready supported, then there will be a file in
-the `i18n' directory with name the two-letter ISO-639 language code. In
-that case you can enhance the translations by editing this file. There
-is a `$LANGUAGES->{'LANGUAGE'}' hash in that file. The keys are the
-english strings, in `''', the values (in `''' after `=>') are the
-translations. When a string contains a `%' followed by `{' NAME `}' it
-means that the string will be expanded by `texi2html'. For an example,
-see *Note Strings::.
-
- After that you should run the command `./manage_i18n.pl all' in the
-top directory, it should merge your file with the existing files in
-`translations.pl', which is incorporated to the `texi2html' script by
-`./configure'.
-
- If the language isn't currently supported, copy the `en' file in
-`i18n' to a file with name the two-letter ISO-639 language code of your
-language and then add your translations to the strings. You could also
-add your two-letter language code in the `manage_i18n.pl' file in the
-`@known_languages' array.
-
- After that you should similarly run the command `./manage_i18n.pl
-all' in the top directory.
-
- Obsoleted strings are not removed from the files, they are still
-present in the `$T2H_OBSOLETE_STRINGS->{'LANGUAGE'}' hash in case the
-string is reused later.
-
- If you made change to strings specified in installed files (*note
-Installation::) you will have to reinstall them otherwise the
-installated files will take precedence (*note Using init files::).
-
-
-File: texi2html.info, Node: Adding new strings, Prev: Translating strings, Up: Internationalization
-
-Adding new strings written to document
-======================================
-
- If you need to write strings, for example the new string A STRING to
-the resulting document, call `&$I('a string')'. Use simple quotes. If
-you want to substitute a value in the string put `%{STRING_VALUE}', in
-the string, and give a second argument to `&$I', a hash reference with
-key STRING_VALUE and value the what you want to substitute. Here is an
-example:
-
- return &$I('%{name} of %{class}', { 'name' => $name, 'class' => $class });
-
- In that case `%{name}' is substituted by `$name' in the translated
-string.
-
- After that you should run the command `./manage_i18n.pl all' in the
-top directory, it should add your new strings to all the files in the
-`i18n' directory.
-
-
-File: texi2html.info, Node: Indexop, Next: Indexvr, Prev: Internationalization, Up: Top
-
-Command Line Option Index
-*************************
-
-* Menu:
-
-* css-include=FILE: Style options.
-* def-table: Style options.
-* doctype=DTD: Style options.
-* DVAR: Texinfo related options.
-* frames: Page layout options.
-* frameset-doctype: Style options.
-* frameset-doctype=DTD: Style options.
-* html-xref-prefix=PATH: Style options.
-* IDIR: Texinfo related options.
-* if<region>: Expansion.
-* include-css: css.
-* init-file: Using init files.
-* iso: Style options.
-* l2h: Expanding TeX regions.
-* l2h-file: Expanding TeX regions.
-* l2h-l2h=PROGRAM: Expanding TeX regions.
-* l2h-tmp: Expanding TeX regions.
-* lang <1>: Strings.
-* lang: Using init files.
-* lang=LANG: Texinfo related options.
-* menu: Invoking texi2html.
-* no-if<region>: Expansion.
-* node-files: Output files.
-* nomenu <1>: Expansion.
-* nomenu: Invoking texi2html.
-* nosec-nav: Page layout options.
-* number: Style options.
-* output: Output files.
-* PDIR: Texinfo related options.
-* pkgdatadir=dir: Using init files.
-* pkgdatadir=DIR: Installation.
-* prefix: Output files.
-* separated-footnotes: Page layout options.
-* short-ext: Output files.
-* short-ref: Style options.
-* split: Splitting output.
-* sysconfdir=dir: Using init files.
-* toc-file: Output files.
-* toc-links: Style options.
-* top-file: Output files.
-* use-nodes: Splitting output.
-* UVAR: Texinfo related options.
-
-
-File: texi2html.info, Node: Indexvr, Next: Indexcp, Prev: Indexop, Up: Top
-
-Variable Index
-**************
-
-* Menu:
-
-* $AFTER_BODY_OPEN: Customizing header.
-* $AFTER_OVERVIEW: Contents and Overview text.
-* $AFTER_TOC_LINES: Contents and Overview text.
-* $anchor <1>: Anchors images and spaces.
-* $anchor: Redefining functions.
-* $AVOID_MENU_REDUNDANCY: Menu formatting.
-* $BEFORE_OVERVIEW: Contents and Overview text.
-* $BEFORE_TOC_LINES: Contents and Overview text.
-* $BIG_RULE: The page layout.
-* $BODYTEXT <1>: Customizing header.
-* $BODYTEXT: Output initialization.
-* $cell: Table and list items.
-* $CLOSE_QUOTE_SYMBOL <1>: String interface.
-* $CLOSE_QUOTE_SYMBOL: Hash reference interface.
-* $complex_format_map: Complex formats.
-* $CSS_LINES: css.
-* $DEF_TABLE: Style options.
-* $DEFAULT_RULE: The page layout.
-* $definition_category: Definition formatting.
-* $DO_CONTENTS: Contents and Overview text.
-* $DO_SCONTENTS: Contents and Overview text.
-* $DOCTYPE: Style options.
-* $DOCUMENT_DESCRIPTION: Customizing header.
-* $DOCUMENT_ENCODING: Customizing header.
-* $ENCODING: Customizing header.
-* $EXTENSION: File names.
-* $EXTERNAL_DIR: Style options.
-* $EXTRA_HEAD: Customizing header.
-* $FRAMES: Page layout options.
-* $FRAMESET_DOCTYPE: Style options.
-* $ICONS: General purpose variables.
-* $IDX_SUMMARY: External index files.
-* $INDEX_CHAPTER: The page layout.
-* $L2H_L2H: Expanding TeX regions.
-* $L2H_TMP: Expanding TeX regions.
-* $LANG <1>: Strings.
-* $LANG <2>: Using init files.
-* $LANG: Texinfo related options.
-* $LANGUAGES <1>: Translating strings.
-* $LANGUAGES: Strings.
-* $MENU_PRE_STYLE: Menu formatting.
-* $MENU_SYMBOL: Menu formatting.
-* $MIDDLE_RULE: The page layout.
-* $NODE_FILES <1>: File names.
-* $NODE_FILES: Output files.
-* $NODE_NAME_IN_MENU: Menu formatting.
-* $NUMBER_SECTIONS: Style options.
-* $OPEN_QUOTE_SYMBOL <1>: String interface.
-* $OPEN_QUOTE_SYMBOL: Hash reference interface.
-* $OUT: Output files.
-* $PRE_BODY_CLOSE: Customizing footer.
-* $PREFIX: Output files.
-* $print_chapter_footer: Customizing footer.
-* $print_chapter_header: Customizing header.
-* $print_foot_navigation: Customizing footer.
-* $print_head_navigation: Customizing header.
-* $print_misc: Special pages layout.
-* $print_misc_footer: Special pages layout.
-* $print_misc_header: Special pages layout.
-* $print_page_foot: Customizing footer.
-* $print_page_head: Customizing header.
-* $print_section_footer: Customizing footer.
-* $print_section_header: Customizing header.
-* $print_Top: Special pages layout.
-* $print_Top_footer: Special pages layout.
-* $print_Top_header: Special pages layout.
-* $SECTION_NAVIGATION <1>: General purpose variables.
-* $SECTION_NAVIGATION: Page layout options.
-* $SEPARATED_FOOTNOTES: Page layout options.
-* $SHORT_REF: Style options.
-* $SHORTEXTN: Output files.
-* $SHOW_MENU: Expansion.
-* $SMALL_RULE: The page layout.
-* $SPLIT: Splitting output.
-* $SPLIT_INDEX: Index list.
-* $T2H_OBSOLETE_STRINGS: Translating strings.
-* $Texi2HTML::NODE{Next}: Button specifications.
-* $Texi2HTML::OVERVIEW <1>: Contents and Overview text.
-* $Texi2HTML::OVERVIEW: Global informations.
-* $Texi2HTML::THIS_HEADER: Global informations.
-* $Texi2HTML::THIS_SECTION <1>: Global functions.
-* $Texi2HTML::THIS_SECTION: Global informations.
-* $Texi2HTML::TOC_LINES <1>: Contents and Overview text.
-* $Texi2HTML::TOC_LINES: Global informations.
-* $TOC_FILE: Output files.
-* $TOC_LINKS: Style options.
-* $TOC_LIST_ATTRIBUTE: Contents and Overview text.
-* $TOC_LIST_STYLE: Contents and Overview text.
-* $TOP_FILE: Output files.
-* $TOP_HEADING: The page layout.
-* $UNNUMBERED_SYMBOL_IN_MENU: Menu formatting.
-* $USE_ISO: Style options.
-* $USE_NODES: Splitting output.
-* $VERTICAL_HEAD_NAVIGATION: General purpose variables.
-* $WORDS_IN_PAGE <1>: Global functions.
-* $WORDS_IN_PAGE: Button specifications.
-* %accent_map: Style and accent commands.
-* %ACTIVE_ICONS: Button specifications.
-* %BUTTONS_GOTO: Output initialization.
-* %css_map: css.
-* %def_map: Definition line.
-* %format_in_paragraph: Avoiding paragraphs.
-* %format_map: Whole table list.
-* %main::value: Global informations.
-* %misc_command: Other and unknown commands.
-* %NAVIGATION_TEXT <1>: Output initialization.
-* %NAVIGATION_TEXT: Button specifications.
-* %paragraph_style: Alignement commands.
-* %PASSIVE_ICONS: Button specifications.
-* %pre_map: Commands without argument.
-* %simple_map <1>: Other and unknown commands.
-* %simple_map: Commands without argument.
-* %simple_map_pre <1>: Other and unknown commands.
-* %simple_map_pre: Commands without argument.
-* %simple_map_texi <1>: Other and unknown commands.
-* %simple_map_texi: Commands without argument.
-* %special_list_commands: Table and list items.
-* %style_map <1>: Other and unknown commands.
-* %style_map: Style and accent commands.
-* %style_map_pre <1>: Other and unknown commands.
-* %style_map_pre: Style and accent commands.
-* %style_map_texi <1>: Other and unknown commands.
-* %style_map_texi: Style and accent commands.
-* %Texi2HTML::HREF: Elements hashes.
-* %Texi2HTML::NAME: Elements hashes.
-* %Texi2HTML::NO_TEXI: Elements hashes.
-* %Texi2HTML::NODE: Elements hashes.
-* %Texi2HTML::THISDOC: Global informations.
-* %texi_map: Commands without argument.
-* %things_map: Commands without argument.
-* @CHAPTER_BUTTONS: Button specifications.
-* @CSS_FILES: Style options.
-* @EXPAND: Expansion.
-* @INCLUDE_DIRS: Texinfo related options.
-* @MISC_BUTTONS: Button specifications.
-* @NODE_FOOTER_BUTTONS: Button specifications.
-* @PREPEND_DIRS: Texinfo related options.
-* @SECTION_BUTTONS: Button specifications.
-* @SECTION_FOOTER_BUTTONS: Button specifications.
-
-
-File: texi2html.info, Node: Indexcp, Prev: Indexvr, Up: Top
-
-Concept Index
-*************
-
-* Menu:
-
-* Avoid paragraph opening: Avoiding paragraphs.
-* bug report: Top.
-* centering: Alignement commands.
-* complex format: Complex formats.
-* Config: Using init files.
-* configure: Installation.
-* downloading texi2html source: Obtaining texi2html.
-* examples of manuals: Overview.
-* external manual: Reference to external manual.
-* flushing text: Alignement commands.
-* i18n <1>: Translating strings.
-* i18n: Strings.
-* Installation: Installation.
-* internationalization: Using init files.
-* internationalized strings: Adding new strings.
-* makeinfo: whytexi2html.
-* manage_i18n.pl: Adding new strings.
-* paragraph: Paragraph and preformatted formatting.
-* preformatted region: Paragraph and preformatted formatting.
-* reference: References.
-* skipped command: Other and unknown commands.
-* source code for texi2html, downloading: Obtaining texi2html.
-* texi2html source, downloading: Obtaining texi2html.
-* Texinfo: Overview.
-* text alignement: Alignement commands.
-* Translation: Translating strings.
-* unknown command: Other and unknown commands.
-
-