There may be at most one menu in a node. A menu is conventionally
located at the end of a node, without any regular text or additional
commands between the
@end menu and the beginning of the next
This convention is useful, since a reader who uses the menu could easily miss any such text. Also, any such post-menu text will be considered part of the menu in Info output (which has no marker for the end of a menu). Thus, a line beginning with ‘* ’ will likely be incorrectly handled.
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 making use of this, because it is hard
for readers to follow. Also, 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. It is much
better to use cross references to refer to arbitrary nodes.
Years ago, we recommended using an ‘@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 it does not work with
makeinfo’s implicit pointer creation, and it also makes the
XML output incorrect, since it does not reflect the true document
structure. So, we no longer recommend this.