<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Texinfo (version 6.7, 23 September 2019),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.
Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2001, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Free Software
Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Node Menu Illustration (GNU Texinfo 6.7)</title>
<meta name="description" content="Node Menu Illustration (GNU Texinfo 6.7)">
<meta name="keywords" content="Node Menu Illustration (GNU Texinfo 6.7)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<link href="index.html" rel="start" title="Top">
<link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Nodes.html" rel="up" title="Nodes">
<link href="makeinfo-Pointer-Creation.html" rel="next" title="makeinfo Pointer Creation">
<link href="_0040top-Command.html" rel="prev" title="@top Command">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<span id="Node-Menu-Illustration"></span><div class="header">
<p>
Next: <a href="makeinfo-Pointer-Creation.html" accesskey="n" rel="next"><code>makeinfo</code> Pointer Creation</a>, Previous: <a href="_0040top-Command.html" accesskey="p" rel="prev"><code>@top</code> Command</a>, Up: <a href="Nodes.html" accesskey="u" rel="up">Nodes</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<span id="Node-and-Menu-Illustration"></span><h3 class="section">4.7 Node and Menu Illustration</h3>
<p>Here is a diagram that illustrates a Texinfo file with three chapters,
each of which contains two sections.
</p>
<p>The “root” is at the top of the diagram and the “leaves” are at
the bottom. This is how such a diagram is drawn conventionally; it
illustrates an upside-down tree. For this reason, the root node is
called the ‘Top’ node, and ‘Up’ node pointers carry you closer to the
root.
</p>
<div class="example">
<pre class="example"> Top
|
-------------------------------------
| | |
Chapter 1 Chapter 2 Chapter 3
| | |
-------- -------- --------
| | | | | |
Section Section Section Section Section Section
1.1 1.2 2.1 2.2 3.1 3.2
</pre></div>
<p>Using explicit pointers (not recommended, but shown for purposes
of the example), the fully-written command to start Chapter 2
would be this:
</p>
<div class="example">
<pre class="example">@node Chapter 2, Chapter 3, Chapter 1, Top
@comment node-name, next, previous, up
</pre></div>
<p>This <code>@node</code> line says that the name of this node is
“Chapter 2”, the name of the ‘Next’ node is “Chapter 3”, the
name of the ‘Previous’ node is “Chapter 1”, and the name of the
‘Up’ node is “Top”. You can (and should) omit writing out these
node names if your document is hierarchically organized
(see <a href="makeinfo-Pointer-Creation.html"><code>makeinfo</code> Pointer Creation</a>), but the pointer
relationships still obtain.
</p>
<blockquote>
<p><b>Note:</b> ‘Next’ and ‘Previous’ refer to nodes at the <em>same hierarchical
level</em> in the manual, not necessarily to the next node within the
Texinfo file. In the Texinfo file, the subsequent node may be at a
lower level—a section-level node most often follows a chapter-level
node, for example. (The ‘Top’ node contains the exception to this
rule. Since the ‘Top’ node is the only node at that level, ‘Next’
refers to the first following node, which is almost always a chapter
or chapter-level node.)
</p></blockquote>
<p>To go to Sections 2.1 and 2.2 using Info, you need a menu inside
Chapter 2. (See <a href="Menus.html">Menus</a>.) You would write the menu just before the
beginning of Section 2.1, like this:
</p>
<div class="example">
<pre class="example"> @menu
* Sect. 2.1:: Description of this section.
* Sect. 2.2:: Description.
@end menu
</pre></div>
<p>Using explicit pointers, the node for Sect. 2.1 is written like this:
</p>
<div class="example">
<pre class="example">@node Sect. 2.1, Sect. 2.2, Chapter 2, Chapter 2
@comment node-name, next, previous, up
</pre></div>
<p>In Info format, the ‘Next’ and ‘Previous’ pointers of a node usually
lead to other nodes at the same level—from chapter to chapter or
from section to section (sometimes, as shown, the ‘Previous’ pointer
points up); an ‘Up’ pointer usually leads to a node at the level above
(closer to the ‘Top’ node); and a ‘Menu’ leads to nodes at a level
below (closer to ‘leaves’). (A cross-reference can point to a node at
any level; see <a href="Cross-References.html">Cross References</a>.)
</p>
<p>A <code>@node</code> command and a chapter structuring command are
conventionally used together, in that order, often followed by
indexing commands. (As shown in the example above, you may follow the
<code>@node</code> line with a comment line, e.g., to show which pointer is
which if explicit pointers are used.) The Texinfo processors use this
construct to determine the relationships between nodes and sectioning
commands.
</p>
<p>Here is the beginning of the chapter in this manual called “Ending a
Texinfo File”. This shows an <code>@node</code> line followed by an
<code>@chapter</code> line, and then by indexing lines.
</p>
<div class="example">
<pre class="example">@node Ending a File
@chapter Ending a Texinfo File
@cindex Ending a Texinfo file
@cindex Texinfo file ending
@cindex File ending
</pre></div>
<p>An earlier version of the manual used explicit node pointers. Here is
the beginning of the same chapter for that case. This shows an
<code>@node</code> line followed by a comment line, a <code>@chapter</code>
line, and then by indexing lines.
</p>
<div class="example">
<pre class="example">@node Ending a File, Structuring, Beginning a File, Top
@comment node-name, next, previous, up
@chapter Ending a Texinfo File
@cindex Ending a Texinfo file
…
</pre></div>
<hr>
<div class="header">
<p>
Next: <a href="makeinfo-Pointer-Creation.html" accesskey="n" rel="next"><code>makeinfo</code> Pointer Creation</a>, Previous: <a href="_0040top-Command.html" accesskey="p" rel="prev"><code>@top</code> Command</a>, Up: <a href="Nodes.html" accesskey="u" rel="up">Nodes</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>