texinfo-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

texinfo ChangeLog texi2html/doc/stamp-vti texi2...


From: Patrice Dumas
Subject: texinfo ChangeLog texi2html/doc/stamp-vti texi2...
Date: Sun, 25 Jul 2010 21:43:14 +0000

CVSROOT:        /sources/texinfo
Module name:    texinfo
Changes by:     Patrice Dumas <pertusus>        10/07/25 21:43:14

Modified files:
        .              : ChangeLog 
        texi2html/doc  : stamp-vti texi2html.texi version.texi 

Log message:
                * texi2html/doc/texi2html.texi: reduce the texi2html manual 
                to the minimum. Keep history, differences with texi2any and
                the list of incompatibilities with past versions.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/texinfo/ChangeLog?cvsroot=texinfo&r1=1.1075&r2=1.1076
http://cvs.savannah.gnu.org/viewcvs/texinfo/texi2html/doc/stamp-vti?cvsroot=texinfo&r1=1.81&r2=1.82
http://cvs.savannah.gnu.org/viewcvs/texinfo/texi2html/doc/texi2html.texi?cvsroot=texinfo&r1=1.114&r2=1.115
http://cvs.savannah.gnu.org/viewcvs/texinfo/texi2html/doc/version.texi?cvsroot=texinfo&r1=1.81&r2=1.82

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/texinfo/texinfo/ChangeLog,v
retrieving revision 1.1075
retrieving revision 1.1076
diff -u -b -r1.1075 -r1.1076
--- ChangeLog   25 Jul 2010 21:38:14 -0000      1.1075
+++ ChangeLog   25 Jul 2010 21:43:13 -0000      1.1076
@@ -1,5 +1,11 @@
 2010-07-25  Patrice Dumas  <address@hidden>
 
+       * texi2html/doc/texi2html.texi: reduce the texi2html manual 
+       to the minimum. Keep history, differences with texi2any and
+       the list of incompatibilities with past versions.
+
+2010-07-25  Patrice Dumas  <address@hidden>
+
        * doc/texinfo.txi (Internationalization of strings): add this node
        describing the internationalization of strings output in texi2any.
 

Index: texi2html/doc/stamp-vti
===================================================================
RCS file: /sources/texinfo/texinfo/texi2html/doc/stamp-vti,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -b -r1.81 -r1.82
--- texi2html/doc/stamp-vti     19 Jul 2010 23:48:20 -0000      1.81
+++ texi2html/doc/stamp-vti     25 Jul 2010 21:43:14 -0000      1.82
@@ -1,4 +1,4 @@
address@hidden UPDATED 20 July 2010
address@hidden UPDATED 25 July 2010
 @set UPDATED-MONTH July 2010
 @set EDITION 4.13
 @set VERSION 4.13

Index: texi2html/doc/texi2html.texi
===================================================================
RCS file: /sources/texinfo/texinfo/texi2html/doc/texi2html.texi,v
retrieving revision 1.114
retrieving revision 1.115
diff -u -b -r1.114 -r1.115
--- texi2html/doc/texi2html.texi        19 Jul 2010 23:48:20 -0000      1.114
+++ texi2html/doc/texi2html.texi        25 Jul 2010 21:43:14 -0000      1.115
@@ -1,6 +1,6 @@
 \input texinfo @c -*-texinfo-*-
 @c This is the ``Texinfo to HTML Converter'' manual which
address@hidden which is part of the ``texi2html'' distribution.
address@hidden which is part of the GNU Texinfo distribution.
 @setfilename texi2html.info
 
 @copying
@@ -56,4626 +56,65 @@
 @c   Derek Price
 @end copying
 
address@hidden --------------------------------------------------------
address@hidden Get the version of the script and the last update time
address@hidden of this manual.
address@hidden
address@hidden version.texi is automatically generated through
address@hidden configure/autoconf.
address@hidden version.texi
address@hidden --------------------------------------------------------
-
address@hidden --------------------------------------------------------
address@hidden Define an index for command line options
address@hidden op
-
address@hidden  Define some macros which affect markup and add to the
address@hidden  index simultaneously.
address@hidden longopt {arg}
address@hidden
address@hidden \arg\
-
address@hidden macro
-
address@hidden shortopt {arg}
address@hidden
address@hidden \arg\
-
address@hidden macro
-
address@hidden variable {arg}
address@hidden
address@hidden \arg\
-
address@hidden macro
address@hidden --------------------------------------------------------
-
address@hidden Texi2HTML -- Texinfo to HTML address@hidden
address@hidden odd
address@hidden separate
address@hidden shorttitlepage-enabled
address@hidden Texi2HTML -- Texinfo to HTML address@hidden
address@hidden ifset
-
address@hidden --------------------------------------------------------
address@hidden support old style Info Dir entries.
address@hidden OLDSTYLE-INFO-DIR
address@hidden
address@hidden
-START-INFO-DIR-ENTRY
-* Texi2HTML: (texi2html).  Texinfo 2 HTML Converter (texi2html).
-END-INFO-DIR-ENTRY
address@hidden format
address@hidden ifinfo
address@hidden ifset
address@hidden --------------------------------------------------------
address@hidden Informations for install-info.
address@hidden I think the conversion script should be found
address@hidden where the documentation system lives.
address@hidden What do you think?
address@hidden Texinfo documentation system
address@hidden
-* Texi2HTML: (texi2html).  Texinfo to HTML Converter.
address@hidden direntry
address@hidden --------------------------------------------------------
-
address@hidden
address@hidden
-This file, last updated @value{UPDATED}, documents the @command{texi2html}
-script which converts @uref{http://www.texinfo.org,Texinfo} into
address@hidden://w3c.org,HTML}.  This edition is for @command{texi2html} version
address@hidden
address@hidden ifnothtml
-
address@hidden
address@hidden ifnottex
address@hidden --------------------------------------------------------
address@hidden
address@hidden Texi2HTML -- Texinfo to HTML address@hidden
address@hidden Last Update: @value{UPDATED}
address@hidden for Version @value{VERSION} of the @command{texi2html} script.
address@hidden Lionel Cons
address@hidden Karl Berry
address@hidden Olaf Bachmann
address@hidden Patrice Dumas
address@hidden Derek Price
address@hidden and many others.
address@hidden Karl Heinz Marbaise (manual)
address@hidden Patrice Dumas (manual)
address@hidden Derek Price (manual)
address@hidden
address@hidden 0pt plus 1filll
address@hidden
address@hidden titlepage
-
address@hidden ========================================================
address@hidden             The real text starts here.
address@hidden ========================================================
-
address@hidden
address@hidden
-
address@hidden
address@hidden ========================================================
address@hidden Top
address@hidden Texi2HTML
-
address@hidden bug report
-
-This manual, last updated @value{UPDATED}, describes version @value{VERSION}
-of the @command{texi2html} Perl script which converts
address@hidden The following construct allows me to get
address@hidden real URL link in HTML and working refs in
address@hidden info.
address@hidden
address@hidden pertusus: support for html cross manual now
address@hidden exists in texi2html, but it implies having Texinfo's
address@hidden HTML manual at the right place, which isn't usually the case.
address@hidden The resulting ref is also less pretty in info.
address@hidden
address@hidden://www.texinfo.org,Texinfo} into @uref{http://w3c.org,HTML}.
address@hidden ifnotinfo
address@hidden
-Texinfo (@pxref{Top,,Texinfo,Texinfo}) into @acronym{HTML}.
address@hidden ifinfo
-
-Please send bug reports concerning this manual to the Texi2HTML developement
-list @email{bug-texinfo@@gnu.org}. Please state the exact
-version of the manual which contains the bug, as given above.
-
address@hidden
address@hidden
address@hidden ifinfo
-
address@hidden
address@hidden manual is currently under construction and of course incomplete. 
 ;-)}
