home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / unix / info / texinfo.i03 < prev    next >
Encoding:
GNU Info File  |  1993-06-12  |  49.8 KB  |  1,277 lines

  1. This is Info file texinfo, produced by Makeinfo-1.47 from the input
  2. file texinfo2.tex.
  3.  
  4.    This file documents Texinfo, a documentation system that uses a
  5. single source file to produce both on-line information and a printed
  6. manual.
  7.  
  8.    Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc.
  9.  
  10.    This is the second edition of the Texinfo documentation,
  11. and is consistent with version 2 of `texinfo.tex'.
  12.  
  13.    Permission is granted to make and distribute verbatim copies of this
  14. manual provided the copyright notice and this permission notice are
  15. preserved on all copies.
  16.  
  17.    Permission is granted to copy and distribute modified versions of
  18. this manual under the conditions for verbatim copying, provided that
  19. the entire resulting derived work is distributed under the terms of a
  20. permission notice identical to this one.
  21.  
  22.    Permission is granted to copy and distribute translations of this
  23. manual into another language, under the above conditions for modified
  24. versions, except that this permission notice may be stated in a
  25. translation approved by the Foundation.
  26.  
  27. 
  28. File: texinfo,  Node: titlefont center sp,  Next: title subtitle author,  Prev: titlepage,  Up: Titlepage & Copyright Page
  29.  
  30. `@titlefont', `@center', and `@sp'
  31. ----------------------------------
  32.  
  33.    You can use the `@titlefont', `@sp', and `@center' commands to
  34. create a title page for a printed document.  (This is the first of the
  35. two methods for creating a title page in Texinfo.)
  36.  
  37.    Use the `@titlefont' command to select a large font suitable for the
  38. title itself.
  39.  
  40.    For example:
  41.  
  42.      @titlefont{Texinfo}
  43.  
  44.    Use the `@center' command at the beginning of a line to center the
  45. remaining text on that line.  Thus,
  46.  
  47.      @center @titlefont{Texinfo}
  48.  
  49. centers the title, which in this example is "Texinfo" printed in the
  50. title font.
  51.  
  52.    Use the `@sp' command to insert vertical space.  For example:
  53.  
  54.      @sp 2
  55.  
  56. This inserts two blank lines on the printed page.  (*Note  `@sp': sp,
  57. for more information about the `@sp' command.)
  58.  
  59.    A template for this method looks like this:
  60.  
  61.      @titlepage
  62.      @sp 10
  63.      @center @titlefont{NAME-OF-MANUAL-WHEN-PRINTED}
  64.      @sp 2
  65.      @center SUBTITLE-IF-ANY
  66.      @sp 2
  67.      @center AUTHOR
  68.      ...
  69.      @end titlepage
  70.  
  71.    The spacing of the example fits an 8 1/2 by 11 inch manual.
  72.  
  73. 
  74. File: texinfo,  Node: title subtitle author,  Next: Copyright & Permissions,  Prev: titlefont center sp,  Up: Titlepage & Copyright Page
  75.  
  76. `@title', `@subtitle', and `@author'
  77. ------------------------------------
  78.  
  79.    You can use the `@title', `@subtitle', and `@author' commands to
  80. create a title page in which the vertical and horizontal spacing is
  81. done for you automatically.  This contrasts with the method described in
  82. the previous section, in which the `@sp' command is needed to adjust
  83. vertical spacing.
  84.  
  85.    Write the `@title', `@subtitle', or `@author' commands at the
  86. beginning of a line followed by the title, subtitle, or author.
  87.  
  88.    The `@title' command produces a line in which the title is set flush
  89. to the left-hand side of the page in a larger than normal font. The
  90. title is underlined with a black rule.
  91.  
  92.    The `@subtitle' command sets subtitles in a normal-sized font flush
  93. to the right-hand side of the page.
  94.  
  95.    The `@author' command sets the names of the author or authors in a
  96. middle-sized font flush to the left-hand side of the page on a line
  97. near the bottom of the title page.  The names are underlined with a
  98. black rule that is thinner than the rule that underlines the title.
  99. (The black rule only occurs if the `@author' command line is followed
  100. by an `@page' command line.)
  101.  
  102.    There are two ways to use the `@author' command: you can write the
  103. name or names on the remaining part of the line that starts with an
  104. `@author' command:
  105.  
  106.      @author by Jane Smith and John Doe
  107.  
  108. or you can write the names one above each other by using two (or more)
  109. `@author' commands:
  110.  
  111.      @author Jane Smith
  112.      @author John Doe
  113.  
  114. (Only the bottom name is underlined with a black rule.)
  115.  
  116.    A template for this method looks like this:
  117.  
  118.      @titlepage
  119.      @title NAME-OF-MANUAL-WHEN-PRINTED
  120.      @subtitle SUBTITLE-IF-ANY
  121.      @subtitle SECOND-SUBTITLE
  122.      @author AUTHOR
  123.      @page
  124.      ...
  125.      @end titlepage
  126.  
  127. Contrast this form with the form of a title page written using the
  128. `@sp', `@center', and `@titlefont' commands:
  129.  
  130.      @titlepage
  131.      @sp 10
  132.      @center @titlefont{Name of Manual When Printed}
  133.      @sp 2
  134.      @center Subtitle, If Any
  135.      @sp 1
  136.      @center Second subtitle
  137.      @sp 2
  138.      @center Author
  139.      @page
  140.      ...
  141.      @end titlepage
  142.  
  143. 
  144. File: texinfo,  Node: Copyright & Permissions,  Next: end titlepage,  Prev: title subtitle author,  Up: Titlepage & Copyright Page
  145.  
  146. Copyright Page and Permissions
  147. ------------------------------
  148.  
  149.    By international treaty, the copyright notice for a book should be
  150. either on the title page or on the back of the title page.  The
  151. copyright notice should include the year followed by the name of the
  152. organization or person who owns the copyright.
  153.  
  154.    When the copyright notice is on the back of the title page, that page
  155. is customarily not numbered.  Therefore, in Texinfo, the information on
  156. the copyright page should be within `@titlepage' and `@end titlepage'
  157. commands.
  158.  
  159.    Use the `@page' command to cause a page break.  To push the
  160. copyright notice and the other text on the copyright page towards the
  161. bottom of the page, you can write a somewhat mysterious line after the
  162. `@page' command that reads like this:
  163.  
  164.      @vskip 0pt plus 1filll
  165.  
  166. This is a TeX command that is not supported by the Info formatting
  167. commands.  The `@vskip' command inserts whitespace.  The `0pt plus
  168. 1filll' means to put in zero points of mandatory whitespace, and as
  169. much optional whitespace as needed to push the following text to the
  170. bottom of the page.  Note the use of three `l's in the word `filll';
  171. this is the correct usage in TeX.
  172.  
  173.    In a printed manual, the `@copyright{}' command generates a `c'
  174. inside a circle.  (In Info, it generates `(C)'.)  The copyright notice
  175. itself has the following legally defined sequence:
  176.  
  177.      Copyright (C) YEAR COPYRIGHT-OWNER
  178.  
  179.    It is customary to put information on how to get a manual after the
  180. copyright notice, followed by the copying permissions for the manual.
  181.  
  182.    Note that permissions must be given here as well as in the summary
  183. segment within `@ifinfo' and `@end ifinfo' that immediately follows the
  184. header since this text appears only in the printed manual and the
  185. `ifinfo' text appears only in the Info file.
  186.  
  187.    *Note Sample Permissions::, for the standard text.
  188.  
  189. 
  190. File: texinfo,  Node: end titlepage,  Next: headings on off,  Prev: Copyright & Permissions,  Up: Titlepage & Copyright Page
  191.  
  192. Heading Generation
  193. ------------------
  194.  
  195.    An `@end titlepage' command on a line by itself not only marks the
  196. end of the title and copyright pages, but also causes TeX to start
  197. generating page headings and page numbers.
  198.  
  199.    To repeat what is said elsewhere,  Texinfo has two standard page
  200. heading formats, one for documents which are printed on one side of
  201. each sheet of paper (single-sided printing), and the other for
  202. documents which are printed on both sides of each sheet (double-sided
  203. printing). (*Note `@setchapternewpage': setchapternewpage.) You can
  204. specify these formats in different ways:
  205.  
  206.    * The conventional way is to write an `@setchapternewpage' command
  207.      before the title page commands, and then have the `@end titlepage'
  208.      command start generating page headings in the manner desired.
  209.      (*Note `@setchapternewpage': setchapternewpage.)
  210.  
  211.    * Alternatively, you can use the `@headings' command to prevent page
  212.      headings from being generated or to start them for either single or
  213.      double-sided printing.  (Write an `@headings' command immediately
  214.      after the `@end titlepage' command.  *Note The `@headings'
  215.      Command: headings on off, for more information.)
  216.  
  217.    * Or, you may specify your own page heading and footing format.
  218.      *Note Page Headings: Headings, for detailed information about page
  219.      headings and footings.
  220.  
  221.    Most documents are formatted with the standard single-sided or
  222. double-sided format, using `@setchapternewpage odd' for double-sided
  223. printing and no `@setchapternewpage' command for single-sided printing.
  224.  
  225. 
  226. File: texinfo,  Node: headings on off,  Prev: end titlepage,  Up: Titlepage & Copyright Page
  227.  
  228. The `@headings' Command
  229. -----------------------
  230.  
  231.    The `@headings' command is rarely used.  It specifies what kind of
  232. page headings and footings to print on each page.  Usually, this is
  233. controlled by the `@setchapternewpage' command.  You need the
  234. `@headings' command only if the `@setchapternewpage' command does not
  235. do what you want, or if you want to turn off pre-defined page headings
  236. prior to defining your own.  Write an `@headings' command immediately
  237. after the `@end titlepage' command.
  238.  
  239.    There are four ways to use the `@headings' command:
  240.  
  241. `@headings off'
  242.      Turn off printing of page headings.
  243.  
  244. `@headings single'
  245.      Turn on page headings appropriate for single-sided printing.
  246.  
  247. `@headings double'
  248. `@headings on'
  249.      Turn on page headings appropriate for double-sided printing.  The
  250.      two commands, `@headings on' and `@headings double', are
  251.      synonymous.
  252.  
  253.    For example, suppose you write `@setchapternewpage off' before the
  254. `@titlepage' command to tell TeX to start a new chapter on the same
  255. page as the end of the last chapter.  This command also causes TeX to
  256. typeset page headers for single-sided printing.  To cause TeX to
  257. typeset for double sided printing, write `@headings double' after the
  258. `@end titlepage' command.
  259.  
  260.    You can stop TeX from generating any page headings at all by writing
  261. `@headings off' on a line of its own immediately after the line
  262. containing the `@end titlepage' command, like this:
  263.  
  264.      @end titlepage
  265.      @headings off
  266.  
  267. The `@headings off' command overrides the `@end titlepage' command,
  268. which would otherwise cause TeX to print page headings.
  269.  
  270.    You can also specify your own style of page heading and footing.
  271. *Note Page Headings: Headings, for more information.
  272.  
  273. 
  274. File: texinfo,  Node: The Top Node,  Next: Software Copying Conditions,  Prev: Titlepage & Copyright Page,  Up: Beginning a File
  275.  
  276. The `Top' Node and Master Menu
  277. ==============================
  278.  
  279.    The `Top' node is the node from which you enter an Info from outside.
  280.  
  281.    A `Top' node should contain a brief description of the Info file and
  282. an extensive, master menu for the whole Info file. This helps the
  283. reader understand what the Info file is about.  Also, you should write
  284. the version number of the program to which the Info file applies; or,
  285. at least, the edition number.
  286.  
  287.    The contents of the `Top' node should appear only in the Info file;
  288. none of it should appear in printed output, so enclose it between
  289. `@ifinfo' and `@end ifinfo' commands.  (TeX does not print either an
  290. `@node' line or a menu; they appear only in Info; strictly speaking,
  291. you are not required to enclose these parts between `@ifinfo' and `@end
  292. ifinfo', but it is simplest to do so. *Note Conditionally Visible Text:
  293. Conditionals.)
  294.  
  295. * Menu:
  296.  
  297. * Title of Top Node::           Sketch what the file is about.
  298. * Master Menu Parts::           A master menu has three or more parts.
  299.  
  300. 
  301. File: texinfo,  Node: Title of Top Node,  Next: Master Menu Parts,  Up: The Top Node
  302.  
  303. `Top' Node Title
  304. ----------------
  305.  
  306.    Sometimes, you will want to place an `@top' sectioning command line
  307. containing the title of the document immediately after the `@node Top'
  308. line (*note The `@top' Sectioning Command: makeinfo top command., for
  309. more information).
  310.  
  311.    For example, the beginning of the Top node of this manual contains an
  312. `@top' sectioning command, a short description, and edition and version
  313. information.  It looks like this:
  314.  
  315.      ...
  316.      @end titlepage
  317.      
  318.      @ifinfo
  319.      @node Top, Copying, (dir), (dir)
  320.      @top Texinfo
  321.      
  322.      Texinfo is a documentation system...
  323.      
  324.      This is edition...
  325.      ...
  326.      @end ifinfo
  327.      
  328.      @menu
  329.      * Copying::                 Texinfo is freely
  330.                                    redistributable.
  331.      * Overview::                What is Texinfo?
  332.      ...
  333.      @end menu
  334.  
  335.    In a `Top' node, the `Previous', and `Up' nodes usually refer to the
  336. top level directory of the whole Info system, which is called `(dir)'.
  337.  
  338. 
  339. File: texinfo,  Node: Master Menu Parts,  Prev: Title of Top Node,  Up: The Top Node
  340.  
  341. Parts of a Master Menu
  342. ----------------------
  343.  
  344.    A "master menu" is a detailed main menu listing all the nodes in a
  345. file.
  346.  
  347.    A master menu is enclosed in `@menu' and `@end menu' commands and
  348. does not appear in the printed document.
  349.  
  350.    Generally, a master menu is divided into parts.
  351.  
  352.    * The first part contains the major nodes in the Texinfo file: the
  353.      nodes for the chapters, chapter-like sections, and the appendices.
  354.  
  355.    * The second part contains nodes for the indices.
  356.  
  357.    * The third and subsequent parts contain a listing of the other,
  358.      lower level nodes, often ordered by chapter.  This way, rather
  359.      than go through an intermediary menu, an inquirer can go directly
  360.      to a particular node when searching for specific information. 
  361.      These menu items are not required; add them if you think they are a
  362.      convenience.
  363.  
  364.    Each section in the menu can be introduced by a descriptive line.  So
  365. long as the line does not begin with an asterisk, it will not be
  366. treated as a menu entry.  (*Note Writing a Menu::, for more
  367. information.)
  368.  
  369.    For example, the master menu for this manual looks like the following
  370. (but has many more entries):
  371.  
  372.      @menu
  373.      * Copying::             Texinfo is freely
  374.                                redistributable.
  375.      * Overview::            What is Texinfo?
  376.      * Texinfo Mode::        Special features in GNU Emacs.
  377.      ...
  378.      ...
  379.      * Command and Variable Index::
  380.                              An entry for each @-command.
  381.      * Concept Index::       An entry for each concept.
  382.      
  383.       --- The Detailed Node Listing ---
  384.      
  385.      Overview of Texinfo
  386.      
  387.      * Info Files::          What is an Info file?
  388.      * Printed Manuals::     Characteristics of
  389.                                a printed manual.
  390.      ...
  391.      ...
  392.      
  393.      Using Texinfo Mode
  394.      
  395.      * Info on a Region::    Formatting part of a file
  396.                                for Info.
  397.      ...
  398.      ...
  399.      @end menu
  400.  
  401. 
  402. File: texinfo,  Node: Software Copying Conditions,  Prev: The Top Node,  Up: Beginning a File
  403.  
  404. Software Copying Conditions
  405. ===========================
  406.  
  407.    If the Texinfo file has a section containing the "General Public
  408. License" and the distribution information and a warranty disclaimer for
  409. the software that is documented, this section usually follows the `Top'
  410. node.  The General Public License is very important to Project GNU
  411. software.  It ensures that you and others will continue to have a right
  412. to use and share the software.
  413.  
  414.    The copying and distribution information and the disclaimer are
  415. followed by an introduction or else by the first chapter of the manual.
  416.  
  417.    Although an introduction is not a required part of a Texinfo file, it
  418. is very helpful.  Ideally, it should state clearly and concisely what
  419. the file is about and who would be interested in reading it.  In
  420. general, an introduction would follow the licensing and distribution
  421. information, although sometimes people put it earlier in the document.
  422. Usually, an introduction is put in an `@unnumbered' section. (*Note The
  423. `@unnumbered' and `@appendix' Commands: unnumbered & appendix.)
  424.  
  425. 
  426. File: texinfo,  Node: Ending a File,  Next: Structuring,  Prev: Beginning a File,  Up: Top
  427.  
  428. Ending a Texinfo File
  429. *********************
  430.  
  431.    The end of a Texinfo file should include the commands that create
  432. indices and generate detailed and summary tables of contents. And it
  433. must include the `@bye' command that marks the last line processed by
  434. TeX.
  435.  
  436.    For example:
  437.  
  438.      @node    Concept Index,     , Variables Index, Top
  439.      @comment node-name,     next, previous,      up
  440.      @unnumbered Concept Index
  441.      
  442.      @printindex cp
  443.      
  444.      @contents
  445.      @bye
  446.  
  447. * Menu:
  448.  
  449. * Printing Indices & Menus::    How to print an index in hardcopy and
  450.                                   generate index menus in Info.
  451. * Contents::                    How to create a table of contents.
  452. * File End::                    How to mark the end of a file.
  453.  
  454. 
  455. File: texinfo,  Node: Printing Indices & Menus,  Next: Contents,  Up: Ending a File
  456.  
  457. Index Menus and Printing an Index
  458. =================================
  459.  
  460.    To print an index means to include it as part of a manual or Info
  461. file.  This does not happen automatically just because you use
  462. `@cindex' or other index-entry generating commands in the Texinfo file;
  463. those just cause the raw data for the index to be accumulated.  To
  464. generate an index, you must include the `@printindex' command at the
  465. place in the document where you want the index to appear.  Also, as
  466. part of the process of creating a printed manual, you must run a
  467. program called `texindex' (*note Format/Print Hardcopy::.) to sort the
  468. raw data to produce a sorted index file.  The sorted index file is what
  469. is actually used to print the index.
  470.  
  471.    Texinfo offers six different types of predefined index: the concept
  472. index, the function index, the variables index, the keystroke index, the
  473. program index, and the data type index (*note Predefined Indices::.). 
  474. Each index type has a two-letter name: `cp', `fn', `vr', `ky', `pg',
  475. and `tp'.  You may merge indices, or put them into separate sections
  476. (*note Combining Indices::.).
  477.  
  478.    The `@printindex' command takes a two-letter index name, reads the
  479. corresponding sorted index file and formats it appropriately into an
  480. index.
  481.  
  482.    The `@printindex' command does not generate a chapter heading for
  483. the index.  Consequently, you should precede the `@printindex' command
  484. with a suitable section or chapter command (usually `@unnumbered') to
  485. supply the chapter heading and put the index into the table of
  486. contents.  Precede the `@unnumbered' command with an `@node' line.  For
  487. example:
  488.  
  489.      @node Variables Index, Concept Index, Function Index, Top
  490.      @comment    node-name,          next,       previous,  up
  491.      @unnumbered Variable Index
  492.      
  493.      @printindex vr
  494.  
  495.      @node     Concept Index,     , Variables Index, Top
  496.      @comment      node-name, next,        previous,  up
  497.      @unnumbered Concept Index
  498.      
  499.      @printindex cp
  500.  
  501.      @summarycontents
  502.      @contents
  503.      @bye
  504.  
  505. (Readers often prefer that the concept index come last in a book, since
  506. that makes it easiest to find.)
  507.  
  508. 
  509. File: texinfo,  Node: Contents,  Next: File End,  Prev: Printing Indices & Menus,  Up: Ending a File
  510.  
  511. Generating a Table of Contents
  512. ==============================
  513.  
  514.    The `@chapter', `@section', and other structuring commands supply
  515. the information to make up a table of contents, but they do not cause
  516. an actual table to appear in the manual.  To do this, you must use the
  517. `@contents' and `@summarycontents' commands:
  518.  
  519. `@contents'
  520.      Generate a table of contents in a printed manual, including all
  521.      chapters, sections, subsections, etc., as well as appendices and
  522.      unnumbered chapters.  (Headings generated by the `@heading' series
  523.      of commands do not appear in the table of contents.)  The
  524.      `@contents' command should be written on a line by itself.
  525.  
  526. `@shortcontents'
  527. `@summarycontents'
  528.      (`@summarycontents' is a synonym for `@shortcontents'; the two
  529.      commands are exactly the same.)
  530.  
  531.      Generate a short or summary table of contents that lists only the
  532.      chapters (and appendices and unnumbered chapters).  Omit sections,
  533.      subsections and subsubsections.  Only a long manual needs a short
  534.      table of contents in addition to the full table of contents.
  535.  
  536.      Write the `@shortcontents' command on a line by itself right
  537.      *before* the `@contents' command.
  538.  
  539.    The table of contents commands automatically generate a chapter-like
  540. heading at the top of the first table of contents page.  Write the table
  541. of contents commands at the very end of a Texinfo file, just before the
  542. `@bye' command, following any index sections--anything in the Texinfo
  543. file after the table of contents commands will be omitted from the
  544. table of contents.  When you print a manual with a table of contents,
  545. the table of contents will be printed last and numbered with roman
  546. numerals.  You need to place those pages in their proper place, after
  547. the title page, yourself.  (This is the only collating you need to do
  548. for a printed manual.  The table of contents is printed last because it
  549. is generated after the rest of the manual is typeset.)
  550.  
  551.    Here is an example of where to write table of contents commands:
  552.  
  553.      INDICES...
  554.      @shortcontents
  555.      @contents
  556.      @bye
  557.  
  558.    Since an Info file uses menus instead of tables of contents, the Info
  559. formatting commands ignore the `@contents' and `@shortcontents'
  560. commands.
  561.  
  562. 
  563. File: texinfo,  Node: File End,  Prev: Contents,  Up: Ending a File
  564.  
  565. `@bye' File Ending
  566. ==================
  567.  
  568.    An `@bye' command terminates TeX or Info formatting.  None of the
  569. formatting commands see any of the file following `@bye'. The `@bye'
  570. command should be on a line by itself.
  571.  
  572.    If you wish, you may follow the `@bye' line with notes. These notes
  573. will not be formatted and will not appear in either Info or a printed
  574. manual; it is as if text after `@bye' were within `@ignore' ... `@end
  575. ignore'.  Also, you may follow the `@bye' line with a local variables
  576. list.  *Note Using Local Variables and the Compile Command:
  577. Compile-Command, for more information.
  578.  
  579. 
  580. File: texinfo,  Node: Structuring,  Next: Nodes,  Prev: Ending a File,  Up: Top
  581.  
  582. Chapter Structuring
  583. *******************
  584.  
  585.    The "chapter structuring" commands divide a document into a
  586. hierarchy of chapters, sections, subsections, and subsubsections. 
  587. These commands generate large headings; they also provide information
  588. for the table of contents of a printed manual (*note Generating a Table
  589. of Contents: Contents.).
  590.  
  591.    The chapter structuring commands do not create an Info node
  592. structure, so normally you should put an `@node' command immediately
  593. before each chapter structuring command (*note Nodes::.).  The only
  594. time you are likely to use the chapter structuring commands without
  595. using the node structuring commands is if you are writing a document
  596. that contains no cross references and will never be transformed into
  597. Info format.
  598.  
  599.    It is unlikely that you will ever write a Texinfo file that is
  600. intended only as an Info file and not as a printable document.  If you
  601. do, you might still use chapter structuring commands to create a
  602. heading at the top of each node--but you don't need to.
  603.  
  604. * Menu:
  605.  
  606. * Tree Structuring::            A manual is like an upside down tree ...
  607. * Structuring Command Types::   How to divide a manual into parts.
  608. * makeinfo top::                The `@top' command, part of the `Top' node.
  609. * chapter::
  610. * unnumbered & appendix::
  611. * majorheading & chapheading::
  612. * section::
  613. * unnumberedsec appendixsec heading::
  614. * subsection::
  615. * unnumberedsubsec appendixsubsec subheading::
  616. * subsubsection::               Commands for the lowest level sections.
  617.  
  618. 
  619. File: texinfo,  Node: Tree Structuring,  Next: Structuring Command Types,  Up: Structuring
  620.  
  621. Tree Structure of Sections
  622. ==========================
  623.  
  624.    A Texinfo file is usually structured like a book with chapters,
  625. sections, subsections, and the like.  This structure can be visualized
  626. as a tree (or rather as an upside-down tree) with the root at the top
  627. and the levels corresponding to chapters, sections, subsection, and
  628. subsubsections.
  629.  
  630.    Here is a diagram that shows a Texinfo file with three chapters,
  631. each of which has two sections.
  632.  
  633.                                Top
  634.                                 |
  635.               -------------------------------------
  636.              |                  |                  |
  637.           Chapter 1          Chapter 2          Chapter 3
  638.              |                  |                  |
  639.           --------           --------           --------
  640.          |        |         |        |         |        |
  641.       Section  Section   Section  Section   Section  Section
  642.         1.1      1.2       2.1      2.2       3.1      3.2
  643.  
  644.    In a Texinfo file that has this structure, the beginning of Chapter 2
  645. looks like this:
  646.  
  647.      @node    Chapter 2,  Chapter 3, Chapter 1, top
  648.      @chapter Chapter 2
  649.  
  650.    The chapter structuring commands are described in the sections that
  651. follow; the `@node' and `@menu' commands are described in following
  652. chapters. (*Note Nodes::, and see *Note Menus::.)
  653.  
  654. 
  655. File: texinfo,  Node: Structuring Command Types,  Next: makeinfo top,  Prev: Tree Structuring,  Up: Structuring
  656.  
  657. Types of Structuring Command
  658. ============================
  659.  
  660.    The chapter structuring commands fall into four groups or series,
  661. each of which contains structuring commands corresponding to the
  662. hierarchical levels of chapters, sections, subsections, and
  663. subsubsections.
  664.  
  665.    The four groups are the `@chapter' series, the `@unnumbered' series,
  666. the `@appendix' series, and the `@heading' series.
  667.  
  668.    Each command produces titles that have a different appearance on the
  669. printed page or Info file; only some of the commands produce titles
  670. that are listed in the table of contents of a printed book or manual.
  671.  
  672.    * The `@chapter' and `@appendix' series of commands produce numbered
  673.      or lettered entries both in the body of a printed work and in its
  674.      table of contents.
  675.  
  676.    * The `@unnumbered' series of commands produce unnumbered entries
  677.      both in the body of a printed work and in its table of contents. 
  678.      The `@top' command, which has a special use, is a member of this
  679.      series (*note `@top': makeinfo top.).
  680.  
  681.    * The `@heading' series of commands produce unnumbered headings that
  682.      do not appear in a table of contents.  The heading commands never
  683.      start a new page.
  684.  
  685.    * The `@majorheading' command produces results similar to using the
  686.      `@chapheading' command but generates a larger vertical whitespace
  687.      before the heading.
  688.  
  689.    * When an `@setchapternewpage' command says to do so, the
  690.      `@chapter', `@unnumbered', and `@appendix' commands start new
  691.      pages in the printed manual; the `@heading' commands do not.
  692.  
  693.    Here are the four groups of chapter structuring commands:
  694.  
  695.                                                             No new pages
  696.      Numbered       Unnumbered       Lettered and numbered  Unnumbered
  697.      In contents    In contents          In contents        Not in contents
  698.      
  699.                     @top                                    @majorheading
  700.      @chapter       @unnumbered          @appendix          @chapheading
  701.      @section       @unnumberedsec       @appendixsec       @heading
  702.      @subsection    @unnumberedsubsec    @appendixsubsec    @subheading
  703.      @subsubsection @unnumberedsubsubsec @appendixsubsubsec @subsubheading
  704.  
  705. 
  706. File: texinfo,  Node: makeinfo top,  Next: chapter,  Prev: Structuring Command Types,  Up: Structuring
  707.  
  708. `@top'
  709. ======
  710.  
  711.    The `@top' command is a special sectioning command that you use only
  712. after an `@node Top' line at the beginning of a Texinfo file. The
  713. `@top' command tells the `makeinfo' formatter which node is the `Top'
  714. node.  It has the same typesetting effect as `@unnumbered' (*note
  715. `@unnumbered': (`@appendix')unnumbered & appendix.). For detailed
  716. information, see *Note The `@top' Command: makeinfo top command.
  717.  
  718. 
  719. File: texinfo,  Node: chapter,  Next: unnumbered & appendix,  Prev: makeinfo top,  Up: Structuring
  720.  
  721. `@chapter'
  722. ==========
  723.  
  724.    `@chapter' identifies a chapter in the document.  Write the command
  725. at the beginning of a line and follow it on the same line by the title
  726. of the chapter.
  727.  
  728.    For example, this chapter in this manual is entitled "Chapter
  729. Structuring"; the `@chapter' line looks like this:
  730.  
  731.      @chapter Chapter Structuring
  732.  
  733.    In TeX, the `@chapter' command creates a chapter in the document,
  734. specifying the chapter title.  The chapter is numbered automatically.
  735.  
  736.    In Info, the `@chapter' command causes the title to appear on a line
  737. by itself, with a line of asterisks inserted underneath.  Thus, in
  738. Info, the above example produces the following output:
  739.  
  740.      Chapter Structuring
  741.      *******************
  742.  
  743. 
  744. File: texinfo,  Node: unnumbered & appendix,  Next: majorheading & chapheading,  Prev: chapter,  Up: Structuring
  745.  
  746. `@unnumbered', `@appendix'
  747. ==========================
  748.  
  749.    Use the `@unnumbered' command to create a chapter that appears in a
  750. printed manual without chapter numbers of any kind.  Use the
  751. `@appendix' command to create an appendix in a printed manual that is
  752. labelled by letter instead of by number.
  753.  
  754.    For Info file output, the `@unnumbered' and `@appendix' commands are
  755. equivalent to `@chapter': the title is printed on a line by itself with
  756. a line of asterisks underneath.  (*Note  `@chapter': chapter.)
  757.  
  758.    To create an appendix or an unnumbered chapter, write an `@appendix'
  759. or `@unnumbered' command at the beginning of a line and follow it on
  760. the same line by the title, as you would if you were creating a chapter.
  761.  
  762. 
  763. File: texinfo,  Node: majorheading & chapheading,  Next: section,  Prev: unnumbered & appendix,  Up: Structuring
  764.  
  765. `@majorheading', `@chapheading'
  766. ===============================
  767.  
  768.    The `@majorheading' and `@chapheading' commands put chapter-like
  769. headings in the body of a document.
  770.  
  771.    However, neither command causes TeX to produce a numbered heading or
  772. an entry in the table of contents; and neither command causes TeX to
  773. start a new page in a printed manual.
  774.  
  775.    In TeX, an `@majorheading' command generates a larger vertical
  776. whitespace before the heading than an `@chapheading' command but is
  777. otherwise the same.
  778.  
  779.    In Info, the `@majorheading' and `@chapheading' commands are
  780. equivalent to `@chapter': the title is printed on a line by itself with
  781. a line of asterisks underneath.  (*Note `@chapter': chapter.)
  782.  
  783. 
  784. File: texinfo,  Node: section,  Next: unnumberedsec appendixsec heading,  Prev: majorheading & chapheading,  Up: Structuring
  785.  
  786. `@section'
  787. ==========
  788.  
  789.    In a printed manual, an `@section' command identifies a numbered
  790. section within a chapter.  The section title appears in the table of
  791. contents.  In Info, an `@section' command provides a title for a
  792. segment of text, underlined with `='.
  793.  
  794.    This section is headed with an `@section' command and looks like
  795. this in the Texinfo file:
  796.  
  797.      @section @code{@@section}
  798.  
  799.    To create a section, write the `@section' command at the beginning
  800. of a line and follow it on the same line by the section title.
  801.  
  802.    Thus,
  803.  
  804.      @section This is a section
  805.  
  806. produces
  807.  
  808.      This is a section
  809.      =================
  810.  
  811. in Info.
  812.  
  813. 
  814. File: texinfo,  Node: unnumberedsec appendixsec heading,  Next: subsection,  Prev: section,  Up: Structuring
  815.  
  816. `@unnumberedsec', `@appendixsec', `@heading'
  817. ============================================
  818.  
  819.    The `@unnumberedsec', `@appendixsec', and `@heading' commands are,
  820. respectively, the unnumbered, appendix-like, and heading-like
  821. equivalents of the `@section' command. (*Note `@section': section.)
  822.  
  823. `@unnumberedsec'
  824.      The `@unnumberedsec' command may be used within an unnumbered
  825.      chapter or within a regular chapter or appendix to provide an
  826.      unnumbered section.
  827.  
  828. `@appendixsec'
  829. `@appendixsection'
  830.      `@appendixsection' is a longer spelling of the `@appendixsec'
  831.      command; the two are synonymous.
  832.  
  833.      Conventionally, the `@appendixsec' or `@appendixsection' command
  834.      is used only within appendices.
  835.  
  836. `@heading'
  837.      You may use the `@heading' command anywhere you wish for a
  838.      section-style heading that will not appear in the table of
  839.      contents.
  840.  
  841. 
  842. File: texinfo,  Node: subsection,  Next: unnumberedsubsec appendixsubsec subheading,  Prev: unnumberedsec appendixsec heading,  Up: Structuring
  843.  
  844. The `@subsection' Command
  845. =========================
  846.  
  847.    Subsections are to sections as sections are to chapters. (*Note
  848. `@section': section.)  In Info, subsection titles are underlined with
  849. `-'.  For example,
  850.  
  851.      @subsection This is a subsection
  852.  
  853. produces
  854.  
  855.      This is a subsection
  856.      --------------------
  857.  
  858.    In a printed manual, subsections are listed in the table of contents
  859. and are numbered three levels deep.
  860.  
  861. 
  862. File: texinfo,  Node: unnumberedsubsec appendixsubsec subheading,  Next: subsubsection,  Prev: subsection,  Up: Structuring
  863.  
  864. The `@subsection'-like Commands
  865. ===============================
  866.  
  867.    The `@unnumberedsubsec', `@appendixsubsec', and `@subheading'
  868. commands are, respectively, the unnumbered, appendix-like, and
  869. heading-like equivalents of the `@subsection' command.  (*Note
  870. `@subsection': subsection.)
  871.  
  872.    In Info, the `@subsection'-like commands generate a title underlined
  873. with hyphens.  In a printed manual, an `@subheading' command produces a
  874. heading like that of a subsection except that it is not numbered and
  875. does not appear in the table of contents.  Similarly, an
  876. `@unnumberedsubsec' command produces an unnumbered heading like that of
  877. a subsection and an `@appendixsubsec' command produces a
  878. subsection-like heading labelled with a letter and numbers; both of
  879. these commands produce headings that appear in the table of contents.
  880.  
  881. 
  882. File: texinfo,  Node: subsubsection,  Prev: unnumberedsubsec appendixsubsec subheading,  Up: Structuring
  883.  
  884. The `subsub' Commands
  885. =====================
  886.  
  887.    The fourth and lowest level sectioning commands in Texinfo are the
  888. `subsub' commands.  They are:
  889.  
  890. `@subsubsection'
  891.      Subsubsections are to subsections as subsections are to sections.
  892.      (*Note `@subsection': subsection.)  In a printed manual,
  893.      subsubsection titles appear in the table of contents and are
  894.      numbered four levels deep.
  895.  
  896. `@unnumberedsubsubsec'
  897.      Unnumbered subsubsection titles appear in the table of contents of
  898.      a printed manual, but lack numbers.  Otherwise, unnumbered
  899.      subsubsections are the same as subsubsections.  In Info, unnumbered
  900.      subsubsections look exactly like ordinary subsubsections.
  901.  
  902. `@appendixsubsubsec'
  903.      Conventionally, appendix commands are used only for appendices and
  904.      are lettered and numbered appropriately in a printed manual.  They
  905.      also appear in the table of contents.  In Info, appendix
  906.      subsubsections look exactly like ordinary subsubsections.
  907.  
  908. `@subsubheading'
  909.      The `@subsubheading' command may be used anywhere that you need a
  910.      small heading that will not appear in the table of contents.  In
  911.      Info, subsubheadings look exactly like ordinary subsubsection
  912.      headings.
  913.  
  914.    In Info,  `subsub' titles are underlined with periods. For example,
  915.  
  916.      @subsubsection This is a subsubsection
  917.  
  918. produces
  919.  
  920.      This is a subsubsection
  921.      .......................
  922.  
  923. 
  924. File: texinfo,  Node: Nodes,  Next: Menus,  Prev: Structuring,  Up: Top
  925.  
  926. Nodes
  927. *****
  928.  
  929.    "Nodes" are the primary segments of a Texinfo file. They do not
  930. themselves impose a hierarchic or any other kind of structure on a file.
  931. Nodes contain "node pointers" that name other nodes, and can contain
  932. "menus" which are lists of nodes.  In Info, the movement commands can
  933. carry you to a pointed-to node or to a node listed in a menu.  Node
  934. pointers and menus provide structure for Info files just as chapters,
  935. sections, subsections, and the like, provide structure for printed
  936. books.
  937.  
  938. * Menu:
  939.  
  940. * Two Paths::                   Different commands to structure
  941.                                   Info output and printed output.
  942. * Node Menu Illustration::      A diagram, and sample nodes and menus.
  943. * node::                        How to write a node, in detail.
  944. * makeinfo Pointer Creation::   How to create node pointers with `makeinfo'.
  945.  
  946. 
  947. File: texinfo,  Node: Two Paths,  Next: Node Menu Illustration,  Up: Nodes
  948.  
  949. Two Paths
  950. =========
  951.  
  952.    The node and menu commands and the chapter structuring commands are
  953. independent of each other:
  954.  
  955.    * In Info, node and menu commands provide structure.  The chapter
  956.      structuring commands generate headings with different kinds of
  957.      underlining--asterisks for chapters, hyphens for sections, and so
  958.      on; they do nothing else.
  959.  
  960.    * In TeX, the chapter structuring commands generate chapter and
  961.      section numbers and tables of contents.  The node and menu
  962.      commands provide information for cross references; they do nothing
  963.      else.
  964.  
  965.    You can use node pointers and menus to structure an Info file any way
  966. you want; and you can write a Texinfo file so that its Info output has a
  967. different structure than its printed output.  However, most Texinfo
  968. files are written such that the structure for the Info output
  969. corresponds to the structure for the printed output.  It is not
  970. convenient to do otherwise.
  971.  
  972.    Generally, printed output is structured in a tree-like hierarchy in
  973. which the chapters are the major limbs from which the sections branch
  974. out.  Similarly, node pointers and menus are organized to create a
  975. matching structure in the Info output.
  976.  
  977. 
  978. File: texinfo,  Node: Node Menu Illustration,  Next: node,  Prev: Two Paths,  Up: Nodes
  979.  
  980. Node and Menu Illustration
  981. ==========================
  982.  
  983.    Here is a copy of the diagram shown earlier that illustrates a
  984. Texinfo file with three chapters, each of which contains two sections.
  985.  
  986.    Note that the "root" is at the top of the diagram and the "leaves"
  987. are at the bottom.  This is how such a diagram is drawn conventionally;
  988. it illustrates an upside-down tree.  For this reason, the root node is
  989. called the `Top' node, and `Up' node pointers carry you closer to the
  990. root.
  991.  
  992.                                Top
  993.                                 |
  994.               -------------------------------------
  995.              |                  |                  |
  996.           Chapter 1          Chapter 2          Chapter 3
  997.              |                  |                  |
  998.           --------           --------           --------
  999.          |        |         |        |         |        |
  1000.       Section  Section   Section  Section   Section  Section
  1001.         1.1      1.2       2.1      2.2       3.1      3.2
  1002.  
  1003.    Write the beginning of the node for Chapter 2 like this:
  1004.  
  1005.      @node     Chapter 2,  Chapter 3, Chapter 1, top
  1006.      @comment  node-name,  next,      previous,  up
  1007.  
  1008. This `@node' line says that the name of this node is "Chapter 2", the
  1009. name of the `Next' node is "Chapter 3", the name of the `Previous' node
  1010. is "Chapter 1", and the name of the `Up' node is "Top".
  1011.  
  1012.      *Please Note:* `Next' refers to the next node at the same
  1013.      hierarchical level in the manual, not necessarily to the next node
  1014.      within the Texinfo file.  In the Texinfo file, the subsequent node
  1015.      may be at a lower level--a section-level node may follow a
  1016.      chapter-level node, and a subsection-level node may follow a
  1017.      section-level node. `Next' and `Previous' refer to nodes at the
  1018.      *same* hierarchical level.
  1019.  
  1020.    To go to Sections 2.1 and 2.2 using Info, you need a menu inside
  1021. Chapter 2.  (*Note Menus::.)  You would write the menu just before the
  1022. beginning of Section 2.1, like this:
  1023.  
  1024.          @menu
  1025.          * Sect. 2.1::    Description of this section.
  1026.          * Sect. 2.2::
  1027.          @end menu
  1028.  
  1029.    Write the node for Sect. 2.1 like this:
  1030.  
  1031.          @node     Sect. 2.1, Sect. 2.2, Chapter 2, Chapter 2
  1032.          @comment  node-name, next,      previous,  up
  1033.  
  1034.    In Info format, the `Next' and `Previous' pointers of a node usually
  1035. lead to other nodes at the same level--from chapter to chapter or from
  1036. section to section (sometimes, as shown, the `Previous' pointer points
  1037. up); an `Up' pointer usually leads to a node at the level above (closer
  1038. to the `Top' node); and a `Menu' leads to nodes at a level below (closer
  1039. to `leaves').  (A cross reference can point to a node at any level; see
  1040. *Note Cross References::.)
  1041.  
  1042.    Usually, an `@node' command and a chapter structuring command are
  1043. used in sequence, along with indexing commands.  (You may follow the
  1044. `@node' line with a comment line that reminds you which pointer is
  1045. which.)
  1046.  
  1047.    Here is the beginning of the chapter in this manual called "Ending a
  1048. Texinfo File".  This shows an `@node' line followed by a comment line,
  1049. an `@chapter' line, and then by indexing lines.
  1050.  
  1051.      @node    Ending a File, Structuring, Beginning a File, Top
  1052.      @comment node-name,     next,        previous,         up
  1053.      @chapter Ending a Texinfo File
  1054.      @cindex Ending a Texinfo file
  1055.      @cindex Texinfo file ending
  1056.      @cindex File ending
  1057.  
  1058. 
  1059. File: texinfo,  Node: node,  Next: makeinfo Pointer Creation,  Prev: Node Menu Illustration,  Up: Nodes
  1060.  
  1061. The `@node' Command
  1062. ===================
  1063.  
  1064.    A "node" is a segment of text that begins at an `@node' command and
  1065. continues until the next `@node' command.  The definition of node is
  1066. different from that for chapter or section.  A chapter may contain
  1067. sections and a section may contain subsections; but a node cannot
  1068. contain subnodes; the text of a node continues only until the next
  1069. `@node' command in the file.  A node usually contains only one chapter
  1070. structuring command, the one that follows the `@node' line.  On the
  1071. other hand, in printed output nodes are used only for cross references,
  1072. so a chapter or section may contain any number of nodes.  Indeed, a
  1073. chapter usually contains several nodes, one for each section,
  1074. subsection, and subsubsection.
  1075.  
  1076.    To create a node, write an `@node' command at the beginning of a
  1077. line, and follow it with four arguments, separated by commas, on the
  1078. rest of the same line.  These arguments are the name of the node, and
  1079. the names of the `Next', `Previous', and `Up' pointers, in that order.
  1080. You may insert spaces before each pointer if you wish; the spaces are
  1081. ignored.  You must write the name of the node, and the names of the
  1082. `Next', `Previous', and `Up' pointers, all on the same line.  Otherwise,
  1083. the formatters fail.  (*note info: (info)Top, for more information
  1084. about nodes in Info.)
  1085.  
  1086.    Usually, you write one of the chapter-structuring command lines
  1087. immediately after an `@node' line--for example, an `@section' or
  1088. `@subsection' line.  (*Note Types of Structuring Command: Structuring
  1089. Command Types.)
  1090.  
  1091.      *Please note:* The GNU Emacs Texinfo mode updating commands work
  1092.      only with Texinfo files in which `@node' lines are followed by
  1093.      chapter structuring lines.  *Note Updating Requirements::.
  1094.  
  1095.    TeX uses `@node' lines to identify the names to use for cross
  1096. references.  For this reason, you must write `@node' lines in a Texinfo
  1097. file that you intend to format for printing, even if you do not intend
  1098. to format it for Info.  (Cross references, such as the one at the end
  1099. of this sentence, are made with `@xref' and its related commands; see
  1100. *Note Cross References::.)
  1101.  
  1102. * Menu:
  1103.  
  1104. * Node Names::                  How to choose node and pointer names.
  1105. * Writing a Node::              How to write an `@node' line.
  1106. * Node Line Tips::              Keep names short.
  1107. * Node Line Requirements::      Keep names unique, without @-commands.
  1108. * First Node::                  How to write a `Top' node.
  1109. * makeinfo top command::        How to use the `@top' command.
  1110. * Top Node Summary::            Write a brief description for readers.
  1111.  
  1112. 
  1113. File: texinfo,  Node: Node Names,  Next: Writing a Node,  Up: node
  1114.  
  1115. Choosing Node and Pointer Names
  1116. -------------------------------
  1117.  
  1118.    The name of a node identifies the node.  The pointers enable you to
  1119. reach other nodes and consist of the names of those nodes.
  1120.  
  1121.    Normally, a node's `Up' pointer contains the name of the node whose
  1122. menu mentions that node.  The node's `Next' pointer contains the name
  1123. of the node that follows that node in that menu and its `Previous'
  1124. pointer contains the name of the node that precedes it in that menu. 
  1125. When a node's `Previous' node is the same as its `Up' node, both node
  1126. pointers name the same node.
  1127.  
  1128.    Usually, the first node of a Texinfo file is the `Top' node, and its
  1129. `Up' and `Previous' pointers point to the `dir' file, which contains
  1130. the main menu for all of Info.
  1131.  
  1132.    The `Top' node itself contains the main or master menu for the
  1133. manual. Also, it is helpful to include a brief description of the
  1134. manual in the `Top' node.  *Note First Node::, for information on how
  1135. to write the first node of a Texinfo file.
  1136.  
  1137. 
  1138. File: texinfo,  Node: Writing a Node,  Next: Node Line Tips,  Prev: Node Names,  Up: node
  1139.  
  1140. How to Write an `@node' Line
  1141. ----------------------------
  1142.  
  1143.    The easiest way to write an `@node' line is to write `@node' at the
  1144. beginning of a line and then the name of the node, like this:
  1145.  
  1146.      @node NODE-NAME
  1147.  
  1148.    If you are using GNU Emacs, you can use the update node commands
  1149. provided by Texinfo mode to insert the names of the pointers; or you
  1150. can leave the pointers out of the Texinfo file and let `makeinfo'
  1151. insert node pointers into the Info file it creates.  (*Note Texinfo
  1152. Mode::, and *Note makeinfo Pointer Creation::.)
  1153.  
  1154.    Alternatively, you can insert the `Next', `Previous', and `Up'
  1155. pointers yourself.  If you do this, you may find it helpful to use the
  1156. Texinfo mode keyboard command `C-c C-c n'.  This command inserts
  1157. `@node' and a comment line listing the names of the pointers in their
  1158. proper order.  The comment line helps you keep track of which arguments
  1159. are for which pointers.  This comment line is especially useful if you
  1160. are not familiar with Texinfo.
  1161.  
  1162.    The template for a node line with `Next', `Previous', and `Up'
  1163. pointers looks like this:
  1164.  
  1165.      @node NODE-NAME, NEXT, PREVIOUS, UP
  1166.  
  1167.    If you wish, you can ignore `@node' lines altogether in your first
  1168. draft and then use the `texinfo-insert-node-lines' command to create
  1169. `@node' lines for you.  However, we do not recommend this practice.  It
  1170. is better to name the node itself at the same time that you write a
  1171. segment so you can easily make cross references.  A large number of
  1172. cross references are an especially important feature of a good Info
  1173. file.
  1174.  
  1175.    After you have inserted an `@node' line, you should immediately
  1176. write an @-command for the chapter or section and insert its name. Next
  1177. (and this is important!), put in several index entries.  Usually, you
  1178. will find at least two and often as many as four or five ways of
  1179. referring to the node in the index.  Use them all.  This will make it
  1180. much easier for people to find the node.
  1181.  
  1182. 
  1183. File: texinfo,  Node: Node Line Tips,  Next: Node Line Requirements,  Prev: Writing a Node,  Up: node
  1184.  
  1185. `@node' Line Tips
  1186. -----------------
  1187.  
  1188.    Here are three suggestions:
  1189.  
  1190.    * Try to pick node names that are informative but short.
  1191.  
  1192.      In the Info file, the file name, node name, and pointer names are
  1193.      all inserted on one line, which may run into the right edge of the
  1194.      window. (This does not cause a problem with Info, but is ugly.)
  1195.  
  1196.    * Try to pick node names that differ from each other near the
  1197.      beginnings of their names.  This way, it is easy to use automatic
  1198.      name completion in Info.
  1199.  
  1200.    * By convention, node names are capitalized just as they would be for
  1201.      section or chapter titles--initial and significant words are
  1202.      capitalized; others are not.
  1203.  
  1204. 
  1205. File: texinfo,  Node: Node Line Requirements,  Next: First Node,  Prev: Node Line Tips,  Up: node
  1206.  
  1207. `@node' Line Requirements
  1208. -------------------------
  1209.  
  1210.    Here are several requirements for `@node' lines:
  1211.  
  1212.    * All the node names for a single Info file must be unique.
  1213.  
  1214.      Duplicates confuse the Info movement commands.  This means, for
  1215.      example, that if you end every chapter with a summary, you must
  1216.      name each summary node differently.  You cannot just call each one
  1217.      "Summary".  You may, however, duplicate the titles of chapters,
  1218.      sections, and the like.  Thus you can end each chapter in a book
  1219.      with a section called "Summary", so long as the node names for
  1220.      those sections are all different.
  1221.  
  1222.    * A pointer name must be the name of a node.
  1223.  
  1224.      The node to which a pointer points may come before or after the
  1225.      node containing the pointer.
  1226.  
  1227.    * You cannot use any of the Texinfo @-commands in a node name;
  1228.      @-commands confuse Info.
  1229.  
  1230.      Thus, the beginning of the section called `@chapter' looks like
  1231.      this:
  1232.  
  1233.           @node  chapter, unnumbered & appendix, makeinfo top, Structuring
  1234.           @comment  node-name,  next,  previous,  up
  1235.           @section @code{@@chapter}
  1236.           @findex chapter
  1237.  
  1238.    * You cannot use commas, colons, or apostrophes within a node name;
  1239.      these confuse TeX or the Info formatters.
  1240.  
  1241.      For example, the following is a section title:
  1242.  
  1243.           @code{@@unnumberedsec}, @code{@@appendixsec}, @code{@@heading}
  1244.  
  1245.      The corresponding node name is:
  1246.  
  1247.           unnumberedsec appendixsec heading
  1248.  
  1249. 
  1250. File: texinfo,  Node: First Node,  Next: makeinfo top command,  Prev: Node Line Requirements,  Up: node
  1251.  
  1252. The First Node
  1253. --------------
  1254.  
  1255.    The first node of a Texinfo file is the `Top' node, except in an
  1256. included file (*note Include Files::.).
  1257.  
  1258.    The `Top' node (which must be named `top' or `Top') should have as
  1259. its `Up' and `Previous' nodes the name of a node in another file, where
  1260. there is a menu that leads to this file.  Specify the file name in
  1261. parentheses.  If the file is to be installed directly in the Info
  1262. directory file, use `(dir)' as the parent of the `Top' node; this is
  1263. short for `(dir)top', and specifies the `Top' node in the `dir' file,
  1264. which contains the main menu for Info.  For example, the `@node Top'
  1265. line of this manual looks like this:
  1266.  
  1267.      @node Top, Overview, (dir), (dir)
  1268.  
  1269. (You may use the Texinfo updating commands or the `makeinfo' utility to
  1270. insert these `Next' and `(dir)' pointers automatically.)
  1271.  
  1272.    *Note Install an Info File::, for more information about installing
  1273. an Info file in the `info' directory.
  1274.  
  1275.    The `Top' node contains the main or master menu for the document.
  1276.  
  1277.