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

  1. This is Info file texinfo, produced by Makeinfo-1.47 from the input
  2. file texinfo2.tex.
  3.  
  4.    This file documents Texinfo, a documentation system that uses a
  5. single source file to produce both on-line information and a printed
  6. manual.
  7.  
  8.    Copyright (C) 1988, 1990, 1991, 1992 Free Software Foundation, Inc.
  9.  
  10.    This is the second edition of the Texinfo documentation,
  11. and is consistent with version 2 of `texinfo.tex'.
  12.  
  13.    Permission is granted to make and distribute verbatim copies of this
  14. manual provided the copyright notice and this permission notice are
  15. preserved on all copies.
  16.  
  17.    Permission is granted to copy and distribute modified versions of
  18. this manual under the conditions for verbatim copying, provided that
  19. the entire resulting derived work is distributed under the terms of a
  20. permission notice identical to this one.
  21.  
  22.    Permission is granted to copy and distribute translations of this
  23. manual into another language, under the above conditions for modified
  24. versions, except that this permission notice may be stated in a
  25. translation approved by the Foundation.
  26.  
  27. 
  28. File: texinfo,  Node: makeinfo top command,  Next: Top Node Summary,  Prev: First Node,  Up: node
  29.  
  30. The `@top' Sectioning Command
  31. -----------------------------
  32.  
  33.    A special sectioning command, `@top', has been created for use with
  34. the `@node Top' line.  The `@top' sectioning command tells `makeinfo'
  35. that it marks the `Top' node in the file.  It provides the information
  36. that `makeinfo' needs to insert node pointers automatically.  Write the
  37. `@top' command at the beginning of the line immediately following the
  38. `@node Top' line.  Write the title on the remaining part of the same
  39. line as the `@top' command.
  40.  
  41.    In Info, the `@top' sectioning command causes the title to appear on
  42. a line by itself, with a line of asterisks inserted underneath.
  43.  
  44.    In TeX and `texinfo-format-buffer', the `@top' sectioning command is
  45. merely a synonym for `@unnumbered'. Neither of these formatters require
  46. an `@top' command, and do nothing special with it.  You can use
  47. `@chapter' or `@unnumbered' after the `@node Top' line when you use
  48. these formatters.  Also, you can use `@chapter' or `@unnumbered' when
  49. you use the Texinfo updating commands to create or update pointers and
  50. menus.
  51.  
  52.    Whatever sectioning command follows an `@node Top' line, whether it
  53. be `@top' or `@chapter', the `@node Top' line and the immediately
  54. following line and any additional text must be enclosed between
  55. `@ifinfo' and `@end ifinfo' commands. (*Note Conditionals::.)  This
  56. prevents the title and the accompanying text from appearing in printed
  57. output.  Write the `@ifinfo' command before the `@node' line and write
  58. the `@end ifinfo' command after the `@top' or other sectioning command
  59. and after any additional text.  (You can write the `@end ifinfo'
  60. command after the `@end menu' command if you like.)
  61.  
  62. 
  63. File: texinfo,  Node: Top Node Summary,  Prev: makeinfo top command,  Up: node
  64.  
  65. The `Top' Node Summary
  66. ----------------------
  67.  
  68.    You can help readers by writing a summary in the `Top' node, after
  69. the `@top' line, before the main or master menu.  The summary should
  70. briefly describe the Info file.  You should also write the version
  71. number of the program to which the manual applies in this section.  This
  72. helps the reader keep track of which manual is for which version of the
  73. program.  If the manual changes more frequently than the program or is
  74. independent of it, you should also include an edition number for the
  75. manual.  (The title page should also contain this information: see
  76. *Note `@titlepage': titlepage.)
  77.  
  78.    Put the whole of the `Top' node, including the `@top' sectioning
  79. command line if you have one, between `@ifinfo' and `@end ifinfo' so
  80. none of the text appears in the printed output (*note Conditionally
  81. Visible Text: Conditionals.).  (You may want to repeat the brief
  82. description from the `Top' node within `@iftex' ... `@end iftex' at the
  83. beginning of the first chapter, for those who read the printed manual.)
  84.  
  85. 
  86. File: texinfo,  Node: makeinfo Pointer Creation,  Prev: node,  Up: Nodes
  87.  
  88. Creating Pointers with `makeinfo'
  89. =================================
  90.  
  91.    The `makeinfo' program has a feature for automatically creating node
  92. pointers for a hierarchically organized file that lacks them.
  93.  
  94.    When you take advantage of this feature, you do not need to write the
  95. `Next', `Previous', and `Up' pointers after the name of a node.
  96. However, you must write a sectioning command, such as `@chapter' or
  97. `@section', on the line immediately following each truncated `@node'
  98. line.  You cannot write a comment line after a node line; the section
  99. line must follow it immediately.
  100.  
  101.    In addition, you must follow the `Top' `@node' line with a line
  102. beginning with `@top' to mark the `Top' node in the file. *Note `@top':
  103. makeinfo top.
  104.  
  105.    Finally, you must write the name of each node (except for the `Top'
  106. node) in a menu that is one or more hierarchical levels above the
  107. node's hierarchical level.
  108.  
  109.    This node pointer insertion feature in `makeinfo' is an alternative
  110. to the menu and pointer creation and update commands in Texinfo mode. 
  111. (*Note Updating Nodes and Menus::.)  It is especially helpful to people
  112. who do not use GNU Emacs for writing Texinfo documents.
  113.  
  114. 
  115. File: texinfo,  Node: Menus,  Next: Cross References,  Prev: Nodes,  Up: Top
  116.  
  117. Menus
  118. *****
  119.  
  120.    "Menus" contain pointers to subordinate nodes.(1) In Info, you use
  121. menus to go to such nodes.  Menus have no effect in printed manuals and
  122. do not appear in them.
  123.  
  124.    By convention, a menu is put at the end of a node.  This way, it is
  125. easy for someone using Info to find the menu, using the `M->'
  126. (`end-of-buffer') command.
  127.  
  128.    A node that has a menu should *not* contain much text.  If you have
  129. a lot of text and a menu, move most of the text into a new subnode--all
  130. but a few lines.
  131.  
  132. * Menu:
  133.  
  134. * Menu Location::               Put a menu in a short node.
  135. * Writing a Menu::              What is a menu?
  136. * Writing a Menu Entry::        How to write a menu entry.
  137. * Menu Example::                A menu example.
  138. * Other Info Files::            How to refer to a different Info file.
  139.  
  140.    ---------- Footnotes ----------
  141.  
  142.    (1)  Menus can carry you to any node, regardless of the hierarchical
  143. structure; even to nodes in a different Info file.  However, the GNU
  144. Emacs Texinfo mode updating commands work only to create menus of
  145. subordinate nodes. Conventionally, cross references are used to refer
  146. to other nodes.
  147.  
  148. 
  149. File: texinfo,  Node: Menu Location,  Next: Writing a Menu,  Up: Menus
  150.  
  151. Menus Need Short Nodes
  152. ======================
  153.  
  154.    A reader can easily see a menu that is close to the beginning of the
  155. node.  The node should be short.  As a practical matter, you should
  156. locate a menu within 20 lines of the beginning of the node. Otherwise,
  157. a reader with a terminal that displays only a few lines may miss the
  158. menu and its associated text.
  159.  
  160.    The short text before a menu may look awkward in a printed manual. 
  161. To avoid this, you can write a menu near the beginning of its node and
  162. follow the menu by an `@node' line, and then an `@heading' line located
  163. within `@ifinfo' and `@end ifinfo'.  This way, the menu, `@node' line,
  164. and title appear only in the Info file, not the printed document.
  165.  
  166.    For example, the preceding two paragraphs follow an Info-only menu,
  167. `@node' line, and heading, and look like this:
  168.  
  169.      @menu
  170.      * Menu Location::               Put a menu in a short node.
  171.      * Menu Entry::                  How to write a menu entry.
  172.      * Menu Example::                A menu example.
  173.      @end menu
  174.      
  175.      @node Menu Location
  176.      @ifinfo
  177.      @heading Menus Need Short Nodes
  178.      @end ifinfo
  179.  
  180.    The Texinfo file for this document contains more than a dozen other
  181. examples of this procedure.  One is at the beginning of this chapter;
  182. another is at the beginning of the "Cross References" chapter.
  183.  
  184. 
  185. File: texinfo,  Node: Writing a Menu,  Next: Writing a Menu Entry,  Prev: Menu Location,  Up: Menus
  186.  
  187. Writing a Menu
  188. ==============
  189.  
  190.    A menu consists of an `@menu' command on a line by itself followed
  191. by menu entry lines or menu comment lines and then by an `@end menu'
  192. command on a line by itself.
  193.  
  194.    A menu looks like this:
  195.  
  196.      @menu
  197.      Larger Units of Text
  198.      
  199.      * Files::                       All about handling files.
  200.      * Multiples: Buffers.           Multiple buffers; editing
  201.                                        several files at once.
  202.      @end menu
  203.  
  204.    In a menu, every line that begins with an `* ' is a "menu entry". 
  205. (Note the space after the asterisk.)  A line that does not start with
  206. an `* ' may also appear in a menu.  Such a line is not a menu entry but
  207. is a menu comment line that appears in the Info file.  In the example
  208. above, the line `Larger Units of Text' is a menu comment line; the two
  209. lines starting with `* ' are menu entries.
  210.  
  211. 
  212. File: texinfo,  Node: Writing a Menu Entry,  Next: Menu Example,  Prev: Writing a Menu,  Up: Menus
  213.  
  214. How to Write a Menu Entry
  215. =========================
  216.  
  217.    A menu entry has three parts, only the second of which is required:
  218.  
  219.   1. The menu entry name.
  220.  
  221.   2. The name of the node.
  222.  
  223.   3. A description of the item.
  224.  
  225.    The template for a menu entry looks like this:
  226.  
  227.      * MENU-ENTRY-NAME: NODE-NAME.   DESCRIPTION
  228.  
  229.    Follow the menu entry name with a single colon and follow the node
  230. name with tab, comma, period, or newline.
  231.  
  232.    In Info, a user selects a node with the `m' (`Info-menu') command. 
  233. The menu entry name is what the user types after the `m' command.
  234.  
  235.    If the menu entry name and the node name are the same, you can write
  236. the name immediately after the asterisk and space at the beginning of
  237. the line and follow the name with two colons.
  238.  
  239.  
  240. For example, write
  241.  
  242.      * Name::
  243. instead of
  244.  
  245.      * Name: Name.
  246.  
  247. You should use the node name for the menu entry name whenever possible,
  248. since it reduces visual clutter in the menu.
  249.  
  250.    The third part of a menu entry is a short descriptive phrase or
  251. sentence.  Menu entry names and node names are often short; the
  252. description explains to the reader what the node is about.  The
  253. description, which is optional, can spread over two or more lines.  A
  254. useful description complements the node name rather than repeats it.
  255.  
  256. 
  257. File: texinfo,  Node: Menu Example,  Next: Other Info Files,  Prev: Writing a Menu Entry,  Up: Menus
  258.  
  259. A Menu Example
  260. ==============
  261.  
  262.    A menu looks like this in Texinfo:
  263.  
  264.      @menu
  265.      * menu entry name: Node name.   A short description.
  266.      * Node name::                   This form is preferred.
  267.      @end menu
  268.  
  269. This produces:
  270.  
  271.      * menu:
  272.      
  273.      * menu entry name: Node name.   A short description.
  274.      * Node name::                   This form is preferred.
  275.  
  276.    Here is an example as you might see it in a Texinfo file:
  277.  
  278.      @menu
  279.      Larger Units of Text
  280.      
  281.      * Files::                       All about handling files.
  282.      * Multiples: Buffers.           Multiple buffers; editing
  283.                                        several files at once.
  284.      @end menu
  285.  
  286.  
  287. This produces:
  288.  
  289.      * menu:
  290.      Larger Units of Text
  291.      
  292.      * Files::                       All about handling files.
  293.      * Multiples: Buffers.           Multiple buffers; editing
  294.                                        several files at once.
  295.  
  296.    In this example, the menu has two entries.  `Files' is both a menu
  297. entry name and the name of the node referred to by that name.  In the
  298. other entry, `Multiples' is the menu entry name, and it refers to the
  299. node named `Buffers'.
  300.  
  301.    Since no file name is specified with either `Files' or `Buffers',
  302. they must be the names of nodes in the same Info file. (*Note Referring
  303. to Other Info Files: Other Info Files.)
  304.  
  305.    The line `Larger Units of Text' is a comment; it appears as part of
  306. the menu in Info, but is not a menu entry.
  307.  
  308. 
  309. File: texinfo,  Node: Other Info Files,  Prev: Menu Example,  Up: Menus
  310.  
  311. Referring to Other Info Files
  312. =============================
  313.  
  314.    You can create a menu entry that enables an reader in Info to go to a
  315. node in another Info file by writing the file name in parentheses just
  316. before the node name.  In this case, you should use the three-part menu
  317. entry format, which saves the reader from having to type the file name.
  318.  
  319.    The format looks like this:
  320.  
  321.      @menu
  322.      * FIRST-ENTRY-NAME:(FILENAME)NODENAME.     DESCRIPTION
  323.      * SECOND-ENTRY-NAME:(FILENAME)SECOND-NODE. DESCRIPTION
  324.      @end menu
  325.  
  326.    For example, to refer directly to the `Outlining' and `Rebinding'
  327. nodes in the `Emacs Manual', you would write a menu in a Texinfo file
  328. similar to the following:
  329.  
  330.      @menu
  331.      * Outlining: (emacs)Outline Mode. The major mode for
  332.                                        editing outlines.
  333.      * Rebinding: (emacs)Rebinding.    How to redefine the
  334.                                        meaning of a key.
  335.      @end menu
  336.  
  337.    If you do not list the node name, but only name the file, then Info
  338. presumes that you are referring to the `Top' node.
  339.  
  340.    The `dir' top level directory for the Info system has menu entries
  341. that take you directly to the `Top' nodes of each Info document.  Only
  342. the file names are listed, not the `Top' nodes.  (*Note Install an Info
  343. File::.)
  344.  
  345.    For example:
  346.  
  347.      ...
  348.      * Info: (info).         Documentation browsing system.
  349.      * Emacs: (emacs).       The extensible, self-documenting
  350.                              text editor.
  351.      ...
  352.  
  353. (The `dir' top level directory for the Info system is an Info file, not
  354. a Texinfo file, but a menu entry looks the same in both types of file.)
  355.  
  356.    Note that the GNU Emacs Texinfo mode menu updating commands only work
  357. with nodes within the current buffer, so you cannot use them to create
  358. menus that refer to other files.  You must write such menus by hand.
  359.  
  360. 
  361. File: texinfo,  Node: Cross References,  Next: Marking Text,  Prev: Menus,  Up: Top
  362.  
  363. Cross References
  364. ****************
  365.  
  366.    "Cross references" are used to refer the reader to other parts of the
  367. same or different Texinfo files.  In Texinfo, nodes are the places to
  368. which cross references can refer.
  369.  
  370. * Menu:
  371.  
  372. * References::                  What cross references are for.
  373. * Cross Reference Commands::    A summary of the different commands.
  374. * Cross Reference Parts::       A cross reference has several parts.
  375. * xref::                        Begin a reference with `See' ...
  376. * Top Node Naming::             How to refer to the beginning of another file.
  377. * ref::                         A reference for the last part of a sentence.
  378. * pxref::                       How to write a parenthetical cross reference.
  379. * inforef::                     How to refer to an Info-only file.
  380.  
  381. 
  382. File: texinfo,  Node: References,  Next: Cross Reference Commands,  Up: Cross References
  383.  
  384. What References Are For
  385. =======================
  386.  
  387.    Often, but not always, a printed document should be designed so that
  388. it can be read sequentially.  People tire of flipping back and forth to
  389. find information that should be presented to them as they need it.
  390.  
  391.    However, in any document, some information will be too detailed for
  392. the current context, or incidental to it; use cross references to
  393. provide access to such information.  Also, an on-line help system or a
  394. reference manual is not like a novel; few read such documents in
  395. sequence from beginning to end.  Instead, people look up what they
  396. need.  For this reason, such creations should contain many cross
  397. references to help readers find other information that they may not
  398. have read.
  399.  
  400.    In a printed manual, a cross reference results in a page reference,
  401. unless it is to another manual altogether, in which case the cross
  402. reference names that manual.
  403.  
  404.    In Info, a cross reference results in an entry that you can follow
  405. using the Info `f' command.  (*note Some advanced Info commands:
  406. (info)Help-Adv.)
  407.  
  408.    The various cross reference commands use nodes to define cross
  409. reference locations.  This is evident in Info, in which a cross
  410. reference takes you to the specified node.  TeX also uses nodes to
  411. define cross reference locations, but the action is less obvious.  When
  412. TeX generates a DVI file, it records nodes' page numbers and uses the
  413. page numbers in making references.  Thus, if you are writing a manual
  414. that will only be printed, and will not be used on-line, you must
  415. nonetheless write `@node' lines to name the places to which you make
  416. cross references.
  417.  
  418. 
  419. File: texinfo,  Node: Cross Reference Commands,  Next: Cross Reference Parts,  Prev: References,  Up: Cross References
  420.  
  421. Different Cross Reference Commands
  422. ==================================
  423.  
  424.    There are four different cross reference commands:
  425.  
  426. `@xref'
  427.      Used to start a sentence in the printed manual saying `See ...' or
  428.      an entry in the Info file saying `*Note ...'.
  429.  
  430. `@ref'
  431.      Used within or, more often, at the end of a sentence; produces just
  432.      the reference in the printed manual without a preceding `See'.
  433.  
  434. `@pxref'
  435.      Used within parentheses to make a reference that starts with a
  436.      lower case `see' within the printed manual. (`p' is for
  437.      `parenthesis'.)
  438.  
  439. `@inforef'
  440.      Used to make a reference to an Info file for which there is no
  441.      printed manual.
  442.  
  443. (The `@cite' command is used to make references to books and manuals
  444. for which there is no corresponding Info file and, therefore, no node
  445. to which to point.   *Note `@cite': cite.)
  446.  
  447. 
  448. File: texinfo,  Node: Cross Reference Parts,  Next: xref,  Prev: Cross Reference Commands,  Up: Cross References
  449.  
  450. Parts of a Cross Reference
  451. ==========================
  452.  
  453.    A cross reference command requires only one argument, which is the
  454. name of the node to which it refers.  But a cross reference command may
  455. contain up to four additional arguments.  By using these arguments, you
  456. can provide a cross reference name for Info, a topic description or
  457. section title for the printed output, the name of a different Info
  458. file, and the name of a different printed manual.
  459.  
  460.    Here is a simple cross reference example:
  461.  
  462.      @xref{Node name}.
  463.  
  464. which produces
  465.  
  466.      *Note Node name::.
  467.  
  468. and
  469.  
  470.      See Section NNN [Node name], page PPP.
  471.  
  472.    Here, however, is an example of a full five-part cross reference:
  473.  
  474.      @xref{Node name, Cross Reference Name, Particular Topic,
  475.      info-file-name, A Printed Manual}, for details.
  476.  
  477. which produces
  478.  
  479.      *Note Cross Reference Name: (info-file-name)Node name,
  480.      for details.
  481.  
  482. and
  483.  
  484.      See Section Particular Topic of A Printed Manual, for details.
  485.  
  486.    The five possible arguments for a cross reference are:
  487.  
  488.   1. The node name (required).  This is the node to which the cross
  489.      reference takes you.  In a printed document, the location of the
  490.      node provides the page reference only for references within the
  491.      same document.
  492.  
  493.   2. The cross reference name for the Info reference, if it is to be
  494.      different from the node name.  If you include this argument, it
  495.      argument becomes the first part of the cross reference. It is
  496.      usually omitted.
  497.  
  498.   3. A topic description or section name.  Often, this is the title of
  499.      the section.  This is used as the name of the reference in the
  500.      printed manual.  If omitted, the node name is used.
  501.  
  502.   4. The name of the Info file in which the reference is located, if it
  503.      is different from the current file.
  504.  
  505.   5. The name of a printed manual from a different Texinfo file.
  506.  
  507.    The template for a full five argument cross reference looks like
  508. this:
  509.  
  510.      @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC,
  511.      INFO-FILE-NAME, PRINTED-MANUAL-TITLE}.
  512.  
  513.    Cross references with one, two, three, four, and five arguments are
  514. described separately following the description of `@xref'.
  515.  
  516.    Write a node name in a cross reference in exactly the same way as in
  517. the `@node' line, including the same capitalization; otherwise, the
  518. formatters may not find the reference.
  519.  
  520.    You can write cross reference commands within a paragraph, but note
  521. how Info and TeX format the output of each of the various commands:
  522. write `@xref' at the beginning of a sentence; write `@pxref' only
  523. within parentheses, and so on.
  524.  
  525. 
  526. File: texinfo,  Node: xref,  Next: Top Node Naming,  Prev: Cross Reference Parts,  Up: Cross References
  527.  
  528. `@xref'
  529. =======
  530.  
  531.    The `@xref' command generates a cross reference for the beginning of
  532. a sentence.  The Info formatting commands convert it into an Info cross
  533. reference, which the Info `f' command can use to bring you directly to
  534. another node.  The TeX typesetting commands convert it into a page
  535. reference, or a reference to another book or manual.
  536.  
  537. * Menu:
  538.  
  539. * Reference Syntax::            What a reference looks like and requires.
  540. * One Argument::                `@xref' with one argument.
  541. * Two Arguments::               `@xref' with two arguments.
  542. * Three Arguments::             `@xref' with three arguments.
  543. * Four and Five Arguments::     `@xref' with four and five arguments.
  544.  
  545. 
  546. File: texinfo,  Node: Reference Syntax,  Next: One Argument,  Up: xref
  547.  
  548. What a Reference Looks Like and Requires
  549. ----------------------------------------
  550.  
  551.    Most often, an Info cross reference looks like this:
  552.  
  553.      *Note NODE-NAME::.
  554.  
  555. or like this
  556.  
  557.      *Note CROSS-REFERENCE-NAME: NODE-NAME.
  558.  
  559. In TeX, a cross reference looks like this:
  560.  
  561.      See Section SECTION [NODE-NAME], page PAGE.
  562.  
  563. or like this
  564.  
  565.      See Section SECTION [TITLE-OR-TOPIC], page PAGE.
  566.  
  567.    The `@xref' command does not generate a period or comma to end the
  568. cross reference in either the Info file or the printed output. You must
  569. write that period or comma yourself; otherwise, Info will not recognize
  570. the end of the reference.  (The `@pxref' command works differently. 
  571. *Note `@pxref': pxref.)
  572.  
  573.      *Please note:* A period or comma *must* follow the closing brace
  574.      of an `@xref'.  It is required to terminate the cross reference. 
  575.      This period or comma will appear in the output, both in the Info
  576.      file and in the printed manual.
  577.  
  578.    `@xref' must refer to an Info node by name.  Use `@node' to define
  579. the node (*note Writing a Node::.).
  580.  
  581.    `@xref' is followed by several arguments inside braces, separated by
  582. commas.  Whitespace before and after these commas is ignored.
  583.  
  584.    A cross reference requires only the name of a node; but it may
  585. contain up to four additional arguments.  Each of these variations
  586. produces a cross reference that looks somewhat different.
  587.  
  588. 
  589. File: texinfo,  Node: One Argument,  Next: Two Arguments,  Prev: Reference Syntax,  Up: xref
  590.  
  591. `@xref' with One Argument
  592. -------------------------
  593.  
  594.    The simplest form of `@xref' takes one argument, the name of another
  595. node in the same Info file.    The Info formatters produce output that
  596. the Info readers can use to jump to the reference; TeX produces output
  597. that specifies the page and section number for you.
  598.  
  599. For example,
  600.  
  601.      @xref{Tropical Storms}.
  602.  
  603. produces
  604.  
  605.      *Note Tropical Storms::.
  606.  
  607. and
  608.  
  609.      See Section 3.1 [Tropical Storms], page 24.
  610.  
  611. (Note that in the preceding example the closing brace is followed by a
  612. period.)
  613.  
  614.    You can write a clause after the cross reference, like this:
  615.  
  616.      @xref{Tropical Storms}, for more info.
  617.  
  618. which produces
  619.  
  620.      *Note Tropical Storms::, for more info.
  621.  
  622.      See Section 3.1 [Tropical Storms], page 24, for more info.
  623.  
  624. (Note that in the preceding example the closing brace is followed by a
  625. comma, and then by the clause, which is followed by a period.)
  626.  
  627. 
  628. File: texinfo,  Node: Two Arguments,  Next: Three Arguments,  Prev: One Argument,  Up: xref
  629.  
  630. `@xref' with Two Arguments
  631. --------------------------
  632.  
  633.    With two arguments, the second one is used as the name of the Info
  634. cross reference, while the first argument is still the node that the
  635. cross reference points to.
  636.  
  637. The template is like this:
  638.  
  639.      @xref{NODE-NAME, CROSS-REFERENCE-NAME}.
  640.  
  641. For example,
  642.  
  643.      @xref{Electrical Effects, Lightning}.
  644.  
  645. produces:
  646.  
  647.      *Note Lightning: Electrical Effects.
  648.  
  649. and
  650.  
  651.      See Section 5.2 [Electrical Effects], page 57.
  652.  
  653. (Note that in the preceding example the closing brace is followed by a
  654. period; and that the node name is printed, not the cross reference
  655. name.)
  656.  
  657.    You can write a clause after the cross reference, like this:
  658.  
  659.      @xref{Electrical Effects, Lightning}, for more info.
  660.  
  661. which produces
  662.      *Note Lightning: Electrical Effects, for more info.
  663.  
  664. and
  665.  
  666.      See Section 5.2 [Electrical Effects], page 57, for more info.
  667.  
  668. (Note that in the preceding example the closing brace is followed by a
  669. comma, and then by the clause, which is followed by a period.)
  670.  
  671. 
  672. File: texinfo,  Node: Three Arguments,  Next: Four and Five Arguments,  Prev: Two Arguments,  Up: xref
  673.  
  674. `@xref' with Three Arguments
  675. ----------------------------
  676.  
  677.    A third argument replaces the node name in the TeX output.  The third
  678. argument should be the name of the section in the printed output, or
  679. else state the topic discussed by that section.  Often, you will want to
  680. use initial upper case letters so it will be easier to read when the
  681. reference is printed.  Use a third argument when the node name is
  682. unsuitable because of syntax or meaning.
  683.  
  684.    Remember that a comma or period must follow the closing brace of an
  685. `@xref' command to terminate the cross reference.  In the following
  686. examples, a clause follows a terminating comma.
  687.  
  688.  
  689. The template is like this:
  690.  
  691.      @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC}.
  692.  
  693. For example,
  694.  
  695.      @xref{Electrical Effects, Lightning, Thunder and Lightning}, for details.
  696.  
  697. produces
  698.  
  699.      *Note Lightning: Electrical Effects, for details.
  700.  
  701. and
  702.  
  703.      See Section 5.2 [Thunder and Lightning], page 57, for details.
  704.  
  705.    If a third argument is given and the second one is empty, then the
  706. third argument serves both.  (Note how two commas, side by side, mark
  707. the empty second argument.)
  708.  
  709.      @xref{Electrical Effects, , Thunder and Lightning},
  710.      for details.
  711.  
  712. produces
  713.  
  714.      *Note Thunder and Lightning: Electrical Effects, for details.
  715.  
  716. and
  717.  
  718.      See Section 5.2 [Thunder and Lightning], page 57, for details.
  719.  
  720.    As a practical matter, it is often best to write cross references
  721. with just the first argument if the node name and the section title are
  722. the same, and with the first and third arguments if the node name and
  723. title are different.
  724.  
  725.    Here are several examples from `The GAWK Manual':
  726.  
  727.      @xref{Sample Program}.
  728.      @xref{Glossary}.
  729.      @xref{Case-sensitivity, ,Case-sensitivity in Matching}.
  730.      @xref{Close Output, , Closing Output Files and Pipes},
  731.         for more information.
  732.      @xref{Regexp, , Regular Expressions as Patterns}.
  733.  
  734. 
  735. File: texinfo,  Node: Four and Five Arguments,  Prev: Three Arguments,  Up: xref
  736.  
  737. `@xref' with Four and Five Arguments
  738. ------------------------------------
  739.  
  740.    In a cross reference, a fourth argument specifies the name of another
  741. Info file, different from the file in which the reference appears, and
  742. a fifth argument specifies its title as a printed manual.
  743.  
  744.    Remember that a comma or period must follow the closing brace of an
  745. `@xref' command to terminate the cross reference.  In the following
  746. examples, a clause follows a terminating comma.
  747.  
  748.  
  749. The template is:
  750.  
  751.      @xref{NODE-NAME, CROSS-REFERENCE-NAME, TITLE-OR-TOPIC,
  752.      INFO-FILE-NAME, PRINTED-MANUAL-TITLE}.
  753.  
  754. For example,
  755.  
  756.      @xref{Electrical Effects, Lightning, Thunder and Lightning,
  757.      weather, An Introduction to Meteorology}, for details.
  758.  
  759. produces
  760.  
  761.      *Note Lightning: (weather)Electrical Effects, for details.
  762.  
  763. The name of the Info file is enclosed in parentheses and precedes the
  764. name of the node.
  765.  
  766. In a printed manual, the reference looks like this:
  767.  
  768.      See Section Thunder and Lightning of An Introduction to
  769.      Meteorology, for details.
  770.  
  771. The title of the printed manual is typeset in italics; and the
  772. reference lacks a page number since TeX cannot know to which page a
  773. reference refers when that reference is to another manual.
  774.  
  775.    Often, you will leave out the second argument when you use the long
  776. version of `@xref'.  In this case, the third argument, the topic
  777. description, will be used as the cross reference name in Info.
  778.  
  779. The template looks like this:
  780.  
  781.      @xref{NODE-NAME, , TITLE-OR-TOPIC, INFO-FILE-NAME,
  782.      PRINTED-MANUAL-TITLE}, for details.
  783.  
  784. produces
  785.  
  786.      *Note TITLE-OR-TOPIC: (INFO-FILE-NAME)NODE-NAME, for details.
  787.  
  788. and
  789.  
  790.      See Section TITLE-OR-TOPIC of PRINTED-MANUAL-TITLE, for details.
  791.  
  792. For example,
  793.  
  794.      @xref{Electrical Effects, , Thunder and Lightning,
  795.      weather, An Introduction to Meteorology}, for details.
  796.  
  797. produces
  798.  
  799.      *Note Thunder and Lightning: (weather)Electrical Effects, for details.
  800.  
  801. and
  802.  
  803.      See Section Thunder and Lightning of An Introduction to
  804.      Meteorology, for details.
  805.  
  806.    On rare occasions, you may want to refer to another Info file that
  807. is within a single printed manual--when multiple Texinfo files are
  808. incorporated into the same TeX run but make separate Info files. In
  809. this case, you need to specify only the fourth argument, and not the
  810. fifth.
  811.  
  812. 
  813. File: texinfo,  Node: Top Node Naming,  Next: ref,  Prev: xref,  Up: Cross References
  814.  
  815. Naming a `Top' Node
  816. ===================
  817.  
  818.    In a cross reference, you must always name a node.  This means that
  819. in order to refer to a whole manual, you must identify the `Top' node by
  820. writing it as the first argument to the `@xref' command.  (This is
  821. different from the way you write a menu entry; see *Note Referring to
  822. Other Info Files: Other Info Files.)  At the same time, to provide a
  823. meaningful section topic or title in the printed cross reference
  824. (instead of the word `Top'), you must write an appropriate entry for
  825. the third argument to the `@xref' command.
  826.  
  827. Thus, to make a cross reference to `The GNU Make Manual', write:
  828.  
  829.      @xref{Top, , Overview, make, The GNU Make Manual}.
  830.  
  831. which produces
  832.  
  833.      *Note Overview: (make)Top.
  834.  
  835. and
  836.  
  837.      See Section Overview of The GNU Make Manual.
  838.  
  839. In this example, `Top' is the name of the first node, and `Overview' is
  840. the name of the first section of the manual.
  841.  
  842. 
  843. File: texinfo,  Node: ref,  Next: pxref,  Prev: Top Node Naming,  Up: Cross References
  844.  
  845. `@ref'
  846. ======
  847.  
  848.    `@ref' is nearly the same as `@xref' except that it does not
  849. generate a `See' in the printed output, just the reference itself. This
  850. makes it useful as the last part of a sentence.
  851.  
  852. For example,
  853.  
  854.      For more information, see @ref{Hurricanes}.
  855.  
  856. produces
  857.  
  858.      For more information, see *Note Hurricanes.
  859.  
  860. and
  861.  
  862.      For more information, see Section 8.2 [Hurricanes], page 123.
  863.  
  864.    The `@ref' command sometimes leads writers to express themselves in
  865. a manner that is suitable for a printed manual but looks awkward in the
  866. Info format.  Bear in mind that your audience will be using both the
  867. printed and the Info format.
  868.  
  869.  
  870. For example,
  871.  
  872.      Sea surges are described in @ref{Hurricanes}.
  873.  
  874. produces
  875.  
  876.      Sea surges are described in Section 6.7 [Hurricanes], page 72.
  877.  
  878. in a printed document, but
  879.  
  880.      Sea surges are described in *Note Hurricanes::.
  881.  
  882. in Info.
  883.  
  884.      *Caution:* You *must* write a period or comma immediately after an
  885.      `@ref' command with two or more arguments.  Otherwise, Info will
  886.      not find the end of the cross reference entry and its attempt to
  887.      follow the cross reference will fail.  As a general rule, you
  888.      should write a period or comma after every `@ref' command. This
  889.      looks best in both the printed and the Info output.
  890.  
  891. 
  892. File: texinfo,  Node: pxref,  Next: inforef,  Prev: ref,  Up: Cross References
  893.  
  894. `@pxref'
  895. ========
  896.  
  897.    The parenthetical reference command, `@pxref', is nearly the same as
  898. `@xref', but you use it *only* inside parentheses and you do *not* type
  899. a comma or period after the command's closing brace.  The command
  900. differs from `@xref' in two ways:
  901.  
  902.   1. TeX typesets the reference for the printed manual with a lower case
  903.      `see' rather than an upper case `See'.
  904.  
  905.   2. The Info formatting commands automatically end the reference with a
  906.      closing colon or period.
  907.  
  908.    Because one type of formatting automatically inserts closing
  909. punctuation and the other does not, you should use `@pxref' *only*
  910. inside parentheses as part of another sentence.  Also, you yourself
  911. should not insert punctuation after the reference, as you do with
  912. `@xref'.
  913.  
  914.    `@pxref' is designed so that the output looks right and works right
  915. between parentheses both in printed output and in an Info file. In a
  916. printed manual, a closing comma or period should not follow a cross
  917. reference within parentheses; such punctuation is wrong.  But in an
  918. Info file, suitable closing punctuation must follow the cross reference
  919. so Info can recognize its end.  `@pxref' spares you the need to use
  920. complicated methods to put a terminator into one form of the output and
  921. not the other.
  922.  
  923. With one argument, a parenthetical cross reference looks like this:
  924.  
  925.      ... storms cause flooding (@pxref{Hurricanes}) ...
  926.  
  927.  
  928. produces
  929.  
  930.      ... storms cause flooding (*Note Hurricanes::) ...
  931.  
  932. and
  933.  
  934.      ... storms cause flooding (see Section 6.7 [Hurricanes], page 72)
  935.      ...
  936.  
  937.    With two arguments, a parenthetical cross reference has this
  938. template:
  939.  
  940.      ... (@pxref{NODE-NAME, CROSS-REFERENCE-NAME}) ...
  941.  
  942. produces
  943.  
  944.      ... (*Note CROSS-REFERENCE-NAME: NODE-NAME.) ...
  945.  
  946. and
  947.  
  948.      ... (see Section NNN [NODE-NAME], page PPP) ...
  949.  
  950.    `@pxref' can be used with up to five arguments just like `@xref'
  951. (*note `@xref': xref.).
  952.  
  953.      *Please note:* Use `@pxref' only as a parenthetical reference.  Do
  954.      not try to use `@pxref' as a clause in a sentence. It will look
  955.      bad in either the Info file, the printed output, or both.
  956.  
  957.      Also, parenthetical cross references look best at the ends of
  958.      sentences. Although you may write them in the middle of a
  959.      sentence, that location breaks up the flow of text.
  960.  
  961. 
  962. File: texinfo,  Node: inforef,  Prev: pxref,  Up: Cross References
  963.  
  964. `@inforef'
  965. ==========
  966.  
  967.    `@inforef' is used for cross references to Info files for which
  968. there are no printed manuals.  Even in a printed manual, `@inforef'
  969. generates a reference directing the user to look in an Info file.
  970.  
  971.    The command takes either two or three arguments, in the following
  972. order:
  973.  
  974.   1. The node name.
  975.  
  976.   2. The cross reference name (optional).
  977.  
  978.   3. The Info file name.
  979.  
  980. Separate the arguments with commas, as with `@xref'.  Also, you must
  981. terminate the reference with a comma or period after the `}', as you do
  982. with `@xref'.
  983.  
  984. The template is:
  985.  
  986.      @inforef{NODE-NAME, CROSS-REFERENCE-NAME, INFO-FILE-NAME},
  987.  
  988.  
  989. Thus,
  990.  
  991.      @inforef{Expert, Advanced Info commands, info},
  992.      for more information.
  993.  
  994. produces
  995.  
  996.      *Note Advanced Info commands: (info)Expert,
  997.      for more information.
  998.  
  999. and
  1000.  
  1001.      See Info file `info', node `Expert', for more information.
  1002.  
  1003.  
  1004. Similarly,
  1005.  
  1006.      @inforef{Expert, , info}, for more information.
  1007.  
  1008. produces
  1009.  
  1010.      *Note (info)Expert::, for more information.
  1011.  
  1012. and
  1013.  
  1014.      See Info file `info', node `Expert', for more information.
  1015.  
  1016.    The converse of `@inforef' is `@cite', which is used to refer to
  1017. printed works for which no Info form exists.  *Note  `@cite': cite.
  1018.  
  1019. 
  1020. File: texinfo,  Node: Marking Text,  Next: Quotations and Examples,  Prev: Cross References,  Up: Top
  1021.  
  1022. Marking Words and Phrases
  1023. *************************
  1024.  
  1025.    In Texinfo, you can mark words and phrases in a variety of ways. The
  1026. Texinfo formatters use this information to determine how to highlight
  1027. the text. You can specify, for example, whether a word or phrase is a
  1028. defining occurrence, a metasyntactic variable, or a symbol used in a
  1029. program.  Also, you can emphasize text.
  1030.  
  1031. * Menu:
  1032.  
  1033. * Indicating::                  How to indicate definitions, files, etc.
  1034. * Emphasis::                    How to emphasize text.
  1035.  
  1036. 
  1037. File: texinfo,  Node: Indicating,  Next: Emphasis,  Up: Marking Text
  1038.  
  1039. Indicating Definitions, Commands, etc.
  1040. ======================================
  1041.  
  1042.    Texinfo has commands for indicating just what kind of object a piece
  1043. of text refers to.  For example, metasyntactic variables are marked by
  1044. `@var', and code by `@code'.  Since the pieces of text are labelled by
  1045. commands that tell what kind of object they are, it is easy to change
  1046. the way the Texinfo formatters prepare such text.  (Texinfo is an
  1047. *intentional* formatting language rather than a *typesetting*
  1048. formatting language.)
  1049.  
  1050.    For example, in a printed manual, code is usually illustrated in a
  1051. typewriter font; `@code' tells TeX to typeset this text in this font. 
  1052. But it would be easy to change the way TeX highlights code to use
  1053. another font, and this change would not effect how keystroke examples
  1054. are highlighted.  If straight typesetting commands were used in the body
  1055. of the file and you wanted to make a change, you would need to check
  1056. every single occurrence to make sure that you were changing code and
  1057. not something else that should not be changed.
  1058.  
  1059. * Menu:
  1060.  
  1061. * Useful Highlighting::         Highlighting provides useful information.
  1062. * code::                        How to indicate code.
  1063. * kbd::                         How to show keyboard input.
  1064. * key::                         How to specify keys.
  1065. * samp::                        How to show a literal sequence of characters.
  1066. * var::                         How to indicate a metasyntactic variable.
  1067. * file::                        How to indicate the name of a file.
  1068. * dfn::                         How to specify a definition.
  1069. * cite::                        How to refer to a book that is not in Info.
  1070.  
  1071. 
  1072. File: texinfo,  Node: Useful Highlighting,  Next: code,  Up: Indicating
  1073.  
  1074. Highlighting Commands are Useful
  1075. --------------------------------
  1076.  
  1077.    The highlighting commands can be used to generate useful information
  1078. from the file, such as lists of functions or file names.  It is
  1079. possible, for example, to write a program in Emacs Lisp (or a keyboard
  1080. macro) to insert an index entry after every paragraph that contains
  1081. words or phrases marked by a specified command.  You could do this to
  1082. construct an index of functions if you had not already made the entries.
  1083.  
  1084.    The commands serve a variety of purposes:
  1085.  
  1086. `@code{SAMPLE-CODE}'
  1087.      Indicate text that is a literal example of a piece of a program.
  1088.  
  1089. `@kbd{KEYBOARD-CHARACTERS}'
  1090.      Indicate keyboard input.
  1091.  
  1092. `@key{KEY-NAME}'
  1093.      Indicate the conventional name for a key on a keyboard.
  1094.  
  1095. `@samp{TEXT}'
  1096.      Indicate text that is a literal example of a sequence of
  1097.      characters.
  1098.  
  1099. `@var{METASYNTACTIC-VARIABLE}'
  1100.      Indicate a metasyntactic variable.
  1101.  
  1102. `@file{FILE-NAME}'
  1103.      Indicate the name of a file.
  1104.  
  1105. `@dfn{TERM}'
  1106.      Indicate the introductory or defining use of a term.
  1107.  
  1108. `@cite{REFERENCE}'
  1109.      Indicate the name of a book.
  1110.  
  1111. 
  1112. File: texinfo,  Node: code,  Next: kbd,  Prev: Useful Highlighting,  Up: Indicating
  1113.  
  1114. `@code'{SAMPLE-CODE}
  1115. --------------------
  1116.  
  1117.    Use the `@code' command to indicate text that is a piece of a
  1118. program and which consists of entire syntactic tokens.  Enclose the
  1119. text in braces.
  1120.  
  1121.    Thus, you should use `@code' for an expression in a program, for the
  1122. name of a variable or function used in a program, or for a keyword. 
  1123. Also, you should use `@code' for the name of a program, such as `diff',
  1124. that is a name used in the machine. (You should write the name of a
  1125. program in the ordinary text font if you regard it as a new English
  1126. word, such as `Emacs' or `Bison'.)
  1127.  
  1128.    Use `@code' for environment variables such as `TEXINPUTS', and other
  1129. variables.
  1130.  
  1131.    Use `@code' for command names in command languages that resemble
  1132. programming languages, such as Texinfo or the shell. For example,
  1133. `@code' and `@samp' are produced by writing `@code{@@code}' and
  1134. `@code{@@samp}' in the Texinfo source, respectively.
  1135.  
  1136.    Note, however, that you should not use `@code' for shell options
  1137. such as `-c' when such options stand alone. (Use `@samp'.) Also, an
  1138. entire shell command often looks better if written using `@samp' rather
  1139. than `@code'.  In this case, the rule is to choose the more pleasing
  1140. format.
  1141.  
  1142.    It is incorrect to alter the case of a word inside an `@code'
  1143. command when it appears at the beginning of a sentence.  Most computer
  1144. languages are case sensitive.  In C, for example, `Printf' is different
  1145. from the identifier `printf', and most likely is a misspelling of it. 
  1146. Even in languages which are not case sensitive, it is confusing to a
  1147. human reader to see identifiers spelled in different ways.  Pick one
  1148. spelling and always use that.  If you do not want to start a sentence
  1149. with a command written all in lower case, you should rearrange the
  1150. sentence.
  1151.  
  1152.    Do not use the `@code' command for a string of characters shorter
  1153. than a syntactic token.  If you are writing about `TEXINPU', which is
  1154. just a part of the name for the `TEXINPUTS' environment variable, you
  1155. should use `@samp'.
  1156.  
  1157.    In particular, you should not use the `@code' command when writing
  1158. about the characters used in a token; do not, for example, use `@code'
  1159. when you are explaining what letters or printable symbols can be used
  1160. in the names of functions.  (Use `@samp'.)  Also, you should not use
  1161. `@code' to mark text that is considered input to programs unless the
  1162. input is written in a language that is like a programming language. 
  1163. For example, you should not use `@code' for the keystroke commands of
  1164. GNU Emacs (use `@kbd' instead) although you may use `@code' for the
  1165. names of the Emacs Lisp functions that the keystroke commands invoke.
  1166.  
  1167.    In the printed manual, `@code' causes TeX to typeset the argument in
  1168. a typewriter face.  In the Info file, it causes the Info formatting
  1169. commands to use single quotation marks around the text.
  1170.  
  1171.    For example,
  1172.  
  1173.      Use @code{diff} to compare two files.
  1174.  
  1175. produces this in the printed manual:
  1176.  
  1177.      Use `diff' to compare two files.
  1178.  
  1179. 
  1180. File: texinfo,  Node: kbd,  Next: key,  Prev: code,  Up: Indicating
  1181.  
  1182. `@kbd'{KEYBOARD-CHARACTERS}
  1183. ---------------------------
  1184.  
  1185.    Use the `@kbd' command for characters of input to be typed by users.
  1186.  For example, to refer to the characters `M-a', write
  1187.  
  1188.      @kbd{M-a}
  1189.  
  1190. and to refer to the characters `M-x shell', write
  1191.  
  1192.      @kbd{M-x shell}
  1193.  
  1194.    The `@kbd' command has the same effect as `@code' in Info, but may
  1195. produce a different font in a printed manual.
  1196.  
  1197.    You can embed another @-command inside the braces of an `@kbd'
  1198. command.  Here, for example, is the way to describe a command that
  1199. would be described more verbosely as "press an `r' and then press the
  1200. RET key":
  1201.  
  1202.      @kbd{r @key{RET}}
  1203.  
  1204. This produces: `r RET'
  1205.  
  1206.    You also use the `@kbd' command if you are spelling out the letters
  1207. you type; for example:
  1208.  
  1209.      To give the @code{logout} command,
  1210.      type the characters @kbd{l o g o u t @key{RET}}.
  1211.  
  1212. This produces:
  1213.  
  1214.      To give the `logout' command, type the characters `l o g o u t
  1215.      RET'.
  1216.  
  1217.    (Also, this example shows that you can add spaces for clarity.  If
  1218. you really want to mention a space character as one of the characters of
  1219. input, write `@key{SPC}' for it.)
  1220.  
  1221. 
  1222. File: texinfo,  Node: key,  Next: samp,  Prev: kbd,  Up: Indicating
  1223.  
  1224. `@key'{KEY-NAME}
  1225. ----------------
  1226.  
  1227.    Use the `@key' command for the conventional name for a key on a
  1228. keyboard, as in:
  1229.  
  1230.      @key{RET}
  1231.  
  1232.    You can use the `@key' command within the argument of an `@kbd'
  1233. command when the sequence of characters to be typed includes one or
  1234. more keys that are described by name.
  1235.  
  1236.    For example, to produce `C-x ESC' you would type:
  1237.  
  1238.      @kbd{C-x @key{ESC}}
  1239.  
  1240.    Here is a list of the recommended names for keys; they are all in
  1241. upper case:
  1242.  
  1243.     SPC
  1244.           Space
  1245.  
  1246.     RET
  1247.           Return
  1248.  
  1249.     LFD
  1250.           Linefeed
  1251.  
  1252.     TAB
  1253.           Tab
  1254.  
  1255.     BS
  1256.           Backspace
  1257.  
  1258.     ESC
  1259.           Escape
  1260.  
  1261.     DEL
  1262.           Delete
  1263.  
  1264.     SFT
  1265.           Shift
  1266.  
  1267.     CTL
  1268.           Control
  1269.  
  1270.     META
  1271.           Meta
  1272.  
  1273.    There are subtleties to handling words like `meta' or `ctl' that are
  1274. names of shift keys.  When mentioning a character in which the shift
  1275. key is used, such as `Meta-a', use the `@kbd' command alone; do not use
  1276. the `@key' command; but when you are referring to the shift key in
  1277. isolation, use the `@key' command.  For example, write `@kbd{Meta-a}'
  1278. to produce `Meta-a' and `@key{META}' to produce META.  This is because
  1279. `Meta-a' refers to keys that you press on a keyboard, but META refers
  1280. to a key without implying that you press it.  In short, use `@kbd' for
  1281. what you do, and use `@key' for what you talk about: "Press `@kbd{M-a}'
  1282. to move point to the beginning of the sentence.  The `@key{META}' is
  1283. often in the lower left of the keyboard."
  1284.  
  1285. 
  1286. File: texinfo,  Node: samp,  Next: var,  Prev: key,  Up: Indicating
  1287.  
  1288. `@samp'{TEXT}
  1289. -------------
  1290.  
  1291.    Use the `@samp' command to indicate text that is a literal example
  1292. or `sample' of a sequence of characters in a file, string, pattern, etc.
  1293. Enclose the text in braces.  The argument appears within single
  1294. quotation marks in both the Info file and the printed manual; in
  1295. addition, it is printed in a fixed-width font.
  1296.  
  1297.      To match @samp{foo} at the end of the line,
  1298.      use the regexp @samp{foo$}.
  1299.  
  1300. produces
  1301.  
  1302.      To match `foo' at the end of the line, use the regexp `foo$'.
  1303.  
  1304.    Any time you are referring to single characters, you should use
  1305. `@samp' unless `@kbd' is more appropriate.  Use `@samp' for the names
  1306. of command-line options.  Also, you may use `@samp' for entire
  1307. statements in C and for entire shell commands--in this case, `@samp'
  1308. often looks better than `@code'.  Basically, `@samp' is a catchall for
  1309. whatever is not covered by `@code', `@kbd', or `@key'.
  1310.  
  1311.    Only include punctuation marks within braces if they are part of the
  1312. string you are specifying.  Write punctuation marks outside the braces
  1313. if those punctuation marks are part of the English text that surrounds
  1314. the string.  In the following sentence, for example, the commas and
  1315. period are outside of the braces:
  1316.  
  1317.      In English, the vowels are @samp{a}, @samp{e},
  1318.      @samp{i}, @samp{o}, @samp{u}, and sometimes
  1319.      @samp{y}.
  1320.  
  1321. This produces:
  1322.  
  1323.      In English, the vowels are `a', `e', `i', `o', `u',  and sometimes
  1324.      `y'.
  1325.  
  1326. 
  1327. File: texinfo,  Node: var,  Next: file,  Prev: samp,  Up: Indicating
  1328.  
  1329. `@var'{METASYNTACTIC-VARIABLE}
  1330. ------------------------------
  1331.  
  1332.    Use the `@var' command to indicate metasyntactic variables.  A
  1333. "metasyntactic variable" is something that stands for another piece of
  1334. text.  For example, you should use a metasyntactic variable in the
  1335. documentation of a function to describe the arguments that are passed
  1336. to that function.
  1337.  
  1338.    Do not use `@var' for the names of particular variables in
  1339. programming languages.  These are specific names from a program, so
  1340. `@code' is correct for them.  For example, the Lisp variable
  1341. `texinfo-tex-command' is not a metasyntactic variable; it is properly
  1342. formatted using `@code'.
  1343.  
  1344.    The effect of `@var' in the Info file is to upcase the argument; in
  1345. the printed manual, to italicize it.
  1346.  
  1347.    For example,
  1348.  
  1349.      To delete file @var{filename},
  1350.      type @code{rm @var{filename}}.
  1351.  
  1352. produces
  1353.  
  1354.      To delete file FILENAME, type `rm FILENAME'.
  1355.  
  1356. (Note that `@var' may appear inside `@code', `@samp', `@file', etc.)
  1357.  
  1358.    Write a metasyntactic variable all in lower case without spaces, and
  1359. use hyphens to make it more readable.  Thus, the illustration of how to
  1360. begin a Texinfo manual looks like this:
  1361.  
  1362.      \input texinfo
  1363.      @setfilename INFO-FILE-NAME
  1364.      @settitle NAME-OF-MANUAL
  1365.  
  1366.    In some documentation styles, metasyntactic variables are shown with
  1367. angle brackets, for example:
  1368.  
  1369.      ..., type rm <filename>
  1370.  
  1371. However, that is not the style that Texinfo uses.  (You can, of course,
  1372. modify the sources to TeX and the Info formatting commands to output
  1373. the `<...>' format if you wish.)
  1374.  
  1375. 
  1376. File: texinfo,  Node: file,  Next: dfn,  Prev: var,  Up: Indicating
  1377.  
  1378. `@file'{FILE-NAME}
  1379. ------------------
  1380.  
  1381.    Use the `@file' command to indicate text that is the name of a file,
  1382. buffer, or directory, or is the name of a node in Info.  You can also
  1383. use the command for file name suffixes.  Do not use `@file' for symbols
  1384. in a programming language; use `@code'.
  1385.  
  1386.    Currently, `@file' is equivalent to `@samp' in its effects on the
  1387. output.  For example,
  1388.  
  1389.      The @file{.el} files are in
  1390.      the @file{/usr/local/emacs/lisp} directory.
  1391.  
  1392. produces
  1393.  
  1394.      The `.el' files are in the `/usr/local/emacs/lisp' directory.
  1395.  
  1396. 
  1397. File: texinfo,  Node: dfn,  Next: cite,  Prev: file,  Up: Indicating
  1398.  
  1399. `@dfn'{TERM}
  1400. ------------
  1401.  
  1402.    Use the `@dfn' command to identify the introductory or defining use
  1403. of a technical term.  Use the command only in passages whose purpose is
  1404. to introduce a term which will be used again or which the reader ought
  1405. to know.  Mere passing mention of a term for the first time does not
  1406. deserve `@dfn'.  The command generates italics in the printed manual,
  1407. and double quotation marks in the Info file.  For example:
  1408.  
  1409.      Getting rid of a file is called @dfn{deleting} it.
  1410.  
  1411. produces
  1412.  
  1413.      Getting rid of a file is called "deleting" it.
  1414.  
  1415.    As a general rule, a sentence containing the defining occurrence of a
  1416. term should be a definition of the term.  The sentence does not need to
  1417. say explicitly that it is a definition, but it should contain the
  1418. information of a definition--it should make the meaning clear.
  1419.  
  1420. 
  1421. File: texinfo,  Node: cite,  Prev: dfn,  Up: Indicating
  1422.  
  1423. `@cite'{REFERENCE}
  1424. ------------------
  1425.  
  1426.    Use the `@cite' command for the name of a book that lacks a
  1427. companion Info file. The command produces italics in the printed
  1428. manual, and quotation marks in the Info file.
  1429.  
  1430.    (If a book is written in Texinfo, it is better to use a cross
  1431. reference command since a reader can easily follow such a reference in
  1432. Info. *Note `@xref': xref.)
  1433.  
  1434. 
  1435. File: texinfo,  Node: Emphasis,  Prev: Indicating,  Up: Marking Text
  1436.  
  1437. Emphasizing Text
  1438. ================
  1439.  
  1440.    Usually, Texinfo changes the font to mark words in the text
  1441. according to what category the words belong to; an example is the
  1442. `@code' command. Most often, this is the best way to mark words.
  1443. However, sometimes you will want to emphasize text without indicating a
  1444. category.  Texinfo has two commands to do this.  Also, Texinfo has
  1445. several commands that specify the font in which TeX will typeset text. 
  1446. These commands have no affect on Info and only one of them, the `@r'
  1447. command, has any regular use.
  1448.  
  1449. * Menu:
  1450.  
  1451. * emph & strong::               How to emphasize text in Texinfo.
  1452. * Smallcaps::                   How to use the small caps font.
  1453. * Fonts::                       Various font commands for printed output.
  1454.  
  1455. 
  1456. File: texinfo,  Node: emph & strong,  Next: Smallcaps,  Up: Emphasis
  1457.  
  1458. `@emph'{TEXT} and `@strong'{TEXT}
  1459. ---------------------------------
  1460.  
  1461.    The `@emph' and `@strong' commands are for emphasis; `@strong' is
  1462. stronger.  In printed output, `@emph' produces *italics* and `@strong'
  1463. produces *bold*.
  1464.  
  1465. For example,
  1466.  
  1467.      @quotation
  1468.      @strong{Caution:} @code{rm * .[^.]*} removes @emph{all}
  1469.      files in the directory.
  1470.      @end quotation
  1471.  
  1472. produces:
  1473.  
  1474.           *Caution*: `rm * .[^.]*' removes *all*
  1475.           files in the directory.
  1476.  
  1477.    The `@strong' command is seldom used except to mark what is, in
  1478. effect, a typographical element, such as the word `Caution' in the
  1479. preceding example.(1)
  1480.  
  1481.    In the Info file, both `@emph' and `@strong' put asterisks around
  1482. the text.
  1483.  
  1484.    ---------- Footnotes ----------
  1485.  
  1486.    (1)  Do not use `@emph' or `@strong' with the word `Note'; Info will
  1487. mistake the combination for a cross reference.  Use a phrase such as
  1488. *Please note* or *Caution* instead.
  1489.  
  1490.