address@hidden example
-
address@hidden
address@hidden * MenuName:NodeName.       Description
-* Overview::
-* Obtaining texi2html::
-                              Obtaining a copy of the @command{texi2html}
-                              source code distribution
-* Installation::              Installing @command{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 @acronym{HTML} elements
-                              associated with the texinfo constructs
-* Internationalization::      Help translating!
-* Incompatibilities::         Incompatibilities with previous versions
-* Specificities::             The minor differences with regard with texinfo
-                              valid for makeinfo or texi2dvi
-* Indexop::                   Command Line Option Index
-* Indexvr::                   Variable Index
-* Indexcp::                   Concept Index
-
address@hidden menu
address@hidden ifnottex
address@hidden ========================================================
address@hidden Overview
address@hidden Overview
-
address@hidden Texinfo
address@hidden examples of manuals
-
address@hidden://www.texinfo.org,Texinfo} is the official
-documentation format of the @uref{http://www.gnu.org,GNU}
-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
address@hidden 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 @acronym{HTML}, especially
-considering that there is so much Texinfo documentation in
-the world.
-
-Some time ago @command{makeinfo} wasn't able to produce
address@hidden output format, but people still wanted documentation in
address@hidden  This was the birthing hour for
address@hidden  The basic purpose of @command{texi2html}
-is to convert Texinfo documents into @acronym{HTML}.
-
-Since then, @acronym{HTML} support in @command{makeinfo} has improved, but
address@hidden is still stronger in many areas, including the degree to
-which it allows customization.  With @command{texi2html}, some important
-aspects of the resulting @acronym{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 @command{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 @command{texi2html} is capable of
-producing, have a look at the following sites:
address@hidden://www.singular.uni-kl.de/Manual/html/,the Singular Manual},
address@hidden://ccvs.cvshome.org/docs/manual,the Cederqvist (CVS Manual)}.
-
address@hidden
-* whytexi2html::       Why @command{texi2html} and not @command{makeinfo}?.
address@hidden menu
address@hidden --------------------------------------------------------
-
address@hidden whytexi2html
address@hidden Why @command{texi2html} and not @command{makeinfo}?
-
address@hidden makeinfo
-
-You would like to produce @acronym{HTML} files from your existing Texinfo
-files?  There are two programs you can use to do this.  The first is
address@hidden (@pxref{Generating HTML,,,texinfo,GNU Texinfo}).
-The second is @command{texi2html}.
-
-The design goal of @command{makeinfo}'s @acronym{HTML} output was to produce
-readable @acronym{HTML} output. It is now possible to use @acronym{CSS}
-for @acronym{HTML} customization. Another possibility is to use intermediate 
-formats, like docbook or @command{makeinfo} @acronym{XML} 
-and @acronym{XSL} stylesheets to customize the resulting document. Still the 
-output produced by @command{makeinfo} isn't customizable.
-
-The current development of @command{texi2html} tries to
-provide for producing the more interesting and sophisticated @acronym{HTML}
-pages that today's Internet users have come to expect.
-The goal behind @command{texi2html} is to generate attractive @acronym{HTML} by
-default but also to allow users considerable freedom to affect the final
-style and design of the output @acronym{HTML} pages.  This is achieved via
-command line options and flexible configuration files. 
-
address@hidden The main disadvantage of @command{makeinfo}'s
address@hidden @acronym{HTML} output is that it is only available as one big 
file.
address@hidden This is of course readable but not very usable.  This would be 
hard to
address@hidden remedy in @command{makeinfo}, as the Texinfo source has to be 
read in at
address@hidden least twice to implement split nodes.  This would require a major
address@hidden rewrite of the @command{makeinfo} source.
-
address@hidden think more about this????
-In contrast to the @acronym{HTML} produced by @command{makeinfo --html} (the
address@hidden program is part of the Texinfo distribution), the
address@hidden 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 @acronym{HTML}
-formatting, provides for splitting documents at various levels, and provides
-for using the @command{latex2html} program to convert @code{@@tex} sections of
-the Texinfo source.
-
-The focus on @acronym{HTML} is still present but with the help of the
-customization files it is now possible to use @command{texi2html} to
-produce other formats as well. @command{texi2html} may for example be
-turned into a texinfo to roff translator with the help of a customization file 
-provided with the distribution.
-
address@hidden should reasonably convert all Texinfo
-4.8 constructs.  If you find it does not, please send a bug report to the
address@hidden@@nongnu.org} email list.
-
address@hidden ========================================================
address@hidden Obtaining texi2html
address@hidden Obtaining @command{texi2html}
address@hidden downloading @command{texi2html} source
address@hidden @command{texi2html} source, downloading
address@hidden source code for @command{texi2html}, downloading
-
-The latest version of the source code for @command{texi2html} should be
-available from
address@hidden://www.nongnu.org/texi2html/,www.nongnu.org/texi2html/}.
address@hidden is also available with 
address@hidden://www.tug.org/teTeX/,teTeX} and 
address@hidden://www.tug.org/texlive/, TeX Live}.
-
address@hidden ========================================================
address@hidden Installation
address@hidden Installation of @command{texi2html}
address@hidden Installation
address@hidden configure
-
address@hidden
-* Requirements::
-* Configuring and rebuilding::
-* Installing::
-* Advanced build features::
address@hidden menu
-
address@hidden Requirements
address@hidden Requirements
-
-To install @command{texi2html}, you must first obtain a copy of the
-source distribution.  @xref{Obtaining texi2html}.
-
address@hidden requires @command{perl} version 
-5.00405 or above to be run. An older perl 5 version with 
address@hidden::Spec} is also likely to work.  The current version has 
-been lightly tested on a wide range of perl, but has not been 
-tested extensively on versions of @command{perl} below 5.6.
-To play nice with encodings you 
-also need the @code{Encode} and @code{Unicode::Normalize} modules.
-
-To rebuild the script perl isn't required in most cases. For more
-information about advanced build features, see @ref{Advanced build features}.
-
address@hidden Configuring and rebuilding
address@hidden Configuring the source and rebuilding
-
address@hidden is a standard Automake-based distribution.
-If you have a source version, you should run @command{./configure}
-to configure the sources and @command{make} to build the script.  
-
address@hidden/configure}
-accepts options to select the installation directory for the @file{texi2html}
-file, the default directories @command{texi2html} will use to look for
-configuration files, and other details.  Run @command{./configure --help} for
-more information.
-Running @command{./configure} creates @file{texi2html_configured.pl} from
address@hidden, and also builds the @command{make} configuration
-files (@file{Makefile}s).
-
-Running @command{make} combines five files into the final
address@hidden program file:
address@hidden
address@hidden @file{texi2html_configured.pl} contains the base program,
address@hidden @file{MySimple.pm} handles the command line options, 
address@hidden @file{texi2html.init} is the default configuration file, and 
address@hidden @file{T2h_i18n.pm} is used for internationalization.
address@hidden @file{translations.pl} contains the translations of the strings 
used in
-documents.
address@hidden itemize
-
-Running @command{make} also rebuilds the documentation if needed.
- 
address@hidden Installing
address@hidden Installing
-
address@hidden install} performs the installation to the locations specified to
-the @command{./configure} script.  This usually involves placing the actual
address@hidden file someplace in your path, such as @file{/usr/local/bin} or
address@hidden/usr/bin}.
-
-Installing @command{texi2html} in your path should be sufficient 
-to run it.  To use default initialization files, or a configuration file for
address@hidden when using @command{latex2html} to convert @code{@@tex} sections
-(@pxref{Expanding TeX regions}), install them in the package data directory
-specified to configure.  This is @file{/usr/local/share/texi2html/} by default,
-but depends on the value of the @address@hidden option passed to
-the @command{./configure} script. 
address@hidden Files used for strings customization and
address@hidden internationalization are also searched for in the @file{i18n} 
directory
address@hidden of this directory. 
address@hidden init files} for more. 
-
address@hidden Advanced build features
address@hidden Advanced build features
-
-This section documents features that are unlikely to be used but deserve
-a bit of documentation. 
-
-A @command{./configure} switch, 
address@hidden allows to choose whether the unicode code should
-be used or not. The default is to detect it with a test. This
-code requires @code{Encode} and @code{Unicode::Normalize} modules.
-
-A similar @command{./configure} switch, 
address@hidden allows to choose whether the perl module
address@hidden::Unidecode} should be used or not. The default is to detect it 
-with a test. This code requires the @code{Text::Unidecode} module.
-
address@hidden isn't 
-needed to build the script. the script is build by @file{./configure} 
-and a shell script launched by @command{make} which is a simple 
-wrapper around a @command{sed} one-liner. The @command{perl} command
-can be specified with the environment variable @code{$PERL}, otherwise
-it is detected. @command{perl} is required to rebuild the documentation
-as the @acronym{HTML} documentation is rebuild with @command{texi2html}
-itself.
-
-Old style translations are managed by a script @command{manage_i18n.pl}, 
-created
-by @command{./configure}. @command{manage_i18n.pl} requires 
address@hidden::Dumper} to function normally. If this module isn't there 
address@hidden/configure} detects it and @command{manage_i18n.pl} doesn't
-really rebuild the translations, but only copy files. It is possible
-to use the @command{./configure} switch @longopt{enable-translations}
-to override the @command{./configure} detection. For more about 
-translations, see @ref{Internationalization}.
-
-It is possible to build from outside of the source directory, for example
-the following should work:
-
address@hidden
-tar xzvf address@hidden
-mkdir texi2html_build
-cd texi2html_build
-../address@hidden/configure && make
address@hidden example
-
-All these features enables to build @command{texi2html} on a platform 
-in order to run it on another platform, a kind of cross-building. The 
address@hidden/configure} switches and @code{$PERL} allows to specify 
-everything needed for the build of the @command{texi2html} script.
-
address@hidden ========================================================
address@hidden Invoking texi2html
address@hidden Invoking @command{texi2html}
-
-To produce an @acronym{HTML} manual, run @command{texi2html} with a Texinfo
-file as an argument.  For example, this manual is created with:
-
address@hidden
-$ texi2html texi2html.texi
address@hidden example
-
address@hidden can accept more than one manual on the command line, and
-will proceed with each of the manuals in turn.
-
-The behaviour of @command{texi2html} may be changed with command line
-options.  These command line options are always associated with corresponding
address@hidden 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 @samp{no} or @samp{no-} to the switch name. For example
address@hidden PAT maybe it should be better to have @option{--nomenu} and 
@option{--menu}
address@hidden as it is not needed and maybe harmfull to have an index entry 
for these
address@hidden options here
address@hidden does the reverse of @longopt{menu}.
-
-When more than one manual is processed, the command line apply to all the 
-manuals, except for command-line switches setting the output file names.
-
address@hidden
-* General options::
-* Splitting output::          The @acronym{HTML} output may be split at 
-                              different levels
-* Output files::
-* Expansion::
-* Texinfo related options::
-* Page layout options::       Customizing page layout
-* Style options::             Customizing the @acronym{HTML} and text style
-* Expanding TeX regions::
-* Using init files::          Specifying initialization files for fine tuning
address@hidden menu
-
address@hidden --------------------------------------------------------
address@hidden General options
address@hidden General options
-
-Miscellaneous general options:
address@hidden @asis
address@hidden @address@hidden
-Quit after @var{num} errors (default 1000), (variable @variable{$ERROR_LIMIT}).
address@hidden @longopt{help}
-Display a short help and exit.
address@hidden @longopt{verbose}
-Be verbose.
address@hidden @longopt{version}
-Display version information and exit.
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden Splitting output
address@hidden Specifying where to split the generated document
-
-The @acronym{HTML} manual resulting from the processing of the Texinfo source
-may be split into files at different levels.  This is specified with the
-option @longopt{split} which takes an argument, namely the level of splitting
-(variable: @variable{$SPLIT}). This level may be: 
-
address@hidden @asis
address@hidden @samp{chapter}
-The document is split at @code{@@chapter}, @code{@@appendix}, or 
@code{@@unnumbered}.
address@hidden @samp{section}
-The document is split at the same places as it is using the @samp{chapter}
-argument, and also at @code{@@section}, @code{@@appendixsec} or
address@hidden@@unnumberedsec}.
address@hidden @samp{node}
-The document is split at every sectioning command.  It is not necessarily 
-split at each node, if the @code{@@node} structure doesn't correspond with
-the sectioning command structure (see below).
address@hidden @samp{none}
-The document isn't split.  This is the default.
address@hidden table
-
-There are two kinds of commands which may be used to define sectioning
-elements in Texinfo: @code{@@node} and the structuring commands (@code{@@top},
address@hidden@@section}, @code{@@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 @code{@@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 @longopt{use-nodes} option (variable
address@hidden).  In this case, nodes not associated with structuring
-commands are also considered to be sectioning commands defining a sectioning
-element. 
-
-This default behaviour mimics @command{texi2dvi} behaviour, which ignores 
address@hidden@@node} commands for the purprose of sectioning, while the second
-looks like @command{makeinfo} behaviour (@pxref{Two Paths,,,texinfo,GNU 
Texinfo}). 
-
-As an illustration, the following table shows how a sample Texinfo document is
-divided into sectioning elements when @longopt{use-nodes} is used and not:
-
address@hidden @columnfractions .2 .1 .2 .1 .2
address@hidden Texinfo code
address@hidden
address@hidden
-default case
address@hidden
address@hidden
-with @longopt{use-nodes}
address@hidden
address@hidden
address@hidden
address@hidden
-@@node node1
-@@chapter node 1
-node1 text
-
-@@node node2
-node2 text
-
-@@node node3
-node3 text
-@@chapter node 3
-chapter text
address@hidden example
address@hidden
address@hidden
-first element:
-
address@hidden
-@@node node1
-@@chapter node 1
-node1 text
-
-@@node node2
-node2 text
address@hidden example
-
-second element:
-
address@hidden
-@@node node3
-node3 text
-@@chapter node 3
-chapter text
address@hidden example
-
address@hidden
address@hidden
-first element:
-
address@hidden
-@@node node1
-@@chapter node 1
-node1 text
address@hidden example
-
-second element:
-
address@hidden
-@@node node2
-node2 text
address@hidden example
-
-third element:
-
address@hidden
-@@node node3
-node3 text
-@@chapter node 3
-chapter text
address@hidden example
-
address@hidden multitable
-
address@hidden --------------------------------------------------------
address@hidden Output files
address@hidden Setting output file and directory names
-
-The manual name is constructed by stripping the @samp{.texi},
address@hidden, @samp{.texinfo}, or @samp{.txinfo} extension from the Texinfo 
file
-name. 
-
-By default, @command{texi2html} generates the manual file in the current 
-directory if the manual isn't split. A @samp{.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 is nothing appended.
-The files containing special elements pages
-have an underscore and a 3 letter code corresponding to their content
-(@samp{toc} for table of contents, @samp{abt} for about, @samp{ovr} for
-overview, @samp{fot} for footnotes if they are separated) appended.  
-Lastly, an @samp{.html} file extension is appended.
-
-Thus, if the texinfo file @file{afile.texi} is processed and split at chapters
-into 3 files, the generated files (in directory @file{afile}) will be:
-
address@hidden
-afile.html         --> @code{@@node Top} or @code{@@top} section
-afile_1.html       --> Chapter 1
-afile_2.html       --> Chapter 2
-afile_toc.html     --> Table of Contents
-afile_abt.html     --> About Page
address@hidden example
-
-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
address@hidden command line option (variable @variable{$OUT}). If the output
-is split, and @longopt{output} is set, the files are placed in the directory
-specified by the argument to the option.
-
-The basename may be overridden with @longopt{prefix} (variable
address@hidden).  If @longopt{short-ext} is given, @samp{.htm} is appended
-instead of @samp{.html} in the final step (variable @variable{$SHORTEXTN}).  
-The @longopt{top-file} option
-overrides the top element file name (variable @variable{$TOP_FILE}).  This can
-be used to name the top element file @samp{index.html}.  Similarly,
address@hidden changes the name of the table of contents file (variable
address@hidden).
-
-Reusing the example above, but this time calling @command{texi2html} like so:
-
address@hidden
-$ texi2html -split chapter -prefix manual -short-ext -top-file index.htm 
-toc-file contents.htm afile.texi
address@hidden example
-
-we get, in @file{manual}:
-
address@hidden
-index.htm          --> @code{@@node Top} or @code{@@top} section
-manual_1.htm       --> Chapter 1
-manual_2.htm       --> Chapter 2
-contents.htm       --> Table of Contents
-manual_abt.htm     --> About Page
address@hidden example
-
-The file names generated by @command{texi2html} differ from those generated
-by @command{makeinfo}. @command{makeinfo} uses the @code{@@setfilename}
-to determine the manual address@hidden behaviour is triggered only by a 
-variable set in an init file,  @variable{$USE_SETFILENAME} 
-(@pxref{Using init files}).}. 
-Also @command{makeinfo} uses the node name to construct
-the file names while splitting at nodes.  
-
-It is possible to get the same
-behaviour out of @command{texi2html} by specifying the
address@hidden option (variable @variable{$NODE_FILES}).  
-The default is false for this option.
-If the output
-isn't split at nodes, @command{texi2html} will still output files named after
-the nodes, without real content but redirecting to the right file.
address@hidden Is this true?  It wasn't in the last version.  -DRP
-This trick enables the generated @acronym{HTML} manual to be a
-target for the cross-references of other manuals generated by
address@hidden or @command{texi2html}. 
-
-In case the files are named after the node names, 
-another command-line option, @longopt{transliterate-file-names}
-can be set to trigger ASCII transliteration of node file names 
-(variable @variable{$TRANSLITERATE_FILE_NAMES}). Transliteration is set in the 
-default case.
-
address@hidden --------------------------------------------------------
address@hidden Expansion
address@hidden Specifying which regions get expanded
-
-The default for @command{texi2html} is to expand the @code{@@ifhtml}, 
address@hidden@@html}, and @code{@@menu} regions, all the @code{@@ifnot} 
regions 
-except @code{@@ifnothtml}, and no other @code{@@if} regions.
-
-It is possible to expand other regions by setting @longopt{if<region>},
-where @samp{<region>} is replaced by the literal name of the region (for
-example, @samp{--iftex}).  Symetrically, if @longopt{no-if<region>} is
-specified, the @samp{<region>} region is ignored.  The configuration file
-array, @variable{@@EXPAND}, holds the names of regions which should be 
-expanded. The only region name present in @code{@@EXPAND} in the default case 
-is @samp{html}. 
-
-If @longopt{nomenu} is set, the @code{@@menu} sections are not expanded
-(variable @variable{$SHOW_MENU}). The default is to expand @code{@@menu}
-sections.
address@hidden How is --no-ifhtml specified?  -DRP
-
address@hidden --------------------------------------------------------
address@hidden Texinfo related options
address@hidden Command line options related to Texinfo language features
-  
-Miscalleneous Texinfo related things may be specified via command line 
options. 
-
address@hidden @asis
address@hidden @address@hidden
-Sets the document language similar to the Texinfo directive,
address@hidden@@documentlanguage @var{lang}} (variable 
@variable{$DOCUMENTLANGUAGE}).
-The default is @samp{en}, that is, use the english language strings.
address@hidden @address@hidden
-Sets @var{var}.  Equivalent to, @code{@@set @var{var} 1}, in Texinfo.
address@hidden @address@hidden
-Clears @var{var}.  Equivalent to, @code{@@clear @var{var}}, in Texinfo.
address@hidden @address@hidden
-Prepend @var{dir} to the list of directories to search for
address@hidden@@include} files (the associated array is 
@variable{@@PREPEND_DIRS},
-empty in the default case).
address@hidden @address@hidden
-Append @var{dir} to the list of directories to search for 
address@hidden@@include} files (the associated array is 
@variable{@@INCLUDE_DIRS},
-empty in the default case).
address@hidden table
-
-The include files are always searched for in the current directory.
-
address@hidden --------------------------------------------------------
address@hidden Page layout options
address@hidden Page layout related command line options
-
-If the @longopt{frames} option is specified, @acronym{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 @variable{$FRAMES}). The default is not
-to use frames.
-
-It is also possible to suppress the section navigation panel with
address@hidden (variable @variable{$HEADERS}, 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 with @longopt{footnote-style} set to
address@hidden or on a separate page with @option{--footnote-style} 
-set to @samp{separate} (variable @variable{$FOOTNOTESTYLE}).
-The default is to have separated footnotes.
-
address@hidden --------------------------------------------------------
address@hidden Style options
address@hidden Customizing the @acronym{HTML} and text style
-
address@hidden @acronym{CSS}
-
-Miscalleneous style changes may be achieved with command line options. 
-
address@hidden @asis
address@hidden @address@hidden
address@hidden @address@hidden
-You can specify the document DTD by setting these options. 
address@hidden applies to the file describing the frames when 
-frames are used (corresponding variables are @variable{$DOCTYPE} and 
address@hidden).
-
-The default for the document doctype for HTML is:
address@hidden
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
address@hidden example
-And for the frameset doctype:
address@hidden
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd";>
address@hidden example
-
address@hidden @longopt{iso}
-If this option is set, ISO8859 entities are used for some special symbols,
-like Copyright @copyright{} (variable @variable{$USE_ISO}). It is the default.
-
address@hidden @address@hidden
-This command line switch provides for the inclusion of an external
-Cascading Style Sheet (@acronym{CSS}) file.  More than one file may be
-specified, and @samp{-} stands for the standard input (array
address@hidden@@CSS_FILES}). 
-
-The option use is the same than for @command{makeinfo} and is described
-extensively in @ref{HTML CSS,,,texinfo,GNU Texinfo}.
-Briefly, the @acronym{CSS} @code{@@import} lines from the external file
address@hidden file are pasted  before the
address@hidden What does this mean?  I don't think I clarified this one much.  
-DRP
address@hidden Is it better ? -PAT
address@hidden @acronym{CSS} rules, and the external file @acronym{CSS}
-rules are pasted after the @command{texi2html} @acronym{CSS} rules.  
-
address@hidden @address@hidden
-This command line switch provides for the inclusion of an reference
-to a Cascading Style Sheet (@acronym{CSS}) URL.  More than one URL may be
-specified (array @variable{@@CSS_REFS}). 
-
address@hidden @address@hidden
-This option sets the base directory for external @acronym{HTML} texinfo 
manuals 
-(variable @variable{$EXTERNAL_DIR}).  Defaults to @samp{../}.
-
address@hidden @longopt{def-table}
-If this option is set, @acronym{HTML} tables are used to format definition 
-commands, rather than @acronym{HTML} definition tables (variable
address@hidden). Default is false.
-
address@hidden @longopt{short-ref}
-If this option is set, cross-references are given without section numbers
-(variable @variable{$SHORT_REF}). Default is false.
-
address@hidden @longopt{number-sections}
-If this option is set, sections are numbered (variable
address@hidden).  This is the default.
-
address@hidden @longopt{toc-links}
-If this option is set, links from headings to @acronym{TOC} entries are
-created (variable @variable{$TOC_LINKS}). Default is false.
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden Expanding TeX regions
address@hidden Expanding @code{@@tex} and @code{@@math} regions using 
address@hidden
-
-It is possible to use @uref{http://www.latex2html.org/,address@hidden  
-to process @code{@@tex} regions and @code{@@address@hidden@}} commands.  This 
is an
-attractive way to display mathematical constructs in the @acronym{HTML}
-manual.  The @longopt{l2h} option activates this feature (variable
address@hidden).  It is usually desirable to expand @code{@@tex} sections when 
this
-option is specified (@pxref{Expansion}). The default is not to use this
-feature.
-
-The @address@hidden option enables changing the name/location
-of the address@hidden program processing @TeX{} regions (variable
address@hidden). The default is @command{latex2html}.
-
address@hidden sets the directory used for temporary
-files, this name shouldn't contain a dot @samp{.}
address@hidden Why not?  -DRP
-(variable is @variable{$L2H_TMP}). Defaults to the current dir.
-
-The file specified by @longopt{l2h-file} is
-used as address@hidden init file. It is searched at the same places than
-init files (@pxref{Using init files}), and the default is @file{l2h.init}.
-
address@hidden --------------------------------------------------------
address@hidden Using init files
address@hidden Use initialization files for fine tuning
-
address@hidden internationalization
address@hidden @file{Config}
-
-Initialization variables are read first from
address@hidden/usr/local/share/texi2html/Config} (the exact location being
-changeable with the @longopt{pkgdatadir=dir} option of the
address@hidden script, see @ref{Installation}),
address@hidden/usr/local/etc/texi2html/Config} (the exact location being
-changeable with the @longopt{sysconfdir=dir} option of the
address@hidden script, see @ref{Installation}), from @file{./Config}
-then from @file{$HOME/.texi2html/Config}. Any command-line option 
-can override the corresponding option set in init file, and the 
-option @longopt{init-file} specifies an init file to be loaded, with 
-later settings overriding earlier ones.
-
-The init files specified with @longopt{init-file} are searched
-first in the current directory, then in the @file{$HOME/.texi2html/}
-directory, in the @file{/usr/local/etc/texi2html/} directory and lastly 
-in the @file{/usr/local/share/texi2html/} directory.
-
-A file is also included based on the language selected,
-by @variable{$DOCUMENTLANGUAGE}, @longopt{document-language} or 
address@hidden@@documentlanguage}.
-All the files with name the language name in 
address@hidden/usr/local/share/texi2html/i18n/}, 
address@hidden/usr/local/etc/texi2html/i18n/},
address@hidden/.texi2html/i18n/} and then @file{./i18n/} are included.
-
-The default initialization options are defined in the
address@hidden file contained in the @command{texi2html}
-distribution (which gets included near the beginning of the
address@hidden script that gets installed).
-
-To customize @command{texi2html} it is best if you copy the
-appropriate sections from the @file{texi2html.init}
-contents into an appropriate local initialization file,
-make the necessary changes there, and then have
address@hidden read this initialization file by one of
-the means described above.
-
-Some init files are provided with @command{texi2html}, for example
address@hidden which produces an output more in line with 
-what could be in a book, or @file{chm.init} outputs files
-that can be used to produce a CHM file.
-
address@hidden ========================================================
address@hidden Initialization files
address@hidden Overview of initialization files content and loading
-
-The initialization files are @command{perl} files, read as explained 
-in @ref{Using init files}. You don't need to know much of @command{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 @command{perl} is required.
-
-In initialization file three kind of variables appear. Configuration variables
-are set and accessed through specific functions. The second kind
-are normal scalar, arrays and hashes, and the third one is references 
-on functions. 
-The later permits the dynamic redefinition of functions used to produce
-the @acronym{HTML} manual. You should be able to change the value of some  
-normal variables without a deep knowledge of @command{perl}, by looking
-at the existing examples. The possible mistakes in that case could be
-omitted @samp{;}, and bad quoting.
-
-Initialization file are loaded from the main program by
-the mean of a @code{require}, while in the @code{Texi2HTML::Config}
-namespace. This means that the namespace of the main program and
-the namespace of initialization files are distinct, which ensures
-that no name clash should happen. The scalars, 
-arrays and hashes are declared with
address@hidden vars}, such that it should be possible to use the 
address@hidden strict} pragma in the initialization file code.
-
-To avoid messing with the variables in the @code{main} namespace
-all the global variables which could be of use in the init files 
-are in the @code{Texi2HTML} namespace. Notice that the functions 
-of the main program are still in the @code{main} namespace.
-
-Since @command{texi2html} can proceed more than one file on the
-command line, you should make sure that you initialize the variables
-that are used during a manual formatting. The handlers explained
-later can be used for that (@pxref{Bypassing normal formatting}).
-
address@hidden
-* Setting and getting configuration variable value::
-* Global informations::       Accessing global informations, like date, 
-                              address@hidden
-* Getting flag values::
-* Encodings::                 Setting the encodings.
-* Redefining functions::      Function redefinition is achieved with 
-                              redefinition of references on functions.
-* Function prototypes::       Conventions used in that manual for function 
-                              reference prototypes display.
address@hidden menu
-
address@hidden --------------------------------------------------------
address@hidden Setting and getting configuration variable value
address@hidden Setting and getting configuration variable value
-
-Configuration variables are 
address@hidden @bullet
address@hidden associated with @@-commands in the document, 
-for example @code{@@documentlanguage}, 
address@hidden associated with 
-configuration variables that
-may also be set on the command-line, for example @code{SPLIT} which is
-associated with the @option{--split} command-line switch, 
address@hidden other 
-configuration variables, for example @code{NO_CSS} which may be set to 0
-in case one does not want CSS. Those configuration variables may always be set
-on the command-line, using
address@hidden
---set-init-variable 'VAR_NAME value'
address@hidden example
-or
address@hidden
---set-init-variable VAR_NAME=value
address@hidden example
-
-where @var{VAR_NAME} is the variable name, for example @code{SPLIT} or
address@hidden and @var{value} is the value of the variable. A special
-value is @samp{undef} the sets the variable to this special @command{perl}
-value.
address@hidden itemize
-
-To set the value of a configuration variable from an init file,
-you should use the function:
address@hidden set_from_init_file ($variable_name, $variable_value)
address@hidden is a string containing the name of the variable 
-you want to set, and @var{$variable_value} is the value you want to set.
address@hidden may be @samp{undef}. For example
address@hidden
-set_from_init_file('documentlanguage', 'fr');
address@hidden example
-should override the @code{@@documentlanguage} from the document.
-It will be overriden by @option{--document-language} on the 
-command-line.
-
-Another example, 
address@hidden
-set_from_init_file('SPLIT', 'chapter');
address@hidden example
-should override the default splitting of the document. It will be
-overriden by the @option{--split} option on the command-line.
-
-And, as a last example, 
address@hidden
-set_from_init_file('NO_CSS', 1);
address@hidden example
-wil override the default value for @code{NO_CSS}. It will be overriden by
address@hidden 'NO_CSS 1'} on the command-line.
address@hidden defun
-
-To get the value of a variable, the function is @code{get_conf},
-in the @code{Texi2HTML::Config} namespace:
address@hidden get_conf ($variable_name)
address@hidden is  the name of the variable you want to know the 
-value.
address@hidden defun
-
-For example:
-
address@hidden
-if (get_conf('footnotestyle') eq 'separate') @{ .... @}
address@hidden example
-
-Currently the following information corresponding with @@-commands 
-is available through @code{get_conf}:
-everyheading, everyfooting, evenheading,
-        evenfooting, oddheading, oddfooting, headings,
-        allowcodebreaks, frenchspacing, exampleindent,
-        firstparagraphindent, paragraphindent, clickstyle,
-        documentlanguage,
-contents, shortcontents,
-        setcontentsaftertitlepage, setshortcontentsaftertitlepage,
-        footnotestyle, novalidate, kbdinputstyle, documentencoding,
-        setfilename, today, documentdescription,
-        everyheadingmarks, everyfootingmarks,
-        evenheadingmarks,oddheadingmarks,evenfootingmarks,oddfootingmarks,
-        fonttextsize, pagesizes, setchapternewpage.
-
-Information that can be set on the command line and in init files, or 
-that could be modified on a per-output file basis are also available
-through @code{get_conf} (many other undocumented values are available):
-
address@hidden Setting and getting configuration variable value
address@hidden or in an appendix since more information is required before?
address@hidden @code
address@hidden SPLIT
-How the manual is split.
address@hidden SPLIT_SIZE
-The split size, only relevant for info output.
address@hidden DOCTYPE
-The current doctype.
address@hidden HEADERS
-True if headers are to be output.
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden Global informations
address@hidden Accessing global informations
-
address@hidden FIXME this is not very well placed, it is quite general and is 
buried
address@hidden in the pages fine tuning
-The @variable{%Texi2HTML::THISDOC} hash holds some global informations:
-
address@hidden
-FIXME
-'split_level' 'variable_levels' 'variables' 'toc_file' stoc_file
-%index_letters_array
-%index_entries_array
-%index_entries_region_array
-%index_entries
-%indices_numbers
-%indices
-input_file_name
-input_file_number
-input_directory
-css_import_lines
-css_rule_lines
-do_about
-titlefont_texi
-'file_base_name' 'FH' 'state' 'format_from_command_line' 'input_directory' 
'destination_directory' 'file_base_name' %filename 'dircategory_texi' 
'dircategory' 'settitle_texi' 'shorttitlepage_texi' 'title_texi' 
settitle_line_nr shorttitlepage_line_nr title_line_nr @authors_texi 
@authors_line_nr @subtitles_texi @subtitles_line_nr %merged_index @defindex 
@defcodeindex
-command_stack top_texi fulltitle_texi simpletitle_texi
-program
-program_and_version
-program_homepage
-copying_comment
-inline_contents
-line_nr
-input_file_name
-%htmlxref
-%hyphenation
-
-author subtitle -> _texi
-
-'shorttitlepage', 'settitle', 'author',
-           'titlefont', 'subtitle', 'title', 'fulltitle', 'simpletitle'
--> $thing, $thing _no_texi, $thing _simple_format
address@hidden ignore
-
address@hidden @code
address@hidden fulltitle
-title set by @code{@@settitle}. If there is no @code{@@settitle} other 
-possibilities are tried (@code{@@title}, @code{@@address@hidden).
address@hidden fulltitle_no_texi
-fulltitle without texi formatting
address@hidden fulltitle_texi
-fulltitle with texi commands
address@hidden title
address@hidden title set by @code{@@settitle}, or @code{fulltitle}.
-title set by @code{@@title}.
address@hidden title_no_texi
-title without texi formatting
address@hidden title_texi
-title with texi commands
address@hidden author
-Authors list set by @code{@@author}.
address@hidden authors
-A reference on an array containing each author set by @code{@@author}.
address@hidden copying_comment
-Text appearing in @code{@@copying} with all the texinfo commands removed,
-put in comments.
address@hidden program
-The name of the command generating the output.
address@hidden program_and_version
-The name and version of the command generating the output.
address@hidden program_homepage
-Homepage of the command generating the output..
address@hidden file_base_name
-base name of the texinfo manual file.
address@hidden filename
-This is a reference on a hash that holds the filenames for special elements.
-These files may not be used in certain cases, for example the @code{toc}
-element file name may not be relevant if table of contents is not output 
-separately.
-The keys are
address@hidden @code
address@hidden doc
-the document file if not split, if split should be the top element file. 
address@hidden top
-Top element file name.
address@hidden toc 
-Table of contents element file name.
address@hidden stoc
-Overview (also called short table of contents) element file name.
address@hidden about
-About element file name.
address@hidden foot
-Footnotes element file name.
address@hidden frame
-Main frame file.
address@hidden toc_frame
-Table of contents frame file name.
address@hidden table
address@hidden input_file_name
-Name of the texinfo manual file given on the command line.
address@hidden destination_directory
-Destination directory for the resulting files.
address@hidden extension
-Extension for the output files.
address@hidden toc_file
-The file name of the table of contents, should always be valid, even 
-when table of contents are output directly in the document.
address@hidden inline_contents
-A reference on a hash containing two key, one for each type of table
-of contents:
address@hidden @code
address@hidden contents
-The associated value is a 
-reference on an array containg the line resulting from formatting
-the table of contents, including a heading and a reference.
address@hidden shortcontents
-The associated value is a 
-reference on an array containg the line resulting from formatting
-the short table of contents, including a heading and a reference.
address@hidden table
address@hidden today
-The date. May be overriden in @variable{today}.
address@hidden css_import_lines
-reference on an array containing the @code{@@import} lines of 
address@hidden files.
address@hidden css_lines
-reference on an array containing the normal lines of 
address@hidden files.
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden Getting flag values
address@hidden Getting the values of flags set by @code{@@set}
-
-Flags defined by @code{@@set} may be accessed through the 
address@hidden::value} hash. The key is the flag name, the value is the
-flag value at the end of the document. 
-
address@hidden They should now be available through get_conf
address@hidden Special flags are set by the main program. They correspond with 
a texinfo
address@hidden command, like @code{@@setfilename}, or @code{@@settitle}, 
address@hidden @code{@@address@hidden The corresponding flag is the command 
name with 
address@hidden @samp{_} appended, for example, @code{_titlefont} corresponds 
with 
address@hidden @code{@@titlefont}. Like other flags they are available in 
address@hidden @variable{%main::value}.
-
address@hidden --------------------------------------------------------
address@hidden Encodings
address@hidden Setting the encodings
-
-There are four encodings relevant for @command{texi2html}, they are
-associated with corresponding variables. If these 
-variables are defined they
-determine a corresponding value that may be available through 
address@hidden and are autodetected if not set:
address@hidden 
address@hidden @code{documentencoding} available through @code{get_conf} may be 
set.
-If not defined, the encoding appearing in @code{@@documentencoding} will
-be used to set
address@hidden The texinfo files encoding.
address@hidden may also be set.
-Otherwise, when @code{documentencoding}
-is set, @code{IN_ENCODING} is also set
-if the encoding is supported by perl.
address@hidden The out files encoding. It is associated with the variable
address@hidden If not set, the value of
address@hidden 
-or 
address@hidden
-is used if one of these variables is set.
address@hidden The encoding advertized in out files, associated with the 
variable
address@hidden 
-If unset the value of this variable is based on the
-other ENCODING values, and if they are all undefined, the variable
address@hidden is used.
address@hidden enumerate
-
-The values for the encoding related variables are set in the default 
address@hidden function reference (@pxref{Output initialization}).
-
-In general the @code{$DOCUMENT_ENCODING} and @code{$IN_ENCODING} are
-set to the right values. @code{$OUT_ENCODING} is also rightly set
-according to @code{$ENCODING_NAME}. 
-To force a given encoding for the output, the
address@hidden value may be set. The current default output encoding
-is UTF-8. 
-
address@hidden --------------------------------------------------------
address@hidden Redefining functions
address@hidden 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 @code{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 @code{$anchor}. Thus if you want to override the
-corresponding function
-you could write:
-
address@hidden
-# 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
address@hidden
address@hidden example
-
address@hidden --------------------------------------------------------
address@hidden Function prototypes
address@hidden 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 @code{\@@array} for a reference on an array and similarly 
address@hidden for a reference on a hash.
-
-Thus, the prototype for the function associated with the function
-reference @samp{$formatting_function} will be:
-
address@hidden {Function Reference} $text formatting_function $arg1 \@@arg2
address@hidden takes as first argument @var{$arg2},
-as second argument a reference on an array @var{\@@arg2}
-and returns the formatted text @var{$text}.
address@hidden deftypefn
-
-To redefined the corresponding function, you should write:
-
address@hidden
-$formatting_function = \&my_formatting_function
-
-sub my_formatting_function($ $)
address@hidden
-    my $arg1 = shift;
-    my $arg2 = shift;
-    # prepare $formatted_text
-    .....
-    return $formatted_text
address@hidden
address@hidden example
-
address@hidden --------------------------------------------------------
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden ========================================================
address@hidden @include custpage.texi
address@hidden Changing the page layout
address@hidden 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 
address@hidden layout options}.
-Fine tuning of the page layout may be achieved
-with redefinition of other variables and function references in the 
-initialization files.
-
address@hidden
-* The different pages::       The different categories of pages.
-* The page layout::           The elements of a page.
-* Navigation panel::          How to change the navigation panel.
-* Variables and functions for elements::   
-                              Main program variables and some functions 
-                              from the main program usefull for elements
-                              formatting.
-* 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 and target names::     Customizing the file and target names.
-* External index files::      Putting index entries in external files.
address@hidden menu
-
address@hidden --------------------------------------------------------
address@hidden The different pages
address@hidden The different categories of pages and sectioning elements
-
-The following sectioning elements can be associated with pages:
-
address@hidden @emph
address@hidden Normal elements
-These are normal sections or nodes. Their association with pages is
-determined by the splitting of the document. @xref{Splitting output}.
address@hidden Top element
-The top element is the higher element in the document structure.
-If there is a @code{@@top} section it is the element associated with
-that section. Otherwise it is the element associated with the 
address@hidden@@node Top}. If there is no @code{@@node Top} the first element 
is the 
-top element.
-
-The top element is formatted differently than a normal element if there
-is a @code{@@top} section or the @code{@@node Top} isn't associated 
-with a sectioning command.
address@hidden Misc elements
-These elements are associated with pages if the document is split.
-There are four misc elements:
address@hidden
address@hidden Table of contents
address@hidden Short table of contents, also called Overview
address@hidden Footnotes page
address@hidden About page
address@hidden enumerate
-
-The @emph{About page} shouldn't be present for documents consisting
-in only one sectioning element, or for documents unsplit and without
-navigation information. The @emph{Footnote page} should only
-be present if the footnotes appear on a separated page 
-(@pxref{Page layout options}), however a footnote element is present if
-the document isn't split. The @emph{Table of contents} should only
-be formatted if @code{@@contents} is present in the document.
-Similarly the @emph{Overview} should only appear if @code{@@shortcontents}
-or @code{@@summarycontents} is present. The Table of contents and 
-the Overview may also be directly included within the document, not
-as separate pages (@pxref{Contents and Overview text}).
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden The page layout
address@hidden 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 @variable{$SMALL_RULE}, 
address@hidden, @variable{$MIDDLE_RULE} and @variable{$BIG_RULE} 
-for rules of different sizes.
-The defaults are 
address@hidden
-$SMALL_RULE = '<hr size="1">';
-$DEFAULT_RULE = '<hr>';
-$MIDDLE_RULE = '<hr size="2">';
-$BIG_RULE = '<hr size="6">';
address@hidden example 
-
-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 
address@hidden, 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.
-
address@hidden Element labels
address@hidden 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 (@code{@@chapter}, 
address@hidden@@address@hidden) or by the nodes (in that case the node 
-directions are specified on node line or in menu organization).
-These items are called @dfn{element labels}. They may be associated with 
-a button (@pxref{Button specifications}), and used in the formatting functions 
-(@pxref{Elements hashes}).
-
-Here is the list:
-
address@hidden @emph
address@hidden @samp{@ }
-An empty button
address@hidden Top
-Top element. The associated name is @variable{$TOP_HEADING} if that variable 
is 
-defined. This variable is not set by default.
address@hidden Contents
-Table of contents
address@hidden About
-About (help) page
address@hidden Overview
-Overview, short table of contents
address@hidden First
-First element in reading order
address@hidden Last
-Last element in reading order
address@hidden Index
-The first chapter with @code{@@printindex}. The associated name 
-is  @variable{$INDEX_CHAPTER}, if the variable is set. This variable is not set
-by default.
address@hidden This
-The current element
address@hidden Back
-Preceding element in reading order
address@hidden FastBack
-Beginning of this chapter or previous chapter if the element is a chapter
address@hidden Prev
-Previous section on the same level 
address@hidden NodePrev
-Previous node
address@hidden Forward 
-Next element in reading order
address@hidden FastForward
-Next chapter
address@hidden Next
-Next section on the same level
address@hidden NodeNext
-Next node
address@hidden Following
-Next node in node reading order
address@hidden Up
-Up section
address@hidden NodeUp
-Up node
address@hidden FileNext
-Forward element first in the next page (or file)
address@hidden FilePrev
-Backward element first in the previous page (or file)
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden Navigation panel
address@hidden 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.
-
address@hidden 
-* General purpose variables::      Variables controlling the navigation panel
-                                   at a global level
-* Button specifications::
-* Panel formatting function::
address@hidden menu
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden General purpose variables
address@hidden Controlling the navigation panel panel at a high level
-
-The global formatting of the navigation panels may be
-changed with the following variables:
-
address@hidden @code
address@hidden $VERTICAL_HEAD_NAVIGATION
-A vertical navigation panel will be used for the header navigation 
-panel if this variable is true.
address@hidden $ICONS
-Icons are used instead of
-textual buttons if this variable is true.
address@hidden $HEADERS
-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 (@pxref{Page layout options}).
address@hidden vtable
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Button specifications
address@hidden 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:
-
address@hidden @code
address@hidden @@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.
address@hidden @@SECTION_FOOTER_BUTTONS
address@hidden @@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 @variable{$WORDS_IN_PAGE} is set and the output is split at nodes, these 
-buttons are only present if there are more than @variable{$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.
address@hidden @@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.
address@hidden @@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.
address@hidden @@LINKS_BUTTONS
-These are used for @code{<link>} elements if they are output in the
-headers.
address@hidden vtable
-
-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:
-
address@hidden @emph
address@hidden reference on a function
-The function is called with argument a boolean true if the navigation 
-panel should be vertical. Should return the formatted button text.
address@hidden reference on a scalar
-The scalar value is printed. For some possibly
-usefull scalars, @ref{Elements hashes}.
address@hidden 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
address@hidden
-[ 'Next', \$Texi2HTML::address@hidden@} ] 
address@hidden example
-
-The button will be a link to the next section with text 
address@hidden::address@hidden@}}.
address@hidden 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 @variable{%NAVIGATION_TEXT} hash, surrounded
-by @samp{[} and @samp{]}. If the element label is @samp{ }, there is
-no @samp{[} and @samp{]}. 
-The element of the @code{%NAVIGATION_TEXT} hash are defined 
-dynamically, in the @code{init_out} function reference
-(@pxref{Output initialization}).
-
-If icons are used, the button is an image with file determined by
-the value associated with the element label in the @variable{%ACTIVE_ICONS}
-hash if the the link really leads to an element, or in the 
@variable{%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. The button name and 
-the button description are used in HTML attributes to have a textual 
-description of the icon. The corresponding strings are in 
address@hidden  for the button name and  @code{%NAVIGATION_TEXT}
-for the description.
address@hidden table
-
-If @variable{$USE_ACCESSKEY} is set, the @code{accesskey} attribute 
-is used in navigation. In that case the @variable{%BUTTONS_ACCESSKEY} 
-hash is used for the access key.
-
-Similarly, if 
-If @variable{$USE_REL_REV} is set, the @code{rel} attribute is used 
-in navigation. In that case the @variable{%BUTTONS_REL} hash is used for 
-the rel attribute.
-
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Panel formatting function
address@hidden 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:
-
address@hidden {Function Reference} $navigation_text print_navigation 
\@@buttons $vertical
address@hidden@@buttons} is an array reference which should hold the 
specification of 
-the buttons for that navigation panel. @var{$vertical} is true if the 
-navigation panel should be vertical.
-Returns the formatted navigation panel in @var{$navigation_text}.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Variables and functions for elements
address@hidden Variables and functions usefull for elements formatting
-
-In the functions 
-controlling the page layout some variables set by the main
-program are available, with value corresponding with the current
-layout element.
-
address@hidden 
-* Elements hashes::             Accessing information related with the 
-                                different elements   
-* Section lines::               Accessing the line of the current 
-                                section and special sections
-* Global functions::            main program usefull functions
address@hidden menu
-
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Elements hashes
address@hidden Accessing elements informations
-
-Four hashes are available, with key the elements labels (as described
-in @ref{Element labels}) and values:
-
address@hidden @code
address@hidden %Texi2HTML::NAME
-The formatted element name
address@hidden %Texi2HTML::HREF
-The element hypertext reference
address@hidden %Texi2HTML::NODE
-The element node name
address@hidden %Texi2HTML::NO_TEXI
-The element name after removal of texi commands
address@hidden vtable
-
-If @variable{$USE_NODE_TARGET} is set, the node anchors are used as 
-target for the section HREF, if there is a node associated to
-that section.
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Section lines
address@hidden Section lines
-
-The following array references or arrays holds formatted lines:
-
address@hidden @code
address@hidden $Texi2HTML::THIS_SECTION
-Lines of the current element.
address@hidden $Texi2HTML::OVERVIEW
-Lines of short table of contents. @xref{Special pages}.
address@hidden $Texi2HTML::TOC_LINES
-Lines of table of contents. @xref{Special pages}.
address@hidden $Texi2HTML::TITLEPAGE
-The title page formatted. @xref{Title page}.
address@hidden vtable
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Global functions
address@hidden 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.
-
address@hidden $words_number  main::print_lines $filehandle \@@lines_array
address@hidden is the opened filehandle the function should write to.
address@hidden@@lines_array} is the array line the function should write to the 
file.
-If this argument is omitted, the function uses 
@variable{$Texi2HTML::THIS_SECTION}.
address@hidden is the number of words in the array, only defined if
-split at nodes and @variable{$WORDS_IN_PAGE} is defined.
address@hidden deftypefun
-
address@hidden --------------------------------------------------------
address@hidden Output initialization
address@hidden 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 @code{@@set} or @code{@@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:
-
address@hidden {Function Reference} init_out
-This function perform the initialization of variables and any other
-task before document outputting. 
address@hidden It returns the encoding used for the
address@hidden output files.
address@hidden deffn
-
-In the default case the @variable{$BODYTEXT} (@pxref{Customizing header}) 
-and the hashes @variable{%NAVIGATION_TEXT},
address@hidden  (@pxref{Button specifications}),   
address@hidden (@pxref{About text}) are initialized.
-Indeed the initialization of these variables is dependent upon 
-the document language selection. Similarly the encoding variables are set
-based on the information now available (@pxref{Encodings}).
-
-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) :
-
address@hidden
-my $default_init_out = $init_out;
-$init_out = \&makeinfo_like_init_out;
-sub makeinfo_like_init_out() 
address@hidden
-   &$default_init_out();
-   address@hidden'Following'@} = ' &gt; ';
address@hidden
address@hidden example
-
address@hidden --------------------------------------------------------
address@hidden Output finalization
address@hidden 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:
-
address@hidden {Function Reference} finish_out
-This function is called after the document generation.
address@hidden deffn
-
-The default is to do nothing.
-
address@hidden --------------------------------------------------------
address@hidden css
address@hidden Customizing the @command{texi2html} css lines
-
address@hidden @acronym{CSS}
-
-
-If the variable @variable{$CSS_LINES} is set it is used for the css
-entries.  For example if you don't want any css entries, set
-
address@hidden
-$CSS_LINES = '';
address@hidden example
-
-If this variable is @code{undef} (as in th edefault case),
-it is possible to modify the @command{texi2html} css lines by modifying
-the entries or adding to the @variable{%css_map} hash. Each key is a css
-selector, the corresponding value is a style string.
-
-Another possiblility is to modify the array corresponding with the array 
-reference @code{$Texi2HTML::address@hidden'css_import_lines'@}} that contains 
the
address@hidden@@import} lines of @acronym{CSS} files, and similarly it is 
possible
-to modify the array corresponding with the array 
-reference @code{$Texi2HTML::address@hidden'css_lines'@}}  that contains 
-the normal @acronym{CSS} files lines (for details on what corresponds with
-those different lines, see @ref{HTML CSS,,,texinfo,GNU Texinfo}).
-The right place to modify these arrays is in a function appearing in 
-the @code{@@command_handler_process} array 
-(@pxref{Bypassing normal formatting}). Later, the @acronym{CSS} lines
-are allready expanded, by the function reference below. 
-
-
-In th edefault case, the resulting css lines are in 
@variable{$Texi2html::address@hidden'CSS_LINES'@}}. 
-It is also possible to change completely the way 
@code{$Texi2html::address@hidden'CSS_LINES'@}} are
-generated by redefining the following function reference:
-
-
address@hidden {Function Reference} css_lines \@@import_lines \@@rule_lines
-This function should be used to construct the variable 
address@hidden::address@hidden'CSS_LINES'@}}.
address@hidden@@import_lines} are the @code{@@import} lines of the 
-files specified with @longopt{include-css}, 
-and @var{\@@rule_lines} are the css commands lines of these files.
address@hidden options}.
address@hidden deffn
-
address@hidden --------------------------------------------------------
address@hidden Customizing header
address@hidden Customizing the page header 
-
-It is possible to add lines to the text within the @code{<head>} 
address@hidden elements, by defining the variable @variable{$EXTRA_HEAD}.
-Similarly it is possible to add text just after the @code{<body>} 
-element with the variable @variable{$AFTER_BODY_OPEN}.
-These variables are empty by default.
-
-The HTML encoding of the resulting document is defined by
address@hidden If the variable isn't defined,
-the @code{@@documentencoding} value is used, or the 
address@hidden value, if set. @code{$ENCODING_NAME} may
-influence the value of @code{$OUT_ENCODING}, which corresponds with
-the encoding used when writing to the resulting files.
address@hidden
-
-The description of the document may be specified in 
address@hidden 
-If this variable is undef, the text 
-associated with @code{@@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 value used during document formatting
-is @variable{$Texi2HTML::address@hidden'DOCUMENT_DESCRIPTION'@}}. 
-
-The @code{<body>} element attributes may be set by defining the
-variable @variable{$BODYTEXT}.  The resulting attributes are 
-in @variable{$Texi2HTML::address@hidden'BODYTEXT'@}}.
-If you want to define that variable
-dynamically, you should use the @code{init_out} function reference
-(@pxref{Output initialization}).
-
address@hidden<link>} element are used in the header if @variable{$USE_LINKS}
-is set. @variable{@@LINKS_BUTTONS} determines which links are used.
address@hidden determines the link type associated with the
address@hidden attribute.
-
-The default functions call the function associated with 
address@hidden to format the navigation panel for the 
-page header. Thus you can control parts of the formatting by
-redefining the function reference.
-
address@hidden {Function Reference} print_head_navigation $filehandle \@@buttons
address@hidden is the opened filehandle the function should write to.
address@hidden@@buttons} is an array reference which should hold the 
specification of 
-the buttons for the navigation panel. 
address@hidden deffn
-
-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 @variable{$print_page_head} is called for all the pages, and after that,
-the function associated with @variable{$print_chapter_header} is called
-if the document is split at chapters, or the function associated with
address@hidden is called if the document is split at sections.
-
address@hidden {Function Reference} print_page_head $filehandle
address@hidden is the opened filehandle the function should write to.
-This function should print the page head, including the @code{<body>}
-element.
address@hidden deffn
-
address@hidden {Function Reference} print_chapter_header $filehandle
address@hidden is the opened filehandle the function should write to.
-This function is called if the document is split at chapters, after 
address@hidden
address@hidden deffn
-
address@hidden {Function Reference} print_section_header $filehandle
address@hidden is the opened filehandle the function should write to.
-This function is called if the document is split at sections, after 
address@hidden
address@hidden deffn
-
address@hidden --------------------------------------------------------
address@hidden Customizing section
address@hidden Customizing the sections
-
-The functions associated with the following function references are used for 
-the formatting of sections:
-
address@hidden @deftypefn {Function Reference} $element_header 
print_element_header $first_in_page $previous_is_top
address@hidden @var{$first_in_page} is true if this section is the first 
section in the page.
address@hidden @var{$previous_is_top} is true if this section is the section 
following the 
address@hidden Top section.
address@hidden This function should return @var{$element_header}, the current 
section header.
address@hidden @end deftypefn
-
address@hidden {Function Reference} print_section $filehandle $first_in_page 
$previous_is_top
address@hidden is the opened filehandle the function should write to.
address@hidden is true if this section is the first section in the page.
address@hidden is true if this section is the section following the 
-Top section.
-This function should print the current section contents.
address@hidden deffn
-
address@hidden {Function Reference} end_section $filehandle 
$last_element_or_before_top
address@hidden is the opened filehandle the function should write to.
address@hidden is true if this section precedes the top 
-element or is the last one in page, or before the special elements.
address@hidden deffn
-
address@hidden --------------------------------------------------------
address@hidden Customizing footer
address@hidden Customizing the page footer
-
-It is possible to add text just before the @code{</body>} 
-element with the variable @variable{$PRE_BODY_CLOSE}. Nothing is added
-by default.
-
address@hidden
-The footer text may be influenced by @variable{$ADDRESS} which should hold
-information about who created the document and how.
-If you want to define that variable
-dynamically, you could redefine the following function reference:
-
address@hidden {Function Reference} $address_text address $date
-This function should return the address. @var{$date} is the date of the 
-day.
address@hidden deftypefn
address@hidden ignore
-
address@hidden A user name and  a date are collected to be output in the footer.
address@hidden You can change them by defining @variable{$USER} and 
@variable{$DATE}
address@hidden in the initialization file.
-
-A date is collected to be output in the footer. You can change it by 
-defining @variable{today} in the initialization file.
-
-The default functions call the function associated with 
address@hidden to format the navigation panel for the 
-page footer. Thus you can control parts of the formatting by
-redefining the function reference.
-
address@hidden {Function Reference} print_foot_navigation $filehandle \@@buttons
address@hidden is the opened filehandle the function should write to.
address@hidden@@buttons} is an array reference which should hold the 
specification of 
-the buttons for the navigation panel. 
address@hidden deffn
-
-If you want even more control, you can have more control over the page footer 
-formatting by redefining three function references.
-The function associated with @variable{$print_chapter_footer} is called
-if the document is split at chapters, or the function associated with
address@hidden is called if the document is split at sections.
- After that the function associated
-with @variable{$print_page_foot} is called.
-
address@hidden {Function Reference} print_page_foot $filehandle
address@hidden is the opened filehandle the function should write to.
-This function should print the page foot, including the @code{</body>}
-element.
address@hidden deffn
-
address@hidden {Function Reference} print_chapter_footer $filehandle
address@hidden is the opened filehandle the function should write to.
-This function is called if the document is split at chapters, before 
address@hidden
address@hidden deffn
-
address@hidden {Function Reference} print_section_footer $filehandle
address@hidden is the opened filehandle the function should write to.
-This function is called if the document is split at sections, before
address@hidden
address@hidden deffn
-
-
address@hidden --------------------------------------------------------
address@hidden Special pages
address@hidden Special pages formatting
-
-For the special elements, two things must be formatted: the content
-and the page layout
-
address@hidden
-* Special pages content::
-* Special pages layout::
address@hidden menu
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Special pages content
address@hidden Customizing the content of the special pages
-
-The label for the special elements, except for the Top element
-is formatted according to the function reference 
@variable{$misc_element_label}:
-
address@hidden {Function Reference} $misc_element_label misc_element_label 
$identifier $page_name
address@hidden is the identifier associated with the special element.
address@hidden is the special element name. It should return a label that
-can be used for references to the special element.
address@hidden deftypefn
-
address@hidden
-* Top element text::
-* Contents and Overview text::
-* Footnotes text::
-* About text::
-* Title page::
address@hidden menu
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Top element text
address@hidden 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:
-
address@hidden {Function Reference} print_Top_header $filehandle $begin_page
address@hidden is the opened filehandle the function should write to.
address@hidden 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.
address@hidden deffn
-
address@hidden {Function Reference} print_Top $filehandle $has_top_heading
address@hidden is the opened filehandle the function should write to.
address@hidden is true if there is a @code{@@heading} command or
address@hidden@@titlefont} command appearing in the Top element text.
-This function should be used to format the Top element text and navigation
-panel.
address@hidden deffn
-
address@hidden {Function Reference} print_Top_footer $filehandle $end_page
address@hidden is the opened filehandle the function should write to.
address@hidden is true if the element is the last in a page.
-This function should end the Top element. 
address@hidden deffn
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Contents and Overview text
address@hidden Table of contents and Short table of contents
-
-Two possibilities exist for the formatting of table of contents (and 
-short table of contents). In the default case, the table of contents 
-are in separate elements, at the end of the document if the document 
-is unsplit or in separate files. This is consistent with @command{makeinfo}
-where menus are used for navigation. Another mode may be selected by
-setting @variable{$INLINE_CONTENTS}. In that case the table of contents
-are not output as separate elements but 
-are instead output where the corresponding @@-command, 
-for example @code{@@contents},
-is set. This behaviour is more consistent with @command{texi2dvi}. 
-If @code{@@setcontentsaftertitlepage} appears in the document,
-and even if @code{$INLINE_CONTENTS} is set, the table of contents are 
-merged in the title (which isn't output in the default case, see 
address@hidden page}).
-
-Several variables may be used to control the formatting of table of contents 
-and short table of contents:
-
address@hidden @code
address@hidden $CONTENTS
-If the variable is true a table of contents is done even if there is no
address@hidden@@contents} command. 
-If it is defined and false, no table of contents 
-is done even if there is a @code{@@contents} command.
address@hidden $SHORTCONTENTS
-If the variable is true a short table of contents is done even if there is no
address@hidden@@summarycontents} command.
-If it is defined and false, no short table of contents 
-is done even if there is a @code{@@summarycontents} command.
address@hidden $BEFORE_OVERVIEW
-The variable value is inserted before the short table of contents text.
address@hidden $AFTER_OVERVIEW
-The variable value is inserted after the short table of contents text.
address@hidden $BEFORE_TOC_LINES
-The variable value is inserted before the table of contents text.
address@hidden $AFTER_TOC_LINES
-The variable value is inserted after the table of contents text.
address@hidden $NO_BULLET_LIST_STYLE
-This should contain a css style used for the list style when there
-is no bullet.
address@hidden $NO_BULLET_LIST_CLASS
-This should contain the class assocciated with the $NO_BULLET_LIST_STYLE 
-css style.
address@hidden $NO_BULLET_LIST_ATTRIBUTE
-This should contain an attribute text used for the list element when there
-is no bullet. For example it is used in the tables of if they are 
-formatted with a list.
address@hidden vtable
-
-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:
-
address@hidden {Function Reference} toc_body \@@elements 
address@hidden@@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:
-
address@hidden @code
address@hidden top
-true if the element is the top element,
address@hidden index_page
-true if the element is an index page added because of index splitting,
address@hidden 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...
address@hidden tocid
-label used for reference linking to the element in table of
-contents,
address@hidden file 
-the file containing the element, usefull to do href to that file
-in case the document is split,
address@hidden text
-text of the element, with section number,
address@hidden name
-text of the element, without section number.
address@hidden table
-
-This function doesn't return anything but should fill the array corresponding
-with the 
address@hidden::TOC_LINES} and
address@hidden::OVERVIEW} references with the table of contents and short 
-table of contents.
-
address@hidden deffn
-
-Another function reference is used to add a heading and a reference, to
-be used with @code{$INLINE_CONTENTS} or merged in the title. Its output
-is not used when the table of contents are separate elements.
-
address@hidden {Function Reference} \@@inline_contents_lines inline_contents 
$filehandle $command $element
-This function reference returns a reference on an array holding 
-the lines containing the contents, heading and reference.
address@hidden is a reference on the currently opened file if
-the function is called because a @code{@@contents} or
address@hidden@@shortcontents} command was encountered, it is undef otherwise.
address@hidden is either @samp{contents} or  @samp{shortcontents}.
address@hidden is a hash reference containing informations about the
-table of contents context. Relevant keys are:
address@hidden @code
address@hidden target
-The identifier associated with the table of contents, used for example
-to do references to the table of contents using href in @acronym{HTML}.
address@hidden id
-The identifier associated with the element, used to do labels. In 
-general the same than the @code{target}, but not necessarily.
address@hidden file
-The file name containing the table of contents.
address@hidden table
-
address@hidden deftypefn
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Footnotes text
address@hidden Formatting of footnotes text
-
-The footnotes text is allready formatting when @code{@@footnote} commands
-are expanded. @xref{Footnotes}.
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden About text
address@hidden Formatting of about text
-
-The default about element contains an explaination of the buttons used
-in the document (@code{@@SECTION_BUTTONS}, @ref{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:
-
address@hidden @code
address@hidden $PRE_ABOUT 
address@hidden $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.
address@hidden %BUTTONS_GOTO
-
-The keys of this hash are element labels (@pxref{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 @code{init_out} function reference
-(@pxref{Output initialization}).
-
-
address@hidden %BUTTONS_EXAMPLE
-
-The keys of this hash are  element labels (@pxref{Element labels}). The value
-is the text associated with the element label in the about example, 
-typically a section number.
-
address@hidden table
-
-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:
-
address@hidden {Function Reference} $about_text print_about
-This function should return the about text.
address@hidden deftypefn
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Title page
address@hidden Formatting of title page
-
-The title page is first formatted using the text appearing in 
-the @code{@@titlepage} section, and put in @variable{$Texi2HTML::TITLEPAGE}.
-More formatting can be done using the following
-function reference:
-
address@hidden {Function Reference} titlepage 
-This function should complete @code{$Texi2HTML::TITLEPAGE}.
address@hidden deffn
-
-In the default case, in this function the title is output if 
-there is no titlepage, the table of contents and short
-table of contents are also added if they are to be output and 
address@hidden@@setcontentsaftertitlepage}
-or @code{@@setshortcontentsaftertitlepage} appear in the document
-(@pxref{Contents and Overview text}).
-
-In the default case the resulting title page output is not used in 
-the document, except if the top node is not associated with any 
-content.
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Special pages layout
address@hidden 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:
-
address@hidden @code
address@hidden print_Top
address@hidden print_Top_header
address@hidden print_Top_footer
-Formatting of top element page or section. It is also used for the formatting
-of the top element text (@pxref{Top element text}).
address@hidden print_Toc
-Formatting of table of contents page or section
address@hidden print_Overview
-Formatting of short table of contents page or section
address@hidden print_About
-Formatting of about (help) page or section
address@hidden print_Footnotes
-Formatting of footnotes section or page in case footnotes are on a 
-separated page or the document isn't split.
address@hidden ftable
-
-In the default case, @variable{$print_Top} calls @variable{$print_Top_header} 
for
-the header and @variable{$print_Top_footer} for the footer of top element.
-All the other function call @variable{$print_misc} which in turn calls
address@hidden for the headers and  @variable{$print_misc_footer} 
-for the footers.
-
address@hidden --------------------------------------------------------
address@hidden File and target names
address@hidden Customizing the file and target names
-
address@hidden File names
-
-It is possible to specify the file names with more control than with the
-command line options (@pxref{Output files}). 
-First the extension may be overrided by the variable @variable{$EXTENSION}
-value. The variable should be @code{undef} if no extension is
-to be added.
-Two function references enable 
-further customization. One is usefull in case @variable{$NODE_FILES} is true
-and it is used to customize the node file name. 
-
address@hidden {Function Reference} $node_file node_file_name \%node
address@hidden is a hash reference with the following interesting keys (there
-are much more keys):
address@hidden @code
address@hidden texi
-The texinfo node name.
address@hidden with_section
-True if associated with a section.
address@hidden table
-The result is the node file name @var{$node_file}.
address@hidden deftypefn
-
-The other is used to
-customize the file names associated with each element, and the 
-name of the file associated with the special elements.
address@hidden {Function Reference} $file element_file_name \%element $type 
$docu_name
address@hidden is undefined for the special elements (about, overview, 
-table of contents, footnotes).
-Otherwise it is a hash reference with the following interesting keys (there
-are much more keys):
address@hidden @code
address@hidden texi
-The texinfo element name.
address@hidden number
-The number associated with a section.
address@hidden doc_nr
-A number incremented whenever a new file should begin, based on how the 
-document is split (@pxref{Splitting output}).
address@hidden text
-The element text.
address@hidden name
-The element text without section number.
address@hidden table
address@hidden is empty for normal elements. 
-For the top element it is @samp{top}, for the table of contents it 
-is @samp{toc}, for the overview it is @samp{stoc}, for the
-footnotes it is @samp{foot} and for about is @samp{about}. If 
-frames are used (@pxref{Page layout options}), the function reference
-is also called for @samp{frame}, the frame file name, and 
address@hidden the table of content frame file name.
address@hidden is the basename of the texinfo manual.
-The result is the element or special element file name.
address@hidden deftypefn
-
address@hidden target names
-
-Similarly target and id may be set. The @dfn{id} is placed where the 
-item is located, the @dfn{target} is used to construct references to
-that item. In general they should be equal, but not always, for example
-in the default case, the target for a section is the node id.
-The following function reference, is
-for target items (nodes, anchors, floats):
-
address@hidden {Function Reference} {($target,$id)} node_target_name \%node, 
$default_target, $default_id
address@hidden is the same as in the @code{node_file_name} function reference
-above.
address@hidden is the target already set (it is also 
-in @code{$node->@{'target'@}}), and @var{$default_id} is similarly
-the id already set.
address@hidden deftypefn
-
-For element associated with files (which may be nodes), the function 
-reference is:
-
address@hidden {Function Reference} {($target,$id)} element_target_name 
\%element, $default_target, $default_id
-the @var{\%element} is the same than in @code{element_file_name}, and
address@hidden and @var{$default_id} are the target and id already set.
address@hidden deftypefn
-
-Placed items 
-(floats, footnotes, index entries, anchors, contents,
-shortcontents and headings)
-file and target may also be set. In the default case, they should 
-be rightly set, so be careful when changing them. The following 
-function reference can be used:
-
address@hidden {Function Reference} {($target, $id, $file)} 
placed_target_file_name \%placed_item, \%element, $default_target, $default_id, 
$default_file, $context
address@hidden is a hash reference describing the placed item,
-in the same vein than above.
-the @var{\%element} is the same than in @code{element_file_name}, 
-corresponding with the element containing the placed item.
address@hidden, @var{default_id} and
address@hidden are the file, id and target already set.
address@hidden describes the context, it is empty in the normal cases, 
-and can also be set to @samp{footnotes} if in footnotes, or to
address@hidden if the placed item is out of any element
-(typically in @code{@@titlepage}, @code{@@copying}).
address@hidden deftypefn
-
-For special elements, the @variable{%misc_pages_targets} hash is 
-used to set the target and id. The possibilities for the keys 
-are @samp{Overview},
address@hidden, @samp{Footnotes} and @samp{About}.
-
address@hidden --------------------------------------------------------
address@hidden External index files
address@hidden Generation of external files for index entries
-
-Within the document, @code{@@printindex} commands are expanded as explained
-in @ref{Index list}. In case you want to do something special with index 
-entries, outside of the document, you should first set the variable
address@hidden 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 finalization.
-
address@hidden {Function Reference} index_summary_file_begin $index_name 
$is_printed $manual_name
address@hidden is the two letters name for the index. 
-This function
-is called for each index 
-appearing in the document, before 
address@hidden
address@hidden is true if there is a @code{@@printindex} for that index.
address@hidden is the manual basename.
address@hidden deffn
-
address@hidden {Function Reference} index_summary_file_entry $index_name 
$entry_text $entry_reference $formatted_entry $texi_entry 
$entry_element_reference  $entry_element_header $is_printed $manual_name
-This function is called for each entry of an index. @var{index_name} is the
-name of the index. @var{$entry_text} is the entry in plain text,
address@hidden is the index entry formatted, @var{$texi_entry} is the
-entry with texinfo commands. @var{$entry_reference} is the reference placed 
-at the index entry place, in the form @samp{file#id}.
address@hidden is the formatted header of the element containing 
-the index entry. @var{entry_element_header} is the reference to the
-beginning of the element containing the index entry, in the form
address@hidden 
address@hidden is true if there is a @code{@@printindex} for that index.
address@hidden is the manual basename.
address@hidden deffn
-
address@hidden {Function Reference} index_summary_file_end $index_name 
$is_printed $manual_name
address@hidden is the two letters name for the index. This function
-is called for each index appearing in the document, after
address@hidden
address@hidden is true if there is a @code{@@printindex} for that index.
address@hidden is the manual basename.
address@hidden deffn
-
address@hidden ========================================================
address@hidden Customizing HTML
address@hidden Customizing @acronym{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, @ref{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.
-
address@hidden
-* Three contexts::               there are three different contexts for command
-                                 expansion: normal text, preformatted text and
-                                 strings.
-* Three passes::                 @command{texi2html} process texinfo in 3 
passes.
-                                 In almost every cases, you shouldn't care.
-* Commands without argument:: 
-* Punctuation commands::         @code{@@:}
-* Style and accent commands::    
-* Anchors images and spaces::    Formatting of @code{@@anchor}, 
@code{@@image}, @code{@@sp}, @code{@@acronym}, @code{@@abbr}
-* Text::                         Some characters are processed specially
-* Line commands::                Formatting of @@-commands taking a line as 
-                                 argument
-* Strings::                      @command{texi2html} write some strings in the 
output
-                                 different for each languages
address@hidden * Skipped commands::           
-* References::
-* Alignement commands::           @code{@@center}, @code{@@address@hidden
-* Paragraph and preformatted region::
-* Complex formats::              @code{@@example}, @code{@@address@hidden
-* Lists tables::
-* Definitions::
-* Headings::
-* Special regions::              @code{@@verbatim}, @code{@@cartouche}, 
@code{@@quotation}
-* Menus::                    
-* Indices::
-* Floats and lists of floats::   @code{@@float} and @code{@@listoffloats}
-* Footnotes::
-* Customizing format opening::   How to run some code when a format is opened
-                                 (like @code{@@table}, @code{@@flushleft}, 
@code{@@address@hidden
-* Bypassing normal formatting:: 
-* Handling special regions::     Keep @code{@@titlepage}, 
@code{@@documentdescription} or @code{@@copying}
-                                 and format @code{@@insertcopying}
-* Other and unknown commands::   You can handle specifically other commands
-
address@hidden menu
-
address@hidden --------------------------------------------------------
address@hidden Three contexts
address@hidden 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 @dfn{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 @code{@@display} or @code{@@example} regions, and in 
-menu comments (@pxref{Menus}). The preformatted regions are usually
-rendered in @code{<pre>} elements in @acronym{HTML}.
-The string context occurs when rendering strings without formatting elements,
-in comments or titles for example.
-
address@hidden --------------------------------------------------------
address@hidden Three passes
address@hidden Three passes: macro expansion, document structure and output
-
-There are three passes in @command{texi2html}. During 
-pass 0, the @code{@@macro} are 
-expanded, in pass 1 the document structure is gathered and in pass 2
-the result is output. In most cases you shouldn't care about
-it, as almost all of the output customization is done in pass 2.
-Only if you want to do something before the pass 2 should you care.
-
address@hidden --------------------------------------------------------
address@hidden Commands without argument
address@hidden Customizing the formatting of commands without argument
-
-This includes the commands whose name is a nonletter character like 
@code{@@@@}, 
-the commands with lettered characters and braces
-but whose braces should be empty, like @code{@@address@hidden@}}, or some 
commands
-associated with accentted letters like @code{@@address@hidden@}}. If there 
happens to
-be something within the braces, it is put after the command, thus
address@hidden
-@@address@hidden@}
address@hidden example
-leads to the same than
address@hidden
-@@address@hidden@} something
address@hidden example
-
-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:
address@hidden {one nonlettered character} {normal text} {preformatted text} 
{string}
address@hidden command type @tab normal text @tab preformatted text @tab string
address@hidden one nonlettered character @tab @variable{%simple_map} @tab 
@variable{%simple_map_pre} @tab @variable{%simple_map_texi}
address@hidden nothing in braces @tab @variable{%things_map} @tab 
@variable{%pre_map} @tab @variable{%texi_map}
address@hidden multitable
-
-To change the @acronym{HTML} resulting from these constructs, just change the
-value. For example, if you want @code{&shy;} to be outputted for @code{@@-}
-in normal and preformatted context, write in your init file:
-
address@hidden
address@hidden'-'@} = '&shy;';
address@hidden'-'@} = '&shy;';
address@hidden example
-
-
address@hidden --------------------------------------------------------
address@hidden Punctuation commands
address@hidden Punctuation commands
-
-The formatting of a punctuation character followed by @code{@:} is determined
-by the hash @variable{%colon_command_punctuation_characters}. If a @code{@:}
-command is preceded by a character in th is hash, it is replaced by the 
-associated value. In the default case, the associated value is also the 
-character, so this leave the punctuation character unmodified.
-
-The following function reference may be redefined to handle characters
-that are in @code{%colon_command_punctuation_characters}:
-
address@hidden {Function Reference} $punctuation $colon_command $character
-The @var{$character} is a character appearing in 
address@hidden and preceding a @code{@:} 
-command. In the default case the associated value in
address@hidden is returned.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Style and accent commands
address@hidden Customizing accent, style and other simple commands
-
-The formatting of the @acronym{HTML} produced by style and indicatric 
-commands (@code{@@tt}, @code{@@code}, 
address@hidden@@email}, @code{@@titlefont}), the accentuation related
-commands taking argument (@code{@@'}, @code{@@udotaccent}, @code{@@dotless})
-and miscalleneous commands (@code{@@email}, @code{@@verb}, @code{@@w}, 
address@hidden@@uref}, @code{@@math}, @code{@@asis}) is controlled by two hash 
in the
-default case, 
address@hidden for normal context, @variable{%style_map_pre} for
-preformatted context and @variable{%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:
-
address@hidden
address@hidden 
-The nonlettered accent commands which following character is considered
-to be the argument (like in @code{@@`a}) should be keys of the
-hash @variable{%accent_map} hash, even if no value is associated.
address@hidden
address@hidden@@math} is handled differently if address@hidden is used.
address@hidden itemize
-
address@hidden
-* Hash reference interface::
address@hidden * String interface::
-* Define your own interface::
address@hidden menu
-
address@hidden Hash reference interface
address@hidden 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 
-
address@hidden
address@hidden'command'@} = @{ 'args' => ['code'], 'inline_attribute' => 
'code'@};
address@hidden example
-
-the arguments for @code{@@command} are interpreted as specified by 
-the values associated with the @samp{args} key while the inline_attribute 
-associated 
-with that command is @samp{code}.
-
-The following keys in the hashes associated with each command have the
-following meaning:
-
address@hidden @samp
address@hidden args
address@hidden hash args}
-The value associated is a reference on an array. Each element of the array
-defines how the arguments (separated by @samp{,} in the texinfo code) for 
-the @@-command should be 
-formatted. The possibilities are 
address@hidden @code
address@hidden normal
-for normal text,
address@hidden code
-for text with @samp{---}, @samp{--}, @samp{''} and  @samp{``} kept as is,
address@hidden keep
-if the texinfo should be kept as is, without interpretation of the @@-commands.
address@hidden table
-
-For example, we have
address@hidden 
address@hidden'email'@}->@{'args'@} = ['code', 'normal'];
address@hidden example
-
-because @samp{---}, @samp{--}, @samp{''} and  @samp{``} should be kept as is in
-the first argument of @code{@@email}.
-
-The default is @samp{['normal']}.
-
address@hidden attribute
-
-If the associated value is a word, it is considered to be an @acronym{XML} 
-element name, and the argument is enclosed between the element opening
-and the element closing. For example, if the value is @code{elem}, the
-resulting @acronym{HTML} is @code{<elem>@var{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 @code{elem class="elem"} leads to 
address@hidden<elem class="elem">@var{arg}</elem>}.
-This works only if there is only one argument. 
-
address@hidden inline_attribute
-Like an attribute, except that it is closed at each paragraph end
-and reopened at each beginning of paragraph. This is in fact more
-used than @samp{attribute} since it allows to have well formed
address@hidden/@acronym{XML}.
-
address@hidden inline_begin
-
-The associated value is added in front of the text 
-and each time a paragraph is restarted while
-within the command.
-
address@hidden inline_end
-
-The associated value is added after the text and each time 
-a paragraph is ended while within the command.
-
address@hidden begin
-
-The associated value is added in front of the text.
-
address@hidden begin
-
-The associated value is added after the text. 
-
address@hidden quotes
-
-If the corresponding value is true, the result is 
-enclosed in quotes @variable{$OPEN_QUOTE_SYMBOL} and 
address@hidden, with defaults 
address@hidden and @samp{'}. 
-
address@hidden function 
-
-The corresponding value should be a function reference. The corresponding
-function is called with the following arguments:
-
address@hidden @code
address@hidden $command
-The @@-command name
address@hidden $args
-A reference on an array containing the arguments of the @@-command.
address@hidden $command_stack
-A reference on an array containing the name of the @@-commands containing 
-the @@-command being formatted, latest on top.
address@hidden $state
-A reference on a hash containing a lot of informations about the context
-of the @@-command.
address@hidden $line_nr
-An opaque structure containing the information about the line number of the 
-@@-command. It can be used to call @code{main::line_error} or
address@hidden::line_warn} with first argument a message, and second argument 
address@hidden 
address@hidden table
address@hidden table
-
address@hidden removed from documentation on Oct  2009
address@hidden 
address@hidden String interface
address@hidden 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 @samp{"}, the result is 
-enclosed in quotes @variable{$OPEN_QUOTE_SYMBOL} and 
address@hidden, with defaults 
address@hidden and @samp{'}. 
-
-The command argument is allready formatted as @acronym{HTML}.
-The remaining of the value text
-(or the value text if there were no @samp{"}) is interpreted as follow:
-
address@hidden @bullet
address@hidden
-If the text is empty the argument of the command is left as is. 
address@hidden
-If the text is a @samp{&} followed by a name,
-like @samp{&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 @code{@@foo} is @code{&my_func}
-and we have:
-
address@hidden
-sub my_func
address@hidden
-    my @@args = split /,\s*/ $_[1];
-    return "$_[0]: $args[0]" if ($args[1] = 1);
-    return "$args[0]";
address@hidden
address@hidden example
-
-The result of 
address@hidden 
-@@address@hidden, address@hidden
-@@address@hidden, address@hidden
address@hidden example 
-will be
address@hidden
-foo: truc
-truc
address@hidden example
address@hidden
-If the text is a word, it is considered to be an @acronym{HTML} element
-name, and the argument is enclosed between the element opening
-and the element closing. For example, if the value is @code{elem}, the
-resulting @acronym{HTML} is @code{<elem>@var{arg}</elem>}.
-Similarly @code{"quoted} leads to
address@hidden<quoted>@var{arg}</quoted>'}.
address@hidden
-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 @code{elem class="elem"} leads to 
address@hidden<elem class="elem">@var{arg}</elem>}.
address@hidden itemize
address@hidden ignore
-
address@hidden Define your own interface
address@hidden 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:
-
address@hidden {Function Reference} $resulting_text style $style $command $text 
$args $no_close $no_open $line_nr $state $command_stack
address@hidden is the @@-command, @var{$style} is the value associated with 
-the @var{$command} in the @code{%style_map}, @code{%style_map_pre} 
-or @code{%style_map_texi} hashes.
-The @var{$text} is the text appearing within the @@-command braces.
address@hidden 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
address@hidden key as described in @ref{Reference hash args}).
-If @var{$text} is split in paragraphs each paragraph is passed through
-the function, and @var{$no_close} is true if it is not the last paragraph,
-while @var{$no_open} is true if it is not the first paragraph.
address@hidden
-is an opaque structure containing the information about the line number of the 
-@@-command. It can be used to call @code{main::echo_error} or
address@hidden::echo_warning} with first argument a message, and second 
argument 
address@hidden
address@hidden
-is a reference on a hash containing a lot of informations about the context
-of the @@-command.
address@hidden
-is a reference on an array containing the name of the @@-commands containing 
-the @@-command being formatted.
-
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Anchors images and spaces
address@hidden 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 @variable{$anchor_label}.
-
address@hidden {Function Reference} $anchor_label anchor_label $identifier 
$anchor
address@hidden is the anchor identifier, @var{$anchor}is the @code{@@anchor}
-argument.
address@hidden deftypefn
-
-In the default case, it uses a function reference,  @variable{$anchor}
- that can do
-a reference target or link. It is especially relevant for @acronym{HTML}
-but can be used in other formats, it is a rather common element
-of different formats.
address@hidden {Function Reference} $anchor anchor $identifier $href $text 
$attributes
-If @var{$identifier} is not empty, this value should be used to create
-a target for links (typically associated with a name or id 
-attribute in @acronym{HTML}).
-The @var{$href} argument specifies a hpertextual reference which should be
-used to link to a target.
-In case both @var{$identifier} and  @var{$href} are given the text produced
-should be both a target for @var{$identifier} and a link to @var{$href}.
address@hidden is the text to be displayed. 
address@hidden are additional attributes.
-It should be reasonable to assume that the attributes are for a @code{<a>}
address@hidden element. 
address@hidden deftypefn
-
-To customize the images produced by @code{@@image}, the first possibility 
-is to modify the @variable{@@IMAGE_EXTENSIONS}, which holds a list of 
-filename extensions for image files. It is also possible to redefine
-the function used to determine the filename of the image:
-
address@hidden Warning
-This description is wrong. The API is still moving, so don't count on it.
address@hidden quotation
-
address@hidden {Function Reference} $filename image_files $basename $extension
address@hidden is the first @code{@@image} argument, @var{$extension}
-is the corresponding @code{@@image} argument. This function reference 
-should return an array of image filenames without path that the main 
-program should look for.
address@hidden deftypefn
-
-Last, it is possible to control 
-the formatting of @code{@@image} by redefining:
address@hidden {Function Reference} $image image $file_path $basename 
$preformatted $file_name $alt_text $width $height $raw_alt $extension 
$working_dir $file_relative_path
address@hidden is the image file name with the path from the output directory
-to the source manual directory prepended, @var{$basename}  
-the file name without extension (the first @code{@@image} argument). 
address@hidden is true if the image 
-appears in preformatted text. @var{$file_name} is the file name without path 
-but with extension. @var{$alt_text} is the alternate text, it may be 
-undefined. @var{$width} and @var{$height} are the corresponding arguments 
-of @code{@@image}, @var{$raw_alt} is the unmodified alt argument of 
address@hidden@@image} and @var{$extension} holds the corresponding 
address@hidden@@image} argument.
address@hidden is the path to working dir relative to the output
-directory. @var{$file_relative_path} is the file name relative to the 
address@hidden
address@hidden deftypefn
-
-The formatting of @code{@@sp} is controlled by:
address@hidden {Function Reference} $sp sp $number $preformatted
address@hidden is the numeric argument of @code{@@sp}.
address@hidden is true if the @code{@@sp} appears in preformatted text.
address@hidden deftypefn
-
-The formatting of @code{@@acronym} and @code{@@abbr} is controlled by:
address@hidden {Function Reference} $acronym acronym_like $acronym_texi 
$acronym_text $with_explanation \@@explanation_lines $explanation_text 
$explanation_simply_formatted
address@hidden is the acronym argument with texinfo @@-commands, 
address@hidden is formatted. 
-
-The other arguments are related with
-the explanation, the second arg of the acronym. @var{$with_explanation} is 
-true if the second argument of the acronym command is present. If an
-explanation exists, coming from previous @code{@@acronym} or as an arg of 
-this command, the other args are defined: @var{\@@explanation_lines} is a 
-reference on an array containing the simply fomatted explanation lines, 
address@hidden is the explanation text formatted,
address@hidden is the explanation with a light 
-formatting, unabling in @acronym{HTML} (or @acronym{XML}) the explanation 
-to be in an attribute.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Text
address@hidden Processing special characters in text
-
-Some characters are processed especially in text: @samp{---}, @samp{--},
address@hidden and @samp{''}. This is done only if in normal text and not in 
-some commands (@code{@@code}, @code{@@address@hidden). A function reference
-is called to process the text and should take care of those constructs.
-It may also be used to transform the text, for example set it in upper
-case if it is in @code{@@sc}. This function should also take care
-of protecting special characters
-
-
address@hidden {Function Reference} $processed_text normal_text $text 
$in_raw_text $in_preformatted $in_code $in_math $in_simple $command_stack 
-The function processes @var{$text} and returns @var{$processed_text}. 
-The other arguments give some information about the context of the text.
address@hidden is true if the text appears in special place where
-there is no formatting, typically in comments. @var{$in_preformatted}
-is true if in a preformatted environemnt, and @var{$in_code} is true
-if in a special command like @code{@@code}, @code{@@env} where
address@hidden, @samp{--}, @samp{``} and @samp{''} should not be
-touched. @var{$in_math} is true if in @code{@@math}.
address@hidden is true if in string context.
- @var{$command_stack} is an array containing the name of the 
-formatting @@-command that enclose the text.  
-
-In the default case the @samp{---}, @samp{--}, @samp{``} and @samp{''}
-constructs are expanded if needed and the text is upper-cased if in 
address@hidden@@sc}. Special characters (@samp{&}, @samp{"},
address@hidden<} and @samp{>} in @acronym{HTML}) are protected if needed. 
address@hidden deftypefn
-
-Some characters are special, for example we have  @samp{&}, @samp{"}, 
address@hidden<} and @samp{>} in @acronym{HTML}. In some cases some
-pieces of text don't go through the above function, but still 
-needs to be protected to appear in text.
-This is done by the function associated with the function reference
-
address@hidden {Function Reference} $protected_text protect_text $text
-The function processes the unprotected text @var{$text} and returns
-the resulting protected text @var{$protected_text}.
address@hidden deftypefn
-
-Empty lines are processed by the following function reference, which could
-be usefull if empty lines are to be removed for example
-
address@hidden {Function Reference} $resulting_text empty_line $empty_line 
$state
-This function processes an @var{$empty_line} and returns the resulting
-text @var{$resulting_text}. @var{$state} is a structure that holds informations
-about the state of the parsing.
-Empty lines are left as is by default except right after a definition 
-@@-command.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Line commands
address@hidden Customizing of line command output
-
-@@-commands that appear on a line and take the line as argument may
-be formatted especially, if they are in the @variable{%line_command_map}.
-In that case the following function reference is used to format the
-@@-command:
-
address@hidden {Function Reference} $resulting_text line_command $command 
$arg_text $arg_texi $state
address@hidden the @@-command. @var{$arg_text} is the @@-command formatted 
-argument, @var{$arg_texi} is the @@-command argument without any formatting.
address@hidden is a structure that holds informations
-about the state of the parsing.
-The resulting text is @var{$resulting_text}. 
address@hidden deftypefn
-
-In the default case, @@-commands appearing in @code{@@titlepage}, 
address@hidden@@title}, @code{@@subtitle}, @code{@@author} are formatted
-by this function.
-
address@hidden --------------------------------------------------------
address@hidden Strings
address@hidden Customizing strings written by @command{texi2html}
-
address@hidden i18n
-
address@hidden 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 @longopt{document-language}, @variable{$DOCUMENTLANGUAGE} or 
address@hidden@@documentlanguage}). This is the basis for internationalization
-as it allows for strings translations.
-
-The Gettext framework is used for those strings. libintl-perl is used as 
-a gettext implementation, and more precisely the
-pure perl implementation is used, to be sure to have a consistent gettext-like
-implementation which is not the case if the system one is used. libintl-perl
-is shipped in texi2html and installed to be sure that it is available. It is
-also possible to use the system libintl (currently decided at build-time).
-
-The texi2html_document domain is used for those strings. These strings 
-are texinfo strings, which may have @@-commands, and the variable parts
-of the strings are denoted by @address@hidden@}} as is common practice for perl
-gettext. For more on internationalization, see @ref{Internationalization}.
-
address@hidden
-* Old style translations::
address@hidden menu
-
address@hidden Old style translations
address@hidden Old style translations
-
-A gettext-like framework appeared in version 5.0.
-For reference the previous handling of strings (up to 1.82) 
-is still documented here.
-With that system, the strings are found in 
-a hash reference, @variable{$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
-
address@hidden
-$LANGUAGES->@{'fr'@} = @{
-              ' Up ' => 'Plus haut',
address@hidden;
address@hidden example
-
-It means that whenever the string @samp{@ Up@ } is to be written
-and the language is @samp{fr}, @samp{Plus haut} is written. It is possible
-to customize the english strings by redefining the @samp{en} language hash.
-
-When a string contains a substring like @address@hidden @var{name} 
@address@hidden
-it means that the string will be expanded by @command{texi2html}. For
-example, if we have
-
address@hidden
-$LANGUAGES->@{'fr'@} = @{
-              'See @address@hidden' => 'Voir @address@hidden',
address@hidden;
address@hidden example
-
address@hidden@address@hidden will be expanded to an href for a node in a 
-file by @command{texi2html} in the string. 
-
-When a @code{@@documentlanguage} appears in the document and the language
-wasn't set on the command line, it may be convenient for the user to
-redefine some variables based on the new language. There is a function 
-reference that may be used for that, it is called each time  a 
address@hidden@@documentlanguage} is encountered:
-
address@hidden {Function Reference} $translate_names
-This function is called each time @code{@@documentlanguage} is encountered
-and the language wasn't set on the command line. It should be used
-to retranslate some strings based on the new language.
address@hidden deffn
-
-
address@hidden --------------------------------------------------------
address@hidden References
address@hidden References
address@hidden reference
-
address@hidden 
-* Reference to external manual::
-* Internal reference::
address@hidden menu
-
address@hidden Reference to external manual
address@hidden Reference to external manual
address@hidden 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. 
-
address@hidden {Function Reference} $href external_href $node $node_identifier 
$xml_node_identifier $manual_file_name
address@hidden is the node name, with @@-commands. @var{$node_identifer} is the
-node name mapped to an identifier acceptable as a file name. 
address@hidden is the
-node name mapped to an identifier acceptable as an @acronym{XML} identifier.
-Those identifiers are built as explained in @ref{HTML Xref,,,texinfo,GNU 
Texinfo},
-thus allowing for cross references to external manuals. @var{$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 
address@hidden  (@pxref{HTML Xref,,,texinfo,GNU Texinfo}).
address@hidden deftypefn
-
address@hidden {Function Reference} $text external_ref $command $section $book 
$file $href $cross_ref_name \@@args_texi \@@formatted_args $node
-This function formats a reference to an external texinfo manual.
-The @var{$command} is the ref command (@code{ref}, @code{xref} or 
address@hidden, in text, at sentence beginning or in parenthesis).
-The optionnal @var{$section} argument is the section in the book and 
- @var{book} is the book title.
address@hidden is manual file name. @var{$href} it an hypertextual
-reference to the distant manual constructed using the above function. 
address@hidden is an optionnal cross
-reference name appearing in the reference command. 
address@hidden@@args_texi} is a reference on an array containing the @@-command
-arguments, not formatted, with @var{\@@formatted_args} contains the formatted
-@@-command arguments. @var{$node} is the node name, formatted.
-This function returns
-the text corresponding with the external html manual reference.
-This function returns the full formatted text of the external reference.
address@hidden deftypefn
-
address@hidden Internal reference
address@hidden Reference to an internal node
-
-A function reference is available for internal references.
-
address@hidden {Function Reference} $text internal_ref $command $href 
$short_name $name $is_section \@@args_texi \@@formatted_args
-This function formats a reference to a node in the current manual.
-The @var{$command} is the ref command (@code{ref}, @code{xref} or 
address@hidden, in text, at sentence beginning or in parenthesis).
address@hidden it an hypertextual reference linking to the corresponding
-node or section. @var{$short_name} and @var{$name} hold the text for the 
-reference but @var{$short_name} can be the node name which is assumed to 
-be shorter than the section name.
address@hidden is a boolean true if the reference is a reference to a 
-section. 
address@hidden@@args_texi} is a reference on an array containing the @@-command
-arguments, not formatted, with @var{\@@formatted_args} contains the formatted
-@@-command arguments.
-This function returns the full formatted text of the internal 
-reference.
address@hidden deftypefn
-
-
address@hidden --------------------------------------------------------
address@hidden Alignement commands
address@hidden Commands used for centering and flushing of text
-
address@hidden centering
address@hidden flushing text
address@hidden text alignement
-
-When a command controlling the alignement of text is used (@code{@@center},
address@hidden@@flushleft} and @code{@@flushright}), the main program takes
-care of opening and closing paragraphs. The alignement commands are the
-key of the @variable{%paragraph_style} hash. 
-The value is used in the function doing the formatting of the paragraphs. 
address@hidden and preformatted region}.
-
-A function references allows for a customization of the formatting of the text 
-appearing in the command block.
-
address@hidden {Function Reference} $result paragraph_style_command $command 
$text
address@hidden is the command name, @var{$text} is the text appearing within
-the command. This function returns a formatted text.
-The default is to return the text unmodified.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Paragraph and preformatted region
address@hidden Formatting (or not) a paragraph and a preformatted region
-
-
address@hidden
-* Paragraph and preformatted formatting::
-* Avoiding paragraphs::
address@hidden menu
-
address@hidden Paragraph and preformatted formatting
address@hidden Paragraph and preformatted region formatting
-
address@hidden paragraph 
address@hidden preformatted region 
-
-The formatting of a paragraph region or a preformatted region, is controlled
-by function references:
-
address@hidden {Function Reference} $paragraph_text paragraph $text $alignement 
$index $formatting_command $formatting_command_formatted \$paragraph_number 
$format $item_number $enumerate_style $number $command_stack_at_end 
$command_stack_at_begin
-This function formats a paragraph. @var{$text} is the text of the paragraph,
address@hidden is the empty string when no alignement command has
-been seen, otherwise it is the current alignement command name.
address@hidden commands}.
address@hidden holds @samp{noindent} or @samp{indent} if the corresponding 
-@@-command appeared in the paragraph.
address@hidden and @var{$command_stack_at_begin} are arrays
-containing the opened @@-commands at end and at beginning of the paragraph,
-latest on top.
-
-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 (@code{@@address@hidden) 
-may have
-an associated formatting command.
address@hidden is this  formatting command
-(like @code{@@minus}).
address@hidden is the command formatted in html
-in case the formatting command is a leading command (like @code{@@minus})
-which should be leading the first paragraph.
address@hidden is a reference on the number of
-paragraphs in that format command. The corresponding variable should be 
-increased when a paragraph is added. @var{$format} is the format command. 
address@hidden and list items}.
-
-If the @var{$format} is an enumerate, @var{$item_number} is the number of 
-the item in the list, @var{$enumerate_style} is the argument of the enumerate,
address@hidden is the number or letter corresponding with this item. 
address@hidden deftypefn
-
address@hidden {Function Reference} $preformatted_text preformatted $text 
$style $region_name $formatting_command $formatting_command_formatted 
\$preformatted_number $format $item_number $enumerate_style $number 
$command_stack_at_end $command_stack_at_begin
-This function formats a preformatted region. @var{$text} is the text of the
-preformatted region, @var{$style} is the css style associated with that
-preformatted region (@pxref{css}). @var{$region_name} is the 
-name of the command opening        
-the preformatted region (@address@hidden, see @ref{Complex formats}) 
-or a identifier for the preformatted context (for example 
address@hidden, see @ref{Menus}).
-The alignment commands are not taken into account, as the spaces are
-preserved in preformatted regions, you should flush and center by hand.
address@hidden and @var{$command_stack_at_begin} are arrays
-containing the opened @@-commands at end and at beginning of the preformatted
-region, latest on top.
-
-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 (@code{@@address@hidden) 
-may have
-an associated formatting command.
address@hidden is this  formatting command
-(like @code{@@minus}).
address@hidden is the command formatted in html
-in case the formatting command is a leading command (like @code{@@minus})
-which should be leading the first preformatted region.
address@hidden 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. @var{$format} is the 
-format command. 
address@hidden and list items}.
-
-If the @var{$format} is an enumerate, @var{$item_number} is the number of 
-the item in the list, @var{$enumerate_style} is the argument of the enumerate,
address@hidden is the number or letter corresponding with this item. 
address@hidden deftypefn
-
address@hidden Avoiding paragraphs
address@hidden Avoiding paragraphs in formats
-
address@hidden Avoid paragraph opening
-
-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, @variable{%format_in_paragraph} with a true value. This only 
-makes sense for few commands since otherwise the nesting of formats and
-paragraphs could become wrong.
-
-If the value of @variable{%no_paragraph_commands} associated with a command is
-true, no paragraph is started by the command if outside of a paragraph
-(after an empty line, for example). If the value is set to 0, it will start
-a paragraph. If the value is not set, reasonable defaults are
-set.
-
-It is also possible to stop a paragraph when an @@-command happens by
-putting the @@-command in the @variable{%stop_paragraph_command} hash
-associated with a true value.
-
-
address@hidden --------------------------------------------------------
address@hidden Complex formats
address@hidden Formatting of complex formats (@code{@@example}, 
@code{@@address@hidden)
-
address@hidden complex format
-
-Here we see how a whole complex format is formatted. For the formatting
-of the text, see @ref{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 and 
-changing the hash values should be enough in most cases. This
-hash is called @variable{%complex_format_map}. It has a key for each
-of the complex format commands (@code{example}, @code{smallexample}, 
address@hidden, @code{smalllisp}, @code{display}, @code{smalldisplay}, 
address@hidden, @code{smallformat}).
-
-The associated value is a reference on a hash. The keys are:
-
address@hidden @code
address@hidden begin
-The @code{begin} should lead to the beginning of the
-formatted @acronym{HTML}.
address@hidden end
-The @code{end} should lead to the end of the 
-formatted @acronym{HTML}.
address@hidden class
-The @acronym{HTML} class. If not defined, the command name.
address@hidden pre_style
-The preformatted style. If not defined the corresponding @acronym{CSS} style
-is used.
address@hidden style
-If the associated value is @code{code}, the format is assumed to be in 
-code style, where 
-with @samp{---}, @samp{--}, @samp{''} and  @samp{``} kept as is.
-If the key is absent the format  inherits the code style
-and the font from the enclosing context.
address@hidden table 
-The enclosed text will be formatted as described in
address@hidden 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:
-
address@hidden {Function Reference} $complex_format_text complex_format 
$format_name $preformatted_text
-
address@hidden is the complex format name, @var{$preformatted_text} is the 
-text allready formatted as described in @ref{Paragraph and preformatted 
region}.
-This function returns the whole complex format.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Lists tables
address@hidden Customizing the formatting of lists and tables
-
-The formatting of lists and tables is done at two levels:
address@hidden
address@hidden 
-At the level of the whole region (table or list),
address@hidden
-At the level of the individual items, rows or cells of the list or table.
address@hidden itemize
-
address@hidden
-* Table and list items::
-* Whole table list::
address@hidden menu
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Table and list items
address@hidden Formatting individual table and list items
-
-In texinfo it is possible to give @code{@@itemize} or table command (hereafter
-called a @dfn{format command}) a @dfn{formatting command}. 
-For example @code{@@minus} is the formatting command here:
address@hidden
-@@table @@minus
address@hidden example
-
-The default is to apply the command to the text item, however it is possible
-to avoid it.
-The hash @variable{%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:
-
address@hidden
address@hidden'itemize'@} = @{ 'bullet' => '' @};
address@hidden example
-
-and we have the following @code{@@itemize}:
address@hidden
-@@itemize @@bullet
-@@item an item
-@@end itemize
address@hidden example
-
-then @code{@@bullet} will not be applied to @code{an item}.
-
-More control of the text before formatting of the line or the item is 
-achieved with the following function reference:
-
address@hidden {Function Reference} ($result_line, $open_command) 
format_list_item_texi $format $line $prepended $command $number
-The @var{$format} is the list or table @@-command, 
address@hidden is the item line, @var{$command} is the @dfn{format command},
address@hidden is set to the text folllowing the @dfn{format command}
-on the format argument line.
-The @var{$number} is the number of the item, as set in @code{@@enumerate}.
-The @var{$result_line} replaces the item argument.
address@hidden is an obsolete return code that can be set to 
-anything.
address@hidden deftypefn
-
address@hidden @emph
address@hidden lists
-The items of lists are formatted using the following function reference:
address@hidden {Function Reference} $list_item list_item $text $format $command 
$formatted_command $item_number $enumerate_style $number $prepended_texi 
$prepended_formatted
-This function formats the text between @code{@@item} commands. @var{$text} 
-is the text corresponding with the item. @var{$format} is the type of format,
address@hidden or @samp{enumerate}. @var{$command} is the formatting command
-given in argument to @code{@@itemize}, @var{$formatted_command} is this command
-formatted if it is a leading command, like @code{@@minus}.
-
-If the @var{$format} is an enumerate, @var{$item_number} is the number of 
-the item in the list, @var{$enumerate_style} is the argument of the enumerate,
address@hidden is the number or letter corresponding with this item. 
-
-If the @var{$format} is an itemize, @var{$prepended_texi} is the text that
-appeared on the itemize line, maybe after the formatting command
-(if any), and @var{$prepended_formatted} is the corresponding text, 
-formatted.
address@hidden deftypefn
-
address@hidden two column tables
-The two columns tables (@code{@@table}, @code{@@ftable} and @code{@@vtable}), 
-items are formatted using two function references,
-one for the first line located on the @code{@@item} line corresponding
-with the first column, the other for the text appearing on the
-following lines, corresponding with the second column text.
-
address@hidden @deftypefn {Function Reference} $table_item table_item 
$item_text $index_label_text $format $command $formatted_command $command_stack 
$text_formatted $text_formatted_leading_spaces $text_formatted_trailing_spaces 
$item_command
address@hidden {Function Reference} $table_item table_item $item_text 
$index_label_text $format $command $command_stack $item_command 
$formatted_index_entry
-This function is used to format the text on the @code{@@item} line.
address@hidden is the text line. In case there is an index entry 
-associated with the @code{@@item} (as with @code{@@ftable} and 
address@hidden@@vtable}), @var{$index_label_text} is the text inserted at 
-the place where an index entry appears. @xref{Index entry place}.
address@hidden is the type of format,
address@hidden, @samp{ftable} or @samp{vtable}. @var{$command} is the 
formatting command
-given in argument to the table format command.
address@hidden , @var{$formatted_command} is 
address@hidden this command formatted if it is a leading command, like 
@code{@@minus}.
address@hidden is an array with all the @@-commands opened, latest
-on top.
address@hidden @var{$text_formatted} is the text formatted by the formatting 
command if
address@hidden the command is a command with braces like @code{@@code}.
address@hidden @var{$text_formatted_leading_spaces} and 
@var{$text_formatted_trailing_spaces}
address@hidden are the spaces removed before closing the format.
address@hidden is the item command, @samp{@@item} or @samp{@@itemx}.
address@hidden is the index entry formatted.
address@hidden deftypefn
-
address@hidden {Function Reference} $table_line table_line $text
-This function is used to format the text on the lines following
-the @code{@@item} line. @var{$text} is the corresponding text. 
address@hidden deftypefn
-
address@hidden multitable
address@hidden formatting}
-The multitable elements formatting is controlled by the functions associated
-with two function references. One for a cell, and the other for a row.
-
address@hidden {Function Reference} $multitable_cell cell $text $item_command 
\@@columnfractions \@@prototype_row \@@prototype_lengths $column_number
-This function is used to format the text of a multitable cell, the text 
-following a @code{@@item} or a @code{@@tab}.
address@hidden is the corresponding text. @var{$item_command} is the command 
-used to introduce the row, such that it is possible to distinguish 
-between @code{@@item} and @code{@@headitem}.
address@hidden@@columnfractions} is a reference on an array 
-containing the @code{@@columnfraction} arguments, if any, and 
address@hidden@@prototype_row} is a reference on an array containing the row 
prototypes
-given on the @code{@@multitable} line, if any.
address@hidden@@prototype_lengths} array contains the lengths of the row 
prototypes
-formatted.
address@hidden is the maximal number of columns.
address@hidden deftypefn
-
address@hidden {Function Reference} $multitable_row row $text $item_command 
\@@columnfractions \@@prototype_row \@@prototype_lengths $column_number
-This function is used to format a multitable row. @var{$text} is
-the row text, with cells allready formatted with the @variable{$cell}
-function reference. @var{$item_command}, @var{\@@columnfractions}, 
address@hidden@@prototype_row}, @var{\@@prototype_lengths}
-and @var{$column_number} are the same than in the function reference above.
-
address@hidden deftypefn
address@hidden table
-
-In the default case, this function is interlinked with 
address@hidden (@pxref{Customizing format opening})
-and @code{@@multitable} formatting
-since a stack of possible nested 
-multitables is kept to know the cell number.
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Whole table list
address@hidden Formatting of a whole table or list
-
-If the Texinfo command is a key of the @variable{%format_map}, the associated
-value is used to specify the formatting of the construct, otherwise a function 
-is called. 
-The value in @code{%format_map} associated with a command is interpreted 
-similarly with values associated with more simpler commands:
-
address@hidden
address@hidden
-If the text is a word, it is considered to be an @acronym{HTML} element
-name, and the whole table or list is enclosed between the element opening
-and the element closing.
address@hidden
-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. 
address@hidden
-If the text is empty nothing is added to the text.
address@hidden itemize
-
-In case the @code{%format_map} isn't used, a function reference called
address@hidden
-should be redefined, the associated function will be called each time
-a command isn't found in @code{%format_map}.
-
address@hidden {Function Reference} $whole_table_list table_list 
$format_command $text $command $formatted_command $item_nr $enumerate_style 
$prepended_texi $prepended_formatted \@@columnfractions \@@prototype_row 
\@@prototype_lengths $column_number
address@hidden is the Texinfo command name, @var{$text} is the 
-formatted items. @var{$command} is the @dfn{format command} given in argument
-to the format command, @var{$formatted_command} is the same, but formatted.
address@hidden is the remaining text on the format command line,
address@hidden is the same, but formatted.
-Only relevant in @code{@@enumerate}, @var{$item_nr} is the item number, and 
address@hidden is the @code{@@enumerate} style. Only relevant in 
address@hidden@@multitable}
address@hidden@@columnfractions} is a reference on an array 
-containing the @code{@@columnfraction} arguments, if any, 
address@hidden@@prototype_row} is a reference on an array containing the row 
prototypes
-given on the @code{@@multitable} line, if any,
address@hidden@@prototype_lengths} array contains the lengths of the row 
prototypes
-formatted and
address@hidden is the maximal number of columns.
address@hidden deftypefn
-
-If you still want to use @variable{%format_map} but differently from 
-the default, it is possible to redefine the following function reference:
-
address@hidden {Function Reference} $whole_table_list format $command $format 
$text
address@hidden is the @@-command, @var{$format} is the entry associated with
address@hidden in @code{%format_map}. @var{$text} is the formatted items.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Definitions
address@hidden Definition commands formatting
-
-The formatting of definition commands is controlled by a main hash,
-3 strings and another hash, and and five
-functions. The mainhash describes how the text on the definition line is 
-interpreted, the functions control the formatting of the definition line
-and the definition function text.
-
address@hidden
-* Definition line::
-* Definition formatting::
address@hidden menu
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Definition line 
address@hidden Customizing the interpretation of a definition line
-
-The keys of the hash @variable{%def_map} are definition command names.
-There are two types of entries:
-
address@hidden
-
address@hidden 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:
address@hidden
address@hidden'deftruc'@} = '@@defvr @{A address@hidden';
address@hidden example
-
-and a line like
address@hidden 
-@@deftruc var
address@hidden example
-
-the line will be transformed in
address@hidden
-@@defvr @{A address@hidden var
address@hidden example
-
address@hidden
-If the command isn't a shortcut, it is associated with an array
-reference. The first element is @samp{f}, @samp{v} or @samp{t} corresponding
-with the index type (@samp{f} for function, @samp{v} for variable,
address@hidden 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
address@hidden, @samp{name}, @samp{type}, @samp{class}, @samp{arg} 
-and @samp{argtype}.  @samp{arg} means that the arguments are not mixed 
-with type definitions, with @samp{argtype} types are mixed with 
-definitions. When there is no @samp{arg} nor @samp{argtype} it is 
-the same than  @samp{argtype} (like makeinfo).
-
-For example if we have
address@hidden
address@hidden'defvr'@} = [ 'v', 'category', 'name' ];
address@hidden example
-
-The first bracketed item following @code{@@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.
address@hidden itemize
-
-Some characters are special with regard with definition parsing, they
-are delimiters, the can have a role in definition argument determination, 
-and also hae a special meaning in arguments parsing. 
-This is not very well documented in the texinfo manual,
-so it is subject to change. Strings allow to determine the delimiters:
-
address@hidden @code
address@hidden $def_argument_separator_delimiters
-Characters that separate arguments, currently @code{()[],}.
address@hidden $def_always_delimiters
-Character that are always delimiters, if they appear in a type or a 
-parameter,
address@hidden()[]}.
address@hidden $def_in_type_delimiters
-Character that are considered as delimiters only if in a type. In
-a parameter they are part of the parameter.
address@hidden vtable
-
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Definition formatting
address@hidden Customization of the definition formatting
-
-Five functions are used when formatting a definition command:
-
address@hidden @strong
address@hidden category name
address@hidden {Function Reference} $category definition_category $category 
$class $style $command
-This function precise a category name associating a class 
address@hidden (if given) with @var{$category}. The @var{$style} of the
-definition may be @samp{f}, for function, @samp{v}, for variable or @samp{t}, 
-for type. The @var{$command} is the definition @@-command.
address@hidden deftypefn
-
address@hidden {Function Reference} $entry definition_index_entry $name $class 
$style $command
-This function precise a name associating a class 
address@hidden (if given) with @var{$name}. This is used to do an index
-enntry associated with th edefinition command. The @var{$style} of the
-definition may be @samp{f}, for function, @samp{v}, for variable or @samp{t}, 
-for type. The @var{$command} is the definition @@-command.
address@hidden deftypefn
-
address@hidden formatting of the definition line
address@hidden {Function Reference} $line def_line $class_category_class $name 
$type $arguments $index_label \@@arguments_array \@@arguments_type_array 
\@@unformatted_arguments_array $command $class_name $category $class $style 
$original_command
-This function formats the definition line. @var{$class_category} is the 
category
-formatted with @variable{$definition_category}, @var{$name}, @var{$type} and 
address@hidden are the element of the definition line. @var{$index_label} is
-the text inserted at the place where an index entry appears. 
address@hidden entry place}.
address@hidden@@arguments_array} is an array holding the definition arguments, 
-formatted. @var{\@@arguments_type_array} holds the type of the definition
-arguments, like @samp{name}, @samp{type} and similar arguments, 
address@hidden
address@hidden and  @samp{param}. @var{\@@unformatted_arguments_array} 
-holds the arguments without @@-command substitution. @var{$command} is the
-definition command, after substitution. 
address@hidden is the class applied on name, formatted
-as specified in @code{definition_index_entry}. @var{$category} and 
address@hidden are the corresponding arguments. @var{$style} corresponds with 
the
-index style, as explained above. @var{$original_command} is the unmodified
-definition @@-command.
address@hidden deftypefn
-
address@hidden definition text
address@hidden {Function Reference} $definition_text def_item $text
-This function formats the definition text, @var{$text}.
address@hidden deftypefn
-
address@hidden the whole definition
address@hidden {Function Reference} $definition def $text
-This function formats the whole definition. The definition line and text 
-formatted by the above functions are in @var{$text}.
address@hidden deftypefn
-
address@hidden table
address@hidden Texinfo documentation system
address@hidden
+* Texi2HTML: (texi2html).  Texinfo to HTML Converter.
address@hidden direntry
 
 @c --------------------------------------------------------
address@hidden Headings
address@hidden Customizing headings formatting
-
-A function controls the formatting of sectioning element headings, 
-with the corresponding function reference:
address@hidden {Function Reference} $heading_text heading \%element_reference
-The @var{\%element_reference} is a reference on a hash corresponding
-with the sectioning element. The following keys are of interest:
address@hidden @code
address@hidden text
-The heading text
address@hidden text_nonumber
-The heading text without section number
address@hidden node
-true if the sectioning element is a node without associated structuring command
address@hidden level
-The level of the element in the document tree. @samp{0} is for @code{@@top},
address@hidden for @code{@@chapter} and so on
address@hidden tag_level
-the sectioning element name, with @code{@@raisesections} and 
address@hidden@@lowersections} taken into account
address@hidden top
-true if it is the top element
address@hidden table
address@hidden deftypefn
-
-It is also possible to customize the heading text with section number
-with the following function reference (called for headings and nodes):
address@hidden {Function Reference} $result_texi heading_texi $heading_command 
$heading $number
address@hidden is the sectioning @@-command of that heading. 
address@hidden is the texinfo for that heading. @var{$number} is the
-heading number classicaly computed with dots between numbers, and
-letters for top level appendix numbering. This function should return the 
-texinfo text corresponding with the numbered heading.
address@hidden deftypefn
-
-The label associated with the heading that can appear before the 
-heading itself and even before the navigation panel is customized with the
-following function reference:
address@hidden {Function Reference} $element_label element_label $identifier 
\%element_reference $command $unformatted_line
address@hidden is the identifier associated with the heading.
address@hidden is the same as above. @var{$command} is the @@-command
-appearing on the line, and @var{$unformatted_line} is the line, 
-unformatted.
address@hidden deftypefn
-
-Additionally, for @code{@@node} and sectioning @@-commands the formatting
-of the label, navigation panel and heading is controlled by:
address@hidden {Function Reference} $element_heagin_text element_heading 
\%element_reference $command $command_texi_arg $formatted_arg $in_preformatted 
$one_section $element_heading $first_in_page $is_top $previous_is_top 
$unformatted_line $element_id $new_element
address@hidden is the same as above. @var{$command} is the heading @@-command.
address@hidden is the argument of the @@-command, unformatted. 
@var{$formatted_arg}
-is is the argument of the @@-command, formatted. @var{$in_preformatted} is true
-if in preformatted environment. @var{$one_section} is true if there is only 
one 
-section. @var{$first_in_page} is true if this is the first heading  in a page.
address@hidden is true if the heading is considered as a top element heading.
address@hidden is true if the previous helement was a top element.
address@hidden holds the whole line, unformatted. @var{$element_id}
-is the id of the heading. @var{$new_element} is true if the heading is the 
first
-of an element block.
address@hidden deftypefn
-
address@hidden Get the version of the script and the last update time
address@hidden of this manual.
address@hidden
address@hidden version.texi is automatically generated through
address@hidden configure/autoconf.
address@hidden version.texi
 @c --------------------------------------------------------
address@hidden Special regions
address@hidden Formatting of special regions (@code{@@verbatim}, 
@code{@@cartouche}, @code{@@quotation})
-
-Regions corresponding with raw text, like @code{@@verbatim}, @code{@@html}, 
address@hidden@@tex} or the content of the file given in 
@code{@@verbatiminclude} 
-argument are formatted according to the following function reference:
-
address@hidden {Function Reference} $raw_region raw $command $text
address@hidden is the command name, @var{$text} is the raw text.
-In the default case, if @var{$command} is @code{verbatiminclude} 
-the text is the content of the @code{@@verbatiminclude} file argument.
address@hidden deftypefn
-
-If address@hidden is used, @code{@@tex} regions are handled differently,
-(@pxref{Bypassing normal formatting}).
 
-The @code{@@cartouche} command formatting is controlled by the
-function reference:
-
address@hidden {Function Reference} $cartouche cartouche $text
address@hidden is the text appearing within the cartouche.
address@hidden deftypefn
-
-The formatting of @code{@@quotation} and @code{@@smallquotation} 
-is controlled by two function references.
-The first one is usefull in case the @code{@@quotation} has an argument, as
-it allows to prepend a string to the quotation text:
-
address@hidden {Function Reference} $prepended_string quotation_prepend_text 
$command $text
address@hidden is the @@-command.
address@hidden is the argument of the quotation with @@-commands not 
-interpreted. This function
-can return a string which will be prepended to the quotation text.
address@hidden deftypefn
-
address@hidden
address@hidden {Function Reference} $prepended_string quotation_prepend_text 
$style $text
address@hidden is the first argument of the @code{@@quotation} if there are
-two arguments. @var{$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.
address@hidden deftypefn
address@hidden ignore
-
-The whole quotation is formatted by:
-
address@hidden {Function Reference} $quotation quotation $command 
$quotation_text $argument_text $argument_text_texi
address@hidden is the @@-command.
address@hidden is the quotation text, formatted, with the text 
-prepended by the function above. @var{$argument_text} is the argument 
-of the @code{@@quotation}, formatted. @var{$argument_text_texi} is the argument
-of the @code{@@quotation}, simply formatted.
address@hidden deftypefn
address@hidden Texi2HTML -- Texinfo to HTML address@hidden
 
address@hidden
address@hidden {Function Reference} $quotation quotation $quotation_text 
$argument_text $argument_style_texi $argument_style_id
address@hidden is the quotation text, formatted, with the text 
-prepended by the function above. @var{$argument_text} is the second argument 
-of the @code{@@quotation} or the first if there is one argument, formatted.
-The other arguments are defiend if there are two arguments for the 
address@hidden@@quotation}, @var{$argument_style_texi} is this argument, with 
-@@-commands, and  @var{$argument_style_id} is this argument transformed in 
-an identifier which can be used as an @acronym{XML} identifier.
address@hidden deftypefn
address@hidden ignore
address@hidden ========================================================
address@hidden Top
address@hidden Texi2HTML
 
address@hidden --------------------------------------------------------
address@hidden Menus
address@hidden Menu formatting
+Some time ago @command{makeinfo} wasn't able to produce
+HTML output format, but people still wanted documentation in
+HTML.  This was the birthing hour for
address@hidden  The basic purpose of @command{texi2html}
+was to convert Texinfo documents into HTML.
 
-There are two possibilities for menu formatting:
+Since then, HTML support in @command{makeinfo} has improved, but
address@hidden was still stronger in some areas, including the degree to
+which it allows customization.  In 2010, @command{texi2html} was made
+compatible with @command{makeinfo}, losing the focus on HTML to become a
+more generic translator, and merged in 
address@hidden://www.gnu.org/software/texinfo/, GNU Texinfo} to
+replace @command{makeinfo} in C.
address@hidden is now installed as part of the texinfo package install,
+as an alias of @command{texi2any}.  The @command{texi2html} documentation is 
also
+merged in the Texinfo manual, as the @command{texi2any}/@command{makeinfo}
+documentation.
 
+Here are the differences when between an invokation of @command{texi2any} or
address@hidden and @command{texi2html}:
address@hidden @bullet
address@hidden HTML is the default output, as with @option{--html}.
address@hidden Command line is not parsed exactly like GNU getopt does. To be 
on the safe
+side:
 @itemize @bullet
address@hidden format the whole menu in a preformatted environment, like 
-in @ref{Complex formats};
address@hidden format the menu in table with more specialized formatting for 
each
-part of the menu; 
address@hidden always use two dashes for long options.
address@hidden do not bundle short options, that is, use @code{-v -o -P} and 
not @code{-voP}.
address@hidden itemize
address@hidden Some options, although obsoleted are still available.
address@hidden The defaults for the HTML formatting may be slightly different. 
Have a look
+at the function @code{t2h_default_set_variables_texi2html} in 
@file{texi2html.init}.
 @end itemize
-
-The simple formatting in a preformatted is used if 
address@hidden is true, 
-otherwise the format with tables is used (this is the default).
-
-If @variable{$USE_ACCESSKEY} is set, the @code{accesskey} attribute 
-is used in anchors. In that case the @variable{%BUTTONS_ACCESSKEY}
-hash is used for the access key.
-
-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, for each possible formatting.
-
address@hidden
-* Menu parts::                  A menu consists in menu entry and menu 
-                                comments
-* Menu components formatting::  
-* Simple menu formatting::      formatting of a whole menu in a simple 
-                                preformatted environement
-* Table menu formatting::       formatting of a whole menu in a
-                                table environment
address@hidden menu
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Menu parts
address@hidden The structure of a menu
-
-In @command{texi2html}, a menu is considered to be composed of 2 parts, the
address@hidden entries} and the @dfn{menu comments}. Menu entries are further 
-divided in an @dfn{entry link} and optionnaly an @dfn{entry description}.
-The entry link consists in a node name and an optionnal menu entry
-name.
-
-A menu entry begins with @samp{*} 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 an empty line not contained within a command block which begun in the 
-description. An empty line or
-starts a menu comment, which spans until the next menu entry.
-
-Here is an illustration of these rules:
-
address@hidden
-@@menu
-* entry name: node name.        description begins
-   description continues
-* another menu entry::
-   description begins
-                    description continues
-
-   A menu comment, after an empty line
-
-* node::                        description begins
-still in description.
-
-* last entry::         description begins @@address@hidden
-
-of the description, even if there is an empty line,
-because we are in @@address@hidden
-@@end menu
address@hidden example
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Menu components formatting
address@hidden The formatting of the different menu components
-
-If in a preformatted context (and @code{$SIMPLE_MENU} isn't set), the 
-menu link and description are put in the same preformatted environment.
-This can be avoided with @variable{$SEPARATE_DESCRIPTION}.
-
-Two function references are associated with the formatting of the 
-different parts of a menu:
address@hidden {Function Reference} $link menu_link $section \%state $href 
$node $name $ending $has_name $command_stack $preformatted
address@hidden is the section name corresponding with the link, @var{$href}
-is the link hypertextual reference. @var{$href} may be absent. @var{\%state}
-holds informations about the current context. 
address@hidden The only key which could be
address@hidden of interest is @code{preformatted}, true if the context is a 
preformatted
address@hidden context. 
address@hidden is the node name, @var{$name} is the
-name of the node. @var{$ending} is the text ending the link entry, 
-in general @samp{::} followed by some spaces.
address@hidden is true if the entry has an explicit name, otherwise
address@hidden has been constructed using the formatted node name.
address@hidden is an array containing the commands enclosing
-the menu link. It is used in the default case to detect if the 
-menu link is right in the @command{@@menu} or not, since if it is not 
-right below the menu the formatting is simpler.
address@hidden is true if in preformatted context.
address@hidden contexts}. 
address@hidden deftypefn
-
-This command is not called if @code{$SIMPLE_MENU} is set.
-
address@hidden {Function Reference} $description menu_description 
$description_text \%state $element_text
address@hidden is the text of the menu description. 
-The formatted link is also here if in preformatted context and 
address@hidden is not set.
address@hidden
-should be used similarly than for the menu link. @var{$element_text}
-is the heading of the element associated with the node.
address@hidden and @var{$preformatted} are the same than for the
-menu link.
address@hidden deftypefn
-
-The @dfn{menu comment} part is formatted like a normal command, 
-called @code{menu_comment}. It is only used if not in preformatted 
-environment and if just below a @code{@@menu} since otherwise one
-cannot tell if it is a menu commment or normal text.
-The default is to have it be formatted
-like a @ref{Complex formats}, with
address@hidden
address@hidden'menu_comment'@} =
address@hidden
-   'begin' => "<tr><th colspan=\"3\" align=\"left\" valign=\"top\">",
-   'end' => "</th></tr>", 'class' => 'menu-comment',
address@hidden
address@hidden example
-
address@hidden @deftypefn {Function Reference} $menu_comment menu_comment $text
address@hidden @var{$text} is the text of the menu comment. It is always in a 
preformatted 
address@hidden environment.
address@hidden @end deftypefn
-
address@hidden Another function reference corresponds with a special case. It
address@hidden is used when a menu entry appears within another block command, 
to
address@hidden avoid the possibilities of invalid @acronym{HTML} production.
address@hidden In that case the menu description and menu comments are not 
formatted 
address@hidden specially, but treated like normal text.
address@hidden @deftypefn {Function Reference} $link simple_menu_link 
$link_text $href $node $name $ending $has_name
address@hidden @var{$link_text} is the text corresponding with the link name, 
@var{$href}
address@hidden is the link hypertextual reference.
address@hidden @var{$node} is the node name, @var{$name} is the
address@hidden name of the node, and @var{$ending} is the text ending the link 
entry.
address@hidden @var{$has_name} is true if the entry has an explicit name, 
otherwise
address@hidden @var{$name} has been constructed using the formatted node name.
address@hidden @end deftypefn
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Simple menu formatting
address@hidden  Simple menu formatting in a preformatted environment
-
-If the menu is to be formatted in a single preformatted environment,
-an entry for @samp{menu} and @samp{detailmenu} 
-should be added to the @code{%complex_format_map}
-hash (@pxref{Complex formats}).
-In the default case, if the user didn't add an entry himself, a very simple 
-entry is used, with:
-
address@hidden
-$complex_format_map->@{'menu'@} = @{ 'begin' => '' , 'end' => '',
-    'class' => 'menu-preformatted' @};
address@hidden example
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Table menu formatting
address@hidden The formatting of the menu in a table
-
-In the default case, the name of the section corresponding with the 
-node is used instead of the node name. If @variable{$NODE_NAME_IN_MENU} is 
-true, however, node names are used. If @variable{$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, @variable{$MENU_SYMBOL} is put at the beginning of menu entries
-when the node name is used. The default is @samp{&bull;}.
-If @variable{$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 
address@hidden Default is @samp{font-family: serif}.
-The entry similar with an entry in @code{%complex_format_map} 
-(@pxref{Complex formats}) used when the menu appears in a preformatted
-enviroment is in
address@hidden, and, in the default case is:
address@hidden
-$MENU_PRE_COMPLEX_FORMAT = @{
-              'pre_style' => $MENU_PRE_STYLE, 
-              'class' => 'menu-preformatted'
-   @};
address@hidden example
-
-The css class associated with menu comments is @code{menu-comments}.
-
-The following function reference controls the formatting of a wole menu
-or a detailmenu in that case:
-
address@hidden {Function Reference} $menu menu_command $command 
$menu_components_text
address@hidden is the menu command, currently @samp{menu}, @samp{detailmenu}
-or @samp{direntry}.
address@hidden is the formatted menu components text, obtained
-as explained above.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Indices
address@hidden 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 @code{@@cindex} determines where index entries
-appear, and the index list is printed with a @code{@@printindex} command. 
-
address@hidden
-* Index entry place::             Index entries in the main document are 
-                                  targets for hypertext references
-* Index list::                    Customizing the formatting of the index list
address@hidden menu
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Index entry place
address@hidden 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:
-
address@hidden {Function Reference} $target index_entry_label $identifier 
$preformatted $entry $index_name  $index_command $texi_entry $formatted_entry
address@hidden should be used to create
-a target for links (typically associated with a name or id 
-attribute in @acronym{HTML}).
address@hidden is true if the index entry appeared in preformatted text.
address@hidden is the index entry with all the @@-commands removed.
address@hidden is the index name, @var{$command} is the index command which
-may be a index command like @code{@@cindex}, but also a definition or 
-a table. @var{$texi_entry} is th eindex entry with @@-commands, and 
address@hidden the entry formatted.
address@hidden deftypefn
-
-Regular index entries are (like @code{@@cindex}) are 
-formatted using the following function reference:
address@hidden {Function Reference} $index_entry index_entry_command $command 
$index_name $label $entry_texi $entry_formatted
address@hidden, @var{$index_name}, @var{$entry_texi} and @var{$entry_formatted}
-are the same as above, and @var{$label} is what could be used as a label,
-formatted using the function above. 
address@hidden deftypefn
-
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden Index list
address@hidden Customizing the formatting of index lists
-
-There is an elaborate default index formatting in texi2html, with
-index summary by letter linking to index entries grouped by letters too,
-with the possibility of index pages split accross files. This system may be 
-completly bypassed by redefining the function reference that is called when
address@hidden@@printindex} is encountered:
-
address@hidden {Function Reference} $index_text printindex $index_name
address@hidden is the index name appearing on the 
address@hidden@@printindex} line. The index formatted should be returned
-by this function reference.
address@hidden deftypefn
-
-If the default index formatting is used, there are still possibilities
-to customize part of the formatting.
-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 @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:
-
address@hidden @emph
address@hidden formatting of a letter in a summary
address@hidden {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.
address@hidden is the letter. @var{$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. @var{$identifier} is an identifier for the target 
-letter entry. 
address@hidden deftypefn
-
address@hidden formatting of a summary
address@hidden {Function Reference} $summary index_summary 
\@@alphabetical_letters \@@nonalphabetical_letters
address@hidden@@alphabetical_letters} and @var{\@@nonalphabetical_letters} 
contain the
-formatted summary letters, formatted with the above function.
address@hidden deftypefn
-
address@hidden formatting of an index entry
address@hidden {Function Reference} $entry index_entry $entry_href $entry_text 
$section_href $section_heading
address@hidden is a reference to the place where the index entry 
-appeared, @var{$entry_text} is the corresponding text. @var{$section_href}
-is a reference to the beginning of the sectioning element containing 
-the index entry, @var{$section_heading} is the heading of the element.
address@hidden deftypefn
-
address@hidden formatting of letter entry
address@hidden {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. @var{$letter} is the letter, @var{$identifier} 
-should be used to create a target for links (typically links from summaries),
-and @var{$index_entries_text} is the text of the index entries formatted as 
-described above.
address@hidden deftypefn
-
address@hidden formatting of whole index
address@hidden {Function Reference} $index print_index $index_text $index_name
address@hidden is the text of all the index entries grouped by letter
-appearing in that page formatted as above. It is undef if there are
-no entries or theindex name isn't known. @var{index_name} is the name of
-the index, the argument of @code{@@printindex}.
address@hidden deftypefn
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden Floats and lists of floats
address@hidden Floats and lists of floats
-
-Floats appear in the @code{@@float} environment, optionaly with a style
-and a label, and with optionnal @code{@@caption} and @code{@@shortcaption}. 
-Their list appear after a @code{@@listoffloats}. 
-
-A hash reference is associated with each float, it is available in some
-formatting functions. The keys are:
address@hidden @code
address@hidden caption_texi
address@hidden shortcaption_texi
-A reference on an array containing the caption or shortcaption lines,
-with texi @@-commands.
address@hidden style_texi
-The style with texi @@-commands.
address@hidden style_id
-The unique identifier associated with the style.
address@hidden style
-The style formatted.
address@hidden 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).
address@hidden chapter_nr
-The number of the chapter containing the float.
address@hidden nr_in_chapter
-The number of the float in the chapter.
address@hidden absolut_nr
-The number of the float in the document.
address@hidden texi
-The label with @@-commands.
address@hidden name
-The label formatted.
address@hidden id
-The unique identifier associated with the label. Usefull to make an anchor
-or a reference.
address@hidden target
-The target that can be used to refer to that float.
address@hidden element
-A reference on a structure representing the element the float appear in.
address@hidden table
 
 @menu
-* Floats::                           Formatting of floats
-* Lists of floats::                  Formatting the lists of floats 
+* Incompatibilities with previous versions::
 @end menu
 
address@hidden Floats
address@hidden 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:
-
address@hidden {Function Reference} {(\@@caption_lines_returned, 
\@@shortcaption_lines_returned)} caption_shortcaption \%float \@@caption_lines 
\@@shortcaption_lines
address@hidden is the structure defined above. @var{\@@caption_lines} and 
address@hidden@@shortcaption_lines} are references on arrays containing the 
-texinfo lines for caption and short caption. @var{\@@caption_lines_returned}
-and @var{\@@shortcaption_lines_returned} are references on an array 
-containing the texinfo lines for the caption and shortcaption.
address@hidden deftypefn
-
-Then the float is formatted with the following function reference:
-
address@hidden {Function Reference} $text float $float_text \%float 
$caption_text $shortcaption_text
address@hidden is the text appearing within the @code{@@float}, formatted.
address@hidden is still the structure defined above. @var{$caption_text} and
address@hidden are the caption and short caption build with the
-above function and formatted.
address@hidden deftypefn
-
-It is also possible to do something when a caption or a shortcaption appear
-with t hefollowing function reference:
-
address@hidden {Function Reference} $text caption_shortcaption_command $command 
$formatted_caption \@@texi_lines \%float
address@hidden is the @@-command, @samp{caption} or @samp{shortcaption}.
address@hidden is the caption text, formatted, while 
address@hidden@@texi_lines} is a reference on an array containing the caption 
lines,
-this time without any formatting.
address@hidden is still the structure defined above. 
-
-In the default case this function reference returns an empty string.
address@hidden deftypefn
-
-
address@hidden Lists of floats
address@hidden Formatting lists of floats
-
-A list of floats is introduced by @code{@@listoffloats}. The argument of
address@hidden@@listoffloats} is the @dfn{style}. First the style texinfo can 
be 
-modified with the following function reference:
-
address@hidden {Function Reference} $style_texi_returned listoffloats_style 
$style_texi
address@hidden is the @code{@@listoffloats} argument with texinfo 
-@@-commands kept. It is possible to make changes to the @var{$style_texi} and
-return a modified string, still with @@-commands. The modified string
-is formatted in the main program.
address@hidden deftypefn
-
-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:
-
address@hidden {Function Reference} $float_style_texi_returned 
listoffloats_float_style $style_texi \%float
address@hidden is the style, and @var{\%float} is the structure described 
-above. This function reference returns a style to be formatted in the
-main program.
address@hidden deftypefn
-
address@hidden {Function Reference} (\@@caption_texi_returned, 
$caption_or_shortcaption) listoffloats_caption \%float
address@hidden is the structure described 
-above. This function reference returns a caption to be formatted in the
-main program, @var{\@@caption_texi_returned}, and a string, 
address@hidden that is either @samp{caption} or 
address@hidden that can be used by the main program if this information
-is needed. 
address@hidden deftypefn
-
-Each entry is formatted by:
-
address@hidden {Function Reference} $listoffloats_entry listoffloats_entry 
$style_texi \%float $float_style $caption $href
address@hidden is the style with @@-commands, @var{$float_style} is the
-style returned by the above function and formatted. @var{$caption} is the
-caption returned by the above function formatted. @var{\%float} is the 
-structure corresponding with the float, and @var{$href} is an href pointing to
-the float location.
address@hidden deftypefn
-
-Lastly, the whole @code{@@listoffloats} is formatted by:
-
address@hidden {Function Reference} $listoffloats listoffloats $style_texi 
$style \@@listoffloats_entries
address@hidden is the style with @@-commands, @var{$style} is the
-style returned by the above function and formatted. The array reference 
address@hidden@@listoffloats_entries} holds the entries formatted by the above
-function.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Footnotes
address@hidden 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:
-
address@hidden {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
address@hidden is the footnote number in the whole document, 
address@hidden is the footnote number in the current page.
address@hidden is an identifier for the footnote in the footnote text
-which should be used to make target for references to that footnote,
-while @var{$place_id} is an identifier for the location of the footnote
-in the main document. Similarly, @var{$document_file} is the file name
-of the file containing the text where the footnote appears in the main 
-document, while @var{$footnote_file} is the file name of the file where 
-the footnote text appears. 
-
address@hidden@@lines} is a reference on an array containing the footnote text
-lines, allready formatted.
-And @var{\%state} holds informations about the context at the footnote
-place in the main document. As usual the most usefull entry is 
address@hidden which is true if the footnote appears in a preformatted 
-context. 
-
-This function returns a reference on an array, @var{\@@lines} containing
-the updated footnote text for the footnote entry, and @var{$text_for_document},
-the text appearing at the footnote place in the main document, linking
-to the footnote entry.
address@hidden deftypefn
-
-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, @ref{Special pages layout}. For 
-the determination of the footnote locations, @ref{Page layout options}.
-
address@hidden {Function Reference} foot_section \@@footnotes_lines
-This function formats a group of footnotes. @var{\@@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.
address@hidden deffn
-
address@hidden --------------------------------------------------------
address@hidden Customizing format opening
address@hidden Customizing format opening
-
-The following function reference is called when a format is opened.
-A format is any @@-command that ends with a @code{@@end} except 
-@@-commands that only select if the input is processed (like 
address@hidden@@ignore} or @code{@@ifhtml}) or raw @@-commands (like 
@code{@@verbatim}
-and @code{@@html}).
-
address@hidden {Function Reference} $line begin_format_texi $command $line 
\%state
-The @var{$command} is the format command, the @var{$line} is the 
-line following the @@-command, @var{\%state} is a reference on
-a hash containing many formatting information. It can modify the 
-line and return something else.
-
-In the default case, it is used to keep track of the multitable nesting.
-As a consequence, it is linked with the multitable formating. 
address@hidden formatting}.
address@hidden deftypefn
-
address@hidden --------------------------------------------------------
address@hidden Bypassing normal formatting
address@hidden Bypassing normal formatting
-
-It is possible to bypass completely the normal formatting of @@-commands 
-with braces and raw regions 
-(@code{@@html}, @code{@@tex}, @code{@@address@hidden regions). 
-In that case the @@-commands and the text within 
-are passed to a user defined function early, in a pass when no expansion
-of output takes place, called the collecting pass. Another user defined 
-function is called during the output expansion phase.
-
-Moreover, arbitrary user defined functions may be called between the 
-different texinfo parsing and outputting passes. This could be used, for
-example to initialize some things before collecting the @@-commands and their
-text, expanding them between the collecting and expansion phase and doing
-some cleaning after the expansion pass. These possibilities are used for
-the interface to address@hidden 
-(@pxref{Expanding TeX regions}), and the examples are taken from that use.  
-
-The @@-commands that are keys of the @variable{%command_handler} hash 
-are collected in the collecting pass and expanded in the expansion
-pass using user defined functions. The associated value is a reference on
-a hash used to specify the user defined function references. 
-The key of the hash reference are @code{'init'} for the function
-reference called during the collecting pass, and @code{'expand'}
-during the expansion pass. Here is an example for an @@-command with
-braces:
-
address@hidden
address@hidden'math'@} =
-     @{ 'init' => \&Texi2HTML::LaTeX2HTML::to_latex,
-       'expand' => \&Texi2HTML::LaTeX2HTML::do_tex
-     @};
address@hidden example
-
-And an example for a raw region @@-command:
-
address@hidden
address@hidden'tex'@} =
-     @{ 'init' => \&Texi2HTML::LaTeX2HTML::to_latex,
-       'expand' => \&Texi2HTML::LaTeX2HTML::do_tex
-     @};
address@hidden example
-
-The function references are called like:
-
address@hidden {Function Reference} $status 
address@hidden'$command'@}->@{'init'@} $command $text $count
address@hidden is the @@-command name, @var{$text} is the text appearing 
-within the @@-command. @var{$count} is a counter counting how many times
-this @@-command appeared. @var{$status} is a boolean which should be true if 
-the collecting was succesfull. If false the @@-command and the text is 
-discarded.
address@hidden deftypefn
-
address@hidden {Function Reference} $result 
address@hidden'$command'@}->@{'expand'@} $command $count $state $text
address@hidden is the @@-command name, @var{$count} is a counter counting 
-how many times this @@-command appeared. @var{$state} is a reference on a 
-hash containing many informations about the context. @var{$text} should be
-empty. @var{$result} is the expanded resulting text.
address@hidden deftypefn
-
-There are five places for user defined functions, associated with arrays:
address@hidden @code
address@hidden @@command_handler_setup
-The function references in that array are called before anything is done, 
-including collecting the output file names. The input file names directory
-are available.
address@hidden @@command_handler_init
-The function references in that array are as soon as the file names are 
-known. It may be at different moments, before processing anything, right after
-@@sefilename, or at the end of the first pass (after @@macro and @@include
-expansions).
-At that time the information available is essentially the file names.
address@hidden @@command_handler_names
-The function references in that array are called right after the collecting
-pass. At that time all the special @@-commands  
-have been collected as explained above but no output has been produced,
-the element (node and section) names hasn't been processed and expanded.
address@hidden @@command_handler_process
-The function references in that array are called after the element names 
-have been processed, but before the main output initialization.
address@hidden @@command_handler_output
-The function references in that array are called rigth before the 
-main output processing, so that more informations are available,
-like the title.
address@hidden @@command_handler_finish
-he function references in that array are called after the end of the
-output generation.
address@hidden vtable 
-
-Here is an example of these arrays use:
-
address@hidden
-push @@command_handler_init, \&Texi2HTML::LaTeX2HTML::init;
-push @@command_handler_process, \&Texi2HTML::LaTeX2HTML::latex2html;
-push @@command_handler_finish, \&Texi2HTML::LaTeX2HTML::finish;
address@hidden example
-
address@hidden --------------------------------------------------------
address@hidden  Handling special regions
address@hidden Handling special regions
-
-Special regions @code{@@titlepage}, @code{@@documentdescription} and
- @code{@@copying} are removed from the document before the last pass in the
-default case. They can be kept if the value associated with the @@-command
-in the @variable{%region_formats_kept} hash is true.
-
-The @code{@@insertcopying} @@-command is formatted by 
address@hidden {Function Reference} $insertcopying insertcopying $text $comment 
$simple_text
address@hidden is the text appearing in @code{@@copying}, formatted.
address@hidden is the text with texi removed, should be very simple
-text. @var{$simple_text} is the text formatted in string context.
address@hidden deftypefn
-
-The title page handling is described in @ref{Title page}.
-
address@hidden --------------------------------------------------------
-
address@hidden Other and unknown commands
address@hidden Customizing other commands, and unknown commands 
-
address@hidden
-# The command_handler arrays are for commands formatted externally.
-# The function references in @command_handler_init are called
-# before the second pass, before the @-commands text collection.
-# Those in @command_handler_process are called between the second pass
-# and the third pass, after collection of @-commands text and before their
-# expansion.
-# Those in @command_handler_process are called after the third pass,
-# after the document generation.
address@hidden = ();
address@hidden = ();
address@hidden = ();
address@hidden ignore
-
address@hidden --------------------------------------------------------
address@hidden @node Skipped commands
address@hidden @section Customizing ignored commands and text
-
address@hidden skipped command
address@hidden unknown command
-
-Many commands without braces are available in texinfo, sometimes with
-a specific syntax. For example we have @code{@@sp}, @code{@@noindent},
address@hidden@@documentlanguage}, @code{@@oddheading}, @code{@@headings},
address@hidden@@shortcontents}, @code{@@shorttitlepage} or @code{@@comment}. 
address@hidden 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:
address@hidden 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 @code{line}
-for the @code{arg} property for the @code{command} @@-command.
-
address@hidden
address@hidden'command'@} = @{'arg' => 'line', 'skip' => 'space'@};
address@hidden example
-
-The properties and possible values are:
-
address@hidden @code
address@hidden skip
-This property enables to set what is skipped after the command arguments.
-Here are the possible values:
address@hidden @code
address@hidden line
-The remaining of the line is skipped.
address@hidden space 
-Spaces are skipped but not newline.
address@hidden whitespace 
-Spaces are skipped
address@hidden linewhitespace
-Spaces are skipped if there are only spaces remaining on the line.
address@hidden linespace
-Spaces are skipped, but not newline if
-there are only spaces remaining on the line
address@hidden table
-
address@hidden arg
-If the associated value is @code{line} the line is considered to be the
-argument. If it is a number it is the number of args (separated by spaces).
address@hidden keep
-If true the args and the macro are kept, otherwise they are discarded.
-The defaut is to have @code{keep} undef for all the commands.
-If @code{keep} is true for @code{@@verbatiminclude} the default
-action for this macro isn't done.
address@hidden table
-
-
-Commands which don't appear in the hashes 
address@hidden @variable{%things_map} @variable{%pre_map}
address@hidden, @variable{%simple_map_pre},
address@hidden and @code{%misc_command}, or that appear in
address@hidden but with @code{keep} true are processed by the 
-following function reference:
-
address@hidden {Function Reference} {($result_line, $result, $result_text, 
$message)} unknown $command $line $pass
address@hidden is the @@-command, @var{$line} is the line following the 
address@hidden @var{$pass} is the pass of texi2html (@pxref{Three passes}). 
address@hidden is a boolean. If it is true then the other return
-values are taken into account otherwise the default actions are
-used. In case @var{$result} is true, @var{$result_line} is the new line 
-to be processed further, @var{$result_text} is the resulting formatted text 
-and @var{$message}, if defined is a message outputted to the output
-with line number added by @command{texi2html}.
address@hidden deftypefn
-
-Commands with braces not specified above 
-nor in @variable{%style_map}, @variable{%style_map_pre} and
address@hidden are processed 
-by the following function reference
-
address@hidden {Function Reference} {($result, $result_text, $message)} 
unknown_style $command $text
address@hidden is the @@-command, @var{$text} is the text appearing within 
-the braces (allready formatted). @var{$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 @var{$result} is true, @var{$result_text} is the resulting
-formatted text
-and @var{$message}, if defined is a message outputted to the output
-with line number added by @command{texi2html}.
address@hidden deftypefn
-
-
address@hidden --------------------------------------------------------
address@hidden -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
address@hidden ========================================================
address@hidden ========================================================
-
address@hidden Internationalization
address@hidden Internationalization
-
address@hidden Translation
address@hidden i18n
-
-The strings written in the document are selected based on the
-document language. This can be used to customize the strings, 
-as described in @ref{Strings}. This also enables translation of the
-strings. 
-
-The @code{gdt} subroutine is used for translated strings:
-
address@hidden {gdt} ($string, \%variables_hash, \%state)
-with @var{$string} the string to be translated, @var{\%variables_hash} a
-reference on a hash holding the variable parts of the translated string, and 
address@hidden a hash reference determining the context of expansion 
-(use the document state,
-  expansion in string, no expansion...).
address@hidden defun
-
-Translated strings are texinfo strings, which may have @@-commands. 
-In translated strings, 
- the variables parts of the string are not denoted by %s and the like, but
-  by @address@hidden@}}  (which is common for perl gettext). 
-For example, in the following, @address@hidden@}} will be replaced by the 
-section name:
address@hidden
-see @address@hidden
address@hidden example
-
-  This is for 2 reasons, first changing the order of
-  printf arguments is only available since perl 5.8.0, second the order
-  of the argument may not be predictable when @-commands expansion may lead
-  to different orders depending on the output format.
-
-The expansion of those strings happens that way:
address@hidden
address@hidden First the string is translated. The locale is 
@@documentlanguage.@@documentencoding.
-
-  If the @@documentlanguage is like ll_CC, ll_CC is tried first, and then ll.
-  If the encoding is not us-ascii, us-ascii is also tried. The idea is that
-  if there is a us-ascii encoding, it means that all the characters in the
-  charset may be expressed as @@-commands. For example there is a fr.us-ascii
-  locale that can accomodate any encoding, since all the latin1 characters
-  have associated @@-commands. For the ja translations, there is only ja.utf-8
-  since there are no @@-commands for ja letters.
-
address@hidden Next the args in string are protected, for example 
@address@hidden@}} becomes
-   @samp{@@address@hidden@}arg_name@@address@hidden@}} (this part is skipped 
if there is no expansion).
-
address@hidden Next the string is expanded as a texinfo string.
-   @samp{@@address@hidden@}} expands as @{ and
-   @samp{@@address@hidden@}} expands as @}, such 
-   that in the end
-   one still gets @address@hidden@}} within an expanded string
-   (this part is skipped if there is no expansion).
-
address@hidden Then the in string arguments are substituted, for example 
@address@hidden@}} is
-   substituted by the corresponding argument.
address@hidden enumerate
-
-For example, in the following @address@hidden@}}, @address@hidden@}} and 
@address@hidden@}}
-are the argument of the string. Since they are used in @code{@@uref}, their
-order in not predictable. The @address@hidden'duplicate'=>address@hidden 
-means the the document state
-should be used when expanding the string. @address@hidden@}}, 
@address@hidden@}} and @address@hidden@}}
-are substituted after the expansion, which means that they
-should already be acceptable output:
-
address@hidden
-gdt('This document was generated on @@address@hidden@address@hidden@} using 
@@address@hidden@address@hidden, 
@@address@hidden@address@hidden@address@hidden', @{
-           'date' => $date, 'program_homepage' => 
$Texi2HTML::address@hidden'program_homepage'@}, 'program' => 
$Texi2HTML::address@hidden'program'@} @},@{'duplicate'=>address@hidden);
address@hidden example
-
-This approach is a bit complicated, however what is interesting is that
-it allows to have translation available in different encodings for charset
-that are covered by @@-commands, and also to specify how the formatting for
-some commands is done independently of the output format but still allow it to
-be language dependent. For example, the @samp{@@pxref} string may be:
-
address@hidden
-see @address@hidden section address@hidden@}\' in 
@@address@hidden@address@hidden@}
address@hidden example
-
-which allows to specify a string independently of the output format but with a
-rich formatting that may be differently translated in other languages.
-
-It is also possible to use more regular %s escapes, and also avoid any
-expansion (with 'keep_texi' in the state).
-
-
 @c --------------------------------------------------------
address@hidden Incompatibilities
address@hidden Incompatibilities with previous versions
 @chapter Incompatibilities with previous versions
 
 @command{texi2html} has accumulated a lot of incompatibilities with previous
@@ -4949,133 +388,4 @@
 @end itemize
 @end itemize
 
address@hidden --------------------------------------------------------
address@hidden Specificities
address@hidden How little texi2html texinfo differs from GNU texinfo
-
-For features documented in the texinfo manual, the texinfo interpretation
-by @command{texi2html} shouldn't differ from the interpretation of
address@hidden or @command{texi2dvi}. However for constructs with 
-unspecified behaviour @command{texi2html} often doesn't lead to the 
-same result than @command{makeinfo} or @command{texi2dvi}. @command{makeinfo}
-and @command{texi2dvi} are also inconsistent in most of these cases (or
-broken). You are urged not to use these features unless absolutely necessary.
-This information is only here to help understand why @command{texi2html}
-differ from other texinfo interpreters, it may be inacurate and the 
address@hidden behaviour may change in the future and was different
-in the past.
-
address@hidden @asis
address@hidden @@-commands with text on the line
-In the texinfo manual it is specified that block @@-commands should appear
-on a line without text and the closing @code{@@end} should also be on a 
-line by himself. With @command{texi2html} it is possible to add
-text before and after the command, so the following is right:
-
address@hidden
-something @@example the example @@end example after the example
address@hidden example
-
address@hidden and @command{texi2dvi} may also accept text before
-the command and text after the @code{@@end} command, sometimes ignoring 
-it after the @code{@@end}.
-
-This is a feature you should especially not rely on.
-
address@hidden special @@-commands handling
-The special @@-commands are commands like @code{@@pagesizes}, @code{@@sp},
address@hidden@@evenheading}, @code{@@raisesections}, @code{@@defindex} and a 
lot
-more. In many cases @command{makeinfo} and @code{texi2dvi} 
-don't parse those commands the same way too. @command{texi2html} may also
-show some differences in parsing of the arguments of these commands, 
-in case there are wrong arguments, and also ignore differently things
-following those commands. How user defined macros, set and values
-are expanded in those commands may also be different.
-Part of the specification of how these commands are handled is 
-configureable (@pxref{Other and unknown commands}), but not what 
-happens during the beginning of the parsing for some of those commands. 
-
address@hidden features different between @command{makeinfo} and 
@command{texi2dvi}
-When @command{makeinfo} or @command{texi2dvi} use a feature which
-is reserved for one or the other translator, @command{texi2html} uses that
-feature. So for example @code{@@definfoenclose} which is ignored by 
address@hidden is taken into account and @code{@@kbdinputstyle} which
-is ignored by @command{makeinfo} is taken into account. 
-
address@hidden user defined macros and values
-In this area @command{makeinfo} and @command{texi2dvi} also differ a lot.
-The reference implementation is the @command{makeinfo} implementation as
address@hidden is easily broken when macros are not used simply.
-
address@hidden @bullet
address@hidden @code{@@rmacro} and @code{@@macro} behave exactly the same. In 
fact
-this goes against a documented behaviour, however if a user don't
-want a recursive macro he can simply avoid reusing the macro in the 
-definition. If somebody report that the feature is usefull we could try
-to implement it.
address@hidden It is possible to escape the end of a macro definition with
address@hidden
-\@@end macro
address@hidden example
-with the @samp{\} being removed after the first expansion. Otherwise
-it is not possible to produce a @code{\@@end macro} in a macro.
address@hidden @code{@@unmacro} is interpreted during the macro argument 
expansion.
-Don't know what @command{makeinfo} exactly do.
address@hidden Some @code{@@value} may be expanded later than the others, those
-that are in special commands, like @code{@@node}.
address@hidden itemize
-
address@hidden @code{@@,} in @code{@@node}
-Like @command{texi2dvi} but unlike @command{makeinfo} @code{@@,} don't 
-break @code{@@node} arguments like a regular @samp{,}.
address@hidden Things before first node or preamble
-Things before the first node or before the preamble may not be exactly 
-interpreted or discarded as @command{makeinfo} or @command{texi2dvi} do.
address@hidden encodings
address@hidden knows more encodings, in fact all encodings @command{perl}
-knows about.
address@hidden commands in @code{@@ifset} and @code{@@ifclear}
address@hidden doesn't need a proper nesting of internal @code{@@ifset}
-or @code{@@ifclear} if they are in ignored or raw regions (like @code{@@html}
-or @code{@@verbatim}). For example the following is accepted by 
address@hidden and not by @command{makeinfo}:
-
address@hidden
-@@ifset notset
-@@ignore
-@@ifset
-@@end ignore
-@@end ifset
address@hidden example
-
-In @code{@@ifset} and @code{@@ifclear} texi2html also accepts
-a lot more of invalid constructs. For example the following is accepted
-by @command{texi2html} but not by @command{makeinfo}:
-
address@hidden
-@@set flag
-@@ifset flag
-@@itemize
-@@item my item
-@@end ifset
-text
-@@ifset flag
-@@end itemize
-@@end ifset
address@hidden example
address@hidden table
-
address@hidden --------------------------------------------------------
address@hidden commandline option index.
address@hidden Indexop
address@hidden Command Line Option Index
address@hidden op
address@hidden --------------------------------------------------------
address@hidden Indexvr
address@hidden Variable Index
address@hidden vr
address@hidden --------------------------------------------------------
address@hidden Indexcp
address@hidden Concept Index
address@hidden cp
 @bye

Index: texi2html/doc/version.texi
===================================================================
RCS file: /sources/texinfo/texinfo/texi2html/doc/version.texi,v
retrieving revision 1.81
retrieving revision 1.82
diff -u -b -r1.81 -r1.82
--- texi2html/doc/version.texi  19 Jul 2010 23:48:20 -0000      1.81
+++ texi2html/doc/version.texi  25 Jul 2010 21:43:14 -0000      1.82
@@ -1,4 +1,4 @@
address@hidden UPDATED 20 July 2010
address@hidden UPDATED 25 July 2010
 @set UPDATED-MONTH July 2010
 @set EDITION 4.13
 @set VERSION 4.13



reply via email to

[Prev in Thread] Current Thread [Next in Thread]