Annotation of 43BSDReno/contrib/emacs-18.55/info/texinfo-1, revision 1.1.1.1

1.1       root        1: Info file ../info/texinfo, produced by Makeinfo, -*- Text -*- from
                      2: input file texinfo.texinfo.
                      3: 
                      4: This file documents Texinfo, a documentation system that uses a
                      5: single source file to produce both on-line help and a printed manual.
                      6: 
                      7: This is edition 1.1 of the Texinfo documentation, and is for the
                      8: Texinfo that is distributed as part of Version 18 of GNU Emacs.
                      9: 
                     10: Copyright (C) 1988 Free Software Foundation, Inc.
                     11: 
                     12: Permission is granted to make and distribute verbatim copies of this
                     13: manual provided the copyright notice and this permission notice are
                     14: preserved on all copies.
                     15: 
                     16: Permission is granted to copy and distribute modified versions of
                     17: this manual under the conditions for verbatim copying, provided that
                     18: the entire resulting derived work is distributed under the terms of a
                     19: permission notice identical to this one.
                     20: 
                     21: Permission is granted to copy and distribute translations of this
                     22: manual into another language, under the above conditions for modified
                     23: versions, except that this permission notice may be stated in a
                     24: translation approved by the Foundation.
                     25: 
                     26: 
                     27: 
                     28: File: texinfo,  Node: Top,  Next: License,  Prev: (dir),  Up: (dir)
                     29: 
                     30: * Menu:
                     31: 
                     32: * License::                    Licensing information.
                     33: * Overview::                   What is Texinfo?
                     34: * Texinfo Mode::               Special features in GNU Emacs.
                     35: * Beginning a File::           What to put at the beginning of a Texinfo file.
                     36: * Ending a File::              What to put at the end of a Texinfo file.
                     37: * Structuring::                        How to make nodes and chapters.
                     38: * Quotations and Examples::    How to insert quotations and examples.
                     39: * Lists and Tables::           How to make lists and tables.
                     40: * Cross References::           How to make cross references.
                     41: * Formatting Paragraphs::      How to format paragraphs.
                     42: * Marking Text::               How to mark code, definitions, variables etc.
                     43: * Conditionals::               Putting text in only Info or the printed work.
                     44: * Printing Hardcopy::          How to print a hardcopy of the manual.
                     45: * Creating an Info File::      How to create an on-line Info file.
                     46: * Catching Mistakes::          How to find problems.
                     47: 
                     48: Indices, nodes containing large menus
                     49: 
                     50: * Command Index::              An item for each @-command.
                     51: * Concept Index::              An item for each concept.
                     52: 
                     53: A detailed node listing
                     54: 
                     55: Overview
                     56: * Info File::                  Characteristics of the Info file.
                     57: * Printed Manual::             Characteristics of the printed manual.
                     58: * Conventions::                        General syntactic conventions.
                     59: * Short Sample::               A short sample Texinfo file.
                     60: 
                     61: Using Texinfo Mode
                     62: * Info on a Region::           Formatting a region for Info.
                     63: * Showing the Structure::      Showing the structure of a file.
                     64: * Inserting::                  Inserting frequently used commands.
                     65: 
                     66: Beginning a Texinfo File.
                     67: * First Line::                 The first line of a Texinfo file.
                     68: * Start-of-Header::            Identifying the start of the header.
                     69: * Setfilename::                        Specifying the name of the Info file.
                     70: * Settitle::                   Specifying the title used by the headings.
                     71: * Setchapternewpage::          Starting chapters on odd numbered pages.
                     72: * Titlepage::                  The title and copyright page.
                     73: * Center::                     Centering a line.
                     74: * Copyright & Printed Permissions:: Ensuring free distributability.
                     75: * Top Node::                   The master menu.  
                     76: * License and Distribution::   Your are free to copy and distribute this.
                     77: 
                     78: Ending a Texinfo File
                     79: * Contents::                   Generating tables of contents.
                     80: * Indices::                    Generating indices.
                     81: * Index Entries::              Defining the entries of an index.
                     82: * Combining Indices::          Putting two or more indices together.
                     83: * Printing Indices & Menus::   Printing an index and generating menus.
                     84: 
                     85: Node and Chapter Structuring
                     86: * Chapter::                    Creating a chapter.
                     87: * Unnumbered and Appendix::    Chapter-like parts.
                     88: * Section::                    Creating sections
                     89: * Subsection::                 Creating subsections.
                     90: * Subsubsection::              Creating subsubsections.
                     91: 
                     92: * Node::                       Creating nodes.
                     93: * Menu::                       Creating menus.
                     94: 
                     95: 
                     96: Making quotations and examples
                     97: * Quotation::                  Inserting long quotations.
                     98: * Example::                    Inserting examples of code and the like.
                     99: * Display::                    Inserting displayed text.
                    100: 
                    101: Making lists and two column tables
                    102: * Itemize::                    Creating itemized lists.
                    103: * Enumerate::                  Creating enumerated lists.
                    104: * Table::                      Creating two column tables.
                    105: * Itemx::                      Putting an extra item in the 
                    106:                                first column of a table.
                    107: 
                    108: Making Cross References
                    109: * Xref::                       Making a regular cross reference.
                    110: * Pxref::                      Making a parenthetical cross reference.
                    111: * Inforef::                    Making a cross reference to an Info file.
                    112: 
                    113: 
                    114: Formatting Paragraphs
                    115: * Refilling & Noindent::       Refilling paragraphs 
                    116:                                and preventing indentation
                    117: * Refill::                     Using the `@refill' command.
                    118: * Noindent::                   Using the `@noindent' command.
                    119: 
                    120: 
                    121: Breaks, Blank Lines and Groups
                    122: * Line Breaks::                        Inserting line breaks in TeX.
                    123: * Sp::                         Inserting blank lines.
                    124: * Br::                         Inserting paragraph breaks.
                    125: * W::                          Preventing line breaks.
                    126: * Page::                       Starting new pages.
                    127: * Group::                      Holding text together on one page.
                    128: * Need::                       Keeping text together.
                    129: 
                    130: Marking Text Within a Paragraph
                    131: * Code::                       A literal example of a piece of a program.
                    132: * Samp::                       A literal example of a sequence of characters.
                    133: * File::                       The name of a file.
                    134: * Kbd::                                The names of keys or else characters you type.
                    135: * Key::                                The conventional name for a key on a keyboard.
                    136: * Ctrl::                       Indicates the ASCII control character.
                    137: * Var::                                A variable.
                    138: * Dfn::                                The introductory or defining use of a term.
                    139: * Cite::                       The name of a book.
                    140: 
                    141: Inserting Braces, `@' and Periods
                    142: * Braces Atsigns Periods::     Inserting braces, `@' and periods.
                    143: * Dots Bullets Tex::           Inserting dots, bullets and the TeX logo
                    144: * Emphasis::                   Emphasizing text.
                    145: 
                    146: Emphasizing Text
                    147: * Emph and Strong::            Emphasizing text.
                    148: * Fonts::                      Selecting italic, bold or typewriter fonts.
                    149: 
                    150: Creating an Info File
                    151: * Installing an Info File::    Putting the Info file in the 
                    152:                                `info' directory.
                    153: 
                    154: Catching Mistakes
                    155: * Debugging with Info::            Catching errors with info formatting.
                    156: * Using the Emacs Lisp Debugger::   Using the Emacs Lisp Debugger
                    157: * Debugging with Tex::             Catching errors with TeX formatting.
                    158: * Using texinfo-show-structure::    Using `texinfo-show-structure'
                    159:                                    to catch mistakes.
                    160: * Using Occur::                            Using `occur' to catch mistakes.
                    161: * Running Info-Validate::          Checking for unreferenced nodes.
                    162: 
                    163: Finding badly referenced nodes
                    164: * Info-Validating a Large File::     Running `Info-validate' 
                    165:                                     on a large file.
                    166: * Splitting::                        Splitting a file manually.
                    167: 
                    168: Appendices
                    169: * Command Syntax::             Details about the syntax.
                    170: * Include Files::              Making one printed file out of 
                    171:                                several Info files.
                    172: * TeX Input::                  Where TeX finds its `\input' file.
                    173: * Sample Permissions::         You may copy GNU Software.
                    174: * Ifinfo Permissions::         What to put in the `ifinfo' section.
                    175: * Titlepage Permissions::      What to put in the `@titlepage' section.
                    176: 
                    177:  
                    178: 
                    179: File: texinfo,  Node: License,  Next: Overview,  Prev: Top,  Up: Top
                    180: 
                    181: Licensing Information
                    182: *********************
                    183: 
                    184:   The programs currently being distributed that relate to Texinfo
                    185: include two portions of GNU Emacs, plus two other separate programs
                    186: (`texindex' and `texinfo.tex').  These programs are "free"; this
                    187: means that everyone is free to use them and free to redistribute them
                    188: on a free basis.  The Texinfo related programs are not in the public
                    189: domain; they are copyrighted and there are restrictions on their
                    190: distribution, but these restrictions are designed to permit
                    191: everything that a good cooperating citizen would want to do.  What is
                    192: not allowed is to try to prevent others from further sharing any
                    193: version of these programs that they might get from you.
                    194: 
                    195:   Specifically, we want to make sure that you have the right to give
                    196: away copies of the programs that relate to Texinfo, that you receive
                    197: source code or else can get it if you want it, that you can change
                    198: these programs or use pieces of them in new free programs, and that
                    199: you know you can do these things.
                    200: 
                    201:   To make sure that everyone has such rights, we have to forbid you to
                    202: deprive anyone else of these rights.  For example, if you distribute
                    203: copies of the Texinfo related programs, you must give the recipients
                    204: all the rights that you have.  You must make sure that they, too,
                    205: receive or can get the source code.  And you must tell them their
                    206: rights.
                    207: 
                    208:   Also, for our own protection, we must make certain that everyone
                    209: finds out that there is no warranty for the programs that relate to
                    210: Texinfo.  If these programs are modified by someone else and passed
                    211: on, we want their recipients to know that what they have is not what
                    212: we distributed, so that any problems introduced by others will not
                    213: reflect on our reputation.
                    214: 
                    215:   The precise conditions of the licenses for the programs currently
                    216: being distributed that relate to Texinfo are found in the General
                    217: Public Licenses that accompany them.  The programs that are part of
                    218: GNU Emacs are covered by the GNU Emacs copying terms (*note :
                    219: (emacs)License.), and other programs are covered by licenses that are
                    220: contained in their source files.
                    221: 
                    222: 
                    223: 
                    224: File: texinfo,  Node: Overview,  Next: Texinfo Mode,  Prev: License,  Up: Top
                    225: 
                    226: Overview of Texinfo
                    227: *******************
                    228: 
                    229: Texinfo is a documentation system that uses a single source file for
                    230: both on-line help and a printed manual.  This means that instead of
                    231: writing two different documents, one for the on-line help and the
                    232: other for the printed manual, only one document needs to be written. 
                    233: When the system is revised, only one file has to be revised.
                    234: 
                    235: Using Texinfo, you can create a document with the normal features of
                    236: a book such as chapters, sections, cross references and indices.  The
                    237: chapters and sections of the printed manual can be made to correspond
                    238: to the nodes of the on-line help.  The cross references and indices
                    239: can be used in both the on-line help and in the printed document. 
                    240: Indices are generated semi-automatically.  The ``GNU Emacs Manual''
                    241: is a good example of a Texinfo file.
                    242: 
                    243: To make the printed manual, the Texinfo source file is processed by
                    244: the TeX typesetting program; the resulting DVI file can be typeset
                    245: and printed as a book.  To make the on-line help, the Texinfo source
                    246: file is by processed the `M-x texinfo-format-buffer' command; the
                    247: resulting Info file is installed in the `info' directory.
                    248: 
                    249: Since the Texinfo source file is used for a dual task--to create both
                    250: the on-line help and the printed manual--it must be written in a
                    251: special format that uses @-commands (words preceded by an `@') to
                    252: indicate chapters, sections, nodes, examples, index entries and the
                    253: like.
                    254: 
                    255: Before writing a Texinfo source file, you should be familiar with the
                    256: on-line Info documentation reading program.  (*note info: (info)Info,
                    257: for more information.)  If you are writing a document that will be
                    258: both on-line and printed, you will need both Info and TeX.
                    259: 
                    260: To make an Info file, you use the `M-x texinfo-format-buffer' command
                    261: in GNU Emacs.
                    262: 
                    263: To make a printed manual, you need to use TeX, a powerful,
                    264: sophisticated typesetting program written by Donald Knuth.  TeX is
                    265: freely distributable. It is written in a dialect of Pascal called WEB
                    266: and can be compiled either in Pascal or (by using a conversion
                    267: program that comes with the TeX distribution) in C.  (For information
                    268: about getting TeX, *note : (emacs)TeX Mode.)
                    269: 
                    270: When TeX processes a Texinfo source file, TeX makes use of a macro
                    271: definitions file called `texinfo.tex' that comes with the GNU Emacs
                    272: distribution in the `emacs/man' sources directory.  (The first line
                    273: of every Texinfo file has a command that says `\input texinfo'; this
                    274: tells TeX to use the `texinfo.tex' file.)
                    275: 
                    276: If the `texinfo.tex' file has not already been copied to the
                    277: directory which contains the other TeX macro definition files when
                    278: Emacs was installed, you will probably want to copy it to that
                    279: directory.  Usually, this is the `/usr/lib/tex/macros' directory. 
                    280: For more information, *note @TeX{} Input Initialization: TeX Input.
                    281: 
                    282: Documentation for GNU utilities and libraries should be written in
                    283: Texinfo format.
                    284: 
                    285: * Menu:
                    286: 
                    287: * Info File::         Characteristics of the Info file.
                    288: * Printed Manual::    Characteristics of the Printed Manual.
                    289: * Conventions::       General Syntactic Conventions.
                    290: * Short Sample::      A short sample Texinfo file.
                    291: 
                    292:  
                    293: 
                    294: File: texinfo,  Node: Info File,  Next: Printed Manual,  Up: Overview
                    295: 
                    296: Characteristics of the Info file
                    297: ================================
                    298: 
                    299: A Texinfo file can be transformed into a printed manual and an
                    300: on-line Info file.
                    301: 
                    302: An on-line Info file is a file formatted so that the Info
                    303: documentation reading program can operate on it.  Info files are
                    304: divided into pieces called "nodes", each of which contains the
                    305: discussion of one topic.  Each node has a name, and contains both
                    306: text for the user to read and pointers to other nodes, which are
                    307: identified by their names.  The Info program displays one node at a
                    308: time, and provides commands with which the user can move to the other
                    309: nodes to which the current node points.
                    310: 
                    311: *note info: (info)Info, for more information about using Info.
                    312: 
                    313: Normally, most of the nodes are arranged in a tree which branches down.
                    314: Each node may have any number of child nodes that describe subtopics
                    315: of the node's topic.  The names of these child nodes, if any, are
                    316: listed in a "menu" within the parent node; this allows certain Info
                    317: commands to be used to move to one of the child nodes.  Each child
                    318: node records the parent node name, as its `Up' pointer.  Thus, if a
                    319: node were at the logical level of a `chapter', its child nodes would
                    320: be `sections'; likewise, the child nodes of a section would be
                    321: subsections.
                    322: 
                    323: The root of the tree is the top node of the file, through which users
                    324: enter the file from the Info directory.  By convention, this node is
                    325: always called `Top'.  This node normally contains just a brief
                    326: summary of the file's purpose, and a large menu through which the
                    327: rest of the file is reached.
                    328: 
                    329: Generally you enter the Info file from the top; then you can either
                    330: traverse the file systematically by going from node to node or you
                    331: can search large menus that correspond to indices and go directly to
                    332: the node that has the information you want.
                    333: 
                    334: If you want to read through an Info file in sequence, as if it were a
                    335: printed manual, you can get the whole file with the advanced Info
                    336: command `g *'.  (*note info: (info)Expert.)
                    337: 
                    338: All the children of any one parent are linked together in a
                    339: bidirectional chain of `Next' and `Previous' pointers.  This means
                    340: that all the nodes that are logically parallel to sections within a
                    341: chapter are all linked together.  Normally the order in this chain is
                    342: the same as the order of the children in the parent's menu.  The last
                    343: child has no `Next' pointer, and the first child normally has the
                    344: parent as its `Previous' pointer (as well as its `Up' pointer, of
                    345: course).
                    346: 
                    347: Structuring the nodes in a tree is a matter of convention, not a
                    348: requirement.  In fact, the `Up', `Previous' and `Next' pointers of a
                    349: node can point to any other nodes, and the menu can contain any other
                    350: nodes.  The structure of nodes can be any directed graph.  But it is
                    351: usually more comprehensible to make it a tree.  Info provides another
                    352: kind of pointer between nodes, called a reference, that can be
                    353: sprinkled through the text of a node.  This is usually the best way
                    354: to represent links that do not fit the tree structure.
                    355: 
                    356: Most often the nodes fall into a strict tree structure that
                    357: corresponds to the structure of chapters and sections in the printed
                    358: manual.  But there are times when this is not right for the material
                    359: being discussed.  Therefore, Texinfo uses separate commands to
                    360: specify the node structure of the Info file and the section structure
                    361: of the printed manual.  Also, Texinfo requires that you specify menus
                    362: explicitly, rather than generate them automatically based on an
                    363: assumed tree structure.
                    364: 
                    365: 
                    366: 
                    367: File: texinfo,  Node: Printed Manual,  Next: Conventions,  Prev: Info File,  Up: Top
                    368: 
                    369: Characteristics of the Printed Manual
                    370: =====================================
                    371: 
                    372: A Texinfo file can be formatted and typeset as a printed manual.  The
                    373: printed manual will be the same as any other book; it will have a
                    374: title page, copyright page, table of contents, and preface as you
                    375: would expect, as well as chapters, numbered or unnumbered sections
                    376: and subsections, not to mention page headers, cross references and
                    377: indices.
                    378: 
                    379: Texinfo can be used for writing a book without ever having the
                    380: intention of converting it into on-line help.  Texinfo can be used
                    381: for writing a novel; and it can even be used to write a memo,
                    382: although this application is not recommended since electronic mail is
                    383: so much easier.
                    384: 
                    385: Texinfo uses the formatting language called TeX for typesetting.  A
                    386: file called `texinfo.tex' contains information (definitions or
                    387: "macros") that TeX uses when it typesets a Texinfo file.  (The macros
                    388: tell TeX how to convert the Texinfo @-commands to TeX commands which
                    389: TeX can then process to create the typeset document.) `texinfo.tex'
                    390: contains the specifications for printing a document, either with 7
                    391: inch by 9.25 inch pages or with 8.5 inch by 11 inch pages.  (This is
                    392: 178 mm by 235 mm or else 216 mm by 280 mm.) Also, by changing the
                    393: parameters in `texinfo.tex' you can easily change the size of the
                    394: printed document.  In addition, you can readily change the style in
                    395: which the printed document is formatted; for example, you can change
                    396: the sizes and fonts used, the amount of indentation for each
                    397: paragraph, the degree to which words are hyphenated, and the like. 
                    398: By changing the specifications, you can make a book look dignified,
                    399: old and serious, or light-hearted, young and cheery.
                    400: 
                    401: TeX is very powerful and has a great many features.  Because a
                    402: Texinfo file must be able to present information both on a
                    403: character-only terminal in Info form and in a typeset book, the
                    404: commands that Texinfo supports are necessarily limited.
                    405: 
                    406: 
                    407: 
                    408: File: texinfo,  Node: Conventions,  Next: Short Sample,  Prev: Printed Manual,  Up: Overview
                    409: 
                    410: General Syntactic Conventions
                    411: =============================
                    412: 
                    413: Texinfo files contain a strictly limited set of constructs.  The
                    414: strict limits make it possible for Texinfo files to be understood
                    415: both by TeX and by the code which converts them into Info files.
                    416: 
                    417: All ASCII printing characters except `@', `{' and `}' can appear in
                    418: body text in a Texinfo file and stand for themselves.  `@' is the
                    419: escape character which introduces commands.  `{' and `}' should be
                    420: used only to surround arguments to certain commands.  `{' and `}'
                    421: appearing anywhere else will be treated by TeX as a grouping but
                    422: treated by the code that produces an Info file as themselves; this
                    423: inconsistency is undesirable, so don't let it occur.  To put one of
                    424: these special characters into the document, put an `@' character in
                    425: front of it.  For example, you would insert `@@', `@{', and `@}'.
                    426: 
                    427: It is customary in TeX to use doubled single-quote characters to
                    428: begin and end quotations, ```' like these `'''.  This convention
                    429: should be followed in Texinfo files.  Also, three hyphens in a row,
                    430: `--', are used for a dash--like this.  In TeX, a single or even a
                    431: double hyphen produces a dash that is shorter than you want.
                    432: 
                    433: TeX ignores the line-breaks in the input text, except for blank
                    434: lines, which separate paragraphs.  Info generally preserves the line
                    435: breaks that are present in the input file.  Therefore, break the
                    436: lines in the Texinfo file the way you want them to appear in the
                    437: output Info file, and let TeX take care of itself.
                    438: 
                    439: Since Info does not normally refill paragraphs when it processes
                    440: them, a line with @-commands in it will sometimes look bad after Info
                    441: has run on it.  To cause Info to refill the paragraph after finishing
                    442: with the other processing, you need to put the command `@refill' at
                    443: the end of the paragraph. (*Note Refilling paragraphs and Preventing
                    444: indentation: Refilling & Noindent.)
                    445: 
                    446: To prevent a paragraph from being indented in the printed manual, put
                    447: the command `@noindent' on a line by itself before the start of the
                    448: text that should not be indented.
                    449: 
                    450: If you mark off a region of the Texinfo file with the `@iftex' and
                    451: `@end iftex' commands so that the region will appear only in the
                    452: printed copy, you can use TeX commands that cannot be used in the
                    453: Info file.
                    454: 
                    455: In order to be made into a printed manual, a Texinfo file *must*
                    456: begin with lines that looks like
                    457: 
                    458:      \input texinfo   @c -*-texinfo-*-
                    459:      @setfilename INFO-FILE-NAME
                    460:      @settitle NAME OF MANUAL
                    461: 
                    462: The `\input texinfo' line tells TeX to use the `texinfo.tex' file. 
                    463: This line is usually followed by a start-of-header line (not shown
                    464: here) and then by the `@setfilename INFO-FILE-NAME' and `@settitle
                    465: NAME OF MANUAL' lines.  These two lines are needed to provide a name
                    466: for the Info file and to specify the name used on the left-hand page
                    467: headers of the printed manual.
                    468: 
                    469: The two lines that contain the `@setfilename' and `@settitle'
                    470: commands usually are sandwiched between the start-of-header line and
                    471: the end-of-header line. (*Note Start-of-Header::, for more
                    472: information.)  The start-of-header and end-of-header lines are needed
                    473: if you are going to run TeX or Info on just part of a file.
                    474: 
                    475: 
                    476: 
                    477: File: texinfo,  Node: Short Sample,  Prev: Conventions,  Up: Overview
                    478: 
                    479: A Short Sample Texinfo File
                    480: ===========================
                    481: 
                    482: A Texinfo file looks like the following, which is a complete but very
                    483: short Texinfo file.  The `@comment' command introduces comments that
                    484: will not appear in either the Info file or the printed manual; they
                    485: are for the person who reads the Texinfo file.
                    486: 
                    487: The first part of the file, from `\input texinfo' through to `@end
                    488: titlepage', looks more intimidating than it is.  Most of the material
                    489: is standard boilerplate; when you write a manual, you just put in the
                    490: name of your own manual in this section.
                    491: 
                    492: All the commands that tell TeX how to typeset the printed manual and
                    493: tell `texinfo-format-buffer' how to create an Info file are preceded
                    494: by `@'; thus, `@node' indicates a node and `@chapter' indicates the
                    495: start of a chapter.
                    496: 
                    497:      \input texinfo   @c -*-texinfo-*-
                    498:      @setfilename name-of-texinfo-file
                    499:      @settitle Name of Manual
                    500:      @setchapternewpage odd
                    501:      
                    502:      @ifinfo
                    503:      @comment The following line inserts the copyright notice 
                    504:      @comment into the Info file.
                    505:      Copyright @copyright{} 1988 Free Software Foundation, Inc.
                    506:      @end ifinfo
                    507:      
                    508:      @comment The titlepage section does not appear in the Info file.
                    509:      @titlepage
                    510:      @sp 10
                    511:      @comment The title is printed in a large font.
                    512:      @center @titlefont{Sample Title}
                    513:      
                    514:      @comment  The following two commands start the copyright page
                    515:      @comment  for the printed manual.  This will not appear in the Info file.
                    516:      @page
                    517:      @vskip 0pt plus 1filll
                    518:      Copyright @copyright{} year copyright-owner
                    519:      @end titlepage
                    520:      
                    521:      @comment The Top node contains the master menu for the Info file.
                    522:      @comment This appears only in the Info file, not the printed manual.
                    523:      
                    524:      @node    Top,       First Chapter, (dir),    (dir)
                    525:      @comment node-name, next,          previous, up
                    526:      
                    527:      @menu
                    528:      * First Chapter::    The first chapter is the 
                    529:                           only chapter in this sample.
                    530:      @end menu
                    531:      
                    532:      @node     First Chapter,     , Top,      Top
                    533:      @comment  node-name,     next, previous, up
                    534:      @chapter First Chapter
                    535:      @cindex Reference to First Chapter
                    536:      
                    537:      This is the contents of the first chapter. 
                    538:      
                    539:      Here is a numbered list.
                    540:      
                    541:      @enumerate
                    542:      @item
                    543:      This is the first item.
                    544:      
                    545:      @item
                    546:      This is the second item.
                    547:      @end enumerate
                    548:      
                    549:      The @kbd{M-x texinfo-format-buffer} command transforms a Texinfo file
                    550:      like this into an Info file; and @TeX{} typesets it for a printed
                    551:      manual.
                    552:      
                    553:      @node    Concept Index,    ,  Previous Node, Top
                    554:      @comment node-name,    next,  previous,      up
                    555:      @unnumbered Concept Index
                    556:      
                    557:      @printindex cp
                    558:      
                    559:      @contents
                    560:      @bye
                    561: 
                    562: Here is what the contents of the first chapter of the sample look like:
                    563: 
                    564:      This is the contents of the first chapter.
                    565: 
                    566:      Here is a numbered list.
                    567: 
                    568:        1. This is the first item.
                    569: 
                    570:        2. This is the second item.
                    571: 
                    572:      The `M-x texinfo-format-buffer' command transforms a Texinfo
                    573:      file like this into an Info file; and TeX typesets it for a
                    574:      printed manual.
                    575: 
                    576: 
                    577: 
                    578: File: texinfo,  Node: Texinfo Mode,  Next: Beginning a File,  Prev: Overview,  Up: Top
                    579: 
                    580: Using Texinfo Mode
                    581: ******************
                    582: 
                    583: In GNU Emacs, Texinfo mode is a major mode for editing Texinfo files.
                    584: This means that Emacs has commands and features especially designed
                    585: for working with Texinfo files.  Like all other Emacs features, you
                    586: can customize or enhance these as you wish.  In particular, the
                    587: keybindings are very easy to change.  The keybindings described here
                    588: are the default or standard ones.
                    589: 
                    590: The major features of Texinfo mode are:
                    591: 
                    592:    * Paragraph filling control.
                    593: 
                    594:    * A command to show the structure of the file.
                    595: 
                    596:    * Pre-defined keystroke commands to insert commonly used strings
                    597:      of text.
                    598: 
                    599:    * Formatting a part of a file for Info, rather than the whole file.
                    600: 
                    601: In general, in Texinfo mode, the GNU Emacs editing commands are like
                    602: those in text-mode.  The major difference is that the paragraph
                    603: separation variable and syntax table are set up so expression
                    604: commands skip Texinfo bracket groups.  This means, for example, that
                    605: the `M-q' (`fill-paragraph') command will refill a paragraph but not
                    606: the @-command on a line adjacent to it.
                    607: 
                    608: By convention, the Texinfo file name shall end with the extension
                    609: `.texinfo' so that Emacs knows to use Texinfo mode for editing it.
                    610: 
                    611: * Menu:
                    612: 
                    613: * Info on a Region::           Formatting part of a file for Info.
                    614: * Showing the Structure::      Showing the structure of a file.
                    615: * Inserting::                  Inserting frequently used commands.
                    616: 
                    617: 
                    618: 
                    619: File: texinfo,  Node: Info on a Region,  Next: Showing the Structure,  Prev: Texinfo Mode,  Up: Texinfo Mode
                    620: 
                    621: Formatting a Region for Info
                    622: ============================
                    623: 
                    624: To see what part of a Texinfo file will look like after it has been
                    625: transformed into an Info file, use the command `C-c C-f'
                    626: (`texinfo-format-region').  This command formats the current region
                    627: of the Texinfo file for Info and writes it to a temporary buffer
                    628: called `*Info Region*'.
                    629: 
                    630: For `texinfo-format-region' to work, the file *must* include a line
                    631: that has `@setfilename' in its header.
                    632: 
                    633: The command is:
                    634: 
                    635: `C-c C-f'
                    636:      texinfo-format-region
                    637: 
                    638: 
                    639: 
                    640: File: texinfo,  Node: Showing the Structure,  Next: Inserting,  Prev: Info on a Region,  Up: Texinfo Mode
                    641: 
                    642: Showing the Structure of a File
                    643: ===============================
                    644: 
                    645: You can show the structure of a Texinfo file by using the `C-c C-s'
                    646: command (`texinfo-show-structure').  This command shows the structure
                    647: of a Texinfo file by listing the lines with the @-commands for
                    648: `@node', `@chapter', `@section' and the like.  These lines are
                    649: displayed in another window called the `*Occur*' window.  In that
                    650: window, you can position the cursor over one of the lines and use the
                    651: `C-c C-c' command (`occur-mode-goto-occurrence'), to jump to the
                    652: corresponding spot in the Texinfo file.
                    653: 
                    654: The two commands are:
                    655: 
                    656: `C-c C-s'
                    657:      texinfo-show-structure
                    658: 
                    659: `C-c C-c'
                    660:      occur-mode-goto-occurrence
                    661: 
                    662: Often, when you are working on a manual, you will be interested only
                    663: in the structure of the current chapter.  In this case, you can mark
                    664: off the region of the buffer that you are interested in with the `C-x
                    665: n' (`narrow-to-region') command and `texinfo-show-structure' will
                    666: work on only that region.  (To see the whole buffer again, use `C-x
                    667: w' (`widen').)
                    668: 
                    669: 
                    670: 
                    671: File: texinfo,  Node: Inserting,  Prev: Showing the Structure,  Up: Texinfo Mode
                    672: 
                    673: Inserting Frequently Used Commands
                    674: ==================================
                    675: 
                    676: Texinfo mode provides commands that insert various frequently used
                    677: @-commands into the buffer.  You can use these commands to save
                    678: keystrokes.  And you can insert balanced curly braces with the `M-{'
                    679: command, (`texinfo-insert-braces') and later use the `M-}' command
                    680: (`up-list') to move forward past the closing brace.
                    681: 
                    682: The special commands are invoked by typing `C-c' twice and then the
                    683: first letter of the @-command.
                    684: 
                    685: `C-c C-c c'
                    686:      texinfo-insert-@code
                    687: 
                    688: `C-c C-c d'
                    689:      texinfo-insert-@dfn
                    690: 
                    691: `C-c C-c e'
                    692:      texinfo-insert-@end
                    693: 
                    694: `C-c C-c i'
                    695:      texinfo-insert-@item
                    696: 
                    697: `C-c C-c n'
                    698:      texinfo-insert-@node
                    699: 
                    700: `C-c C-c s'
                    701:      texinfo-insert-@samp
                    702: 
                    703: `C-c C-c v'
                    704:      texinfo-insert-@var
                    705: 
                    706: `M-{'
                    707:      texinfo-insert-braces
                    708: 
                    709: `M-}'
                    710:      up-list
                    711: 
                    712: This list was generated by analyzing the frequency with which
                    713: commands were used in the ``GNU Emacs Manual'' and the ``GDB
                    714: Manual''.  If you wish to add your own insert commands, you can bind
                    715: a keyboard macro to a key, use abbreviations or extend the code in
                    716: `texinfo.el'.
                    717: 
                    718: 
                    719: 
                    720: File: texinfo,  Node: Beginning a File,  Next: Ending a File,  Prev: Texinfo Mode,  Up: Top
                    721: 
                    722: Beginning a Texinfo File
                    723: ************************
                    724: 
                    725: Various pieces of information have to be provided to Texinfo at the
                    726: beginning of a Texinfo file, such as the name of the file, the title
                    727: of the document and the like.  Generally, the beginning of a Texinfo
                    728: file has four parts:
                    729: 
                    730:   1. The header, marked by start-of-header and end-of-header lines,
                    731:      that includes the commands for naming the Texinfo file and
                    732:      telling TeX what definitions' file to use when processing the
                    733:      file.
                    734: 
                    735:   2. A section, marked by the `@ifinfo' and `@end ifinfo' commands,
                    736:      that contains a short statement of what the file is about, the
                    737:      copyright notice and copying permissions. This section appears
                    738:      only in the Info file.
                    739: 
                    740:   3. A section, marked by the `@titlepage' and `@end titlepage'
                    741:      commands, that contains the title page, the copyright page and
                    742:      copying permissions.  This section appears only in the printed
                    743:      manual.
                    744: 
                    745:   4. The `Top' node that contains an extensive menu for the whole
                    746:      Info file.  The contents of this node only appear in the Info
                    747:      file.
                    748: 
                    749: If the Texinfo file has a section containing licensing information
                    750: and a warranty disclaimer, that section usually follows the `Top'
                    751: node.  The licensing section will be followed by a preface or else by
                    752: the first chapter of the manual.
                    753: 
                    754: Since the copyright notice and the copying permissions are in
                    755: sections that appear only in the Info file or only in the printed
                    756: manual, this information has to be repeated twice.
                    757: 
                    758: The following sample shows what is needed.
                    759: 
                    760:      \input texinfo   @c -*-texinfo-*-
                    761:      @comment %**start of header (This is for running Texinfo on a region.)
                    762:      @setfilename name-of-texinfo-file
                    763:      @settitle Name of Manual
                    764:      @setchapternewpage odd
                    765:      @comment %**end of header (This is for running Texinfo on a region.)
                    766:      
                    767:      @ifinfo
                    768:      This file documents ...
                    769:      
                    770:      Copyright @copyright{} year  copyright-owner
                    771:      
                    772:      Permission is granted to ...
                    773:      @end ifinfo
                    774:      
                    775:      @titlepage
                    776:      @sp 10
                    777:      @center @titlefont{Name of Manual When Printed}
                    778:      @sp 2
                    779:      @center Subtitle, If Any
                    780:      @sp 2
                    781:      @center Author
                    782:      
                    783:      @comment  The following two commands start the copyright page.
                    784:      @page
                    785:      @vskip 0pt plus 1filll
                    786:      Copyright @copyright{} year copyright-owner
                    787:      
                    788:      Published by ...
                    789:      
                    790:      Permission is granted to ...
                    791:      @end titlepage
                    792:      
                    793:      
                    794:      @node Top, Overview, (dir), (dir)
                    795:      
                    796:      @menu
                    797:      * First Chapter::         The first chapter is usually an overview.
                    798:      * Second Chapter::                ...
                    799:        <many more menu items here>
                    800:      @end menu
                    801:      
                    802:      @node    First Chapter, Second Chapter, top,      top
                    803:      @comment node-name,     next,           previous, up
                    804:      @chapter First Chapter
                    805:      @cindex Reference to First Chapter
                    806: 
                    807: * Menu:
                    808: 
                    809: * Header::                     Necessary first lines.
                    810: * Permissions for Info::       Copyright notice and copying permissions.
                    811: * Titlepage & Copyright Page:: Printed title and copyright pages.
                    812: * Top Node::                   The top node and master menu.
                    813: * License and Distribution::   The importance of the license.
                    814: 
                    815: 
                    816: 
                    817: File: texinfo,  Node: Header,  Next: Permissions for Info,  Prev: Beginning a File,  Up: Beginning a File
                    818: 
                    819: The Texinfo File Header
                    820: =======================
                    821: 
                    822: Texinfo files start with at least three lines that provide Info and
                    823: TeX with necessary information.  If you want to run TeX on just a
                    824: part of the Texinfo File, you also have to mark these heading lines
                    825: with start-of-header and end-of-header lines.
                    826: 
                    827: * Menu:
                    828: 
                    829: * First Line::                 The first line of a Texinfo file.
                    830: * Start-of-Header::            Identifying the start of the header.
                    831: * Setfilename::                        Specifying the name of the Info file.
                    832: * Settitle::                   Specifying the title used by the headings.
                    833: * Setchapternewpage::          Starting chapters on odd numbered pages.
                    834: * End-of-Header::              Identifying the end of the header.
                    835: 
                    836:  
                    837: 
                    838: File: texinfo,  Node: First Line,  Next: Start-of-Header,  Prev: Header,  Up: Header
                    839: 
                    840: The First Line of a Texinfo File
                    841: --------------------------------
                    842: 
                    843: Every Texinfo file that is to be the top-level input to TeX must
                    844: begin with a line that looks like this:
                    845: 
                    846:      \input texinfo   @c -*-texinfo-*-
                    847: 
                    848: The line serves two functions:
                    849: 
                    850:   1. When the file is processed by TeX, it loads the macros needed
                    851:      for processing a Texinfo file.  These are in a file called
                    852:      `texinfo.tex' which is usually located in the
                    853:      `/usr/lib/tex/macros' directory.
                    854: 
                    855:   2. When the file is edited in GNU Emacs, it causes Texinfo mode to
                    856:      be used.
                    857: 
                    858: The `\input texinfo' line should be followed by the start-of-header
                    859: line.  This makes it possible for the command for running TeX on a
                    860: part of the Texinfo file (`texinfo-hardcopy-region') to operate.  The
                    861: reason for this is that the `texinfo-hardcopy-region' command will
                    862: look on the line preceding the start-of-header line for the `\input
                    863: texinfo' line.
                    864: 
                    865: 
                    866: 
                    867: File: texinfo,  Node: Start-of-Header,  Next: Setfilename,  Prev: First Line,  Up: Header
                    868: 
                    869: `start-of-header'
                    870: -----------------
                    871: 
                    872: The start-of-header line should immediately follow the first line of
                    873: the Texinfo file.
                    874: 
                    875: The `texinfo-hardcopy-region' command will look at the line preceding
                    876: the start-of-header line to find the `\input texinfo' line.
                    877: 
                    878: Usually, the start-of-header line looks like this:
                    879: 
                    880:      @comment %**start of header (This is for running Texinfo on a region.)
                    881: 
                    882: The reason for the odd string of characters (`%**') is so that the
                    883: `texinfo-hardcopy-region' command does not accidently find something
                    884: that it shouldn't when it is looking for the header.
                    885: 
                    886: In the default configuration, the phrase `(This is for running
                    887: Texinfo on a region.)' is not needed and is just included to make it
                    888: easier for someone reading the Texinfo file.
                    889: 
                    890: The start-of-header line and the end-of-header line are Texinfo mode
                    891: variables that you can change.
                    892: 
                    893: 
                    894: 
                    895: File: texinfo,  Node: Setfilename,  Next: Settitle,  Prev: Start-of-Header,  Up: Header
                    896: 
                    897: @setfilename
                    898: ------------
                    899: 
                    900: In order to be made into an Info file, a Texinfo file must contain a
                    901: line that looks like this:
                    902: 
                    903:      @setfilename INFO-FILE-NAME
                    904: 
                    905: This line specifies the name of the Info file to be generated.  In
                    906: fact, there can be other things in the file before this line, but
                    907: they are ignored in the generation of an Info file.  The
                    908: `@setfilename' line is ignored when a printed manual is generated.
                    909: 
                    910: 
                    911: 
                    912: File: texinfo,  Node: Settitle,  Next: Setchapternewpage,  Prev: Setfilename,  Up: Header
                    913: 
                    914: @settitle
                    915: ---------
                    916: 
                    917: In order to be made into a printed manual file, a Texinfo file must
                    918: contain a line that specifies the title of the manual.  Texinfo uses
                    919: this information during printing to put the title on every other page
                    920: as a heading; Texinfo puts the current chapter title on the other
                    921: pages.  Texinfo can find the name of the chapter title from the
                    922: information provided by the `@chapter' command, but you must tell it
                    923: the manual title with `@settitle':
                    924: 
                    925:      @settitle TITLE
                    926: 
                    927: This command, on a line by itself, causes TITLE to be used for the
                    928: headings.  Usually, you will use the same words for the title on the
                    929: title page and for the title specified by this command for the
                    930: headings, but the two could be different.  For example, the title on
                    931: the title page may be longer than the title specified by the
                    932: `settitle' command.
                    933: 
                    934: The `@settitle' command should precede everything that generates
                    935: actual output.
                    936: 
                    937: 
                    938: 
                    939: File: texinfo,  Node: Setchapternewpage,  Next: End-of-Header,  Prev: Settitle,  Up: Header
                    940: 
                    941: @setchapternewpage
                    942: ------------------
                    943: 
                    944: Conventionally, chapters start on the page on the right hand side of
                    945: a book; and the right hand page has an odd number.  To make sure that
                    946: Texinfo does this, you can use the command `@setchapternewpage'.  For
                    947: example, to cause each chapter to start on a fresh odd-numbered page:
                    948: 
                    949:      @setchapternewpage odd
                    950: 
                    951: Page numbering is turned on by the `@end titlepage' command, so the
                    952: `@setchapternewpage' should come before it.  Although it can occur
                    953: anywhere in the beginning of the file, it is most convenient to put
                    954: it in this location.
                    955: 
                    956: 
                    957: 
                    958: File: texinfo,  Node: End-of-Header,  Prev: Setchapternewpage,  Up: Header
                    959: 
                    960: `end-of-header'
                    961: ---------------
                    962: 
                    963: The end-of-header line should follow the line containing the
                    964: `@setchapternewpage' command.
                    965: 
                    966: Usually, the end-of-header line looks like this:
                    967: 
                    968:      @comment %**end of header (This is for running Texinfo on a region.)
                    969: 
                    970: In the default configuration, the phrase `(This is for running
                    971: Texinfo on a region.)' is not needed and is just included to make it
                    972: easier for someone reading the Texinfo file.
                    973: 
                    974: The reason for the odd string of characters (`%**') is so that the
                    975: `texinfo-hardcopy-region' command does not accidently find something
                    976: that it shouldn't when it is looking for the header.
                    977: 
                    978: The start-of-header line and the end-of-header line are Texinfo mode
                    979: variables that you can change.
                    980: 
                    981: 
                    982: 
                    983: File: texinfo,  Node: Permissions for Info,  Next: Titlepage & Copyright Page,  Prev: Header,  Up: Beginning a File
                    984: 
                    985: Copying Permissions for Info
                    986: ============================
                    987: 
                    988: Since the title page and the copyright page appear only in the
                    989: printed copy of the manual, the same information has to inserted in a
                    990: section that appears only in the Info file.  This section usually
                    991: contains a brief description of the contents of the Info file, a
                    992: copyright notice and copying permissions.
                    993: 
                    994: The copyright notice should read:
                    995: 
                    996:      Copyright YEAR COPYRIGHT-OWNER
                    997: 
                    998: and be put on a line by itself.
                    999: 
                   1000: Standard text for the copyright permissions is contained in the
                   1001: appendix.  *Note Ifinfo Permissions::, for the complete text.
                   1002: 
                   1003: 
                   1004: 
                   1005: File: texinfo,  Node: Titlepage & Copyright Page,  Next: Top Node,  Prev: Permissions for Info,  Up: Beginning a File
                   1006: 
                   1007: The Title and Copyright Pages
                   1008: =============================
                   1009: 
                   1010: The title and copyright pages appear in the printed manual, but not
                   1011: in the Info file.  Because of this, it is possible to use a couple of
                   1012: slightly obscure TeX typesetting commands that could not be used in
                   1013: an Info file.  In addition, this part of the beginning of a Texinfo
                   1014: file contains the text of the copying permissions that will appear in
                   1015: the printed manual.
                   1016: 
                   1017: * Menu:
                   1018: 
                   1019: * Titlepage::                  Creating a title page for the printed manual.
                   1020: * Center::                     Centering a line.
                   1021: * Copyright & Printed Permissions::    Inserting the copyright notice 
                   1022:                                        and printed permissions.
                   1023: 
                   1024:  
                   1025: 
                   1026: File: texinfo,  Node: Titlepage,  Next: Center,  Prev: Setchapternewpage,  Up: Titlepage & Copyright Page
                   1027: 
                   1028: @titlepage
                   1029: ----------
                   1030: 
                   1031: Start the material for the title page and following copyright page
                   1032: with `@titlepage' on a line by itself and end it with `@end
                   1033: titlepage' on a line by itself.  The title page and copyright page
                   1034: material appears only in the printed manual, not in the Info file.
                   1035: 
                   1036: Also, the `@end titlepage' command starts a new page and turns on
                   1037: page numbering (generation of headings).  Therefore, all the material
                   1038: that you want to appear on unnumbered pages should be put between the
                   1039: `@titlepage' and `@end titlepage' commands.  By using the `@page'
                   1040: command you can force a page break within the region delineated by
                   1041: the `@titlepage' and `@end titlepage' commands and create more than
                   1042: one unnumbered page.  This is how the copyright page is produced.
                   1043: 
                   1044: To select a large font suitable for the title itself, you can use the
                   1045: command `@titlefont'.  For example:
                   1046: 
                   1047:      @center @titlefont{Texinfo}
                   1048: 
                   1049: Also, you can use `@sp' commands to adjust vertical spacing.   For
                   1050: example:
                   1051: 
                   1052:      @sp 2
                   1053: 
                   1054: In the sample, the spacing was chosen to fit an 8 1/2 by 11 inch
                   1055: manual.
                   1056: 
                   1057: 
                   1058: 
                   1059: File: texinfo,  Node: Center,  Next: Titlepage,  Prev: Copyright & Printed Permissions,  Up: Titlepage & Copyright Page
                   1060: 
                   1061: @center
                   1062: -------
                   1063: 
                   1064: A line containing `@center TEXT' produces a line of output containing
                   1065: TEXT, centered between the margins.
                   1066: 
                   1067: 
                   1068: 
                   1069: File: texinfo,  Node: Copyright & Printed Permissions,  Next: Center,  Up: Titlepage & Copyright Page
                   1070: 
                   1071: The Copyright Page and Printed Permissions
                   1072: ------------------------------------------
                   1073: 
                   1074: By international treaty, the copyright notice for a book should
                   1075: either be on the title page or on the back of the title page.  Other
                   1076: locations in a book are not official and do not provide copyright
                   1077: protection.  The copyright notice should include the year followed by
                   1078: the name of the person or organization who has the copyright.
                   1079: 
                   1080: When the copyright notice is on the back of the title page, the page
                   1081: is not numbered.  Therefore, in Texinfo, the information on the
                   1082: copyright page should be within the region delineated by the
                   1083: `@titlepage' and `@end titlepage' commands.
                   1084: 
                   1085: To cause a page break, the `@page' command is used.  In the sample,
                   1086: the `@page' command is followed by the somewhat mysterious line that
                   1087: reads: `@vskip 0pt plus 1filll'.  This is a line that uses TeX
                   1088: commands to push the copyright notice and the other text on the
                   1089: copyright page towards the bottom of the page.  The `@vskip' command
                   1090: means to skip lines and put in white space.  The `0pt plus 1filll'
                   1091: means to put in zero points of mandatory white space, and as much
                   1092: optional white space as needed.  Note the use of three `l's in the
                   1093: word `filll'; this is the correct use in TeX.
                   1094: 
                   1095: The `@copyright{}' command generates a `c' inside a circle.  The
                   1096: copyright notice itself has the following legally defined sequence:
                   1097: 
                   1098:      Copyright (C) YEAR COPYRIGHT-OWNER
                   1099: 
                   1100: It is customary to put information on how to get a manual after the
                   1101: copyright notice (the address of the Free Software Foundation, for
                   1102: example) and the permissions.
                   1103: 
                   1104: Note that the permissions have to be repeated here as well as in the
                   1105: `ifinfo' section that immediately follows the header since this
                   1106: section appears only in the printed manual and the `ifinfo' section
                   1107: appears only in the Info file.
                   1108: 
                   1109: Standard text for the permissions appears in the appendix.   *Note
                   1110: Sample Permissions::.
                   1111: 
                   1112: 
                   1113: 
                   1114: File: texinfo,  Node: Top Node,  Next: License and Distribution,  Prev: Titlepage & Copyright Page,  Up: Beginning a File
                   1115: 
                   1116: The Top Node and Master Menu
                   1117: ============================
                   1118: 
                   1119: The `Top' node contains an extensive, master menu for the whole Info
                   1120: file.  The contents of this node appear only in the Info file. 
                   1121: Nothing in this node should appear in the printed file.  Since a node
                   1122: line by itself and a menu by itself are not printed, the contents of
                   1123: this node do not have to be within a region delineated by `@ifinfo'
                   1124: and `@end ifinfo' commands.  However, any text within the node should
                   1125: be marked off in that manner.  You may want to put a short summary
                   1126: before the master menu inside a region delineated by `@ifinfo' and
                   1127: `@end ifinfo' commands.  Usually, the `Previous' and `Up' nodes refer
                   1128: to the top level directory of the whole Info system, with pointers to
                   1129: `(dir)'.
                   1130: 
                   1131: Generally, the top menu is divided into parts.
                   1132: 
                   1133:    * The first part contains the major nodes in the Texinfo file: the
                   1134:      nodes for the chapters, chapter-like sections and the major
                   1135:      appendices.
                   1136: 
                   1137:    * The second part contains entries for the indices.  In an Info
                   1138:      file, it is very useful to have indices here at the beginning of
                   1139:      the file in the top node rather than at the end, as in a printed
                   1140:      book.
                   1141: 
                   1142:    * The third and subsequent parts contain a listing of the other,
                   1143:      lower level nodes, often ordered by chapter.  This way, an
                   1144:      inquirer can go directly to a particular node if he or she is
                   1145:      searching for specific information.  (These nodes are not
                   1146:      required; use them if you think they are a convenience.)
                   1147: 
                   1148: Each section in the menu can be introduced a descriptive line.  So
                   1149: long as the line does not begin with an asterisk, it will not be
                   1150: treated as a menu item.  (*Note Making Menus: Menu, for more
                   1151: information.)
                   1152: 
                   1153: For example, the Top node of this manual looks like this (but with
                   1154: many more entries):
                   1155: 
                   1156:      @node Top, Overview, (dir), (dir)
                   1157:      
                   1158:      @menu
                   1159:      * Overview::                    What is Texinfo?
                   1160:      * Texinfo Mode::                Special features in GNU Emacs.
                   1161:      ...
                   1162:      
                   1163:      Indices, nodes containing large menus
                   1164:      
                   1165:      * Command Index::               An item for each @-command.
                   1166:      * Concept Index::               An item for each concept.
                   1167:      
                   1168:      A detailed node listing
                   1169:      
                   1170:      Overview
                   1171:      * Info File::                   Characteristics of the Info file.
                   1172:      * Printed Manual::              Characteristics of the printed manual.
                   1173:      
                   1174:      Using Texinfo Mode
                   1175:      * Info on a Region::            Formatting a region for Info.
                   1176:      * Showing the Structure::       Showing the structure of a file.
                   1177:      ...
                   1178:      ...
                   1179: 
                   1180:  
                   1181: 
                   1182: File: texinfo,  Node: License and Distribution,  Prev: Top Node,  Up: Beginning a File
                   1183: 
                   1184: Licensing and Distribution Information
                   1185: ======================================
                   1186: 
                   1187: If the Texinfo file has a section containing the ``General Public
                   1188: License'' and the distribution information and a warranty disclaimer,
                   1189: this section usually follows the `Top' node.  The licensing and
                   1190: distribution information and the disclaimer are followed by a preface
                   1191: or else by the first chapter of the manual.
                   1192: 
                   1193: The licensing agreement is very important to Project GNU
                   1194: documentation and software.  Without it, you may find that you can no
                   1195: longer get the software or its documentation.  This sounds
                   1196: paradoxical, but the state of the world is such that documentation
                   1197: and software that does not have a ``restrictive'' license to make
                   1198: them freely distributable may be lost to the public.  This has
                   1199: happened.
                   1200: 
                   1201: For a good example of the text that could be used for the
                   1202: Distribution, General Public License and NO WARRANTY sections of your
                   1203: document, see the latest version of the ``GNU Emacs Manual''.
                   1204: 
                   1205: Although a preface is not a required part of a Texinfo file, it is
                   1206: very helpful.  Ideally, it should state clearly and concisely what
                   1207: the file is about and who would be interested in reading it.  In
                   1208: general, the preface would follow the licensing and distribution
                   1209: information, although sometimes people put it earlier in the
                   1210: document.  Usually, a preface is put in an `@unnumbered' section. 
                   1211: (*Note Unnumbered and Appendix::.)
                   1212: 
                   1213: 
                   1214: 
                   1215: File: texinfo,  Node: Ending a File,  Next: Structuring,  Prev: Beginning a File,  Up: Top
                   1216: 
                   1217: Ending a Texinfo File
                   1218: *********************
                   1219: 
                   1220: The end of a Texinfo file should include the indices, the commands to
                   1221: generate detailed and summary tables of contents and the @-command
                   1222: that tells TeX that it has reached the end of the file.
                   1223: 
                   1224: For example, a Texinfo file might be ended as follows:
                   1225: 
                   1226:      @node    Concept Index,     , Previous Node, Top
                   1227:      @comment node-name,     next, previous,      up
                   1228:      @unnumbered Concept Index
                   1229:      
                   1230:      @printindex cp
                   1231:      
                   1232:      @contents
                   1233:      @bye
                   1234: 
                   1235: The `@bye' command should be on a line by itself and every Texinfo
                   1236: file must end with such a line.  This command terminates TeX
                   1237: processing and forces out unfinished pages.
                   1238: 
                   1239: * Menu:
                   1240: 
                   1241: * Contents::           Generating a table of contents
                   1242: * Indices::            Generating, sorting and printing indices
                   1243: 
                   1244: 
                   1245: 
                   1246: File: texinfo,  Node: Contents,  Next: Indices,  Up: Ending a File
                   1247: 
                   1248: Generating a Table of Contents
                   1249: ==============================
                   1250: 
                   1251: The commands `@chapter', `@section', etc., supply the information to
                   1252: make up a table of contents, but they do not cause an actual table to
                   1253: be generated.  To do this, you must use the commands `@contents' and
                   1254: `@summarycontents'.
                   1255: 
                   1256: `@contents'
                   1257:      The table of contents command outputs (into a printed manual) a
                   1258:      complete table of contents, based on the `@chapter',
                   1259:      `@unnumbered' and other sectioning commands.  This command
                   1260:      should be used on a line by itself.
                   1261: 
                   1262: `@summarycontents'
                   1263:      The summary contents command generates a summary table of
                   1264:      contents that lists only the chapters (and appendices and
                   1265:      unnumbered chapters); sections, subsections and subsubsections
                   1266:      are omitted.  This command should be used on a line by itself. 
                   1267:      Only large manuals need a summary table of contents.
                   1268: 
                   1269: You can use either one of these commands, or both.  Each command
                   1270: automatically generates a chapter-like heading at the top of the page.
                   1271: Tables of contents should be generated at the very end of the manual,
                   1272: just before the `@bye' command; the tables of contents commands
                   1273: should follow any indices that are output, so that the indices will
                   1274: appear in the contents.
                   1275: 
                   1276:      INDICES...
                   1277:      @summarycontents
                   1278:      @contents
                   1279:      @bye
                   1280: 
                   1281: The commands `@contents' and `@summarycontents' are ignored when an
                   1282: Info file is being generated.
                   1283: 
                   1284: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.