Annotation of 43BSDReno/contrib/emacs-18.55/info/texinfo-2, revision 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: Indices,  Prev: Contents,  Up: Ending a File
        !            29: 
        !            30: Creating Indices
        !            31: ================
        !            32: 
        !            33: Using Texinfo, you can generate printed indices and Info file menus
        !            34: without having to sort and collate entries manually.  Texinfo will do
        !            35: this for you automatically.  Each index covers a certain kind of
        !            36: entry (functions, or variables, or concepts, etc.) and lists all of
        !            37: those entries in alphabetical order, together with information on how
        !            38: to find the discussion of each entry.  In a printed manual, this
        !            39: information consists of page numbers.  In an Info file, it consists
        !            40: of a menu item leading to the first node referenced.
        !            41: 
        !            42: When you are making index entries, it is good practice to think of
        !            43: the different categories under which people may look for something. 
        !            44: Different people *do not* think of the same words when they look
        !            45: something up.  They think of different words.  A helpful index will
        !            46: have items indexed under all the different words that people may use.
        !            47: For example, someone might think it obvious that the two letter names
        !            48: for indices should be listed under ``Indices, two letter names'',
        !            49: since the word ``Index'' is the general concept.  But another reader
        !            50: may remember the specific concept of two letter names and search for
        !            51: the entry listed as ``Two letter names for indices''.  A good index
        !            52: will have both entries and will help both kinds of user.
        !            53: 
        !            54: Like typesetting, the construction of an index is a highly skilled,
        !            55: professional art, the subtleties of which are not appreciated until
        !            56: you have to do it yourself.
        !            57: 
        !            58: Normally, six indices are provided for:
        !            59: 
        !            60:    * A "program index" listing names of programs and leading to the
        !            61:      places where those programs are documented.
        !            62: 
        !            63:    * A "function index" listing functions (such as, entry points of
        !            64:      libraries).
        !            65: 
        !            66:    * A "variables index" listing variables (such as, external
        !            67:      variables of libraries).
        !            68: 
        !            69:    * A "data type index" listing data types (such as, structures
        !            70:      defined in header files).
        !            71: 
        !            72:    * A "keystroke index" listing keyboard commands.
        !            73: 
        !            74:    * A "concept index" listing concepts that are discussed.
        !            75: 
        !            76: Not every manual needs all of these.  This manual has two indices: a
        !            77: concept index and an @-command index (that uses the function index
        !            78: but is called a command index in the chapter heading).  Two or more
        !            79: indices can be combined into one using the `@synindex' command. 
        !            80: *Note Combining Indices::.
        !            81: 
        !            82: * Menu:
        !            83: 
        !            84: * Index Entries::      Defining the entries of an index
        !            85: * Combining Indices::
        !            86: * Printing Indices & Menus::
        !            87: 
        !            88: 
        !            89: 
        !            90: File: texinfo,  Node: Index Entries,  Next: Combining Indices,  Up: Indices
        !            91: 
        !            92: Defining the Entries of an Index
        !            93: --------------------------------
        !            94: 
        !            95: The data to make an index comes from many individual commands
        !            96: scattered throughout the Texinfo source file.  Each command says to
        !            97: add one entry to a particular index; after processing, it will give
        !            98: the current page number or node name as the reference.
        !            99: 
        !           100: `@cindex CONCEPT'
        !           101:      Make an entry in the concept index for CONCEPT, referring to the
        !           102:      current page or node.
        !           103: 
        !           104: `@findex FUNCTION'
        !           105:      Make an entry in the function index for FUNCTION, referring to
        !           106:      the current page or node.
        !           107: 
        !           108: `@vindex VARIABLE'
        !           109:      Make an entry in the variable index for VARIABLE, referring to
        !           110:      the current page or node.
        !           111: 
        !           112: `@pindex PROGRAM'
        !           113:      Make an entry in the program index for PROGRAM, referring to the
        !           114:      current page or node.
        !           115: 
        !           116: `@kindex KEY'
        !           117:      Make an entry in the key index for KEY, referring to the current
        !           118:      page or node.
        !           119: 
        !           120: `@tindex DATA TYPE'
        !           121:      Make an entry in the data type index for DATA TYPE, referring to
        !           122:      the current page or node.
        !           123: 
        !           124: If the same name is indexed on several pages, all the pages are
        !           125: listed in the printed manual's index.  However, *only* the *first*
        !           126: node referenced will appear in the index of an Info file.  This means
        !           127: that it is best to write indices in which each entry will refer to
        !           128: only one place in the Texinfo file.  Fortunately, this constraint is
        !           129: a feature rather than loss since it means that the index will be easy
        !           130: to use.  Otherwise, it can be easy to create an index which has many
        !           131: pages listed for an entry and you don't know which one you need.
        !           132: 
        !           133: You are not actually required to use indices for their canonical
        !           134: purposes.  For example, you might wish to index some C preprocessor
        !           135: macros.  You could put them in the function index along with actual
        !           136: functions, just by writing `@findex' commands for them; then, when
        !           137: you print the ``function index'', you could give it the title
        !           138: `Function and Macro Index' and all will be consistent for the reader.
        !           139: Or you could put the macros in with the data types by writing
        !           140: `@tindex' commands for them, and give that index a suitable title so
        !           141: the reader will understand.
        !           142: 
        !           143: 
        !           144: 
        !           145: File: texinfo,  Node: Combining Indices,  Next: Printing Indices & Menus,  Prev: Index Entries,  Up: Indices
        !           146: 
        !           147: Combining Indices
        !           148: -----------------
        !           149: 
        !           150: Sometimes you will want to combine two disparate indices such as
        !           151: functions and variables, perhaps because you have few enough of one
        !           152: of them that a separate index for them would look silly.
        !           153: 
        !           154: You could put variables into the function index by writing `@findex'
        !           155: commands for them instead of `@vindex' commands, and produce a
        !           156: consistent manual by printing the function index with the title
        !           157: `Function and Variable Index' and not printing the `Variable Index'
        !           158: at all; but this is not a robust procedure.  It works only as long as
        !           159: your document is never included in part of or together with another
        !           160: document that is designed to have a separate variable index; if you
        !           161: did that, the variables from your document and those from the other
        !           162: would not end up together.
        !           163: 
        !           164: What you should do instead when you want functions and variables in
        !           165: one index is to index the variables with `@vindex' as they should be,
        !           166: but use the `@synindex' command to redirect these `@vindex' commands
        !           167: to the function index.  `@synindex' takes two arguments: the name of
        !           168: an index to redirect, and the name of an index to redirect it to. 
        !           169: For this purpose, the indices are given two-letter names:
        !           170: 
        !           171: `cp'
        !           172:      the concept index
        !           173: 
        !           174: `vr'
        !           175:      the variable index
        !           176: 
        !           177: `fn'
        !           178:      the function index
        !           179: 
        !           180: `ky'
        !           181:      the key index
        !           182: 
        !           183: `pg'
        !           184:      the program index
        !           185: 
        !           186: `tp'
        !           187:      the data type index
        !           188: 
        !           189: Thus, `@synindex vr fn' at the front of a Texinfo file will cause all
        !           190: entries designated for the variable index to go to the function index
        !           191: instead.
        !           192: 
        !           193: 
        !           194: 
        !           195: File: texinfo,  Node: Printing Indices & Menus,  Prev: Combining Indices,  Up: Indices
        !           196: 
        !           197: Printing an Index and Generating Menus
        !           198: --------------------------------------
        !           199: 
        !           200: To print an index means to include it as part of a manual or Info file.
        !           201: This does not happen automatically just because you use `@cindex' or
        !           202: other index-entry generating commands in the Texinfo file; those just
        !           203: cause the raw data for the index to be accumulated.  To print an
        !           204: index, you must include the `@printindex' command at the place in the
        !           205: document where you want the index to appear.  Also, for the case of
        !           206: the printed manual, you must run a program called `texindex' to sort
        !           207: the raw data to produce a sorted index file, which is what will
        !           208: actually be used to print the index.
        !           209: 
        !           210: The Texinfo command that is used to print indices is `@printindex'. 
        !           211: It takes the two-letter index name (*note Combining Indices::.) as an
        !           212: argument without braces, and reads the corresponding sorted index
        !           213: file and formats it appropriately into an index.
        !           214: 
        !           215: The two-letter index names are:
        !           216: 
        !           217: `cp'
        !           218:      the concept index.
        !           219: 
        !           220: `vr'
        !           221:      the variable index.
        !           222: 
        !           223: `fn'
        !           224:      the function index.
        !           225: 
        !           226: `ky'
        !           227:      the key index.
        !           228: 
        !           229: `pg'
        !           230:      the program index.
        !           231: 
        !           232: `tp'
        !           233:      the data type index.
        !           234: 
        !           235: `@printindex' does not generate a chapter heading for the index. 
        !           236: Consequently, you should precede the command with a suitable section
        !           237: or chapter command (usually `@unnumbered') to supply the chapter
        !           238: heading and put the index into the table of contents.  And before
        !           239: that, you will probably put a `@node' command.  For example,
        !           240: 
        !           241:      @node Variables Index, Concept Index, Function Index, Top
        !           242:      @comment    node-name,          next,       previous,  up
        !           243:      @unnumbered Variable Index
        !           244:      
        !           245:      @printindex vr
        !           246:      
        !           247:      @node     Concept Index,     , Variables Index, Top
        !           248:      @comment      node-name, next,        previous,  up
        !           249:      @unnumbered Concept Index
        !           250:      
        !           251:      @printindex cp
        !           252:      
        !           253:      @summarycontents
        !           254:      @contents
        !           255:      @bye
        !           256: 
        !           257: In TeX, `@printindex' needs a sorted index file to work from.  TeX
        !           258: does not know how to do sorting; this is one of the main deficiencies
        !           259: of TeX.  You must invoke the program `texindex' to do so, giving it
        !           260: the names of the raw index files to be sorted as arguments.  You do
        !           261: not have to run `texindex' on all of them; only the ones you are
        !           262: going to print.  (*Note Printing Hardcopy::, for more information.)
        !           263: 
        !           264: 
        !           265: 
        !           266: File: texinfo,  Node: Structuring,  Next: Quotations and Examples,  Prev: Ending a File,  Up: Top
        !           267: 
        !           268: Node and Chapter Structuring
        !           269: ****************************
        !           270: 
        !           271: The chapter structuring commands divide a document into a hierarchy
        !           272: of chapters, sections, subsections and subsubsections.  These
        !           273: commands generate large headings.
        !           274: 
        !           275: In a printed manual, the table of contents is based on the
        !           276: information specified by the chapter structuring commands.
        !           277: 
        !           278: Although the chapter structuring commands used for creating a printed
        !           279: document are entirely different from the node commands for
        !           280: structuring an Info file, you are likely to use the two kinds of
        !           281: command together since the single Texinfo file is usually designed to
        !           282: be read both as an Info file and as a printed manual.  The only time
        !           283: you are likely to use the chapter structuring commands without using
        !           284: the node structuring commands is if you are writing a document that
        !           285: will never be put into Info format, for example, a novel, a letter,
        !           286: an article or a memorandum.
        !           287: 
        !           288: It is unlikely that you will ever write a Texinfo file that is only
        !           289: intended as an on-line Info file and not as a printable document. 
        !           290: However, Texinfo is flexible enough so that you can do this if you
        !           291: wish.
        !           292: 
        !           293: Although a Texinfo file can be structured in a variety of ways, it is
        !           294: usually structured like a book with chapters, sections, subsections
        !           295: and the like.  This structure can also be visualized as a tree (or
        !           296: rather as an upside down tree) with the root at the top and each
        !           297: level corresponding to chapters or sections or whatnot.  In Info
        !           298: format, you reach the nodes on each level by using the the `Next' and
        !           299: `Previous' pointers in the node line.  For example, you go from one
        !           300: chapter to the next or previous chapter by using the the pointers to
        !           301: the next and previous chapters.  In Info, you go the level above by
        !           302: using an `Up' pointer and you go to the level below through a `Menu'.
        !           303: In the printed manual, cross references are indicated by page and
        !           304: section numbers; in the on-line file, cross references are specified
        !           305: by inline menu items.
        !           306: 
        !           307: Here is a diagram that shows a Texinfo file with three chapters; 
        !           308: each chapter has two sections.
        !           309: 
        !           310:                                       top
        !           311:                                        |
        !           312:                                        |
        !           313:                  --------------------------------------------
        !           314:                 |                      |                      |
        !           315:                 |                      |                      |
        !           316:             Chapter 1              Chapter 2               Chapter 3
        !           317:                 |                      |                      |
        !           318:                 |                      |                      |
        !           319:            ---------             ---------              ---------          
        !           320:           |          |           |          |            |          |         
        !           321:       Sect. 1.1   Sect. 1.2   Sect. 2.1  Sect. 2.2    Sect. 3.1  Sect. 3.2     
        !           322:                                                        
        !           323: 
        !           324: In this structure, the node for Chapter 2 looks like this:
        !           325: 
        !           326:      @node     Chapter 2,  Chapter 3, Chapter 1, top
        !           327:      @comment  node-name,  next,      previous,  up
        !           328: 
        !           329: To get to Sections 2.1 and 2.2, you need a menu inside of Chapter 2
        !           330: that says:
        !           331: 
        !           332:          @menu
        !           333:          * Sect. 2.1::    Description of this section.
        !           334:          * Sect. 2.2::  
        !           335:          @end menu
        !           336: 
        !           337: This menu is located inside Chapter 2, after the beginning of the
        !           338: chapter, just before Section 2.1.
        !           339: 
        !           340: Note that a menu entry has three parts: the menu item name, the name
        !           341: of the node and, optionally, a description of the item (in that
        !           342: order).  If the menu item name and the name of the node are the same,
        !           343: you can put two colons after the item name, as is shown in the
        !           344: example. (If the second part is different from the first, the first
        !           345: part is terminated by a colon and the second part terminated by a
        !           346: tab, newline, comma or period.) (*Note Menu::.)
        !           347: 
        !           348: The node for Sect. 2.1 will look like this:
        !           349: 
        !           350:          @node     Sect. 2.1, Sect. 2.2,         ,  Chapter 2
        !           351:          @comment  node-name, next,      previous,  up
        !           352: 
        !           353: This node does not have a `Previous' node.
        !           354: 
        !           355: Usually, an `@node' command and a chapter structuring command are
        !           356: used in sequence, along with indexing commands.  For example, the
        !           357: node for the chapter on ending a file looks like this:
        !           358: 
        !           359:      @node    Ending a File, Structuring, Beginning a File, Top
        !           360:      @comment node-name,     next,        previous,         up
        !           361:      @chapter Ending a Texinfo File
        !           362:      @cindex  Ending a Texinfo file
        !           363:      @cindex  Texinfo file ending
        !           364:      @cindex  File ending
        !           365: 
        !           366: The chapter structuring commands fall into four groups that have the
        !           367: characteristics of chapters, sections, subsections and subsubsections.
        !           368: The groups are:
        !           369: 
        !           370: `@chapter'
        !           371: `@unnumbered'
        !           372: `@appendix'
        !           373:      For chapters and chapter-like parts of a document.
        !           374: 
        !           375: `@section'
        !           376: `@unnumberedsec'
        !           377: `@appendixsec'
        !           378:      For sections and section-like parts of a document.
        !           379: 
        !           380: `@subsection'
        !           381: `@unnumberedsubsec'
        !           382: `@appendixsubsec'
        !           383:      For subsections and subsection-like parts of a document.
        !           384: 
        !           385: `@subsubsection'
        !           386: `@unnumberedsubsubsec'
        !           387: `@appendixsubsubsec'
        !           388:      For subsubsections and subsubsection-like parts of a document.
        !           389: 
        !           390: In the sections that follow, the chapter structuring commands are
        !           391: described first and then the `@node' and `@menu' commands.
        !           392: 
        !           393: * Menu:
        !           394: 
        !           395: * Chapter::            
        !           396: * Unnumbered and Appendix::
        !           397: * Section::
        !           398: * Subsection::
        !           399: * Subsubsection::
        !           400: * Node::
        !           401: * Menu::
        !           402: 
        !           403: 
        !           404: 
        !           405: File: texinfo,  Node: Chapter,  Next: Unnumbered and Appendix,  Up: Structuring
        !           406: 
        !           407: @chapter
        !           408: ========
        !           409: 
        !           410: `@chapter' identifies a chapter in the document.  It is followed by a
        !           411: single argument which is the rest of the line, as in
        !           412: 
        !           413:      @chapter Node and Chapter Structuring
        !           414: 
        !           415: In TeX, it creates a chapter in the document, specifying the chapter
        !           416: title.
        !           417: 
        !           418: In the Info file, `@chapter' causes its argument to appear on a line
        !           419: by itself, with a line of asterisks inserted underneath.  Thus, the
        !           420: above example produces the following output:
        !           421: 
        !           422:      Node and Chapter Structuring
        !           423:      ****************************
        !           424: 
        !           425: 
        !           426: 
        !           427: File: texinfo,  Node: Unnumbered and Appendix,  Next: Section,  Prev: Chapter,  Up: Structuring
        !           428: 
        !           429: @unnumbered, @appendix
        !           430: ======================
        !           431: 
        !           432: These commands are equivalent to `@chapter' for Info file output. 
        !           433: (*Note Chapter::.)  In a printed manual, they generate chapters that
        !           434: are numbered differently in the table of contents.  `@unnumbered'
        !           435: chapters appear without chapter numbers of any kind, and `@appendix'
        !           436: chapters are given a letter instead of a number.
        !           437: 
        !           438: 
        !           439: 
        !           440: File: texinfo,  Node: Section,  Next: Subsection,  Prev: Unnumbered and Appendix,  Up: Structuring
        !           441: 
        !           442: @section
        !           443: ========
        !           444: 
        !           445: `@section' is like `@chapter' except that in TeX it makes a section
        !           446: rather than a chapter.  (*Note Chapter::.)  Sections go within
        !           447: chapters.  In the Info file, `@chapter' and `@section' differ only in
        !           448: that `@section' underlines with `='.  For example,
        !           449: 
        !           450:      This is a section
        !           451:      =================
        !           452: 
        !           453: @unnumberedsec, @appendixsec
        !           454: ============================
        !           455: 
        !           456: Use these constructs for sections within chapters made by
        !           457: `@unnumbered' or `@appendix'. (*Note Section::.)
        !           458: 
        !           459: 
        !           460: 
        !           461: File: texinfo,  Node: Subsection,  Next: Subsubsection,  Prev: Section,  Up: Structuring
        !           462: 
        !           463: @subsection
        !           464: ===========
        !           465: 
        !           466: Subsections are to sections as sections are to chapters. (*Note
        !           467: Section::.) They are underlined with `-'.  For example,
        !           468: 
        !           469:      This is a subsection
        !           470:      -------------------
        !           471: 
        !           472: @unnumberedsubsec, @appendixsubsec
        !           473: ==================================
        !           474: 
        !           475: Use these constructs for subsections within sections within chapters
        !           476: made by `@unnumberedsec' or `@appendixsec'.  (*Note Subsection::.)
        !           477: 
        !           478: 
        !           479: 
        !           480: File: texinfo,  Node: Subsubsection,  Next: Node,  Prev: Subsection,  Up: Structuring
        !           481: 
        !           482: @subsubsection, @unnumberedsubsubsec, @appendixsubsubsec
        !           483: ========================================================
        !           484: 
        !           485: Subsubsections are to subsections as subsections are to sections. 
        !           486: (*Note Subsection::.)  They are underlined with periods.  The
        !           487: equivalent commands for `@unnumberedsubsec' and `@appendixsubsec' are
        !           488: `@unnumberedsubsubsec' and `@appendixsubsubsec'.  For example,
        !           489: 
        !           490:      This is a subsubsection
        !           491:      .......................
        !           492: 
        !           493:  
        !           494: 
        !           495: File: texinfo,  Node: Node,  Next: Menu,  Prev: Subsubsection,  Up: Structuring
        !           496: 
        !           497: @node
        !           498: =====
        !           499: 
        !           500: `@node' defines the beginning of a new node in the Info output file
        !           501: (*note info: (info)Top.).  It is followed by four arguments,
        !           502: separated by commas, that make up the rest of the line.  Since it is
        !           503: often hard to remember the order in which are arguments are listed,
        !           504: `texinfo-mode' provides the `C-c C-c n' command
        !           505: (`texinfo-insert-@node') which automatically inserts a comment line
        !           506: listing the arguments.  For example,
        !           507: 
        !           508:      @node    Texinfo Mode, Beginning a File,  Overview, Top    
        !           509:      @comment node-name,    next,              previous, up
        !           510: 
        !           511: defines a node named `Texinfo Mode', whose `Next' pointer is to node
        !           512: `Beginning a File', whose `Previous' pointer is to node `Overview',
        !           513: and whose `Up' pointer is to node `Top'.  What this means is that
        !           514: Texinfo changes `@node ARGS' into the special text string necessary
        !           515: to separate Info nodes and to identify the node that is starting and
        !           516: say what nodes it points to.
        !           517: 
        !           518: The pointer names should be the names of nodes defined elsewhere. 
        !           519: For this example, nodes named `Beginning a File', `Overview' and
        !           520: `Top' should be defined elsewhere in the file with other `@node'
        !           521: commands.  It does not matter whether they are before or after the
        !           522: node that refers to them.
        !           523: 
        !           524: Normally, a node's `Up' pointer should point at the node whose menu
        !           525: mentions that node.  The node's `Next' pointer should point at the
        !           526: node that follows that node and its `Previous' pointer should point
        !           527: at the node that precedes it in that menu.
        !           528: 
        !           529: In TeX, `@node' is nearly ignored.  It generates no text.  Its only
        !           530: function is to identify the name to use for cross-references to the
        !           531: chapter or section which follows the `@node' command and which which
        !           532: makes up the body of the node.  (Cross references are made with
        !           533: `@xref'.  *Note Cross References::.)
        !           534: 
        !           535: `@node' should be followed immediately by a chapter-structuring
        !           536: command such as `@chapter', `@section', `@subsection' or
        !           537: `@subsubsection'.
        !           538: 
        !           539: The easiest way to write a node is to use the Texinfo mode keyboard
        !           540: command `C-c C-c n' to insert `@node' and a comment line listing the
        !           541: names of each of the pointers in their proper order.  This way you
        !           542: won't lose track of which arguments are for which pointers.  The
        !           543: template is especially useful if you are not familiar with Texinfo. 
        !           544: It is important to pick a suitable node name.  Generally, these begin
        !           545: with an uppercase letter as if the node name were a heading for a
        !           546: chapter or section.  Do not use any of the Texinfo @-commands in the
        !           547: name; these commands confuse Info.  The node name should be
        !           548: informative.  Unfortunately, long names will not fit onto the line,
        !           549: which can be awkward.  Sometimes it is better to use long but
        !           550: informative names rather than short ones.
        !           551: 
        !           552: Some people insert the names of the `Next', `Previous' and `Up'
        !           553: pointers at the same time they insert the node's own name.  This is
        !           554: because it is easier to keep track of the node structure as you
        !           555: create a document than it is to sort it out after you have dozens of
        !           556: nodes.  Others wait to insert the `Next', `Previous' and `Up'
        !           557: pointers until they have a nearly final version of the document. 
        !           558: This is because they expect to change the organization of the
        !           559: document while they write it and insert or delete sections and move
        !           560: them around.  The command `texinfo-show-structure' can be used to
        !           561: find the `Next', `Previous' and `Up' pointers of a node.  (See *Note
        !           562: Using texinfo-show-structure::.)
        !           563: 
        !           564: However you do it, it is best to name the node whenever you write the
        !           565: section so you can easily make cross references to the section.  A
        !           566: large number of cross references are an especially important feature
        !           567: of a good Info file.
        !           568: 
        !           569: After you have inserted the node-line, you should immediately write
        !           570: an @-command for the chapter or section and insert its name.  Next,
        !           571: (and this is important!), put in several index entries.  Usually, you
        !           572: will find at least two and often as many as four or five ways of
        !           573: referring to the node in the index.  Use them all.  This will make it
        !           574: much easier for people to find the node.
        !           575: 
        !           576: The top node of the file, named `Top', should have as its parent the
        !           577: name of a node in another file, where there is a menu that leads to
        !           578: this file.  Specify the file name in parentheses.  If the file is to
        !           579: be installed directly in the Info directory file, use `(dir)' as the
        !           580: parent of the top node; this is short for `(dir)top', the node `top'
        !           581: in the file `dir', which is the main menu of Info.  For example,
        !           582: 
        !           583:      @node    Top,       Overview, (dir),    (dir)
        !           584:      @comment node-name, next,     previous, up
        !           585: 
        !           586: For more information about installing an Info file in the `info'
        !           587: directory, *note Installing an Info File::.
        !           588: 
        !           589: 
        !           590: 
        !           591: File: texinfo,  Node: Menu,  Prev: Node,  Up: Structuring
        !           592: 
        !           593: @menu
        !           594: =====
        !           595: 
        !           596: Info file nodes can contain "menus" which point to other nodes.  You
        !           597: must type the menus in by hand, and surround them with lines
        !           598: containing `@menu' and `@end menu'.  In Info, the `@menu' line
        !           599: changes into `* Menu:', which indicates the beginning of a menu to
        !           600: the Info program.  Otherwise, the contents are unchanged by Texinfo,
        !           601: except for the processing of any other @-commands within.  The entire
        !           602: menu construct has no effect in the printed manual and will not
        !           603: appear there.
        !           604: 
        !           605: By convention, a menu is put at the end of a node.  This way, it is
        !           606: easy for someone using Info to find the menu, using the `M->'
        !           607: (`end-of-buffer') command.
        !           608: 
        !           609: In a menu, every line that begins with a `*' lists a single topic.  A
        !           610: line that does not start with a `*' will also appear in the menu and
        !           611: can be used as a comment.
        !           612: 
        !           613: A menu item has three parts:
        !           614: 
        !           615:   1. The menu item name.
        !           616: 
        !           617:   2. The name of the node.
        !           618: 
        !           619:   3. A description of the item.
        !           620: 
        !           621: Only the first part is required.  This part is the name of the
        !           622: topic--the name of the menu item that the user must give to the `m'
        !           623: command to select this topic when using Info.  The first part comes
        !           624: right after the asterisk and a space, and is followed by a colon,
        !           625: spaces and tabs, and then the name of the node which discusses that
        !           626: topic.  The name of the node is terminated by a tab, comma, newline
        !           627: or period.  If the node name and topic name are the same, rather than
        !           628: give the name twice, put two colons after the name instead.  For
        !           629: example, `* Name::'.  (You should do this whenever possible, since it
        !           630: reduces visual clutter in the menu).
        !           631: 
        !           632: If the second part is present, it may be terminated with a tab,
        !           633: comma, or newline; or with a period.
        !           634: 
        !           635: For example,
        !           636: 
        !           637:      @menu
        !           638:      A Section on Foo and Switches
        !           639:      * Foo::           The node named Foo tells you how to go fooing.
        !           640:      * Sw: Switches.   Type @code{m Sw} to see node @code{Switches}
        !           641:                        which describes the switches available here.
        !           642:      @end menu
        !           643: 
        !           644: produces
        !           645: 
        !           646:      * menu:
        !           647:      
        !           648:      A Section on Foo and Switches
        !           649:      * Foo::         The node named foo tells you how to go fooing.
        !           650:      * Sw: Switches. Type `m Sw' to see node `Switches'
        !           651:                      which describes the switches available here.
        !           652: 
        !           653:  In this example, the menu has two items.  `Foo' is both a menu item
        !           654: name and the name of the node referred to by that item.  `Sw' is the
        !           655: other menu item name, and it refers to the node named `Switches'. 
        !           656: Since no file name is specified with `Foo' or `Switches', they must
        !           657: be the names of other nodes in the same Info file.
        !           658: 
        !           659: Nodes in other Info files can be referred to by putting the file name
        !           660: in parentheses at the beginning of the node name. For example,
        !           661: 
        !           662:      @menu
        !           663:      * Outlining: (emacs) Outline Mode.  The major mode for editing outlines.
        !           664:      * Rebinding: (emacs) Rebinding.     How to redefine the meaning of a key.
        !           665:      @end menu
        !           666: 
        !           667: When this is done, the item has to have at least two parts: the first
        !           668: part is the menu item name and the second part is the name of the node.
        !           669: 
        !           670: 
        !           671: 
        !           672: File: texinfo,  Node: Quotations and Examples,  Next: Lists and Tables,  Prev: Structuring,  Up: Top
        !           673: 
        !           674: Making Quotations and Examples
        !           675: ******************************
        !           676: 
        !           677: Quotations and examples are blocks of text, consisting of one or more
        !           678: whole paragraphs that are set off from the bulk of the text and
        !           679: treated differently.  They are usually indented.
        !           680: 
        !           681: In Texinfo, an insertion is always begun by writing an @-command on a
        !           682: line by itself, and ended by writing an `@end' command that is also
        !           683: on a line by itself.  For instance, an "example" is a kind of
        !           684: insertion that is begun with `@example' and ended with `@end example'.
        !           685: 
        !           686: There are three commands for quotations and examples:
        !           687: 
        !           688: `@quotation'
        !           689:      Used to indicated text that is quoted.
        !           690: 
        !           691: `@example'
        !           692:      Used to illustrate code, commands and the like in a fixed width
        !           693:      font without filling.
        !           694: 
        !           695: `@display'
        !           696:      Used for illustrative text.
        !           697: 
        !           698: * Menu:
        !           699: 
        !           700: * Quotation::
        !           701: * Example::
        !           702: * Display::
        !           703: 
        !           704: 
        !           705: 
        !           706: File: texinfo,  Node: Quotation,  Next: Example,  Up: Quotations and Examples
        !           707: 
        !           708: @quotation
        !           709: ==========
        !           710: 
        !           711: `@quotation' is used to indicate text that is excerpted from another
        !           712: (real or hypothetical) printed work.  The inside of a quotation is
        !           713: processed normally except that
        !           714: 
        !           715:   1. The margins are narrower.
        !           716: 
        !           717:   2. Paragraphs are not indented.
        !           718: 
        !           719:   3. Interline spacing and interparagraph spacing are reduced.
        !           720: 
        !           721: Thus, the input
        !           722: 
        !           723:      @quotation
        !           724:      This is
        !           725:      a foo.
        !           726:      @end quotation
        !           727: 
        !           728: produces in the printed manual
        !           729: 
        !           730:           This is a foo.
        !           731: 
        !           732: and in the Info file
        !           733: 
        !           734:           This is
        !           735:           a foo.
        !           736: 
        !           737:  
        !           738: 
        !           739: File: texinfo,  Node: Example,  Next: Display,  Prev: Quotation,  Up: Quotations and Examples
        !           740: 
        !           741: @example
        !           742: ========
        !           743: 
        !           744: `@example' is used to indicate an example that is not part of the
        !           745: running text.  In the printed manual, this is done by switching to a
        !           746: fixed width font, turning off filling, and making extra spaces and
        !           747: blank lines significant.  In the Info file, an analogous result is
        !           748: obtained by indenting each line with five extra spaces.
        !           749: 
        !           750: `@example' should appear on a line by itself; this line will
        !           751: disappear from the output.  Mark the end of the example with a line
        !           752: containing `@end example', which will likewise disappear.  For example:
        !           753: 
        !           754:      @example
        !           755:      mv foo bar
        !           756:      @end example
        !           757: 
        !           758: produces
        !           759: 
        !           760:      mv foo bar
        !           761: 
        !           762: Since the lines containing `@example' and `@end example' will
        !           763: disappear, you will want to put a blank line before the `@example'
        !           764: and another blank line after the `@end example'.  (Remember that
        !           765: blank lines between the beginning `@example' and the ending `@end
        !           766: example' will appear in the output.)
        !           767: 
        !           768: Don't use tabs in lines of an example!  TeX has trouble with tabs: 
        !           769: it treats them like single spaces, and that is not what they look like.
        !           770: 
        !           771: 
        !           772: 
        !           773: File: texinfo,  Node: Display,  Prev: Example,  Up: Quotations and Examples
        !           774: 
        !           775: @display
        !           776: ========
        !           777: 
        !           778: `@display' is just like `@example' except that, in the printed
        !           779: manual, `@display' does not select the fixed-width font.  In fact, it
        !           780: does not specify the font at all, so that the text appears in the
        !           781: same font it would have appeared in without the `@display'.
        !           782: 
        !           783: 
        !           784: 
        !           785: File: texinfo,  Node: Lists and Tables,  Next: Cross References,  Prev: Quotations and Examples,  Up: Top
        !           786: 
        !           787: Making Lists and Tables
        !           788: ***********************
        !           789: 
        !           790: Texinfo has several ways of making lists and two-column tables. 
        !           791: Lists can be bulleted or numbered while two-column tables can
        !           792: highlight the items in the first column.
        !           793: 
        !           794: For example, this is an enumerated list:
        !           795: 
        !           796:   1. This is a numbered item.
        !           797: 
        !           798:   2. This is the second item in this list.
        !           799: 
        !           800:   3. This is the third item on this list.
        !           801: 
        !           802: Texinfo will automatically indent the text in lists or tables and
        !           803: number an enumerated list.  This last feature is useful if you are
        !           804: reordering the list, since you do not have to renumber it yourself.
        !           805: 
        !           806: Lists or tables are always begun by an @-command on a line by itself
        !           807: and ended with an `@end' command on a line by itself.  For example,
        !           808: an enumerated list begins with the command `@enumerate' and ends with
        !           809: the command `@end enumerate'; and an itemized list begins with the
        !           810: command `@itemize' and ends with the command `@end itemize'.
        !           811: 
        !           812: The elements of a list are begun with the `@item' command.
        !           813: 
        !           814: Here is an itemized list of the different kinds of table and lists:
        !           815: 
        !           816:    * Itemized lists with or without bullets.
        !           817: 
        !           818:    * Numbered lists.
        !           819: 
        !           820:    * two-column tables with highlighting.
        !           821: 
        !           822: * Menu:
        !           823: 
        !           824: * Itemize::
        !           825: * Enumerate::
        !           826: * Table::
        !           827: 
        !           828: 
        !           829: 
        !           830: File: texinfo,  Node: Itemize,  Next: Enumerate,  Up: Lists and Tables
        !           831: 
        !           832: @itemize
        !           833: ========
        !           834: 
        !           835: `@itemize' is used to produce sequences of indented paragraphs, with
        !           836: a mark inside the left margin at the beginning of each paragraph. 
        !           837: The rest of the line that starts with `@itemize' should contain the
        !           838: character or Texinfo commands to generate such a mark.  Usually, it
        !           839: is the @-command `@bullet'.  Whatever mark you choose, ultimately, it
        !           840: should result in a single character in the Texinfo file, or the
        !           841: indentation will come out wrong.  When you write the command, omit
        !           842: the `{}' after the command if you use just one command and nothing
        !           843: else.
        !           844: 
        !           845: The text of the indented paragraphs themselves come after the
        !           846: `@itemize', up to another line that says `@end itemize'.
        !           847: 
        !           848: Before each paragraph for which a mark in the margin is desired,
        !           849: place a line that says just `@item'.  Don't put any other text on
        !           850: this line.
        !           851: 
        !           852: Info indents the lines in an itemized list by five columns, but it
        !           853: does not fill them.  This can produce lines in the Info file that are
        !           854: too wide.  You can either write shorter lines in the Texinfo file by
        !           855: setting the fill column to five columns less than it is normally, or
        !           856: else you can tell Info to refill the paragraphs by adding the
        !           857: @-command `@refill' to the end of the paragraph. (*Note Refill::, for
        !           858: more information about the use of the `@refill' command.)
        !           859: 
        !           860: Usually, you should put a blank line before an `@item'.  This puts a
        !           861: blank like in the Info file.  Except when the entries are very brief,
        !           862: a blank line looks better.
        !           863: 
        !           864: Here is an example of the use of `@itemize', followed by the output
        !           865: it produces.  Note that `@bullet' produces a `*' in Texinfo and a
        !           866: round dot in TeX.
        !           867: 
        !           868:      @itemize @bullet
        !           869:      @item
        !           870:      Some text for foo.
        !           871:      
        !           872:      @item
        !           873:      Some text
        !           874:      for bar.
        !           875:      @end itemize
        !           876: 
        !           877: produces
        !           878: 
        !           879:         * Some text for foo.
        !           880: 
        !           881:         * Some text for bar.
        !           882: 
        !           883: 
        !           884: 
        !           885: File: texinfo,  Node: Enumerate,  Next: Table,  Prev: Itemize,  Up: Lists and Tables
        !           886: 
        !           887: @enumerate
        !           888: ==========
        !           889: 
        !           890: `@enumerate' is like `@itemize' except that the marks in the left
        !           891: margin contain successive integers starting with 1.  (*Note
        !           892: Itemize::.) Do not put any argument on the same line as `@enumerate'.
        !           893: 
        !           894:      @enumerate
        !           895:      @item
        !           896:      Some text for foo.
        !           897:      @item
        !           898:      Some text
        !           899:      for bar.
        !           900:      @end enumerate
        !           901: 
        !           902: produces
        !           903: 
        !           904:        1. Some text for foo.
        !           905: 
        !           906:        2. Some text for bar.
        !           907: 
        !           908: If you want, you can put a blank line between the entries in the list.
        !           909: This often makes it easier to read the Info file.  For example,
        !           910: 
        !           911:      @enumerate
        !           912:      @item
        !           913:      This is the first item.
        !           914:      
        !           915:      @item
        !           916:      This is the second item.
        !           917:      @end enumerate
        !           918: 
        !           919: Info indents the lines of the enumerated list by five columns, but it
        !           920: does not fill them.  As a result, the lines in the Info file may be
        !           921: too wide.  To prevent this, you can either write shorter lines in the
        !           922: Texinfo file file by setting the fill column to five columns less
        !           923: than it is normally, or else you can tell Info to refill the
        !           924: paragraphs by adding the @-command `@refill' to the end of the
        !           925: paragraph.  (*Note Refill::, for more information about the use of
        !           926: the `@refill' command.)
        !           927: 
        !           928: 
        !           929: 
        !           930: File: texinfo,  Node: Table,  Prev: Enumerate,  Up: Lists and Tables
        !           931: 
        !           932: @table
        !           933: ======
        !           934: 
        !           935: `@table' is similar to `@itemize', but allows you to specify a name
        !           936: or heading line for each item.  (*Note Itemize::.)  The command is
        !           937: used to produce two-column tables, and is especially useful for
        !           938: glossaries and explanatory exhibits.
        !           939: 
        !           940: You must follow each use of `@item' inside of `@table' with text to
        !           941: serve as the heading line for that item.  This text is put on the
        !           942: same line as the `@item' command.  Each heading line is put into the
        !           943: first column of the table and the supporting text, which you put on
        !           944: the line following the line beginning with `@item', goes into the
        !           945: second column.
        !           946: 
        !           947: Also, `@table' itself must be followed by an argument that is a
        !           948: Texinfo command such as `@code', `@var', `@kbd' or `@asis'.  Although
        !           949: these commands are usually followed by arguments in braces, in this
        !           950: case you use the command name without an argument.  (`@item' supplies
        !           951: the argument.)  This command will be applied to the text that goes
        !           952: into the first column of each item and determines how it will be
        !           953: highlighted.  For example, `@samp' will cause the text in the first
        !           954: column to be highlighted as if it were acted on by an `@samp' command.
        !           955: 
        !           956: `@asis' is a command that does nothing; in that case, each item will
        !           957: come out without highlighting, unless that particular piece of text
        !           958: contains @-commands for highlighting.
        !           959: 
        !           960: (Various other command names might work with `@table'.  However, only
        !           961: commands that normally take arguments in braces may be used.)
        !           962: 
        !           963: Usually, you should put a blank line before an `@item'.  This puts a
        !           964: blank like in the Info file.  Except when the entries are very brief,
        !           965: a blank line looks better.
        !           966: 
        !           967: The following table, for example, highlights the text in the first
        !           968: column as if each item were acted on by an `@samp' command:
        !           969: 
        !           970:      @table @samp
        !           971:      @item foo
        !           972:      This is the text for
        !           973:      @samp{foo}.
        !           974:      
        !           975:      @item bar
        !           976:      Text for @samp{bar}.
        !           977:      @end table
        !           978: 
        !           979: produces
        !           980: 
        !           981:     `foo'
        !           982:           This is the text for `foo'.
        !           983: 
        !           984:     `bar'
        !           985:           Text for `bar'.
        !           986: 
        !           987: Info indents the lines of text in the second column, but does not
        !           988: fill them.  As a result, the lines in the Info file may be too wide. 
        !           989: To prevent this, cause Info to refill the paragraphs after processing
        !           990: by adding the @-command `@refill' to the end of the paragraph. (*Note
        !           991: Refill::, for more information about the use of the `@refill' command.)
        !           992: 
        !           993: If you want to list two or more named items with a single block of
        !           994: text, use the `@itemx' command.
        !           995: 
        !           996: * Menu:
        !           997: 
        !           998: * Itemx::
        !           999: 
        !          1000: 
        !          1001: 
        !          1002: File: texinfo,  Node: Itemx,  Prev: Table,  Up: Table
        !          1003: 
        !          1004: @itemx
        !          1005: ------
        !          1006: 
        !          1007: `@itemx' is used inside a `@table' when you have two or more named
        !          1008: items for the same block of text.  Use `@itemx' for all but the first
        !          1009: of the items.  It works exactly like `@item' except that it does not
        !          1010: generate extra vertical space above the item text.  For example,
        !          1011: 
        !          1012:      @table @code
        !          1013:      @item upcase
        !          1014:      @itemx downcase
        !          1015:      These two functions accept a character or a string as argument,
        !          1016:      and return the corresponding upper case (lower case) character
        !          1017:      or string. @refill
        !          1018:      @end table
        !          1019: 
        !          1020: produces
        !          1021: 
        !          1022:     `upcase'
        !          1023:     `downcase'
        !          1024:           These two functions accept a character or a string as
        !          1025:           argument, and return the corresponding upper case (lower
        !          1026:           case) character or string.
        !          1027: 
        !          1028: A more complicated example of the use of `@itemx' comes from the
        !          1029: chapter on structuring commands.  Here is how the list showing how 
        !          1030: the chapter structuring commands fall into four groups was constructed.
        !          1031: (*Note Chapter Structuring Commands: Structuring.)
        !          1032: 
        !          1033:      @table @code
        !          1034:      @item  @@chapter
        !          1035:      @itemx @@unnumbered
        !          1036:      @itemx @@appendix
        !          1037:      For chapters and chapter-like parts of a document.
        !          1038:      
        !          1039:      @item  @@section
        !          1040:      @itemx @@unnumberedsec
        !          1041:      @itemx @@appendixsec
        !          1042:      For sections and section-like parts of a document.
        !          1043:      
        !          1044:      @item  @@subsection
        !          1045:      @itemx @@unnumberedsubsec
        !          1046:      @itemx @@appendixsubsec
        !          1047:      For subsections and subsection-like parts of a document.
        !          1048:      
        !          1049:      @item  @@subsubsection
        !          1050:      @itemx @@unnumberedsubsubsec
        !          1051:      @itemx @@appendixsubsubsec
        !          1052:      For subsubsections and similar parts of a document.
        !          1053:      @end table
        !          1054: 
        !          1055: and this is what the resulting table looks like:
        !          1056: 
        !          1057: `@chapter'
        !          1058: `@unnumbered'
        !          1059: `@appendix'
        !          1060:      For chapters and chapter-like parts of a document.
        !          1061: 
        !          1062: `@section'
        !          1063: `@unnumberedsec'
        !          1064: `@appendixsec'
        !          1065:      For sections and section-like parts of a document.
        !          1066: 
        !          1067: `@subsection'
        !          1068: `@unnumberedsubsec'
        !          1069: `@appendixsubsec'
        !          1070:      For subsections and subsection-like parts of a document.
        !          1071: 
        !          1072: `@subsubsection'
        !          1073: `@unnumberedsubsubsec'
        !          1074: `@appendixsubsubsec'
        !          1075:      For subsubsections and similar parts of a document.
        !          1076: 
        !          1077: Also, either column of a table can be empty.
        !          1078: 
        !          1079: 
        !          1080: 
        !          1081: File: texinfo,  Node: Cross References,  Next: Formatting Paragraphs,  Prev: Lists and Tables,  Up: Top
        !          1082: 
        !          1083: Making Cross References
        !          1084: ***********************
        !          1085: 
        !          1086: Cross references are used to refer the reader to other parts of the
        !          1087: same or different Texinfo files.  In Texinfo, "nodes" are the points
        !          1088: to which cross-references can refer.
        !          1089: 
        !          1090: In general, a document should be designed so that it can be read
        !          1091: sequentially.  People soon tire of flipping back and forth to find
        !          1092: information that should be presented to them as they need it. 
        !          1093: However, there will be information (often too detailed for whatever
        !          1094: the current context may be) that is related to whatever is presented
        !          1095: and to which reference should be made.  More important, in an on-line
        !          1096: help system or in a reference manual, readers do *not* read
        !          1097: everything in sequence from beginning to end.  Instead, they look up
        !          1098: what they need.  For this reason, such creations should contain many
        !          1099: cross references to help the reader find other information that he or
        !          1100: she may not have read.
        !          1101: 
        !          1102: Although nodes are not a fundamental concept in a printed manual,
        !          1103: they still serve to define a cross-reference point and the variants
        !          1104: of `@xref' still serve to make references.  Thus, if you are writing
        !          1105: a manual that will only be printed, and will not be used on-line, you
        !          1106: continue to use the `@node' command for when you make cross references.
        !          1107: 
        !          1108: There are several kinds of cross reference command.
        !          1109: 
        !          1110: `@xref'
        !          1111:      Used to start a sentence in the printed manual saying, `See ...' 
        !          1112:       or an entry in the Info file saying `*note ...'.
        !          1113: 
        !          1114: `@pxref'
        !          1115:      Used to make a reference that starts with a lowercase `see' 
        !          1116:       and is usually contained within parentheses.
        !          1117: 
        !          1118: `@inforef'
        !          1119:      Used to make a reference to an Info file for which there is no
        !          1120:      printed manual.
        !          1121: 
        !          1122: * Menu:
        !          1123: 
        !          1124: * Xref::
        !          1125: * Pxref::
        !          1126: * Inforef::
        !          1127: 
        !          1128: 
        !          1129: 
        !          1130: File: texinfo,  Node: Xref,  Next: Pxref,  Prev: Cross References,  Up: Cross References
        !          1131: 
        !          1132: @xref
        !          1133: =====
        !          1134: 
        !          1135: `@xref' generates a cross-reference.  In Texinfo, it turns into an
        !          1136: Info cross-reference which the Info `f' command can use to go
        !          1137: directly to another node.  In TeX, it turns into a sentence of the form
        !          1138: 
        !          1139:      See section SECTION [TOPIC], page PAGE
        !          1140: 
        !          1141: but does not generate a period to end it.
        !          1142: 
        !          1143: `@xref' must refer to an Info node created by `@node', by the node's
        !          1144: name.
        !          1145: 
        !          1146: `@xref' is followed by an argument inside braces; but actually the
        !          1147: text inside the braces is treated as several arguments, separated by
        !          1148: commas.  Whitespace after these commas is ignored.  A period or comma
        !          1149: *must* follow the closing brace of an `@xref'.  It is required to
        !          1150: terminate the cross reference.  This period or comma will appear in
        !          1151: the output, both in the Info file and in the printed manual.
        !          1152: 
        !          1153: The simplest form of `@xref' takes one argument, the name of another
        !          1154: node in the same Info file.  Here we show the input text, followed by
        !          1155: a blank line and then the output text for Info files and the output
        !          1156: text for printed manuals.
        !          1157: 
        !          1158:      @xref{node-name}, for more info.
        !          1159:      
        !          1160:      *note node-name::, for more info.
        !          1161: 
        !          1162:       See section NNN [node-name], page PPP, for more info.
        !          1163: 
        !          1164: With two arguments, the second one is used as the name of the Info
        !          1165: cross-reference, while the first argument is still the node that the
        !          1166: cross-reference points to:
        !          1167: 
        !          1168:      @xref{node-name, name-for-note}, for more info.
        !          1169:      
        !          1170:      *note name-for-note: node-name, for more info.
        !          1171: 
        !          1172:       See section NNN [node-name], page PPP, for more info.
        !          1173: 
        !          1174: A third argument replaces the node name when it actually appears in
        !          1175: the TeX output.  It should state the topic discussed by the section
        !          1176: being referenced.  Often, you will want to use initial uppercase
        !          1177: letters so it will be easier to read when the reference is printed. 
        !          1178: Use a third argument when the node name is unsuitable because of
        !          1179: syntax, grammar or diction.
        !          1180: 
        !          1181:      @xref{node-name, name-for-note, Topic Description}, for more info.
        !          1182:      
        !          1183:      *note name-for-note: node-name, for more info.
        !          1184: 
        !          1185:       See section NNN [Topic Description], page PPP, for more info.
        !          1186: 
        !          1187: If a third argument is given and the second one is empty, then the
        !          1188: third argument serves both purposes:
        !          1189: 
        !          1190:      @xref{node-name, , Topic Description}, for more info.
        !          1191:      
        !          1192:      *note Topic Description: node-name, for more info.
        !          1193: 
        !          1194:       See section NNN [Topic Description], page PPP, for more info.
        !          1195: 
        !          1196: A fourth argument specifies the name of the Info file in which the
        !          1197: referenced node is located, assuming it is not the one in which the
        !          1198: reference appears.  `@xref' with only four arguments is used when the
        !          1199: reference is not within one Info file, but is within a single printed
        !          1200: manual--when multiple Texinfo files are incorporated into the same
        !          1201: TeX run but make separate Info files.  (This is seldom the case and
        !          1202: usually you will use five arguments if you are making a reference
        !          1203: that is outside the current Info file.)
        !          1204: 
        !          1205:      @xref{node-name, name-for-note, Topic, info-file-name}, 
        !          1206:      for more info.
        !          1207:      
        !          1208:      *note name-for-note: (info-file-name) node-name, for more info.
        !          1209: 
        !          1210:       See section NNN [Topic], page PPP, for more info.
        !          1211: 
        !          1212: A fifth argument is used when you are making a reference to another
        !          1213: Info file which is also part of another printed manual.  Write the
        !          1214: title of the manual in this slot.  Since a different manual is made
        !          1215: during a different TeX run, the printed reference will not have a
        !          1216: page number.
        !          1217: 
        !          1218: Whenever you refer to another manual, use this version of `@xref'
        !          1219: with five arguments.
        !          1220: 
        !          1221:      @xref{node-name, name-for-note, Topic, info-file-name, A Printed Manual},
        !          1222:      for more info.
        !          1223:      
        !          1224:      *note name-for-note: (info-file-name) node-name, for more info.
        !          1225: 
        !          1226:       See section Topic of A Printed Manual, for more info.
        !          1227: 
        !          1228: The name of the printed manual will be typeset in italics.
        !          1229: 
        !          1230: Often, you will leave out the second argument when you use the long
        !          1231: version of `@xref'.  In this case, the third argument, the topic
        !          1232: description, will replace the node name:
        !          1233: 
        !          1234:      @xref{node-name, , Topic Description, info-file-name, A Printed Manual},
        !          1235:      for more info.
        !          1236:      
        !          1237:      *note Topic Description: (info-file-name) node-name, for more info.
        !          1238: 
        !          1239:       See section Topic Description of A Printed Manual, for more info.
        !          1240: 
        !          1241: 
        !          1242: 
        !          1243: File: texinfo,  Node: Pxref,  Next: Inforef,  Prev: Xref,  Up: Cross References
        !          1244: 
        !          1245: @pxref
        !          1246: ======
        !          1247: 
        !          1248: `@pxref' is nearly the same as `@xref'; it differs in only two ways:
        !          1249: 
        !          1250:   1. The output starts with lower case `see' rather than `See'.
        !          1251: 
        !          1252:   2. A period is generated automatically in the Info file output to
        !          1253:      end the Info cross-reference, but no period is generated for the
        !          1254:      printed manual.
        !          1255: 
        !          1256: The purpose of `@pxref' is to be used inside parentheses as part of
        !          1257: another sentence.  In the printed manual, no period is needed after
        !          1258: the cross reference text itself (within the parentheses), but a
        !          1259: period is needed after the cross reference text in the Info file
        !          1260: because only thus can Info recognize the end of the cross-reference. 
        !          1261: `@pxref' spares you the need to use complicated methods to put a
        !          1262: period into one form of the output and not the other.
        !          1263: 
        !          1264: `@pxref' can be used with up to five arguments just like `@xref'. 
        !          1265: (*Note Xref::.)
        !          1266: 
        !          1267: 
        !          1268: 
        !          1269: File: texinfo,  Node: Inforef,  Prev: Pxref,  Up: Cross References
        !          1270: 
        !          1271: @inforef
        !          1272: ========
        !          1273: 
        !          1274: `@inforef' is used for cross-references to Info files for which there
        !          1275: are no printed manuals.  Even in a printed manual, `@inforef'
        !          1276: generates a reference directing the user to look in an Info file. 
        !          1277: `@inforef' takes exactly three arguments.  The syntax is
        !          1278: `@inforef{NODE, NAME, FILE}'.
        !          1279: 
        !          1280:      @inforef{node-name, name-for-note, info-file-name}, for more information.
        !          1281:      
        !          1282:      *note name-for-note: (info-file-name) node-name, for more information.
        !          1283: 
        !          1284:       See Info file `info-file-name', node `node-name', for more
        !          1285:      information.
        !          1286: 
        !          1287: 
        !          1288: 
        !          1289: File: texinfo,  Node: Formatting Paragraphs,  Next: Marking Text,  Prev: Cross References,  Up: Top
        !          1290: 
        !          1291: Formatting Paragraphs
        !          1292: *********************
        !          1293: 
        !          1294: Usually, a Texinfo file will be processed both by TeX and by the `M-x
        !          1295: texinfo-format-buffer' command.  Consequently, you must make sure
        !          1296: that text will come out looking right both in the printed manual and
        !          1297: in the on-line help.
        !          1298: 
        !          1299: For example, unless told otherwise, `M-x texinfo-format-buffer' will
        !          1300: not refill a paragraph after processing it although TeX will.  This
        !          1301: means that a paragraph with numerous or large @-commands may not look
        !          1302: properly filled after processing by Info.  The @-commands are removed
        !          1303: from the text but the lines are not refilled so some are much shorter
        !          1304: than they were.  To cause the `M-x texinfo-format-buffer' command to
        !          1305: refill such a paragraph, put `@refill' at the end of the paragraph.
        !          1306: 
        !          1307: TeX may also format a document improperly.  For example, page breaks
        !          1308: may occur in the ``wrong place''; to control this, text can be held
        !          1309: together by a group command that keeps the text within the group from
        !          1310: being split across two pages.
        !          1311: 
        !          1312: * Menu:
        !          1313: 
        !          1314: * Refilling & Noindent::      Refilling paragraphs & preventing indentation
        !          1315: * Breaks Blank-Lines Groups::  Line and paragraph breaks, blank lines, grouping
        !          1316: 
        !          1317: 
        !          1318: 
        !          1319: File: texinfo,  Node: Refilling & Noindent,  Next: Breaks Blank-Lines Groups,  Prev: Formatting Paragraphs,  Up: Formatting Paragraphs
        !          1320: 
        !          1321: Refilling Paragraphs and Preventing Indentation
        !          1322: ===============================================
        !          1323: 
        !          1324: The `@refill' and `@noindent' commands are used just after or just
        !          1325: before paragraphs which, after processing by either Info or TeX,
        !          1326: might look bad.  The `@refill' command refills a paragraph in the
        !          1327: Info file after all the other processing has been done.  In the
        !          1328: printed manual, the `@noindent' command prevents a piece of text that
        !          1329: is a continuation of the preceding paragraph from being indented as
        !          1330: if it were a new paragraph.
        !          1331: 
        !          1332: * Menu:
        !          1333: 
        !          1334: * Refill::     Refilling an info paragraph after other processing.
        !          1335: * Noindent::   Preventing paragraph indentation in continuation text.
        !          1336: 
        !          1337:  
        !          1338: 
        !          1339: File: texinfo,  Node: Refill,  Next: Noindent,  Prev: Refilling & Noindent,  Up: Refilling & Noindent
        !          1340: 
        !          1341: @refill
        !          1342: -------
        !          1343: 
        !          1344: If a paragraph contains sizable @-constructs, it may look badly
        !          1345: filled after `texinfo-format-buffer' is through with it.
        !          1346: 
        !          1347: Put `@refill' at the end of the paragraph to tell
        !          1348: `texinfo-format-buffer' to refill the paragraph after finishing all
        !          1349: other processing on it.  `@refill' has no effect on TeX, which always
        !          1350: fills everything that ought to be filled.  For example,
        !          1351: 
        !          1352:      To use @code{foo}, pass @samp{xx%$} and @var{flag} and type @kbd{x}
        !          1353:      after running @code{make-foo}.@refill
        !          1354: 
        !          1355: produces (in the Info file)
        !          1356: 
        !          1357:      To use `foo', pass `xx%$' and FLAG and type `x' after running `make-foo'.
        !          1358: 
        !          1359:  whereas without the `@refill' it would produce
        !          1360: 
        !          1361:      To use `foo', pass `xx%$' and FLAG and type `x'
        !          1362:      after running `make-foo'.
        !          1363: 
        !          1364:  with the line broken at the same place as in the Texinfo input file.
        !          1365: 
        !          1366: Do not put a space before `@refill'; otherwise the command might be
        !          1367: put at the beginning of the line when you refill the paragraph in the
        !          1368: Texinfo file with `M-q' (`fill-paragraph').  If this were to happen,
        !          1369: the `@refill' command might fail to work
        !          1370: 
        !          1371: 
        !          1372: 
        !          1373: File: texinfo,  Node: Noindent,  Prev: Refill,  Up: Refilling & Noindent
        !          1374: 
        !          1375: @noindent
        !          1376: ---------
        !          1377: 
        !          1378: If you have text following an `@example' or other similar ``special
        !          1379: paragraph'' that reads as a continuation of the text before the
        !          1380: `@example', it is good to prevent this text from being indented as a
        !          1381: new paragraph.  To accomplish this, put `@noindent' on a line by
        !          1382: itself before the start of the text that should not be indented. For
        !          1383: example,
        !          1384: 
        !          1385:      @example
        !          1386:      This is an example
        !          1387:      @end example
        !          1388:      
        !          1389:      @noindent
        !          1390:      This line will not be indented.
        !          1391: 
        !          1392:  produces
        !          1393: 
        !          1394:      This is an example
        !          1395: 
        !          1396: This line will not be indented.
        !          1397: 
        !          1398: To adjust the number of blank lines properly in the Info file output,
        !          1399: remember that the line containing `@noindent' does not generate a
        !          1400: blank line, and neither does the `@end example' line.
        !          1401: 
        !          1402: In the Texinfo source file for this documentation, each of the lines
        !          1403: that says `produces' is preceded by a line containing `@noindent'.
        !          1404: 
        !          1405: 

unix.superglobalmegacorp.com

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