5.4 Simple Navigation Panel Customization

The navigation panel is the line of links (and labels) that typically appears at the top of each node, so that users can easily get to the next node, the table of contents, and so on. It can be customized extensively.

The customization variables VERTICAL_HEAD_NAVIGATION, ICONS, HEADERS, HEADER_IN_TABLE, USE_ACCESSKEY, USE_REL_REV and WORDS_IN_PAGE may be used to change the navigation panel formatting. See HTML Customization Variables in Texinfo.

Setting ICONS is necessary but not sufficient to get icons for direction buttons since no button image is specified in the default case. The ACTIVE_ICONS and PASSIVE_ICONS customization variables need to be set in addition:

ACTIVE_ICONS
PASSIVE_ICONS

Hash references with element directions as key (see Directions) and button image icons as values. ACTIVE_ICONS is used for directions actually linking to an element, and PASSIVE_ICONS are used if there is no element to link to. The button images are interpreted as URLs.

Several arrays and hashes enable even more precise control over the navigation panel buttons and their display. They can be set as customization variables with texinfo_set_from_init_file. See Setting Main Program String Variables.

The following customization variables arrays determine the buttons present in the various navigation panels:

SECTION_BUTTONS

Specifies the navigation panel buttons present at the beginning of sectioning elements in the case of section navigation being enabled or if split at nodes. Specifies the navigation panel buttons present at the page header if split at section and there is no section navigation.

SECTION_FOOTER_BUTTONS
CHAPTER_FOOTER_BUTTONS
NODE_FOOTER_BUTTONS

These arrays specify the navigation panel buttons present in the page footer when the output is split at sections, chapters or nodes, respectively.

CHAPTER_BUTTONS

Specifies the buttons appearing at the page header if split at chapters and there is no section navigation.

MISC_BUTTONS

Specifies the buttons appearing at the beginning of special elements and, if the output is split, at the end of such elements.

LINKS_BUTTONS

Used for <link> elements if they are output in the headers.

TOP_BUTTONS

Specifies the buttons used in the top element (see Output Element Units).

Each array specifies which buttons are included, and how they are displayed. Each array element is associated with a button of the navigation panel from left to right. The meaning of the array element values is the following:

string with an element unit direction

If icons are not used, the button is a link to the corresponding element whose text is the text direction string (see Direction Strings), surrounded by ‘[’ and ‘]’. If the element direction is ‘ ’, the ‘[’ and ‘]’ are omitted.

If icons are used, the button is an image whose file is determined by the value associated with the element direction in the ACTIVE_ICONS variable hash if the link leads to an element, or in the PASSIVE_ICONS variable hash if there is no element to link to. If there is a link to the element, the icon links to that element. The button name and button description are given as HTML attributes to have a textual description of the icon. The corresponding strings correspond to the button direction string for the button name and the description for a more detailed description (see Direction Strings).

function reference

The function is called with one boolean argument, true if the navigation panel should be vertical. Should return the formatted button text.

scalar reference

The scalar value is printed.

array reference of length 2

Here, the first array element should be a an element direction. A link to the element unit associated with the element direction is generated. The text of the link depends on the second array element.

reference to a text string

In that case, the corresponding text is used.

reference to a function

The functions is called with two arguments, the converter object and the element direction and should return two scalars, the link href and text and a boolean set if a delimiter is needed after that button.

text string

The text string is interpreted as an element direction information type and the corresponding text is used for the link. See Element Direction Information Type.

For example, if the button array element is

[ 'Next', 'node' ]

Then the button will be a link to the next section with text based on the name of the node associated with the next section element unit.

If the customization variable USE_ACCESSKEY is set, the accesskey attribute is used in navigation. The accesskey direction string is then used for the accesskey attributes (see Direction Strings).

Similarly, if the USE_REL_REV customization variable is set, the rel attribute is used in navigation. In that case the rel direction string is used for the rel attribute (see Direction Strings).