Next: , Up: Menus


7.1 Menu Location

A menu must be located at the end of a node, without any regular text or additional commands between the @end menu and the beginning of the next node. (As a consequence, there may be at most one menu in a node.)

This is actually a useful restriction, since a reader who uses the menu could easily miss any such text. Technically, it is necessary because in Info format, there is no marker for the end of a menu, so Info-reading programs would have no way to know when the menu ends and normal text resumes.

Technically, menus can carry you to any node, regardless of the structure of the document; even to nodes in a different Info file. However, we do not recommend ever making use of this, because the makeinfo implicit pointer creation feature (see makeinfo Pointer Creation) and GNU Emacs Texinfo mode updating commands work only to create menus of subordinate nodes in a hierarchically structured document. Instead, use cross references to refer to arbitrary nodes.

In the past, we recommended using a `@heading' command within an @ifinfo conditional instead of the normal sectioning commands after a very short node with a menu. This had the advantage of making the printed output look better, because there was no very short text between two headings on the page. But aside from not working with makeinfo's implicit pointer creation, it also makes the XML output incorrect, since it does not reflect the true document structure. So, unfortunately we can no longer recommend this.