(info.info)Menus


Next: Cross-refs Prev: Add Up: Advanced Info

How to Create Menus
===================

   Any node in the Info hierarchy may have a "menu"--a list of subnodes.
The `m' command searches the current node's menu for the topic which it
reads from the terminal.

   A menu begins with a line starting with `* Menu:'.  The rest of the
line is a comment.  After the starting line, every line that begins
with a `* ' lists a single topic.  The name of the topic-the argument
that the user must give to the `m' command to select this topic--comes
right after the star and space, and is followed by a colon, spaces and
tabs, and the name of the node which discusses that topic.  The node
name, like node names following `Next', `Previous' and `Up', may be
terminated with a tab, comma, or newline; it may also be terminated
with a period.

   If the node name and topic name are the same, then rather than
giving the name twice, the abbreviation `* NAME::' may be used (and
should be used, whenever possible, as it reduces the visual clutter in
the menu).

   It is considerate to choose the topic names so that they differ from
each other very near the beginning--this allows the user to type short
abbreviations.  In a long menu, it is a good idea to capitalize the
beginning of each item name which is the minimum acceptable
abbreviation for it (a long menu is more than 5 or so entries).

   The nodes listed in a node's menu are called its "subnodes", and it
is their "superior".  They should each have an `Up:' pointing at the
superior.  It is often useful to arrange all or most of the subnodes in
a sequence of `Next' and `Previous' pointers so that someone who wants
to see them all need not keep revisiting the Menu.

   The Info Directory is simply the menu of the node `(dir)Top'--that
is, node `Top' in file `.../info/dir'.  You can put new entries in that
menu just like any other menu.  The Info Directory is *not* the same as
the file directory called `info'.  It happens that many of Info's files
live on that file directory, but they do not have to; and files on that
directory are not automatically listed in the Info Directory node.

   Also, although the Info node graph is claimed to be a "hierarchy",
in fact it can be *any* directed graph.  Shared structures and pointer
cycles are perfectly possible, and can be used if they are appropriate
to the meaning to be expressed.  There is no need for all the nodes in
a file to form a connected structure.  In fact, this file has two
connected components.  You are in one of them, which is under the node
`Top'; the other contains the node `Help' which the `h' command goes
to.  In fact, since there is no garbage collector, nothing terrible
happens if a substructure is not pointed to, but such a substructure is
rather useless since nobody can ever find out that it exists.


automatically generated by info2www