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.
In the past, we recommended using an ‘@heading’ command within
@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 this also does not
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.