This is Info file texinfo, produced by Makeinfo version 1.68 from the input file ../texi/texinfo.texi. index (arbitrarily chosen to be the concept index). INFO-DIR-SECTION Texinfo documentation system START-INFO-DIR-ENTRY * Texinfo: (texinfo). The GNU documentation format. * install-info: (texinfo)Invoking install-info. Updating info/dir entries. * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation. * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files. END-INFO-DIR-ENTRY This file documents Texinfo, a documentation system that can produce both on-line information and a printed manual from a single source file. Copyright (C) 1988, 90, 91, 92, 93, 95, 1996 Free Software Foundation, Inc. This is the second edition of the Texinfo documentation, and is consistent with version 2 of `texinfo.tex'. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.  File: texinfo, Node: Refilling Paragraphs, Next: Command Syntax, Prev: Catching Mistakes, Up: Top Refilling Paragraphs ******************** The `@refill' command refills and, optionally, indents the first line of a paragraph.(1) (*note Refilling Paragraphs-Footnotes::) The `@refill' command is no longer important, but we describe it here because you once needed it. You will see it in many old Texinfo files. Without refilling, paragraphs containing long @-constructs may look bad after formatting because the formatter removes @-commands and shortens some lines more than others. In the past, neither the `texinfo-format-region' command nor the `texinfo-format-buffer' command refilled paragraphs automatically. The `@refill' command had to be written at the end of every paragraph to cause these formatters to fill them. (Both TeX and `makeinfo' have always refilled paragraphs automatically.) Now, all the Info formatters automatically fill and indent those paragraphs that need to be filled and indented. The `@refill' command causes `texinfo-format-region' and `texinfo-format-buffer' to refill a paragraph in the Info file *after* all the other processing has been done. For this reason, you can not use `@refill' with a paragraph containing either `@*' or `@w{ ... }' since the refilling action will override those two commands. The `texinfo-format-region' and `texinfo-format-buffer' commands now automatically append `@refill' to the end of each paragraph that should be filled. They do not append `@refill' to the ends of paragraphs that contain `@*' or `@w{ ...}' and therefore do not refill or indent them.  File: texinfo, Node: Refilling Paragraphs-Footnotes, Up: Refilling Paragraphs (1) Perhaps the command should have been called the `@refillandindent' command, but `@refill' is shorter and the name was chosen before indenting was possible.  File: texinfo, Node: Command Syntax, Next: Obtaining TeX, Prev: Refilling Paragraphs, Up: Top @-Command Syntax **************** The character `@' is used to start special Texinfo commands. (It has the same meaning that `\' has in plain TeX.) Texinfo has four types of @-command: 1. Non-alphabetic commands. These commands consist of an @ followed by a punctuation mark or other character that is not part of the alphabet. Non-alphabetic commands are almost always part of the text within a paragraph, and never take any argument. The two characters (@ and the other one) are complete in themselves; none is followed by braces. The non-alphabetic commands are: `@.', `@:', `@*', `@@', `@{', and `@}'. 2. Alphabetic commands that do not require arguments. These commands start with @ followed by a word followed by left- and right-hand braces. These commands insert special symbols in the document; they do not require arguments. For example, `@dots{}' => `...', `@equiv{}' => `==', `@TeX{}' => `TeX', and `@bullet{}' => `*'. 3. Alphabetic commands that require arguments within braces. These commands start with @ followed by a letter or a word, followed by an argument within braces. For example, the command `@dfn' indicates the introductory or defining use of a term; it is used as follows: `In Texinfo, @@-commands are @dfn{mark-up} commands.' 4. Alphabetic commands that occupy an entire line. These commands occupy an entire line. The line starts with @, followed by the name of the command (a word); for example, `@center' or `@cindex'. If no argument is needed, the word is followed by the end of the line. If there is an argument, it is separated from the command name by a space. Braces are not used. Thus, the alphabetic commands fall into classes that have different argument syntaxes. You cannot tell to which class a command belongs by the appearance of its name, but you can tell by the command's meaning: if the command stands for a glyph, it is in class 2 and does not require an argument; if it makes sense to use the command together with other text as part of a paragraph, the command is in class 3 and must be followed by an argument in braces; otherwise, it is in class 4 and uses the rest of the line as its argument. The purpose of having a different syntax for commands of classes 3 and 4 is to make Texinfo files easier to read, and also to help the GNU Emacs paragraph and filling commands work properly. There is only one exception to this rule: the command `@refill', which is always used at the end of a paragraph immediately following the final period or other punctuation character. `@refill' takes no argument and does *not* require braces. `@refill' never confuses the Emacs paragraph commands because it cannot appear at the beginning of a line.  File: texinfo, Node: Obtaining TeX, Next: New Features, Prev: Command Syntax, Up: Top How to Obtain TeX ***************** TeX is freely redistributable. You can obtain TeX for Unix systems via anonymous ftp or on tape or CD-ROM. The core material consists of Karl Berry's Web2c TeX distribution. On-line retrieval instructions are available from either: `ftp://ftp.tug.org/tex/unixtex.ftp' `http://www.tug.org/unixtex.ftp' The Free Software Foundation provides a core distribution on its Source Code CD-ROM suitable for printing Texinfo manuals; the University of Washington maintains and supports a tape distribution; the TeX Users Group co-sponsors a complete CD-ROM TeX distribution. For the FSF Source Code CD-ROM, please contact: Free Software Foundation, Inc. 59 Temple Place Suite 330 Boston, MA 02111-1307 USA Telephone: +1-617-542-5942 Fax: (including Japan) +1-617-542-2652 Free Dial Fax (in Japan): 0031-13-2473 (KDD) 0066-3382-0158 (IDC) Electronic mail: `gnu@prep.ai.mit.edu' To order a full distribution on CD-ROM, please see: `http://www.tug.org/tex-live.html' (The distribution is also available by FTP; see the URL's above.) To order a full distribution from the University of Washington on either a 1/4in 4-track QIC-24 cartridge or a 4mm DAT cartridge, send $210 to: Pierre A. MacKay Denny Hall, Mail Stop DH-10 University of Washington Seattle, WA 98195 USA Telephone: +1--206--543--2268 Electronic mail: `mackay@cs.washington.edu' Please make checks payable to the University of Washington. Checks must be in U.S. dollars, drawn on a U.S. bank. Prepaid orders are the only orders that can now be handled. Overseas sites: please add to the base cost, if desired, $20.00 for shipment via air parcel post, or $30.00 for shipment via courier. Please check with the above for current prices and formats.  File: texinfo, Node: New Features, Next: Command and Variable Index, Prev: Obtaining TeX, Up: Top Second Edition Features *********************** The second edition of the Texinfo manual describes more than 20 new Texinfo mode commands and more than 50 previously undocumented Texinfo @-commands. This edition is more than twice the length of the first edition. Here is a brief description of the new commands. * Menu: * New Texinfo Mode Commands:: The updating commands are especially useful. * New Commands:: Many newly described @-commands.  File: texinfo, Node: New Texinfo Mode Commands, Next: New Commands, Prev: New Features, Up: New Features New Texinfo Mode Commands ========================= Texinfo mode provides commands and features especially designed for working with Texinfo files. More than 20 new commands have been added, including commands for automatically creating and updating both nodes and menus. This is a tedious task when done by hand. The keybindings are intended to be somewhat mnemonic. Update all nodes and menus -------------------------- The `texinfo-master-menu' command is the primary command: `C-c C-u m' `M-x texinfo-master-menu' Create or update a master menu. With `C-u' as a prefix argument, first create or update all nodes and regular menus. Update Pointers --------------- Create or update `Next', `Previous', and `Up' node pointers. *Note Updating Nodes and Menus::. `C-c C-u C-n' `M-x texinfo-update-node' Update a node. `C-c C-u C-e' `M-x texinfo-every-node-update' Update every node in the buffer. Update Menus ------------ Create or update menus. *Note Updating Nodes and Menus::. `C-c C-u C-m' `M-x texinfo-make-menu' Make or update a menu. `C-c C-u C-a' `M-x texinfo-all-menus-update' Make or update all the menus in a buffer. With `C-u' as a prefix argument, first update all the nodes. Insert Title as Description --------------------------- Insert a node's chapter or section title in the space for the description in a menu entry line; position point so you can edit the insert. (This command works somewhat differently than the other insertion commands, which insert only a predefined string.) *Note Inserting Frequently Used Commands: Inserting. `C-c C-c C-d' Insert title. Format for Info --------------- Provide keybindings both for the Info formatting commands that are written in Emacs Lisp and for `makeinfo' that is written in C. *Note Info Formatting::. Use the Emacs lisp `texinfo-format...' commands: `C-c C-e C-r' Format the region. `C-c C-e C-b' Format the buffer. Use `makeinfo': `C-c C-m C-r' Format the region. `C-c C-m C-b' Format the buffer. `C-c C-m C-l' Recenter the `makeinfo' output buffer. `C-c C-m C-k' Kill the `makeinfo' formatting job. Typeset and Print ----------------- Typeset and print Texinfo documents from within Emacs. *Note Printing::. `C-c C-t C-b' Run `texi2dvi' on the buffer. `C-c C-t C-r' Run TeX on the region. `C-c C-t C-i' Run `texindex'. `C-c C-t C-p' Print the DVI file. `C-c C-t C-q' Show the print queue. `C-c C-t C-d' Delete a job from the print queue. `C-c C-t C-k' Kill the current TeX formatting job. `C-c C-t C-x' Quit a currently stopped TeX formatting job. `C-c C-t C-l' Recenter the output buffer. Other Updating Commands ----------------------- The "other updating commands" do not have standard keybindings because they are used less frequently. *Note Other Updating Commands::. `M-x texinfo-insert-node-lines' Insert missing `@node' lines using section titles as node names. `M-x texinfo-multiple-files-update' Update a multi-file document. With a numeric prefix, such as `C-u 8', update *every* pointer and menu in *all* the files and then insert a master menu. `M-x texinfo-indent-menu-description' Indent descriptions in menus. `M-x texinfo-sequential-node-update' Insert node pointers in strict sequence.  File: texinfo, Node: New Commands, Prev: New Texinfo Mode Commands, Up: New Features New Texinfo @-Commands ====================== The second edition of the Texinfo manual describes more than 50 commands that were not described in the first edition. A third or so of these commands existed in Texinfo but were not documented in the manual; the others are new. Here is a listing, with brief descriptions of them: Indexing -------- Create your own index, and merge indices. *Note Indices::. `@defindex INDEX-NAME' Define a new index and its indexing command. See also the `@defcodeindex' command. `@synindex FROM-INDEX INTO-INDEX' Merge the FROM-INDEX index into the INTO-INDEX index. See also the `@syncodeindex' command. Definitions ----------- Describe functions, variables, macros, commands, user options, special forms, and other such artifacts in a uniform format. *Note Definition Commands::. `@deffn CATEGORY NAME ARGUMENTS...' Format a description for functions, interactive commands, and similar entities. `@defvr, @defop, ...' 15 other related commands. Glyphs ------ Indicate the results of evaluation, expansion, printed output, an error message, equivalence of expressions, and the location of point. *Note Glyphs::. `@equiv{}' `==' Equivalence: `@error{}' `error-->' Error message `@expansion{}' `==>' Macro expansion `@point{}' `-!-' Position of point `@print{}' `-|' Printed output `@result{}' `=>' Result of an expression Page Headings ------------- Customize page headings. *Note Headings::. `@headings ON-OFF-SINGLE-DOUBLE' Headings on or off, single, or double-sided. `@evenfooting [LEFT] @| [CENTER] @| [RIGHT]' Footings for even-numbered (left-hand) pages. `@evenheading, @everyheading, @oddheading, ...' Five other related commands. `@thischapter' Insert name of chapter and chapter number. `@thischaptername, @thisfile, @thistitle, @thispage' Related commands. Formatting ---------- Format blocks of text. *Note Quotations and Examples::, and *Note Making Lists and Tables: Lists and Tables. `@cartouche' Draw rounded box surrounding text (not in Info). `@enumerate OPTIONAL-ARG' Enumerate a list with letters or numbers. `@exdent LINE-OF-TEXT' Remove indentation. `@flushleft' Left justify. `@flushright' Right justify. `@format' Do not narrow nor change font. `@ftable FORMATTING-COMMAND' `@vtable FORMATTING-COMMAND' Two-column table with indexing. `@lisp' For an example of Lisp code. `@smallexample' `@smalllisp' Like @table and @lisp but for @smallbook. Conditionals ------------ Conditionally format text. *Note `@set' `@clear' `@value': set clear value. `@set FLAG [STRING]' Set a flag. Optionally, set value of FLAG to STRING. `@clear FLAG' Clear a flag. `@value{FLAG}' Replace with value to which FLAG is set. `@ifset FLAG' Format, if FLAG is set. `@ifclear FLAG' Ignore, if FLAG is set. @heading series for Titles -------------------------- Produce unnumbered headings that do not appear in a table of contents. *Note Structuring::. `@heading TITLE' Unnumbered section-like heading not listed in the table of contents of a printed manual. `@chapheading, @majorheading, @subheading, @subsubheading' Related commands. Font commands ------------- *Note Smallcaps::, and *Note Fonts::. `@r{TEXT}' Print in roman font. `@sc{TEXT}' Print in SMALL CAPS font. Miscellaneous ------------- See *Note `@title' `@subtitle' and `@author' Commands: title subtitle author, see *Note Customized Highlighting::, see *Note Overfull hboxes::, see *Note Footnotes::, see *Note Format a Dimension: dmn, see *Note `@raisesections' and `@lowersections': Raise/lower sections, see *Note `@math': Inserting Mathematical Expressions: math. see *Note Inserting a Minus Sign: minus, see *Note Paragraph Indenting: paragraphindent, see *Note Cross Reference Commands::, see *Note `@title' `@subtitle' and `@author': title subtitle author, and see *Note How to Make Your Own Headings: Custom Headings. `@author AUTHOR' Typeset author's name. `@finalout' Produce cleaner printed output. `@footnotestyle END-OR-SEPARATE' Specify footnote style. `@dmn{DIMENSION}' Format a dimension. `@global@letNEW-CMD=EXISTING-CMD' Define a highlighting command for TeX. (TeX only.) `@lowersections' Reduce hierarchical level of sectioning commands. `@math{MATHEMATICAL-EXPRESSION}' Format a mathematical expression. `@minus{}' Generate a minus sign. `@paragraphindent ASIS-OR-NUMBER' Specify paragraph indentation. `@raisesections' Raise hierarchical level of sectioning commands. `@ref{NODE-NAME, [ENTRY], [TOPIC-OR-TITLE], [INFO-FILE], [MANUAL]}' Make a reference. In the printed manual, the reference does not start with the word `see'. `@title TITLE' Typeset TITLE in the alternative title page format. `@subtitle SUBTITLE' Typeset SUBTITLE in the alternative title page format. `@today{}' Insert the current date.  File: texinfo, Node: Command and Variable Index, Next: Concept Index, Prev: New Features, Up: Top Command and Variable Index ************************** This is an alphabetical list of all the @-commands, assorted Emacs Lisp functions, and several variables. To make the list easier to use, the commands are listed without their preceding `@'. * Menu: * ! (end of sentence): Ending a Sentence. * ": Inserting Accents. * ': Inserting Accents. * (newline): Multiple Spaces. * (space): Multiple Spaces. * (tab): Multiple Spaces. * * (force line break): Line Breaks. * ,: Inserting Accents. * -: - and hyphenation. * . (end of sentence): Ending a Sentence. * : (suppress widening): Not Ending a Sentence. * =: Inserting Accents. * ? (end of sentence): Ending a Sentence. * @ (single @): Inserting An Atsign. * ^: Inserting Accents. * `: Inserting Accents. * AA: Inserting Accents. * aa: Inserting Accents. * AE: Inserting Accents. * ae: Inserting Accents. * afourpaper: A4 Paper. * appendix: unnumbered & appendix. * appendixsec: unnumberedsec appendixsec heading. * appendixsection: unnumberedsec appendixsec heading. * appendixsubsec: unnumberedsubsec appendixsubsec subheading. * appendixsubsubsec: subsubsection. * apply: Sample Function Definition. * author: title subtitle author. * b (bold font): Fonts. * buffer-end: Def Cmd Template. * bullet: bullet. * bye <1>: File End. * bye: Ending a File. * c (comment): Comments. * cartouche: cartouche. * center: titlefont center sp. * centerchap: chapter. * chapheading: majorheading & chapheading. * chapter: chapter. * cindex: Indexing Commands. * cite: cite. * clear: ifset ifclear. * code: code. * columnfractions: Multitable Column Widths. * comment: Comments. * contents: Contents. * copyright <1>: copyright symbol. * copyright: Copyright & Permissions. * cropmarks: Cropmarks and Magnification. * defcodeindex: New Indices. * defcv: Abstract Objects. * deffn: Functions Commands. * deffnx: deffnx. * defindex: New Indices. * definfoenclose: Customized Highlighting. * defivar: Abstract Objects. * defmac: Functions Commands. * defmethod: Abstract Objects. * defop: Abstract Objects. * defopt: Variables Commands. * defspec: Functions Commands. * deftp: Data Types. * deftypefn: Typed Functions. * deftypefun: Typed Functions. * deftypevar: Typed Variables. * deftypevr: Typed Variables. * defun: Functions Commands. * defvar: Variables Commands. * defvr: Variables Commands. * dfn: dfn. * dircategory: Installing Dir Entries. * direntry: Installing Dir Entries. * display: display. * dmn: dmn. * dotaccent: Inserting Accents. * dotless: Inserting Accents. * dots: dots. * email: email. * emph: emph & strong. * end <1>: Introducing Lists. * end: Quotations and Examples. * end titlepage: end titlepage. * enumerate: enumerate. * evenfooting: Custom Headings. * evenheading: Custom Headings. * everyfooting: Custom Headings. * everyheading: Custom Headings. * example: example. * exclamdown: Inserting Accents. * exdent: exdent. * file: file. * filll: Copyright & Permissions. * finalout: Overfull hboxes. * findex: Indexing Commands. * flushleft: flushleft & flushright. * flushright: flushleft & flushright. * foobar: Optional Arguments. * footnote: Footnotes. * footnotestyle: Footnote Styles. * format: format. * forward-word: Def Cmd Template. * ftable: ftable vtable. * group: group. * H: Inserting Accents. * heading: unnumberedsec appendixsec heading. * headings: headings on off. * hyphenation: - and hyphenation. * i (italic font): Fonts. * ifclear: ifset ifclear. * ifhtml: Conditionals. * ifinfo: Conditionals. * ifset: ifset ifclear. * iftex: Conditionals. * ignore: Comments. * include: Using Include Files. * Info-validate: Running Info-Validate. * inforef: inforef. * input (TeX command): Minimum. * isearch-backward: deffnx. * isearch-forward: deffnx. * item <1>: Multitable Rows. * item <2>: table. * item: itemize. * itemize: itemize. * itemx: itemx. * kbd: kbd. * key: key. * kindex: Indexing Commands. * L: Inserting Accents. * l: Inserting Accents. * lisp: Lisp Example. * lowersections: Raise/lower sections. * macro: Defining Macros. * mag (TeX command): Cropmarks and Magnification. * majorheading: majorheading & chapheading. * makeinfo-buffer: makeinfo in Emacs. * makeinfo-kill-job: makeinfo in Emacs. * makeinfo-recenter-output-buffer: makeinfo in Emacs. * makeinfo-region: makeinfo in Emacs. * math: math. * menu: Menus. * minus: minus. * multitable: Multi-column Tables. * need: need. * next-error: makeinfo in Emacs. * noindent: noindent. * O: Inserting Accents. * o: Inserting Accents. * occur: Using occur. * occur-mode-goto-occurrence: Showing the Structure. * oddfooting: Custom Headings. * oddheading: Custom Headings. * OE: Inserting Accents. * oe: Inserting Accents. * page: page. * paragraphindent: paragraphindent. * pindex: Indexing Commands. * pounds: pounds. * printindex: Printing Indices & Menus. * pxref: pxref. * questiondown: Inserting Accents. * quotation: quotation. * r (Roman font): Fonts. * raisesections: Raise/lower sections. * ref: ref. * refill: Refilling Paragraphs. * ringaccent: Inserting Accents. * samp: samp. * sc (small caps font): Smallcaps. * section: section. * set: ifset ifclear. * setchapternewpage: setchapternewpage. * setfilename: setfilename. * settitle: settitle. * shortcontents: Contents. * shorttitlepage: titlepage. * smallbook: smallbook. * smallexample: smallexample & smalllisp. * smalllisp: smallexample & smalllisp. * sp (line spacing): sp. * sp (titlepage line spacing): titlefont center sp. * ss: Inserting Accents. * strong: emph & strong. * subheading: unnumberedsubsec appendixsubsec subheading. * subsection: subsection. * subsubheading: subsubsection. * subsubsection: subsubsection. * subtitle: title subtitle author. * summarycontents: Contents. * syncodeindex: syncodeindex. * synindex: synindex. * t (typewriter font): Fonts. * table: Two-column Tables. * tex: Using Ordinary TeX Commands. * tex (command): tex. * texinfo-all-menus-update: Updating Commands. * texinfo-every-node-update: Updating Commands. * texinfo-format-buffer <1>: texinfo-format commands. * texinfo-format-buffer: Info Formatting. * texinfo-format-region <1>: texinfo-format commands. * texinfo-format-region: Info Formatting. * texinfo-indent-menu-description: Other Updating Commands. * texinfo-insert-@code: Inserting. * texinfo-insert-@dfn: Inserting. * texinfo-insert-@end: Inserting. * texinfo-insert-@example: Inserting. * texinfo-insert-@item: Inserting. * texinfo-insert-@kbd: Inserting. * texinfo-insert-@node: Inserting. * texinfo-insert-@noindent: Inserting. * texinfo-insert-@samp: Inserting. * texinfo-insert-@table: Inserting. * texinfo-insert-@var: Inserting. * texinfo-insert-braces: Inserting. * texinfo-insert-node-lines: Other Updating Commands. * texinfo-make-menu: Updating Commands. * texinfo-master-menu: Updating Commands. * texinfo-multiple-files-update: texinfo-multiple-files-update. * texinfo-multiple-files-update (in brief): Other Updating Commands. * texinfo-sequential-node-update: Other Updating Commands. * texinfo-show-structure <1>: Using texinfo-show-structure. * texinfo-show-structure: Showing the Structure. * texinfo-start-menu-description: Inserting. * texinfo-tex-buffer: Printing. * texinfo-tex-print: Printing. * texinfo-tex-region: Printing. * texinfo-update-node: Updating Commands. * thischapter: Custom Headings. * thischaptername: Custom Headings. * thisfile: Custom Headings. * thispage: Custom Headings. * thistitle: Custom Headings. * tieaccent: Inserting Accents. * tindex: Indexing Commands. * title: title subtitle author. * titlefont: titlefont center sp. * titlepage: titlepage. * today: Custom Headings. * top (@-command): makeinfo top command. * u: Inserting Accents. * ubaraccent: Inserting Accents. * udotaccent: Inserting Accents. * unmacro: Defining Macros. * unnumbered: unnumbered & appendix. * unnumberedsec: unnumberedsec appendixsec heading. * unnumberedsubsec: unnumberedsubsec appendixsubsec subheading. * unnumberedsubsubsec: subsubsection. * up-list: Inserting. * url: url. * v: Inserting Accents. * value: value. * var: var. * vindex: Indexing Commands. * vskip: Copyright & Permissions. * vtable: ftable vtable. * w (prevent line break): w. * xref: xref. * { (single {): Inserting Braces. * } (single }): Inserting Braces. * ~: Inserting Accents.