This is Info file texi.info, produced by Makeinfo-1.55 from the input file texi.texi. This file documents Texinfo, a documentation system that uses a single source file to produce both on-line information and a printed manual. Copyright (C) 1988, 1990, 1991, 1992, 1993 Free Software Foundation, 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: texi.info, Node: Debugging with TeX, Next: Using texinfo-show-structure, Prev: Debugging with Info, Up: Catching Mistakes Catching Errors with TeX Formatting =================================== You can also catch mistakes when you format a file with TeX. Usually, you do this after you have run `texinfo-format-buffer' (or, better, `makeinfo-buffer') on the same file, because `texinfo-format-buffer' sometimes displays error messages that make more sense than TeX. (*Note Debugging with Info::, for more information.) For example, TeX was run on a Texinfo file, part of which is shown here: ---------- Buffer: texinfo.texi ---------- name of the texinfo file as an extension. The @samp{??} are `wildcards' that cause the shell to substitute all the raw index files. (@xref{sorting indices, for more information about sorting indices.)@refill ---------- Buffer: texinfo.texi ---------- (The cross reference lacks a closing brace.) TeX produced the following output, after which it stopped: ---------- Buffer: *texinfo-tex-shell* ---------- Runaway argument? {sorting indices, for more information about sorting indices.) @refill @ETC. ! Paragraph ended before @xref was complete. @par l.27 ? ---------- Buffer: *texinfo-tex-shell* ---------- In this case, TeX produced an accurate and understandable error message: Paragraph ended before @xref was complete. `@par' is an internal TeX command of no relevance to Texinfo. `l.27' means that TeX detected the problem on line 27 of the Texinfo file. The `?' is the prompt TeX uses in this circumstance. Unfortunately, TeX is not always so helpful, and sometimes you must truly be a Sherlock Holmes to discover what went wrong. In any case, if you run into a problem like this, you can do one of three things. 1. You can tell TeX to continue running and ignore just this error by typing RET at the `?' prompt. 2. You can tell TeX to continue running and to ignore all errors as best it can by typing `r RET' at the `?' prompt. This is often the best thing to do. However, beware: the one error may produce a cascade of additional error messages as its consequences are felt through the rest of the file. (To stop TeX when it is producing such an avalanche of error messages, type `C-d' (or `C-c C-d', if you are running a shell inside Emacs Version 18.)) 3. You can tell TeX to stop this run by typing `x RET' at the `?' prompt. Please note that if you are running TeX inside Emacs, you need to switch to the shell buffer and line at which TeX offers the `?' prompt. Sometimes TeX will format a file without producing error messages even though there is a problem. This usually occurs if a command is not ended but TeX is able to continue processing anyhow. For example, if you fail to end an itemized list with the `@end itemize' command, TeX will write a DVI file that you can print out. The only error message that TeX will give you is the somewhat mysterious comment that (@end occurred inside a group at level 1) However, if you print the DVI file, you will find that the text of the file that follows the itemized list is entirely indented as if it were part of the last item in the itemized list. The error message is the way TeX says that it expected to find an `@end' command somewhere in the file; but that it could not determine where it was needed. Another source of notoriously hard-to-find errors is a missing `@end group' command. If you ever are stumped by incomprehensible errors, look for a missing `@end group' command first. If the Texinfo file lacks header lines, TeX may stop in the beginning of its run and display output that looks like the following. The `*' indicates that TeX is waiting for input. This is TeX, Version 2.0 for Berkeley UNIX (preloaded format=plain-cm 87.10.25) (test.texinfo [1]) * In this case, simply type `\end RET' after the asterisk. Then write the header lines in the Texinfo file and run the TeX command again. (Note the use of the backslash, `\'. TeX uses `\' instead of `@'; and in this circumstance, you are working directly with TeX, not with Texinfo.) File: texi.info, Node: Using texinfo-show-structure, Next: Using occur, Prev: Debugging with TeX, Up: Catching Mistakes Using `texinfo-show-structure' ============================== It is not always easy to keep track of the nodes, chapters, sections, and subsections of a Texinfo file. This is especially true if you are revising or adding to a Texinfo file that someone else has written. In GNU Emacs, in Texinfo mode, the `texinfo-show-structure' command lists all the lines that begin with the @-commands that specify the structure: `@chapter', `@section', `@appendix', and so on. With an argument (`C-u' as prefix argument, if interactive), the command also shows the `@node' lines. The `texinfo-show-structure' command is bound to `C-c C-s' in Texinfo mode, by default. The lines are displayed in a buffer called the `*Occur*' buffer. For example, when `texinfo-show-structure' was run on an earlier version of this appendix, it produced the following: Lines matching "^@\\(chapter \\|sect\\|sub\\|unnum\\|major\\| heading \\|appendix\\)" in buffer texinfo.texi. 4:@appendix Formatting Mistakes 52:@appendixsec Catching Errors with Info Formatting 222:@appendixsec Catching Errors with @TeX{} Formatting 338:@appendixsec Using @code{texinfo-show-structure} 407:@appendixsubsec Using @code{occur} 444:@appendixsec Finding Badly Referenced Nodes 513:@appendixsubsec Running @code{Info-validate} 573:@appendixsubsec Splitting a File Manually This says that lines 4, 52, and 222 of `texinfo.texi' begin with the `@appendix', `@appendixsec', and `@appendixsec' commands respectively. If you move your cursor into the `*Occur*' window, you can position the cursor over one of the lines and use the `C-c C-c' command (`occur-mode-goto-occurrence'), to jump to the corresponding spot in the Texinfo file. *Note Using Occur: (emacs)Other Repeating Search, for more information about `occur-mode-goto-occurrence'. The first line in the `*Occur*' window describes the "regular expression" specified by TEXINFO-HEADING-PATTERN. This regular expression is the pattern that `texinfo-show-structure' looks for. *Note Using Regular Expressions: (emacs)Regexps, for more information. When you invoke the `texinfo-show-structure' command, Emacs will display the structure of the whole buffer. If you want to see the structure of just a part of the buffer, of one chapter, for example, use the `C-x n' (`narrow-to-region') command to mark the region. (*Note Narrowing: (emacs)Narrowing.) This is how the example used above was generated. (To see the whole buffer again, use `C-x w' (`widen').) If you call `texinfo-show-structure' with a prefix argument by typing `C-u C-c C-s', it will list lines beginning with `@node' as well as the lines beginning with the @-sign commands for `@chapter', `@section', and the like. You can remind yourself of the structure of a Texinfo file by looking at the list in the `*Occur*' window; and if you have mis-named a node or left out a section, you can correct the mistake. File: texi.info, Node: Using occur, Next: Running Info-Validate, Prev: Using texinfo-show-structure, Up: Catching Mistakes Using `occur' ============= Sometimes the `texinfo-show-structure' command produces too much information. Perhaps you want to remind yourself of the overall structure of a Texinfo file, and are overwhelmed by the detailed list produced by `texinfo-show-structure'. In this case, you can use the `occur' command directly. To do this, type `M-x occur' and then, when prompted, type a "regexp", a regular expression for the pattern you want to match. (*Note Regular Expressions: (emacs)Regexps.) The `occur' command works from the current location of the cursor in the buffer to the end of the buffer. If you want to run `occur' on the whole buffer, place the cursor at the beginning of the buffer. For example, to see all the lines that contain the word `@chapter' in them, just type `@chapter'. This will produce a list of the chapters. It will also list all the sentences with `@chapter' in the middle of the line. If you want to see only those lines that start with the word `@chapter', type `^@chapter' when prompted by `occur'. If you want to see all the lines that end with a word or phrase, end the last word with a `$'; for example, `catching mistakes$'. This can be helpful when you want to see all the nodes that are part of the same chapter or section and therefore have the same `Up' pointer. *Note Using Occur: (emacs)Other Repeating Search, for more information. File: texi.info, Node: Running Info-Validate, Prev: Using occur, Up: Catching Mistakes Finding Badly Referenced Nodes ============================== You can use the `Info-validate' command to check whether any of the `Next', `Previous', `Up' or other node pointers fail to point to a node. This command checks that every node pointer points to an existing node. The `Info-validate' command works only on Info files, not on Texinfo files. The `makeinfo' program validates pointers automatically, so you do not need to use the `Info-validate' command if you are using `makeinfo'. You only may need to use `Info-validate' if you are unable to run `makeinfo' and instead must create an Info file using `texinfo-format-region' or `texinfo-format-buffer', or if you write an Info file from scratch. * Menu: * Using Info-validate:: How to run `Info-validate'. * Unsplit:: How to create an unsplit file. * Tagifying:: How to tagify a file. * Splitting:: How to split a file manually. File: texi.info, Node: Using Info-validate, Next: Unsplit, Up: Running Info-Validate Running `Info-validate' ----------------------- To use `Info-validate', visit the Info file you wish to check and type: M-x Info-validate (Note that the `Info-validate' command requires an upper case `I'. You may also need to create a tag table before running `Info-validate'. *Note Tagifying::.) If your file is valid, you will receive a message that says "File appears valid". However, if you have a pointer that does not point to a node, error messages will be displayed in a buffer called `*problems in info file*'. For example, `Info-validate' was run on a test file that contained only the first node of this manual. One of the messages said: In node "Overview", invalid Next: Texinfo Mode This meant that the node called `Overview' had a `Next' pointer that did not point to anything (which was true in this case, since the test file had only one node in it). Now suppose we add a node named `Texinfo Mode' to our test case but we do not specify a `Previous' for this node. Then we will get the following error message: In node "Texinfo Mode", should have Previous: Overview This is because every `Next' pointer should be matched by a `Previous' (in the node where the `Next' points) which points back. `Info-validate' also checks that all menu entries and cross references point to actual nodes. Note that `Info-validate' requires a tag table and does not work with files that have been split. (The `texinfo-format-buffer' command automatically splits large files.) In order to use `Info-validate' on a large file, you must run `texinfo-format-buffer' with an argument so that it does not split the Info file; and you must create a tag table for the unsplit file. File: texi.info, Node: Unsplit, Next: Tagifying, Prev: Using Info-validate, Up: Running Info-Validate Creating an Unsplit File ------------------------ You can run `Info-validate' only on a single Info file that has a tag table. The command will not work on the indirect subfiles that are generated when a master file is split. If you have a large file (longer than 70,000 bytes or so), you need to run the `texinfo-format-buffer' or `makeinfo-buffer' command in such a way that it does not create indirect subfiles. You will also need to create a tag table for the Info file. After you have done this, you can run `Info-validate' and look for badly referenced nodes. The first step is to create an unsplit Info file. To prevent `texinfo-format-buffer' from splitting a Texinfo file into smaller Info files, give a prefix to the `M-x texinfo-format-buffer' command: C-u M-x texinfo-format-buffer or else C-u C-c C-e C-b When you do this, Texinfo will not split the file and will not create a tag table for it. File: texi.info, Node: Tagifying, Next: Splitting, Prev: Unsplit, Up: Running Info-Validate Tagifying a File ---------------- After creating an unsplit Info file, you must create a tag table for it. Visit the Info file you wish to tagify and type: M-x Info-tagify (Note the upper case I in `Info-tagify'.) This creates an Info file with a tag table that you can validate. The third step is to validate the Info file: M-x Info-validate (Note the upper case I in `Info-validate'.) In brief, the steps are: C-u M-x texinfo-format-buffer M-x Info-tagify M-x Info-validate After you have validated the node structure, you will be able to rerun `texinfo-format-buffer' in the normal way so it will construct a tag table and split the file automatically, or you can make the tag table and split the file manually. File: texi.info, Node: Splitting, Prev: Tagifying, Up: Running Info-Validate Splitting a File Manually ------------------------- You should split a large file or else let the `texinfo-format-buffer' or `makeinfo-buffer' command do it for you automatically. (Generally you will let one of the formatting commands do this job for you. *Note Create an Info File::.) The split-off files are called the indirect subfiles. Info files are split to save memory. With smaller files, Emacs does not have make such a large buffer to hold the information. If an Info file has more than 30 nodes, you should also make a tag table for it. *Note Using Info-validate::, for information about creating a tag table. (Again, tag tables are usually created automatically by the formatting command; you only need to create a tag table yourself if you are doing the job manually. Most likely, you will do this for a large, unsplit file on which you have run `Info-validate'.) Visit the Info file you wish to tagify and split and type the two commands: M-x Info-tagify M-x Info-split (Note that the `I' in `Info' is upper case.) When you use the `Info-split' command, the buffer is modified into a (small) Info file which lists the indirect subfiles. This file should be saved in place of the original visited file. The indirect subfiles are written in the same directory the original file is in, with names generated by appending `-' and a number to the original file name. The primary file still functions as an Info file, but it contains just the tag table and a directory of subfiles. File: texi.info, 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) 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 `texinfo-format-region' nor `texinfo-format-buffer' 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 both the `texinfo-format-region' command and the `texinfo-format-buffer' command 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. ---------- Footnotes ---------- (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: texi.info, 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 PlainTeX.) 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: texi.info, 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 from the University of Washington for a distribution fee. To order a full distribution, send $200.00 for a 1/2-inch 9-track 1600 bpi (`tar' or `cpio') tape reel, or $210.00 for a 1/4-inch 4-track QIC-24 (`tar' or `cpio') cartridge, to: Northwest Computing Support Center DR-10, Thomson Hall 35 University of Washington Seattle, Washington 98195 Please make checks payable to the University of Washington. Prepaid orders are preferred but purchase orders are acceptable; however, purchase orders carry an extra charge of $10.00, to pay for processing. Overseas sites: please add to the base cost $20.00 for shipment via air parcel post, or $30.00 for shipment via courier. Please check with the Northwest Computing Support Center at the University of Washington for current prices and formats: telephone: (206) 543-6259 email: elisabet@u.washington.edu File: texi.info, 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: texi.info, Node: New Texinfo Mode Commands, Next: New Commands, 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-r' Run TeX on the region. `C-c C-t C-b' Run TeX on the buffer. `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: texi.info, 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 Overfull hboxes::, see *Note Footnotes::, see *Note Format a Dimension: dmn, 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' Specify footnote style. `@dmn{DIMENSION}' Format a dimension. `@minus{}' Generate a minus sign. `@paragraphindent' Specify paragraph indentation. `@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: texi.info, 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 and several variables. To make the list easier to use, the commands are listed without their preceding `@'. * Menu: * * (force line break): Line Breaks. * . (true end of sentence): Controlling Spacing. * : (suppress widening): Controlling Spacing. * @ (single @): Inserting An Atsign. * { (single {): Inserting Braces. * } (single }): Inserting Braces. * 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: Ending a File. * bye: File End. * c (comment): Comments. * cartouche: cartouche. * center: titlefont center sp. * chapheading: majorheading & chapheading. * chapter: chapter. * cindex: Indexing Commands. * cite: cite. * clear: ifset ifclear. * code: code. * comment: Comments. * contents: Contents. * copyright: copyright symbol. * copyright: Copyright & Permissions. * cropmarks: Cropmarks and Magnification. * defcodeindex: New Indices. * defcv: Abstract Objects. * deffn: Functions Commands. * deffnx: deffnx. * defindex: New Indices. * 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. * display: display. * dmn: dmn. * dots: dots. * emph: emph & strong. * end: Quotations and Examples. * end: Introducing Lists. * end titlepage: end titlepage. * enumerate: enumerate. * evenfooting: Custom Headings. * evenheading: Custom Headings. * everyfooting: Custom Headings. * everyheading: Custom Headings. * example: example. * 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: Footnotes. * format: format. * forward-word: Def Cmd Template. * ftable: ftable vtable. * group: group. * heading: unnumberedsec appendixsec heading. * headings: headings on off. * i (italic font): Fonts. * ifclear: ifset ifclear. * ifinfo: Conditionals. * ifset: ifset ifclear. * iftex: Conditionals. * ignore: Comments. * include: Using Include Files. * Info-validate: Running Info-Validate. * INFOPATH: Other Info Directories. * inforef: inforef. * input (TeX command): Minimum. * isearch-backward: deffnx. * isearch-forward: deffnx. * item: itemize. * item: table. * itemize: itemize. * itemx: itemx. * kbd: kbd. * key: key. * kindex: Indexing Commands. * lisp: Lisp Example. * lpr (DVI print command): Shell Format & Print. * 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. * menu: Menus. * minus: minus. * need: need. * next-error: makeinfo in Emacs. * noindent: noindent. * occur: Using occur. * occur-mode-goto-occurrence: Showing the Structure. * oddfooting: Custom Headings. * oddheading: Custom Headings. * page: page. * page-delimiter: Showing the Structure. * paragraphindent: paragraphindent. * pindex: Indexing Commands. * printindex: Printing Indices & Menus. * pxref: pxref. * quotation: quotation. * r (Roman font): Fonts. * ref: ref. * refill: Refilling Paragraphs. * samp: samp. * sc (small caps font): Smallcaps. * section: section. * set: ifset ifclear. * setchapternewpage: setchapternewpage. * setfilename: setfilename. * settitle: settitle. * shortcontents: Contents. * smallbook: smallbook. * smallexample: smallexample & smalllisp. * smalllisp: smallexample & smalllisp. * sp (line spacing): sp. * sp (titlepage line spacing): titlefont center sp. * strong: emph & strong. * subheading: unnumberedsubsec appendixsubsec subheading. * subsection: subsection. * subsubheading: subsubsection. * subsubsection: subsubsection. * subtitle: title subtitle author. * summarycontents: Contents. * syncodeindex: syncodeindex. * syncodeindex: syncodeindex. * synindex: synindex. * t (typewriter font): Fonts. * table: Two-column Tables. * tex: Using Ordinary TeX Commands. * tex (command): tex. * texi2dvi (shell script): Shell Format & Print. * texindex: Format/Print Hardcopy. * texindex: Shell Format & Print. * texinfo-all-menus-update: Updating Commands. * texinfo-every-node-update: Updating Commands. * texinfo-format-buffer: Info Formatting. * texinfo-format-buffer: texinfo-format commands. * texinfo-format-buffer: texinfo-format commands. * texinfo-format-region: texinfo-format commands. * texinfo-format-region: 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: 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. * TEXINPUTS: Preparing for TeX. * thischapter: Custom Headings. * thischaptername: Custom Headings. * thisfile: Custom Headings. * thispage: Custom Headings. * thistitle: Custom Headings. * tindex: Indexing Commands. * title: title subtitle author. * titlefont: titlefont center sp. * titlepage: titlepage. * today: Custom Headings. * top (@-command): makeinfo top command. * unnumbered: unnumbered & appendix. * unnumberedsec: unnumberedsec appendixsec heading. * unnumberedsubsec: unnumberedsubsec appendixsubsec subheading. * unnumberedsubsubsec: subsubsection. * up-list: Inserting. * value: value. * var: var. * vindex: Indexing Commands. * vskip: Copyright & Permissions. * vtable: ftable vtable. * w (prevent line break): w. * xref: xref.