A simple mechanism for appending customised buttons to the navigation
panel is provided by the command \htmladdtonavigation.
This takes one argument which LATEX2HTML appends to the navigation panel.
For example,
\htmladdtonavigation{\htmladdnormallink {\htmladdimg{http://server/mybutton.gif}}{http://server/link}}will add an active button mybutton.gif pointing to the specified location.
Apart from these facilities it is also
possible to specify completely what appears in the navigation panels
and in what order. As each section is processed, LATEX2HTML
assigns relevant information to a number of global variables.
These variables are used by the
subroutines top_navigation_panel and
bottom_navigation_panel,
where the navigation panel is constructed as a string consisting of
these variables and some formatting information.
These subroutines can be redefined in a system-
or user-configuration file (respectively,
$LATEX2HTMLDIR/latex2html.config and $HOME/.latex2html-init).
Any combination of text, HTML tags,
and the variables mentioned below is acceptable.
The control-panel variables are:
Textual links (section titles):
The ``next group'' and ``previous group'' are rarely used, since it is usually possible to determine which are the next/previous logical pages in a document. However these may be needed occasionally with segmented documents, when the segments have been created with different values for the $MAX_SPLIT_DEPTH variable. This is quite distinct from the segmented document effect in which the first page of one segment may have its `PREVIOUS' button artificially linked to the first page of the previous segment, rather than the last page.
The number of words that appears in each textual link
is controlled by the variable $WORDS_IN_NAVIGATION_PANEL_TITLES
which may also be changed in the configuration files.
Below is an example of a navigation panel for the bottom of HTML pages.
(Note that the ``.'' is Perl's string-concatenation operator
and ``#'' signifies a comment.)
sub bot_navigation_panel { # Start with a horizontal rule and descriptive comment "<HR>\n" . "<!--Navigation Panel-->". # Now add a few buttons, with a space between them "$NEXT $UP $PREVIOUS $CONTENTS $INDEX $CUSTOM_BUTTONS" . # Line break "\n<BR>" . # If ``next'' section exists, add its title to the navigation panel ($NEXT_TITLE ? "\n<B> Next:</B> $NEXT_TITLE" : undef) . # Similarly with the ``up'' title ... ($UP_TITLE ? "\n<B>Up:</B> $UP_TITLE\n" : undef) . # ... and the ``previous'' title ($PREVIOUS_TITLE ? "\n<B> Previous:</B> $PREVIOUS_TITLE\n" : undef) . }Note that extra buttons may be included by defining suitable code for the container $CUSTOM_BUTTONS. The use of explicit `newline' (
\n
) characters is not necessary for the
on-screen appearance of the navigation panel within a browser window. However
it maintains an orderly organisation within the .html files themselves,
which is helpful if any hand-editing is later required,
or simply to read their contents.
The corresponding subroutine for a navigation-panel at the top of a page
need not use the rule <HR>, and would require a break (<BR>)
or two at the end, to give some visual separation from the following material.