Annotation of 43BSD/contrib/emacs/info/texinfo, revision 1.1.1.1

1.1       root        1: Info file texinfo, produced by texinfo-format-buffer   -*-Text-*-
                      2: from file texinfo.texinfo
                      3: 
                      4: 
                      5: 
                      6: Distribution
                      7: ************
                      8: 
                      9: Copyright (C) 1985 Richard M. Stallman.
                     10: 
                     11: Permission is granted to make and distribute verbatim copies of
                     12: this manual provided the copyright notice and this permission notice
                     13: are preserved on all copies.
                     14: 
                     15: Permission is granted to copy and distribute modified versions of this
                     16: manual under the conditions for verbatim copying, provided that the entire
                     17: resulting derived work is distributed under the terms of a permission
                     18: notice identical to this one.
                     19: 
                     20: Permission is granted to copy and distribute translations of this manual
                     21: into another language, under the same conditions as for modified versions.
                     22: 
                     23: 
                     24: File: texinfo  Node: top, Up: (DIR), Next: commands
                     25: 
                     26: Texinfo Files
                     27: *************
                     28: 
                     29: Documentation for GNU utilities and libraries should be written in a format
                     30: called "texinfo".  This format can be translated mechanically into either
                     31: printed manuals or on-line readable Info files.
                     32: 
                     33: * Menu:
                     34: 
                     35: * info::       What Info files do.
                     36: * commands::   What goes into a texinfo file.
                     37: * make-info::  Making a texinfo file into an Info file.
                     38: * manual::     Making a texinfo file into a printed manual.
                     39: 
                     40: 
                     41: File: texinfo  Node: info, Prev: top, Up: top, Next: commands
                     42: 
                     43: What Info Files Do
                     44: ==================
                     45: 
                     46: An Info file is a file formatted so that the Info documentation reading
                     47: program can operate on it.  Info files are divided into pieces called
                     48: "nodes", each of which contains the discussion of one topic.  Each node
                     49: has a name, and contains both text for the user to read and pointers to
                     50: other nodes, which are identified by their names.  Info displays one node
                     51: at a time, and provides commands with which the user can move to the other
                     52: nodes that the current node points to.
                     53: 
                     54: Normally most of the nodes are arranged in a tree which branches down.
                     55: Each node may have any number of child nodes that describe subtopics of the
                     56: node's topic.  The names of these child nodes, if any, are listed in a
                     57: "menu" within the parent node; this allows certain Info commands to
                     58: be used to move to one of the child nodes.  Each child node records the
                     59: parent node name, as its `up' pointer.
                     60: 
                     61: All the children of any one parent are linked together in a bidirectional
                     62: chain of `next' and `previous' pointers.  Normally the order in this chain
                     63: is the same as the order of the children in the parent's menu.  The last
                     64: child has no `next' pointer, and the first child normally has the parent as
                     65: its `previous' pointer (as well as its `up' pointer, of course).
                     66: 
                     67: The root of the tree is the top node of the file, through which users
                     68: enter the file from the Info directory.  By convention, this node is always
                     69: called `top'.  This node normally contains just a brief summary of the
                     70: file's purpose, and a large menu through which the rest of the file is
                     71: reached.
                     72: 
                     73: Structuring the nodes in a tree is a matter of convention, not a
                     74: requirement.  In fact, the `up', `previous' and `next' pointers of a node
                     75: can point to any other nodes, and the menu can contain any other nodes.
                     76: The structure of nodes can be any directed graph.  But it is usually more
                     77: comprehensible to the user to make it a tree.  Info provides another kind
                     78: of pointer between nodes, called a reference, that can be sprinkled through
                     79: the text of a node.  This is usually the best way to represent links that
                     80: do not fit the tree structure.
                     81: 
                     82: Most often the nodes fall into a strict tree structure, and most often this
                     83: structure corresponds to the structure of chapters, sections, subsections,
                     84: and so on of a printed manual.  But there are times when this is not right
                     85: for the material being discussed.  Therefore, texinfo format uses separate
                     86: commands to specify the node structure of the Info file and the section
                     87: structure of the a printed manual.  Also, texinfo requires menus to be
                     88: specified explicitly, rather than generating them automatically based on an
                     89: assumed tree structure.
                     90: 
                     91: 
                     92: File: texinfo  Node: commands, Prev: info, Up: top, Next: make-info
                     93: 
                     94: General Syntactic Conventions
                     95: =============================
                     96: 
                     97: Texinfo files contain a strictly limited set of constructs for a TeX
                     98: macro package quite different from plain TeX.  The strict limits make it
                     99: possible for texinfo files to be understood also by the `texinfo'
                    100: program, which converts them into Info files.
                    101: 
                    102: In order to be made into an Info file, a texinfo file must start with a
                    103: line that looks like
                    104:      @setfilename INFO-FILE-NAME
                    105: which specifies the name of the Info file to be generated.  In fact, there
                    106: can be other things in the file before this line, but they are ignored in
                    107: the generation of an Info file.  The `@setfilename' line is ignored
                    108: when a printed manual is generated.
                    109: 
                    110: All ASCII printing characters except `@', `{' and `}' can appear in body
                    111: text in a texinfo file and stand for themselves.  `@' is the escape
                    112: character which introduces commands.  `{' and `}' should be used only to
                    113: surround arguments to certain commands.  `{' and `}' appearing anywhere
                    114: else will be treated by TeX as a grouping but treated by texinfo as
                    115: themselves; this inconsistency is undesirable, so don't let it occur.  To
                    116: put one of these special characters into the document, put an `@' character
                    117: in front of it.
                    118: 
                    119: It is customary in TeX to use doubled single-quote characters to begin
                    120: and end quotations.  This convention should be followed in texinfo files.
                    121: 
                    122: TeX ignores the line-breaks in the input text, except for blank lines,
                    123: which separate paragraphs.  Texinfo generally preserves the line breaks
                    124: that are present in the input file.  Therefore, you break the lines in the
                    125: texinfo file the way you want them to appear in the output Info file, and
                    126: let TeX take care of itself.
                    127: 
                    128: 
                    129: @-Command Syntax
                    130: ================
                    131: 
                    132: The character @ is used to start special texinfo commands.  (It has the
                    133: same meaning that \ has in plain TeX.)  Syntactically, there
                    134: are three classes of @-commands:
                    135: 
                    136:   1. Non-alphabetic commands, @ followed by a punctuation character.
                    137:      These commands are always part of the text within a paragraph, and
                    138:      never take any argument.  The two characters (@ and the other one)
                    139:      are complete in themselves.
                    140:   2. Alphabetic commands used within a paragraph.  These commands have @
                    141:      followed by a word, followed by an argument within braces.  For
                    142:      example, the command `@i' specifies italic font (for TeX
                    143:      processing only); it is used as follows: `I do @i{not} want
                    144:      to eat that.'
                    145:   3. Alphabetic commands used outside of paragraphs.  Each such command
                    146:      occupies an entire line.  The line starts with @, followed by the
                    147:      name of the command (a word).  If no argument is needed, the word is
                    148:      followed by the end of the line.  If there is an argument, it is
                    149:      separated from the command name by a space.
                    150: 
                    151: Thus, the alphabetic commands fall into two classes that have different
                    152: argument syntax.  You cannot tell which class a command falls in by the
                    153: appearance of its name, but you can tell by the command's meaning: if it
                    154: makes sense to use the command together with other words as part of a
                    155: paragraph, the command is in class 2 and must be followed by an argument in
                    156: braces; otherwise, it is in class 3 and uses the rest of the line as its
                    157: argument.
                    158: 
                    159: The purpose of having different syntax for commands of classes 2 and 3 is
                    160: to make the texinfo file easier to read, and also to help the Emacs
                    161: paragraph and filling commands work properly.  There is only one exception
                    162: to this rule: the command `@refill', which is always used at the end of a
                    163: paragraph immediately following the final period or other punctuation
                    164: character.  `@refill' takes no argument.  `@refill' never confuses the
                    165: Emacs paragraph commands because it cannot start at the beginning of a
                    166: line.
                    167: 
                    168: 
                    169: Within-Paragraph Commands
                    170: =========================
                    171: 
                    172: The @-commands used within a paragraph either generate a small amount of
                    173: text or modify the treatment of some text.
                    174: 
                    175: 
                    176: @@
                    177: --
                    178: 
                    179: `@@' stands for a single @ in either printed or Info output.
                    180: 
                    181: 
                    182: @{
                    183: --
                    184: 
                    185: `@{' stands for a single { in either printed or Info output.
                    186: 
                    187: 
                    188: @}
                    189: --
                    190: 
                    191: `@}' stands for a single } in either printed or Info output.
                    192: 
                    193: 
                    194: @:
                    195: --
                    196: 
                    197: `@:' is used after a character such as period or colon which
                    198: normally causes TeX to increase the width of the following whitespace,
                    199: to suppress that effect.  For example, it can be used after periods that
                    200: end abbreviations and do not end sentences.  `@:' has no effect
                    201: on the Info file output.
                    202: 
                    203:      It displays @code{Foo:}@: at that time.
                    204: 
                    205: produces
                    206: 
                    207:      It displays `Foo:' at that time.
                    208: 
                    209: Note that the meanings of `@:' and `@.' in texinfo are not compatible with
                    210: their meanings in Scribe; in fact, they are nearly the opposite.  The
                    211: meanings in texinfo were designed to work well with the Emacs sentence
                    212: motion commands.
                    213: 
                    214: 
                    215: @.
                    216: --
                    217: 
                    218: `@.' stands for a period that really does end a sentence, useful when
                    219: TeX will assume by its heuristics that that is not so.  This happens
                    220: when there is a single-capital-letter word at the end of a sentence: TeX
                    221: normally guesses that it is an abbreviation.
                    222: 
                    223: In the Info file output, `@.' is equivalent to a simple `.'.
                    224: The texinfo program preserves the amount of space that you use, so put
                    225: two spaces after a period if you intend it to be the end of a sentence
                    226: (as well as using `@.', if necessary, for the printed manual's sake).
                    227: 
                    228:      Give it to X. Give it to X@.  Give it to X@.
                    229: 
                    230: produces
                    231: 
                    232:      Give it to X. Give it to X.  Give it to X.
                    233: 
                    234: 
                    235: @*
                    236: --
                    237: 
                    238: `@*' forces a line break in the printed manual.  It has no effect on
                    239: the Info file output, where line breaks follow those in the source file.
                    240: If you want a line break at a certain spot in both forms of output, break
                    241: the line there in the source file and put `@*' at the end of the
                    242: line.
                    243: 
                    244: 
                    245: @dots
                    246: -----
                    247: 
                    248: `@dots{}' generates an ellipsis: three periods in a row, or `...'.
                    249: Do not simply write three periods in the input file; that would work ok for
                    250: the Info file output, but would produce the wrong amount of space between
                    251: the periods in the printed manual.
                    252: 
                    253: 
                    254: @bullet
                    255: -------
                    256: 
                    257: `@bullet{}' generates a large round dot, or the closest possible
                    258: thing to one.
                    259: 
                    260: 
                    261: @TeX
                    262: ----
                    263: 
                    264: `@TeX{}' generates `TeX'.  In a printed manual, this is a special
                    265: logo that is different from three ordinary letters.
                    266: 
                    267: 
                    268: @copyright
                    269: ----------
                    270: 
                    271: `@copyright{}' generates a `C' inside a circle.
                    272: 
                    273: 
                    274: @code
                    275: -----
                    276: 
                    277: `@code' is used to indicate text that is a literal example of input
                    278: to a program.  The text follows, enclosed in braces.  Any time you give a
                    279: sample of an expression in C, or of a command for the shell, or any such
                    280: thing, use `@code'.  In the printed manual, it puts the argument in
                    281: bold face.  In the Info file, it uses `...' quotation.  Example:
                    282: 
                    283:      To compare two files, showing text inserted or removed, use @code{diff}.
                    284: 
                    285: produces
                    286: 
                    287:      To compare two files, showing text inserted or removed, use `diff'.
                    288: 
                    289: 
                    290: @samp
                    291: -----
                    292: 
                    293: `@samp' is used to indicate text that is a literal example of a
                    294: sequence of characters in a file, string, pattern, etc.  The text follows,
                    295: enclosed in braces.  The argument appears within `...' quotation in
                    296: both the Info file and the printed manual; in addition, it is printed in
                    297: a fixed-width font.
                    298: 
                    299:      To match @samp{foo} at the end of the line, use the regexp @samp{foo$}.
                    300: 
                    301: produces
                    302: 
                    303:      To match `foo' at the end of the line, use the regexp `foo$'.
                    304: 
                    305: 
                    306: @file
                    307: -----
                    308: 
                    309: `@file' is used to indicate text that is a file name.  Currently
                    310: it is equivalent to `@samp' in its effects on the output.
                    311: 
                    312: 
                    313: @kbd
                    314: ----
                    315: 
                    316: `@kbd' is used much like `@code'.  The difference is that `@kbd' is for
                    317: names of keys on the keyboard, or of characters you can type.  It has the
                    318: same effect as `@code' in texinfo, but may produce a different font in a
                    319: printed manual.
                    320: 
                    321:      To give the @code{logout} command, type the characters @kbd{l o g o u t
                    322:      @key{RET}}.
                    323: 
                    324: produces
                    325: 
                    326:      To give the `logout' command, type the characters `l o g o u t
                    327:      RET'.
                    328: 
                    329: 
                    330: @key
                    331: ----
                    332: 
                    333: `@key' is used to indicate text that is the name of a key on
                    334: the keyboard, as in
                    335: 
                    336:      @key{RET}
                    337: 
                    338: Often, `@key' is used within the argument of a `@kbd' command, whenever the
                    339: sequence of characters to be typed includes one or more keys that are
                    340: described by name.
                    341: 
                    342: The recommended names to use for keys are
                    343: 
                    344: SPC     
                    345:      Space.
                    346: RET     
                    347:      Return.
                    348: LFD     
                    349:      Linefeed.
                    350: TAB     
                    351:      Tab.
                    352: BS     
                    353:      Backspace.
                    354: ESC     
                    355:      Escape.
                    356: DEL     
                    357:      Delete.
                    358: SFT     
                    359:      Shift.
                    360: CTL     
                    361:      Control.
                    362: META     
                    363:      Meta.
                    364: 
                    365: 
                    366: @ctrl
                    367: -----
                    368: 
                    369: `@ctrl' is used to describe an ASCII control character.  The pattern
                    370: of usage is `@ctrl{CH}', where CH is an ASCII character whose
                    371: control-equivalent is wanted.
                    372: 
                    373: In the Info file, this generates the specified control character, output
                    374: literally into the file.
                    375: 
                    376: In a printed manual, this generates text to describe or identify that
                    377: control character: an uparrow followed by the character CH.
                    378: 
                    379: 
                    380: @var
                    381: ----
                    382: 
                    383: `@var' is used to indicate metasyntactic variables.  Its effect in
                    384: the Info file is to upcase the argument; in the printed manual, to
                    385: italicize it.  Example:
                    386: 
                    387:      To delete file @var{file}, type @code{rm @var{file}}.
                    388: 
                    389: produces
                    390: 
                    391:      To delete file FILE, type `rm FILE'.
                    392: 
                    393: 
                    394: @dfn
                    395: ----
                    396: 
                    397: `@dfn' is used to identify the introductory or defining use of a
                    398: technical term.  It generates italics in the printed manual, and double
                    399: quotation marks in the Info file.  Example:
                    400: 
                    401:      Getting rid of a file is called @dfn{deleting} it.
                    402: 
                    403: produces
                    404: 
                    405:      Getting rid of a file is called "deleting" it.
                    406: 
                    407: 
                    408: @i or @b or @t
                    409: --------------
                    410: 
                    411: These three commands specify font change in the printed manual and have no
                    412: effect in the Info file.  `@i' requests italic font (actually, slanted font
                    413: is used by TeX), `@b' requests bold face, and `@t' requests the fixed-width
                    414: font used by `@kbd'.  All three commands apply to an argument that follows,
                    415: surrounded by braces.
                    416: 
                    417: 
                    418: @w
                    419: --
                    420: 
                    421: In a printed manual, `@w{TEXT}' outputs TEXT and prohibits
                    422: line breaks within TEXT.  `@w' has no effect on the Info file
                    423: output; it is the same as would result from just TEXT.
                    424: 
                    425: 
                    426: @refill
                    427: -------
                    428: 
                    429: If a paragraph contains sizeable @-constructs, it may look badly filled
                    430: once texinfo is through with it.
                    431: 
                    432: Put `@refill' at the end of the paragraph to tell texinfo to refill the
                    433: paragraph after finishing all other processing on it.  `@refill' has no
                    434: effect on TeX, which always fills everything that ought to be filled.
                    435: Example:
                    436: 
                    437:      To use @code{foo}, pass @samp{xx%$} and @var{flag} and type @kbd{x}
                    438:      after running @code{make-foo}.@refill
                    439: 
                    440: produces (in the Info file)
                    441: 
                    442:      To use `foo', pass `xx%$' and FLAG and type `x' after running `make-foo'.
                    443: 
                    444: whereas without the `@refill' it would produce
                    445: 
                    446:      To use `foo', pass `xx%$' and FLAG and type `x'
                    447:      after running `make-foo'.
                    448: 
                    449: with the line broken at the same place as in the input.
                    450: 
                    451: 
                    452: Chapter Structuring Commands
                    453: ============================
                    454: 
                    455: The chapter structuring commands divide a document into a hierarchy of
                    456: chapters, sections, subsections and subsubsections.  These commands
                    457: generate large headings in the middle of the text.
                    458: 
                    459: In a printed manual, the table of contents is based on the information
                    460: specified by the chapter structuring commands.
                    461: 
                    462: 
                    463: @chapter
                    464: --------
                    465: 
                    466: `@chapter' identifies a chapter in the document.  It is followed by a
                    467: single argument which is the rest of the line, as in
                    468: 
                    469:      @chapter Texinfo Files
                    470: 
                    471: In TeX, it serves to create a chapter of the document, specifying the
                    472: chapter title.
                    473: 
                    474: In the Info file, `@chapter' causes its argument to appear on a line by
                    475: itself, with a line of asterisks inserted underneath.  Thus, the above
                    476: example produces the output
                    477: 
                    478:      Texinfo Files
                    479:      *************
                    480: 
                    481: 
                    482: @unnumbered, @appendix
                    483: ----------------------
                    484: 
                    485: These are equivalent to `@chapter' for Info file output.  In a
                    486: printed manual, they generate chapters that are numbered differently in the
                    487: table of contents.  `@unnumbered' chapters appear without chapter
                    488: numbers of any kind, and `@appendix' chapters are given a letter
                    489: instead of a number.
                    490: 
                    491: 
                    492: @section
                    493: --------
                    494: 
                    495: `@section' is like `@chapter' except that in TeX it makes a section rather
                    496: than a chapter.  Sections go within chapters.  In the Info file, `@chapter'
                    497: and `@section' differ only in that `@section' underlines with `='.
                    498: 
                    499: 
                    500: @unnumberedsec, @appendixsec
                    501: ----------------------------
                    502: 
                    503: Use these constructs for sections within chapters made by
                    504: `@unnumbered' or `@appendix'.
                    505: 
                    506: 
                    507: @subsection
                    508: -----------
                    509: 
                    510: Subsections are to sections as sections are to chapters.  They are
                    511: underlined with `-'.
                    512: 
                    513: 
                    514: @unnumberedsubsec, @appendixsubsec
                    515: ----------------------------------
                    516: 
                    517: Use these constructs for subsections within sections within chapters made
                    518: by `@unnumbered' or `@appendix'.
                    519: 
                    520: 
                    521: @subsubsection
                    522: --------------
                    523: 
                    524: Subsubsections are to subsections as subsections are to sections.  They are
                    525: underlined with periods.
                    526: 
                    527: 
                    528: Nodes and Cross References
                    529: ==========================
                    530: 
                    531: "Nodes" are the points to which cross-references can refer.  The
                    532: `@node' command is used to define them.  Each node must be, also, a
                    533: chapter, section, subsection or subsubsection, and the `@node'
                    534: command must always be followed by a chapter structuring command (with no
                    535: blank line between them).
                    536: 
                    537: In the Info file, nodes play a fundamental role.  Each node has a name,
                    538: and other nodes can refer to it by that name.  The `@node' command
                    539: specifies the name of the node that it defines, and also defines certain
                    540: references to other nodes.  References to other nodes can also be defined
                    541: with `@menu' and the variants of `@xref'.
                    542: 
                    543: In a printed manual, nodes are not a fundamental concept, but the
                    544: `@node' command still serves to define a cross-reference point
                    545: and the variants of `@xref' still serve to make references.
                    546: 
                    547: 
                    548: @node
                    549: -----
                    550: 
                    551: `@node' defines the beginning of a new node in the Info output file (*Note
                    552: info: (info)top.).  It is followed by four arguments, separated by commas,
                    553: making up the rest of the line.  For example,
                    554: 
                    555:      @node info, tex, commands, top
                    556: 
                    557: defines a node named `info', whose `next' pointer is to node `tex', whose
                    558: `previous' pointer is to node `commands', and whose `up' pointer is to node
                    559: `top'.  What this means is that texinfo changes `@node ARGS' into the
                    560: special text string necessary to separate Info nodes and to identify the
                    561: node that is starting and say what nodes it points to.
                    562: 
                    563: The pointer names should be the names of nodes defined elsewhere.  For this
                    564: example, nodes named `tex', `commands' and `top' should be defined
                    565: elsewhere in the file with other `@node' commands.  It does not matter
                    566: whether they are before or after the node that refers to them.
                    567: 
                    568: Normally, node A's `up' should point at the node whose menu mentions node
                    569: A.  Node A's `next' should point at the node that follows A in that menu,
                    570: and node A's `previous' should point at the node that precedes A in that
                    571: menu.
                    572: 
                    573: The top node of the file, named `top', should have as its parent the
                    574: name of a node in another file, where there is a menu that leads to this
                    575: file.  Specify the file name in parentheses.  If this file is to be
                    576: installed directly in the Info directory file, use `(dir)' as the
                    577: parent of the top node; this is short for `(dir)top', the node `top'
                    578: in the file `dir', which is the main menu of Info.
                    579: 
                    580: In TeX, `@node' is nearly ignored.  It generates no text.  Its only
                    581: function is to identify the name to use for cross-references to the
                    582: following chapter or section which makes up the body of the node.  (Cross
                    583: references are made with `@xref'.)
                    584: 
                    585: `@node' should always be followed immediately by a
                    586: chapter-structuring command such as `@chapter', `@section',
                    587: `@subsection' or `@subsubsection'.
                    588: 
                    589: 
                    590: @menu
                    591: -----
                    592: 
                    593: Info file nodes can contain "menus" which point to other nodes.  You must
                    594: type the menus in by hand, and surround them with lines containing `@menu'
                    595: and `@end menu'.  The `@menu' line changes into `* Menu:', which indicates
                    596: the beginning of a menu to the Info program.  The contents are unchanged by
                    597: texinfo, except for the processing of any other @ commands within.  The
                    598: entire menu construct has no effect in the printed manual.
                    599: 
                    600:      @menu
                    601:      * foo::         The node named foo tells you how to go fooing.
                    602:      * sw: switches. Type @code{m sw} to see node @code{switches}.
                    603:                      which describes the switches available here.
                    604:      @end menu
                    605: 
                    606: produces
                    607: 
                    608:      * menu:
                    609:      
                    610:      * foo::         The node named foo tells you how to go fooing.
                    611:      * sw: switches. Type `m sw' to see node `switches'
                    612:                      which describes the switches available here.
                    613: 
                    614: In this example, the menu has two items.  `foo' is both a menu item name
                    615: and the name of the node referred to by that item.  `sw' is the other
                    616: menu item name, and it refers to the node named `switches'.  Since no
                    617: file name is specified with `foo' or `switches', they must be the names
                    618: of other nodes in the same Info file.  Nodes in other Info files can be
                    619: referred to by putting the file name in parentheses at the beginning of the
                    620: node name.
                    621: 
                    622: 
                    623: @xref
                    624: -----
                    625: 
                    626: `@xref' generates a cross-reference.  In texinfo, it turns into
                    627: an Info cross-reference which the Info `f' command can use
                    628: to go directly to another node.  In TeX, it turns into a sentence
                    629: of the form
                    630: 
                    631:      See section SECTION [TOPIC], page PAGE
                    632: 
                    633: but does not generate a period to end it.
                    634: 
                    635: `@xref' must refer to an Info node created by `@node', by the
                    636: node's name.  If I were in less of a rush, I would have made a node in this
                    637: file for each texinfo command, and put in plenty of @xref's to
                    638: cross-reference them together.  The big node named `commands' would
                    639: actually contain a menu naming the nodes for individual commands.
                    640: 
                    641: `@xref' is followed by an argument inside braces, since it is used
                    642: within a paragraph; but actually the text inside the braces is treated as
                    643: several arguments, separated by commas.  Whitespace after these commas is
                    644: ignored.  The closing brace must be followed by a period or a comma, since
                    645: one of those two is required to terminate an Info cross-reference.  This
                    646: period or comma will appear in the output, both Info file and printed
                    647: manual.
                    648: 
                    649: The simplest form of `@xref' takes one argument, the name of another
                    650: node in the same Info file.  Here we show the input text, followed after a
                    651: blank line by the output text for Info files and the output text for
                    652: printed manuals.
                    653: 
                    654:      @xref{foo}, for more info.
                    655:      
                    656:      *note foo::, for more info.
                    657: 
                    658:      See section NNN [foo], page PPP, for more info.
                    659: 
                    660: With two arguments, the second one is used as the name of the Info
                    661: cross-reference, while the first argument is still the node that the
                    662: cross-reference points to:
                    663: 
                    664:      @xref{foo node, foo}, for more info.
                    665:      
                    666:      *note foo: foo node, for more info.
                    667: 
                    668:      See section NNN [foo node], page PPP, for more info.
                    669: 
                    670: A third argument replaces the node name when it actually appears
                    671: in the TeX output.  It should state the topic discussed by the
                    672: section being referenced.  Use a third argument when the node
                    673: name is unsuitable because of syntax, grammar or diction.
                    674: 
                    675:      @xref{foo node, foo, using foo}, for more info.
                    676:      
                    677:      *note foo: foo node, for more info.
                    678: 
                    679:      See section NNN [using foo], page PPP, for more info.
                    680: 
                    681: If a third argument is given and the second one is empty,
                    682: then the third argument serves both purposes:
                    683: 
                    684:      @xref{foo node, , using foo}, for more info.
                    685:      
                    686:      *note using foo: foo node, for more info.
                    687: 
                    688:      See section NNN [using foo], page PPP, for more info.
                    689: 
                    690: A fourth argument specifies the name of the Info file in which
                    691: the referenced node is located, assuming it is not the one which
                    692: the reference appears in.  `@xref' with only four arguments
                    693: is used when the reference is not within one Info file, but is
                    694: within a single printed manual---when multiple texinfo files are
                    695: incorporated into the same TeX run but make separate Info files.
                    696: 
                    697:      @xref{foo node, foo, using foo, myinfofile}, for more info.
                    698:      
                    699:      *note foo: (myinfofile) foo node, for more info.
                    700: 
                    701:      See section NNN [using foo], page PPP, for more info.
                    702: 
                    703: A fifth argument is used when referencing another Info file
                    704: which is also part of another printed manual.  It gives the
                    705: title of that manual.
                    706: 
                    707:      @xref{foo node, foo, using foo, myinfofile, Mymanual},
                    708:      for more info.
                    709:      
                    710:      *note foo: (myinfofile) foo node, for more info.
                    711: 
                    712:      See section NNN [using foo], page PPP
                    713:      of Mymanual, for more info.
                    714: 
                    715: 
                    716: @pxref
                    717: ------
                    718: 
                    719: `@pxref' is nearly the same as `@xref'; it differs in only
                    720: two ways:
                    721: 
                    722:   1. The output starts with lower case `see' rather than `See'.
                    723:   2. A period is generated automatically in the Info file output to end the
                    724:      Info cross-reference.
                    725: 
                    726: The purpose of `@pxref' is to be used inside parentheses as part of
                    727: another sentence.  In the printed manual, no period is needed after the
                    728: cross reference text itself (within the parentheses), but a period is
                    729: needed there in the Info file because only thus can Info recognize the end
                    730: of the cross-reference.  `@pxref' spares you the need to use complicated
                    731: methods to put a period into one form of the output and not the other.
                    732: 
                    733: 
                    734: @inforef
                    735: --------
                    736: 
                    737: `@inforef' is used for cross-references to Info files for which
                    738: there are no printed manuals.  Even in a printed manual, `@inforef'
                    739: generates a reference directing the user to look in an Info file.  The
                    740: syntax is `@inforef{NODE, NAME, FILE}'.
                    741: 
                    742:      @inforef{foo node, fooing, FOO}, to lose.
                    743:      
                    744:      *note fooing: (FOO) foo node, to lose.
                    745: 
                    746:      See Info file `FOO', node `foo node', to lose.
                    747: 
                    748: 
                    749: Insertions
                    750: ==========
                    751: 
                    752: Insertions are blocks of text, consisting of one or more whole paragraphs
                    753: that are set off from the bulk of the text and treated differently.  They
                    754: are usually indented, and often not filled.
                    755: 
                    756: In texinfo, an insertion is always begun by an @-command on a line by
                    757: itself, and ended with an `@end' command.  For example, an "example"
                    758: is a kind of insertion that is begun with `@example' and ended with
                    759: `@end example'.
                    760: 
                    761: 
                    762: @quotation
                    763: ----------
                    764: 
                    765: `@quotation' is used to indicate text that is excerpted from another
                    766: (real or hypothetical) printed work.  The inside of a quotation is
                    767: processed normally except that
                    768: 
                    769:   1. The margins are narrower.
                    770:   2. Paragraphs are not indented.
                    771:   3. Interline spacing and interparagraph spacing are reduced.
                    772: 
                    773: Thus, the input
                    774: 
                    775:      @quotation
                    776:      This is
                    777:      a foo.
                    778:      @end quotation
                    779: 
                    780: produces in the printed manual
                    781: 
                    782:           This is a foo.
                    783: 
                    784: and in the Info file
                    785: 
                    786:           This is
                    787:           a foo.
                    788: 
                    789: 
                    790: @example
                    791: --------
                    792: 
                    793: `@example' is used to indicate an example that is not part of the
                    794: running text.  In the printed manual, this is done by switching to
                    795: a fixed width font, turning off filling, and making extra spaces
                    796: and blank lines significant.  In the Info file, an analogous result
                    797: is obtained by indenting each line with five extra spaces.
                    798: 
                    799: `@example' should appear on a line by itself; this line will
                    800: disappear from the output.  Mark the end of the example with a line
                    801: containing `@end example', which will likewise disappear.
                    802: Example:
                    803: 
                    804:      @example
                    805:      mv foo bar
                    806:      @end example
                    807: 
                    808: produces
                    809: 
                    810:           mv foo bar
                    811: 
                    812: Don't use tabs in lines of an example!
                    813: 
                    814: 
                    815: @display
                    816: --------
                    817: 
                    818: `@display' is just like `@example' except that, in the printed manual,
                    819: `@display' does not select the fixed-width font.  In fact, it does not
                    820: specify the font at all, so that the text appears in the same font it would
                    821: have appeared in without the `@display'.
                    822: 
                    823: 
                    824: @itemize
                    825: --------
                    826: 
                    827: `@itemize' is used to produce sequences of indented paragraphs, with
                    828: a mark inside the left margin at the beginning of each.  The rest of the
                    829: line that starts with `@itemize' should contain the character or
                    830: texinfo commands to generate such a mark.  It should ultimately result in a
                    831: single character, or the indentation will come out wrong.  You may use
                    832: the texinfo commands that are normally followed by `{}'; in fact, you 
                    833: may omit the `{}' after the command if you use just one command
                    834: and nothing else.
                    835: 
                    836: The text of the indented paragraphs themselves come after the `@itemize',
                    837: up to another line that says `@end @itemize'.
                    838: 
                    839: Before each paragraph for which a mark in the margin is desired, place a
                    840: line that says just `@item'.
                    841: 
                    842: Here is an example of the use of `@itemize', followed by the output
                    843: it produces.  Note that `@bullet' produces a `*' in texinfo and
                    844: a round dot in TeX.
                    845: 
                    846:      @itemize @bullet
                    847:      @item
                    848:      Some text for foo.
                    849:      @item
                    850:      Some text
                    851:      for bar.
                    852:      @end itemize
                    853: 
                    854: produces
                    855: 
                    856:         * Some text for foo.
                    857:         * Some text
                    858:           for bar.
                    859: 
                    860: Texinfo indents the lines of the itemization by five additional columns,
                    861: but it does not fill them.  If `@refill' is used, the paragraph is
                    862: filled to the narrowed width.
                    863: 
                    864: 
                    865: @enumerate
                    866: ----------
                    867: 
                    868: `@enumerate' is like `@itemize' except that the marks in the left margin
                    869: contain successive integers starting with 1.  Do not put any argument on
                    870: the same line as `@enumerate'.
                    871: 
                    872:      @enumerate
                    873:      @item
                    874:      Some text for foo.
                    875:      @item
                    876:      Some text
                    877:      for bar.
                    878:      @end enumerate
                    879: 
                    880: produces
                    881: 
                    882:        1. Some text for foo.
                    883:        2. Some text
                    884:           for bar.
                    885: 
                    886: 
                    887: @table
                    888: ------
                    889: 
                    890: `@table' is similar to `@itemize', but allows you to specify a
                    891: name or heading line for each item.
                    892: 
                    893: You must follow each use of `@item' inside of `@table' with
                    894: text to serve as the heading line for that item.
                    895: 
                    896: Also, `@table' itself must be followed by an argument that is a texinfo
                    897: command such as `@code', `@var', `@kbd' or `@asis'.  This command will be
                    898: applied to the text of each item.  `@asis' is a command that does nothing;
                    899: in that case, each item will come out exactly as it specifies.  (Various
                    900: other command names might work in this context.  Only commands that
                    901: normally take arguments in braces may be used, but here you use the command
                    902: name without an argument.  `@item' supplies the arguments.)
                    903: 
                    904:      @table @samp
                    905:      @item foo
                    906:      This is the text for
                    907:      @samp{foo}.
                    908:      @item bar
                    909:      Text for @samp{bar}.
                    910:      @end table
                    911: 
                    912: produces
                    913: 
                    914:      `foo'     
                    915:           This is the text for
                    916:           `foo'.
                    917:      `bar'     
                    918:           Text for `bar'.
                    919: 
                    920: 
                    921: @itemx
                    922: ------
                    923: 
                    924: `@itemx' is used inside a `@table' when you have two or more named items
                    925: for the same block of text.  Use `@itemx' for all but the first of the
                    926: items.  It works exactly like `@item' except that it does not generate
                    927: extra vertical space above the item text.  Example:
                    928: 
                    929:      @table @code
                    930:      @item upcase
                    931:      @itemx downcase
                    932:      These two functions accept a character or a string as argument,
                    933:      and return the corresponding upper case (lower case) character
                    934:      or string.
                    935:      @end table
                    936: 
                    937: produces
                    938: 
                    939:      `upcase'     
                    940:      `downcase'     
                    941:           These two functions accept a character or a string as argument,
                    942:           and return the corresponding upper case (lower case) character
                    943:           or string.
                    944: 
                    945: 
                    946: @noindent
                    947: ---------
                    948: 
                    949: `@noindent' is not a kind of insertion, but it is normally used
                    950: following an insertion.
                    951: 
                    952: If you have text following an `@example' or other similar "special
                    953: paragraph" that reads as a continuation of the text before the
                    954: `@example', it is good to prevent this text from being indented as a
                    955: new paragraph.  To accomplish this, put `@noindent' on a line by
                    956: itself before the start of the text that should not be indented.
                    957: 
                    958: To adjust the number of blank lines properly in the Info file output,
                    959: remember that the line containing `@noindent' does not generate a
                    960: blank line, and neither does the `@end example' line.
                    961: 
                    962: In the texinfo source file for this documentation, each of the lines that
                    963: says `produces' is preceded by a line containing `@noindent'.
                    964: 
                    965: 
                    966: Other Paragraph-Separating Commands
                    967: ===================================
                    968: 
                    969: 
                    970: @setfilename
                    971: ------------
                    972: 
                    973: `@setfilename FILE' informs texinfo that the Info file being
                    974: produced is named FILE.  This information is entered in every node
                    975: header.  It also tells texinfo the name for the output file.
                    976: 
                    977: 
                    978: @comment
                    979: --------
                    980: 
                    981: A line starting with `@comment' or `@c' is ignored in both
                    982: printed and Info output.
                    983: 
                    984: 
                    985: @ignore
                    986: -------
                    987: 
                    988: A line saying `@ignore' causes everything up to the following
                    989: `@end ignore' to be ignored in both printed and Info output.
                    990: 
                    991: 
                    992: @br
                    993: ---
                    994: 
                    995: In a printed manual, a line containing `@br' forces a paragraph
                    996: break; in the Info file output, it does nothing (not even a blank line
                    997: results from it).
                    998: 
                    999: 
                   1000: @sp
                   1001: ---
                   1002: 
                   1003: A line containing `@sp N' generates N blank lines of space in either the
                   1004: printed manual or the Info file.
                   1005: 
                   1006: 
                   1007: @page
                   1008: -----
                   1009: 
                   1010: A line containing `@page' starts a new page in a printed manual.  The
                   1011: line has no effect on Info files since they are not paginated.
                   1012: 
                   1013: 
                   1014: @group
                   1015: ------
                   1016: 
                   1017: A line containing `@group' begins an unsplittable vertical group,
                   1018: which must appear entirely on one page.  The group is terminated by a line
                   1019: containing `@end group'.  These two lines produce no output of their
                   1020: own, and in the Info file output they have no effect at all.
                   1021: 
                   1022: 
                   1023: @need
                   1024: -----
                   1025: 
                   1026: A line containing `@need N' starts a new page in a printed manual if fewer
                   1027: than N mils (thousandths of an inch) remain on the current page.  The line
                   1028: has no effect on Info files since they are not paginated.
                   1029: 
                   1030: 
                   1031: @center
                   1032: -------
                   1033: 
                   1034: A line containing `@center TEXT' produces a line of output containing TEXT,
                   1035: centered between the margins.
                   1036: 
                   1037: 
                   1038: Conditionals
                   1039: ------------
                   1040: 
                   1041: You may not always be able to use the same text for TeX and texinfo.
                   1042: Use the conditional commands to specify which text is for TeX and which
                   1043: is for texinfo.
                   1044: 
                   1045: `@ifinfo' begins text that should be ignored by TeX.  It should appear on a
                   1046: line by itself.  End the texinfo-only text with a line containing `@end
                   1047: ifinfo'.
                   1048: 
                   1049: Likewise, `@iftex' and `@end iftex' lines delimit code that should be
                   1050: ignored by texinfo.
                   1051: 
                   1052: 
                   1053: Generating Indices
                   1054: ==================
                   1055: 
                   1056: Texinfo files can generate indices automatically.  Each index covers
                   1057: a certain kind of entry (functions, or variables, or concepts, etc.)
                   1058: and lists all of those entries in alphabetical order, together with
                   1059: information on how to find the discussion of each entry.  In a printed
                   1060: manual, this information consists of page numbers.  In an Info file,
                   1061: it consists of a menu item leading to the node in which the entry
                   1062: is discussed.
                   1063: 
                   1064: 
                   1065: Normally, six indices are provided for:
                   1066: 
                   1067:    * A "program index" listing names of programs and leading to the places
                   1068:      where those programs are documented.
                   1069:      
                   1070:    * A "function index" listing functions (such as, entry points of
                   1071:      libraries).
                   1072:      
                   1073:    * A "variables index" listing variables (such as, external variables of
                   1074:      libraries).
                   1075:      
                   1076:    * A "data type index" listing data types (such as, structures defined in
                   1077:      header files).
                   1078:      
                   1079:    * A "keystroke index" listing keyboard commands.
                   1080:      
                   1081:    * A "concept index" listing concepts that are discussed.
                   1082: 
                   1083: Not every manual needs all of these.  Two or more indices can be combined
                   1084: into one using the `@synindex' command as described below.
                   1085: 
                   1086: 
                   1087: Defining the Entries of an Index
                   1088: --------------------------------
                   1089: 
                   1090: The data to make an index comes from many individual commands scattered
                   1091: throughout the source file.  Each command says to add one entry to a
                   1092: particular index, giving the current page number or node name as the
                   1093: reference.
                   1094: 
                   1095: `@cindex CONCEPT'     
                   1096:      Make an entry in the concept index for CONCEPT, referring to the
                   1097:      current page or node.
                   1098: `@findex FUNCTION'     
                   1099:      Make an entry in the function index for FUNCTION, referring to the
                   1100:      current page or node.
                   1101: `@vindex VARIABLE'     
                   1102:      Make an entry in the variable index for VARIABLE, referring to the
                   1103:      current page or node.
                   1104: `@pindex PROGRAM'     
                   1105:      Make an entry in the program index for PROGRAM, referring to the
                   1106:      current page or node.
                   1107: `@kindex KEY'     
                   1108:      Make an entry in the key index for KEY, referring to the
                   1109:      current page or node.
                   1110: `@tindex DATA TYPE'     
                   1111:      Make an entry in the data type index for DATA TYPE, referring to the
                   1112:      current page or node.
                   1113: 
                   1114: If the same name is indexed on several pages, all the pages are listed
                   1115: in the printed manual's index.  However, only the first node referenced
                   1116: will appear in the index of an Info file.
                   1117: 
                   1118: You are not actually required to use these indices for their canonical
                   1119: purposes.  For example, you might wish to index some C preprocessor macros.
                   1120: You could put them in the function index along with actual functions, just
                   1121: by writing `@findex' commands for them; then, when you print the
                   1122: "function index", you could give it the title `Function and Macro Index'
                   1123: and all will be consistent for the reader.  Or you could put the macros in
                   1124: with the data types by writing `@tindex' commands for them, and give
                   1125: that index a suitable title so the reader will understand.
                   1126: 
                   1127: 
                   1128: Combining Indices
                   1129: -----------------
                   1130: 
                   1131: Sometimes you will want to combine two disparate indices such as functions
                   1132: and variables, perhaps because you have few enough of one of them that
                   1133: a separate index for them would look silly.
                   1134: 
                   1135: You could put variables into the function index by writing `@findex'
                   1136: commands for them instead of `@vindex' commands, and produce a
                   1137: consistent manual by printing the function index with the title `Function
                   1138: and Variable Index' and not printing the "variable index" at all; but this
                   1139: is not a robust procedure.  It works only as long as your document is never
                   1140: included in part of or together with another document that is designed to
                   1141: have a separate variable index; if you did that, the variables from your
                   1142: document and those from the other would not end up together.
                   1143: 
                   1144: What you should do instead when you want functions and variables in one
                   1145: index is to index the variables with `@vindex' as they should be,
                   1146: but in the overall file for the document use `@synindex' to redirect
                   1147: these `@vindex' commands to the function index.  `@synindex' takes two
                   1148: arguments: the name of an index to redirect, and the name of an index to
                   1149: redirect it to.  For this purpose, the indices are given two-letter names:
                   1150: 
                   1151: `cp'     
                   1152:      the concept index.
                   1153: `vr'     
                   1154:      the variable index.
                   1155: `fn'     
                   1156:      the function index.
                   1157: `ky'     
                   1158:      the key index.
                   1159: `pg'     
                   1160:      the program index.
                   1161: `tp'     
                   1162:      the data type index.
                   1163: 
                   1164: Thus, `@synindex vr fn' at the front of an overall manual file
                   1165: will cause all entries designated for the variable index to go to
                   1166: the function index as well.  But the included files of this manual
                   1167: could be used in some other manual, that does not do `@synindex',
                   1168: and generate a separate variable index.
                   1169: 
                   1170: If the texinfo file containing `@synindex' is also to be made into
                   1171: an Info file itself, you should use `@iftex' around the `@synindex'
                   1172: commands.
                   1173: 
                   1174: 
                   1175: Printing an Index
                   1176: -----------------
                   1177: 
                   1178: To print an index means to include it as part of a manual or Info file.
                   1179: This does not happen automatically just because you use `@cindex' or other
                   1180: index-entry generating commands in the input; those just cause the raw data
                   1181: for the index to be accumulated.  To print an index, you must include
                   1182: special texinfo commands at the place in the document where you want the
                   1183: index to appear.  Also, for the case of the printed manual, you must run a
                   1184: special program to sort the raw data to produce a sorted index file, which
                   1185: is what will actually be used to print the index.
                   1186: 
                   1187: The texinfo command you need is `@printindex'.  It takes the two-letter
                   1188: index name (see table above) as an argument without braces, and reads the
                   1189: corresponding sorted index file and formats it appropriately into an index.
                   1190: 
                   1191: `@printindex' does not generate a chapter heading for the index.  You
                   1192: should precede it with a suitable section or chapter command (usually
                   1193: `@unnumbered') to supply the chapter heading and put the index into the
                   1194: table of contents.  And before that, you probably need a `@node' command.
                   1195: For example,
                   1196: 
                   1197:      @node Variables Index, Concept Index, Function Index, Top
                   1198:      @unnumbered Variable Index
                   1199:      
                   1200:      @printindex vr
                   1201:      
                   1202:      @node Concept index,, Variables Index, Top
                   1203:      @unnumbered Concept Index
                   1204:      
                   1205:      @printindex cp
                   1206: 
                   1207: 
                   1208: Sorting Indices
                   1209: ---------------
                   1210: 
                   1211: In TeX, `@printindex' needs a sorted index file to work from.
                   1212: TeX does not know how to do sorting; this is one of the main
                   1213: deficiencies of TeX.  You must invoke the program `texindex' to do
                   1214: so, giving it the names of the raw index files to be sorted as arguments.
                   1215: You do not have to run `texindex' on all of them; only the ones you
                   1216: are going to print.
                   1217: 
                   1218: TeX outputs raw index files under names that obey a standard convention.
                   1219: These names are the name of your main input file to TeX, with everything
                   1220: after the first period thrown away, and the two letter names of indices
                   1221: added at the end.  For example, the raw index output files for the input
                   1222: file `foo.texinfo' would be `foo.cp', `foo.vr', `foo.fn', `foo.tp',
                   1223: `foo.pg' and `foo.ky'.  Those are exactly the arguments to give to
                   1224: `texindex'.
                   1225: 
                   1226: For each file specified, `texindex' generates a sorted index file whose
                   1227: name is made by appending `s' to the input file name.  The `@printindex'
                   1228: command knows to look for a file of that name.  `texindex' does not alter
                   1229: the raw index output file.
                   1230: 
                   1231: You need not run `texindex' after each TeX run.  If you don't, the
                   1232: next TeX run will use whatever sorted index files happen to exist from
                   1233: the previous use of `texindex'.  This is usually ok while you are
                   1234: debugging.
                   1235: 
                   1236: 
                   1237: File: texinfo  Node: make-info, Prev: commands, Up: top, Next: manual
                   1238: 
                   1239: Converting Texinfo Files into Info Files
                   1240: ========================================
                   1241: 
                   1242: Just visit a texinfo file and invoke
                   1243: 
                   1244:      `Meta-x texinfo-format-buffer'
                   1245: 
                   1246: to convert it to an Info file.  A new buffer is created and the Info file
                   1247: text is generated there.  `C-x C-s' will save it under the name specified
                   1248: in the `@setfilename' command.
                   1249: 
                   1250: If the file is large (more than 30 nodes) it is desirable to make a "tag
                   1251: table" for it.  To do this, load the `info' library into Emacs with `M-x
                   1252: load RET info RET' and then do `M-x Info-tagify'.
                   1253: 
                   1254: To check your node structure for errors, load Info and then do
                   1255: `M-x Info-validate'.
                   1256: 
                   1257: 
                   1258: File: texinfo  Node: manual, Prev: make-info, Up: top
                   1259: 
                   1260: Generating a Real Manual
                   1261: ========================
                   1262: 
                   1263: Most of the time a single printed manual will be made from several texinfo
                   1264: source files, each of which is made into a single Info file.  Also, the
                   1265: real manual should have a table of contents.  Several special commands are
                   1266: used for these purposes.
                   1267: 
                   1268: Every texinfo file that is to be the top-level input to TeX must begin
                   1269: with a line that looks like
                   1270: 
                   1271:      \input texinfo   @c -*-texinfo-*-
                   1272: 
                   1273: This serves two functions.
                   1274: 
                   1275:   1. When the file is processed by TeX, it loads the macros needed for
                   1276:      processing a texinfo file.
                   1277:   2. When the file is edited in Emacs, it causes Texinfo Mode to be used.
                   1278: 
                   1279: Every such texinfo file must end with a line saying
                   1280: 
                   1281:      @bye
                   1282: 
                   1283: which terminates TeX processing and forces out unfinished pages.
                   1284: 
                   1285: You might also want to include a line saying
                   1286: 
                   1287:      @setchapternewpage odd
                   1288: 
                   1289: to cause each chapter to start on a fresh odd-numbered page.
                   1290: 
                   1291: Here is an example of a texinfo file used to generate a manual from two
                   1292: other texinfo files, `foo.texinfo' and `bar.texinfo', each of which makes a
                   1293: separate Info file.  The commands used in it are explained in the rest of
                   1294: this section.
                   1295: 
                   1296:      \input texinfo @c -*-texinfo-*-
                   1297:      @settitle This Manual
                   1298:      
                   1299:      @c put entries intended for the data type index
                   1300:      @c into the variable index instead.
                   1301:      @synindex tp vr
                   1302:      @setchapternewpage odd
                   1303:      
                   1304:      @titlepage
                   1305:      @sp 10
                   1306:      @center @titlefont{This Manual}
                   1307:      @sp 3
                   1308:      @center by
                   1309:      @sp 3
                   1310:      @center @titlefont{Me}
                   1311:      @end titlepage
                   1312:      
                   1313:      @c Include the files with the actual text
                   1314:      @include foo.texinfo
                   1315:      @include bar.texinfo
                   1316:      
                   1317:      @c Print the indices
                   1318:      @unnumbered Function Index
                   1319:      @printindex fn
                   1320:      @unnumbered Variable and Data Type Index
                   1321:      @printindex vr
                   1322:      @unnumbered Program Index
                   1323:      @printindex pg
                   1324:      @unnumbered Concept Index
                   1325:      @printindex cp
                   1326:      
                   1327:      @c Print the tables of contents
                   1328:      @summarycontents
                   1329:      @contents
                   1330:      
                   1331:      @c That's all
                   1332:      @bye
                   1333: 
                   1334: 
                   1335: Title Page
                   1336: ----------
                   1337: 
                   1338: Start the material for the title page with `@titlepage' and follow it
                   1339: with `@end titlepage'.  Both of these commands should stand alone on
                   1340: a line.  They cause the title material to appear only in the printed
                   1341: manual, not in an info file.  Also, the `@end titlepage' command
                   1342: starts a new page and turns on page numbering (generation of headings).
                   1343: 
                   1344: The within-paragraph command `@titlefont' can be used to select a
                   1345: large font suitable for the title itself.
                   1346: 
                   1347: 
                   1348: Headings
                   1349: --------
                   1350: 
                   1351: Texinfo prints the manual title on every other page as a heading, and the
                   1352: current chapter title on the remaining pages.  It knows the chapter title
                   1353: automatically, but you must tell it the manual title with `@settitle':
                   1354: 
                   1355:      @settitle TITLE
                   1356: 
                   1357: on a line by itself causes TITLE to be used for the headings.
                   1358: 
                   1359: The `@settitle' command should precede everything that generates
                   1360: actual output.
                   1361: 
                   1362: Normally, headings start appearing after the `@end titlepage' command.
                   1363: (They are not wanted on the title page.)  However, you can turn headings on
                   1364: and off explicitly with the `@headings' command:
                   1365: 
                   1366:      @headings on
                   1367: 
                   1368: to start output of headings (starting with the page containing the command)
                   1369: or
                   1370: 
                   1371:      @headings off
                   1372: 
                   1373: to stop output of headings (starting also with the current page).
                   1374: 
                   1375: 
                   1376: @include
                   1377: --------
                   1378: 
                   1379: A line of the form `@include FILENAME' is ignored when generating an
                   1380: Info file, but in a printed manual it causes the contents of the file
                   1381: FILENAME to be processed at that point.
                   1382: 
                   1383: Normally, the file named FILENAME is made into a separate Info file.
                   1384: The file containing the `@include' may refer to the other Info file
                   1385: with Info cross-references or menus, since those fill the function of
                   1386: inclusion for the Info data base.
                   1387: 
                   1388: Another technique is to have a special file, used only for making a
                   1389: comprehensive manual, containing nothing but the beginning, the end, and a
                   1390: bunch of `@include' commands.
                   1391: 
                   1392: A file that is intended to be processed with `@include' should not
                   1393: start with `\input texinfo', as that has already been done by the
                   1394: outer file, and the character `\' has already been redefined to
                   1395: generate a backslash in the output.
                   1396: 
                   1397: A file that is intended to be processed with `@include' should not
                   1398: end with `@bye', since that would terminate TeX processing immediately.
                   1399: 
                   1400: 
                   1401: Table of Contents
                   1402: -----------------
                   1403: 
                   1404: The commands `@chapter', `@section', etc., supply the information to make
                   1405: up a table of contents, but they do not cause an actual table to be output.
                   1406: To do this, you must use the commands `@contents' and `@summarycontents'.
                   1407: 
                   1408: `@contents', which should be used on a line by itself, outputs (into a
                   1409: printed manual) a complete table of contents, based on the `@chapter' and
                   1410: other sectioning commands already seen.
                   1411: 
                   1412: `@summarycontents' generates a summary table of contents that lists
                   1413: only the chapters (and appendixes and unnumbered chapters); sections,
                   1414: subsections and subsubsections are omitted.
                   1415: 
                   1416: You can use either one of these commands, or both.  Each one automatically
                   1417: generates a chapter-like heading at the top of the page.  Tables of
                   1418: contents should be generated at the very end of the manual, just before the
                   1419: `@bye' command; they should follow any indices that are output, so
                   1420: that the indices will appear in the contents.
                   1421: 
                   1422:      INDICES...
                   1423:      @summarycontents
                   1424:      @contents
                   1425:      @bye
                   1426: 
                   1427: The commands `@contents' and `@summarycontents' are ignored when an
                   1428: Info file is being generated.
                   1429: 
                   1430: 
                   1431: Tag table:
                   1432: Node: manual41468
                   1433: Node: make-info40775
                   1434: Node: commands3940
                   1435: Node: info1215
                   1436: Node: top725
                   1437: 
                   1438: End tag table

unix.superglobalmegacorp.com

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