home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / gnu / texinfo-3.1-bin.lha / info / texi.info-10 (.txt) < prev    next >
GNU Info File  |  1994-02-24  |  44KB  |  886 lines

  1. This is Info file texi.info, produced by Makeinfo-1.55 from the input
  2. file texi.texi.
  3.    This file documents Texinfo, a documentation system that uses a
  4. single source file to produce both on-line information and a printed
  5. manual.
  6.    Copyright (C) 1988, 1990, 1991, 1992, 1993 Free Software Foundation,
  7.    This is the second edition of the Texinfo documentation,
  8. and is consistent with version 2 of `texinfo.tex'.
  9.    Permission is granted to make and distribute verbatim copies of this
  10. manual provided the copyright notice and this permission notice are
  11. preserved on all copies.
  12.    Permission is granted to copy and distribute modified versions of
  13. this manual under the conditions for verbatim copying, provided that
  14. the entire resulting derived work is distributed under the terms of a
  15. permission notice identical to this one.
  16.    Permission is granted to copy and distribute translations of this
  17. manual into another language, under the above conditions for modified
  18. versions, except that this permission notice may be stated in a
  19. translation approved by the Free Software Foundation.
  20. File: texi.info,  Node: Debugging with TeX,  Next: Using texinfo-show-structure,  Prev: Debugging with Info,  Up: Catching Mistakes
  21. Catching Errors with TeX Formatting
  22. ===================================
  23.    You can also catch mistakes when you format a file with TeX.
  24.    Usually, you do this after you have run `texinfo-format-buffer' (or,
  25. better, `makeinfo-buffer') on the same file, because
  26. `texinfo-format-buffer' sometimes displays error messages that make
  27. more sense than TeX.  (*Note Debugging with Info::, for more
  28. information.)
  29.    For example, TeX was run on a Texinfo file, part of which is shown
  30. here:
  31.      ---------- Buffer: texinfo.texi ----------
  32.      name of the texinfo file as an extension.  The
  33.      @samp{??} are `wildcards' that cause the shell to
  34.      substitute all the raw index files.  (@xref{sorting
  35.      indices, for more information about sorting
  36.      indices.)@refill
  37.      ---------- Buffer: texinfo.texi ----------
  38. (The cross reference lacks a closing brace.) TeX produced the following
  39. output, after which it stopped:
  40.      ---------- Buffer: *texinfo-tex-shell* ----------
  41.      Runaway argument?
  42.      {sorting indices, for more information about sorting
  43.      indices.) @refill @ETC.
  44.      ! Paragraph ended before @xref was complete.
  45.      <to be read again>
  46.                         @par
  47.      l.27
  48.      
  49.      ?
  50.      ---------- Buffer: *texinfo-tex-shell* ----------
  51.    In this case, TeX produced an accurate and understandable error
  52. message:
  53.      Paragraph ended before @xref was complete.
  54. `@par' is an internal TeX command of no relevance to Texinfo.  `l.27'
  55. means that TeX detected the problem on line 27 of the Texinfo file.
  56. The `?' is the prompt TeX uses in this circumstance.
  57.    Unfortunately, TeX is not always so helpful, and sometimes you must
  58. truly be a Sherlock Holmes to discover what went wrong.
  59.    In any case, if you run into a problem like this, you can do one of
  60. three things.
  61.   1. You can tell TeX to continue running and ignore just this error by
  62.      typing RET at the `?' prompt.
  63.   2. You can tell TeX to continue running and to ignore all errors as
  64.      best it can by typing `r RET' at the `?' prompt.
  65.      This is often the best thing to do.  However, beware: the one error
  66.      may produce a cascade of additional error messages as its
  67.      consequences are felt through the rest of the file.  (To stop TeX
  68.      when it is producing such an avalanche of error messages, type
  69.      `C-d' (or `C-c C-d', if you are running a shell inside Emacs
  70.      Version 18.))
  71.   3. You can tell TeX to stop this run by typing `x RET' at the `?'
  72.      prompt.
  73.    Please note that if you are running TeX inside Emacs, you need to
  74. switch to the shell buffer and line at which TeX offers the `?' prompt.
  75.    Sometimes TeX will format a file without producing error messages
  76. even though there is a problem.  This usually occurs if a command is
  77. not ended but TeX is able to continue processing anyhow.  For example,
  78. if you fail to end an itemized list with the `@end itemize' command,
  79. TeX will write a DVI file that you can print out.  The only error
  80. message that TeX will give you is the somewhat mysterious comment that
  81.      (@end occurred inside a group at level 1)
  82. However, if you print the DVI file, you will find that the text of the
  83. file that follows the itemized list is entirely indented as if it were
  84. part of the last item in the itemized list.  The error message is the
  85. way TeX says that it expected to find an `@end' command somewhere in
  86. the file; but that it could not determine where it was needed.
  87.    Another source of notoriously hard-to-find errors is a missing `@end
  88. group' command.  If you ever are stumped by incomprehensible errors,
  89. look for a missing `@end group' command first.
  90.    If the Texinfo file lacks header lines, TeX may stop in the
  91. beginning of its run and display output that looks like the following.
  92. The `*' indicates that TeX is waiting for input.
  93.      This is TeX, Version 2.0 for Berkeley UNIX
  94.      (preloaded format=plain-cm 87.10.25)
  95.      (test.texinfo [1])
  96.      *
  97. In this case, simply type `\end RET' after the asterisk.  Then write
  98. the header lines in the Texinfo file and run the TeX command again.
  99. (Note the use of the backslash, `\'.  TeX uses `\' instead of `@'; and
  100. in this circumstance, you are working directly with TeX, not with
  101. Texinfo.)
  102. File: texi.info,  Node: Using texinfo-show-structure,  Next: Using occur,  Prev: Debugging with TeX,  Up: Catching Mistakes
  103. Using `texinfo-show-structure'
  104. ==============================
  105.    It is not always easy to keep track of the nodes, chapters,
  106. sections, and subsections of a Texinfo file.  This is especially true
  107. if you are revising or adding to a Texinfo file that someone else has
  108. written.
  109.    In GNU Emacs, in Texinfo mode, the `texinfo-show-structure' command
  110. lists all the lines that begin with the @-commands that specify the
  111. structure: `@chapter', `@section', `@appendix', and so on.  With an
  112. argument (`C-u' as prefix argument, if interactive), the command also
  113. shows the `@node' lines.  The `texinfo-show-structure' command is bound
  114. to `C-c C-s' in Texinfo mode, by default.
  115.    The lines are displayed in a buffer called the `*Occur*' buffer.
  116. For example, when `texinfo-show-structure' was run on an earlier
  117. version of this appendix, it produced the following:
  118.      Lines matching "^@\\(chapter \\|sect\\|sub\\|unnum\\|major\\|
  119.      heading \\|appendix\\)" in buffer texinfo.texi.
  120.        4:@appendix Formatting Mistakes
  121.       52:@appendixsec Catching Errors with Info Formatting
  122.      222:@appendixsec Catching Errors with @TeX{} Formatting
  123.      338:@appendixsec Using @code{texinfo-show-structure}
  124.      407:@appendixsubsec Using @code{occur}
  125.      444:@appendixsec Finding Badly Referenced Nodes
  126.      513:@appendixsubsec Running @code{Info-validate}
  127.      573:@appendixsubsec Splitting a File Manually
  128.    This says that lines 4, 52, and 222 of `texinfo.texi' begin with the
  129. `@appendix', `@appendixsec', and `@appendixsec' commands respectively.
  130. If you move your cursor into the `*Occur*' window, you can position the
  131. cursor over one of the lines and use the `C-c C-c' command
  132. (`occur-mode-goto-occurrence'), to jump to the corresponding spot in
  133. the Texinfo file.  *Note Using Occur: (emacs)Other Repeating Search,
  134. for more information about `occur-mode-goto-occurrence'.
  135.    The first line in the `*Occur*' window describes the "regular
  136. expression" specified by TEXINFO-HEADING-PATTERN.  This regular
  137. expression is the pattern that `texinfo-show-structure' looks for.
  138. *Note Using Regular Expressions: (emacs)Regexps, for more information.
  139.    When you invoke the `texinfo-show-structure' command, Emacs will
  140. display the structure of the whole buffer.  If you want to see the
  141. structure of just a part of the buffer, of one chapter, for example,
  142. use the `C-x n' (`narrow-to-region') command to mark the region.
  143. (*Note Narrowing: (emacs)Narrowing.)  This is how the example used
  144. above was generated.  (To see the whole buffer again, use `C-x w'
  145. (`widen').)
  146.    If you call `texinfo-show-structure' with a prefix argument by
  147. typing `C-u C-c C-s', it will list lines beginning with `@node' as well
  148. as the lines beginning with the @-sign commands for `@chapter',
  149. `@section', and the like.
  150.    You can remind yourself of the structure of a Texinfo file by
  151. looking at the list in the `*Occur*' window; and if you have mis-named
  152. a node or left out a section, you can correct the mistake.
  153. File: texi.info,  Node: Using occur,  Next: Running Info-Validate,  Prev: Using texinfo-show-structure,  Up: Catching Mistakes
  154. Using `occur'
  155. =============
  156.    Sometimes the `texinfo-show-structure' command produces too much
  157. information.  Perhaps you want to remind yourself of the overall
  158. structure of a Texinfo file, and are overwhelmed by the detailed list
  159. produced by `texinfo-show-structure'.  In this case, you can use the
  160. `occur' command directly.  To do this, type
  161.      `M-x occur'
  162. and then, when prompted, type a "regexp", a regular expression for the
  163. pattern you want to match.  (*Note Regular Expressions:
  164. (emacs)Regexps.)  The `occur' command works from the current location
  165. of the cursor in the buffer to the end of the buffer.  If you want to
  166. run `occur' on the whole buffer, place the cursor at the beginning of
  167. the buffer.
  168.    For example, to see all the lines that contain the word `@chapter'
  169. in them, just type `@chapter'.  This will produce a list of the
  170. chapters.  It will also list all the sentences with `@chapter' in the
  171. middle of the line.
  172.    If you want to see only those lines that start with the word
  173. `@chapter', type `^@chapter' when prompted by `occur'.  If you want to
  174. see all the lines that end with a word or phrase, end the last word
  175. with a `$'; for example, `catching mistakes$'.  This can be helpful
  176. when you want to see all the nodes that are part of the same chapter or
  177. section and therefore have the same `Up' pointer.
  178.    *Note Using Occur: (emacs)Other Repeating Search, for more
  179. information.
  180. File: texi.info,  Node: Running Info-Validate,  Prev: Using occur,  Up: Catching Mistakes
  181. Finding Badly Referenced Nodes
  182. ==============================
  183.    You can use the `Info-validate' command to check whether any of the
  184. `Next', `Previous', `Up' or other node pointers fail to point to a
  185. node.  This command checks that every node pointer points to an
  186. existing node.  The `Info-validate' command works only on Info files,
  187. not on Texinfo files.
  188.    The `makeinfo' program validates pointers automatically, so you do
  189. not need to use the `Info-validate' command if you are using
  190. `makeinfo'.  You only may need to use `Info-validate' if you are unable
  191. to run `makeinfo' and instead must create an Info file using
  192. `texinfo-format-region' or `texinfo-format-buffer', or if you write an
  193. Info file from scratch.
  194. * Menu:
  195. * Using Info-validate::         How to run `Info-validate'.
  196. * Unsplit::                     How to create an unsplit file.
  197. * Tagifying::                   How to tagify a file.
  198. * Splitting::                   How to split a file manually.
  199. File: texi.info,  Node: Using Info-validate,  Next: Unsplit,  Up: Running Info-Validate
  200. Running `Info-validate'
  201. -----------------------
  202.    To use `Info-validate', visit the Info file you wish to check and
  203. type:
  204.      M-x Info-validate
  205. (Note that the `Info-validate' command requires an upper case `I'.  You
  206. may also need to create a tag table before running `Info-validate'.
  207. *Note Tagifying::.)
  208.    If your file is valid, you will receive a message that says "File
  209. appears valid".  However, if you have a pointer that does not point to
  210. a node, error messages will be displayed in a buffer called `*problems
  211. in info file*'.
  212.    For example, `Info-validate' was run on a test file that contained
  213. only the first node of this manual.  One of the messages said:
  214.      In node "Overview", invalid Next: Texinfo Mode
  215. This meant that the node called `Overview' had a `Next' pointer that
  216. did not point to anything (which was true in this case, since the test
  217. file had only one node in it).
  218.    Now suppose we add a node named `Texinfo Mode' to our test case but
  219. we do not specify a `Previous' for this node.  Then we will get the
  220. following error message:
  221.      In node "Texinfo Mode", should have Previous: Overview
  222. This is because every `Next' pointer should be matched by a `Previous'
  223. (in the node where the `Next' points) which points back.
  224.    `Info-validate' also checks that all menu entries and cross
  225. references point to actual nodes.
  226.    Note that `Info-validate' requires a tag table and does not work
  227. with files that have been split.  (The `texinfo-format-buffer' command
  228. automatically splits large files.)  In order to use `Info-validate' on
  229. a large file, you must run `texinfo-format-buffer' with an argument so
  230. that it does not split the Info file; and you must create a tag table
  231. for the unsplit file.
  232. File: texi.info,  Node: Unsplit,  Next: Tagifying,  Prev: Using Info-validate,  Up: Running Info-Validate
  233. Creating an Unsplit File
  234. ------------------------
  235.    You can run `Info-validate' only on a single Info file that has a
  236. tag table.  The command will not work on the indirect subfiles that are
  237. generated when a master file is split.  If you have a large file
  238. (longer than 70,000 bytes or so), you need to run the
  239. `texinfo-format-buffer' or `makeinfo-buffer' command in such a way that
  240. it does not create indirect subfiles.  You will also need to create a
  241. tag table for the Info file.  After you have done this, you can run
  242. `Info-validate' and look for badly referenced nodes.
  243.    The first step is to create an unsplit Info file.
  244.    To prevent `texinfo-format-buffer' from splitting a Texinfo file
  245. into smaller Info files, give a prefix to the `M-x
  246. texinfo-format-buffer' command:
  247.      C-u M-x texinfo-format-buffer
  248. or else
  249.      C-u C-c C-e C-b
  250. When you do this, Texinfo will not split the file and will not create a
  251. tag table for it.
  252. File: texi.info,  Node: Tagifying,  Next: Splitting,  Prev: Unsplit,  Up: Running Info-Validate
  253. Tagifying a File
  254. ----------------
  255.    After creating an unsplit Info file, you must create a tag table for
  256. it.  Visit the Info file you wish to tagify and type:
  257.      M-x Info-tagify
  258. (Note the upper case I in `Info-tagify'.)  This creates an Info file
  259. with a tag table that you can validate.
  260.    The third step is to validate the Info file:
  261.      M-x Info-validate
  262. (Note the upper case I in `Info-validate'.) In brief, the steps are:
  263.      C-u M-x texinfo-format-buffer
  264.      M-x Info-tagify
  265.      M-x Info-validate
  266.    After you have validated the node structure, you will be able to
  267. rerun `texinfo-format-buffer' in the normal way so it will construct a
  268. tag table and split the file automatically, or you can make the tag
  269. table and split the file manually.
  270. File: texi.info,  Node: Splitting,  Prev: Tagifying,  Up: Running Info-Validate
  271. Splitting a File Manually
  272. -------------------------
  273.    You should split a large file or else let the
  274. `texinfo-format-buffer' or `makeinfo-buffer' command do it for you
  275. automatically.  (Generally you will let one of the formatting commands
  276. do this job for you.  *Note Create an Info File::.)
  277.    The split-off files are called the indirect subfiles.
  278.    Info files are split to save memory.  With smaller files, Emacs does
  279. not have make such a large buffer to hold the information.
  280.    If an Info file has more than 30 nodes, you should also make a tag
  281. table for it. *Note Using Info-validate::, for information about
  282. creating a tag table.  (Again, tag tables are usually created
  283. automatically by the formatting command; you only need to create a tag
  284. table yourself if you are doing the job manually.  Most likely, you
  285. will do this for a large, unsplit file on which you have run
  286. `Info-validate'.)
  287.    Visit the Info file you wish to tagify and split and type the two
  288. commands:
  289.      M-x Info-tagify
  290.      M-x Info-split
  291. (Note that the `I' in `Info' is upper case.)
  292.    When you use the `Info-split' command, the buffer is modified into a
  293. (small) Info file which lists the indirect subfiles.  This file should
  294. be saved in place of the original visited file.  The indirect subfiles
  295. are written in the same directory the original file is in, with names
  296. generated by appending `-' and a number to the original file name.
  297.    The primary file still functions as an Info file, but it contains
  298. just the tag table and a directory of subfiles.
  299. File: texi.info,  Node: Refilling Paragraphs,  Next: Command Syntax,  Prev: Catching Mistakes,  Up: Top
  300. Refilling Paragraphs
  301. ********************
  302.    The `@refill' command refills and, optionally, indents the first
  303. line of a paragraph.(1) The `@refill' command is no longer important,
  304. but we describe it here because you once needed it.  You will see it in
  305. many old Texinfo files.
  306.    Without refilling, paragraphs containing long @-constructs may look
  307. bad after formatting because the formatter removes @-commands and
  308. shortens some lines more than others.  In the past, neither
  309. `texinfo-format-region' nor `texinfo-format-buffer' refilled paragraphs
  310. automatically.  The `@refill' command had to be written at the end of
  311. every paragraph to cause these formatters to fill them.  (Both TeX and
  312. `makeinfo' have always refilled paragraphs automatically.)  Now, all
  313. the Info formatters automatically fill and indent those paragraphs that
  314. need to be filled and indented.
  315.    The `@refill' command causes both the `texinfo-format-region'
  316. command and the `texinfo-format-buffer' command to refill a paragraph
  317. in the Info file *after* all the other processing has been done.  For
  318. this reason, you can not use `@refill' with a paragraph containing
  319. either `@*' or `@w{ ... }' since the refilling action will override
  320. those two commands.
  321.    The `texinfo-format-region' and `texinfo-format-buffer' commands now
  322. automatically append `@refill' to the end of each paragraph that should
  323. be filled.  They do not append `@refill' to the ends of paragraphs that
  324. contain `@*' or `@w{ ...}' and therefore do not refill or indent them.
  325.    ---------- Footnotes ----------
  326.    (1)  Perhaps the command should have been called the
  327. `@refillandindent' command, but `@refill' is shorter and the name was
  328. chosen before indenting was possible.
  329. File: texi.info,  Node: Command Syntax,  Next: Obtaining TeX,  Prev: Refilling Paragraphs,  Up: Top
  330. @-Command Syntax
  331. ****************
  332.    The character `@' is used to start special Texinfo commands.  (It
  333. has the same meaning that `\' has in PlainTeX.)  Texinfo has four types
  334. of @-command:
  335. 1. Non-alphabetic commands.
  336.      These commands consist of an @ followed by a punctuation mark or
  337.      other character that is not part of the alphabet.  Non-alphabetic
  338.      commands are almost always part of the text within a paragraph,
  339.      and never take any argument.  The two characters (@ and the other
  340.      one) are complete in themselves; none is followed by braces.  The
  341.      non-alphabetic commands are: `@.', `@:', `@*', `@@', `@{', and
  342.      `@}'.
  343. 2. Alphabetic commands that do not require arguments.
  344.      These commands start with @ followed by a word followed by left-
  345.      and right-hand braces.  These commands insert special symbols in
  346.      the document; they do not require arguments.  For example,
  347.      `@dots{}' => `...', `@equiv{}' => `==', `@TeX{}' => `TeX', and
  348.      `@bullet{}' => `*'.
  349. 3. Alphabetic commands that require arguments within braces.
  350.      These commands start with @ followed by a letter or a word,
  351.      followed by an argument within braces.  For example, the command
  352.      `@dfn' indicates the introductory or defining use of a term; it is
  353.      used as follows: `In Texinfo, @@-commands are @dfn{mark-up}
  354.      commands.'
  355. 4. Alphabetic commands that occupy an entire line.
  356.      These commands occupy an entire line.  The line starts with @,
  357.      followed by the name of the command (a word); for example,
  358.      `@center' or `@cindex'.  If no argument is needed, the word is
  359.      followed by the end of the line.  If there is an argument, it is
  360.      separated from the command name by a space.  Braces are not used.
  361.    Thus, the alphabetic commands fall into classes that have different
  362. argument syntaxes.  You cannot tell to which class a command belongs by
  363. the appearance of its name, but you can tell by the command's meaning:
  364. if the command stands for a glyph, it is in class 2 and does not
  365. require an argument; if it makes sense to use the command together with
  366. other text as part of a paragraph, the command is in class 3 and must
  367. be followed by an argument in braces; otherwise, it is in class 4 and
  368. uses the rest of the line as its argument.
  369.    The purpose of having a different syntax for commands of classes 3
  370. and 4 is to make Texinfo files easier to read, and also to help the GNU
  371. Emacs paragraph and filling commands work properly.  There is only one
  372. exception to this rule: the command `@refill', which is always used at
  373. the end of a paragraph immediately following the final period or other
  374. punctuation character.  `@refill' takes no argument and does *not*
  375. require braces.  `@refill' never confuses the Emacs paragraph commands
  376. because it cannot appear at the beginning of a line.
  377. File: texi.info,  Node: Obtaining TeX,  Next: New Features,  Prev: Command Syntax,  Up: Top
  378. How to Obtain TeX
  379. *****************
  380.    TeX is freely redistributable.  You can obtain TeX for Unix systems
  381. from the University of Washington for a distribution fee.
  382.    To order a full distribution, send $200.00 for a 1/2-inch 9-track
  383. 1600 bpi (`tar' or `cpio') tape reel, or $210.00 for a 1/4-inch 4-track
  384. QIC-24 (`tar' or `cpio') cartridge, to:
  385.      Northwest Computing Support Center
  386.      DR-10, Thomson Hall 35
  387.      University of Washington
  388.      Seattle, Washington 98195
  389. Please make checks payable to the University of Washington.
  390.    Prepaid orders are preferred but purchase orders are acceptable;
  391. however, purchase orders carry an extra charge of $10.00, to pay for
  392. processing.
  393.    Overseas sites: please add to the base cost $20.00 for shipment via
  394. air parcel post, or $30.00 for shipment via courier.
  395.    Please check with the Northwest Computing Support Center at the
  396. University of Washington for current prices and formats:
  397.      telephone:  (206) 543-6259
  398.      email:      elisabet@u.washington.edu
  399. File: texi.info,  Node: New Features,  Next: Command and Variable Index,  Prev: Obtaining TeX,  Up: Top
  400. Second Edition Features
  401. ***********************
  402.    The second edition of the Texinfo manual describes more than 20 new
  403. Texinfo mode commands and more than 50 previously undocumented Texinfo
  404. @-commands.  This edition is more than twice the length of the first
  405. edition.
  406.    Here is a brief description of the new commands.
  407. * Menu:
  408. * New Texinfo Mode Commands::   The updating commands are especially useful.
  409. * New Commands::                Many newly described @-commands.
  410. File: texi.info,  Node: New Texinfo Mode Commands,  Next: New Commands,  Up: New Features
  411. New Texinfo Mode Commands
  412. =========================
  413.    Texinfo mode provides commands and features especially designed for
  414. working with Texinfo files.  More than 20 new commands have been added,
  415. including commands for automatically creating and updating both nodes
  416. and menus.  This is a tedious task when done by hand.
  417.    The keybindings are intended to be somewhat mnemonic.
  418. Update all nodes and menus
  419. --------------------------
  420.    The `texinfo-master-menu' command is the primary command:
  421. `C-c C-u m'
  422. `M-x texinfo-master-menu'
  423.      Create or update a master menu.  With `C-u' as a prefix argument,
  424.      first create or update all nodes and regular menus.
  425. Update Pointers
  426. ---------------
  427. Create or update `Next', `Previous', and `Up' node pointers.
  428. *Note Updating Nodes and Menus::.
  429. `C-c C-u C-n'
  430. `M-x texinfo-update-node'
  431.      Update a node.
  432. `C-c C-u C-e'
  433. `M-x texinfo-every-node-update'
  434.      Update every node in the buffer.
  435. Update Menus
  436. ------------
  437. Create or update menus.
  438. *Note Updating Nodes and Menus::.
  439. `C-c C-u C-m'
  440. `M-x texinfo-make-menu'
  441.      Make or update a menu.
  442. `C-c C-u C-a'
  443. `M-x texinfo-all-menus-update'
  444.      Make or update all the menus in a buffer.  With `C-u' as a prefix
  445.      argument, first update all the nodes.
  446. Insert Title as Description
  447. ---------------------------
  448. Insert a node's chapter or section title in the space for the
  449. description in a menu entry line; position point so you can edit the
  450. insert.  (This command works somewhat differently than the other
  451. insertion commands, which insert only a predefined string.)
  452. *Note Inserting Frequently Used Commands: Inserting.
  453. `C-c C-c C-d'
  454.      Insert title.
  455. Format for Info
  456. ---------------
  457. Provide keybindings both for the Info formatting commands that are
  458. written in Emacs Lisp and for `makeinfo' that is written in C.
  459. *Note Info Formatting::.
  460. Use the Emacs lisp `texinfo-format...' commands:
  461. `C-c C-e C-r'
  462.      Format the region.
  463. `C-c C-e C-b'
  464.      Format the buffer.
  465. Use `makeinfo':
  466. `C-c C-m C-r'
  467.      Format the region.
  468. `C-c C-m C-b'
  469.      Format the buffer.
  470. `C-c C-m C-l'
  471.      Recenter the `makeinfo' output buffer.
  472. `C-c C-m C-k'
  473.      Kill the `makeinfo' formatting job.
  474. Typeset and Print
  475. -----------------
  476. Typeset and print Texinfo documents from within Emacs.
  477. *Note Printing::.
  478. `C-c C-t C-r'
  479.      Run TeX on the region.
  480. `C-c C-t C-b'
  481.      Run TeX on the buffer.
  482. `C-c C-t C-i'
  483.      Run `texindex'.
  484. `C-c C-t C-p'
  485.      Print the DVI file.
  486. `C-c C-t C-q'
  487.      Show the print queue.
  488. `C-c C-t C-d'
  489.      Delete a job from the print queue.
  490. `C-c C-t C-k'
  491.      Kill the current TeX formatting job.
  492. `C-c C-t C-x'
  493.      Quit a currently stopped TeX formatting job.
  494. `C-c C-t C-l'
  495.      Recenter the output buffer.
  496. Other Updating Commands
  497. -----------------------
  498. The "other updating commands" do not have standard keybindings because
  499. they are used less frequently.
  500. *Note Other Updating Commands::.
  501. `M-x texinfo-insert-node-lines'
  502.      Insert missing `@node' lines using section titles as node names.
  503. `M-x texinfo-multiple-files-update'
  504.      Update a multi-file document.  With a numeric prefix, such as `C-u
  505.      8', update  *every* pointer and menu in *all* the files and then
  506.      insert a master menu.
  507. `M-x texinfo-indent-menu-description'
  508.      Indent descriptions in menus.
  509. `M-x texinfo-sequential-node-update'
  510.      Insert node pointers in strict sequence.
  511. File: texi.info,  Node: New Commands,  Prev: New Texinfo Mode Commands,  Up: New Features
  512. New Texinfo @-Commands
  513. ======================
  514.    The second edition of the Texinfo manual describes more than 50
  515. commands that were not described in the first edition.  A third or so
  516. of these commands existed in Texinfo but were not documented in the
  517. manual; the others are new.  Here is a listing, with brief descriptions
  518. of them:
  519. Indexing
  520. --------
  521. Create your own index, and merge indices.
  522. *Note Indices::.
  523. `@defindex INDEX-NAME'
  524.      Define a new index and its indexing command.  See also the
  525.      `@defcodeindex' command.
  526. `@synindex FROM-INDEX INTO-INDEX'
  527.      Merge the FROM-INDEX index into the INTO-INDEX index.  See also
  528.      the `@syncodeindex' command.
  529. Definitions
  530. -----------
  531. Describe functions, variables, macros, commands, user options, special
  532. forms, and other such artifacts in a uniform format.
  533. *Note Definition Commands::.
  534. `@deffn CATEGORY NAME ARGUMENTS...'
  535.      Format a description for functions, interactive commands, and
  536.      similar entities.
  537. `@defvr, @defop, ...'
  538.      15 other related commands.
  539. Glyphs
  540. ------
  541. Indicate the results of evaluation, expansion, printed output, an error
  542. message, equivalence of expressions, and the location of point.
  543. *Note Glyphs::.
  544. `@equiv{}'
  545.      Equivalence:
  546. `@error{}'
  547. `error-->'
  548.      Error message
  549. `@expansion{}'
  550. `==>'
  551.      Macro expansion
  552. `@point{}'
  553. `-!-'
  554.      Position of point
  555. `@print{}'
  556.      Printed output
  557. `@result{}'
  558.      Result of an expression
  559. Page Headings
  560. -------------
  561. Customize page headings.
  562. *Note Headings::.
  563. `@headings ON-OFF-SINGLE-DOUBLE'
  564.      Headings on or off, single, or double-sided.
  565. `@evenfooting [LEFT] @| [CENTER] @| [RIGHT]'
  566.      Footings for even-numbered (left-hand) pages.
  567. `@evenheading, @everyheading, @oddheading, ...'
  568.      Five other related commands.
  569. `@thischapter'
  570.      Insert name of chapter and chapter number.
  571. `@thischaptername, @thisfile, @thistitle, @thispage'
  572.      Related commands.
  573. Formatting
  574. ----------
  575. Format blocks of text.
  576. *Note Quotations and Examples::, and
  577. *Note Making Lists and Tables: Lists and Tables.
  578. `@cartouche'
  579.      Draw rounded box surrounding text (not in Info).
  580. `@enumerate OPTIONAL-ARG'
  581.      Enumerate a list with letters or numbers.
  582. `@exdent LINE-OF-TEXT'
  583.      Remove indentation.
  584. `@flushleft'
  585.      Left justify.
  586. `@flushright'
  587.      Right justify.
  588. `@format'
  589.      Do not narrow nor change font.
  590. `@ftable FORMATTING-COMMAND'
  591. `@vtable FORMATTING-COMMAND'
  592.      Two-column table with indexing.
  593. `@lisp'
  594.      For an example of Lisp code.
  595. `@smallexample'
  596. `@smalllisp'
  597.      Like @table and @lisp but for @smallbook.
  598. Conditionals
  599. ------------
  600. Conditionally format text.
  601. *Note `@set' `@clear' `@value': set clear value.
  602. `@set FLAG [STRING]'
  603.      Set a flag.  Optionally, set value of FLAG to STRING.
  604. `@clear FLAG'
  605.      Clear a flag.
  606. `@value{FLAG}'
  607.      Replace with value to which FLAG is set.
  608. `@ifset FLAG'
  609.      Format, if FLAG is set.
  610. `@ifclear FLAG'
  611.      Ignore, if FLAG is set.
  612. @heading series for Titles
  613. --------------------------
  614. Produce unnumbered headings that do not appear in a table of contents.
  615. *Note Structuring::.
  616. `@heading TITLE'
  617.      Unnumbered section-like heading not listed in the table of
  618.      contents of a printed manual.
  619. `@chapheading, @majorheading, @subheading, @subsubheading'
  620.      Related commands.
  621. Font commands
  622. -------------
  623. *Note Smallcaps::, and
  624. *Note Fonts::.
  625. `@r{TEXT}'
  626.      Print in roman font.
  627. `@sc{TEXT}'
  628.      Print in SMALL CAPS font.
  629. Miscellaneous
  630. -------------
  631. See *Note `@title' `@subtitle' and `@author' Commands: title subtitle
  632. author,
  633. see *Note Overfull hboxes::,
  634. see *Note Footnotes::,
  635. see *Note Format a Dimension: dmn,
  636. see *Note Inserting a Minus Sign: minus,
  637. see *Note Paragraph Indenting: paragraphindent,
  638. see *Note Cross Reference Commands::,
  639. see *Note `@title' `@subtitle' and `@author': title subtitle author, and
  640. see *Note How to Make Your Own Headings: Custom Headings.
  641. `@author AUTHOR'
  642.      Typeset author's name.
  643. `@finalout'
  644.      Produce cleaner printed output.
  645. `@footnotestyle'
  646.      Specify footnote style.
  647. `@dmn{DIMENSION}'
  648.      Format a dimension.
  649. `@minus{}'
  650.      Generate a minus sign.
  651. `@paragraphindent'
  652.      Specify paragraph indentation.
  653. `@ref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}'
  654.      Make a reference.  In the printed manual, the reference does not
  655.      start with the word `see'.
  656. `@title TITLE'
  657.      Typeset TITLE in the alternative title page format.
  658. `@subtitle SUBTITLE'
  659.      Typeset SUBTITLE in the alternative title page format.
  660. `@today{}'
  661.      Insert the current date.
  662. File: texi.info,  Node: Command and Variable Index,  Next: Concept Index,  Prev: New Features,  Up: Top
  663. Command and Variable Index
  664. **************************
  665.    This is an alphabetical list of all the @-commands and several
  666. variables.  To make the list easier to use, the commands are listed
  667. without their preceding `@'.
  668. * Menu:
  669. * * (force line break):                 Line Breaks.
  670. * .  (true end of sentence):            Controlling Spacing.
  671. * : (suppress widening):                Controlling Spacing.
  672. * @ (single @):                         Inserting An Atsign.
  673. * { (single {):                         Inserting Braces.
  674. * } (single }):                         Inserting Braces.
  675. * afourpaper:                           A4 Paper.
  676. * appendix:                             unnumbered & appendix.
  677. * appendixsec:                          unnumberedsec appendixsec heading.
  678. * appendixsection:                      unnumberedsec appendixsec heading.
  679. * appendixsubsec:                       unnumberedsubsec appendixsubsec subheading.
  680. * appendixsubsubsec:                    subsubsection.
  681. * apply:                                Sample Function Definition.
  682. * author:                               title subtitle author.
  683. * b (bold font):                        Fonts.
  684. * buffer-end:                           Def Cmd Template.
  685. * bullet:                               bullet.
  686. * bye:                                  Ending a File.
  687. * bye:                                  File End.
  688. * c (comment):                          Comments.
  689. * cartouche:                            cartouche.
  690. * center:                               titlefont center sp.
  691. * chapheading:                          majorheading & chapheading.
  692. * chapter:                              chapter.
  693. * cindex:                               Indexing Commands.
  694. * cite:                                 cite.
  695. * clear:                                ifset ifclear.
  696. * code:                                 code.
  697. * comment:                              Comments.
  698. * contents:                             Contents.
  699. * copyright:                            copyright symbol.
  700. * copyright:                            Copyright & Permissions.
  701. * cropmarks:                            Cropmarks and Magnification.
  702. * defcodeindex:                         New Indices.
  703. * defcv:                                Abstract Objects.
  704. * deffn:                                Functions Commands.
  705. * deffnx:                               deffnx.
  706. * defindex:                             New Indices.
  707. * defivar:                              Abstract Objects.
  708. * defmac:                               Functions Commands.
  709. * defmethod:                            Abstract Objects.
  710. * defop:                                Abstract Objects.
  711. * defopt:                               Variables Commands.
  712. * defspec:                              Functions Commands.
  713. * deftp:                                Data Types.
  714. * deftypefn:                            Typed Functions.
  715. * deftypefun:                           Typed Functions.
  716. * deftypevar:                           Typed Variables.
  717. * deftypevr:                            Typed Variables.
  718. * defun:                                Functions Commands.
  719. * defvar:                               Variables Commands.
  720. * defvr:                                Variables Commands.
  721. * dfn:                                  dfn.
  722. * display:                              display.
  723. * dmn:                                  dmn.
  724. * dots:                                 dots.
  725. * emph:                                 emph & strong.
  726. * end:                                  Quotations and Examples.
  727. * end:                                  Introducing Lists.
  728. * end titlepage:                        end titlepage.
  729. * enumerate:                            enumerate.
  730. * evenfooting:                          Custom Headings.
  731. * evenheading:                          Custom Headings.
  732. * everyfooting:                         Custom Headings.
  733. * everyheading:                         Custom Headings.
  734. * example:                              example.
  735. * exdent:                               exdent.
  736. * file:                                 file.
  737. * filll:                                Copyright & Permissions.
  738. * finalout:                             Overfull hboxes.
  739. * findex:                               Indexing Commands.
  740. * flushleft:                            flushleft & flushright.
  741. * flushright:                           flushleft & flushright.
  742. * foobar:                               Optional Arguments.
  743. * footnote:                             Footnotes.
  744. * footnotestyle:                        Footnotes.
  745. * format:                               format.
  746. * forward-word:                         Def Cmd Template.
  747. * ftable:                               ftable vtable.
  748. * group:                                group.
  749. * heading:                              unnumberedsec appendixsec heading.
  750. * headings:                             headings on off.
  751. * i (italic font):                      Fonts.
  752. * ifclear:                              ifset ifclear.
  753. * ifinfo:                               Conditionals.
  754. * ifset:                                ifset ifclear.
  755. * iftex:                                Conditionals.
  756. * ignore:                               Comments.
  757. * include:                              Using Include Files.
  758. * Info-validate:                        Running Info-Validate.
  759. * INFOPATH:                             Other Info Directories.
  760. * inforef:                              inforef.
  761. * input (TeX command):                  Minimum.
  762. * isearch-backward:                     deffnx.
  763. * isearch-forward:                      deffnx.
  764. * item:                                 itemize.
  765. * item:                                 table.
  766. * itemize:                              itemize.
  767. * itemx:                                itemx.
  768. * kbd:                                  kbd.
  769. * key:                                  key.
  770. * kindex:                               Indexing Commands.
  771. * lisp:                                 Lisp Example.
  772. * lpr (DVI print command):              Shell Format & Print.
  773. * mag (TeX command):                    Cropmarks and Magnification.
  774. * majorheading:                         majorheading & chapheading.
  775. * makeinfo-buffer:                      makeinfo in Emacs.
  776. * makeinfo-kill-job:                    makeinfo in Emacs.
  777. * makeinfo-recenter-output-buffer:      makeinfo in Emacs.
  778. * makeinfo-region:                      makeinfo in Emacs.
  779. * menu:                                 Menus.
  780. * minus:                                minus.
  781. * need:                                 need.
  782. * next-error:                           makeinfo in Emacs.
  783. * noindent:                             noindent.
  784. * occur:                                Using occur.
  785. * occur-mode-goto-occurrence:           Showing the Structure.
  786. * oddfooting:                           Custom Headings.
  787. * oddheading:                           Custom Headings.
  788. * page:                                 page.
  789. * page-delimiter:                       Showing the Structure.
  790. * paragraphindent:                      paragraphindent.
  791. * pindex:                               Indexing Commands.
  792. * printindex:                           Printing Indices & Menus.
  793. * pxref:                                pxref.
  794. * quotation:                            quotation.
  795. * r (Roman font):                       Fonts.
  796. * ref:                                  ref.
  797. * refill:                               Refilling Paragraphs.
  798. * samp:                                 samp.
  799. * sc (small caps font):                 Smallcaps.
  800. * section:                              section.
  801. * set:                                  ifset ifclear.
  802. * setchapternewpage:                    setchapternewpage.
  803. * setfilename:                          setfilename.
  804. * settitle:                             settitle.
  805. * shortcontents:                        Contents.
  806. * smallbook:                            smallbook.
  807. * smallexample:                         smallexample & smalllisp.
  808. * smalllisp:                            smallexample & smalllisp.
  809. * sp (line spacing):                    sp.
  810. * sp (titlepage line spacing):          titlefont center sp.
  811. * strong:                               emph & strong.
  812. * subheading:                           unnumberedsubsec appendixsubsec subheading.
  813. * subsection:                           subsection.
  814. * subsubheading:                        subsubsection.
  815. * subsubsection:                        subsubsection.
  816. * subtitle:                             title subtitle author.
  817. * summarycontents:                      Contents.
  818. * syncodeindex:                         syncodeindex.
  819. * syncodeindex:                         syncodeindex.
  820. * synindex:                             synindex.
  821. * t (typewriter font):                  Fonts.
  822. * table:                                Two-column Tables.
  823. * tex:                                  Using Ordinary TeX Commands.
  824. * tex (command):                        tex.
  825. * texi2dvi (shell script):              Shell Format & Print.
  826. * texindex:                             Format/Print Hardcopy.
  827. * texindex:                             Shell Format & Print.
  828. * texinfo-all-menus-update:             Updating Commands.
  829. * texinfo-every-node-update:            Updating Commands.
  830. * texinfo-format-buffer:                Info Formatting.
  831. * texinfo-format-buffer:                texinfo-format commands.
  832. * texinfo-format-buffer:                texinfo-format commands.
  833. * texinfo-format-region:                texinfo-format commands.
  834. * texinfo-format-region:                texinfo-format commands.
  835. * texinfo-format-region:                Info Formatting.
  836. * texinfo-indent-menu-description:      Other Updating Commands.
  837. * texinfo-insert-@code:                 Inserting.
  838. * texinfo-insert-@dfn:                  Inserting.
  839. * texinfo-insert-@end:                  Inserting.
  840. * texinfo-insert-@example:              Inserting.
  841. * texinfo-insert-@item:                 Inserting.
  842. * texinfo-insert-@kbd:                  Inserting.
  843. * texinfo-insert-@node:                 Inserting.
  844. * texinfo-insert-@noindent:             Inserting.
  845. * texinfo-insert-@samp:                 Inserting.
  846. * texinfo-insert-@table:                Inserting.
  847. * texinfo-insert-@var:                  Inserting.
  848. * texinfo-insert-braces:                Inserting.
  849. * texinfo-insert-node-lines:            Other Updating Commands.
  850. * texinfo-make-menu:                    Updating Commands.
  851. * texinfo-master-menu:                  Updating Commands.
  852. * texinfo-multiple-files-update:        texinfo-multiple-files-update.
  853. * texinfo-multiple-files-update (in brief): Other Updating Commands.
  854. * texinfo-sequential-node-update:       Other Updating Commands.
  855. * texinfo-show-structure:               Using texinfo-show-structure.
  856. * texinfo-show-structure:               Showing the Structure.
  857. * texinfo-start-menu-description:       Inserting.
  858. * texinfo-tex-buffer:                   Printing.
  859. * texinfo-tex-print:                    Printing.
  860. * texinfo-tex-region:                   Printing.
  861. * texinfo-update-node:                  Updating Commands.
  862. * TEXINPUTS:                            Preparing for TeX.
  863. * thischapter:                          Custom Headings.
  864. * thischaptername:                      Custom Headings.
  865. * thisfile:                             Custom Headings.
  866. * thispage:                             Custom Headings.
  867. * thistitle:                            Custom Headings.
  868. * tindex:                               Indexing Commands.
  869. * title:                                title subtitle author.
  870. * titlefont:                            titlefont center sp.
  871. * titlepage:                            titlepage.
  872. * today:                                Custom Headings.
  873. * top (@-command):                      makeinfo top command.
  874. * unnumbered:                           unnumbered & appendix.
  875. * unnumberedsec:                        unnumberedsec appendixsec heading.
  876. * unnumberedsubsec:                     unnumberedsubsec appendixsubsec subheading.
  877. * unnumberedsubsubsec:                  subsubsection.
  878. * up-list:                              Inserting.
  879. * value:                                value.
  880. * var:                                  var.
  881. * vindex:                               Indexing Commands.
  882. * vskip:                                Copyright & Permissions.
  883. * vtable:                               ftable vtable.
  884. * w (prevent line break):               w.
  885. * xref:                                 xref.
  886.