comparison man/texinfo.texi @ 50:ee648375d8d6 r19-16b91

Import from CVS: tag r19-16b91
author cvs
date Mon, 13 Aug 2007 08:56:41 +0200
parents 56c54cf7c5b6
children 131b0175ea99
comparison
equal deleted inserted replaced
49:b46643e427ac 50:ee648375d8d6
1 \input texinfo.tex @c -*-texinfo-*- 1 \input texinfo.tex @c -*-texinfo-*-
2 @comment %**start of header 2 @c $Id: texinfo.texi,v 1.4 1997/08/30 03:56:40 steve Exp $
3 @c %**start of header
4
5 @c All text is ignored before the setfilename.
3 @setfilename texinfo 6 @setfilename texinfo
4 @settitle Texinfo @value{edition} 7 @settitle Texinfo @value{edition}
8
9 @set edition 2.24
10 @set update-month July 1997
11 @set update-date 25 @value{update-month}
12
5 @c Define a new index for options. 13 @c Define a new index for options.
6 @defcodeindex op 14 @defcodeindex op
7 @c Put everything except function (command, in this case) names in one 15 @c Put everything except function (command, in this case) names in one
8 index (arbitrarily chosen to be the concept index). 16 @c index (arbitrarily chosen to be the concept index).
9 @syncodeindex op cp 17 @syncodeindex op cp
10 @syncodeindex vr cp 18 @syncodeindex vr cp
11 @syncodeindex pg cp 19 @syncodeindex pg cp
20
12 @footnotestyle separate 21 @footnotestyle separate
13 @paragraphindent 2 22 @paragraphindent 2
14 @finalout 23 @finalout
15 @comment %**end of header 24 @comment %**end of header
16 @comment $Id: texinfo.texi,v 1.3 1997/08/21 06:24:24 steve Exp $
17 25
18 @c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update with a 26 @c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update with a
19 @c prefix arg). This updates the node pointers, which texinfmt.el needs. 27 @c prefix arg). This updates the node pointers, which texinfmt.el needs.
20 28
21 @dircategory Texinfo documentation system 29 @dircategory Texinfo documentation system
22 @direntry 30 @direntry
23 * Texinfo: (texinfo). The GNU documentation format. 31 * Texinfo: (texinfo). The GNU documentation format.
24 * install-info: (texinfo)Invoking install-info. Updating info/dir entries. 32 * install-info: (texinfo)Invoking install-info. Updating info/dir entries.
25 * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation. 33 * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation.
26 * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files. 34 * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files.
35 * makeinfo: (texinfo)makeinfo Preferred. Translate Texinfo source.
27 @end direntry 36 @end direntry
28 37
29 @c Set smallbook if printing in smallbook format so the example of the 38 @c Set smallbook if printing in smallbook format so the example of the
30 @c smallbook font is actually written using smallbook; in bigbook, a kludge 39 @c smallbook font is actually written using smallbook; in bigbook, a kludge
31 @c is used for TeX output. 40 @c is used for TeX output. Do this through the -t option to texi2dvi,
32 @smallbook 41 @c so this same source can be used for other paper sizes as well.
33 @set smallbook 42 @c smallbook
43 @c set smallbook
34 @c @@clear smallbook 44 @c @@clear smallbook
35
36 @set edition 2.23
37 @set update-month October 1996
38 @set update-date 1 @value{update-month}
39 45
40 @c Currently undocumented command, 5 December 1993: 46 @c Currently undocumented command, 5 December 1993:
41 @c 47 @c
42 @c nwnode (Same as node, but no warnings; for `makeinfo'.) 48 @c nwnode (Same as node, but no warnings; for `makeinfo'.)
43 49
44 @ifinfo 50 @ifinfo
45 This file documents Texinfo, a documentation system that can produce 51 This file documents Texinfo, a documentation system that can produce
46 both on-line information and a printed manual from a single source file. 52 both on-line information and a printed manual from a single source file.
47 53
48 Copyright (C) 1988, 90, 91, 92, 93, 95, 1996 Free Software Foundation, Inc. 54 Copyright (C) 1988, 90, 91, 92, 93, 95, 96, 97 Free Software Foundation, Inc.
49 55
50 This is the second edition of the Texinfo documentation,@* 56 This is the second edition of the Texinfo documentation,@*
51 and is consistent with version 2 of @file{texinfo.tex}. 57 and is consistent with version 2 of @file{texinfo.tex}.
52 58
53 Permission is granted to make and distribute verbatim copies of 59 Permission is granted to make and distribute verbatim copies of
89 @c Include the Distribution inside the titlepage so 95 @c Include the Distribution inside the titlepage so
90 @c that headings are turned off. 96 @c that headings are turned off.
91 97
92 @page 98 @page
93 @vskip 0pt plus 1filll 99 @vskip 0pt plus 1filll
94 Copyright @copyright{} 1988, 1990, 1991, 1992, 1993, 1995, 1996 Free Software Foundation, Inc. 100 Copyright @copyright{} 1988, 90, 91, 92, 93, 95, 96, 97
101 Free Software Foundation, Inc.
95 102
96 @sp 2 103 @sp 2
97 This is the second edition of the Texinfo documentation,@* 104 This is the second edition of the Texinfo documentation,@*
98 and is consistent with version 2 of @file{texinfo.tex}. 105 and is consistent with version 2 of @file{texinfo.tex}.
99 @sp 2 106 @sp 2
100 107
101 Published by the Free Software Foundation @* 108 Published by the Free Software Foundation @*
102 59 Temple Place Suite 330, @* 109 59 Temple Place Suite 330 @*
103 Boston, MA 02111-1307 USA @* 110 Boston, MA 02111-1307 @*
111 USA @*
104 Printed copies are available for $15 each.@* 112 Printed copies are available for $15 each.@*
105 ISBN 1-882114-64-7 113 ISBN 1-882114-64-7
106 @c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995 114 @c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995
107 @c ISBN 1-882114-64-7 is for edition 2.23 of 1 October 1996. 115 @c ISBN 1-882114-64-7 is for edition 2.23 of 1 October 1996.
108 116
199 variables, and the like. 207 variables, and the like.
200 * Quotations and Examples:: How to write quotations, examples, etc. 208 * Quotations and Examples:: How to write quotations, examples, etc.
201 * Lists and Tables:: How to write lists and tables. 209 * Lists and Tables:: How to write lists and tables.
202 * Indices:: How to create indices. 210 * Indices:: How to create indices.
203 * Insertions:: How to insert @@-signs, braces, etc. 211 * Insertions:: How to insert @@-signs, braces, etc.
204 * Glyphs:: How to indicate results of evaluation,
205 expansion of macros, errors, etc.
206 * Breaks:: How to force and prevent line and page breaks. 212 * Breaks:: How to force and prevent line and page breaks.
207 * Definition Commands:: How to describe functions and the like 213 * Definition Commands:: How to describe functions and the like
208 in a uniform manner. 214 in a uniform manner.
209 * Footnotes:: How to write footnotes. 215 * Footnotes:: How to write footnotes.
210 * Conditionals:: How to specify text for either @TeX{} or Info. 216 * Conditionals:: How to specify text for either @TeX{} or Info.
222 * Headings:: How to write page headings and footings. 228 * Headings:: How to write page headings and footings.
223 * Catching Mistakes:: How to find formatting mistakes. 229 * Catching Mistakes:: How to find formatting mistakes.
224 * Refilling Paragraphs:: All about paragraph refilling. 230 * Refilling Paragraphs:: All about paragraph refilling.
225 * Command Syntax:: A description of @@-Command syntax. 231 * Command Syntax:: A description of @@-Command syntax.
226 * Obtaining TeX:: How to Obtain @TeX{}. 232 * Obtaining TeX:: How to Obtain @TeX{}.
227 * New Features:: Texinfo second edition features.
228 * Command and Variable Index:: A menu containing commands and variables. 233 * Command and Variable Index:: A menu containing commands and variables.
229 * Concept Index:: A menu covering many topics. 234 * Concept Index:: A menu covering many topics.
230 235
231 @detailmenu 236 @detailmenu
232 237
365 * xref:: Begin a reference with `See' @dots{} 370 * xref:: Begin a reference with `See' @dots{}
366 * Top Node Naming:: How to refer to the beginning of another file. 371 * Top Node Naming:: How to refer to the beginning of another file.
367 * ref:: A reference for the last part of a sentence. 372 * ref:: A reference for the last part of a sentence.
368 * pxref:: How to write a parenthetical cross reference. 373 * pxref:: How to write a parenthetical cross reference.
369 * inforef:: How to refer to an Info-only file. 374 * inforef:: How to refer to an Info-only file.
375 * uref:: How to refer to a uniform resource locator.
370 376
371 @code{@@xref} 377 @code{@@xref}
372 378
373 * Reference Syntax:: What a reference looks like and requires. 379 * Reference Syntax:: What a reference looks like and requires.
374 * One Argument:: @code{@@xref} with one argument. 380 * One Argument:: @code{@@xref} with one argument.
416 the margins. 422 the margins.
417 * exdent:: How to undo the indentation of a line. 423 * exdent:: How to undo the indentation of a line.
418 * flushleft & flushright:: How to push text flushleft or flushright. 424 * flushleft & flushright:: How to push text flushleft or flushright.
419 * cartouche:: How to draw cartouches around examples. 425 * cartouche:: How to draw cartouches around examples.
420 426
421 Making Lists and Tables 427 Lists and Tables
422 428
423 * Introducing Lists:: Texinfo formats lists for you. 429 * Introducing Lists:: Texinfo formats lists for you.
424 * itemize:: How to construct a simple list. 430 * itemize:: How to construct a simple list.
425 * enumerate:: How to construct a numbered list. 431 * enumerate:: How to construct a numbered list.
426 * Two-column Tables:: How to construct a two-column table. 432 * Two-column Tables:: How to construct a two-column table.
427 * Multi-column Tables:: How to construct generalized tables. 433 * Multi-column Tables:: How to construct generalized tables.
428 434
429 Making a Two-column Table 435 Making a Two-column Table
430 436
431 * table:: How to construct a two-column table. 437 * table:: How to construct a two-column table.
432 * ftable vtable:: How to construct a two-column table 438 * ftable vtable:: Automatic indexing for two-column tables.
433 with automatic indexing.
434 * itemx:: How to put more entries in the first column. 439 * itemx:: How to put more entries in the first column.
435 440
436 Multi-column Tables 441 Multi-column Tables
437 442
438 * Multitable Column Widths:: Defining multitable column widths. 443 * Multitable Column Widths:: Defining multitable column widths.
464 * TeX and copyright:: How to insert the @TeX{} logo 469 * TeX and copyright:: How to insert the @TeX{} logo
465 and the copyright symbol. 470 and the copyright symbol.
466 * pounds:: How to insert the pounds currency symbol. 471 * pounds:: How to insert the pounds currency symbol.
467 * minus:: How to insert a minus sign. 472 * minus:: How to insert a minus sign.
468 * math:: How to format a mathematical expression. 473 * math:: How to format a mathematical expression.
474 * Glyphs:: How to indicate results of evaluation,
475 expansion of macros, errors, etc.
476 * Images:: How to include graphics.
469 477
470 Inserting @@ and Braces 478 Inserting @@ and Braces
471 479
472 * Inserting An Atsign:: How to insert @samp{@@}. 480 * Inserting An Atsign:: How to insert @samp{@@}.
473 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}. 481 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}.
496 * expansion:: How to indicate an expansion. 504 * expansion:: How to indicate an expansion.
497 * Print Glyph:: How to indicate printed output. 505 * Print Glyph:: How to indicate printed output.
498 * Error Glyph:: How to indicate an error message. 506 * Error Glyph:: How to indicate an error message.
499 * Equivalence:: How to indicate equivalence. 507 * Equivalence:: How to indicate equivalence.
500 * Point Glyph:: How to indicate the location of point. 508 * Point Glyph:: How to indicate the location of point.
509
510 Glyphs Summary
511
512 * result::
513 * expansion::
514 * Print Glyph::
515 * Error Glyph::
516 * Equivalence::
517 * Point Glyph::
501 518
502 Making and Preventing Breaks 519 Making and Preventing Breaks
503 520
504 * Break Commands:: Cause and prevent splits. 521 * Break Commands:: Cause and prevent splits.
505 * Line Breaks:: How to force a single line to use two lines. 522 * Line Breaks:: How to force a single line to use two lines.
534 * Footnote Commands:: How to write a footnote in Texinfo. 551 * Footnote Commands:: How to write a footnote in Texinfo.
535 * Footnote Styles:: Controlling how footnotes appear in Info. 552 * Footnote Styles:: Controlling how footnotes appear in Info.
536 553
537 Conditionally Visible Text 554 Conditionally Visible Text
538 555
539 * Conditional Commands:: How to specify text for HTML, Info, or @TeX{}. 556 * Conditional Commands:: Specifying text for HTML, Info, or @TeX{}.
540 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands. 557 * Conditional Not Commands:: Specifying text for not HTML, Info, or @TeX{}.
541 * set clear value:: How to designate which text to format (for 558 * Raw Formatter Commands:: Using raw @TeX{} or HTML commands.
542 both Info and @TeX{}); and how to set a 559 * set clear value:: Designating which text to format (for
560 all output formats); and how to set a
543 flag to a string that you can insert. 561 flag to a string that you can insert.
544 562
545 @code{@@set}, @code{@@clear}, and @code{@@value} 563 @code{@@set}, @code{@@clear}, and @code{@@value}
546 564
547 * ifset ifclear:: Format a region if a flag is set. 565 * ifset ifclear:: Format a region if a flag is set.
618 * Heading Choice:: How to specify the type of page heading. 636 * Heading Choice:: How to specify the type of page heading.
619 * Custom Headings:: How to create your own headings and footings. 637 * Custom Headings:: How to create your own headings and footings.
620 638
621 Formatting Mistakes 639 Formatting Mistakes
622 640
623 * makeinfo preferred:: @code{makeinfo} finds errors. 641 * makeinfo Preferred:: @code{makeinfo} finds errors.
624 * Debugging with Info:: How to catch errors with Info formatting. 642 * Debugging with Info:: How to catch errors with Info formatting.
625 * Debugging with TeX:: How to catch errors with @TeX{} formatting. 643 * Debugging with TeX:: How to catch errors with @TeX{} formatting.
626 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}. 644 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}.
627 * Using occur:: How to list all lines containing a pattern. 645 * Using occur:: How to list all lines containing a pattern.
628 * Running Info-Validate:: How to find badly referenced nodes. 646 * Running Info-Validate:: How to find badly referenced nodes.
632 * Using Info-validate:: How to run @code{Info-validate}. 650 * Using Info-validate:: How to run @code{Info-validate}.
633 * Unsplit:: How to create an unsplit file. 651 * Unsplit:: How to create an unsplit file.
634 * Tagifying:: How to tagify a file. 652 * Tagifying:: How to tagify a file.
635 * Splitting:: How to split a file manually. 653 * Splitting:: How to split a file manually.
636 654
637 Second Edition Features 655 How to Obtain @TeX{}
638 656
639 * New Texinfo Mode Commands:: The updating commands are especially useful. 657 * New Texinfo Mode Commands:: The updating commands are especially useful.
640 * New Commands:: Many newly described @@-commands. 658 * New Commands:: Many newly described @@-commands.
641 @end detailmenu 659 @end detailmenu
642 @end menu 660 @end menu
733 information; and you use the same cross references and indices for 751 information; and you use the same cross references and indices for
734 both the Info file and the printed work. @cite{The GNU 752 both the Info file and the printed work. @cite{The GNU
735 Emacs Manual} is a good example of a Texinfo file, as is this manual.@refill 753 Emacs Manual} is a good example of a Texinfo file, as is this manual.@refill
736 754
737 To make a printed document, you process a Texinfo source file with the 755 To make a printed document, you process a Texinfo source file with the
738 @TeX{} typesetting program. This creates a @sc{dvi} file that you can 756 @TeX{} typesetting program. This creates a DVI file that you can
739 typeset and print as a book or report. (Note that the Texinfo language 757 typeset and print as a book or report. (Note that the Texinfo language
740 is completely different from @TeX{}'s usual language, plain @TeX{}.) If 758 is completely different from @TeX{}'s usual language, plain @TeX{}.) If
741 you do not have @TeX{}, but do have @code{troff} or @code{nroff}, you 759 you do not have @TeX{}, but do have @code{troff} or @code{nroff}, you
742 can use the @code{texi2roff} program instead.@refill 760 can use the @code{texi2roff} program instead.@refill
743 761
744 To make an Info file, you process a Texinfo source file with the 762 To make an Info file, you process a Texinfo source file with the
745 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command; 763 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command;
746 this creates an Info file that you can install on-line.@refill 764 this creates an Info file that you can install on-line.@refill
747 765
748 @TeX{} and @code{texi2roff} work with many types of printer; similarly, 766 @TeX{} and @code{texi2roff} work with many types of printers; similarly,
749 Info works with almost every type of computer terminal. This power 767 Info works with almost every type of computer terminal. This power
750 makes Texinfo a general purpose system, but brings with it a constraint, 768 makes Texinfo a general purpose system, but brings with it a constraint,
751 which is that a Texinfo file may contain only the customary 769 which is that a Texinfo file may contain only the customary
752 ``typewriter'' characters (letters, numbers, spaces, and punctuation 770 ``typewriter'' characters (letters, numbers, spaces, and punctuation
753 marks) but no special graphics.@refill 771 marks) but no special graphics.@refill
825 provides pointers of another kind, called references, that can be 843 provides pointers of another kind, called references, that can be
826 sprinkled throughout the text. This is usually the best way to 844 sprinkled throughout the text. This is usually the best way to
827 represent links that do not fit a hierarchical structure.@refill 845 represent links that do not fit a hierarchical structure.@refill
828 846
829 Usually, you will design a document so that its nodes match the 847 Usually, you will design a document so that its nodes match the
830 structure of chapters and sections in the printed output. But there 848 structure of chapters and sections in the printed output. But
831 are times when this is not right for the material being discussed. 849 occasionally there are times when this is not right for the material
832 Therefore, Texinfo uses separate commands to specify the node 850 being discussed. Therefore, Texinfo uses separate commands to specify
833 structure for the Info file and the section structure for the printed 851 the node structure for the Info file and the section structure for the
834 output.@refill 852 printed output.@refill
835 853
836 Generally, you enter an Info file through a node that by convention is 854 Generally, you enter an Info file through a node that by convention is
837 called @samp{Top}. This node normally contains just a brief summary 855 named `Top'. This node normally contains just a brief summary of the
838 of the file's purpose, and a large menu through which the rest of the 856 file's purpose, and a large menu through which the rest of the file is
839 file is reached. From this node, you can either traverse the file 857 reached. From this node, you can either traverse the file
840 systematically by going from node to node, or you can go to a specific 858 systematically by going from node to node, or you can go to a specific
841 node listed in the main menu, or you can search the index menus and 859 node listed in the main menu, or you can search the index menus and then
842 then go directly to the node that has the information you want.@refill 860 go directly to the node that has the information you want. Alternatively,
843 @c !!! With the standalone Info system you may go to specific nodes 861 with the standalone Info program, you can specify specific menu items on
844 @c directly.. 862 the command line (@pxref{Top,,, info, Info}).
845 863
846 If you want to read through an Info file in sequence, as if it were a 864 If you want to read through an Info file in sequence, as if it were a
847 printed manual, you can get the whole file with the advanced Info 865 printed manual, you can hit @key{SPC} repeatedly, or you get the whole
848 command @kbd{g* @key{RET}}. (@inforef{Expert, Advanced Info commands, 866 file with the advanced Info command @kbd{g *}. (@inforef{Expert,
849 info}.)@refill 867 Advanced Info commands, info}.)@refill
850 868
851 @c !!! dir file may be located in one of many places: 869 @c !!! dir file may be located in one of many places:
852 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH 870 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH
853 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH 871 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH
854 @c /usr/gnu/info mentioned in info.c DEFAULT_INFOPATH 872 @c /usr/gnu/info mentioned in info.c DEFAULT_INFOPATH
871 A Texinfo file can be formatted and typeset as a printed book or manual. 889 A Texinfo file can be formatted and typeset as a printed book or manual.
872 To do this, you need @TeX{}, a powerful, sophisticated typesetting 890 To do this, you need @TeX{}, a powerful, sophisticated typesetting
873 program written by Donald Knuth.@footnote{You can also use the 891 program written by Donald Knuth.@footnote{You can also use the
874 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is 892 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is
875 designed for use with @TeX{}, @code{texi2roff} is not described here. 893 designed for use with @TeX{}, @code{texi2roff} is not described here.
876 @code{texi2roff} is part of the standard GNU distribution.}@refill 894 @code{texi2roff} is not part of the standard GNU distribution.}
877 895
878 A Texinfo-based book is similar to any other typeset, printed work: it 896 A Texinfo-based book is similar to any other typeset, printed work: it
879 can have a title page, copyright page, table of contents, and preface, 897 can have a title page, copyright page, table of contents, and preface,
880 as well as chapters, numbered or unnumbered sections and subsections, 898 as well as chapters, numbered or unnumbered sections and subsections,
881 page headers, cross references, footnotes, and indices.@refill 899 page headers, cross references, footnotes, and indices.@refill
907 sizes and fonts used, the amount of indentation for each paragraph, the 925 sizes and fonts used, the amount of indentation for each paragraph, the
908 degree to which words are hyphenated, and the like. By changing the 926 degree to which words are hyphenated, and the like. By changing the
909 specifications, you can make a book look dignified, old and serious, or 927 specifications, you can make a book look dignified, old and serious, or
910 light-hearted, young and cheery.@refill 928 light-hearted, young and cheery.@refill
911 929
912 @TeX{} is freely distributable. It is written in a dialect of Pascal 930 @TeX{} is freely distributable. It is written in a superset of Pascal
913 called WEB and can be compiled either in Pascal or (by using a 931 called WEB and can be compiled either in Pascal or (by using a
914 conversion program that comes with the @TeX{} distribution) in C. 932 conversion program that comes with the @TeX{} distribution) in C.
915 (@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information 933 (@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information
916 about @TeX{}.)@refill 934 about @TeX{}.)@refill
917 935
1039 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and 1057 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and
1040 @w{@tt{ '' }} to @w{@tt{ " }}.@refill 1058 @w{@tt{ '' }} to @w{@tt{ " }}.@refill
1041 @end iftex 1059 @end iftex
1042 1060
1043 Use three hyphens in a row, @samp{---}, for a dash---like this. In 1061 Use three hyphens in a row, @samp{---}, for a dash---like this. In
1044 @TeX{}, a single or even a double hyphen produces a printed dash that 1062 @TeX{}, a single or double hyphen produces a printed dash that is
1045 is shorter than the usual typeset dash. Info reduces three hyphens to two for 1063 shorter than the usual typeset dash. Info reduces three hyphens to two
1046 display on the screen.@refill 1064 for display on the screen.
1047 1065
1048 To prevent a paragraph from being indented in the printed manual, put 1066 To prevent a paragraph from being indented in the printed manual, put
1049 the command @code{@@noindent} on a line by itself before the 1067 the command @code{@@noindent} on a line by itself before the
1050 paragraph.@refill 1068 paragraph.@refill
1051 1069
1054 the printed copy; in that region, you can use certain commands 1072 the printed copy; in that region, you can use certain commands
1055 borrowed from plain @TeX{} that you cannot use in Info. Likewise, if 1073 borrowed from plain @TeX{} that you cannot use in Info. Likewise, if
1056 you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo} 1074 you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo}
1057 commands, that region will appear only in the Info file; in that 1075 commands, that region will appear only in the Info file; in that
1058 region, you can use Info commands that you cannot use in @TeX{}. 1076 region, you can use Info commands that you cannot use in @TeX{}.
1059 Similarly for @code{@@ifhtml} and @code{@@end ifhtml}. 1077 Similarly for @code{@@ifhtml @dots{} @@end ifhtml},
1078 @code{@@ifnothtml @dots{} @@end ifnothtml},
1079 @code{@@ifnotinfo @dots{} @@end ifnotinfo},
1080 @code{@@ifnottex @dots{} @@end ifnottex},
1060 @xref{Conditionals}. 1081 @xref{Conditionals}.
1061 1082
1062 @cindex Tabs; don't use! 1083 @cindex Tabs; don't use!
1063 @quotation 1084 @quotation
1064 @strong{Caution:} Do not use tabs in a Texinfo file! @TeX{} uses 1085 @strong{Caution:} Do not use tabs in a Texinfo file! @TeX{} uses
1065 variable-width fonts, which means that it cannot predefine a tab to work 1086 variable-width fonts, which means that it cannot predefine a tab to work
1066 in all circumstances. Consequently, @TeX{} treats tabs like single 1087 in all circumstances. Consequently, @TeX{} treats tabs like single
1067 spaces, and that is not what they look like.@refill 1088 spaces, and that is not what they look like. Furthermore,
1089 @code{makeinfo} does nothing special with tabs, and thus a tab character
1090 in your input file may appear differently in the output.
1068 1091
1069 @noindent 1092 @noindent
1070 To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple 1093 To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple
1071 spaces when you press the @key{TAB} key.@refill 1094 spaces when you press the @key{TAB} key.@refill
1072 1095
1073 @noindent 1096 @noindent
1074 Also, you can run @code{untabify} in Emacs to convert tabs in a region 1097 Also, you can run @code{untabify} in Emacs to convert tabs in a region
1075 to multiple spaces.@refill 1098 to multiple spaces.@refill
1099
1100 @noindent
1101 Don't use tabs.
1076 @end quotation 1102 @end quotation
1077 1103
1078 @node Comments, Minimum, Conventions, Overview 1104 @node Comments, Minimum, Conventions, Overview
1079 @comment node-name, next, previous, up 1105 @comment node-name, next, previous, up
1080 @section Comments 1106 @section Comments
1235 @node Short Sample, Acknowledgements, Six Parts, Overview 1261 @node Short Sample, Acknowledgements, Six Parts, Overview
1236 @comment node-name, next, previous, up 1262 @comment node-name, next, previous, up
1237 @section A Short Sample Texinfo File 1263 @section A Short Sample Texinfo File
1238 @cindex Sample Texinfo file 1264 @cindex Sample Texinfo file
1239 1265
1240 Here is a complete but very short Texinfo file, in 6 parts. The first 1266 Here is a complete but very short Texinfo file, in six parts. The first
1241 three parts of the file, from @samp{\input texinfo} through to 1267 three parts of the file, from @samp{\input texinfo} through to
1242 @samp{@@end titlepage}, look more intimidating than they are. Most of 1268 @samp{@@end titlepage}, look more intimidating than they are. Most of
1243 the material is standard boilerplate; when you write a manual, simply 1269 the material is standard boilerplate; when you write a manual, simply
1244 insert the names for your own manual in this segment. (@xref{Beginning a 1270 insert the names for your own manual in this segment. (@xref{Beginning a
1245 File}.)@refill 1271 File}.)@refill
1250 @ref{Sample Texinfo File}. 1276 @ref{Sample Texinfo File}.
1251 1277
1252 @subheading Part 1: Header 1278 @subheading Part 1: Header
1253 1279
1254 @noindent 1280 @noindent
1255 The header does not appear in either the Info file or the@* 1281 The header does not appear in either the Info file or the
1256 printed output. It sets various parameters, including the@* 1282 printed output. It sets various parameters, including the
1257 name of the Info file and the title used in the header. 1283 name of the Info file and the title used in the header.
1258 1284
1259 @example 1285 @example
1260 @group 1286 @group
1261 \input texinfo @@c -*-texinfo-*- 1287 \input texinfo @@c -*-texinfo-*-
1269 @end example 1295 @end example
1270 1296
1271 @subheading Part 2: Summary Description and Copyright 1297 @subheading Part 2: Summary Description and Copyright
1272 1298
1273 @noindent 1299 @noindent
1274 The summary description and copyright segment does not@* 1300 The summary description and copyright segment does not
1275 appear in the printed document. 1301 appear in the printed document.
1276 1302
1277 @example 1303 @example
1278 @group 1304 @group
1279 @@ifinfo 1305 @@ifinfo
1307 @end example 1333 @end example
1308 1334
1309 @subheading Part 4: `Top' Node and Master Menu 1335 @subheading Part 4: `Top' Node and Master Menu
1310 1336
1311 @noindent 1337 @noindent
1312 The `Top' node contains the master menu for the Info file.@* 1338 The `Top' node contains the master menu for the Info file.
1313 Since a printed manual uses a table of contents rather than@* 1339 Since a printed manual uses a table of contents rather than
1314 a menu, the master menu appears only in the Info file. 1340 a menu, the master menu appears only in the Info file.
1315 1341
1316 @example 1342 @example
1317 @group 1343 @group
1318 @@node Top, First Chapter, (dir), (dir) 1344 @@node Top, First Chapter, , (dir)
1319 @@comment node-name, next, previous, up 1345 @@comment node-name, next, previous, up
1320 @end group 1346 @end group
1321 @end example 1347 @end example
1322 1348
1323 @example 1349 @example
1416 commands transform a Texinfo file such as this into 1442 commands transform a Texinfo file such as this into
1417 an Info file; and @TeX{} typesets it for a printed 1443 an Info file; and @TeX{} typesets it for a printed
1418 manual. 1444 manual.
1419 @end quotation 1445 @end quotation
1420 1446
1421 @node Acknowledgements, , Short Sample, Overview 1447 @node Acknowledgements, , Short Sample, Overview
1422 @comment node-name, next, previous, up 1448 @comment node-name, next, previous, up
1423 @section Acknowledgements 1449 @section Acknowledgements
1424 1450
1425 @cindex Stallman, Richard M. 1451 @cindex Stallman, Richard M.
1426 @cindex Chassell, Robert J. 1452 @cindex Chassell, Robert J.
1500 1526
1501 @item 1527 @item
1502 Show the structure of a Texinfo source file.@refill 1528 Show the structure of a Texinfo source file.@refill
1503 1529
1504 @item 1530 @item
1505 Automatically create or update the `Next',@* 1531 Automatically create or update the `Next',
1506 `Previous', and `Up' pointers of a node. 1532 `Previous', and `Up' pointers of a node.
1507 1533
1508 @item 1534 @item
1509 Automatically create or update menus.@refill 1535 Automatically create or update menus.@refill
1510 1536
1666 1692
1667 To put a command such as @w{@code{@@code@{@dots{}@}}} around an 1693 To put a command such as @w{@code{@@code@{@dots{}@}}} around an
1668 @emph{existing} word, position the cursor in front of the word and type 1694 @emph{existing} word, position the cursor in front of the word and type
1669 @kbd{C-u 1 C-c C-c c}. This makes it easy to edit existing plain text. 1695 @kbd{C-u 1 C-c C-c c}. This makes it easy to edit existing plain text.
1670 The value of the prefix argument tells Emacs how many words following 1696 The value of the prefix argument tells Emacs how many words following
1671 point to include between braces---1 for one word, 2 for two words, and 1697 point to include between braces---@samp{1} for one word, @samp{2} for
1672 so on. Use a negative argument to enclose the previous word or words. 1698 two words, and so on. Use a negative argument to enclose the previous
1673 If you do not specify a prefix argument, Emacs inserts the @@-command 1699 word or words. If you do not specify a prefix argument, Emacs inserts
1674 string and positions the cursor between the braces. This feature works 1700 the @@-command string and positions the cursor between the braces. This
1675 only for those @@-commands that operate on a word or words within one 1701 feature works only for those @@-commands that operate on a word or words
1676 line, such as @code{@@kbd} and @code{@@var}.@refill 1702 within one line, such as @code{@@kbd} and @code{@@var}.@refill
1677 1703
1678 This set of insert commands was created after analyzing the frequency 1704 This set of insert commands was created after analyzing the frequency
1679 with which different @@-commands are used in the @cite{GNU Emacs 1705 with which different @@-commands are used in the @cite{GNU Emacs
1680 Manual} and the @cite{GDB Manual}. If you wish to add your own insert 1706 Manual} and the @cite{GDB Manual}. If you wish to add your own insert
1681 commands, you can bind a keyboard macro to a key, use abbreviations, 1707 commands, you can bind a keyboard macro to a key, use abbreviations,
2027 `update node' commands. (@xref{Create an Info File, , Creating an 2053 `update node' commands. (@xref{Create an Info File, , Creating an
2028 Info File}, for more information about @code{makeinfo}.) However, 2054 Info File}, for more information about @code{makeinfo}.) However,
2029 both @code{makeinfo} and the @code{texinfo-format-@dots{}} commands 2055 both @code{makeinfo} and the @code{texinfo-format-@dots{}} commands
2030 require that you insert menus in the file.@refill 2056 require that you insert menus in the file.@refill
2031 2057
2032 @node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus 2058 @node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus
2033 @comment node-name, next, previous, up 2059 @comment node-name, next, previous, up
2034 @subsection Other Updating Commands 2060 @subsection Other Updating Commands
2035 2061
2036 In addition to the five major updating commands, Texinfo mode 2062 In addition to the five major updating commands, Texinfo mode
2037 possesses several less frequently used updating commands:@refill 2063 possesses several less frequently used updating commands:@refill
2096 Insert the names of the nodes immediately following and preceding the 2122 Insert the names of the nodes immediately following and preceding the
2097 current node as the `Next' or `Previous' pointers regardless of those 2123 current node as the `Next' or `Previous' pointers regardless of those
2098 nodes' hierarchical level. This means that the `Next' node of a 2124 nodes' hierarchical level. This means that the `Next' node of a
2099 subsection may well be the next chapter. Sequentially ordered nodes are 2125 subsection may well be the next chapter. Sequentially ordered nodes are
2100 useful for novels and other documents that you read through 2126 useful for novels and other documents that you read through
2101 sequentially. (However, in Info, the @code{g* @key{RET}} command lets 2127 sequentially. (However, in Info, the @kbd{g *} command lets
2102 you look through the file sequentially, so sequentially ordered nodes 2128 you look through the file sequentially, so sequentially ordered nodes
2103 are not strictly necessary.) With an argument (prefix argument, if 2129 are not strictly necessary.) With an argument (prefix argument, if
2104 interactive), the @code{texinfo-sequential-node-update} command 2130 interactive), the @code{texinfo-sequential-node-update} command
2105 sequentially updates all the nodes in the region.@refill 2131 sequentially updates all the nodes in the region.@refill
2106 @end table 2132 @end table
2172 @cindex Region formatting and printing 2198 @cindex Region formatting and printing
2173 @cindex Buffer formatting and printing 2199 @cindex Buffer formatting and printing
2174 @cindex Part of file formatting and printing 2200 @cindex Part of file formatting and printing
2175 2201
2176 Typesetting and printing a Texinfo file is a multi-step process in which 2202 Typesetting and printing a Texinfo file is a multi-step process in which
2177 you first create a file for printing (called a @sc{dvi} file), and then 2203 you first create a file for printing (called a DVI file), and then
2178 print the file. Optionally, you may also create indices. To do this, 2204 print the file. Optionally, you may also create indices. To do this,
2179 you must run the @code{texindex} command after first running the 2205 you must run the @code{texindex} command after first running the
2180 @code{tex} typesetting command; and then you must run the @code{tex} 2206 @code{tex} typesetting command; and then you must run the @code{tex}
2181 command again. Or else run the @code{texi2dvi} command which 2207 command again. Or else run the @code{texi2dvi} command which
2182 automatically creates indices as needed.@refill 2208 automatically creates indices as needed.@refill
2207 not run @code{texindex} automatically; it only runs the @code{tex} 2233 not run @code{texindex} automatically; it only runs the @code{tex}
2208 typesetting command. You must run the @code{texinfo-tex-region} command 2234 typesetting command. You must run the @code{texinfo-tex-region} command
2209 a second time after sorting the raw index files with the @code{texindex} 2235 a second time after sorting the raw index files with the @code{texindex}
2210 command. (Usually, you do not format an index when you format a region, 2236 command. (Usually, you do not format an index when you format a region,
2211 only when you format a buffer. Now that the @code{texi2dvi} command 2237 only when you format a buffer. Now that the @code{texi2dvi} command
2212 exists, there is no little need for this command.)@refill 2238 exists, there is little or no need for this command.)@refill
2213 2239
2214 @item C-c C-t C-p 2240 @item C-c C-t C-p
2215 @itemx M-x texinfo-tex-print 2241 @itemx M-x texinfo-tex-print
2216 @findex texinfo-tex-print 2242 @findex texinfo-tex-print
2217 Print the file (or the part of the file) previously formatted with 2243 Print the file (or the part of the file) previously formatted with
2226 end-of-header lines.)@refill 2252 end-of-header lines.)@refill
2227 2253
2228 @xref{Format/Print Hardcopy}, for a description of the other @TeX{} related 2254 @xref{Format/Print Hardcopy}, for a description of the other @TeX{} related
2229 commands, such as @code{tex-show-print-queue}.@refill 2255 commands, such as @code{tex-show-print-queue}.@refill
2230 2256
2231 @node Texinfo Mode Summary, , Printing, Texinfo Mode 2257 @node Texinfo Mode Summary, , Printing, Texinfo Mode
2232 @comment node-name, next, previous, up 2258 @comment node-name, next, previous, up
2233 @section Texinfo Mode Summary 2259 @section Texinfo Mode Summary
2234 2260
2235 In Texinfo mode, each set of commands has default keybindings that 2261 In Texinfo mode, each set of commands has default keybindings that
2236 begin with the same keys. All the commands that are custom-created 2262 begin with the same keys. All the commands that are custom-created
2366 2392
2367 @example 2393 @example
2368 C-c C-t C-r @r{Run @TeX{} on the region.} 2394 C-c C-t C-r @r{Run @TeX{} on the region.}
2369 C-c C-t C-b @r{Run} @code{texi2dvi} @r{on the buffer.} 2395 C-c C-t C-b @r{Run} @code{texi2dvi} @r{on the buffer.}
2370 C-c C-t C-i @r{Run} @code{texindex}. 2396 C-c C-t C-i @r{Run} @code{texindex}.
2371 C-c C-t C-p @r{Print the @sc{dvi} file.} 2397 C-c C-t C-p @r{Print the DVI file.}
2372 C-c C-t C-q @r{Show the print queue.} 2398 C-c C-t C-q @r{Show the print queue.}
2373 C-c C-t C-d @r{Delete a job from the print queue.} 2399 C-c C-t C-d @r{Delete a job from the print queue.}
2374 C-c C-t C-k @r{Kill the current @TeX{} formatting job.} 2400 C-c C-t C-k @r{Kill the current @TeX{} formatting job.}
2375 C-c C-t C-x @r{Quit a currently stopped @TeX{} formatting job.} 2401 C-c C-t C-x @r{Quit a currently stopped @TeX{} formatting job.}
2376 C-c C-t C-l @r{Recenter the output buffer.} 2402 C-c C-t C-l @r{Recenter the output buffer.}
2439 2465
2440 @enumerate 2466 @enumerate
2441 @item 2467 @item
2442 The header, delimited by special comment lines, that includes the 2468 The header, delimited by special comment lines, that includes the
2443 commands for naming the Texinfo file and telling @TeX{} what 2469 commands for naming the Texinfo file and telling @TeX{} what
2444 definitions' file to use when processing the Texinfo file.@refill 2470 definitions file to use when processing the Texinfo file.@refill
2445 2471
2446 @item 2472 @item
2447 A short statement of what the file is about, with a copyright notice 2473 A short statement of what the file is about, with a copyright notice
2448 and copying permissions. This is enclosed in @code{@@ifinfo} and 2474 and copying permissions. This is enclosed in @code{@@ifinfo} and
2449 @code{@@end ifinfo} commands so that the formatters place it only 2475 @code{@@end ifinfo} commands so that the formatters place it only
2517 Published by @dots{} 2543 Published by @dots{}
2518 2544
2519 Permission is granted to @dots{} 2545 Permission is granted to @dots{}
2520 @@end titlepage 2546 @@end titlepage
2521 2547
2522 @@node Top, Overview, (dir), (dir) 2548 @@node Top, Overview, , (dir)
2523 2549
2524 @@ifinfo 2550 @@ifinfo
2525 This document describes @dots{} 2551 This document describes @dots{}
2526 2552
2527 This document applies to version @dots{} 2553 This document applies to version @dots{}
2610 @noindent 2636 @noindent
2611 This line serves two functions: 2637 This line serves two functions:
2612 2638
2613 @enumerate 2639 @enumerate
2614 @item 2640 @item
2615 When the file is processed by @TeX{}, the @code{\input texinfo} command 2641 When the file is processed by @TeX{}, the @samp{\input texinfo} command
2616 tells @TeX{} to load the macros needed for processing a Texinfo file. 2642 tells @TeX{} to load the macros needed for processing a Texinfo file.
2617 These are in a file called @file{texinfo.tex}, which is usually located 2643 These are in a file called @file{texinfo.tex}, which is usually located
2618 in the @file{/usr/lib/tex/macros} directory. @TeX{} uses the backslash, 2644 in the @file{/usr/lib/tex/macros} directory. @TeX{} uses the backslash,
2619 @samp{\}, to mark the beginning of a command, just as Texinfo uses 2645 @samp{\}, to mark the beginning of a command, just as Texinfo uses
2620 @code{@@}. The @file{texinfo.tex} file causes the switch from @samp{\} 2646 @samp{@@}. The @file{texinfo.tex} file causes the switch from @samp{\}
2621 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which 2647 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which
2622 is why it appears at the beginning of the file.@refill 2648 is why it appears at the beginning of the file.@refill
2623 2649
2624 @item 2650 @item
2625 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode 2651 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode
2661 @example 2687 @example
2662 @@setfilename @var{info-file-name} 2688 @@setfilename @var{info-file-name}
2663 @end example 2689 @end example
2664 2690
2665 Write the @code{@@setfilename} command at the beginning of a line and 2691 Write the @code{@@setfilename} command at the beginning of a line and
2666 follow it on the same line by the Info file name. Do not write 2692 follow it on the same line by the Info file name. Do not write anything
2667 anything else on the line; anything on the line after the command is 2693 else on the line; anything on the line after the command is considered
2668 considered part of the file name, including a comment.@refill 2694 part of the file name, including what would otherwise be a
2695 comment.
2669 2696
2670 The @code{@@setfilename} line specifies the name of the Info file to be 2697 The @code{@@setfilename} line specifies the name of the Info file to be
2671 generated. This name should be different from the name of the Texinfo 2698 generated. This name should be different from the name of the Texinfo
2672 file. There are two conventions for choosing the name: you can either 2699 file. There are two conventions for choosing the name: you can either
2673 remove the @samp{.tex} extension from the input file name, or replace it 2700 remove the @samp{.texi} extension from the input file name, or replace
2674 with the @samp{.info} extension. 2701 it with the @samp{.info} extension.
2675 2702
2676 Some operating systems cannot handle long file names. You can run into 2703 Some operating systems cannot handle long file names. You can run into
2677 a problem even when the file name you specify is itself short enough. 2704 a problem even when the file name you specify is itself short enough.
2678 This occurs because the Info formatters split a long Info file into 2705 This occurs because the Info formatters split a long Info file into
2679 short indirect subfiles, and name them by appending `-1', `-2', @dots{}, 2706 short indirect subfiles, and name them by appending @samp{-1},
2680 `-10', `-11', and so on, to the original file name. (@xref{Tag and 2707 @samp{-2}, @dots{}, @samp{-10}, @samp{-11}, and so on, to the original
2681 Split Files, , Tag Files and Split Files}.) The subfile name 2708 file name. (@xref{Tag and Split Files, , Tag Files and Split Files}.)
2682 @file{texinfo.info-10}, for example, is too long for some systems; so 2709 The subfile name @file{texinfo.info-10}, for example, is too long for
2683 the Info file name for this document is @file{texinfo} rather than 2710 some systems; so the Info file name for this document is @file{texinfo}
2684 @file{texinfo.info}.@refill 2711 rather than @file{texinfo.info}.
2685 2712
2713 @cindex Ignored before @code{@@setfilename}
2686 The Info formatting commands ignore everything written before the 2714 The Info formatting commands ignore everything written before the
2687 @code{@@setfilename} line, which is why the very first line of 2715 @code{@@setfilename} line, which is why the very first line of
2688 the file (the @code{\input} line) does not need to be commented out. 2716 the file (the @code{\input} line) does not show up in the output.
2689 2717
2718 @pindex texinfo.cnf
2690 The @code{@@setfilename} line produces no output when you typeset a 2719 The @code{@@setfilename} line produces no output when you typeset a
2691 printed manual, but is does an essential job: it opens the index, 2720 manual with @TeX{}, but it nevertheless is essential: it opens the
2692 cross-reference, and other auxiliary files used by Texinfo. 2721 index, cross-reference, and other auxiliary files used by Texinfo, and
2722 also reads @file{texinfo.cnf} if that file is present on your system
2723 (@pxref{Preparing for TeX,, Preparing to Use @TeX{}}).
2724
2693 2725
2694 @node settitle, setchapternewpage, setfilename, Header 2726 @node settitle, setchapternewpage, setfilename, Header
2695 @comment node-name, next, previous, up 2727 @comment node-name, next, previous, up
2696 @subsection @code{@@settitle} 2728 @subsection @code{@@settitle}
2697 @findex settitle 2729 @findex settitle
2851 @item 2883 @item
2852 If the value of @var{indent} is @samp{asis}, the Info formatting 2884 If the value of @var{indent} is @samp{asis}, the Info formatting
2853 commands do not change the existing indentation.@refill 2885 commands do not change the existing indentation.@refill
2854 2886
2855 @item 2887 @item
2856 If the value of @var{indent} is 0, the Info formatting commands delete 2888 If the value of @var{indent} is zero, the Info formatting commands delete
2857 existing indentation.@refill 2889 existing indentation.@refill
2858 2890
2859 @item 2891 @item
2860 If the value of @var{indent} is greater than 0, the Info formatting 2892 If the value of @var{indent} is greater than zero, the Info formatting
2861 commands indent the paragraph by that number of spaces.@refill 2893 commands indent the paragraph by that number of spaces.@refill
2862 @end itemize 2894 @end itemize
2863 2895
2864 The default value of @var{indent} is @samp{asis}.@refill 2896 The default value of @var{indent} is @samp{asis}.@refill
2865 2897
2872 @code{texinfo-format-region} commands is that they do not indent (nor 2904 @code{texinfo-format-region} commands is that they do not indent (nor
2873 fill) paragraphs that contain @code{@@w} or @code{@@*} commands. 2905 fill) paragraphs that contain @code{@@w} or @code{@@*} commands.
2874 @xref{Refilling Paragraphs}, for a detailed description of what goes 2906 @xref{Refilling Paragraphs}, for a detailed description of what goes
2875 on.@refill 2907 on.@refill
2876 2908
2877 @node End of Header, , paragraphindent, Header 2909 @node End of Header, , paragraphindent, Header
2878 @comment node-name, next, previous, up 2910 @comment node-name, next, previous, up
2879 @subsection End of Header 2911 @subsection End of Header
2880 @cindex End of header line 2912 @cindex End of header line
2881 2913
2882 Follow the header lines with an @w{end-of-header} line. 2914 Follow the header lines with an @w{end-of-header} line.
3275 Most documents are formatted with the standard single-sided or 3307 Most documents are formatted with the standard single-sided or
3276 double-sided format, using @code{@@setchapternewpage odd} for 3308 double-sided format, using @code{@@setchapternewpage odd} for
3277 double-sided printing and no @code{@@setchapternewpage} command for 3309 double-sided printing and no @code{@@setchapternewpage} command for
3278 single-sided printing.@refill 3310 single-sided printing.@refill
3279 3311
3280 @node headings on off, , end titlepage, Titlepage & Copyright Page 3312 @node headings on off, , end titlepage, Titlepage & Copyright Page
3281 @comment node-name, next, previous, up 3313 @comment node-name, next, previous, up
3282 @subsection The @code{@@headings} Command 3314 @subsection The @code{@@headings} Command
3283 @findex headings 3315 @findex headings
3284 3316
3285 The @code{@@headings} command is rarely used. It specifies what kind of 3317 The @code{@@headings} command is rarely used. It specifies what kind of
3385 @group 3417 @group
3386 @dots{} 3418 @dots{}
3387 @@end titlepage 3419 @@end titlepage
3388 3420
3389 @@ifinfo 3421 @@ifinfo
3390 @@node Top, Copying, (dir), (dir) 3422 @@node Top, Copying, , (dir)
3391 @@top Texinfo 3423 @@top Texinfo
3392 3424
3393 Texinfo is a documentation system@dots{} 3425 Texinfo is a documentation system@dots{}
3394 @end group 3426 @end group
3395 3427
3413 level directory of the whole Info system, which is called @samp{(dir)}. 3445 level directory of the whole Info system, which is called @samp{(dir)}.
3414 The `Next' node refers to the first node that follows the main or master 3446 The `Next' node refers to the first node that follows the main or master
3415 menu, which is usually the copying permissions, introduction, or first 3447 menu, which is usually the copying permissions, introduction, or first
3416 chapter.@refill 3448 chapter.@refill
3417 3449
3418 @node Master Menu Parts, , Title of Top Node, The Top Node 3450 @node Master Menu Parts, , Title of Top Node, The Top Node
3419 @subsection Parts of a Master Menu 3451 @subsection Parts of a Master Menu
3420 @cindex Master menu parts 3452 @cindex Master menu parts
3421 @cindex Parts of a master menu 3453 @cindex Parts of a master menu
3422 3454
3423 A @dfn{master menu} is a detailed main menu listing all the nodes in a 3455 A @dfn{master menu} is a detailed main menu listing all the nodes in a
3494 @@end detailmenu 3526 @@end detailmenu
3495 @@end menu 3527 @@end menu
3496 @end group 3528 @end group
3497 @end example 3529 @end example
3498 3530
3499 @node Software Copying Permissions, , The Top Node, Beginning a File 3531 @node Software Copying Permissions, , The Top Node, Beginning a File
3500 @comment node-name, next, previous, up 3532 @comment node-name, next, previous, up
3501 @section Software Copying Permissions 3533 @section Software Copying Permissions
3502 @cindex Software copying permissions 3534 @cindex Software copying permissions
3503 @cindex Copying software 3535 @cindex Copying software
3504 @cindex Distribution 3536 @cindex Distribution
3647 @noindent 3679 @noindent
3648 (Readers often prefer that the concept index come last in a book, 3680 (Readers often prefer that the concept index come last in a book,
3649 since that makes it easiest to find.)@refill 3681 since that makes it easiest to find.)@refill
3650 3682
3651 @ignore 3683 @ignore
3684 @c TeX can do sorting, just not conveniently enough to handle sorting
3685 @c Texinfo indexes. --karl, 5may97.
3652 In @TeX{}, the @code{@@printindex} command needs a sorted index file 3686 In @TeX{}, the @code{@@printindex} command needs a sorted index file
3653 to work from. @TeX{} does not know how to do sorting; this is a 3687 to work from. @TeX{} does not know how to do sorting; this is a
3654 deficiency. @TeX{} writes output files of raw index data; use the 3688 deficiency. @TeX{} writes output files of raw index data; use the
3655 @code{texindex} program to convert these files to sorted index files. 3689 @code{texindex} program to convert these files to sorted index files.
3656 (@xref{Format/Print Hardcopy}, for more information.)@refill 3690 (@xref{Format/Print Hardcopy}, for more information.)@refill
3657 @end ignore 3691 @end ignore
3692
3693
3658 @node Contents, File End, Printing Indices & Menus, Ending a File 3694 @node Contents, File End, Printing Indices & Menus, Ending a File
3659 @comment node-name, next, previous, up 3695 @comment node-name, next, previous, up
3660 @section Generating a Table of Contents 3696 @section Generating a Table of Contents
3661 @cindex Table of contents 3697 @cindex Table of contents
3662 @cindex Contents, Table of 3698 @cindex Contents, Table of
3721 3757
3722 Since an Info file uses menus instead of tables of contents, the Info 3758 Since an Info file uses menus instead of tables of contents, the Info
3723 formatting commands ignore the @code{@@contents} and 3759 formatting commands ignore the @code{@@contents} and
3724 @code{@@shortcontents} commands.@refill 3760 @code{@@shortcontents} commands.@refill
3725 3761
3726 @node File End, , Contents, Ending a File 3762 @node File End, , Contents, Ending a File
3727 @comment node-name, next, previous, up 3763 @comment node-name, next, previous, up
3728 @section @code{@@bye} File Ending 3764 @section @code{@@bye} File Ending
3729 @findex bye 3765 @findex bye
3730 3766
3731 An @code{@@bye} command terminates @TeX{} or Info formatting. None of 3767 An @code{@@bye} command terminates @TeX{} or Info formatting. None of
3823 follow; the @code{@@node} and @code{@@menu} commands are described in 3859 follow; the @code{@@node} and @code{@@menu} commands are described in
3824 following chapters. (@xref{Nodes}, and see @ref{Menus}.)@refill 3860 following chapters. (@xref{Nodes}, and see @ref{Menus}.)@refill
3825 3861
3826 @node Structuring Command Types, makeinfo top, Tree Structuring, Structuring 3862 @node Structuring Command Types, makeinfo top, Tree Structuring, Structuring
3827 @comment node-name, next, previous, up 3863 @comment node-name, next, previous, up
3828 @section Types of Structuring Command 3864 @section Types of Structuring Commands
3829 3865
3830 The chapter structuring commands fall into four groups or series, each 3866 The chapter structuring commands fall into four groups or series, each
3831 of which contains structuring commands corresponding to the 3867 of which contains structuring commands corresponding to the
3832 hierarchical levels of chapters, sections, subsections, and 3868 hierarchical levels of chapters, sections, subsections, and
3833 subsubsections.@refill 3869 subsubsections.@refill
3974 @node makeinfo top, chapter, Structuring Command Types, Structuring 4010 @node makeinfo top, chapter, Structuring Command Types, Structuring
3975 @comment node-name, next, previous, up 4011 @comment node-name, next, previous, up
3976 @section @code{@@top} 4012 @section @code{@@top}
3977 4013
3978 The @code{@@top} command is a special sectioning command that you use 4014 The @code{@@top} command is a special sectioning command that you use
3979 only after an @code{@@node Top} line at the beginning of a Texinfo file. 4015 only after an @samp{@@node Top} line at the beginning of a Texinfo file.
3980 The @code{@@top} command tells the @code{makeinfo} formatter 4016 The @code{@@top} command tells the @code{makeinfo} formatter
3981 which node is the `Top' 4017 which node is the `Top'
3982 node. It has the same typesetting effect as @code{@@unnumbered} 4018 node. It has the same typesetting effect as @code{@@unnumbered}
3983 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}). 4019 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}).
3984 For detailed information, see 4020 For detailed information, see
4238 This is a subsubsection 4274 This is a subsubsection
4239 ....................... 4275 .......................
4240 @end group 4276 @end group
4241 @end example 4277 @end example
4242 4278
4243 @node Raise/lower sections, , subsubsection, Structuring 4279 @node Raise/lower sections, , subsubsection, Structuring
4244 @comment node-name, next, previous, up 4280 @comment node-name, next, previous, up
4245 @section @code{@@raisesections} and @code{@@lowersections} 4281 @section @code{@@raisesections} and @code{@@lowersections}
4246 @findex raisesections 4282 @findex raisesections
4247 @findex lowersections 4283 @findex lowersections
4248 @cindex Raising and lowering sections 4284 @cindex Raising and lowering sections
4252 lower the hierarchical level of chapters, sections, subsections and the 4288 lower the hierarchical level of chapters, sections, subsections and the
4253 like. The @code{@@raisesections} command changes sections to chapters, 4289 like. The @code{@@raisesections} command changes sections to chapters,
4254 subsections to sections, and so on. The @code{@@lowersections} command 4290 subsections to sections, and so on. The @code{@@lowersections} command
4255 changes chapters to sections, sections to subsections, and so on. 4291 changes chapters to sections, sections to subsections, and so on.
4256 4292
4293 @cindex Include files, and section levels
4257 An @code{@@lowersections} command is useful if you wish to include text 4294 An @code{@@lowersections} command is useful if you wish to include text
4258 that is written as an outer or standalone Texinfo file in another 4295 that is written as an outer or standalone Texinfo file in another
4259 Texinfo file as an inner, included file. If you write the command at 4296 Texinfo file as an inner, included file. If you write the command at
4260 the beginning of the file, all your @code{@@chapter} commands are 4297 the beginning of the file, all your @code{@@chapter} commands are
4261 formatted as if they were @code{@@section} commands, all your 4298 formatted as if they were @code{@@section} commands, all your
4296 those structuring commands that follow the command in the Texinfo file. 4333 those structuring commands that follow the command in the Texinfo file.
4297 Write an @code{@@raisesections} or @code{@@lowersections} command on a 4334 Write an @code{@@raisesections} or @code{@@lowersections} command on a
4298 line of its own. 4335 line of its own.
4299 4336
4300 An @code{@@lowersections} command cancels an @code{@@raisesections} 4337 An @code{@@lowersections} command cancels an @code{@@raisesections}
4301 command, and vice versa. 4338 command, and vice versa. Typically, the commands are used like this:
4339
4340 @example
4341 @@lowersections
4342 @@include somefile.texi
4343 @@raisesections
4344 @end example
4345
4346 Without the @code{@@raisesections}, all the subsequent sections in your
4347 document will be lowered.
4302 4348
4303 Repeated use of the commands continue to raise or lower the hierarchical 4349 Repeated use of the commands continue to raise or lower the hierarchical
4304 level a step at a time. 4350 level a step at a time.
4305 4351
4306 An attempt to raise above `chapters' reproduces chapter commands; an 4352 An attempt to raise above `chapters' reproduces chapter commands; an
4496 about nodes in Info.)@refill 4542 about nodes in Info.)@refill
4497 4543
4498 Usually, you write one of the chapter-structuring command lines 4544 Usually, you write one of the chapter-structuring command lines
4499 immediately after an @code{@@node} line---for example, an 4545 immediately after an @code{@@node} line---for example, an
4500 @code{@@section} or @code{@@subsection} line. (@xref{Structuring 4546 @code{@@section} or @code{@@subsection} line. (@xref{Structuring
4501 Command Types, , Types of Structuring Command}.)@refill 4547 Command Types, , Types of Structuring Commands}.)@refill
4502 4548
4503 @quotation 4549 @quotation
4504 @strong{Please note:} The GNU Emacs Texinfo mode updating commands work 4550 @strong{Please note:} The GNU Emacs Texinfo mode updating commands work
4505 only with Texinfo files in which @code{@@node} lines are followed by chapter 4551 only with Texinfo files in which @code{@@node} lines are followed by chapter
4506 structuring lines. @xref{Updating Requirements}.@refill 4552 structuring lines. @xref{Updating Requirements}.@refill
4669 @@findex chapter 4715 @@findex chapter
4670 @end group 4716 @end group
4671 @end smallexample 4717 @end smallexample
4672 4718
4673 @cindex Comma in nodename 4719 @cindex Comma in nodename
4674 @cindex Colon in nodename
4675 @cindex Apostrophe in nodename 4720 @cindex Apostrophe in nodename
4676 @item 4721 @item
4677 You cannot use commas, colons, or apostrophes within a node name; these 4722 You cannot use commas or apostrophes within a node name; these
4678 confuse @TeX{} or the Info formatters.@refill 4723 confuse @TeX{} or the Info formatters.@refill
4679 4724
4680 @need 700 4725 @need 700
4681 For example, the following is a section title: 4726 For example, the following is a section title:
4682 4727
4694 @cindex Case in nodename 4739 @cindex Case in nodename
4695 @item 4740 @item
4696 Case is significant. 4741 Case is significant.
4697 @end itemize 4742 @end itemize
4698 4743
4744
4699 @node First Node, makeinfo top command, Node Line Requirements, node 4745 @node First Node, makeinfo top command, Node Line Requirements, node
4700 @comment node-name, next, previous, up 4746 @comment node-name, next, previous, up
4701 @subsection The First Node 4747 @subsection The First Node
4702 @cindex @samp{@r{Top}} node is first 4748 @cindex Top node is first
4703 @cindex First node 4749 @cindex First node
4704 4750
4705 The first node of a Texinfo file is the `Top' node, except in an 4751 The first node of a Texinfo file is the @dfn{Top} node, except in an
4706 included file (@pxref{Include Files}). 4752 included file (@pxref{Include Files}). The Top node contains the main
4707 4753 or master menu for the document, and a short summary of the document
4708 The `Top' node (which must be named @samp{top} or @samp{Top}) should 4754 (@pxref{Top Node Summary}).
4709 have as its `Up' and `Previous' nodes the name of a node in another 4755
4710 file, where there is a menu that leads to this file. Specify the file 4756 @cindex Up node of Top node
4711 name in parentheses. If the file is to be installed directly in the 4757 @cindex (dir) as Up node of Top node
4712 Info directory file, use @samp{(dir)} as the parent of the `Top' node; 4758 The Top node (which must be named @samp{top} or @samp{Top}) should have
4713 this is short for @samp{(dir)top}, and specifies the `Top' node in the 4759 as its `Up' node the name of a node in another file, where there is a
4714 @file{dir} file, which contains the main menu for Info. For example, 4760 menu that leads to this file. Specify the file name in parentheses. If
4715 the @code{@@node Top} line of this manual looks like this:@refill 4761 the file is to be installed directly in the Info directory file, use
4716 4762 @samp{(dir)} as the parent of the Top node; this is short for
4717 @example 4763 @samp{(dir)top}, and specifies the Top node in the @file{dir} file,
4718 @@node Top, Overview, (dir), (dir) 4764 which contains the main menu for the Info system as a whole. For
4719 @end example 4765 example, the @code{@@node Top} line of this manual looks like this:
4720 4766
4721 @noindent 4767 @example
4722 (You may use the Texinfo updating commands or the @code{makeinfo} 4768 @@node Top, Copying, , (dir)
4723 utility to insert these `Next' and @samp{(dir)} pointers 4769 @end example
4724 automatically.)@refill 4770
4771 @noindent
4772 (You can use the Texinfo updating commands or the @code{makeinfo}
4773 utility to insert these pointers automatically.)
4774
4775 @cindex Previous node of Top node
4776 Do not define the `Previous' node of the Top node to be @samp{(dir)}, as
4777 it causes confusing behavior for users: if you are in the Top node and
4778 hits @key{DEL} to go backwards, you wind up in the middle of the
4779 some other entry in the @file{dir} file, which has nothing to do with
4780 what you were reading.
4725 4781
4726 @xref{Install an Info File}, for more information about installing 4782 @xref{Install an Info File}, for more information about installing
4727 an Info file in the @file{info} directory.@refill 4783 an Info file in the @file{info} directory.
4728 4784
4729 The `Top' node contains the main or master menu for the document.
4730 4785
4731 @node makeinfo top command, Top Node Summary, First Node, node 4786 @node makeinfo top command, Top Node Summary, First Node, node
4732 @comment node-name, next, previous, up 4787 @comment node-name, next, previous, up
4733 @subsection The @code{@@top} Sectioning Command 4788 @subsection The @code{@@top} Sectioning Command
4734 @findex top @r{(@@-command)} 4789 @findex top @r{(@@-command)}
4752 @code{@@unnumbered} after the @code{@@node Top} line when you use 4807 @code{@@unnumbered} after the @code{@@node Top} line when you use
4753 these formatters. Also, you can use @code{@@chapter} or 4808 these formatters. Also, you can use @code{@@chapter} or
4754 @code{@@unnumbered} when you use the Texinfo updating commands to 4809 @code{@@unnumbered} when you use the Texinfo updating commands to
4755 create or update pointers and menus.@refill 4810 create or update pointers and menus.@refill
4756 4811
4757 @node Top Node Summary, , makeinfo top command, node 4812
4813 @node Top Node Summary, , makeinfo top command, node
4758 @subsection The `Top' Node Summary 4814 @subsection The `Top' Node Summary
4759 @cindex @samp{@r{Top}} node summary 4815 @cindex @samp{@r{Top}} node summary
4760 4816
4761 You can help readers by writing a summary in the `Top' node, after the 4817 You can help readers by writing a summary in the `Top' node, after the
4762 @code{@@top} line, before the main or master menu. The summary should 4818 @code{@@top} line, before the main or master menu. The summary should
4781 frequently than the program or is independent of it, you should also 4837 frequently than the program or is independent of it, you should also
4782 include an edition number for the manual. (The title page should also 4838 include an edition number for the manual. (The title page should also
4783 contain this information: see @ref{titlepage, , 4839 contain this information: see @ref{titlepage, ,
4784 @code{@@titlepage}}.)@refill 4840 @code{@@titlepage}}.)@refill
4785 4841
4786 @node makeinfo Pointer Creation, , node, Nodes 4842 @node makeinfo Pointer Creation, , node, Nodes
4787 @section Creating Pointers with @code{makeinfo} 4843 @section Creating Pointers with @code{makeinfo}
4788 @cindex Creating pointers with @code{makeinfo} 4844 @cindex Creating pointers with @code{makeinfo}
4789 @cindex Pointer creation with @code{makeinfo} 4845 @cindex Pointer creation with @code{makeinfo}
4790 @cindex Automatic pointer creation with @code{makeinfo} 4846 @cindex Automatic pointer creation with @code{makeinfo}
4791 4847
4943 @section The Parts of a Menu 4999 @section The Parts of a Menu
4944 @cindex Parts of a menu 5000 @cindex Parts of a menu
4945 @cindex Menu parts 5001 @cindex Menu parts
4946 @cindex @code{@@menu} parts 5002 @cindex @code{@@menu} parts
4947 5003
4948 A menu entry has three parts, only the second of which is 5004 A menu entry has three parts, only the second of which is required:
4949 required:@refill
4950 5005
4951 @enumerate 5006 @enumerate
4952 @item 5007 @item
4953 The menu entry name. 5008 The menu entry name (optional).
4954 5009
4955 @item 5010 @item
4956 The name of the node (required). 5011 The name of the node (required).
4957 5012
4958 @item 5013 @item
4959 A description of the item. 5014 A description of the item (optional).
4960 @end enumerate 5015 @end enumerate
4961 5016
4962 The template for a menu entry looks like this:@refill 5017 The template for a menu entry looks like this:@refill
4963 5018
4964 @example 5019 @example
4970 5025
4971 In Info, a user selects a node with the @kbd{m} (@code{Info-menu}) 5026 In Info, a user selects a node with the @kbd{m} (@code{Info-menu})
4972 command. The menu entry name is what the user types after the @kbd{m} 5027 command. The menu entry name is what the user types after the @kbd{m}
4973 command.@refill 5028 command.@refill
4974 5029
4975 The third part of a menu entry is a descriptive phrase or 5030 The third part of a menu entry is a descriptive phrase or sentence.
4976 sentence. Menu entry names and node names are often short; the 5031 Menu entry names and node names are often short; the description
4977 description explains to the reader what the node is about. The 5032 explains to the reader what the node is about. A useful description
4978 description, which is optional, can spread over two or more lines. A 5033 complements the node name rather than repeats it. The description,
4979 useful description complements the node name rather than repeats 5034 which is optional, can spread over two or more lines; if it does, some
4980 it.@refill 5035 authors prefer to indent the second line while others prefer to align it
5036 with the first (and all others). It's up to you.
5037
4981 5038
4982 @node Less Cluttered Menu Entry, Menu Example, Menu Parts, Menus 5039 @node Less Cluttered Menu Entry, Menu Example, Menu Parts, Menus
4983 @comment node-name, next, previous, up 5040 @comment node-name, next, previous, up
4984 @section Less Cluttered Menu Entry 5041 @section Less Cluttered Menu Entry
4985 @cindex Two part menu entry 5042 @cindex Two part menu entry
5078 5135
5079 Since no file name is specified with either @samp{Files} or 5136 Since no file name is specified with either @samp{Files} or
5080 @samp{Buffers}, they must be the names of nodes in the same Info file 5137 @samp{Buffers}, they must be the names of nodes in the same Info file
5081 (@pxref{Other Info Files, , Referring to Other Info Files}).@refill 5138 (@pxref{Other Info Files, , Referring to Other Info Files}).@refill
5082 5139
5083 @node Other Info Files, , Menu Example, Menus 5140 @node Other Info Files, , Menu Example, Menus
5084 @comment node-name, next, previous, up 5141 @comment node-name, next, previous, up
5085 @section Referring to Other Info Files 5142 @section Referring to Other Info Files
5086 @cindex Referring to other Info files 5143 @cindex Referring to other Info files
5087 @cindex Nodes in other Info files 5144 @cindex Nodes in other Info files
5088 @cindex Other Info files' nodes 5145 @cindex Other Info files' nodes
5167 * xref:: Begin a reference with `See' @dots{} 5224 * xref:: Begin a reference with `See' @dots{}
5168 * Top Node Naming:: How to refer to the beginning of another file. 5225 * Top Node Naming:: How to refer to the beginning of another file.
5169 * ref:: A reference for the last part of a sentence. 5226 * ref:: A reference for the last part of a sentence.
5170 * pxref:: How to write a parenthetical cross reference. 5227 * pxref:: How to write a parenthetical cross reference.
5171 * inforef:: How to refer to an Info-only file. 5228 * inforef:: How to refer to an Info-only file.
5229 * uref:: How to refer to a uniform resource locator.
5172 @end menu 5230 @end menu
5173 5231
5174 @node References, Cross Reference Commands, Cross References, Cross References 5232 @node References, Cross Reference Commands, Cross References, Cross References
5175 @ifinfo 5233 @ifinfo
5176 @heading What References Are For 5234 @heading What References Are For
5200 5258
5201 The various cross reference commands use nodes to define cross 5259 The various cross reference commands use nodes to define cross
5202 reference locations. This is evident in Info, in which a cross 5260 reference locations. This is evident in Info, in which a cross
5203 reference takes you to the specified node. @TeX{} also uses nodes to 5261 reference takes you to the specified node. @TeX{} also uses nodes to
5204 define cross reference locations, but the action is less obvious. When 5262 define cross reference locations, but the action is less obvious. When
5205 @TeX{} generates a @sc{dvi} file, it records nodes' page numbers and 5263 @TeX{} generates a DVI file, it records nodes' page numbers and
5206 uses the page numbers in making references. Thus, if you are writing 5264 uses the page numbers in making references. Thus, if you are writing
5207 a manual that will only be printed, and will not be used on-line, you 5265 a manual that will only be printed, and will not be used on-line, you
5208 must nonetheless write @code{@@node} lines to name the places to which 5266 must nonetheless write @code{@@node} lines to name the places to which
5209 you make cross references.@refill 5267 you make cross references.@refill
5210 5268
5312 node provides the page reference only for references within the same 5370 node provides the page reference only for references within the same
5313 document.@refill 5371 document.@refill
5314 5372
5315 @item 5373 @item
5316 The cross reference name for the Info reference, if it is to be different 5374 The cross reference name for the Info reference, if it is to be different
5317 from the node name. If you include this argument, it argument becomes 5375 from the node name. If you include this argument, it becomes
5318 the first part of the cross reference. It is usually omitted.@refill 5376 the first part of the cross reference. It is usually omitted.@refill
5319 5377
5320 @item 5378 @item
5321 A topic description or section name. Often, this is the title of the 5379 A topic description or section name. Often, this is the title of the
5322 section. This is used as the name of the reference in the printed 5380 section. This is used as the name of the reference in the printed
5323 manual. If omitted, the node name is used.@refill 5381 manual. If omitted, the node name is used.@refill
5324 5382
5325 @item 5383 @item
5326 The name of the Info file in which the reference is located, if it is 5384 The name of the Info file in which the reference is located, if it is
5327 different from the current file.@refill 5385 different from the current file. You need not include any @samp{.info}
5386 suffix on the file name, since Info readers try appending it
5387 automatically.
5328 5388
5329 @item 5389 @item
5330 The name of a printed manual from a different Texinfo file.@refill 5390 The name of a printed manual from a different Texinfo file.@refill
5331 @end enumerate 5391 @end enumerate
5332 5392
5639 As a practical matter, it is often best to write cross references with 5699 As a practical matter, it is often best to write cross references with
5640 just the first argument if the node name and the section title are the 5700 just the first argument if the node name and the section title are the
5641 same, and with the first and third arguments if the node name and title 5701 same, and with the first and third arguments if the node name and title
5642 are different.@refill 5702 are different.@refill
5643 5703
5644 Here are several examples from @cite{The GAWK Manual}:@refill 5704 Here are several examples from @cite{The GNU Awk User's Guide}:@refill
5645 5705
5646 @smallexample 5706 @smallexample
5647 @@xref@{Sample Program@}. 5707 @@xref@{Sample Program@}.
5648 @@xref@{Glossary@}. 5708 @@xref@{Glossary@}.
5649 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}. 5709 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}.
5650 @@xref@{Close Output, , Closing Output Files and Pipes@}, 5710 @@xref@{Close Output, , Closing Output Files and Pipes@},
5651 for more information. 5711 for more information.
5652 @@xref@{Regexp, , Regular Expressions as Patterns@}. 5712 @@xref@{Regexp, , Regular Expressions as Patterns@}.
5653 @end smallexample 5713 @end smallexample
5654 5714
5655 @node Four and Five Arguments, , Three Arguments, xref 5715 @node Four and Five Arguments, , Three Arguments, xref
5656 @subsection @code{@@xref} with Four and Five Arguments 5716 @subsection @code{@@xref} with Four and Five Arguments
5657 5717
5658 In a cross reference, a fourth argument specifies the name of another 5718 In a cross reference, a fourth argument specifies the name of another
5659 Info file, different from the file in which the reference appears, and 5719 Info file, different from the file in which the reference appears, and
5660 a fifth argument specifies its title as a printed manual.@refill 5720 a fifth argument specifies its title as a printed manual.@refill
5976 Also, parenthetical cross references look best at the ends of sentences. 6036 Also, parenthetical cross references look best at the ends of sentences.
5977 Although you may write them in the middle of a sentence, that location 6037 Although you may write them in the middle of a sentence, that location
5978 breaks up the flow of text.@refill 6038 breaks up the flow of text.@refill
5979 @end quotation 6039 @end quotation
5980 6040
5981 @node inforef, , pxref, Cross References 6041 @node inforef, uref, pxref, Cross References
5982 @comment node-name, next, previous, up
5983 @section @code{@@inforef} 6042 @section @code{@@inforef}
5984 @cindex Cross references using @code{@@inforef} 6043 @cindex Cross references using @code{@@inforef}
5985 @cindex References using @code{@@inforef} 6044 @cindex References using @code{@@inforef}
5986 @findex inforef 6045 @findex inforef
5987 6046
6073 @end quotation 6132 @end quotation
6074 6133
6075 The converse of @code{@@inforef} is @code{@@cite}, which is used to 6134 The converse of @code{@@inforef} is @code{@@cite}, which is used to
6076 refer to printed works for which no Info form exists. @xref{cite, , 6135 refer to printed works for which no Info form exists. @xref{cite, ,
6077 @code{@@cite}}.@refill 6136 @code{@@cite}}.@refill
6137
6138
6139 @node uref, , inforef, Cross References
6140 @section @code{@@uref@{@var{url}[, @var{displayed-text}]@}}
6141 @findex uref
6142 @cindex Uniform resource locator, referring to
6143 @cindex URL, referring to
6144
6145 @code{@@uref} produces a reference to a uniform resource locator (URL).
6146 It takes one mandatory argument, the URL, and one optional argument, the
6147 text to display (the default is the URL itself). In HTML output,
6148 @code{@@uref} produces a link you can follow. For example:
6149
6150 @example
6151 The official GNU ftp site is
6152 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}
6153 @end example
6154
6155 @noindent produces (in text):
6156 @display
6157 The official GNU ftp site is
6158 @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu}
6159 @end display
6160
6161 @noindent whereas
6162 @example
6163 The official
6164 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu,
6165 GNU ftp site@} holds programs and texts.
6166 @end example
6167
6168 @noindent produces (in text):
6169 @display
6170 The official @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu, GNU ftp site} holds
6171 programs and texts.
6172 @end display
6173
6174 @noindent and (in HTML):
6175 @example
6176 The official <A HREF="ftp://ftp.gnu.ai.mit.edu/pub/gnu">GNU ftp
6177 site</A> holds programs and texts.
6178 @end example
6179
6180 To merely indicate a URL, use @code{@@url} (@pxref{url, @code{@@url}}).
6181
6078 6182
6079 @node Marking Text, Quotations and Examples, Cross References, Top 6183 @node Marking Text, Quotations and Examples, Cross References, Top
6080 @comment node-name, next, previous, up 6184 @comment node-name, next, previous, up
6081 @chapter Marking Words and Phrases 6185 @chapter Marking Words and Phrases
6082 @cindex Paragraph, marking text within 6186 @cindex Paragraph, marking text within
6169 Indicate a uniform resource locator for the World Wide Web. 6273 Indicate a uniform resource locator for the World Wide Web.
6170 6274
6171 @item @@file@{@var{file-name}@} 6275 @item @@file@{@var{file-name}@}
6172 Indicate the name of a file.@refill 6276 Indicate the name of a file.@refill
6173 6277
6174 @item @@email@{@var{email-address}@} 6278 @item @@email@{@var{email-address}[, @var{displayed-text}]@}
6175 Indicate an electronic mail address. 6279 Indicate an electronic mail address.
6176 6280
6177 @item @@dfn@{@var{term}@} 6281 @item @@dfn@{@var{term}@}
6178 Indicate the introductory or defining use of a term.@refill 6282 Indicate the introductory or defining use of a term.@refill
6179 6283
6268 @example 6372 @example
6269 Use `diff' to compare two files. 6373 Use `diff' to compare two files.
6270 @end example 6374 @end example
6271 @end iftex 6375 @end iftex
6272 6376
6377
6273 @node kbd, key, code, Indicating 6378 @node kbd, key, code, Indicating
6274 @comment node-name, next, previous, up
6275 @subsection @code{@@kbd}@{@var{keyboard-characters}@} 6379 @subsection @code{@@kbd}@{@var{keyboard-characters}@}
6276 @findex kbd 6380 @findex kbd
6381 @cindex keyboard input
6277 6382
6278 Use the @code{@@kbd} command for characters of input to be typed by 6383 Use the @code{@@kbd} command for characters of input to be typed by
6279 users. For example, to refer to the characters @kbd{M-a}, 6384 users. For example, to refer to the characters @kbd{M-a},
6280 write@refill 6385 write@refill
6281 6386
6288 6393
6289 @example 6394 @example
6290 @@kbd@{M-x shell@} 6395 @@kbd@{M-x shell@}
6291 @end example 6396 @end example
6292 6397
6398 @cindex user input
6399 @cindex slanted typewriter font, for @code{@@kbd}
6293 The @code{@@kbd} command has the same effect as @code{@@code} in Info, 6400 The @code{@@kbd} command has the same effect as @code{@@code} in Info,
6294 but may produce a different font in a printed manual.@refill 6401 but by default produces a different font (slanted typewriter instead of
6402 normal typewriter) in the printed manual, so users can distinguish the
6403 characters they are supposed to type from those the computer outputs.
6404
6405 @findex kbdinputstyle
6406 Since the usage of @code{@@kbd} varies from manual to manual, you can
6407 control the font switching with the @code{@@kbdinputstyle} command.
6408 This command has no effect on Info output. Write this command at the
6409 beginning of a line with a single word as an argument, one of the
6410 following:
6411 @vindex distinct@r{, arg to @@kbdinputstyle}
6412 @vindex example@r{, arg to @@kbdinputstyle}
6413 @vindex code@r{, arg to @@kbdinputstyle}
6414 @table @samp
6415 @item code
6416 Always use the same font for @code{@@kbd} as @code{@@code}.
6417 @item example
6418 Use the distinguishing font for @code{@@kbd} only in @code{@@example}
6419 and similar environments.
6420 @item example
6421 (the default) Always use the distinguishing font for @code{@@kbd}.
6422 @end table
6295 6423
6296 You can embed another @@-command inside the braces of an @code{@@kbd} 6424 You can embed another @@-command inside the braces of an @code{@@kbd}
6297 command. Here, for example, is the way to describe a command that 6425 command. Here, for example, is the way to describe a command that
6298 would be described more verbosely as ``press an @samp{r} and then 6426 would be described more verbosely as ``press an @samp{r} and then
6299 press the @key{RET} key'':@refill 6427 press the @key{RET} key'':@refill
6322 @end quotation 6450 @end quotation
6323 6451
6324 (Also, this example shows that you can add spaces for clarity. If you 6452 (Also, this example shows that you can add spaces for clarity. If you
6325 really want to mention a space character as one of the characters of 6453 really want to mention a space character as one of the characters of
6326 input, write @kbd{@@key@{SPC@}} for it.)@refill 6454 input, write @kbd{@@key@{SPC@}} for it.)@refill
6455
6327 6456
6328 @node key, samp, kbd, Indicating 6457 @node key, samp, kbd, Indicating
6329 @comment node-name, next, previous, up 6458 @comment node-name, next, previous, up
6330 @subsection @code{@@key}@{@var{key-name}@} 6459 @subsection @code{@@key}@{@var{key-name}@}
6331 @findex key 6460 @findex key
6380 @end table 6509 @end table
6381 @end quotation 6510 @end quotation
6382 6511
6383 @cindex META key 6512 @cindex META key
6384 There are subtleties to handling words like `meta' or `ctrl' that are 6513 There are subtleties to handling words like `meta' or `ctrl' that are
6385 names of shift keys. When mentioning a character in which the shift key 6514 names of modifier keys. When mentioning a character in which the
6386 is used, such as @kbd{Meta-a}, use the @code{@@kbd} command alone; do 6515 modifier key is used, such as @kbd{Meta-a}, use the @code{@@kbd} command
6387 not use the @code{@@key} command; but when you are referring to the 6516 alone; do not use the @code{@@key} command; but when you are referring
6388 shift key in isolation, use the @code{@@key} command. For example, 6517 to the modifier key in isolation, use the @code{@@key} command. For
6389 write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and 6518 example, write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and
6390 @samp{@@key@{META@}} to produce @key{META}. 6519 @samp{@@key@{META@}} to produce @key{META}.
6391 6520
6392 @c I don't think this is a good explanation. 6521 @c I don't think this is a good explanation.
6393 @c I think it will puzzle readers more than it clarifies matters. -- rms. 6522 @c I think it will puzzle readers more than it clarifies matters. -- rms.
6394 @c In other words, use @code{@@kbd} for what you do, and use @code{@@key} 6523 @c In other words, use @code{@@kbd} for what you do, and use @code{@@key}
6419 To match @samp{foo} at the end of the line, use the regexp 6548 To match @samp{foo} at the end of the line, use the regexp
6420 @samp{foo$}.@refill 6549 @samp{foo$}.@refill
6421 @end quotation 6550 @end quotation
6422 6551
6423 Any time you are referring to single characters, you should use 6552 Any time you are referring to single characters, you should use
6424 @code{@@samp} unless @code{@@kbd} is more appropriate. Use 6553 @code{@@samp} unless @code{@@kbd} or @code{@@key} is more appropriate.
6425 @code{@@samp} for the names of command-line options. Also, you may use 6554 Use @code{@@samp} for the names of command-line options (except in an
6426 @code{@@samp} for entire statements in C and for entire shell 6555 @code{@@table}, where @code{@@code} seems to read more easily). Also,
6427 commands---in this case, @code{@@samp} often looks better than 6556 you may use @code{@@samp} for entire statements in C and for entire
6557 shell commands---in this case, @code{@@samp} often looks better than
6428 @code{@@code}. Basically, @code{@@samp} is a catchall for whatever is 6558 @code{@@code}. Basically, @code{@@samp} is a catchall for whatever is
6429 not covered by @code{@@code}, @code{@@kbd}, or @code{@@key}.@refill 6559 not covered by @code{@@code}, @code{@@kbd}, or @code{@@key}.@refill
6430 6560
6431 Only include punctuation marks within braces if they are part of the 6561 Only include punctuation marks within braces if they are part of the
6432 string you are specifying. Write punctuation marks outside the braces 6562 string you are specifying. Write punctuation marks outside the braces
6462 documentation of a function to describe the arguments that are passed 6592 documentation of a function to describe the arguments that are passed
6463 to that function.@refill 6593 to that function.@refill
6464 6594
6465 Do not use @code{@@var} for the names of particular variables in 6595 Do not use @code{@@var} for the names of particular variables in
6466 programming languages. These are specific names from a program, so 6596 programming languages. These are specific names from a program, so
6467 @code{@@code} is correct for them. For example, the Lisp variable 6597 @code{@@code} is correct for them. For example, the Emacs Lisp variable
6468 @code{texinfo-tex-command} is not a metasyntactic variable; it is 6598 @code{texinfo-tex-command} is not a metasyntactic variable; it is
6469 properly formatted using @code{@@code}.@refill 6599 properly formatted using @code{@@code}.@refill
6470 6600
6471 The effect of @code{@@var} in the Info file is to change the case of 6601 The effect of @code{@@var} in the Info file is to change the case of
6472 the argument to all upper case; in the printed manual, to italicize it. 6602 the argument to all upper case; in the printed manual, to italicize it.
6641 In a printed manual, @code{@@ctrl} generates text to describe or 6771 In a printed manual, @code{@@ctrl} generates text to describe or
6642 identify that control character: an uparrow followed by the character 6772 identify that control character: an uparrow followed by the character
6643 @var{ch}.@refill 6773 @var{ch}.@refill
6644 @end ignore 6774 @end ignore
6645 6775
6776
6646 @node url, email, cite, Indicating 6777 @node url, email, cite, Indicating
6647 @subsection @code{@@url}@{@var{uniform-resource-locator}@} 6778 @subsection @code{@@url}@{@var{uniform-resource-locator}@}
6648 @findex url 6779 @findex url
6649 6780 @cindex Uniform resource locator, indicating
6650 Use the @code{@@url} command to indicate a uniform resource locator on 6781 @cindex URL, indicating
6651 the World Wide Web. For example: 6782
6783 Use the @code{@@url} to indicate a uniform resource locator on the World
6784 Wide Web. This is analogous to @code{@@file}, @code{@@var}, etc., and
6785 is purely for markup purposes. It does not produce a link you can
6786 follow in HTML output (the @code{@@uref} command does, @pxref{uref,,
6787 @code{@@uref}}). It is useful for example URL's which do not actually
6788 exist. For example:
6652 6789
6653 @c Two lines because one is too long for smallbook format. 6790 @c Two lines because one is too long for smallbook format.
6654 @example 6791 @example
6655 The official GNU ftp site is 6792 For example, the url might be
6656 @@url@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}. 6793 @@url@{http://host.domain.org/path@}.
6657 @end example 6794 @end example
6658 6795
6659 In Info and @TeX{}, this acts like @code{@@samp}. When 6796
6660 Texinfo is converted to HTML, this produces a link you can follow. 6797 @node email, , url, Indicating
6661 6798 @subsection @code{@@email}@{@var{email-address}[, @var{displayed-text}]@}
6662 @node email, , url, Indicating
6663 @subsection @code{@@email}@{@var{email-address}@}
6664 @findex email 6799 @findex email
6665 6800
6666 Use the @code{@@email} command to indicate an electronic mail address. 6801 Use the @code{@@email} command to indicate an electronic mail address.
6802 It takes one mandatory argument, the address, and one optional argument, the
6803 text to display (the default is the address itself).
6804
6805 @cindex mailto link
6806 In Info and @TeX{}, the address is shown in angle brackets, preceded by
6807 the text to display if any. In HTML output, @code{@@email} produces a
6808 @samp{mailto} link that usually brings up a mail composition window.
6667 For example: 6809 For example:
6668 6810
6669 @example 6811 @example
6812 Send bug reports to @@email@{bug-texinfo@@@@prep.ai.mit.edu@}.
6813 Send suggestions to the @@email@{bug-texinfo@@@@prep.ai.mit.edu, same place@}.
6814 @end example
6815 @noindent produces
6816 @example
6670 Send bug reports to @email{bug-texinfo@@prep.ai.mit.edu}. 6817 Send bug reports to @email{bug-texinfo@@prep.ai.mit.edu}.
6671 @end example 6818 Send suggestions to the @email{bug-texinfo@@prep.ai.mit.edu, same place}.
6672 6819 @end example
6673 In Info and @TeX{}, this acts like @code{@@samp}. When we have support 6820
6674 for conversion of Texinfo to HTML, this will produce a link you can 6821
6675 follow to bring up a mail composition window initialized with 6822 @node Emphasis, , Indicating, Marking Text
6676 @var{email-address}.
6677
6678 @node Emphasis, , Indicating, Marking Text
6679 @comment node-name, next, previous, up 6823 @comment node-name, next, previous, up
6680 @section Emphasizing Text 6824 @section Emphasizing Text
6681 @cindex Emphasizing text 6825 @cindex Emphasizing text
6682 6826
6683 Usually, Texinfo changes the font to mark words in the text according to 6827 Usually, Texinfo changes the font to mark words in the text according to
6712 For example, 6856 For example,
6713 6857
6714 @example 6858 @example
6715 @group 6859 @group
6716 @@quotation 6860 @@quotation
6717 @@strong@{Caution:@} @@code@{rm * .[^.]*@} removes @@emph@{all@} 6861 @@strong@{Caution:@} @@samp@{rm * .[^.]*@} removes @@emph@{all@}
6718 files in the directory. 6862 files in the directory.
6719 @@end quotation 6863 @@end quotation
6720 @end group 6864 @end group
6721 @end example 6865 @end example
6722 6866
6852 6996
6853 If possible, you should avoid using the other three font commands. If 6997 If possible, you should avoid using the other three font commands. If
6854 you need to use one, it probably indicates a gap in the Texinfo 6998 you need to use one, it probably indicates a gap in the Texinfo
6855 language.@refill 6999 language.@refill
6856 7000
6857 @node Customized Highlighting, , Fonts, Emphasis 7001 @node Customized Highlighting, , Fonts, Emphasis
6858 @comment node-name, next, previous, up 7002 @comment node-name, next, previous, up
6859 @subsection Customized Highlighting 7003 @subsection Customized Highlighting
6860 @cindex Highlighting, customized 7004 @cindex Highlighting, customized
6861 @cindex Customized highlighting 7005 @cindex Customized highlighting
6862 7006
7251 @lisp 7395 @lisp
7252 This is an example of text written between an 7396 This is an example of text written between an
7253 @code{@@lisp} command and an @code{@@end lisp} command. 7397 @code{@@lisp} command and an @code{@@end lisp} command.
7254 @end lisp 7398 @end lisp
7255 7399
7256 Use @code{@@lisp} instead of @code{@@example} so as to preserve 7400 Use @code{@@lisp} instead of @code{@@example} to preserve information
7257 information regarding the nature of the example. This is useful, for 7401 regarding the nature of the example. This is useful, for example, if
7258 example, if you write a function that evaluates only and all the Lisp 7402 you write a function that evaluates only and all the Lisp code in a
7259 code in a Texinfo file. Then you can use the Texinfo file as a Lisp 7403 Texinfo file. Then you can use the Texinfo file as a Lisp
7260 library.@footnote{It would be straightforward to extend Texinfo to 7404 library.@footnote{It would be straightforward to extend Texinfo to work
7261 work in a similar fashion for C, @sc{fortran}, or other languages.}@refill 7405 in a similar fashion for C, Fortran, or other languages.}@refill
7262 7406
7263 Mark the end of @code{@@lisp} with @code{@@end lisp} on a line by 7407 Mark the end of @code{@@lisp} with @code{@@end lisp} on a line by
7264 itself.@refill 7408 itself.@refill
7265 7409
7266 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples 7410 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples
7457 written flushleft. 7601 written flushleft.
7458 @end flushleft 7602 @end flushleft
7459 @end quotation 7603 @end quotation
7460 7604
7461 7605
7462 Flushright produces the type of indentation often used in the return 7606 @code{@@flushright} produces the type of indentation often used in the
7463 address of letters.@refill 7607 return address of letters. For example,
7464
7465 @need 1500
7466 @noindent
7467 For example,
7468 7608
7469 @example 7609 @example
7470 @group 7610 @group
7471 @@flushright 7611 @@flushright
7472 Here is an example of text written 7612 Here is an example of text written
7485 flushright. The @code{@@flushright} command 7625 flushright. The @code{@@flushright} command
7486 right justifies every line but leaves the 7626 right justifies every line but leaves the
7487 left end ragged. 7627 left end ragged.
7488 @end flushright 7628 @end flushright
7489 7629
7490 @node cartouche, , flushleft & flushright, Quotations and Examples 7630 @node cartouche, , flushleft & flushright, Quotations and Examples
7491 @section Drawing Cartouches Around Examples 7631 @section Drawing Cartouches Around Examples
7492 @findex cartouche 7632 @findex cartouche
7493 @cindex Box with rounded corners 7633 @cindex Box with rounded corners
7494 7634
7495 In a printed manual, the @code{@@cartouche} command draws a box with 7635 In a printed manual, the @code{@@cartouche} command draws a box with
7507 @example 7647 @example
7508 @group 7648 @group
7509 @@example 7649 @@example
7510 @@cartouche 7650 @@cartouche
7511 % pwd 7651 % pwd
7512 /usr/local/lib/emacs/info 7652 /usr/local/share/emacs
7513 @@end cartouche 7653 @@end cartouche
7514 @@end example 7654 @@end example
7515 @end group 7655 @end group
7516 @end example 7656 @end example
7517 7657
7530 @end cartouche 7670 @end cartouche
7531 @end group 7671 @end group
7532 @end example 7672 @end example
7533 @end iftex 7673 @end iftex
7534 7674
7675
7535 @node Lists and Tables, Indices, Quotations and Examples, Top 7676 @node Lists and Tables, Indices, Quotations and Examples, Top
7536 @comment node-name, next, previous, up 7677 @chapter Lists and Tables
7537 @chapter Making Lists and Tables
7538 @cindex Making lists and tables 7678 @cindex Making lists and tables
7539 @cindex Lists and tables, making them 7679 @cindex Lists and tables, making
7540 @cindex Tables and lists, making them 7680 @cindex Tables and lists, making
7541 7681
7542 Texinfo has several ways of making lists and two-column tables. Lists can 7682 Texinfo has several ways of making lists and tables. Lists can be
7543 be bulleted or numbered, while two-column tables can highlight the items in 7683 bulleted or numbered; two-column tables can highlight the items in
7544 the first column.@refill 7684 the first column; multi-column tables are also supported.
7545 7685
7546 @menu 7686 @menu
7547 * Introducing Lists:: Texinfo formats lists for you. 7687 * Introducing Lists:: Texinfo formats lists for you.
7548 * itemize:: How to construct a simple list. 7688 * itemize:: How to construct a simple list.
7549 * enumerate:: How to construct a numbered list. 7689 * enumerate:: How to construct a numbered list.
7736 @comment node-name, next, previous, up 7876 @comment node-name, next, previous, up
7737 @section Making a Numbered or Lettered List 7877 @section Making a Numbered or Lettered List
7738 @cindex Enumeration 7878 @cindex Enumeration
7739 @findex enumerate 7879 @findex enumerate
7740 7880
7741 @code{@@enumerate} is like @code{@@itemize} except that the marks in 7881 @code{@@enumerate} is like @code{@@itemize} (@pxref{itemize,,
7742 the left margin contain successive integers or letters. 7882 @code{@@itemize}}), except that the labels on the items are
7743 (@xref{itemize, , @code{@@itemize}}.)@refill 7883 successive integers or letters instead of bullets.
7744 7884
7745 Write the @code{@@enumerate} command at the beginning of a line. 7885 Write the @code{@@enumerate} command at the beginning of a line. The
7746 The command does not require an argument, but accepts either a number or 7886 command does not require an argument, but accepts either a number or a
7747 a letter as an option. 7887 letter as an option. Without an argument, @code{@@enumerate} starts the
7748 Without an argument, @code{@@enumerate} starts the list 7888 list with the number @samp{1}. With a numeric argument, such as
7749 with the number 1. With a numeric argument, such as 3, 7889 @samp{3}, the command starts the list with that number. With an upper
7750 the command starts the list with that number. 7890 or lower case letter, such as @samp{a} or @samp{A}, the command starts
7751 With an upper or lower case letter, such as @kbd{a} or @kbd{A}, 7891 the list with that letter.@refill
7752 the command starts the list with that letter.@refill
7753 7892
7754 Write the text of the enumerated list in the same way you write an 7893 Write the text of the enumerated list in the same way you write an
7755 itemized list: put @code{@@item} on a line of its own before the start of 7894 itemized list: put @code{@@item} on a line of its own before the start
7756 each paragraph that you want enumerated. Do not write any other text on 7895 of each paragraph that you want enumerated. Do not write any other text
7757 the line beginning with @code{@@item}.@refill 7896 on the line beginning with @code{@@item}.@refill
7758 7897
7759 You should put a blank line between entries in the list. 7898 You should put a blank line between entries in the list.
7760 This generally makes it easier to read the Info file.@refill 7899 This generally makes it easier to read the Info file.@refill
7761 7900
7762 @need 1500 7901 @need 1500
7853 @node Two-column Tables, Multi-column Tables, enumerate, Lists and Tables 7992 @node Two-column Tables, Multi-column Tables, enumerate, Lists and Tables
7854 @section Making a Two-column Table 7993 @section Making a Two-column Table
7855 @cindex Tables, making two-column 7994 @cindex Tables, making two-column
7856 @findex table 7995 @findex table
7857 7996
7858 @code{@@table} is similar to @code{@@itemize}, but the command allows 7997 @code{@@table} is similar to @code{@@itemize} (@pxref{itemize,,
7859 you to specify a name or heading line for each item. (@xref{itemize, 7998 @code{@@itemize}}), but allows you to specify a name or heading line for
7860 , @code{@@itemize}}.) The @code{@@table} command is used to produce 7999 each item. The @code{@@table} command is used to produce two-column
7861 two-column tables, and is especially useful for glossaries and 8000 tables, and is especially useful for glossaries, explanatory
7862 explanatory exhibits.@refill 8001 exhibits, and command-line option summaries.
7863 8002
7864 @menu 8003 @menu
7865 * table:: How to construct a two-column table. 8004 * table:: How to construct a two-column table.
7866 * ftable vtable:: How to construct a two-column table 8005 * ftable vtable:: Automatic indexing for two-column tables.
7867 with automatic indexing.
7868 * itemx:: How to put more entries in the first column. 8006 * itemx:: How to put more entries in the first column.
7869 @end menu 8007 @end menu
7870 8008
7871 @ifinfo 8009 @ifinfo
7872 @node table, ftable vtable, Two-column Tables, Two-column Tables 8010 @node table, ftable vtable, Two-column Tables, Two-column Tables
7874 8012
7875 Use the @code{@@table} command to produce two-column tables.@refill 8013 Use the @code{@@table} command to produce two-column tables.@refill
7876 @end ifinfo 8014 @end ifinfo
7877 8015
7878 Write the @code{@@table} command at the beginning of a line and follow 8016 Write the @code{@@table} command at the beginning of a line and follow
7879 it on the same line with an argument that is a Texinfo command such as 8017 it on the same line with an argument that is a Texinfo ``indicating''
7880 @code{@@code}, @code{@@samp}, @code{@@var}, or @code{@@kbd}. 8018 command such as @code{@@code}, @code{@@samp}, @code{@@var}, or
7881 Although these commands are usually followed by arguments in braces, 8019 @code{@@kbd} (@pxref{Indicating}). Although these commands are usually
7882 in this case you use the command name without an argument because 8020 followed by arguments in braces, in this case you use the command name
7883 @code{@@item} will supply the argument. This command will be applied 8021 without an argument because @code{@@item} will supply the argument.
7884 to the text that goes into the first column of each item and 8022 This command will be applied to the text that goes into the first column
7885 determines how it will be highlighted. For example, @code{@@samp} 8023 of each item and determines how it will be highlighted. For example,
7886 will cause the text in the first column to be highlighted with an 8024 @code{@@code} will cause the text in the first column to be highlighted
7887 @code{@@samp} command.@refill 8025 with an @code{@@code} command. (We recommend @code{@@code} for
7888 8026 @code{@@table}'s of command-line options.)
8027
8028 @findex asis
7889 You may also choose to use the @code{@@asis} command as an argument to 8029 You may also choose to use the @code{@@asis} command as an argument to
7890 @code{@@table}. @code{@@asis} is a command that does nothing; if you use this 8030 @code{@@table}. @code{@@asis} is a command that does nothing; if you
7891 command after @code{@@table}, @TeX{} and the Info formatting commands 8031 use this command after @code{@@table}, @TeX{} and the Info formatting
7892 output the first column entries without added highlighting (`as 8032 commands output the first column entries without added highlighting
7893 is').@refill 8033 (``as is'').@refill
7894 8034
7895 (The @code{@@table} command may work with other commands besides those 8035 (The @code{@@table} command may work with other commands besides those
7896 listed here. However, you can only use commands 8036 listed here. However, you can only use commands that normally take
7897 that normally take arguments in braces.)@refill 8037 arguments in braces.)@refill
7898 8038
7899 Begin each table entry with an @code{@@item} command at the beginning 8039 Begin each table entry with an @code{@@item} command at the beginning
7900 of a line. Write the first column text on the same line as the 8040 of a line. Write the first column text on the same line as the
7901 @code{@@item} command. Write the second column text on the line 8041 @code{@@item} command. Write the second column text on the line
7902 following the @code{@@item} line and on subsequent lines. (You do not 8042 following the @code{@@item} line and on subsequent lines. (You do not
7967 with an @code{@@end ftable} or @code{@@end vtable} command on a line by 8107 with an @code{@@end ftable} or @code{@@end vtable} command on a line by
7968 itself. 8108 itself.
7969 8109
7970 See the example for @code{@@table} in the previous section. 8110 See the example for @code{@@table} in the previous section.
7971 8111
7972 @node itemx, , ftable vtable, Two-column Tables 8112 @node itemx, , ftable vtable, Two-column Tables
7973 @comment node-name, next, previous, up 8113 @comment node-name, next, previous, up
7974 @subsection @code{@@itemx} 8114 @subsection @code{@@itemx}
7975 @cindex Two named items for @code{@@table} 8115 @cindex Two named items for @code{@@table}
7976 @findex itemx 8116 @findex itemx
7977 8117
7978 Use the @code{@@itemx} command inside a table when you have two or 8118 Use the @code{@@itemx} command inside a table when you have two or more
7979 more first column entries for the same item, each of which should 8119 first column entries for the same item, each of which should appear on a
7980 appear on a line of its own. Use @code{@@itemx} for all but the first 8120 line of its own. Use @code{@@itemx} for all but the first entry;
7981 entry. The @code{@@itemx} command works exactly like @code{@@item} 8121 @code{@@itemx} should always follow an @code{@@item} command. The
7982 except that it does not generate extra vertical space above the first 8122 @code{@@itemx} command works exactly like @code{@@item} except that it
7983 column text.@refill 8123 does not generate extra vertical space above the first column text.
7984 8124
7985 @need 1000 8125 @need 1000
7986 For example, 8126 For example,
7987 8127
7988 @example 8128 @example
8011 @noindent 8151 @noindent
8012 (Note also that this example illustrates multi-line supporting text in 8152 (Note also that this example illustrates multi-line supporting text in
8013 a two-column table.)@refill 8153 a two-column table.)@refill
8014 8154
8015 8155
8016 @node Multi-column Tables, , Two-column Tables, Lists and Tables 8156 @node Multi-column Tables, , Two-column Tables, Lists and Tables
8017 @section Multi-column Tables 8157 @section Multi-column Tables
8018 @cindex Tables, making multi-column 8158 @cindex Tables, making multi-column
8019 @findex multitable 8159 @findex multitable
8020 8160
8021 @code{@@multitable} allows you to construct tables with any number of 8161 @code{@@multitable} allows you to construct tables with any number of
8078 particularly likely to be useful. 8218 particularly likely to be useful.
8079 8219
8080 @end enumerate 8220 @end enumerate
8081 8221
8082 8222
8083 @node Multitable Rows, , Multitable Column Widths, Multi-column Tables 8223 @node Multitable Rows, , Multitable Column Widths, Multi-column Tables
8084 @subsection Multitable Rows 8224 @subsection Multitable Rows
8085 @cindex Multitable rows 8225 @cindex Multitable rows
8086 @cindex Rows, of a multitable 8226 @cindex Rows, of a multitable
8087 8227
8088 @findex item 8228 @findex item
8092 with @code{@@item}, and separate the column entries with @code{@@tab}. 8232 with @code{@@item}, and separate the column entries with @code{@@tab}.
8093 Line breaks are not special within the table body, and you may break 8233 Line breaks are not special within the table body, and you may break
8094 input lines in your source file as necessary. 8234 input lines in your source file as necessary.
8095 8235
8096 Here is a complete example of a multi-column table (the text is from 8236 Here is a complete example of a multi-column table (the text is from
8097 the GNU Emacs manual): 8237 @cite{The GNU Emacs Manual}, @pxref{Split Window,, Splitting Windows,
8238 emacs, The GNU Emacs Manual}):
8098 8239
8099 @example 8240 @example
8100 @@multitable @@columnfractions .15 .45 .4 8241 @@multitable @@columnfractions .15 .45 .4
8101 @@item Key @@tab Command @@tab Description 8242 @@item Key @@tab Command @@tab Description
8102 @@item C-x 2 8243 @@item C-x 2
8455 whatever default font is used by the index to which the entries are 8596 whatever default font is used by the index to which the entries are
8456 now directed. This way, if you direct function names from a function 8597 now directed. This way, if you direct function names from a function
8457 index into a concept index, all the function names are printed in the 8598 index into a concept index, all the function names are printed in the
8458 @code{@@code} font as you would expect.@refill 8599 @code{@@code} font as you would expect.@refill
8459 8600
8460 @node synindex, , syncodeindex, Combining Indices 8601 @node synindex, , syncodeindex, Combining Indices
8461 @subsection @code{@@synindex} 8602 @subsection @code{@@synindex}
8462 @findex synindex 8603 @findex synindex
8463 8604
8464 The @code{@@synindex} command is nearly the same as the 8605 The @code{@@synindex} command is nearly the same as the
8465 @code{@@syncodeindex} command, except that it does not put the 8606 @code{@@syncodeindex} command, except that it does not put the
8468 merge a concept index into a function index.@refill 8609 merge a concept index into a function index.@refill
8469 8610
8470 @xref{Printing Indices & Menus}, for information about printing an index 8611 @xref{Printing Indices & Menus}, for information about printing an index
8471 at the end of a book or creating an index menu in an Info file.@refill 8612 at the end of a book or creating an index menu in an Info file.@refill
8472 8613
8473 @node New Indices, , Combining Indices, Indices 8614 @node New Indices, , Combining Indices, Indices
8474 @section Defining New Indices 8615 @section Defining New Indices
8475 @cindex Defining new indices 8616 @cindex Defining new indices
8476 @cindex Indices, defining new 8617 @cindex Indices, defining new
8477 @cindex New index defining 8618 @cindex New index defining
8478 @findex defindex 8619 @findex defindex
8535 8676
8536 You should define new indices within or right after the end-of-header 8677 You should define new indices within or right after the end-of-header
8537 line of a Texinfo file, before any @code{@@synindex} or 8678 line of a Texinfo file, before any @code{@@synindex} or
8538 @code{@@syncodeindex} commands (@pxref{Header}).@refill 8679 @code{@@syncodeindex} commands (@pxref{Header}).@refill
8539 8680
8540 @node Insertions, Glyphs, Indices, Top 8681 @node Insertions, Breaks, Indices, Top
8541 @comment node-name, next, previous, up 8682 @comment node-name, next, previous, up
8542 @chapter Special Insertions 8683 @chapter Special Insertions
8543 @cindex Inserting special characters and symbols 8684 @cindex Inserting special characters and symbols
8544 @cindex Special insertions 8685 @cindex Special insertions
8545 8686
8546 Texinfo provides several commands for formatting dimensions, for 8687 Texinfo provides several commands for inserting characters that have
8547 inserting single characters that have special meaning in Texinfo, such 8688 special meaning in Texinfo, such as braces, and for other graphic
8548 as braces, and for inserting special graphic symbols that do not 8689 elements that do not correspond to simple characters you can type.
8549 correspond to characters, such as dots and bullets.@refill
8550 8690
8551 @iftex 8691 @iftex
8552 These are: 8692 These are:
8553 8693
8554 @itemize @bullet 8694 @itemize @bullet
8555 @item 8695 @item Braces, @samp{@@} and periods.
8556 Braces, @samp{@@} and periods. 8696 @item Whitespace within and around a sentence.
8557 8697 @item Accents.
8558 @item 8698 @item Dots and bullets.
8559 Format a dimension, such as @samp{12@dmn{pt}}. 8699 @item The @TeX{} logo and the copyright symbol.
8560 8700 @item Mathematical expressions.
8561 @item
8562 Dots and bullets.
8563
8564 @item
8565 The @TeX{} logo and the copyright symbol.
8566
8567 @item
8568 A minus sign.
8569 @end itemize 8701 @end itemize
8570 @end iftex 8702 @end iftex
8571 8703
8572 @menu 8704 @menu
8573 * Braces Atsigns:: How to insert braces, @samp{@@}. 8705 * Braces Atsigns:: How to insert braces, @samp{@@}.
8578 * TeX and copyright:: How to insert the @TeX{} logo 8710 * TeX and copyright:: How to insert the @TeX{} logo
8579 and the copyright symbol. 8711 and the copyright symbol.
8580 * pounds:: How to insert the pounds currency symbol. 8712 * pounds:: How to insert the pounds currency symbol.
8581 * minus:: How to insert a minus sign. 8713 * minus:: How to insert a minus sign.
8582 * math:: How to format a mathematical expression. 8714 * math:: How to format a mathematical expression.
8715 * Glyphs:: How to indicate results of evaluation,
8716 expansion of macros, errors, etc.
8717 * Images:: How to include graphics.
8583 @end menu 8718 @end menu
8584 8719
8585 8720
8586 @node Braces Atsigns, Inserting Space, Insertions, Insertions 8721 @node Braces Atsigns, Inserting Space, Insertions, Insertions
8587 @section Inserting @@ and Braces 8722 @section Inserting @@ and Braces
8610 @code{@@@@} stands for a single @samp{@@} in either printed or Info 8745 @code{@@@@} stands for a single @samp{@@} in either printed or Info
8611 output. 8746 output.
8612 8747
8613 Do not put braces after an @code{@@@@} command. 8748 Do not put braces after an @code{@@@@} command.
8614 8749
8615 @node Inserting Braces, , Inserting An Atsign, Braces Atsigns 8750 @node Inserting Braces, , Inserting An Atsign, Braces Atsigns
8616 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@} 8751 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@}
8617 @findex @{ @r{(single @samp{@{})} 8752 @findex @{ @r{(single @samp{@{})}
8618 @findex @} @r{(single @samp{@}})} 8753 @findex @} @r{(single @samp{@}})}
8619 8754
8620 @code{@@@{} stands for a single @samp{@{} in either printed or Info 8755 @code{@@@{} stands for a single @samp{@{} in either printed or Info
8661 8796
8662 @findex : @r{(suppress widening)} 8797 @findex : @r{(suppress widening)}
8663 Use the @code{@@:}@: command after a period, question mark, 8798 Use the @code{@@:}@: command after a period, question mark,
8664 exclamation mark, or colon that should not be followed by extra space. 8799 exclamation mark, or colon that should not be followed by extra space.
8665 For example, use @code{@@:}@: after periods that end abbreviations 8800 For example, use @code{@@:}@: after periods that end abbreviations
8666 which are not at the ends of sentences. @code{@@:}@: has no effect on 8801 which are not at the ends of sentences.
8667 the Info file output.
8668 8802
8669 @need 700 8803 @need 700
8670 For example, 8804 For example,
8671 8805
8672 @example 8806 @example
8688 The s.o.p.@: has three parts @dots{}@* 8822 The s.o.p.@: has three parts @dots{}@*
8689 The s.o.p. has three parts @dots{} 8823 The s.o.p. has three parts @dots{}
8690 @end quotation 8824 @end quotation
8691 8825
8692 @noindent 8826 @noindent
8693 @kbd{@@:} has no effect on the Info output. (@samp{s.o.p.} is an 8827 (Incidentally, @samp{s.o.p.} is an abbreviation for ``Standard Operating
8694 abbreviation for ``Standard Operating Procedure''.) 8828 Procedure''.)
8695 8829
8696 Do not put braces after @code{@@:}. 8830 @code{@@:} has no effect on the Info output. Do not put braces after
8831 @code{@@:}.
8697 8832
8698 8833
8699 @node Ending a Sentence, Multiple Spaces, Not Ending a Sentence, Inserting Space 8834 @node Ending a Sentence, Multiple Spaces, Not Ending a Sentence, Inserting Space
8700 @subsection Ending a Sentence 8835 @subsection Ending a Sentence
8701 8836
8734 In the Info file output, @code{@@.}@: is equivalent to a simple 8869 In the Info file output, @code{@@.}@: is equivalent to a simple
8735 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:. 8870 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:.
8736 8871
8737 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to 8872 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to
8738 work well with the Emacs sentence motion commands (@pxref{Sentences,,, 8873 work well with the Emacs sentence motion commands (@pxref{Sentences,,,
8739 emacs, GNU Emacs}). This made it necessary for them to be incompatible 8874 emacs, The GNU Emacs Manual}). This made it necessary for them to be
8740 with some other formatting systems that use @@-commands. 8875 incompatible with some other formatting systems that use @@-commands.
8741 8876
8742 Do not put braces after any of these commands. 8877 Do not put braces after any of these commands.
8743 8878
8744 8879
8745 @node Multiple Spaces, dmn, Ending a Sentence, Inserting Space 8880 @node Multiple Spaces, dmn, Ending a Sentence, Inserting Space
8750 @findex (space) 8885 @findex (space)
8751 @findex (tab) 8886 @findex (tab)
8752 @findex (newline) 8887 @findex (newline)
8753 8888
8754 Ordinarily, @TeX{} collapses multiple whitespace characters (space, tab, 8889 Ordinarily, @TeX{} collapses multiple whitespace characters (space, tab,
8755 and newline) into a single space. (Info output, on the other hand, 8890 and newline) into a single space. Info output, on the other hand,
8756 preserves whitespace as you type it, except for changing a newline into 8891 preserves whitespace as you type it, except for changing a newline into
8757 a space; this is why it is important to put two spaces at the end of 8892 a space; this is why it is important to put two spaces at the end of
8758 sentences in Texinfo documents.) 8893 sentences in Texinfo documents.
8759 8894
8760 Occasionally, you may want to actually insert several consecutive 8895 Occasionally, you may want to actually insert several consecutive
8761 spaces, either for purposes of example (what your program does with 8896 spaces, either for purposes of example (what your program does with
8762 multiple spaces as input), or merely for purposes of appearance in 8897 multiple spaces as input), or merely for purposes of appearance in
8763 headings or lists. Texinfo supports three commands: @code{@@ }, 8898 headings or lists. Texinfo supports three commands:
8764 @code{@@@kbd{TAB}}, and @code{@@@kbd{NL}}, all of which insert a single 8899 @code{@@@kbd{SPACE}}, @code{@@@kbd{TAB}}, and @code{@@@kbd{NL}}, all of
8765 space into the output. (Here, @kbd{TAB} and @kbd{NL} represent the tab 8900 which insert a single space into the output. (Here,
8901 @code{@@@kbd{SPACE}} represents an @samp{@@} character followed by a
8902 space, i.e., @samp{@@ }, and @kbd{TAB} and @kbd{NL} represent the tab
8766 character and end-of-line, i.e., when @samp{@@} is the last character on 8903 character and end-of-line, i.e., when @samp{@@} is the last character on
8767 a line.) 8904 a line.)
8768 8905
8769 For example, 8906 For example,
8770 @example 8907 @example
8777 @example 8914 @example
8778 Spacey@ @ @ @ 8915 Spacey@ @ @ @
8779 example. 8916 example.
8780 @end example 8917 @end example
8781 8918
8782 Other possible uses of @code{@@ } have been subsumed by @code{@@multitable} 8919 Other possible uses of @code{@@@kbd{SPACE}} have been subsumed by
8783 (@pxref{Multi-column Tables}). 8920 @code{@@multitable} (@pxref{Multi-column Tables}).
8784 8921
8785 Do not follow any of these commands with braces. 8922 Do not follow any of these commands with braces.
8786 8923
8787 8924
8788 @node dmn, , Multiple Spaces, Inserting Space 8925 @node dmn, , Multiple Spaces, Inserting Space
8789 @subsection @code{@@dmn}@{@var{dimension}@}: Format a Dimension 8926 @subsection @code{@@dmn}@{@var{dimension}@}: Format a Dimension
8790 @cindex Thin space between number, dimension 8927 @cindex Thin space between number, dimension
8791 @cindex Dimension formatting 8928 @cindex Dimension formatting
8792 @cindex Format a dimension 8929 @cindex Format a dimension
8793 @findex dmn 8930 @findex dmn
8799 for proper typesetting; the Info formatting commands insert no space 8936 for proper typesetting; the Info formatting commands insert no space
8800 at all, since the Info file does not require it.@refill 8937 at all, since the Info file does not require it.@refill
8801 8938
8802 To use the @code{@@dmn} command, write the number and then follow it 8939 To use the @code{@@dmn} command, write the number and then follow it
8803 immediately, with no intervening space, by @code{@@dmn}, and then by 8940 immediately, with no intervening space, by @code{@@dmn}, and then by
8804 the dimension within braces.@refill 8941 the dimension within braces. For example,
8805
8806 @need 700
8807 @noindent
8808 For example,
8809 8942
8810 @example 8943 @example
8811 A4 paper is 8.27@@dmn@{in@} wide. 8944 A4 paper is 8.27@@dmn@{in@} wide.
8812 @end example 8945 @end example
8813 8946
8816 8949
8817 @quotation 8950 @quotation
8818 A4 paper is 8.27@dmn{in} wide. 8951 A4 paper is 8.27@dmn{in} wide.
8819 @end quotation 8952 @end quotation
8820 8953
8821 Not everyone uses this style. Instead of writing 8954 Not everyone uses this style. Some people prefer @w{@samp{8.27 in.@@:}}
8822 @w{@samp{8.27@@dmn@{in@}}} in the Texinfo file, you may write 8955 or @w{@samp{8.27 inches}} to @samp{8.27@@dmn@{in@}} in the Texinfo file.
8823 @w{@samp{8.27 in.}} or @w{@samp{8.27 inches}}. (In these cases, the 8956 In these cases, however, the formatters may insert a line break between
8824 formatters may insert a line break between the number and the 8957 the number and the dimension, so use @code{@@w} (@pxref{w}). Also, if
8825 dimension. Also, if you write a period after an abbreviation within a 8958 you write a period after an abbreviation within a sentence, you should
8826 sentence, you should write @samp{@@:} after the period to prevent 8959 write @samp{@@:} after the period to prevent @TeX{} from inserting extra
8827 @TeX{} from inserting extra whitespace. @xref{Inserting Space}. 8960 whitespace, as shown here. @xref{Inserting Space}.
8828 8961
8829 8962
8830 @node Inserting Accents, Dots Bullets, Inserting Space, Insertions 8963 @node Inserting Accents, Dots Bullets, Inserting Space, Insertions
8831 @section Inserting Accents 8964 @section Inserting Accents
8832 8965
8962 @menu 9095 @menu
8963 * dots:: How to insert dots @dots{} 9096 * dots:: How to insert dots @dots{}
8964 * bullet:: How to insert a bullet. 9097 * bullet:: How to insert a bullet.
8965 @end menu 9098 @end menu
8966 9099
9100
8967 @node dots, bullet, Dots Bullets, Dots Bullets 9101 @node dots, bullet, Dots Bullets, Dots Bullets
8968 @comment node-name, next, previous, up 9102 @subsection @code{@@dots}@{@} (@dots{})
8969 @subsection @code{@@dots}@{@}
8970 @findex dots 9103 @findex dots
8971 @cindex Inserting dots 9104 @cindex Inserting dots
8972 @cindex Dots, inserting 9105 @cindex Dots, inserting
8973 9106
8974 Use the @code{@@dots@{@}} command to generate an ellipsis, which is 9107 Use the @code{@@dots@{@}} command to generate an ellipsis, which is
8986 9119
8987 In printed output, the three periods in a row are closer together than 9120 In printed output, the three periods in a row are closer together than
8988 the dots in the ellipsis. 9121 the dots in the ellipsis.
8989 @end iftex 9122 @end iftex
8990 9123
8991 @node bullet, , dots, Dots Bullets 9124
8992 @comment node-name, next, previous, up 9125 @node bullet, , dots, Dots Bullets
8993 @subsection @code{@@bullet}@{@} 9126 @subsection @code{@@bullet}@{@} (@bullet{})
8994 @findex bullet 9127 @findex bullet
8995 9128
8996 Use the @code{@@bullet@{@}} command to generate a large round dot, or 9129 Use the @code{@@bullet@{@}} command to generate a large round dot, or
8997 the closest possible thing to one. In Info, an asterisk is used.@refill 9130 the closest possible thing to one. In Info, an asterisk is used.@refill
8998 9131
9000 9133
9001 When you use @code{@@bullet} in @code{@@itemize}, you do not need to 9134 When you use @code{@@bullet} in @code{@@itemize}, you do not need to
9002 type the braces, because @code{@@itemize} supplies them. 9135 type the braces, because @code{@@itemize} supplies them.
9003 (@xref{itemize, , @code{@@itemize}}.)@refill 9136 (@xref{itemize, , @code{@@itemize}}.)@refill
9004 9137
9138
9005 @node TeX and copyright, pounds, Dots Bullets, Insertions 9139 @node TeX and copyright, pounds, Dots Bullets, Insertions
9006 @comment node-name, next, previous, up
9007 @section Inserting @TeX{} and the Copyright Symbol 9140 @section Inserting @TeX{} and the Copyright Symbol
9008 9141
9009 The logo `@TeX{}' is typeset in a special fashion and it needs an 9142 The logo `@TeX{}' is typeset in a special fashion and it needs an
9010 @@-command. The copyright symbol, `@copyright{}', is also special. 9143 @@-command. The copyright symbol, `@copyright{}', is also special.
9011 Each of these commands is followed by a pair of braces, @samp{@{@}}, 9144 Each of these commands is followed by a pair of braces, @samp{@{@}},
9015 @menu 9148 @menu
9016 * tex:: How to insert the @TeX{} logo. 9149 * tex:: How to insert the @TeX{} logo.
9017 * copyright symbol:: How to use @code{@@copyright}@{@}. 9150 * copyright symbol:: How to use @code{@@copyright}@{@}.
9018 @end menu 9151 @end menu
9019 9152
9153
9020 @node tex, copyright symbol, TeX and copyright, TeX and copyright 9154 @node tex, copyright symbol, TeX and copyright, TeX and copyright
9021 @comment node-name, next, previous, up 9155 @subsection @code{@@TeX}@{@} (@TeX{})
9022 @subsection @code{@@TeX}@{@}
9023 @findex tex (command) 9156 @findex tex (command)
9024 9157
9025 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed 9158 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed
9026 manual, this is a special logo that is different from three ordinary 9159 manual, this is a special logo that is different from three ordinary
9027 letters. In Info, it just looks like @samp{TeX}. The 9160 letters. In Info, it just looks like @samp{TeX}. The
9028 @code{@@TeX@{@}} command is unique among Texinfo commands in that the 9161 @code{@@TeX@{@}} command is unique among Texinfo commands in that the
9029 @kbd{T} and the @kbd{X} are in upper case.@refill 9162 @kbd{T} and the @kbd{X} are in upper case.@refill
9030 9163
9031 @node copyright symbol, , tex, TeX and copyright 9164
9032 @comment node-name, next, previous, up 9165 @node copyright symbol, , tex, TeX and copyright
9033 @subsection @code{@@copyright}@{@} 9166 @subsection @code{@@copyright}@{@} (@copyright{})
9034 @findex copyright 9167 @findex copyright
9035 9168
9036 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In 9169 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In
9037 a printed manual, this is a @samp{c} inside a circle, and in Info, 9170 a printed manual, this is a @samp{c} inside a circle, and in Info,
9038 this is @samp{(C)}.@refill 9171 this is @samp{(C)}.@refill
9039 9172
9173
9040 @node pounds, minus, TeX and copyright, Insertions 9174 @node pounds, minus, TeX and copyright, Insertions
9041 @section @code{@@pounds}@{@} 9175 @section @code{@@pounds}@{@} (@pounds{}): Pounds Sterling
9042 @findex pounds 9176 @findex pounds
9043 9177
9044 Use the @code{@@pounds@{@}} command to generate `@pounds{}'. In a 9178 Use the @code{@@pounds@{@}} command to generate `@pounds{}'. In a
9045 printed manual, this is the symbol for the currency pounds sterling. 9179 printed manual, this is the symbol for the currency pounds sterling.
9046 In Info, it is a @samp{#}. Other currency symbols are unfortunately not 9180 In Info, it is a @samp{#}. Other currency symbols are unfortunately not
9047 available. 9181 available.
9048 9182
9183
9049 @node minus, math, pounds, Insertions 9184 @node minus, math, pounds, Insertions
9050 @section @code{@@minus}@{@}: Inserting a Minus Sign 9185 @section @code{@@minus}@{@} (@minus{}): Inserting a Minus Sign
9051 @findex minus 9186 @findex minus
9052 9187
9053 Use the @code{@@minus@{@}} command to generate a minus sign. In a 9188 Use the @code{@@minus@{@}} command to generate a minus sign. In a
9054 fixed-width font, this is a single hyphen, but in a proportional font, 9189 fixed-width font, this is a single hyphen, but in a proportional font,
9055 the symbol is the customary length for a minus sign---a little longer 9190 the symbol is the customary length for a minus sign---a little longer
9056 than a hyphen.@refill 9191 than a hyphen, shorter than an em-dash:
9057
9058 You can compare the two forms:
9059 9192
9060 @display 9193 @display
9061 @samp{@minus{}} is a minus sign generated with @samp{@@minus@{@}}, 9194 @samp{@minus{}} is a minus sign generated with @samp{@@minus@{@}},
9062 9195
9063 `-' is a hyphen generated with the character @samp{-}. 9196 `-' is a hyphen generated with the character @samp{-},
9197
9198 `---' is an em-dash for text.
9064 @end display 9199 @end display
9065 9200
9066 @noindent 9201 @noindent
9067 In the fixed-width font used by Info, @code{@@minus@{@}} is the same 9202 In the fixed-width font used by Info, @code{@@minus@{@}} is the same
9068 as a hyphen.@refill 9203 as a hyphen.
9069 9204
9070 You should not use @code{@@minus@{@}} inside @code{@@code} or 9205 You should not use @code{@@minus@{@}} inside @code{@@code} or
9071 @code{@@example} because the width distinction is not made in the 9206 @code{@@example} because the width distinction is not made in the
9072 fixed-width font they use.@refill 9207 fixed-width font they use.
9073 9208
9074 When you use @code{@@minus} to specify the mark beginning each entry in 9209 When you use @code{@@minus} to specify the mark beginning each entry in
9075 an itemized list, you do not need to type the braces 9210 an itemized list, you do not need to type the braces
9076 (@pxref{itemize, , @code{@@itemize}}.)@refill 9211 (@pxref{itemize, , @code{@@itemize}}.)
9077 9212
9078 @node math, , minus, Insertions 9213
9079 @comment node-name, next, previous, up 9214 @node math, Glyphs, minus, Insertions
9080 @section @code{@@math}: Inserting Mathematical Expressions 9215 @section @code{@@math}: Inserting Mathematical Expressions
9081 @findex math 9216 @findex math
9082 @cindex Mathematical expressions 9217 @cindex Mathematical expressions
9083 9218
9084 You can write a short mathematical expression with the @code{@@math} 9219 You can write a short mathematical expression with the @code{@@math}
9107 9242
9108 @example 9243 @example
9109 (a + b)(a + b) = a^2 + 2ab + b^2 9244 (a + b)(a + b) = a^2 + 2ab + b^2
9110 @end example 9245 @end example
9111 9246
9112 The @code{@@math} command has no effect on the Info output. Currently, 9247 Thus, the @code{@@math} command has no effect on the Info output.
9113 it has limited effect on typeset output. However, this may change since 9248
9114 @TeX{} itself is designed for mathematical typesetting and does a 9249 For complex mathematical expressions, you can also use @TeX{} directly
9115 splendid job. 9250 (@pxref{Raw Formatter Commands}). When you use @TeX{} directly,
9116 9251 remember to write the mathematical expression between one or two
9117 Certainly, for complex mathematical expressions, you could use @TeX{} 9252 @samp{$} (dollar-signs) as appropriate.
9118 directly. @xref{Using Ordinary TeX Commands, , Using Ordinary @TeX{} 9253
9119 Commands}. When you use @TeX{} directly, remember to write the 9254
9120 mathematical expression between one or two @samp{$} (dollar-signs) as 9255 @node Glyphs, Images, math, Insertions
9121 appropriate. 9256 @section Glyphs for Examples
9122
9123 @node Glyphs, Breaks, Insertions, Top
9124 @comment node-name, next, previous, up
9125 @chapter Glyphs for Examples
9126 @cindex Glyphs 9257 @cindex Glyphs
9127 9258
9128 In Texinfo, code is often illustrated in examples that are delimited 9259 In Texinfo, code is often illustrated in examples that are delimited
9129 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and 9260 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and
9130 @code{@@end lisp}. In such examples, you can indicate the results of 9261 @code{@@end lisp}. In such examples, you can indicate the results of
9148 * Point Glyph:: How to indicate the location of point. 9279 * Point Glyph:: How to indicate the location of point.
9149 @end menu 9280 @end menu
9150 9281
9151 @node Glyphs Summary, result, Glyphs, Glyphs 9282 @node Glyphs Summary, result, Glyphs, Glyphs
9152 @ifinfo 9283 @ifinfo
9153 @heading Glyphs Summary 9284 @subheading Glyphs Summary
9154 9285
9155 Here are the different glyph commands:@refill 9286 Here are the different glyph commands:@refill
9156 @end ifinfo 9287 @end ifinfo
9157 9288
9158 @table @asis 9289 @table @asis
9174 9305
9175 @item @point{} 9306 @item @point{}
9176 @code{@@point@{@}} shows the location of point.@refill 9307 @code{@@point@{@}} shows the location of point.@refill
9177 @end table 9308 @end table
9178 9309
9310
9311 @menu
9312 * result::
9313 * expansion::
9314 * Print Glyph::
9315 * Error Glyph::
9316 * Equivalence::
9317 * Point Glyph::
9318 @end menu
9319
9179 @node result, expansion, Glyphs Summary, Glyphs 9320 @node result, expansion, Glyphs Summary, Glyphs
9180 @section @result{}: Indicating Evaluation 9321 @subsection @code{@@result@{@}} (@result{}): Indicating Evaluation
9181 @cindex Result of an expression 9322 @cindex Result of an expression
9182 @cindex Indicating evaluation 9323 @cindex Indicating evaluation
9183 @cindex Evaluation glyph 9324 @cindex Evaluation glyph
9184 @cindex Value of an expression, indicating 9325 @cindex Value of an expression, indicating
9185 9326
9203 @end lisp 9344 @end lisp
9204 9345
9205 @noindent 9346 @noindent
9206 may be read as ``@code{(cdr '(1 2 3))} evaluates to @code{(2 3)}''. 9347 may be read as ``@code{(cdr '(1 2 3))} evaluates to @code{(2 3)}''.
9207 9348
9349
9208 @node expansion, Print Glyph, result, Glyphs 9350 @node expansion, Print Glyph, result, Glyphs
9209 @section @expansion{}: Indicating an Expansion 9351 @subsection @code{@@expansion@{@}} (@expansion{}): Indicating an Expansion
9210 @cindex Expansion, indicating it 9352 @cindex Expansion, indicating it
9211 9353
9212 When an expression is a macro call, it expands into a new expression. 9354 When an expression is a macro call, it expands into a new expression.
9213 You can indicate the result of the expansion with the 9355 You can indicate the result of the expansion with the
9214 @code{@@expansion@{@}} command.@refill 9356 @code{@@expansion@{@}} command.@refill
9257 @noindent 9399 @noindent
9258 Often, as in this case, an example looks better if the 9400 Often, as in this case, an example looks better if the
9259 @code{@@expansion@{@}} and @code{@@result@{@}} commands are indented 9401 @code{@@expansion@{@}} and @code{@@result@{@}} commands are indented
9260 five spaces.@refill 9402 five spaces.@refill
9261 9403
9404
9262 @node Print Glyph, Error Glyph, expansion, Glyphs 9405 @node Print Glyph, Error Glyph, expansion, Glyphs
9263 @section @print{}: Indicating Printed Output 9406 @subsection @code{@@print@{@}} (@print{}): Indicating Printed Output
9264 @cindex Printed output, indicating it 9407 @cindex Printed output, indicating it
9265 9408
9266 Sometimes an expression will print output during its execution. You 9409 Sometimes an expression will print output during its execution. You
9267 can indicate the printed output with the @code{@@print@{@}} command.@refill 9410 can indicate the printed output with the @code{@@print@{@}} command.@refill
9268 9411
9301 @@result@{@} bar 9444 @@result@{@} bar
9302 @@end lisp 9445 @@end lisp
9303 @end group 9446 @end group
9304 @end lisp 9447 @end lisp
9305 9448
9449
9306 @node Error Glyph, Equivalence, Print Glyph, Glyphs 9450 @node Error Glyph, Equivalence, Print Glyph, Glyphs
9307 @section @error{}: Indicating an Error Message 9451 @subsection @code{@@error@{@}} (@error{}): Indicating an Error Message
9308 @cindex Error message, indicating it 9452 @cindex Error message, indicating it
9309 9453
9310 A piece of code may cause an error when you evaluate it. You can 9454 A piece of code may cause an error when you evaluate it. You can
9311 designate the error message with the @code{@@error@{@}} command.@refill 9455 designate the error message with the @code{@@error@{@}} command.@refill
9312 9456
9343 9487
9344 @lisp 9488 @lisp
9345 Wrong type argument: integer-or-marker-p, x 9489 Wrong type argument: integer-or-marker-p, x
9346 @end lisp 9490 @end lisp
9347 9491
9348 Note that @samp{@error{}} itself is not part of the error 9492 @samp{@error{}} itself is not part of the error message.
9349 message. 9493
9350 9494
9351 @node Equivalence, Point Glyph, Error Glyph, Glyphs 9495 @node Equivalence, Point Glyph, Error Glyph, Glyphs
9352 @section @equiv{}: Indicating Equivalence 9496 @subsection @code{@@equiv@{@}} (@equiv{}): Indicating Equivalence
9353 @cindex Equivalence, indicating it 9497 @cindex Equivalence, indicating it
9354 9498
9355 Sometimes two expressions produce identical results. You can indicate the 9499 Sometimes two expressions produce identical results. You can indicate the
9356 exact equivalence of two forms with the @code{@@equiv@{@}} command.@refill 9500 exact equivalence of two forms with the @code{@@equiv@{@}} command.@refill
9357 9501
9381 9525
9382 @noindent 9526 @noindent
9383 This indicates that evaluating @code{(make-sparse-keymap)} produces 9527 This indicates that evaluating @code{(make-sparse-keymap)} produces
9384 identical results to evaluating @code{(list 'keymap)}. 9528 identical results to evaluating @code{(list 'keymap)}.
9385 9529
9386 @c Cannot write point command here because it causes trouble with TOC. 9530
9387 @node Point Glyph, , Equivalence, Glyphs 9531 @node Point Glyph, , Equivalence, Glyphs
9388 @section Indicating Point in a Buffer 9532 @subsection @code{@@point@{@}} (@point{}): Indicating Point in a Buffer
9389 @cindex Point, indicating it in a buffer 9533 @cindex Point, indicating it in a buffer
9390 9534
9391 Sometimes you need to show an example of text in an Emacs buffer. In 9535 Sometimes you need to show an example of text in an Emacs buffer. In
9392 such examples, the convention is to include the entire contents of the 9536 such examples, the convention is to include the entire contents of the
9393 buffer in question between two lines of dashes containing the buffer 9537 buffer in question between two lines of dashes containing the buffer
9444 This is the changed @@point@{@}contents of foo. 9588 This is the changed @@point@{@}contents of foo.
9445 ---------- Buffer: foo ---------- 9589 ---------- Buffer: foo ----------
9446 @@end example 9590 @@end example
9447 @end example 9591 @end example
9448 9592
9449 @node Breaks, Definition Commands, Glyphs, Top 9593
9450 @comment node-name, next, previous, up 9594 @c this should be described with figures when we have them
9595 @c perhaps in the quotation/example chapter.
9596 @node Images, , Glyphs, Insertions
9597 @section Inserting Images
9598
9599 @cindex Images, inserting
9600 @cindex Pictures, inserting
9601 @findex image
9602
9603 You can insert an image in an external file with the @code{@@image}
9604 command:
9605
9606 @example
9607 @@image@{@var{filename}, @r{[}@var{width}@r{]}, @r{[}@var{height}@r{]}@}
9608 @end example
9609
9610 @cindex Formats for images
9611 @cindex Image formats
9612 The @var{filename} argument is mandatory, and must not have an
9613 extension, because the different processors support different formats:
9614 @TeX{} reads the file @file{@var{filename}.eps} (Encapsulated PostScript
9615 format); @code{makeinfo} uses @file{@var{filename}.txt} verbatim for
9616 Info output (more or less as if it was an @code{@@example}). HTML
9617 output requires @file{@var{filename}.jpg}.
9618
9619 @cindex Width of images
9620 @cindex Height of images
9621 @cindex Aspect ratio of images
9622 @cindex Distorting images
9623 The optional @var{width} and @var{height} arguments specify the size to
9624 scale the image to (they are ignored for Info output). If they are both
9625 specified, the image is presented in its natural size (given in the
9626 file); if only one is specified, the other is scaled proportionately;
9627 and if both are specified, both are respected, thus possibly distorting
9628 the original image by changing its aspect ratio.
9629
9630 @cindex Dimensions and image sizes
9631 The @var{width} and @var{height} may be specified using any valid @TeX{}
9632 dimension, namely:
9633
9634 @table @asis
9635 @item pt
9636 @cindex Points (dimension)
9637 point (72.27pt = 1in)
9638 @item pc
9639 @cindex Picas
9640 pica (1pc = 12pt)
9641 @item bp
9642 @cindex Big points
9643 big point (72bp = 1in)
9644 @item in
9645 @cindex Inches
9646 inch
9647 @item cm
9648 @cindex Centimeters
9649 centimeter (2.54cm = 1in)
9650 @item mm
9651 @cindex Millimeters
9652 millimeter (10mm = 1cm)
9653 @item dd
9654 @cindex Did@^ot points
9655 did@^ot point (1157dd = 1238pt)
9656 @item cc
9657 @cindex Ciceros
9658 cicero (1cc = 12dd)
9659 @item sp
9660 @cindex Scaled points
9661 scaled point (65536sp = 1pt)
9662 @end table
9663
9664 @pindex ridt.eps
9665 For example, the following will scale a file @file{ridt.eps} to one
9666 inch vertically, with the width scaled proportionately:
9667
9668 @example
9669 @@image@{ridt,,1in@}
9670 @end example
9671
9672 @pindex epsf.tex
9673 For @code{@@image} to work with @TeX{}, the file @file{epsf.tex} must be
9674 installed somewhere that @TeX{} can find it. This file is included in
9675 the Texinfo distribution and is available from
9676 @uref{ftp://ftp.tug.org/tex/epsf.tex}.
9677
9678
9679 @node Breaks, Definition Commands, Insertions, Top
9451 @chapter Making and Preventing Breaks 9680 @chapter Making and Preventing Breaks
9452 @cindex Making line and page breaks 9681 @cindex Making line and page breaks
9453 @cindex Preventing line and page breaks 9682 @cindex Preventing line and page breaks
9454 9683
9455 Usually, a Texinfo file is processed both by @TeX{} and by one of the 9684 Usually, a Texinfo file is processed both by @TeX{} and by one of the
9625 9854
9626 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks 9855 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks
9627 within @var{text}.@refill 9856 within @var{text}.@refill
9628 9857
9629 You can use the @code{@@w} command to prevent @TeX{} from automatically 9858 You can use the @code{@@w} command to prevent @TeX{} from automatically
9630 hyphenating a long name or phrase that accidentally falls near the end 9859 hyphenating a long name or phrase that happens to fall near the end of a
9631 of a line.@refill 9860 line.@refill
9632 9861
9633 @example 9862 @example
9634 You can copy GNU software from @@w@{@@file@{prep.ai.mit.edu@}@}. 9863 You can copy GNU software from @@w@{@@samp@{ftp.gnu.ai.mit.edu@}@}.
9635 @end example 9864 @end example
9636 9865
9637 @noindent 9866 @noindent
9638 produces 9867 produces
9639 9868
9640 @quotation 9869 @quotation
9641 You can copy GNU software from @w{@file{prep.ai.mit.edu}}. 9870 You can copy GNU software from @w{@samp{ftp.gnu.ai.mit.edu}}.
9642 @end quotation 9871 @end quotation
9643 9872
9644 @quotation 9873 @quotation
9645 @strong{Caution:} Do not write an @code{@@refill} command at the end 9874 @strong{Caution:} Do not write an @code{@@refill} command at the end
9646 of a paragraph containing an @code{@@w} command; it will cause the 9875 of a paragraph containing an @code{@@w} command; it will cause the
9776 not start to generate error messages until it has processed 10005 not start to generate error messages until it has processed
9777 considerable text. It is a good rule of thumb to look for a missing 10006 considerable text. It is a good rule of thumb to look for a missing
9778 @code{@@end group} if you get incomprehensible error messages in 10007 @code{@@end group} if you get incomprehensible error messages in
9779 @TeX{}.@refill 10008 @TeX{}.@refill
9780 10009
9781 @node need, , group, Breaks 10010 @node need, , group, Breaks
9782 @comment node-name, next, previous, up 10011 @comment node-name, next, previous, up
9783 @section @code{@@need @var{mils}}: Prevent Page Breaks 10012 @section @code{@@need @var{mils}}: Prevent Page Breaks
9784 @cindex Need space at page bottom 10013 @cindex Need space at page bottom
9785 @findex need 10014 @findex need
9786 10015
9909 for functions and the like---for entities that may take arguments. When 10138 for functions and the like---for entities that may take arguments. When
9910 you use this command, you specify the category to which the entity 10139 you use this command, you specify the category to which the entity
9911 belongs. The @code{@@deffn} command possesses three predefined, 10140 belongs. The @code{@@deffn} command possesses three predefined,
9912 specialized variations, @code{@@defun}, @code{@@defmac}, and 10141 specialized variations, @code{@@defun}, @code{@@defmac}, and
9913 @code{@@defspec}, that specify the category for you: ``Function'', 10142 @code{@@defspec}, that specify the category for you: ``Function'',
9914 ``Macro'', and ``Special Form'' respectively. The @code{@@defvr} 10143 ``Macro'', and ``Special Form'' respectively. (In Lisp, a special form
9915 command also is accompanied by several predefined, specialized 10144 is an entity much like a function.) The @code{@@defvr} command also is
9916 variations for describing particular kinds of variables.@refill 10145 accompanied by several predefined, specialized variations for describing
10146 particular kinds of variables.@refill
9917 10147
9918 The template for a specialized definition, such as @code{@@defun}, is 10148 The template for a specialized definition, such as @code{@@defun}, is
9919 similar to the template for a generalized definition, except that you 10149 similar to the template for a generalized definition, except that you
9920 do not need to specify the category:@refill 10150 do not need to specify the category:@refill
9921 10151
10188 works like @code{@@defun}.@refill 10418 works like @code{@@defun}.@refill
10189 10419
10190 @findex defspec 10420 @findex defspec
10191 @item @@defspec @var{name} @var{arguments}@dots{} 10421 @item @@defspec @var{name} @var{arguments}@dots{}
10192 The @code{@@defspec} command is the definition command for special 10422 The @code{@@defspec} command is the definition command for special
10193 forms. (In Lisp, a special form is an entity much like a function.) 10423 forms. (In Lisp, a special form is an entity much like a function,
10424 @pxref{Special Forms,,, elisp, GNU Emacs Lisp Reference Manual}.)
10194 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@} 10425 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@}
10195 @dots{}} and works like @code{@@defun}.@refill 10426 @dots{}} and works like @code{@@defun}.@refill
10196 @end table 10427 @end table
10197 10428
10198 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail 10429 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail
10210 example, ``Variable'' could be used if the entity is a variable. 10441 example, ``Variable'' could be used if the entity is a variable.
10211 Write the @code{@@defvr} command at the beginning of a line and 10442 Write the @code{@@defvr} command at the beginning of a line and
10212 followed it on the same line by the category of the entity and the 10443 followed it on the same line by the category of the entity and the
10213 name of the entity.@refill 10444 name of the entity.@refill
10214 10445
10215 Capitalize the category name like a title. If the name of the 10446 Capitalize the category name like a title. If the name of the category
10216 category contains spaces, as in the name `User Option', write braces 10447 contains spaces, as in the name ``User Option'', enclose it in braces.
10217 around it. Otherwise, the second word will be mistaken for the name 10448 Otherwise, the second word will be mistaken for the name of the entity.
10218 of the entity, for example: 10449 For example,
10219 10450
10220 @example 10451 @example
10221 @group 10452 @group
10222 @@defvr @{User Option@} fill-column 10453 @@defvr @{User Option@} fill-column
10223 This buffer-local variable specifies 10454 This buffer-local variable specifies
10272 @code{@@defvar} creates an entry in the index of variables for 10503 @code{@@defvar} creates an entry in the index of variables for
10273 @var{name}.@refill 10504 @var{name}.@refill
10274 10505
10275 @findex defopt 10506 @findex defopt
10276 @item @@defopt @var{name} 10507 @item @@defopt @var{name}
10277 The @code{@@defopt} command is the definition command for user 10508 @cindex User options, marking
10278 options. @code{@@defopt} is equivalent to @samp{@@defvr @{User 10509 The @code{@@defopt} command is the definition command for @dfn{user
10510 options}, i.e., variables intended for users to change according to
10511 taste; Emacs has many such (@pxref{Variables,,, emacs, The GNU Emacs
10512 Manual}). @code{@@defopt} is equivalent to @samp{@@defvr @{User
10279 Option@} @dots{}} and works like @code{@@defvar}.@refill 10513 Option@} @dots{}} and works like @code{@@defvar}.@refill
10280 @end table 10514 @end table
10281 10515
10516
10282 @node Typed Functions, Typed Variables, Variables Commands, Def Cmds in Detail 10517 @node Typed Functions, Typed Variables, Variables Commands, Def Cmds in Detail
10283 @subsection Functions in Typed Languages 10518 @subsection Functions in Typed Languages
10284 10519
10285 The @code{@@deftypefn} command and its variations are for describing 10520 The @code{@@deftypefn} command and its variations are for describing
10286 functions in C or any other language in which you must declare types 10521 functions in languages in which you must declare types of variables and
10287 of variables and functions.@refill 10522 functions, such as C and C++.
10288 10523
10289 @table @code 10524 @table @code
10290 @findex deftypefn 10525 @findex deftypefn
10291 @item @@deftypefn @var{category} @var{data-type} @var{name} @var{arguments}@dots{} 10526 @item @@deftypefn @var{category} @var{data-type} @var{name} @var{arguments}@dots{}
10292 The @code{@@deftypefn} command is the general definition command for 10527 The @code{@@deftypefn} command is the general definition command for
10386 is @code{push}, and its arguments are @var{s} and @var{n}.)@refill 10621 is @code{push}, and its arguments are @var{s} and @var{n}.)@refill
10387 10622
10388 @code{@@deftypefn} creates an entry in the index of functions for 10623 @code{@@deftypefn} creates an entry in the index of functions for
10389 @var{name}.@refill 10624 @var{name}.@refill
10390 10625
10626 @item @@deftypefun @var{data-type} @var{name} @var{arguments}@dots{}
10391 @findex deftypefun 10627 @findex deftypefun
10392 @item @@deftypefun @var{data-type} @var{name} @var{arguments}@dots{}
10393 The @code{@@deftypefun} command is the specialized definition command 10628 The @code{@@deftypefun} command is the specialized definition command
10394 for functions in typed languages. The command is equivalent to 10629 for functions in typed languages. The command is equivalent to
10395 @samp{@@deftypefn Function @dots{}}.@refill 10630 @samp{@@deftypefn Function @dots{}}.@refill
10396 10631
10397 @need 800 10632 @need 800
10439 @end group 10674 @end group
10440 @end example 10675 @end example
10441 10676
10442 @code{@@deftypefun} creates an entry in the index of functions for 10677 @code{@@deftypefun} creates an entry in the index of functions for
10443 @var{name}.@refill 10678 @var{name}.@refill
10679
10680 @item @@deftypemethod @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
10681 @findex deftypefun
10682 The @code{@@deftypemethod} command is the definition command for methods
10683 in object-oriented typed languages, such as C++ and Java. It is similar
10684 to the @code{@@deftypefn} with the addition of the @var{class} parameter
10685 to specify the class containing the method.
10686
10444 @end table 10687 @end table
10688
10445 10689
10446 @node Typed Variables, Abstract Objects, Typed Functions, Def Cmds in Detail 10690 @node Typed Variables, Abstract Objects, Typed Functions, Def Cmds in Detail
10447 @subsection Variables in Typed Languages 10691 @subsection Variables in Typed Languages
10448 10692
10449 Variables in typed languages are handled in a manner similar to 10693 Variables in typed languages are handled in a manner similar to
10682 @end example 10926 @end example
10683 10927
10684 @code{@@defop} creates an entry, such as `@code{expose} on 10928 @code{@@defop} creates an entry, such as `@code{expose} on
10685 @code{windows}', in the index of functions.@refill 10929 @code{windows}', in the index of functions.@refill
10686 10930
10931 @item @@defmethod @var{class} @var{name} @var{arguments}@dots{}
10687 @findex defmethod 10932 @findex defmethod
10688 @item @@defmethod @var{class} @var{name} @var{arguments}@dots{}
10689 The @code{@@defmethod} command is the definition command for methods 10933 The @code{@@defmethod} command is the definition command for methods
10690 in object-oriented programming. A method is a kind of function that 10934 in object-oriented programming. A method is a kind of function that
10691 implements an operation for a particular class of objects and its 10935 implements an operation for a particular class of objects and its
10692 subclasses. In the Lisp Machine, methods actually were functions, but 10936 subclasses. In the Lisp Machine, methods actually were functions, but
10693 they were usually defined with @code{defmethod}. 10937 they were usually defined with @code{defmethod}.
10723 @end group 10967 @end group
10724 @end example 10968 @end example
10725 10969
10726 @code{@@defmethod} creates an entry, such as `@code{bar-method} on 10970 @code{@@defmethod} creates an entry, such as `@code{bar-method} on
10727 @code{bar-class}', in the index of functions.@refill 10971 @code{bar-class}', in the index of functions.@refill
10972
10973 @item @@deftypemethod @var{class} @var{data-type} @var{name} @var{arguments}@dots{}
10974 @findex defmethod
10975 The @code{@@deftypemethod} command is the definition command for methods
10976 in object-oriented typed languages, such as C++ and Java. It is similar
10977 to the @code{@@defmethod} command with the addition of the
10978 @var{data-type} parameter to specify the return type of the method.
10979
10728 @end table 10980 @end table
10729 10981
10730 @node Data Types, , Abstract Objects, Def Cmds in Detail 10982
10983 @node Data Types, , Abstract Objects, Def Cmds in Detail
10731 @subsection Data Types 10984 @subsection Data Types
10732 10985
10733 Here is the command for data types:@refill 10986 Here is the command for data types:@refill
10734 10987
10735 @table @code 10988 @table @code
10782 arguments that indicate the meaning, as with the @var{count} argument 11035 arguments that indicate the meaning, as with the @var{count} argument
10783 to the @code{forward-word} function. Also, if the name of an argument 11036 to the @code{forward-word} function. Also, if the name of an argument
10784 contains the name of a type, such as @var{integer}, take care that the 11037 contains the name of a type, such as @var{integer}, take care that the
10785 argument actually is of that type.@refill 11038 argument actually is of that type.@refill
10786 11039
10787 @node Sample Function Definition, , Def Cmd Conventions, Definition Commands 11040 @node Sample Function Definition, , Def Cmd Conventions, Definition Commands
10788 @section A Sample Function Definition 11041 @section A Sample Function Definition
10789 @cindex Function definitions 11042 @cindex Function definitions
10790 @cindex Command definitions 11043 @cindex Command definitions
10791 @cindex Macro definitions 11044 @cindex Macro definitions
10792 @cindex Sample function definition 11045 @cindex Sample function definition
10794 A function definition uses the @code{@@defun} and @code{@@end defun} 11047 A function definition uses the @code{@@defun} and @code{@@end defun}
10795 commands. The name of the function follows immediately after the 11048 commands. The name of the function follows immediately after the
10796 @code{@@defun} command and it is followed, on the same line, by the 11049 @code{@@defun} command and it is followed, on the same line, by the
10797 parameter list.@refill 11050 parameter list.@refill
10798 11051
10799 Here is a definition from @cite{The GNU Emacs Lisp Reference Manual}. 11052 Here is a definition from @ref{Calling Functions,,, elisp, The GNU Emacs
10800 (@xref{Calling Functions, , Calling Functions, elisp, The GNU Emacs 11053 Lisp Reference Manual}.
10801 Lisp Reference Manual}.)
10802 11054
10803 @quotation 11055 @quotation
10804 @defun apply function &rest arguments 11056 @defun apply function &rest arguments
10805 @code{apply} calls @var{function} with @var{arguments}, just 11057 @code{apply} calls @var{function} with @var{arguments}, just
10806 like @code{funcall} but with one difference: the last of 11058 like @code{funcall} but with one difference: the last of
10883 Index under @code{apply}.@refill 11135 Index under @code{apply}.@refill
10884 11136
10885 Ordinary variables and user options are described using a format like 11137 Ordinary variables and user options are described using a format like
10886 that for functions except that variables do not take arguments. 11138 that for functions except that variables do not take arguments.
10887 11139
11140
10888 @node Footnotes, Conditionals, Definition Commands, Top 11141 @node Footnotes, Conditionals, Definition Commands, Top
10889 @comment node-name, next, previous, up
10890 @chapter Footnotes 11142 @chapter Footnotes
10891 @cindex Footnotes 11143 @cindex Footnotes
10892 @findex footnote 11144 @findex footnote
10893 11145
10894 A @dfn{footnote} is for a reference that documents or elucidates the 11146 A @dfn{footnote} is for a reference that documents or elucidates the
10906 @node Footnote Commands, Footnote Styles, Footnotes, Footnotes 11158 @node Footnote Commands, Footnote Styles, Footnotes, Footnotes
10907 @section Footnote Commands 11159 @section Footnote Commands
10908 11160
10909 In Texinfo, footnotes are created with the @code{@@footnote} command. 11161 In Texinfo, footnotes are created with the @code{@@footnote} command.
10910 This command is followed immediately by a left brace, then by the text 11162 This command is followed immediately by a left brace, then by the text
10911 of the footnote, and then by a terminating right brace. The template 11163 of the footnote, and then by a terminating right brace. Footnotes may
10912 is: 11164 be of any length (they will be broken across pages if necessary), but
10913 11165 are usually short. The template is:
10914 @example 11166
10915 @@footnote@{@var{text}@} 11167 @example
10916 @end example 11168 ordinary text@@footnote@{@var{text of footnote}@}
10917 11169 @end example
10918 Footnotes may be of any length, but are usually short.@refill 11170
11171 As shown here, the @code{@@footnote} command should come right after the
11172 text being footnoted, with no intervening space; otherwise, the
11173 formatters the footnote mark might end up starting up a line.
10919 11174
10920 For example, this clause is followed by a sample 11175 For example, this clause is followed by a sample
10921 footnote@footnote{Here is the sample footnote.}; in the Texinfo 11176 footnote@footnote{Here is the sample footnote.}; in the Texinfo
10922 source, it looks like this:@refill 11177 source, it looks like this:@refill
10923 11178
10924 @example 11179 @example
10925 @dots{}a sample footnote @@footnote@{Here is the sample 11180 @dots{}a sample footnote@@footnote@{Here is the sample
10926 footnote.@}; in the Texinfo source@dots{} 11181 footnote.@}; in the Texinfo source@dots{}
10927 @end example 11182 @end example
10928 11183
10929 @strong{Warning:} Don't use footnotes in the argument of the 11184 @strong{Warning:} Don't use footnotes in the argument of the
10930 @code{@@item} command for a @code{@@table} table. This doesn't work; 11185 @code{@@item} command for a @code{@@table} table. This doesn't work, and
10931 because of limitations of @TeX{}, there is no way to fix it. To avoid 11186 because of limitations of @TeX{}, there is no way to fix it. You must
10932 the problem, move the footnote into the body text of the table. 11187 put the footnote into the body text of the table.
10933 11188
10934 In a printed manual or book, the reference mark for a footnote is a 11189 In a printed manual or book, the reference mark for a footnote is a
10935 small, superscripted number; the text of the footnote appears at the 11190 small, superscripted number; the text of the footnote appears at the
10936 bottom of the page, below a horizontal line.@refill 11191 bottom of the page, below a horizontal line.@refill
10937 11192
10938 In Info, the reference mark for a footnote is a pair of parentheses 11193 In Info, the reference mark for a footnote is a pair of parentheses
10939 with the footnote number between them, like this: @samp{(1)}.@refill 11194 with the footnote number between them, like this: @samp{(1)}.@refill
10940 11195
10941 @node Footnote Styles, , Footnote Commands, Footnotes 11196
11197 @node Footnote Styles, , Footnote Commands, Footnotes
10942 @section Footnote Styles 11198 @section Footnote Styles
10943 11199
10944 Info has two footnote styles, which determine where the text of the 11200 Info has two footnote styles, which determine where the text of the
10945 footnote is located:@refill 11201 footnote is located:@refill
10946 11202
11062 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer} 11318 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer}
11063 command in Emacs.@refill 11319 command in Emacs.@refill
11064 @end ignore 11320 @end ignore
11065 This chapter contains two footnotes.@refill 11321 This chapter contains two footnotes.@refill
11066 11322
11323
11067 @node Conditionals, Macros, Footnotes, Top 11324 @node Conditionals, Macros, Footnotes, Top
11068 @comment node-name, next, previous, up 11325 @comment node-name, next, previous, up
11069 @chapter Conditionally Visible Text 11326 @chapter Conditionally Visible Text
11070 @cindex Conditionally visible text 11327 @cindex Conditionally visible text
11071 @cindex Text, conditionally visible 11328 @cindex Text, conditionally visible
11072 @cindex Visibility of conditional text 11329 @cindex Visibility of conditional text
11073 @cindex If text conditionally visible 11330 @cindex If text conditionally visible
11074 @findex ifhtml
11075 @findex ifinfo
11076 @findex iftex
11077 11331
11078 Sometimes it is good to use different text for a printed manual and 11332 Sometimes it is good to use different text for a printed manual and
11079 its corresponding Info file. In this case, you can use the 11333 its corresponding Info file. In this case, you can use the
11080 @dfn{conditional commands} to specify which text is for the printed manual 11334 @dfn{conditional commands} to specify which text is for the printed manual
11081 and which is for the Info file.@refill 11335 and which is for the Info file.@refill
11082 11336
11083 @menu 11337 @menu
11084 * Conditional Commands:: How to specify text for HTML, Info, or @TeX{}. 11338 * Conditional Commands:: Specifying text for HTML, Info, or @TeX{}.
11085 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands. 11339 * Conditional Not Commands:: Specifying text for not HTML, Info, or @TeX{}.
11086 * set clear value:: How to designate which text to format (for 11340 * Raw Formatter Commands:: Using raw @TeX{} or HTML commands.
11087 both Info and @TeX{}); and how to set a 11341 * set clear value:: Designating which text to format (for
11342 all output formats); and how to set a
11088 flag to a string that you can insert. 11343 flag to a string that you can insert.
11089 @end menu 11344 @end menu
11090 11345
11091 @node Conditional Commands, Using Ordinary TeX Commands, Conditionals, Conditionals 11346 @node Conditional Commands, Conditional Not Commands, Conditionals, Conditionals
11092 @ifinfo 11347 @ifinfo
11093 @heading Using @code{@@ifinfo} and @code{@@iftex} 11348 @heading Conditional Commands
11094 @end ifinfo 11349 @end ifinfo
11095 11350
11351 @findex ifinfo
11096 @code{@@ifinfo} begins segments of text that should be ignored 11352 @code{@@ifinfo} begins segments of text that should be ignored
11097 by @TeX{} when it 11353 by @TeX{} when it
11098 typesets the printed manual. The segment of text appears only 11354 typesets the printed manual. The segment of text appears only
11099 in the Info file. 11355 in the Info file.
11100 The @code{@@ifinfo} command should appear on a line by itself; end 11356 The @code{@@ifinfo} command should appear on a line by itself; end
11101 the Info-only text with a line containing @code{@@end ifinfo} by 11357 the Info-only text with a line containing @code{@@end ifinfo} by
11102 itself. At the beginning of a Texinfo file, the Info permissions are 11358 itself. At the beginning of a Texinfo file, the Info permissions are
11103 contained within a region marked by @code{@@ifinfo} and @code{@@end 11359 contained within a region marked by @code{@@ifinfo} and @code{@@end
11104 ifinfo}. (@xref{Info Summary and Permissions}.)@refill 11360 ifinfo}. (@xref{Info Summary and Permissions}.)@refill
11105 11361
11362 @findex iftex
11363 @findex ifhtml
11106 The @code{@@iftex} and @code{@@end iftex} commands are similar to the 11364 The @code{@@iftex} and @code{@@end iftex} commands are similar to the
11107 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they 11365 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they
11108 specify text that will appear in the printed manual but not in the Info 11366 specify text that will appear in the printed manual but not in the Info
11109 file. Likewise for @code{@@ifhtml} and @code{@@end ifhtml}, which 11367 file. Likewise for @code{@@ifhtml} and @code{@@end ifhtml}, which
11110 specify text to appear only in HTML output.@refill 11368 specify text to appear only in HTML output.@refill
11111 11369
11112 @need 700
11113 For example, 11370 For example,
11114 11371
11115 @example 11372 @example
11116 @@iftex 11373 @@iftex
11117 This text will appear only in the printed manual. 11374 This text will appear only in the printed manual.
11118 @@end iftex 11375 @@end iftex
11119
11120 @@ifinfo 11376 @@ifinfo
11121 However, this text will appear only in Info. 11377 However, this text will appear only in Info.
11122 @@end ifinfo 11378 @@end ifinfo
11123 @end example 11379 @end example
11124 11380
11125 @noindent 11381 @noindent
11126 The preceding example produces the following line: 11382 The preceding example produces the following line:
11127
11128 @iftex 11383 @iftex
11129 This text will appear only in the printed manual. 11384 This text will appear only in the printed manual.
11130 @end iftex 11385 @end iftex
11131
11132 @ifinfo 11386 @ifinfo
11133 However, this text will appear only in Info. 11387 However, this text will appear only in Info.
11134 @end ifinfo 11388 @end ifinfo
11135 11389
11136 @noindent 11390 @noindent
11138 are reading the Info version or the printed version of this 11392 are reading the Info version or the printed version of this
11139 manual.@refill 11393 manual.@refill
11140 11394
11141 The @code{@@titlepage} command is a special variant of @code{@@iftex} that 11395 The @code{@@titlepage} command is a special variant of @code{@@iftex} that
11142 is used for making the title and copyright pages of the printed 11396 is used for making the title and copyright pages of the printed
11143 manual. (@xref{titlepage, , @code{@@titlepage}}.) @refill 11397 manual. (@xref{titlepage, , @code{@@titlepage}}.) @refill
11144 11398
11145 @node Using Ordinary TeX Commands, set clear value, Conditional Commands, Conditionals 11399
11146 @comment node-name, next, previous, up 11400 @node Conditional Not Commands, Raw Formatter Commands, Conditional Commands, Conditionals
11147 @section Using Ordinary @TeX{} Commands 11401 @section Conditional Not Commands
11402 @findex ifnothtml
11403 @findex ifnotinfo
11404 @findex ifnottex
11405
11406 You can specify text to be included in any output format @emph{other}
11407 than some given one with the @code{@@ifnot@dots{}} commands:
11408 @example
11409 @@ifnothtml @dots{} @@end ifnothtml
11410 @@ifnotinfo @dots{} @@end ifnotinfo
11411 @@ifnottex @dots{} @@end ifnottex
11412 @end example
11413 @noindent
11414 (The @code{@@ifnot@dots{}} command and the @code{@@end} command must
11415 actually appear on lines by themselves.)
11416
11417 If the output file is not being made for the given format, the region is
11418 included. Otherwise, it is ignored.
11419
11420 The regions delimited by these commands are ordinary Texinfo source as
11421 with @code{@@iftex}, not raw formatter source as with @code{@@tex}.
11422
11423
11424 @node Raw Formatter Commands, set clear value, Conditional Not Commands, Conditionals
11425 @section Raw Formatter Commands
11148 @cindex @TeX{} commands, using ordinary 11426 @cindex @TeX{} commands, using ordinary
11427 @cindex HTML commands, using ordinary
11428 @cindex Raw formatter commands
11149 @cindex Ordinary @TeX{} commands, using 11429 @cindex Ordinary @TeX{} commands, using
11150 @cindex Commands using ordinary @TeX{} 11430 @cindex Ordinary HTML commands, using
11431 @cindex Commands using raw @TeX{}
11432 @cindex Commands using raw HTML
11151 @cindex plain @TeX{} 11433 @cindex plain @TeX{}
11152 11434
11153 Inside a region delineated by @code{@@iftex} and @code{@@end iftex}, 11435 Inside a region delineated by @code{@@iftex} and @code{@@end iftex}, you
11154 you can embed some plain @TeX{} commands. Info will ignore these 11436 can embed some raw @TeX{} commands. Info will ignore these commands
11155 commands since they are only in that part of the file which is seen by 11437 since they are only in that part of the file which is seen by @TeX{}.
11156 @TeX{}. You can write the @TeX{} commands as you would write them in 11438 You can write the @TeX{} commands as you would write them in a normal
11157 a normal @TeX{} file, except that you must replace the @samp{\} used 11439 @TeX{} file, except that you must replace the @samp{\} used by @TeX{}
11158 by @TeX{} with an @samp{@@}. For example, in the @code{@@titlepage} 11440 with an @samp{@@}. For example, in the @code{@@titlepage} section of a
11159 section of a Texinfo file, you can use the @TeX{} command 11441 Texinfo file, you can use the @TeX{} command @code{@@vskip} to format
11160 @code{@@vskip} to format the copyright page. (The @code{@@titlepage} 11442 the copyright page. (The @code{@@titlepage} command causes Info to
11161 command causes Info to ignore the region automatically, as it does 11443 ignore the region automatically, as it does with the @code{@@iftex}
11162 with the @code{@@iftex} command.)@refill 11444 command.)
11163 11445
11164 However, many features of plain @TeX{} will not work, as they are 11446 However, many features of plain @TeX{} will not work, as they are
11165 overridden by features of Texinfo. 11447 overridden by Texinfo features.
11166 11448
11167 @findex tex 11449 @findex tex
11168 You can enter plain @TeX{} completely, and use @samp{\} in the @TeX{} 11450 You can enter plain @TeX{} completely, and use @samp{\} in the @TeX{}
11169 commands, by delineating a region with the @code{@@tex} and @code{@@end 11451 commands, by delineating a region with the @code{@@tex} and @code{@@end
11170 tex} commands. (The @code{@@tex} command also causes Info to ignore the 11452 tex} commands. (The @code{@@tex} command also causes Info to ignore the
11171 region, like the @code{@@iftex} 11453 region, like the @code{@@iftex} command.) The sole exception is that
11172 command.)@refill 11454 @code{@@} chracter still introduces a command, so that @code{@@end tex}
11455 can be recognized properly.
11173 11456
11174 @cindex Mathematical expressions 11457 @cindex Mathematical expressions
11175 For example, here is a mathematical expression written in 11458 For example, here is a mathematical expression written in
11176 plain @TeX{}:@refill 11459 plain @TeX{}:
11177 11460
11178 @example 11461 @example
11179 @@tex 11462 @@tex
11180 $$ \chi^2 = \sum_@{i=1@}^N 11463 $$ \chi^2 = \sum_@{i=1@}^N
11181 \left (y_i - (a + b x_i) 11464 \left (y_i - (a + b x_i)
11183 @@end tex 11466 @@end tex
11184 @end example 11467 @end example
11185 11468
11186 @noindent 11469 @noindent
11187 The output of this example will appear only in a printed manual. If 11470 The output of this example will appear only in a printed manual. If
11188 you are reading this in Info, you will not see anything after this 11471 you are reading this in Info, you will not see the equation that appears
11189 paragraph. 11472 in the printed manual.
11190 @iftex 11473 @iftex
11191 In a printed manual, the above expression looks like 11474 In a printed manual, the above expression looks like
11192 this: 11475 this:
11193 @end iftex 11476 @end iftex
11194 11477
11196 $$ \chi^2 = \sum_{i=1}^N 11479 $$ \chi^2 = \sum_{i=1}^N
11197 \left(y_i - (a + b x_i) 11480 \left(y_i - (a + b x_i)
11198 \over \sigma_i\right)^2 $$ 11481 \over \sigma_i\right)^2 $$
11199 @end tex 11482 @end tex
11200 11483
11201 @node set clear value, , Using Ordinary TeX Commands, Conditionals 11484 @findex ifhtml
11485 @findex html
11486 Analogously, you can use @code{@@ifhtml @dots{} @@end ifhtml} to delimit
11487 a region to be included in HTML output only, and @code{@@html @dots{}
11488 @@end ifhtml} for a region of raw HTML (again, except that @code{@@} is
11489 still the escape character, so the @code{@@end} command can be
11490 recognized.)
11491
11492
11493 @node set clear value, , Raw Formatter Commands, Conditionals
11202 @comment node-name, next, previous, up 11494 @comment node-name, next, previous, up
11203 @section @code{@@set}, @code{@@clear}, and @code{@@value} 11495 @section @code{@@set}, @code{@@clear}, and @code{@@value}
11204 11496
11205 You can direct the Texinfo formatting commands to format or ignore parts 11497 You can direct the Texinfo formatting commands to format or ignore parts
11206 of a Texinfo file with the @code{@@set}, @code{@@clear}, @code{@@ifset}, 11498 of a Texinfo file with the @code{@@set}, @code{@@clear}, @code{@@ifset},
11215 @menu 11507 @menu
11216 * ifset ifclear:: Format a region if a flag is set. 11508 * ifset ifclear:: Format a region if a flag is set.
11217 * value:: Replace a flag with a string. 11509 * value:: Replace a flag with a string.
11218 * value Example:: An easy way to update edition information. 11510 * value Example:: An easy way to update edition information.
11219 @end menu 11511 @end menu
11512
11220 11513
11221 @node ifset ifclear, value, set clear value, set clear value 11514 @node ifset ifclear, value, set clear value, set clear value
11222 @subsection @code{@@ifset} and @code{@@ifclear} 11515 @subsection @code{@@ifset} and @code{@@ifclear}
11223 11516
11224 @findex ifset 11517 @findex ifset
11412 @exdent @r{into} 11705 @exdent @r{into}
11413 It is a @{No value for "how-much"@} wet day. 11706 It is a @{No value for "how-much"@} wet day.
11414 @end group 11707 @end group
11415 @end example 11708 @end example
11416 11709
11417 @node value Example, , value, set clear value 11710 @node value Example, , value, set clear value
11418 @subsection @code{@@value} Example 11711 @subsection @code{@@value} Example
11419 11712
11420 You can use the @code{@@value} command to limit the number of places you 11713 You can use the @code{@@value} command to limit the number of places you
11421 need to change when you record an update to a manual. 11714 need to change when you record an update to a manual.
11422 Here is how it is done in @cite{The GNU Make Manual}: 11715 Here is how it is done in @cite{The GNU Make Manual}:
11558 @example 11851 @example
11559 @@unmacro foo 11852 @@unmacro foo
11560 @end example 11853 @end example
11561 11854
11562 11855
11563 @node Invoking Macros, , Defining Macros, Macros 11856 @node Invoking Macros, , Defining Macros, Macros
11564 @section Invoking Macros 11857 @section Invoking Macros
11565 @cindex Invoking macros 11858 @cindex Invoking macros
11566 @cindex Macro invocation 11859 @cindex Macro invocation
11567 11860
11568 After a macro is defined (see the previous section), you can use 11861 After a macro is defined (see the previous section), you can use
11666 @heading Use @TeX{} 11959 @heading Use @TeX{}
11667 @end ifinfo 11960 @end ifinfo
11668 11961
11669 The typesetting program called @TeX{} is used for formatting a Texinfo 11962 The typesetting program called @TeX{} is used for formatting a Texinfo
11670 file. @TeX{} is a very powerful typesetting program and, if used right, 11963 file. @TeX{} is a very powerful typesetting program and, if used right,
11671 does an exceptionally good job. @xref{Obtaining TeX, , How to Obtain 11964 does an exceptionally good job. (@xref{Obtaining TeX, , How to Obtain
11672 @TeX{}}, for information on how to obtain @TeX{}.@refill 11965 @TeX{}}, for information on how to obtain @TeX{}.)
11673 11966
11674 The @code{makeinfo}, @code{texinfo-format-region}, and 11967 The @code{makeinfo}, @code{texinfo-format-region}, and
11675 @code{texinfo-format-buffer} commands read the very same @@-commands 11968 @code{texinfo-format-buffer} commands read the very same @@-commands
11676 in the Texinfo file as does @TeX{}, but process them differently to 11969 in the Texinfo file as does @TeX{}, but process them differently to
11677 make an Info file; see @ref{Create an Info File}.@refill 11970 make an Info file; see @ref{Create an Info File}.@refill
11682 @cindex Shell formatting with @code{tex} and @code{texindex} 11975 @cindex Shell formatting with @code{tex} and @code{texindex}
11683 @cindex Formatting with @code{tex} and @code{texindex} 11976 @cindex Formatting with @code{tex} and @code{texindex}
11684 @cindex DVI file 11977 @cindex DVI file
11685 11978
11686 Format the Texinfo file with the shell command @code{tex} followed by 11979 Format the Texinfo file with the shell command @code{tex} followed by
11687 the name of the Texinfo file. This command produces a formatted 11980 the name of the Texinfo file. For example:
11688 @sc{dvi} file as well as several auxiliary files containing indices, 11981
11689 cross references, etc. The @sc{dvi} file (for @dfn{DeVice Independent} 11982 @example
11690 file) can be printed on a wide variety of printers.@refill 11983 tex foo.texi
11691 11984 @end example
11985
11986 @noindent @TeX{} will produce a @dfn{DVI file} as well as several auxiliary
11987 files containing information for indices, cross references, etc. The
11988 DVI file (for @dfn{DeVice Independent} file) can be printed on virtually
11989 any printe (see the following sections).
11990
11991 @pindex texindex
11692 The @code{tex} formatting command itself does not sort the indices; it 11992 The @code{tex} formatting command itself does not sort the indices; it
11693 writes an output file of unsorted index data. This is a misfeature of 11993 writes an output file of unsorted index data. (The @code{texi2dvi}
11694 @TeX{}. (The @code{texi2dvi} command automatically generates indices; 11994 command automatically generates indices; see @ref{Format with texi2dvi,,
11695 see @ref{Format with texi2dvi, , Format using @code{texi2dvi}}.) To 11995 Format using @code{texi2dvi}}.) To generate a printed index after
11696 generate a printed index after running the @code{tex} command, you first 11996 running the @code{tex} command, you first need a sorted index to work
11697 need a sorted index to work from. The @code{texindex} command sorts 11997 from. The @code{texindex} command sorts indices. (The source file
11698 indices. (The source file @file{texindex.c} comes as part of the 11998 @file{texindex.c} comes as part of the standard Texinfo distribution,
11699 standard GNU distribution and is usually installed when Emacs is 11999 among other places.)@refill
11700 installed.)@refill 12000
11701 @pindex texindex 12001 @cindex Names of index files
11702 @ignore
11703 Usage: texindex [-k] [-T tempdir] infile [-o outfile] ...
11704
11705 Each infile arg can optionally be followed by a `-o outfile' arg;
11706 for each infile that is not followed by a -o arg, the infile name with
11707 `s' (for `sorted') appended is used for the outfile.
11708
11709 -T dir is the directory to put temp files in, instead of /tmp.
11710 -k means `keep tempfiles', for debugging.
11711 @end ignore
11712
11713 The @code{tex} formatting command outputs unsorted index files under 12002 The @code{tex} formatting command outputs unsorted index files under
11714 names that obey a standard convention. These names are the name of 12003 names that obey a standard convention: the name of your main input file
11715 your main input file to the @code{tex} formatting command, with 12004 with any @samp{.tex} (or similar, @pxref{tex invocation,,, web2c,
11716 everything after the first period thrown away, and the two letter 12005 Web2c}) extension removed, followed by the two letter names of indices.
11717 names of indices added at the end. For example, the raw index output 12006 For example, the raw index output files for the input file
11718 files for the input file @file{foo.texinfo} would be @file{foo.cp}, 12007 @file{foo.texinfo} would be @file{foo.cp}, @file{foo.vr}, @file{foo.fn},
11719 @file{foo.vr}, @file{foo.fn}, @file{foo.tp}, @file{foo.pg} and 12008 @file{foo.tp}, @file{foo.pg} and @file{foo.ky}. Those are exactly the
11720 @file{foo.ky}. Those are exactly the arguments to give to 12009 arguments to give to @code{texindex}.@refill
11721 @code{texindex}.@refill
11722 12010
11723 @need 1000 12011 @need 1000
11724 Or else, you can use @samp{??} as ``wild-cards'' and give the command in 12012 @cindex Wildcards
11725 this form:@refill 12013 @cindex Globbing
12014 Instead of specifying all the unsorted index file names explicitly, you
12015 can use @samp{??} as shell wildcards and give the command in this
12016 form:@refill
11726 12017
11727 @example 12018 @example
11728 texindex foo.?? 12019 texindex foo.??
11729 @end example 12020 @end example
11730 12021
11736 that are not index files, such as @samp{foo.el}. The @code{texindex} 12027 that are not index files, such as @samp{foo.el}. The @code{texindex}
11737 command reports but otherwise ignores such files.)@refill 12028 command reports but otherwise ignores such files.)@refill
11738 12029
11739 For each file specified, @code{texindex} generates a sorted index file 12030 For each file specified, @code{texindex} generates a sorted index file
11740 whose name is made by appending @samp{s} to the input file name. The 12031 whose name is made by appending @samp{s} to the input file name. The
11741 @code{@@printindex} command knows to look for a file of that name. 12032 @code{@@printindex} command knows to look for a file of that name
11742 @code{texindex} does not alter the raw index output file.@refill 12033 (@pxref{Printing Indices & Menus}). @code{texindex} does not alter the
12034 raw index output file.@refill
11743 12035
11744 After you have sorted the indices, you need to rerun the @code{tex} 12036 After you have sorted the indices, you need to rerun the @code{tex}
11745 formatting command on the Texinfo file. This regenerates a formatted 12037 formatting command on the Texinfo file. This regenerates the DVI file,
11746 @sc{dvi} file with up-to-date index entries.@footnote{If you use more 12038 this time with up-to-date index entries.
11747 than one index and have cross references to an index other than the 12039
11748 first, you must run @code{tex} @emph{three times} to get correct output: 12040 Finally, you may need to run @code{tex} one more time, to get the page
11749 once to generate raw index data; again (after @code{texindex}) to output 12041 numbers in the cross-references correct.
11750 the text of the indices and determine their true page numbers; and a 12042
11751 third time to output correct page numbers in cross references to them. 12043 To summarize, this is a four step process:
11752 However, cross references to indices are rare.}@refill
11753
11754 To summarize, this is a three step process:
11755 12044
11756 @enumerate 12045 @enumerate
11757 @item 12046 @item
11758 Run the @code{tex} formatting command on the Texinfo file. This 12047 Run @code{tex} on your Texinfo file. This generates a DVI file (with
11759 generates the formatted @sc{dvi} file as well as the raw index files 12048 undefined cross-references and no indices), and the raw index files
11760 with two letter extensions.@refill 12049 (with two letter extensions).
11761 12050
11762 @item 12051 @item
11763 Run the shell command @code{texindex} on the raw index files to sort 12052 Run @code{texindex} on the raw index files. This creates the
11764 them. This creates the corresponding sorted index files.@refill 12053 corresponding sorted index files (with three letter extensions).
11765 12054
11766 @item 12055 @item
11767 Rerun the @code{tex} formatting command on the Texinfo file. This 12056 Run @code{tex} again on your Texinfo file. This regenerates the DVI
11768 regenerates a formatted @sc{dvi} file with the index entries in the 12057 file, this time with indices and defined cross-references, but with page
11769 correct order. This second run also corrects the page numbers for 12058 numbers for the cross-references from last time, generally incorrect.
11770 the cross references. (The tables of contents are always correct.)@refill 12059
12060 @item
12061 Run @code{tex} one last time. This time the correct page numbers are
12062 written for the cross-references.
11771 @end enumerate 12063 @end enumerate
11772 12064
11773 You need not run @code{texindex} each time after you run the 12065 @pindex texi2dvi
11774 @code{tex} formatting. If you do not, on the next run, the @code{tex} 12066 Alternatively, it's a one-step process: run @code{texi2dvi}.
11775 formatting command will use whatever sorted index files happen to 12067
11776 exist from the previous use of @code{texindex}. This is usually 12068 You need not run @code{texindex} each time after you run @code{tex}. If
11777 @sc{ok} while you are debugging.@refill 12069 you do not, on the next run, the @code{tex} formatting command will use
12070 whatever sorted index files happen to exist from the previous use of
12071 @code{texindex}. This is usually ok while you are
12072 debugging.@refill
11778 12073
11779 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy 12074 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy
11780 @comment node-name, next, previous, up 12075 @comment node-name, next, previous, up
11781 @section Format using @code{texi2dvi} 12076 @section Format using @code{texi2dvi}
11782 @pindex texi2dvi @r{(shell script)} 12077 @pindex texi2dvi @r{(shell script)}
11783 12078
11784 The @code{texi2dvi} command is a shell script that automatically runs 12079 The @code{texi2dvi} command is a shell script that automatically runs
11785 both @code{tex} and @code{texindex} as many times as necessary to 12080 both @code{tex} and @code{texindex} as many times as necessary to
11786 produce a @sc{dvi} file with up-to-date, sorted indices. It simplifies 12081 produce a DVI file with up-to-date, sorted indices. It simplifies the
11787 the @code{tex}---@code{texindex}---@code{tex} sequence described in the 12082 @code{tex}---@code{texindex}---@code{tex} sequence described in the
11788 previous section. 12083 previous section.
11789 12084
11790 @need 1000 12085 @need 1000
11791 The syntax for @code{texi2dvi} is like this (where @samp{prompt$} is the 12086 The syntax for @code{texi2dvi} is like this (where @samp{prompt$} is the
11792 shell prompt):@refill 12087 shell prompt):@refill
11796 @end example 12091 @end example
11797 12092
11798 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy 12093 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy
11799 @comment node-name, next, previous, up 12094 @comment node-name, next, previous, up
11800 @section Shell Print Using @code{lpr -d} 12095 @section Shell Print Using @code{lpr -d}
11801 @pindex lpr @r{(@sc{dvi} print command)} 12096 @pindex lpr @r{(DVI print command)}
11802 12097
11803 You can print a @sc{dvi} file with the @sc{dvi} print command. The 12098 The precise command to print a DVI file depends on your system
11804 precise printing command to use depends on your system; @samp{lpr -d} is 12099 installation, but @samp{lpr -d} is common. The command may require the
11805 common. The @sc{dvi} print command may require a file name without any 12100 DVI file name without any extension or with a @samp{.dvi}
11806 extension or with a @samp{.dvi} extension.@refill 12101 extension. (If it is @samp{lpr}, you must include the @samp{.dvi}.)
11807 12102
11808 @need 1200 12103 The following commands, for example, will (probably) suffice to sort the
11809 The following commands, for example, sort the indices, format, and 12104 indices, format, and print the @cite{Bison Manual}:
11810 print the @cite{Bison Manual} (where @samp{%} is the shell 12105
11811 prompt):@refill 12106 @example
11812 12107 @group
11813 @example 12108 tex bison.texinfo
11814 @group 12109 texindex bison.??
11815 % tex bison.texinfo 12110 tex bison.texinfo
11816 % texindex bison.?? 12111 lpr -d bison.dvi
11817 % tex bison.texinfo
11818 % lpr -d bison.dvi
11819 @end group 12112 @end group
11820 @end example 12113 @end example
11821 12114
11822 @noindent 12115 @noindent
11823 (Remember that the shell commands may be different at your site; but 12116 (Remember that the shell commands may be different at your site; but
11826 @need 1000 12119 @need 1000
11827 Using the @code{texi2dvi} shell script, you simply need type:@refill 12120 Using the @code{texi2dvi} shell script, you simply need type:@refill
11828 12121
11829 @example 12122 @example
11830 @group 12123 @group
11831 % texi2dvi bison.texinfo 12124 texi2dvi bison.texinfo
11832 % lpr -d bison.dvi 12125 lpr -d bison.dvi
11833 @end group 12126 @end group
11834 @end example 12127 @end example
11835 12128
11836 @node Within Emacs, Texinfo Mode Printing, Print with lpr, Format/Print Hardcopy 12129 @node Within Emacs, Texinfo Mode Printing, Print with lpr, Format/Print Hardcopy
11837 @comment node-name, next, previous, up 12130 @comment node-name, next, previous, up
11838 @section From an Emacs Shell @dots{} 12131 @section From an Emacs Shell
11839 @cindex Print, format from Emacs shell 12132 @cindex Print, format from Emacs shell
11840 @cindex Format, print from Emacs shell 12133 @cindex Format, print from Emacs shell
11841 @cindex Shell, format, print from 12134 @cindex Shell, format, print from
11842 @cindex Emacs shell, format, print from 12135 @cindex Emacs shell, format, print from
11843 @cindex GNU Emacs shell, format, print from 12136 @cindex GNU Emacs shell, format, print from
11851 running and do other editing. If you are formatting a long document 12144 running and do other editing. If you are formatting a long document
11852 on a slow machine, this can be very convenient.@refill 12145 on a slow machine, this can be very convenient.@refill
11853 12146
11854 You can also use @code{texi2dvi} from an Emacs shell. For example, 12147 You can also use @code{texi2dvi} from an Emacs shell. For example,
11855 here is how to use @code{texi2dvi} to format and print @cite{Using and 12148 here is how to use @code{texi2dvi} to format and print @cite{Using and
11856 Porting GNU CC} from a shell within Emacs (where @samp{%} is the shell 12149 Porting GNU CC} from a shell within Emacs:
11857 prompt):@refill 12150
11858 12151 @example
11859 @example 12152 @group
11860 @group 12153 texi2dvi gcc.texinfo
11861 % texi2dvi gcc.texinfo 12154 lpr -d gcc.dvi
11862 % lpr -d gcc.dvi
11863 @end group 12155 @end group
11864 @end example 12156 @end example
11865 @ifinfo 12157 @ifinfo
11866 12158
11867 @xref{Texinfo Mode Printing}, for more information about formatting 12159 @xref{Texinfo Mode Printing}, for more information about formatting
11894 Sort the indices of a Texinfo file formatted with 12186 Sort the indices of a Texinfo file formatted with
11895 @code{texinfo-tex-region}.@refill 12187 @code{texinfo-tex-region}.@refill
11896 12188
11897 @item C-c C-t C-p 12189 @item C-c C-t C-p
11898 @itemx M-x texinfo-tex-print 12190 @itemx M-x texinfo-tex-print
11899 Print a @sc{dvi} file that was made with @code{texinfo-tex-region} or 12191 Print a DVI file that was made with @code{texinfo-tex-region} or
11900 @code{texinfo-tex-buffer}.@refill 12192 @code{texinfo-tex-buffer}.@refill
11901 12193
11902 @item C-c C-t C-q 12194 @item C-c C-t C-q
11903 @itemx M-x tex-show-print-queue 12195 @itemx M-x tex-show-print-queue
11904 Show the print queue.@refill 12196 Show the print queue.@refill
11932 follows (with comments to the right):@refill 12224 follows (with comments to the right):@refill
11933 12225
11934 @example 12226 @example
11935 @group 12227 @group
11936 C-c C-t C-b @r{Run @code{texi2dvi} on the buffer.} 12228 C-c C-t C-b @r{Run @code{texi2dvi} on the buffer.}
11937 C-c C-t C-p @r{Print the @sc{dvi} file.} 12229 C-c C-t C-p @r{Print the DVI file.}
11938 C-c C-t C-q @r{Display the printer queue.} 12230 C-c C-t C-q @r{Display the printer queue.}
11939 @end group 12231 @end group
11940 @end example 12232 @end example
11941 12233
11942 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs 12234 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs
11991 For example, at the end of the @file{gdb.texinfo} file, after the 12283 For example, at the end of the @file{gdb.texinfo} file, after the
11992 @code{@@bye}, you could put the following:@refill 12284 @code{@@bye}, you could put the following:@refill
11993 12285
11994 @example 12286 @example
11995 @group 12287 @group
11996 @@c Local Variables: 12288 Local Variables:
11997 @@c compile-command: "texi2dvi gdb.texinfo" 12289 compile-command: "texi2dvi gdb.texinfo"
11998 @@c End: 12290 End:
11999 @end group 12291 @end group
12000 @end example 12292 @end example
12001 12293
12002 @noindent 12294 @noindent
12003 This technique is most often used by programmers who also compile programs 12295 This technique is most often used by programmers who also compile programs
12004 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill 12296 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill
12297
12005 12298
12006 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy 12299 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy
12007 @comment node-name, next, previous, up 12300 @comment node-name, next, previous, up
12008 @section @TeX{} Formatting Requirements Summary 12301 @section @TeX{} Formatting Requirements Summary
12009 @cindex Requirements for formatting 12302 @cindex Requirements for formatting
12303 @cindex Minimal requirements for formatting
12010 @cindex Formatting requirements 12304 @cindex Formatting requirements
12011 12305
12012 Every Texinfo file that is to be input to @TeX{} must begin with a 12306 Every Texinfo file that is to be input to @TeX{} must begin with a
12013 @code{\input} command and must contain an @code{@@setfilename} command and 12307 @code{\input} command and must contain an @code{@@setfilename} command:
12014 an @code{@@settitle} command:@refill
12015 12308
12016 @example 12309 @example
12017 \input texinfo 12310 \input texinfo
12018 @@setfilename @var{arg-not-used-by-@TeX{}} 12311 @@setfilename @var{arg-not-used-by-@TeX{}}
12019 @@settitle @var{name-of-manual}
12020 @end example 12312 @end example
12021 12313
12022 @noindent 12314 @noindent
12023 The first command instructs @TeX{} to load the macros it needs to 12315 The first command instructs @TeX{} to load the macros it needs to
12024 process a Texinfo file, the second command opens auxiliary files, and 12316 process a Texinfo file and the second command opens auxiliary files.
12025 the third specifies the title of printed manual. 12317
12026 12318 Every Texinfo file must end with a line that terminates @TeX{}'s
12027 @need 1000 12319 processing and forces out unfinished pages:
12028 Every Texinfo file must end with a line that terminates @TeX{}
12029 processing and forces out unfinished pages:@refill
12030 12320
12031 @example 12321 @example
12032 @@bye 12322 @@bye
12033 @end example 12323 @end example
12034 12324
12035 Strictly speaking, these four lines are all a Texinfo file needs for 12325 Strictly speaking, these lines are all a Texinfo file needs to be
12036 @TeX{}, besides the body. (The @code{@@setfilename} line is the only 12326 processed successfully by @TeX{}.
12037 line that a Texinfo file needs for Info formatting.)@refill 12327
12038 12328 Usually, however, the beginning includes an @code{@@settitle} command to
12039 Usually, the file's first line contains an @samp{@@c -*-texinfo-*-} 12329 define the title of the printed manual, an @code{@@setchapternewpage}
12040 comment that causes Emacs to switch to Texinfo mode when you edit the 12330 command, a title page, a copyright page, and permissions. Besides an
12041 file. In addition, the beginning usually includes an 12331 @code{@@bye}, the end of a file usually includes indices and a table of
12042 @code{@@setchapternewpage} command, a title page, a copyright page, and 12332 contents. (And of course most manuals contain a body of text as well.)
12043 permissions. Besides an @code{@@bye}, the end of a file usually
12044 includes indices and a table of contents.@refill
12045 12333
12046 @iftex 12334 @iftex
12047 For more information, see 12335 For more information, see
12336 @ref{settitle, , @code{@@settitle}},
12048 @ref{setchapternewpage, , @code{@@setchapternewpage}}, 12337 @ref{setchapternewpage, , @code{@@setchapternewpage}},
12049 @ref{Headings, ,Page Headings}, 12338 @ref{Headings, ,Page Headings},
12050 @ref{Titlepage & Copyright Page}, 12339 @ref{Titlepage & Copyright Page},
12051 @ref{Printing Indices & Menus}, and 12340 @ref{Printing Indices & Menus}, and
12052 @ref{Contents}. 12341 @ref{Contents}.
12053 @end iftex 12342 @end iftex
12054 @noindent 12343 @noindent
12055 @ifinfo 12344 @ifinfo
12056 For more information, see@* 12345 For more information, see@*
12346 @ref{settitle, , @code{@@settitle}},@*
12057 @ref{setchapternewpage, , @code{@@setchapternewpage}},@* 12347 @ref{setchapternewpage, , @code{@@setchapternewpage}},@*
12058 @ref{Headings, ,Page Headings},@* 12348 @ref{Headings, ,Page Headings},@*
12059 @ref{Titlepage & Copyright Page},@* 12349 @ref{Titlepage & Copyright Page},@*
12060 @ref{Printing Indices & Menus}, and@* 12350 @ref{Printing Indices & Menus}, and@*
12061 @ref{Contents}. 12351 @ref{Contents}.
12062 @end ifinfo 12352 @end ifinfo
12353
12063 12354
12064 @node Preparing for TeX, Overfull hboxes, Requirements Summary, Format/Print Hardcopy 12355 @node Preparing for TeX, Overfull hboxes, Requirements Summary, Format/Print Hardcopy
12065 @comment node-name, next, previous, up 12356 @comment node-name, next, previous, up
12066 @section Preparing to Use @TeX{} 12357 @section Preparing to Use @TeX{}
12067 @cindex Preparing to use @TeX{} 12358 @cindex Preparing to use @TeX{}
12070 @vindex TEXINPUTS 12361 @vindex TEXINPUTS
12071 @cindex @b{.profile} initialization file 12362 @cindex @b{.profile} initialization file
12072 @cindex @b{.cshrc} initialization file 12363 @cindex @b{.cshrc} initialization file
12073 @cindex Initialization file for @TeX{} input 12364 @cindex Initialization file for @TeX{} input
12074 12365
12075 @TeX{} needs to know where to find the @file{texinfo.tex} file 12366 @TeX{} needs to know where to find the @file{texinfo.tex} file that you
12076 that you have told it to input with the @samp{\input texinfo} command 12367 have told it to input with the @samp{\input texinfo} command at the
12077 at the beginning of the first line. The @file{texinfo.tex} file tells 12368 beginning of the first line. The @file{texinfo.tex} file tells @TeX{}
12078 @TeX{} how to handle @@-commands. (@file{texinfo.tex} is 12369 how to handle @@-commands; it is included in all standard GNU
12079 included in the standard GNU distributions.)@refill 12370 distributions.
12080 12371
12081 Usually, the @file{texinfo.tex} file is put in the default directory 12372 @pindex texinfo.tex@r{, installing}
12082 that contains @TeX{} macros (the @file{/usr/lib/tex/macros} 12373 Usually, the @file{texinfo.tex} file is put under the default directory
12083 directory) when GNU Emacs or other GNU software is installed. 12374 that contains @TeX{} macros
12084 In this case, @TeX{} will 12375 (@file{/usr/local/share/texmf/tex/texinfo/texinfo.tex} by default) when
12376 GNU Emacs or other GNU software is installed. In this case, @TeX{} will
12085 find the file and you do not need to do anything special. 12377 find the file and you do not need to do anything special.
12086 Alternatively, you can put @file{texinfo.tex} in the directory in 12378 Alternatively, you can put @file{texinfo.tex} in the current directory
12087 which the Texinfo source file is located, and @TeX{} will find it 12379 when you run @TeX{}, and @TeX{} will find it there.
12088 there.@refill 12380
12089 12381 @pindex epsf.tex@r{, installing}
12090 However, you may want to specify the location of the @code{\input} file 12382 Also, you should install @file{epsf.tex} in the same place as
12091 yourself. One way to do this is to write the complete path for the file 12383 @file{texinfo.tex}, if it is not already installed from another
12092 after the @code{\input} command. Another way is to set the 12384 distribution. This file is needed to support the @code{@@image} command
12093 @code{TEXINPUTS} environment variable in your @file{.cshrc} or 12385 (@pxref{Images}).
12094 @file{.profile} file. The @code{TEXINPUTS} environment variable will tell 12386
12095 @TeX{} where to find the @file{texinfo.tex} file and any other file that 12387 @pindex texinfo.cnf @r{installation}
12096 you might want @TeX{} to use.@refill 12388 @cindex Customizing of @TeX{} for Texinfo
12097 12389 @cindex Site-wide Texinfo configuration file
12098 Whether you use a @file{.cshrc} or @file{.profile} file depends on 12390 Optionally, you may create an additional @file{texinfo.cnf}, and install
12099 whether you use @code{csh}, @code{sh}, or @code{bash} for your shell 12391 it as well. This file is read by @TeX{} at the @code{@@setfilename}
12100 command interpreter. When you use @code{csh}, it looks to the 12392 command (@pxref{setfilename,, @code{@@setfilename}}). You can put any
12101 @file{.cshrc} file for initialization information, and when you use 12393 commands you like there according to local site-wide conventions, and
12102 @code{sh} or @code{bash}, it looks to the @file{.profile} file.@refill 12394 they will be read by @TeX{} when processing any Texinfo document. For
12103 12395 example, if @file{texinfo.cnf} contains the a single line
12104 @need 1000 12396 @samp{@@afourpaper} (@pxref{A4 Paper}), then all Texinfo documents will
12397 be processed with that page size in effect. If you have nothing to put
12398 in @file{texinfo.cnf}, you do not need to create it.
12399
12400 @vindex TEXINPUTS
12401 If neither of the above locations for these system files suffice for
12402 you, you can specify the directories explicitly. For
12403 @file{texinfo.tex}, you can do this by writing the complete path for the
12404 file after the @code{\input} command. Another way, that works for both
12405 @file{texinfo.tex} and @file{texinfo.cnf} (and any other file @TeX{}
12406 might read), is to set the @code{TEXINPUTS} environment variable in your
12407 @file{.cshrc} or @file{.profile} file.
12408
12409 Which you use of @file{.cshrc} or @file{.profile} depends on
12410 whether you use a Bourne shell-compatible (@code{sh}, @code{bash},
12411 @code{ksh}, @dots{}) or C shell-compatible (@code{csh}, @code{tcsh})
12412 command interpreter. The latter read the @file{.cshrc} file for
12413 initialization information, and the former read @file{.profile}.
12414
12105 In a @file{.cshrc} file, you could use the following @code{csh} command 12415 In a @file{.cshrc} file, you could use the following @code{csh} command
12106 sequence:@refill 12416 sequence:
12107 12417
12108 @example 12418 @example
12109 setenv TEXINPUTS .:/usr/me/mylib:/usr/lib/tex/macros 12419 setenv TEXINPUTS .:/home/me/mylib:/usr/lib/tex/macros
12110 @end example 12420 @end example
12111 12421
12112 @need 1000 12422 @need 1000
12113 In a @file{.profile} file, you could use the following @code{sh} command 12423 In a @file{.profile} file, you could use the following @code{sh} command
12114 sequence: 12424 sequence:
12115 12425
12116 @example 12426 @example
12117 @group 12427 @group
12118 TEXINPUTS=.:/usr/me/mylib:/usr/lib/tex/macros 12428 TEXINPUTS=.:/home/me/mylib:/usr/lib/tex/macros
12119 export TEXINPUTS 12429 export TEXINPUTS
12120 @end group 12430 @end group
12121 @end example 12431 @end example
12122 12432
12123 @noindent 12433 @noindent
12124 This would cause @TeX{} to look for @file{\input} file first in the current 12434 This would cause @TeX{} to look for @file{\input} file first in the current
12125 directory, indicated by the @samp{.}, then in a hypothetical user's 12435 directory, indicated by the @samp{.}, then in a hypothetical user's
12126 @file{me/mylib} directory, and finally in the system library.@refill 12436 @file{me/mylib} directory, and finally in a system directory.
12437
12127 12438
12128 @node Overfull hboxes, smallbook, Preparing for TeX, Format/Print Hardcopy 12439 @node Overfull hboxes, smallbook, Preparing for TeX, Format/Print Hardcopy
12129 @comment node-name, next, previous, up 12440 @comment node-name, next, previous, up
12130 @section Overfull ``hboxes'' 12441 @section Overfull ``hboxes''
12131 @cindex Overfull @samp{hboxes} 12442 @cindex Overfull @samp{hboxes}
12207 The Free Software Foundation distributes printed copies of @cite{The GNU 12518 The Free Software Foundation distributes printed copies of @cite{The GNU
12208 Emacs Manual} and other manuals in the ``small'' book size. 12519 Emacs Manual} and other manuals in the ``small'' book size.
12209 @xref{smallexample & smalllisp, , @code{@@smallexample} and 12520 @xref{smallexample & smalllisp, , @code{@@smallexample} and
12210 @code{@@smalllisp}}, for information about commands that make it easier 12521 @code{@@smalllisp}}, for information about commands that make it easier
12211 to produce examples for a smaller manual.@refill 12522 to produce examples for a smaller manual.@refill
12523
12524 Alternatively, to avoid embedding this physical paper size in your
12525 document, use @code{texi2dvi} to format your document (@pxref{Format
12526 with texi2dvi}), and supply @samp{-t @@smallbook} as an argument. Then
12527 other people do not have to change the document source file to format it
12528 differently.
12529
12212 12530
12213 @node A4 Paper, Cropmarks and Magnification, smallbook, Format/Print Hardcopy 12531 @node A4 Paper, Cropmarks and Magnification, smallbook, Format/Print Hardcopy
12214 @comment node-name, next, previous, up 12532 @comment node-name, next, previous, up
12215 @section Printing on A4 Paper 12533 @section Printing on A4 Paper
12216 @cindex A4 paper, printing on 12534 @cindex A4 paper, printing on
12237 @@end iftex 12555 @@end iftex
12238 @@c %**end of header 12556 @@c %**end of header
12239 @end group 12557 @end group
12240 @end example 12558 @end example
12241 12559
12242 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy 12560 Alternatively, to avoid embedding this physical paper size in your
12561 document, use @code{texi2dvi} to format your document (@pxref{Format
12562 with texi2dvi}), and supply @samp{-t @@afourpaper} as an argument. Then
12563 other people do not have to change the document source file to format it
12564 differently.
12565
12566 @pindex texinfo.cnf
12567 Another alternative: put the @code{@@afourpaper} command in the file
12568 @file{texinfo.cnf} that @TeX{} will read. (No need for @code{@@iftex}
12569 there.) This will automatically typeset all the Texinfo documents at
12570 your site with that paper size in effect.
12571
12572
12573 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy
12243 @comment node-name, next, previous, up 12574 @comment node-name, next, previous, up
12244 @section Cropmarks and Magnification 12575 @section Cropmarks and Magnification
12245 12576
12246 @findex cropmarks 12577 @findex cropmarks
12247 @cindex Cropmarks for printing 12578 @cindex Cropmarks for printing
12276 usual with the @code{\mag} @TeX{} command. Everything that is typeset 12607 usual with the @code{\mag} @TeX{} command. Everything that is typeset
12277 is scaled proportionally larger or smaller. (@code{\mag} stands for 12608 is scaled proportionally larger or smaller. (@code{\mag} stands for
12278 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a 12609 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a
12279 plain @TeX{} command that is prefixed with a backslash. You have to 12610 plain @TeX{} command that is prefixed with a backslash. You have to
12280 write this command between @code{@@tex} and @code{@@end tex} 12611 write this command between @code{@@tex} and @code{@@end tex}
12281 (@pxref{Using Ordinary TeX Commands, , Using Ordinary @TeX{} 12612 (@pxref{Raw Formatter Commands}).
12282 Commands}).@refill
12283 12613
12284 Follow the @code{\mag} command with an @samp{=} and then a number that 12614 Follow the @code{\mag} command with an @samp{=} and then a number that
12285 is 1000 times the magnification you desire. For example, to print pages 12615 is 1000 times the magnification you desire. For example, to print pages
12286 at 1.2 normal size, write the following near the beginning of the 12616 at 1.2 normal size, write the following near the beginning of the
12287 Texinfo file, before the title page:@refill 12617 Texinfo file, before the title page:@refill
12309 12639
12310 @code{makeinfo} is a utility that converts a Texinfo file into an Info 12640 @code{makeinfo} is a utility that converts a Texinfo file into an Info
12311 file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are 12641 file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are
12312 GNU Emacs functions that do the same.@refill 12642 GNU Emacs functions that do the same.@refill
12313 12643
12314 A Texinfo file must possess an @code{@@setfilename} line near its 12644 A Texinfo file must contain an @code{@@setfilename} line near its
12315 beginning, otherwise the Info formatting commands will fail.@refill 12645 beginning, otherwise the Info formatting commands will fail.
12316 12646
12317 For information on installing the Info file in the Info system, see 12647 For information on installing the Info file in the Info system, see
12318 @ref{Install an Info File}.@refill 12648 @ref{Install an Info File}.@refill
12319 12649
12320 @menu 12650 @menu
12354 @node Invoking makeinfo, makeinfo options, makeinfo advantages, Create an Info File 12684 @node Invoking makeinfo, makeinfo options, makeinfo advantages, Create an Info File
12355 @section Running @code{makeinfo} from a Shell 12685 @section Running @code{makeinfo} from a Shell
12356 12686
12357 To create an Info file from a Texinfo file, type @code{makeinfo} 12687 To create an Info file from a Texinfo file, type @code{makeinfo}
12358 followed by the name of the Texinfo file. Thus, to create the Info 12688 followed by the name of the Texinfo file. Thus, to create the Info
12359 file for Bison, type the following at the shell prompt (where @samp{%} 12689 file for Bison, type the following to the shell:
12360 is the prompt):@refill 12690 is the prompt):@refill
12361 12691
12362 @example 12692 @example
12363 % makeinfo bison.texinfo 12693 makeinfo bison.texinfo
12364 @end example 12694 @end example
12365 12695
12366 (You can run a shell inside Emacs by typing @kbd{M-x 12696 (You can run a shell inside Emacs by typing @kbd{M-x shell}.)@refill
12367 shell}.)@refill
12368 12697
12369 @ifinfo 12698 @ifinfo
12370 Sometimes you will want to specify options. For example, if you wish 12699 Sometimes you will want to specify options. For example, if you wish
12371 to discover which version of @code{makeinfo} you are using, 12700 to discover which version of @code{makeinfo} you are using,
12372 type:@refill 12701 type:@refill
12373 12702
12374 @example 12703 @example
12375 % makeinfo --version 12704 makeinfo --version
12376 @end example 12705 @end example
12377 12706
12378 @xref{makeinfo options}, for more information. 12707 @xref{makeinfo options}, for more information.
12379 @end ifinfo 12708 @end ifinfo
12709
12380 12710
12381 @node makeinfo options, Pointer Validation, Invoking makeinfo, Create an Info File 12711 @node makeinfo options, Pointer Validation, Invoking makeinfo, Create an Info File
12382 @comment node-name, next, previous, up 12712 @comment node-name, next, previous, up
12383 @section Options for @code{makeinfo} 12713 @section Options for @code{makeinfo}
12384 @cindex @code{makeinfo} options 12714 @cindex @code{makeinfo} options
12385 @cindex Options for @code{makeinfo} 12715 @cindex Options for @code{makeinfo}
12386 12716
12387 The @code{makeinfo} command takes a number of options. Most often, 12717 The @code{makeinfo} command takes a number of options. Most often,
12388 options are used to set the value of the fill column and specify the 12718 options are used to set the value of the fill column and specify the
12389 footnote style. Each command line option is a word preceded by 12719 footnote style. Each command line option is a word preceded by
12390 @samp{--}@footnote{@samp{--} has replaced @samp{+}, the old introductory 12720 @samp{--} or a letter preceded by @samp{-}. You can use abbreviations
12391 character, to maintain POSIX.2 compatibility without losing long-named 12721 for the long option names as long as they are unique.@refill
12392 options.} or a letter preceded by @samp{-}. You can use abbreviations 12722
12393 for the option names as long as they are unique.@refill 12723 For example, you could use the following shell command to create an Info
12394
12395 For example, you could use the following command to create an Info
12396 file for @file{bison.texinfo} in which each line is filled to only 68 12724 file for @file{bison.texinfo} in which each line is filled to only 68
12397 columns (where @samp{%} is the prompt):@refill 12725 columns:@refill
12398 12726
12399 @example 12727 @example
12400 % makeinfo --fill-column=68 bison.texinfo 12728 makeinfo --fill-column=68 bison.texinfo
12401 @end example 12729 @end example
12402 12730
12403 You can write two or more options in sequence, like this:@refill 12731 You can write two or more options in sequence, like this:@refill
12404 12732
12405 @example 12733 @example
12406 % makeinfo --no-split --fill-column=70 @dots{} 12734 makeinfo --no-split --fill-column=70 @dots{}
12407 @end example 12735 @end example
12408 12736
12409 @noindent 12737 @noindent
12410 This would keep the Info file together as one possibly very long 12738 This would keep the Info file together as one possibly very long
12411 file and would also set the fill column to 70.@refill 12739 file and would also set the fill column to 70.@refill
12412 12740
12413 @iftex 12741 The options are:
12414 If you wish to discover which version of @code{makeinfo} 12742
12415 you are using, type:@refill
12416
12417 @example
12418 % makeinfo --version
12419 @end example
12420 @end iftex
12421
12422 The options are:@refill
12423
12424 @need 100
12425 @table @code 12743 @table @code
12744
12426 @item -D @var{var} 12745 @item -D @var{var}
12427 Cause @var{var} to be defined. This is equivalent to 12746 @opindex -D @var{var}
12428 @code{@@set @var{var}} in the Texinfo file. 12747 Cause the variable @var{var} to be defined. This is equivalent to
12748 @code{@@set @var{var}} in the Texinfo file (@pxref{set clear value}).
12749
12750 @item --error-limit=@var{limit}
12751 @opindex --error-limit=@var{limit}
12752 Set the maximum number of errors that @code{makeinfo} will report
12753 before exiting (on the assumption that continuing would be useless);
12754 default 100.
12429 12755
12430 @need 150 12756 @need 150
12431 @item --error-limit @var{limit} 12757 @item --fill-column=@var{width}
12432 Set the maximum number of errors that @code{makeinfo} will report 12758 @opindex --fill-column=@var{width}
12433 before exiting (on the assumption that continuing would be useless).
12434 The default number of errors that can be reported before
12435 @code{makeinfo} gives up is 100.@refill
12436
12437 @need 150
12438 @item --fill-column @var{width}
12439 Specify the maximum number of columns in a line; this is the right-hand 12759 Specify the maximum number of columns in a line; this is the right-hand
12440 edge of a line. Paragraphs that are filled will be filled to this 12760 edge of a line. Paragraphs that are filled will be filled to this
12441 width. (Filling is the process of breaking up and connecting lines so 12761 width. (Filling is the process of breaking up and connecting lines so
12442 that lines are the same length as or shorter than the number specified 12762 that lines are the same length as or shorter than the number specified
12443 as the fill column. Lines are broken between words.) The default value 12763 as the fill column. Lines are broken between words.) The default value
12444 for @code{fill-column} is 72. 12764 is 72.
12445 @refill 12765
12446 12766 @item --footnote-style=@var{style}
12447 @item --footnote-style @var{style} 12767 @opindex --footnote-style=@var{style}
12448 Set the footnote style to @var{style}, either @samp{end} for the end 12768 Set the footnote style to @var{style}, either @samp{end} for the end
12449 node style or @samp{separate} for the separate node style. The value 12769 node style (the default) or @samp{separate} for the separate node style.
12450 set by this option overrides the value set in a Texinfo file by an 12770 The value set by this option overrides the value set in a Texinfo file
12451 @code{@@footnotestyle} command. When the footnote style is 12771 by an @code{@@footnotestyle} command (@pxref{Footnotes}). When the
12452 @samp{separate}, @code{makeinfo} makes a new node containing the 12772 footnote style is @samp{separate}, @code{makeinfo} makes a new node
12453 footnotes found in the current node. When the footnote style is 12773 containing the footnotes found in the current node. When the footnote
12454 @samp{end}, @code{makeinfo} places the footnote references at the end 12774 style is @samp{end}, @code{makeinfo} places the footnote references at
12455 of the current node.@refill 12775 the end of the current node.
12456 12776
12457 @need 150 12777 @item --force
12778 @opindex --force
12779 Ordinarily, if the input file has errors, the output files are not
12780 created. With this option, they are preserved.
12781
12782 @item --help
12783 @opindex --help
12784 Print a usage message listing all available options, then exit successfully.
12785
12458 @item -I @var{dir} 12786 @item -I @var{dir}
12787 @opindex -I @var{dir}
12459 Add @code{dir} to the directory search list for finding files that are 12788 Add @code{dir} to the directory search list for finding files that are
12460 included using the @code{@@include} command. By default, 12789 included using the @code{@@include} command. By default,
12461 @code{makeinfo} searches only the current directory. 12790 @code{makeinfo} searches only the current directory.
12462 12791
12463 @need 150
12464 @item --no-headers 12792 @item --no-headers
12793 @opindex --no-headers
12465 Do not include menus or node lines in the output. This results in an 12794 Do not include menus or node lines in the output. This results in an
12466 @sc{ascii} file that you cannot read in Info since it does not contain 12795 @sc{ascii} file that you cannot read in Info since it does not contain
12467 the requisite nodes or menus; but you can print such a file in a 12796 the requisite nodes or menus. It is primarily useful to extract certain
12468 single, typewriter-like font and produce acceptable output. 12797 pieces of a manual into separate files to be included in a distribution,
12469 12798 such as @file{INSTALL} files.
12470 @need 150 12799
12471 @item --no-split 12800 @item --no-split
12472 Suppress the splitting stage of @code{makeinfo}. Normally, large 12801 @opindex --no-split
12802 Suppress the splitting stage of @code{makeinfo}. By default, large
12473 output files (where the size is greater than 70k bytes) are split into 12803 output files (where the size is greater than 70k bytes) are split into
12474 smaller subfiles, each one approximately 50k bytes. If you specify 12804 smaller subfiles, each one approximately 50k bytes.
12475 @samp{--no-split}, @code{makeinfo} will not split up the output 12805
12476 file.@refill
12477
12478 @need 100
12479 @item --no-pointer-validate 12806 @item --no-pointer-validate
12480 @item --no-validate 12807 @itemx --no-validate
12808 @opindex --no-pointer-validate
12809 @opindex --no-validate
12481 Suppress the pointer-validation phase of @code{makeinfo}. Normally, 12810 Suppress the pointer-validation phase of @code{makeinfo}. Normally,
12482 after a Texinfo file is processed, some consistency checks are made to 12811 after a Texinfo file is processed, some consistency checks are made to
12483 ensure that cross references can be resolved, etc. 12812 ensure that cross references can be resolved, etc.
12484 @xref{Pointer Validation}.@refill 12813 @xref{Pointer Validation}.@refill
12485 12814
12486 @need 150
12487 @item --no-warn 12815 @item --no-warn
12488 Suppress the output of warning messages. This does @emph{not} 12816 @opindex --no-warn
12489 suppress the output of error messages, only warnings. You might 12817 Suppress warning messages (but @emph{not} error messages). You might
12490 want this if the file you are creating has examples of Texinfo cross 12818 want this if the file you are creating has examples of Texinfo cross
12491 references within it, and the nodes that are referenced do not actually 12819 references within it, and the nodes that are referenced do not actually
12492 exist.@refill 12820 exist.
12493 12821
12494 @item --no-number-footnotes 12822 @item --no-number-footnotes
12823 @opindex --no-number-footnotes
12495 Suppress automatic footnote numbering. By default, @code{makeinfo} 12824 Suppress automatic footnote numbering. By default, @code{makeinfo}
12496 numbers each footnote sequentially in a single node, resetting the 12825 numbers each footnote sequentially in a single node, resetting the
12497 current footnote number to 1 at the start of each node. 12826 current footnote number to 1 at the start of each node.
12498 12827
12499 @need 150 12828 @item --output=@var{file}
12500 @item --output @var{file}
12501 @itemx -o @var{file} 12829 @itemx -o @var{file}
12830 @opindex --output=@var{file}
12831 @opindex -o @var{file}
12502 Specify that the output should be directed to @var{file} and not to the 12832 Specify that the output should be directed to @var{file} and not to the
12503 file name specified in the @code{@@setfilename} command found in the Texinfo 12833 file name specified in the @code{@@setfilename} command found in the
12504 source. @var{file} can be the special token @samp{-}, which specifies 12834 Texinfo source (@pxref{setfilename}). If @var{file} is @samp{-}, output
12505 standard output. 12835 goes to standard output and @samp{--no-split} is implied.
12506 12836
12507 @need 150 12837 @item -P @var{dir}
12508 @item --paragraph-indent @var{indent} 12838 @opindex -P @var{dir}
12839 Prepend @code{dir} to the directory search list for @code{@@include}.
12840 See @samp{-I} for more details.
12841
12842 @item --paragraph-indent=@var{indent}
12843 @opindex --paragraph-indent=@var{indent}
12509 Set the paragraph indentation style to @var{indent}. The value set by 12844 Set the paragraph indentation style to @var{indent}. The value set by
12510 this option overrides the value set in a Texinfo file by an 12845 this option overrides the value set in a Texinfo file by an
12511 @code{@@paragraphindent} command. The value of @var{indent} is 12846 @code{@@paragraphindent} command (@pxref{paragraphindent}). The value
12512 interpreted as follows:@refill 12847 of @var{indent} is interpreted as follows:
12513 12848
12514 @itemize @bullet 12849 @table @asis
12515 @item 12850 @item @samp{asis}
12516 If the value of @var{indent} is @samp{asis}, do not change the 12851 Preserve any existing indentation at the starts of paragraphs.
12517 existing indentation at the starts of paragraphs.@refill 12852
12518 12853 @item @samp{0} or @samp{none}
12519 @item 12854 Delete any existing indentation.
12520 If the value of @var{indent} is zero, delete any existing 12855
12521 indentation.@refill 12856 @item @var{num}
12522 12857 Indent each paragraph by that number of spaces.
12523 @item 12858 @end table
12524 If the value of @var{indent} is greater than zero, indent each 12859
12525 paragraph by that number of spaces.@refill 12860 @item --reference-limit=@var{limit}
12526 @end itemize 12861 @opindex --reference-limit=@var{limit}
12527
12528 @need 100
12529 @item --reference-limit @var{limit}
12530 Set the value of the number of references to a node that 12862 Set the value of the number of references to a node that
12531 @code{makeinfo} will make without reporting a warning. If a node has more 12863 @code{makeinfo} will make without reporting a warning. If a node has more
12532 than this number of references in it, @code{makeinfo} will make the 12864 than this number of references in it, @code{makeinfo} will make the
12533 references but also report a warning.@refill 12865 references but also report a warning. The default is 1000.
12534 12866
12535 @need 150
12536 @item -U @var{var} 12867 @item -U @var{var}
12537 Cause @var{var} to be undefined. This is equivalent to 12868 Cause @var{var} to be undefined. This is equivalent to
12538 @code{@@clear @var{var}} in the Texinfo file. 12869 @code{@@clear @var{var}} in the Texinfo file (@pxref{set clear value}).
12539 12870
12540 @need 100
12541 @item --verbose 12871 @item --verbose
12872 @opindex --verbose
12542 Cause @code{makeinfo} to display messages saying what it is doing. 12873 Cause @code{makeinfo} to display messages saying what it is doing.
12543 Normally, @code{makeinfo} only outputs messages if there are errors or 12874 Normally, @code{makeinfo} only outputs messages if there are errors or
12544 warnings.@refill 12875 warnings.
12545 12876
12546 @need 100
12547 @item --version 12877 @item --version
12548 Report the version number of this copy of @code{makeinfo}.@refill 12878 @opindex --version
12879 Print the version number, then exit successfully.
12880
12549 @end table 12881 @end table
12882
12550 12883
12551 @node Pointer Validation, makeinfo in Emacs, makeinfo options, Create an Info File 12884 @node Pointer Validation, makeinfo in Emacs, makeinfo options, Create an Info File
12552 @section Pointer Validation 12885 @section Pointer Validation
12553 @cindex Pointer validation with @code{makeinfo} 12886 @cindex Pointer validation with @code{makeinfo}
12554 @cindex Validation of pointers 12887 @cindex Validation of pointers
12608 @end table 12941 @end table
12609 12942
12610 When you invoke either @code{makeinfo-region} or 12943 When you invoke either @code{makeinfo-region} or
12611 @code{makeinfo-buffer}, Emacs prompts for a file name, offering the 12944 @code{makeinfo-buffer}, Emacs prompts for a file name, offering the
12612 name of the visited file as the default. You can edit the default 12945 name of the visited file as the default. You can edit the default
12613 file name in the minibuffer if you wish, before typing @key{RET} to 12946 file name in the minibuffer if you wish, before pressing @key{RET} to
12614 start the @code{makeinfo} process.@refill 12947 start the @code{makeinfo} process.@refill
12615 12948
12616 The Emacs @code{makeinfo-region} and @code{makeinfo-buffer} commands 12949 The Emacs @code{makeinfo-region} and @code{makeinfo-buffer} commands
12617 run the @code{makeinfo} program in a temporary shell buffer. If 12950 run the @code{makeinfo} program in a temporary shell buffer. If
12618 @code{makeinfo} finds any errors, Emacs displays the error messages in 12951 @code{makeinfo} finds any errors, Emacs displays the error messages in
12729 You can format Texinfo files for Info using @code{batch-texinfo-format} 13062 You can format Texinfo files for Info using @code{batch-texinfo-format}
12730 and Emacs Batch mode. You can run Emacs in Batch mode from any shell, 13063 and Emacs Batch mode. You can run Emacs in Batch mode from any shell,
12731 including a shell inside of Emacs. (@xref{Command Switches, , Command 13064 including a shell inside of Emacs. (@xref{Command Switches, , Command
12732 Line Switches and Arguments, emacs, The GNU Emacs Manual}.)@refill 13065 Line Switches and Arguments, emacs, The GNU Emacs Manual}.)@refill
12733 13066
12734 Here is the command to format all the files that end in @file{.texinfo} 13067 Here is a shell command to format all the files that end in
12735 in the current directory (where @samp{%} is the shell prompt):@refill 13068 @file{.texinfo} in the current directory:
12736 13069
12737 @example 13070 @example
12738 % emacs -batch -funcall batch-texinfo-format *.texinfo 13071 emacs -batch -funcall batch-texinfo-format *.texinfo
12739 @end example 13072 @end example
12740 13073
12741 @noindent 13074 @noindent
12742 Emacs processes all the files listed on the command line, even if an 13075 Emacs processes all the files listed on the command line, even if an
12743 error occurs while attempting to format some of them.@refill 13076 error occurs while attempting to format some of them.@refill
12750 mode, you create a new Emacs process. This frees your current Emacs, so 13083 mode, you create a new Emacs process. This frees your current Emacs, so
12751 you can continue working in it. (When you run 13084 you can continue working in it. (When you run
12752 @code{texinfo-format-region} or @code{texinfo-format-buffer}, you cannot 13085 @code{texinfo-format-region} or @code{texinfo-format-buffer}, you cannot
12753 use that Emacs for anything else until the command finishes.)@refill 13086 use that Emacs for anything else until the command finishes.)@refill
12754 13087
12755 @node Tag and Split Files, , Batch Formatting, Create an Info File 13088 @node Tag and Split Files, , Batch Formatting, Create an Info File
12756 @comment node-name, next, previous, up 13089 @comment node-name, next, previous, up
12757 @section Tag Files and Split Files 13090 @section Tag Files and Split Files
12758 @cindex Making a tag table automatically 13091 @cindex Making a tag table automatically
12759 @cindex Tag table, making automatically 13092 @cindex Tag table, making automatically
12760 13093
12966 menu.@refill 13299 menu.@refill
12967 13300
12968 @item 13301 @item
12969 If you are using Emacs, list the name of the file in a second @file{dir} 13302 If you are using Emacs, list the name of the file in a second @file{dir}
12970 file, in its directory; and then add the name of that directory to the 13303 file, in its directory; and then add the name of that directory to the
12971 @code{Info-default-directory-list} variable in your personal or site 13304 @code{Info-directory-list} variable in your personal or site
12972 initialization file. 13305 initialization file.
12973 13306
12974 This tells Emacs's Info reader where to look for @file{dir} 13307 This tells Emacs where to look for @file{dir} files. Emacs merges the
12975 files. Emacs merges the files named @file{dir} from each of the listed 13308 files named @file{dir} from each of the listed directories. (In Emacs
12976 directories. (In Emacs Version 18, you can set the 13309 version 18, you can set the @code{Info-directory} variable to the name
12977 @code{Info-directory} variable to the name of only one 13310 of only one directory.)@refill
12978 directory.)@refill
12979 13311
12980 @item 13312 @item
12981 Specify the @file{info} directory name in the @code{INFOPATH} 13313 Specify the Info directory name in the @code{INFOPATH} environment
12982 environment variable in your @file{.profile} or @file{.cshrc} 13314 variable in your @file{.profile} or @file{.cshrc} initialization file.
12983 initialization file. (Only you and others who set this environment 13315 (Only you and others who set this environment variable will be able to
12984 variable will be able to find Info files whose location is specified 13316 find Info files whose location is specified this way.)@refill
12985 this way.)@refill
12986 @end itemize 13317 @end itemize
12987 13318
12988 For example, to reach a test file in the @file{~bob/manuals} 13319 For example, to reach a test file in the @file{/home/bob/manuals}
12989 directory, you could add an entry like this to the menu in the 13320 directory, you could add an entry like this to the menu in the
12990 @file{dir} file:@refill 13321 @file{dir} file:@refill
12991 13322
12992 @example 13323 @example
12993 * Test: (/home/bob/manuals/info-test). Bob's own test file. 13324 * Test: (/home/bob/manuals/info-test). Bob's own test file.
12995 13326
12996 @noindent 13327 @noindent
12997 In this case, the absolute file name of the @file{info-test} file is 13328 In this case, the absolute file name of the @file{info-test} file is
12998 written as the second part of the menu entry.@refill 13329 written as the second part of the menu entry.@refill
12999 13330
13000 @vindex Info-default-directory-list 13331 @vindex Info-directory-list
13001 Alternatively, you could write the following in your @file{.emacs} 13332 Alternatively, you could write the following in your @file{.emacs}
13002 file:@refill 13333 file:@refill
13003 13334
13004 @example 13335 @example
13005 @group 13336 @group
13006 (setq Info-default-directory-list 13337 (setq Info-directory-list
13007 '("/home/bob/manuals" 13338 '("/home/bob/manuals"
13008 "/usr/local/emacs/info")) 13339 "/usr/local/info"))
13009 @end group 13340 @end group
13010 @end example 13341 @end example
13011 13342
13012 @c reworded to avoid overfill hbox 13343 @c reworded to avoid overfill hbox
13013 This tells Emacs to merge the @file{dir} file from the 13344 This tells Emacs to merge the @file{dir} file from the
13014 @file{/home/bob/manuals} directory with the @file{dir} file from the 13345 @file{/home/bob/manuals} directory with the @file{dir} file from the
13015 @file{"/usr/local/emacs/info}" directory. Info will list the 13346 @file{/usr/local/info} directory. Info will list the
13016 @file{/home/bob/manuals/info-test} file as a menu entry in the 13347 @file{/home/bob/manuals/info-test} file as a menu entry in the
13017 @file{/home/bob/manuals/dir} file.@refill 13348 @file{/home/bob/manuals/dir} file.@refill
13018 13349
13019 @vindex INFOPATH 13350 @vindex INFOPATH
13020 Finally, you can tell Info where to look by setting the 13351 Finally, you can tell Info where to look by setting the @code{INFOPATH}
13021 @code{INFOPATH} environment variable in your @file{.cshrc} or 13352 environment variable in your @file{.cshrc} or @file{.profile} file. If
13022 @file{.profile} file.@refill 13353 you use a Bourne-compatible shell such as @code{sh} or @code{bash} for
13023 13354 your shell command interpreter, you set the @code{INFOPATH} environment
13024 If you use @code{sh} or @code{bash} for your shell command interpreter, 13355 variable in the @file{.profile} initialization file; but if you use
13025 you must set the @code{INFOPATH} environment variable in the 13356 @code{csh} or @code{tcsh}, you must set the variable in the
13026 @file{.profile} initialization file; but if you use @code{csh}, you must 13357 @file{.cshrc} initialization file. The two types of shells use
13027 set the variable in the @file{.cshrc} initialization file. The two 13358 different syntax.
13028 files use slightly different command formats.@refill
13029 13359
13030 @itemize @bullet 13360 @itemize @bullet
13031 @item 13361 @item
13032 In a @file{.cshrc} file, you could set the @code{INFOPATH} 13362 In a @file{.cshrc} file, you could set the @code{INFOPATH}
13033 variable as follows:@refill 13363 variable as follows:@refill
13034 13364
13035 @smallexample 13365 @smallexample
13036 setenv INFOPATH .:~bob/manuals:/usr/local/emacs/info 13366 setenv INFOPATH .:~/manuals:/usr/local/emacs/info
13037 @end smallexample 13367 @end smallexample
13038 13368
13039 @item 13369 @item
13040 In a @file{.profile} file, you would achieve the same effect by 13370 In a @file{.profile} file, you would achieve the same effect by
13041 writing:@refill 13371 writing:@refill
13042 13372
13043 @smallexample 13373 @smallexample
13044 INFOPATH=.:~bob/manuals:/usr/local/emacs/info 13374 INFOPATH=.:$HOME/manuals:/usr/local/emacs/info
13045 export INFOPATH 13375 export INFOPATH
13046 @end smallexample 13376 @end smallexample
13047 @end itemize 13377 @end itemize
13048 13378
13049 @noindent 13379 @noindent
13050 The @samp{.} indicates the current directory. Emacs uses the 13380 The @samp{.} indicates the current directory as usual. Emacs uses the
13051 @code{INFOPATH} environment variable to initialize the value of Emacs's 13381 @code{INFOPATH} environment variable to initialize the value of Emacs's
13052 own @code{Info-directory-list} variable. 13382 own @code{Info-directory-list} variable.
13383
13384 @cindex @samp{:} @r{last in @code{INFOPATH}}
13385 However you set @code{INFOPATH}, if its last character is a colon, this
13386 is replaced by the default (compiled-in) path. This gives you a way to
13387 augment the default path with new directories without having to list all
13388 the standard places. For example (using @code{sh} syntax:
13389
13390 @example
13391 INFOPATH=/local/info:
13392 export INFOPATH
13393 @end example
13394
13395 @noindent
13396 will search @file{/local/info} first, then the standard directories.
13397 Leading or doubled colons are not treated specially.
13053 13398
13054 13399
13055 @node Installing Dir Entries, Invoking install-info, Other Info Directories, Install an Info File 13400 @node Installing Dir Entries, Invoking install-info, Other Info Directories, Install an Info File
13056 @section Installing Info Directory Files 13401 @section Installing Info Directory Files
13057 13402
13104 @code{@@direntry} more than once, each usage specifies one menu entry; 13449 @code{@@direntry} more than once, each usage specifies one menu entry;
13105 each of these menu entries is added to the directory in each of the 13450 each of these menu entries is added to the directory in each of the
13106 specified categories. 13451 specified categories.
13107 13452
13108 13453
13109 @node Invoking install-info, , Installing Dir Entries, Install an Info File 13454 @node Invoking install-info, , Installing Dir Entries, Install an Info File
13110 @section Invoking install-info 13455 @section Invoking install-info
13111 13456
13112 @pindex install-info 13457 @pindex install-info
13113 13458
13114 @code{install-info} inserts menu entries from an Info file into the 13459 @code{install-info} inserts menu entries from an Info file into the
13125 options (described below) that define them must be. There are no 13470 options (described below) that define them must be. There are no
13126 compile-time defaults, and standard input is never used. 13471 compile-time defaults, and standard input is never used.
13127 @code{install-info} can read only one info file and write only one dir 13472 @code{install-info} can read only one info file and write only one dir
13128 file per invocation. 13473 file per invocation.
13129 13474
13475 @cindex @file{dir}, created by @code{install-info}
13476 If @var{dir-file} (however specified) does not exist,
13477 @code{install-info} creates it if possible (with no entries).
13478
13130 Options: 13479 Options:
13131 13480
13132 @table @samp 13481 @table @code
13133 @item --delete 13482 @item --delete
13134 @opindex --delete 13483 @opindex --delete
13135 Only delete existing entries in @var{info-file}; don't insert any new 13484 Delete the entries in @var{info-file} from @var{dir-file}. The file
13136 entries. 13485 name in the entry in @var{dir-file} must be @var{info-file} (except for
13486 an optional @samp{.info} in either one). Don't insert any new entries.
13137 13487
13138 @item --dir-file=@var{name} 13488 @item --dir-file=@var{name}
13139 @opindex --dir-file=@var{name} 13489 @opindex --dir-file=@var{name}
13140 Specify file name of the Info directory file. This is equivalent to 13490 Specify file name of the Info directory file. This is equivalent to
13141 using the @var{dir-file} argument. 13491 using the @var{dir-file} argument.
13162 @opindex --info-dir=@var{dir} 13512 @opindex --info-dir=@var{dir}
13163 Equivalent to @samp{--dir-file=@var{dir}/dir}. 13513 Equivalent to @samp{--dir-file=@var{dir}/dir}.
13164 13514
13165 @item --item=@var{text} 13515 @item --item=@var{text}
13166 @opindex --item=@var{text} 13516 @opindex --item=@var{text}
13167 Same as --entry=@var{text}. An Info directory entry is actually a menu 13517 Same as @samp{--entry=@var{text}}. An Info directory entry is actually
13168 item. 13518 a menu item.
13169 13519
13170 @item --quiet 13520 @item --quiet
13171 @opindex --quiet 13521 @opindex --quiet
13172 Suppress warnings. 13522 Suppress warnings.
13173 13523
13174 @item --remove 13524 @item --remove
13175 @opindex --remove 13525 @opindex --remove
13176 Same as --delete. 13526 Same as @samp{--delete}.
13177 13527
13178 @item --section=@var{sec} 13528 @item --section=@var{sec}
13179 @opindex --section=@var{sec} 13529 @opindex --section=@var{sec}
13180 Put this file's entries in section @var{sec} of the directory. If you 13530 Put this file's entries in section @var{sec} of the directory. If you
13181 specify more than one section, all the entries are added in each of the 13531 specify more than one section, all the entries are added in each of the
13188 Display version information and exit successfully. 13538 Display version information and exit successfully.
13189 13539
13190 @end table 13540 @end table
13191 13541
13192 13542
13193 @c ================ Appendix starts here ================
13194
13195 @node Command List, Tips, Install an Info File, Top 13543 @node Command List, Tips, Install an Info File, Top
13196 @appendix @@-Command List 13544 @appendix @@-Command List
13197 @cindex Alphabetical @@-command list 13545 @cindex Alphabetical @@-command list
13198 @cindex List of @@-commands 13546 @cindex List of @@-commands
13199 @cindex @@-command list 13547 @cindex @@-command list
13246 @item @@? 13594 @item @@?
13247 Generate a question mark that really does end a sentence (usually after 13595 Generate a question mark that really does end a sentence (usually after
13248 an end-of-sentence capital letter). @xref{Ending a Sentence}. 13596 an end-of-sentence capital letter). @xref{Ending a Sentence}.
13249 13597
13250 @item @@@@ 13598 @item @@@@
13251 Stands for an at sign, @samp{@@}.@* 13599 Stands for an at sign, @samp{@@}.
13252 @xref{Braces Atsigns, , Inserting @@ and braces}. 13600 @xref{Braces Atsigns, , Inserting @@ and braces}.
13253 13601
13254 @item @@^ 13602 @item @@^
13255 @itemx @@` 13603 @itemx @@`
13256 Generate a circumflex (hat) or grave accent, respectively, over the next 13604 Generate a circumflex (hat) or grave accent, respectively, over the next
13257 character, as in @^o. 13605 character, as in @^o.
13258 @xref{Inserting Accents}. 13606 @xref{Inserting Accents}.
13259 13607
13260 @item @@@{ 13608 @item @@@{
13261 Stands for a left brace, @samp{@{}.@* 13609 Stands for a left brace, @samp{@{}.
13262 @xref{Braces Atsigns, , Inserting @@ and braces}. 13610 @xref{Braces Atsigns, , Inserting @@ and braces}.
13263 13611
13264 @item @@@} 13612 @item @@@}
13265 Stands for a right-hand brace, @samp{@}}.@* 13613 Stands for a right-hand brace, @samp{@}}.@*
13266 @xref{Braces Atsigns, , Inserting @@ and braces}. 13614 @xref{Braces Atsigns, , Inserting @@ and braces}.
13276 13624
13277 @item @@AE@{@} 13625 @item @@AE@{@}
13278 @itemx @@ae@{@} 13626 @itemx @@ae@{@}
13279 Generate the uppercase and lowercase AE ligatures, respectively: 13627 Generate the uppercase and lowercase AE ligatures, respectively:
13280 @AE{}, @ae{}. @xref{Inserting Accents}. 13628 @AE{}, @ae{}. @xref{Inserting Accents}.
13629
13630 @item @@afourpaper
13631 Change page dimensions for the A4 paper size.
13632 Only allowed inside @code{@@iftex} @dots{} @code{@@end iftex}.
13633 @xref{A4 Paper}.
13281 13634
13282 @item @@appendix @var{title} 13635 @item @@appendix @var{title}
13283 Begin an appendix. The title appears in the table 13636 Begin an appendix. The title appears in the table
13284 of contents of a printed manual. In Info, the title is 13637 of contents of a printed manual. In Info, the title is
13285 underlined with asterisks. @xref{unnumbered & appendix, , The 13638 underlined with asterisks. @xref{unnumbered & appendix, , The
13298 in the table of contents of a printed manual. In Info, the title is 13651 in the table of contents of a printed manual. In Info, the title is
13299 underlined with hyphens. @xref{unnumberedsubsec appendixsubsec 13652 underlined with hyphens. @xref{unnumberedsubsec appendixsubsec
13300 subheading, , Subsection Commands}.@refill 13653 subheading, , Subsection Commands}.@refill
13301 13654
13302 @item @@appendixsubsubsec @var{title} 13655 @item @@appendixsubsubsec @var{title}
13303 Begin an appendix subsubsection within a subappendix. The title 13656 Begin an appendix subsubsection within an appendix subsection. The
13304 appears in the table of contents of a printed manual. In Info, the 13657 title appears in the table of contents of a printed manual. In Info,
13305 title is underlined with periods. @xref{subsubsection,, The `subsub' 13658 the title is underlined with periods. @xref{subsubsection,, The
13306 Commands}.@refill 13659 `subsub' Commands}.@refill
13307 13660
13308 @item @@asis 13661 @item @@asis
13309 Used following @code{@@table}, @code{@@ftable}, and @code{@@vtable} to 13662 Used following @code{@@table}, @code{@@ftable}, and @code{@@vtable} to
13310 print the table's first column without highlighting (``as is''). 13663 print the table's first column without highlighting (``as is'').
13311 @xref{Two-column Tables, , Making a Two-column Table}.@refill 13664 @xref{Two-column Tables, , Making a Two-column Table}.@refill
13492 Format a description for a function in a typed language. 13845 Format a description for a function in a typed language.
13493 The command is equivalent to @samp{@@deftypefn Function @dots{}}. 13846 The command is equivalent to @samp{@@deftypefn Function @dots{}}.
13494 @xref{Definition Commands}, 13847 @xref{Definition Commands},
13495 and @ref{deffnx,, Def Cmds in Detail}. 13848 and @ref{deffnx,, Def Cmds in Detail}.
13496 13849
13850 @item @@deftypemethod @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
13851 @itemx @@deftypemethodx @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
13852 Format a description for a typed method in object-oriented programming.
13853 Takes as arguments the name of the class of the method, the return type
13854 of the method, the name of the method, and its arguments, if any.
13855 @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
13856
13497 @item @@deftypevr @var{classification} @var{data-type} @var{name} 13857 @item @@deftypevr @var{classification} @var{data-type} @var{name}
13498 @itemx @@deftypevrx @var{classification} @var{data-type} @var{name} 13858 @itemx @@deftypevrx @var{classification} @var{data-type} @var{name}
13499 Format a description for something like a variable in a typed 13859 Format a description for something like a variable in a typed
13500 language---an entity that records a value. Takes as arguments the 13860 language---an entity that records a value. Takes as arguments the
13501 classification of entity being described, the type, and the name of the 13861 classification of entity being described, the type, and the name of the
13526 as arguments the category of the entity and the name of the entity. 13886 as arguments the category of the entity and the name of the entity.
13527 @xref{Definition Commands}, 13887 @xref{Definition Commands},
13528 and @ref{deffnx,, Def Cmds in Detail}. 13888 and @ref{deffnx,, Def Cmds in Detail}.
13529 13889
13530 @item @@detailmenu@{@} 13890 @item @@detailmenu@{@}
13531 Use to avoid Makeinfo confusion stemming from the detailed node listing 13891 Avoid @code{makeinfo} confusion stemming from the detailed node listing
13532 in a master menu. @xref{Master Menu Parts}. 13892 in a master menu. @xref{Master Menu Parts}.
13533 13893
13534 @item @@dfn@{@var{term}@} 13894 @item @@dfn@{@var{term}@}
13535 Highlight the introductory or defining use of a term. 13895 Highlight the introductory or defining use of a term.
13536 @xref{dfn, , @code{@@dfn}}.@refill 13896 @xref{dfn, , @code{@@dfn}}.@refill
13552 @item @@dmn@{@var{dimension}@} 13912 @item @@dmn@{@var{dimension}@}
13553 Format a unit of measure, as in 12@dmn{pt}. Causes @TeX{} to insert a 13913 Format a unit of measure, as in 12@dmn{pt}. Causes @TeX{} to insert a
13554 thin space before @var{dimension}. No effect in Info. 13914 thin space before @var{dimension}. No effect in Info.
13555 @xref{dmn, , @code{@@dmn}}.@refill 13915 @xref{dmn, , @code{@@dmn}}.@refill
13556 13916
13557 @need 100 13917 @item @@dotaccent@{@var{c}@}
13918 Generate a dot accent over the character @var{c}, as in @dotaccent{oo}.
13919 @xref{Inserting Accents}.
13920
13558 @item @@dots@{@} 13921 @item @@dots@{@}
13559 Insert an ellipsis: @samp{@dots{}}. 13922 Insert an ellipsis: @samp{@dots{}}.
13560 @xref{dots, , @code{@@dots}}.@refill 13923 @xref{dots, , @code{@@dots}}.@refill
13561 13924
13562 @item @@email@{@var{address}@} 13925 @item @@email@{@var{address}[, @var{displayed-text}]@}
13563 Indicate an electronic mail address. 13926 Indicate an electronic mail address.
13564 @xref{email, , @code{@@email}}.@refill 13927 @xref{email, , @code{@@email}}.@refill
13565 13928
13566 @need 100 13929 @need 100
13567 @item @@emph@{@var{text}@} 13930 @item @@emph@{@var{text}@}
13568 Highlight @var{text}; text is displayed in @emph{italics} in printed 13931 Highlight @var{text}; text is displayed in @emph{italics} in printed
13569 output, and surrounded by asterisks in Info. @xref{Emphasis, , Emphasizing Text}.@refill 13932 output, and surrounded by asterisks in Info. @xref{Emphasis, ,
13933 Emphasizing Text}.
13570 13934
13571 @item @@end @var{environment} 13935 @item @@end @var{environment}
13572 Ends @var{environment}, as in @samp{@@end example}. @xref{Formatting 13936 Ends @var{environment}, as in @samp{@@end example}. @xref{Formatting
13573 Commands,,@@-commands}. 13937 Commands,,@@-commands}.
13574 13938
13590 13954
13591 @item @@error@{@} 13955 @item @@error@{@}
13592 Indicate to the reader with a glyph that the following text is 13956 Indicate to the reader with a glyph that the following text is
13593 an error message: @samp{@error{}}. @xref{Error Glyph}.@refill 13957 an error message: @samp{@error{}}. @xref{Error Glyph}.@refill
13594 13958
13595 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 13959 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13596 Specify page footings for even-numbered (left-hand) pages. Not relevant to 13960 @itemx @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
13597 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13961 Specify page footings resp.@: headings for even-numbered (left-hand)
13598 13962 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, ,
13599 @item @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 13963 How to Make Your Own Headings}.@refill
13600 Specify page headings for even-numbered (left-hand) pages. Only
13601 supported within @code{@@iftex}. @xref{Custom Headings, , How to Make
13602 Your Own Headings}.@refill
13603 13964
13604 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 13965 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13605 @itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 13966 @itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
13606 Specify page footings resp.@: headings for every page. Not relevant to 13967 Specify page footings resp.@: headings for every page. Not relevant to
13607 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13968 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill
13610 Begin an example. Indent text, do not fill, and select fixed-width font. 13971 Begin an example. Indent text, do not fill, and select fixed-width font.
13611 Pair with @code{@@end example}. @xref{example, , 13972 Pair with @code{@@end example}. @xref{example, ,
13612 @code{@@example}}.@refill 13973 @code{@@example}}.@refill
13613 13974
13614 @item @@exclamdown@{@} 13975 @item @@exclamdown@{@}
13615 Generate an upside-down exclamation point. @xref{Inserting Accents}. 13976 Produce an upside-down exclamation point. @xref{Inserting Accents}.
13616 13977
13617 @item @@exdent @var{line-of-text} 13978 @item @@exdent @var{line-of-text}
13618 Remove any indentation a line might have. @xref{exdent, , 13979 Remove any indentation a line might have. @xref{exdent, ,
13619 Undoing the Indentation of a Line}.@refill 13980 Undoing the Indentation of a Line}.@refill
13620 13981
13686 @item @@headings @var{on-off-single-double} 14047 @item @@headings @var{on-off-single-double}
13687 Turn page headings on or off, and/or specify single-sided or double-sided 14048 Turn page headings on or off, and/or specify single-sided or double-sided
13688 page headings for printing. @xref{headings on off, , The 14049 page headings for printing. @xref{headings on off, , The
13689 @code{@@headings} Command}. 14050 @code{@@headings} Command}.
13690 14051
14052 @item @@html
14053 Enter HTML completely. Pair with @code{@@end html}. @xref{Raw
14054 Formatter Commands}.
14055
14056 @item @@hyphenation@{@var{hy-phen-a-ted words}@}
14057 Explicitly define hyphenation points. @xref{- and hyphenation,,
14058 @code{@@-} and @code{@@hyphenation}}.
14059
13691 @item @@i@{@var{text}@} 14060 @item @@i@{@var{text}@}
13692 Print @var{text} in @i{italic} font. No effect in Info. 14061 Print @var{text} in @i{italic} font. No effect in Info.
13693 @xref{Fonts}.@refill 14062 @xref{Fonts}.@refill
13694 14063
13695 @item @@ifclear @var{flag} 14064 @item @@ifclear @var{flag}
13701 @item @@ifhtml 14070 @item @@ifhtml
13702 @itemx @@ifinfo 14071 @itemx @@ifinfo
13703 Begin a stretch of text that will be ignored by @TeX{} when it typesets 14072 Begin a stretch of text that will be ignored by @TeX{} when it typesets
13704 the printed manual. The text appears only in the HTML resp.@: Info 14073 the printed manual. The text appears only in the HTML resp.@: Info
13705 file. Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}. 14074 file. Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}.
13706 @xref{Conditionals, , Conditionally Visible Text}.@refill 14075 @xref{Conditionals}.
14076
14077 @item @@ifnothtml
14078 @itemx @@ifnotinfo
14079 @itemx @@ifnottex
14080 Begin a stretch of text that will be ignored in one output format but
14081 not the others. The text appears only in the format not specified.
14082 Pair with @code{@@end ifnothtml} resp.@: @code{@@end ifnotinfo} resp.@:
14083 @code{@@end ifnotinfo}. @xref{Conditionals}.
13707 14084
13708 @item @@ifset @var{flag} 14085 @item @@ifset @var{flag}
13709 If @var{flag} is set, the Texinfo formatting commands format text 14086 If @var{flag} is set, the Texinfo formatting commands format text
13710 between @code{@@ifset @var{flag}} and the following @code{@@end ifset} 14087 between @code{@@ifset @var{flag}} and the following @code{@@end ifset}
13711 command. 14088 command.
13718 14095
13719 @item @@ignore 14096 @item @@ignore
13720 Begin a stretch of text that will not appear in either the Info file 14097 Begin a stretch of text that will not appear in either the Info file
13721 or the printed output. Pair with @code{@@end ignore}. 14098 or the printed output. Pair with @code{@@end ignore}.
13722 @xref{Comments, , Comments and Ignored Text}.@refill 14099 @xref{Comments, , Comments and Ignored Text}.@refill
14100
14101 @item @@image@{@var{filename}, [@var{width}], [@var{height}]@}
14102 Include graphics image in external @var{filename} scaled to the given
14103 @var{width} and/or @var{height}. @xref{Images}.
13723 14104
13724 @item @@include @var{filename} 14105 @item @@include @var{filename}
13725 Incorporate the contents of the file @var{filename} into the Info file 14106 Incorporate the contents of the file @var{filename} into the Info file
13726 or printed document. @xref{Include Files}.@refill 14107 or printed document. @xref{Include Files}.@refill
13727 14108
13755 14136
13756 @item @@kbd@{@var{keyboard-characters}@} 14137 @item @@kbd@{@var{keyboard-characters}@}
13757 Indicate text that is characters of input to be typed by 14138 Indicate text that is characters of input to be typed by
13758 users. @xref{kbd, , @code{@@kbd}}.@refill 14139 users. @xref{kbd, , @code{@@kbd}}.@refill
13759 14140
14141 @item @@kbdinputstyle @var{style}
14142 Specify when @code{@@kbd} should use a font distinct from @code{@@code}.
14143 @xref{kbd, , @code{@@kbd}}.@refill
14144
13760 @item @@key@{@var{key-name}@} 14145 @item @@key@{@var{key-name}@}
13761 Highlight @var{key-name}, a name for a key on a keyboard. 14146 Indicate a name for a key on a keyboard.
13762 @xref{key, , @code{@@key}}.@refill 14147 @xref{key, , @code{@@key}}.@refill
13763 14148
13764 @item @@kindex @var{entry} 14149 @item @@kindex @var{entry}
13765 Add @var{entry} to the index of keys. @xref{Index Entries, , Defining the 14150 Add @var{entry} to the index of keys.
13766 Entries of an Index}.@refill 14151 @xref{Index Entries, , Defining the Entries of an Index}.@refill
13767 14152
13768 @item @@L@{@} 14153 @item @@L@{@}
13769 @itemx @@l@{@} 14154 @itemx @@l@{@}
13770 Generate the uppercase and lowercase Polish suppressed-L letters, 14155 Generate the uppercase and lowercase Polish suppressed-L letters,
13771 respectively: @L{}, @l{}. 14156 respectively: @L{}, @l{}.
13772 14157
13773 @c Possibly this can be tossed now that we have macros. --karl, 16sep96. 14158 @c Possibly this can be tossed now that we have macros. --karl, 16sep96.
13774 @item @@global@@let@var{new-command}=@var{existing-command} 14159 @c Yes, let's toss it, it's pretty weird. --karl, 15jun97.
13775 Equate a new highlighting command with an existing one. Only for 14160 @c @item @@global@@let@var{new-command}=@var{existing-command}
13776 @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end 14161 @c Equate a new highlighting command with an existing one. Only for
13777 iftex}. @xref{Customized Highlighting}.@refill 14162 @c @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end
14163 @c iftex}. @xref{Customized Highlighting}.@refill
13778 14164
13779 @item @@lisp 14165 @item @@lisp
13780 Begin an example of Lisp code. Indent text, do not fill, and select 14166 Begin an example of Lisp code. Indent text, do not fill, and select
13781 fixed-width font. Pair with @code{@@end lisp}. @xref{Lisp Example, , 14167 fixed-width font. Pair with @code{@@end lisp}. @xref{Lisp Example, ,
13782 @code{@@lisp}}.@refill 14168 @code{@@lisp}}.@refill
13786 on. @xref{Raise/lower sections, , @code{@@raisesections} and 14172 on. @xref{Raise/lower sections, , @code{@@raisesections} and
13787 @code{@@lowersections}}.@refill 14173 @code{@@lowersections}}.@refill
13788 14174
13789 @item @@macro @var{macro-name} @{@var{params}@} 14175 @item @@macro @var{macro-name} @{@var{params}@}
13790 Define a new Texinfo command @code{@@@var{macro-name}@{@var{params}@}}. 14176 Define a new Texinfo command @code{@@@var{macro-name}@{@var{params}@}}.
13791 Only supported by Makeinfo and Texi2dvi. @xref{Defining Macros}. 14177 Only supported by @code{makeinfo} and @code{texi2dvi}. @xref{Defining
14178 Macros}.
13792 14179
13793 @item @@majorheading @var{title} 14180 @item @@majorheading @var{title}
13794 Print a chapter-like heading in the text, but not in the table of 14181 Print a chapter-like heading in the text, but not in the table of
13795 contents of a printed manual. Generate more vertical whitespace before 14182 contents of a printed manual. Generate more vertical whitespace before
13796 the heading than the @code{@@chapheading} command. In Info, the chapter 14183 the heading than the @code{@@chapheading} command. In Info, the chapter
13825 Prevent text from being indented as if it were a new paragraph. 14212 Prevent text from being indented as if it were a new paragraph.
13826 @xref{noindent, , @code{@@noindent}}.@refill 14213 @xref{noindent, , @code{@@noindent}}.@refill
13827 14214
13828 @item @@O@{@} 14215 @item @@O@{@}
13829 @itemx @@o@{@} 14216 @itemx @@o@{@}
13830 Generate the uppercase and lowercase Owith-slash letters, respectively: 14217 Generate the uppercase and lowercase O-with-slash letters, respectively:
13831 @O{}, @o{}. 14218 @O{}, @o{}.
13832 14219
13833 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 14220 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13834 @itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 14221 @itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
13835 Specify page footings resp.@: headings for odd-numbered (right-hand) 14222 Specify page footings resp.@: headings for odd-numbered (right-hand)
13836 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, , 14223 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, ,
13837 How to Make Your Own Headings}.@refill 14224 How to Make Your Own Headings}.@refill
13838 14225
14072 @item @@TeX@{@} 14459 @item @@TeX@{@}
14073 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{} 14460 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{}
14074 and @copyright{}}.@refill 14461 and @copyright{}}.@refill
14075 14462
14076 @item @@tex 14463 @item @@tex
14077 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Using 14464 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Raw
14078 Ordinary TeX Commands, , Using Ordinary @TeX{} Commands}.@refill 14465 Formatter Commands}.
14079 14466
14080 @item @@thischapter 14467 @item @@thischapter
14081 @itemx @@thischaptername 14468 @itemx @@thischaptername
14082 @itemx @@thisfile 14469 @itemx @@thisfile
14083 @itemx @@thispage 14470 @itemx @@thispage
14086 the current chapter (in the format `Chapter 1: Title'), the chapter name 14473 the current chapter (in the format `Chapter 1: Title'), the chapter name
14087 only, the filename, the current page number, and the title of the 14474 only, the filename, the current page number, and the title of the
14088 document, respectively. @xref{Custom Headings, , How to Make Your Own 14475 document, respectively. @xref{Custom Headings, , How to Make Your Own
14089 Headings}.@refill 14476 Headings}.@refill
14090 14477
14478 @item @@tieaccent@{@var{cc}@}
14479 Generate a tie-after accent over the next two characters @var{cc}, as in
14480 `@tieaccent{oo}'. @xref{Inserting Accents}.
14481
14091 @item @@tindex @var{entry} 14482 @item @@tindex @var{entry}
14092 Add @var{entry} to the index of data types. @xref{Index Entries, , 14483 Add @var{entry} to the index of data types. @xref{Index Entries, ,
14093 Defining the Entries of an Index}.@refill 14484 Defining the Entries of an Index}.@refill
14094 14485
14095 @item @@title @var{title} 14486 @item @@title @var{title}
14127 line normally should be enclosed by @code{@@ifinfo} and @code{@@end 14518 line normally should be enclosed by @code{@@ifinfo} and @code{@@end
14128 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} 14519 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top}
14129 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo 14520 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo
14130 Pointer Creation, , Creating Pointers with @code{makeinfo}}. 14521 Pointer Creation, , Creating Pointers with @code{makeinfo}}.
14131 14522
14132 @item @@u@var{c} 14523 @item @@u@{@var{c}@}
14133 @itemx @@ubaraccent@var{c} 14524 @itemx @@ubaraccent@{@var{c}@}
14134 @itemx @@udotaccent@var{c} 14525 @itemx @@udotaccent@{@var{c}@}
14135 Generate a breve, underbar, or underdot accent, respectively, over or 14526 Generate a breve, underbar, or underdot accent, respectively, over or
14136 under the character @var{c}, as in @u{o}, @ubaraccent{o}, 14527 under the character @var{c}, as in @u{o}, @ubaraccent{o},
14137 @udotaccent{o}. @xref{Inserting Accents}. 14528 @udotaccent{o}. @xref{Inserting Accents}.
14138 14529
14139 @item @@unnumbered @var{title} 14530 @item @@unnumbered @var{title}
14161 In a printed manual, begin an unnumbered subsubsection within a 14552 In a printed manual, begin an unnumbered subsubsection within a
14162 chapter. The title appears in the table of contents of a printed 14553 chapter. The title appears in the table of contents of a printed
14163 manual. In Info, the title is underlined with periods. 14554 manual. In Info, the title is underlined with periods.
14164 @xref{subsubsection, , The `subsub' Commands}.@refill 14555 @xref{subsubsection, , The `subsub' Commands}.@refill
14165 14556
14557 @item @@uref@{@var{url}[, @var{displayed-text}@}
14558 Define a cross reference to an external uniform resource locator for the
14559 World Wide Web. @xref{url, , @code{@@url}}.@refill
14560
14166 @item @@url@{@var{url}@} 14561 @item @@url@{@var{url}@}
14167 Highlight text that is a uniform resource locator for the World Wide 14562 Indicate text that is a uniform resource locator for the World Wide
14168 Web. @xref{url, , @code{@@url}}.@refill 14563 Web. @xref{url, , @code{@@url}}.@refill
14169 14564
14170 @item @@v@var{c} 14565 @item @@v@{@var{c}@}
14171 Generate check accent over the character @var{c}, as in @v{o}. 14566 Generate check accent over the character @var{c}, as in @v{o}.
14172 @xref{Inserting Accents}. 14567 @xref{Inserting Accents}.
14173 14568
14174 @item @@value@{@var{flag}@} 14569 @item @@value@{@var{flag}@}
14175 Replace @var{flag} with the value to which it is set by @code{@@set 14570 Replace @var{flag} with the value to which it is set by @code{@@set
14214 Make a reference that starts with `See' in a printed manual. Follow 14609 Make a reference that starts with `See' in a printed manual. Follow
14215 command with a punctuation mark. Only the first argument is 14610 command with a punctuation mark. Only the first argument is
14216 mandatory. @xref{xref, , @code{@@xref}}.@refill 14611 mandatory. @xref{xref, , @code{@@xref}}.@refill
14217 @end table 14612 @end table
14218 14613
14614
14219 @node Tips, Sample Texinfo File, Command List, Top 14615 @node Tips, Sample Texinfo File, Command List, Top
14220 @comment node-name, next, previous, up
14221 @appendix Tips and Hints 14616 @appendix Tips and Hints
14222 14617
14223 Here are some tips for writing Texinfo documentation:@refill 14618 Here are some tips for writing Texinfo documentation:@refill
14224 14619
14225 @cindex Tips 14620 @cindex Tips
14238 14633
14239 @item 14634 @item
14240 Include a copyright notice and copying permissions. 14635 Include a copyright notice and copying permissions.
14241 @end itemize 14636 @end itemize
14242 14637
14243 @subsubheading Index, index, index! 14638 @subsubheading Index, Index, Index!
14244 14639
14245 Write many index entries, in different ways. 14640 Write many index entries, in different ways.
14246 Readers like indices; they are helpful and convenient. 14641 Readers like indices; they are helpful and convenient.
14247 14642
14248 Although it is easiest to write index entries as you write the body of 14643 Although it is easiest to write index entries as you write the body of
14304 (Note that the example shows entries for the same concept that are 14699 (Note that the example shows entries for the same concept that are
14305 written in different ways---@samp{Lazy dog}, and @samp{Dog, lazy}---so 14700 written in different ways---@samp{Lazy dog}, and @samp{Dog, lazy}---so
14306 readers can look up the concept in different ways.) 14701 readers can look up the concept in different ways.)
14307 @end itemize 14702 @end itemize
14308 14703
14309 @subsubheading Blank lines 14704 @subsubheading Blank Lines
14310 14705
14311 @itemize @bullet 14706 @itemize @bullet
14312 @item 14707 @item
14313 Insert a blank line between a sectioning command and the first following 14708 Insert a blank line between a sectioning command and the first following
14314 sentence or paragraph, or between the indexing commands associated with 14709 sentence or paragraph, or between the indexing commands associated with
14348 Insert blank lines before and after @code{@@itemize} @dots{} @code{@@end 14743 Insert blank lines before and after @code{@@itemize} @dots{} @code{@@end
14349 itemize} and @code{@@enumerate} @dots{} @code{@@end enumerate} in the 14744 itemize} and @code{@@enumerate} @dots{} @code{@@end enumerate} in the
14350 same way. 14745 same way.
14351 @end itemize 14746 @end itemize
14352 14747
14353 @subsubheading Complete phrases 14748 @subsubheading Complete Phrases
14354 14749
14355 Complete phrases are easier to read than @dots{} 14750 Complete phrases are easier to read than @dots{}
14356 14751
14357 @itemize @bullet 14752 @itemize @bullet
14358 @item 14753 @item
14364 Write the prefatory sentence or phrase for a multi-item list or table as 14759 Write the prefatory sentence or phrase for a multi-item list or table as
14365 a complete expression. Do not write ``You can set:''; instead, write 14760 a complete expression. Do not write ``You can set:''; instead, write
14366 ``You can set these variables:''. The former expression sounds cut off. 14761 ``You can set these variables:''. The former expression sounds cut off.
14367 @end itemize 14762 @end itemize
14368 14763
14369 @subsubheading Editions, dates and versions 14764 @subsubheading Editions, Dates and Versions
14370 14765
14371 Write the edition and version numbers and date in three places in every 14766 Write the edition and version numbers and date in three places in every
14372 manual: 14767 manual:
14373 14768
14374 @enumerate 14769 @enumerate
14432 14827
14433 @subsubheading Capitalization 14828 @subsubheading Capitalization
14434 14829
14435 @itemize @bullet 14830 @itemize @bullet
14436 @item 14831 @item
14437 Capitalize @samp{Texinfo}; it is a name. Do not write the @samp{x} or 14832 Capitalize ``Texinfo''; it is a name. Do not write the @samp{x} or
14438 @samp{i} in upper case. 14833 @samp{i} in upper case.
14439 14834
14440 @item 14835 @item
14441 Capitalize @samp{Info}; it is a name. 14836 Capitalize ``Info''; it is a name.
14442 14837
14443 @item 14838 @item
14444 Write @TeX{} using the @code{@@TeX@{@}} command. Note the uppercase 14839 Write @TeX{} using the @code{@@TeX@{@}} command. Note the uppercase
14445 @samp{T} and @samp{X}. This command causes the formatters to 14840 @samp{T} and @samp{X}. This command causes the formatters to
14446 typeset the name according to the wishes of Donald Knuth, who wrote 14841 typeset the name according to the wishes of Donald Knuth, who wrote
14572 means that the output looks right both in printed output and in an Info 14967 means that the output looks right both in printed output and in an Info
14573 file, but only when the command is used inside parentheses. 14968 file, but only when the command is used inside parentheses.
14574 14969
14575 @subsubheading Invoking from a Shell 14970 @subsubheading Invoking from a Shell
14576 14971
14577 You can invoke programs such as Emacs, GCC, and GAWK from a shell. 14972 You can invoke programs such as Emacs, GCC, and @code{gawk} from a
14578 The documentation for each program should contain a section that 14973 shell. The documentation for each program should contain a section that
14579 describes this. Unfortunately, if the node names and titles for these 14974 describes this. Unfortunately, if the node names and titles for these
14580 sections are all different, readers find it hard to search for the 14975 sections are all different, readers find it hard to search for the
14581 section.@refill 14976 section.@refill
14582 14977
14583 Name such sections with a phrase beginning with the word 14978 Name such sections with a phrase beginning with the word
14584 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way 14979 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way
14585 users can find the section easily. 14980 users can find the section easily.
14586 14981
14587 @subsubheading @sc{ansi c} Syntax 14982 @subsubheading ANSI C Syntax
14588 14983
14589 When you use @code{@@example} to describe a C function's calling 14984 When you use @code{@@example} to describe a C function's calling
14590 conventions, use the @sc{ansi c} syntax, like this:@refill 14985 conventions, use the ANSI C syntax, like this:@refill
14591 14986
14592 @example 14987 @example
14593 void dld_init (char *@@var@{path@}); 14988 void dld_init (char *@@var@{path@});
14594 @end example 14989 @end example
14595 14990
14648 15043
14649 @itemize @bullet 15044 @itemize @bullet
14650 @item 15045 @item
14651 Pronounce @TeX{} as if the @samp{X} were a Greek `chi', as the last 15046 Pronounce @TeX{} as if the @samp{X} were a Greek `chi', as the last
14652 sound in the name `Bach'. But pronounce Texinfo as in `speck': 15047 sound in the name `Bach'. But pronounce Texinfo as in `speck':
14653 @samp{teckinfo}. 15048 ``teckinfo''.
14654 15049
14655 @item 15050 @item
14656 Write notes for yourself at the very end of a Texinfo file after the 15051 Write notes for yourself at the very end of a Texinfo file after the
14657 @code{@@bye}. None of the formatters process text after the 15052 @code{@@bye}. None of the formatters process text after the
14658 @code{@@bye}; it is as if the text were within @code{@@ignore} @dots{} 15053 @code{@@bye}; it is as if the text were within @code{@@ignore} @dots{}
14659 @code{@@end ignore}. 15054 @code{@@end ignore}.
14660 @end itemize 15055 @end itemize
14661 15056
15057
14662 @node Sample Texinfo File, Sample Permissions, Tips, Top 15058 @node Sample Texinfo File, Sample Permissions, Tips, Top
14663 @comment node-name, next, previous, up
14664 @appendix A Sample Texinfo File 15059 @appendix A Sample Texinfo File
14665 @cindex Sample Texinfo file, no comments 15060 @cindex Sample Texinfo file, no comments
14666 15061
14667 Here is a complete, short sample Texinfo file, without any commentary. 15062 Here is a complete, short sample Texinfo file, without any commentary.
14668 You can see this file, with comments, in the first chapter. 15063 You can see this file, with comments, in the first chapter.
14693 @@page 15088 @@page
14694 @@vskip 0pt plus 1filll 15089 @@vskip 0pt plus 1filll
14695 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc. 15090 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc.
14696 @@end titlepage 15091 @@end titlepage
14697 15092
14698 @@node Top, First Chapter, (dir), (dir) 15093 @@node Top, First Chapter, , (dir)
14699 @@comment node-name, next, previous, up 15094 @@comment node-name, next, previous, up
14700 15095
14701 @@menu 15096 @@menu
14702 * First Chapter:: The first chapter is the 15097 * First Chapter:: The first chapter is the
14703 only chapter in this sample. 15098 only chapter in this sample.
14734 @@printindex cp 15129 @@printindex cp
14735 15130
14736 @@contents 15131 @@contents
14737 @@bye 15132 @@bye
14738 @end example 15133 @end example
15134
14739 15135
14740 @node Sample Permissions, Include Files, Sample Texinfo File, Top 15136 @node Sample Permissions, Include Files, Sample Texinfo File, Top
14741 @appendix Sample Permissions 15137 @appendix Sample Permissions
14742 @cindex Permissions 15138 @cindex Permissions
14743 @cindex Copying permissions 15139 @cindex Copying permissions
14815 Software Foundation permission notice reads as follows:@refill 15211 Software Foundation permission notice reads as follows:@refill
14816 15212
14817 @example 15213 @example
14818 This file documents @dots{} 15214 This file documents @dots{}
14819 15215
14820 Copyright 1992 Free Software Foundation, Inc. 15216 Copyright 1997 Free Software Foundation, Inc.
14821 15217
14822 Permission is granted to make and distribute verbatim 15218 Permission is granted to make and distribute verbatim
14823 copies of this manual provided the copyright notice and 15219 copies of this manual provided the copyright notice and
14824 this permission notice are preserved on all copies. 15220 this permission notice are preserved on all copies.
14825 15221
14845 under the above conditions for modified versions, 15241 under the above conditions for modified versions,
14846 except that this permission notice may be stated in a 15242 except that this permission notice may be stated in a
14847 translation approved by the Free Software Foundation. 15243 translation approved by the Free Software Foundation.
14848 @end example 15244 @end example
14849 15245
14850 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions 15246 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions
14851 @comment node-name, next, previous, up 15247 @comment node-name, next, previous, up
14852 @appendixsec Titlepage Copying Permissions 15248 @appendixsec Titlepage Copying Permissions
14853 @cindex Titlepage permissions 15249 @cindex Titlepage permissions
14854 15250
14855 In the @code{@@titlepage} section of a Texinfo file, the standard Free 15251 In the @code{@@titlepage} section of a Texinfo file, the standard Free
14876 under the above conditions for modified versions, 15272 under the above conditions for modified versions,
14877 except that this permission notice may be stated in a 15273 except that this permission notice may be stated in a
14878 translation approved by the Free Software Foundation. 15274 translation approved by the Free Software Foundation.
14879 @end example 15275 @end example
14880 15276
15277
14881 @node Include Files, Headings, Sample Permissions, Top 15278 @node Include Files, Headings, Sample Permissions, Top
14882 @comment node-name, next, previous, up
14883 @appendix Include Files 15279 @appendix Include Files
14884 @cindex Include files 15280 @cindex Include files
14885 15281
14886 When @TeX{} or an Info formatting command sees an @code{@@include} 15282 When @TeX{} or an Info formatting command sees an @code{@@include}
14887 command in a Texinfo file, it processes the contents of the file named 15283 command in a Texinfo file, it processes the contents of the file named
14888 by the command and incorporates them into the @sc{dvi} or Info file being 15284 by the command and incorporates them into the DVI or Info file being
14889 created. Index entries from the included file are incorporated into 15285 created. Index entries from the included file are incorporated into
14890 the indices of the output file.@refill 15286 the indices of the output file.@refill
14891 15287
14892 Include files let you keep a single large document as a collection of 15288 Include files let you keep a single large document as a collection of
14893 conveniently small parts.@refill 15289 conveniently small parts.@refill
15075 @end group 15471 @end group
15076 15472
15077 @group 15473 @group
15078 @@page 15474 @@page
15079 @@vskip 0pt plus 1filll 15475 @@vskip 0pt plus 1filll
15080 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc. 15476 Copyright @@copyright@{@} 1997 Free Software Foundation, Inc.
15081 @@end titlepage 15477 @@end titlepage
15082 @end group 15478 @end group
15083 15479
15084 @group 15480 @group
15085 @@ifinfo 15481 @@ifinfo
15086 @@node Top, First, (dir), (dir) 15482 @@node Top, First, , (dir)
15087 @@top Master Menu 15483 @@top Master Menu
15088 @@end ifinfo 15484 @@end ifinfo
15089 @end group 15485 @end group
15090 15486
15091 @group 15487 @group
15128 The outer Texinfo source file for @cite{The GNU Emacs Lisp Reference 15524 The outer Texinfo source file for @cite{The GNU Emacs Lisp Reference
15129 Manual} is named @file{elisp.texi}. This outer file contains a master 15525 Manual} is named @file{elisp.texi}. This outer file contains a master
15130 menu with 417 entries and a list of 41 @code{@@include} 15526 menu with 417 entries and a list of 41 @code{@@include}
15131 files.@refill 15527 files.@refill
15132 15528
15133 @node Include Files Evolution, , Sample Include File, Include Files 15529 @node Include Files Evolution, , Sample Include File, Include Files
15134 @comment node-name, next, previous, up 15530 @comment node-name, next, previous, up
15135 @appendixsec Evolution of Include Files 15531 @appendixsec Evolution of Include Files
15136 15532
15137 When Info was first created, it was customary to create many small 15533 When Info was first created, it was customary to create many small
15138 Info files on one subject. Each Info file was formatted from its own 15534 Info files on one subject. Each Info file was formatted from its own
15168 with the @code{@@include} command so as to create a single large Info 15564 with the @code{@@include} command so as to create a single large Info
15169 file that is split into smaller files if necessary. This means that 15565 file that is split into smaller files if necessary. This means that
15170 you can write menus and cross references without naming the different 15566 you can write menus and cross references without naming the different
15171 Texinfo files.@refill 15567 Texinfo files.@refill
15172 15568
15569
15173 @node Headings, Catching Mistakes, Include Files, Top 15570 @node Headings, Catching Mistakes, Include Files, Top
15174 @comment node-name, next, previous, up
15175 @appendix Page Headings 15571 @appendix Page Headings
15176 @cindex Headings 15572 @cindex Headings
15177 @cindex Footings 15573 @cindex Footings
15178 @cindex Page numbering 15574 @cindex Page numbering
15179 @cindex Page headings 15575 @cindex Page headings
15194 @node Headings Introduced, Heading Format, Headings, Headings 15590 @node Headings Introduced, Heading Format, Headings, Headings
15195 @ifinfo 15591 @ifinfo
15196 @heading Headings Introduced 15592 @heading Headings Introduced
15197 @end ifinfo 15593 @end ifinfo
15198 15594
15199 Texinfo provides standard page heading formats for manuals that are printed 15595 Texinfo provides standard page heading formats for manuals that are
15200 on one side of each sheet of paper and for manuals that are printed on 15596 printed on one side of each sheet of paper and for manuals that are
15201 both sides of the paper. Usually, you will use one or other of these 15597 printed on both sides of the paper. Typically, you will use these
15202 formats, but you can specify your own format, if you wish.@refill 15598 formats, but you can specify your own format if you wish.@refill
15203 15599
15204 In addition, you can specify whether chapters should begin on a new 15600 In addition, you can specify whether chapters should begin on a new
15205 page, or merely continue the same page as the previous chapter; and if 15601 page, or merely continue the same page as the previous chapter; and if
15206 chapters begin on new pages, you can specify whether they must be 15602 chapters begin on new pages, you can specify whether they must be
15207 odd-numbered pages.@refill 15603 odd-numbered pages.@refill
15291 15687
15292 @end group 15688 @end group
15293 @end example 15689 @end example
15294 15690
15295 @noindent 15691 @noindent
15296 The chapter name is preceded by the word @samp{Chapter}, the chapter 15692 The chapter name is preceded by the word ``Chapter'', the chapter number
15297 number and a colon. This makes it easier to keep track of where you 15693 and a colon. This makes it easier to keep track of where you are in the
15298 are in the manual.@refill 15694 manual.@refill
15299 15695
15300 @node Heading Choice, Custom Headings, Heading Format, Headings 15696 @node Heading Choice, Custom Headings, Heading Format, Headings
15301 @comment node-name, next, previous, up 15697 @comment node-name, next, previous, up
15302 @appendixsec Specifying the Type of Heading 15698 @appendixsec Specifying the Type of Heading
15303 15699
15332 @end table 15728 @end table
15333 15729
15334 @noindent 15730 @noindent
15335 Texinfo lacks an @code{@@setchapternewpage even} command.@refill 15731 Texinfo lacks an @code{@@setchapternewpage even} command.@refill
15336 15732
15337 @node Custom Headings, , Heading Choice, Headings 15733 @node Custom Headings, , Heading Choice, Headings
15338 @comment node-name, next, previous, up 15734 @comment node-name, next, previous, up
15339 @appendixsec How to Make Your Own Headings 15735 @appendixsec How to Make Your Own Headings
15340 15736
15341 You can use the standard headings provided with Texinfo or specify 15737 You can use the standard headings provided with Texinfo or specify
15342 your own.@refill 15738 your own. By default, Texinfo has no footers, so if you specify them,
15739 the available page size for the main text will be slightly reduced.
15343 15740
15344 @c Following paragraph is verbose to prevent overfull hboxes. 15741 @c Following paragraph is verbose to prevent overfull hboxes.
15345 Texinfo provides six commands for specifying headings and 15742 Texinfo provides six commands for specifying headings and
15346 footings. The @code{@@everyheading} command and 15743 footings. The @code{@@everyheading} command and
15347 @code{@@everyfooting} command generate page headers and footers 15744 @code{@@everyfooting} command generate page headers and footers
15374 @end group 15771 @end group
15375 @end example 15772 @end example
15376 15773
15377 @noindent 15774 @noindent
15378 You need to divide the left part from the central part and the central 15775 You need to divide the left part from the central part and the central
15379 part from the right had part by inserting @samp{@@|} between parts. 15776 part from the right part by inserting @samp{@@|} between parts.
15380 Otherwise, the specification command will not be able to tell where 15777 Otherwise, the specification command will not be able to tell where
15381 the text for one part ends and the next part begins.@refill 15778 the text for one part ends and the next part begins.@refill
15382 15779
15383 Each part can contain text or @@-commands. The text 15780 Each part can contain text or @@-commands. The text
15384 is printed as if the part were within an ordinary paragraph in the 15781 is printed as if the part were within an ordinary paragraph in the
15410 @itemx @@evenfooting @var{left} @@| @var{center} @@| @var{right} 15807 @itemx @@evenfooting @var{left} @@| @var{center} @@| @var{right}
15411 @itemx @@oddfooting @var{left} @@| @var{center} @@| @var{right} 15808 @itemx @@oddfooting @var{left} @@| @var{center} @@| @var{right}
15412 15809
15413 The `even' and `odd' commands specify the format for even-numbered 15810 The `even' and `odd' commands specify the format for even-numbered
15414 pages and odd-numbered pages. These commands are for books and 15811 pages and odd-numbered pages. These commands are for books and
15415 manuals that are printed on both sides of each sheet of paper.@refill 15812 manuals that are printed on both sides of each sheet of paper.
15416 @end table 15813 @end table
15417 15814
15418 Use the @samp{@@this@dots{}} series of @@-commands to 15815 Use the @samp{@@this@dots{}} series of @@-commands to
15419 provide the names of chapters 15816 provide the names of chapters
15420 and sections and the page number. You can use the 15817 and sections and the page number. You can use the
15427 15824
15428 @table @code 15825 @table @code
15429 @findex thispage 15826 @findex thispage
15430 @item @@thispage 15827 @item @@thispage
15431 Expands to the current page number.@refill 15828 Expands to the current page number.@refill
15432 @c !!! Karl Berry says that `thissection' fails on page breaks. 15829 @c !!! Karl Berry says that `thissection' can fail on page breaks.
15433 @ignore 15830 @ignore
15434 @item @@thissection 15831 @item @@thissection
15435 Expands to the name of the current section.@refill 15832 Expands to the name of the current section.@refill
15436 @end ignore 15833 @end ignore
15437 15834
15479 @end example 15876 @end example
15480 15877
15481 Beware of overlong titles: they may overlap another part of the 15878 Beware of overlong titles: they may overlap another part of the
15482 header or footer and blot it out.@refill 15879 header or footer and blot it out.@refill
15483 15880
15881
15484 @node Catching Mistakes, Refilling Paragraphs, Headings, Top 15882 @node Catching Mistakes, Refilling Paragraphs, Headings, Top
15485 @comment node-name, next, previous, up
15486 @appendix Formatting Mistakes 15883 @appendix Formatting Mistakes
15487 @cindex Structure, catching mistakes in 15884 @cindex Structure, catching mistakes in
15488 @cindex Nodes, catching mistakes 15885 @cindex Nodes, catching mistakes
15489 @cindex Catching mistakes 15886 @cindex Catching mistakes
15490 @cindex Correcting mistakes 15887 @cindex Correcting mistakes
15507 For finding problems with the structure of nodes and chapters, you can use 15904 For finding problems with the structure of nodes and chapters, you can use
15508 @kbd{C-c C-s} (@code{texinfo-show-structure}) and the related @code{occur} 15905 @kbd{C-c C-s} (@code{texinfo-show-structure}) and the related @code{occur}
15509 command and you can use the @kbd{M-x Info-validate} command.@refill 15906 command and you can use the @kbd{M-x Info-validate} command.@refill
15510 15907
15511 @menu 15908 @menu
15512 * makeinfo preferred:: @code{makeinfo} finds errors. 15909 * makeinfo Preferred:: @code{makeinfo} finds errors.
15513 * Debugging with Info:: How to catch errors with Info formatting. 15910 * Debugging with Info:: How to catch errors with Info formatting.
15514 * Debugging with TeX:: How to catch errors with @TeX{} formatting. 15911 * Debugging with TeX:: How to catch errors with @TeX{} formatting.
15515 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}. 15912 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}.
15516 * Using occur:: How to list all lines containing a pattern. 15913 * Using occur:: How to list all lines containing a pattern.
15517 * Running Info-Validate:: How to find badly referenced nodes. 15914 * Running Info-Validate:: How to find badly referenced nodes.
15518 @end menu 15915 @end menu
15519 15916
15520 @node makeinfo preferred, Debugging with Info, Catching Mistakes, Catching Mistakes 15917 @node makeinfo Preferred, Debugging with Info, Catching Mistakes, Catching Mistakes
15521 @ifinfo 15918 @ifinfo
15522 @heading @code{makeinfo} Find Errors 15919 @heading @code{makeinfo} Find Errors
15523 @end ifinfo 15920 @end ifinfo
15524 15921
15525 The @code{makeinfo} program does an excellent job of catching errors 15922 The @code{makeinfo} program does an excellent job of catching errors
15534 @code{makeinfo-buffer}) to format your file and check for other 15931 @code{makeinfo-buffer}) to format your file and check for other
15535 errors. This is the best way to work with Texinfo. But if you 15932 errors. This is the best way to work with Texinfo. But if you
15536 cannot use @code{makeinfo}, or your problem is very puzzling, then you 15933 cannot use @code{makeinfo}, or your problem is very puzzling, then you
15537 may want to use the tools described in this appendix.@refill 15934 may want to use the tools described in this appendix.@refill
15538 15935
15539 @node Debugging with Info, Debugging with TeX, makeinfo preferred, Catching Mistakes 15936 @node Debugging with Info, Debugging with TeX, makeinfo Preferred, Catching Mistakes
15540 @comment node-name, next, previous, up 15937 @comment node-name, next, previous, up
15541 @appendixsec Catching Errors with Info Formatting 15938 @appendixsec Catching Errors with Info Formatting
15542 @cindex Catching errors with Info formatting 15939 @cindex Catching errors with Info formatting
15543 @cindex Debugging with Info formatting 15940 @cindex Debugging with Info formatting
15544 15941
15796 You can tell @TeX{} to continue running and to ignore all errors as best 16193 You can tell @TeX{} to continue running and to ignore all errors as best
15797 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill 16194 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill
15798 16195
15799 This is often the best thing to do. However, beware: the one error 16196 This is often the best thing to do. However, beware: the one error
15800 may produce a cascade of additional error messages as its consequences 16197 may produce a cascade of additional error messages as its consequences
15801 are felt through the rest of the file. (To stop @TeX{} when it is 16198 are felt through the rest of the file. To stop @TeX{} when it is
15802 producing such an avalanche of error messages, type @kbd{C-d} (or 16199 producing such an avalanche of error messages, type @kbd{C-c} (or
15803 @kbd{C-c C-d}, if you are running a shell inside Emacs.))@refill 16200 @kbd{C-c C-c}, if you are running a shell inside Emacs).
15804 16201
15805 @item 16202 @item
15806 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}} 16203 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}}
15807 at the @samp{?} prompt.@refill 16204 at the @samp{?} prompt.@refill
15808 @end enumerate 16205 @end enumerate
15813 16210
15814 Sometimes @TeX{} will format a file without producing error messages even 16211 Sometimes @TeX{} will format a file without producing error messages even
15815 though there is a problem. This usually occurs if a command is not ended 16212 though there is a problem. This usually occurs if a command is not ended
15816 but @TeX{} is able to continue processing anyhow. For example, if you fail 16213 but @TeX{} is able to continue processing anyhow. For example, if you fail
15817 to end an itemized list with the @code{@@end itemize} command, @TeX{} will 16214 to end an itemized list with the @code{@@end itemize} command, @TeX{} will
15818 write a @sc{dvi} file that you can print out. The only error message that 16215 write a DVI file that you can print out. The only error message that
15819 @TeX{} will give you is the somewhat mysterious comment that@refill 16216 @TeX{} will give you is the somewhat mysterious comment that@refill
15820 16217
15821 @example 16218 @example
15822 (@@end occurred inside a group at level 1) 16219 (@@end occurred inside a group at level 1)
15823 @end example 16220 @end example
15824 16221
15825 @noindent 16222 @noindent
15826 However, if you print the @sc{dvi} file, you will find that the text 16223 However, if you print the DVI file, you will find that the text
15827 of the file that follows the itemized list is entirely indented as if 16224 of the file that follows the itemized list is entirely indented as if
15828 it were part of the last item in the itemized list. The error message 16225 it were part of the last item in the itemized list. The error message
15829 is the way @TeX{} says that it expected to find an @code{@@end} 16226 is the way @TeX{} says that it expected to find an @code{@@end}
15830 command somewhere in the file; but that it could not determine where 16227 command somewhere in the file; but that it could not determine where
15831 it was needed.@refill 16228 it was needed.@refill
15963 therefore have the same `Up' pointer.@refill 16360 therefore have the same `Up' pointer.@refill
15964 16361
15965 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual}, 16362 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual},
15966 for more information.@refill 16363 for more information.@refill
15967 16364
15968 @node Running Info-Validate, , Using occur, Catching Mistakes 16365 @node Running Info-Validate, , Using occur, Catching Mistakes
15969 @comment node-name, next, previous, up 16366 @comment node-name, next, previous, up
15970 @appendixsec Finding Badly Referenced Nodes 16367 @appendixsec Finding Badly Referenced Nodes
15971 @findex Info-validate 16368 @findex Info-validate
15972 @cindex Nodes, checking for badly referenced 16369 @cindex Nodes, checking for badly referenced
15973 @cindex Checking for badly referenced nodes 16370 @cindex Checking for badly referenced nodes
16126 After you have validated the node structure, you can rerun 16523 After you have validated the node structure, you can rerun
16127 @code{texinfo-format-buffer} in the normal way so it will construct a 16524 @code{texinfo-format-buffer} in the normal way so it will construct a
16128 tag table and split the file automatically, or you can make the tag 16525 tag table and split the file automatically, or you can make the tag
16129 table and split the file manually.@refill 16526 table and split the file manually.@refill
16130 16527
16131 @node Splitting, , Tagifying, Running Info-Validate 16528 @node Splitting, , Tagifying, Running Info-Validate
16132 @comment node-name, next, previous, up 16529 @comment node-name, next, previous, up
16133 @appendixsubsec Splitting a File Manually 16530 @appendixsubsec Splitting a File Manually
16134 @cindex Splitting an Info file manually 16531 @cindex Splitting an Info file manually
16135 @cindex Info file, splitting manually 16532 @cindex Info file, splitting manually
16136 16533
16177 by appending @samp{-} and a number to the original file name.@refill 16574 by appending @samp{-} and a number to the original file name.@refill
16178 16575
16179 The primary file still functions as an Info file, but it contains just 16576 The primary file still functions as an Info file, but it contains just
16180 the tag table and a directory of subfiles.@refill 16577 the tag table and a directory of subfiles.@refill
16181 16578
16579
16182 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top 16580 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top
16183 @comment node-name, next, previous, up
16184 @appendix Refilling Paragraphs 16581 @appendix Refilling Paragraphs
16185 @cindex Refilling paragraphs 16582 @cindex Refilling paragraphs
16186 @cindex Filling paragraphs 16583 @cindex Filling paragraphs
16187 @findex refill 16584 @findex refill
16188 16585
16216 commands now automatically append @code{@@refill} to the end of each 16613 commands now automatically append @code{@@refill} to the end of each
16217 paragraph that should be filled. They do not append @code{@@refill} to 16614 paragraph that should be filled. They do not append @code{@@refill} to
16218 the ends of paragraphs that contain @code{@@*} or @w{@code{@@w@{ @dots{}@}}} 16615 the ends of paragraphs that contain @code{@@*} or @w{@code{@@w@{ @dots{}@}}}
16219 and therefore do not refill or indent them.@refill 16616 and therefore do not refill or indent them.@refill
16220 16617
16618
16221 @node Command Syntax, Obtaining TeX, Refilling Paragraphs, Top 16619 @node Command Syntax, Obtaining TeX, Refilling Paragraphs, Top
16222 @comment node-name, next, previous, up 16620 @comment node-name, next, previous, up
16223 @appendix @@-Command Syntax 16621 @appendix @@-Command Syntax
16224 @cindex @@-command syntax 16622 @cindex @@-command syntax
16225 16623
16228 has four types of @@-command:@refill 16626 has four types of @@-command:@refill
16229 16627
16230 @table @asis 16628 @table @asis
16231 @item 1. Non-alphabetic commands. 16629 @item 1. Non-alphabetic commands.
16232 These commands consist of an @@ followed by a punctuation mark or other 16630 These commands consist of an @@ followed by a punctuation mark or other
16233 character that is not part of the alphabet. Non-alphabetic commands 16631 character that is not part of the alphabet. Non-alphabetic commands are
16234 are almost always part of the text within a paragraph, and never take 16632 almost always part of the text within a paragraph, and never take any
16235 any argument. The two characters (@@ and the other one) are complete 16633 argument. The two characters (@@ and the other one) are complete in
16236 in themselves; none is followed by braces. The non-alphabetic 16634 themselves; none is followed by braces. The non-alphabetic commands
16237 commands are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@@}, 16635 are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@kbd{SPACE}},
16238 @code{@@@{}, and @code{@@@}}.@refill 16636 @code{@@@kbd{TAB}}, @code{@@@kbd{NL}}, @code{@@@@}, @code{@@@{}, and
16637 @code{@@@}}.@refill
16239 16638
16240 @item 2. Alphabetic commands that do not require arguments. 16639 @item 2. Alphabetic commands that do not require arguments.
16241 These commands start with @@ followed by a word followed by left- and 16640 These commands start with @@ followed by a word followed by left- and
16242 right-hand braces. These commands insert special symbols in the 16641 right-hand braces. These commands insert special symbols in the
16243 document; they do not require arguments. For example, 16642 document; they do not require arguments. For example,
16278 or other punctuation character. @code{@@refill} takes no argument and 16677 or other punctuation character. @code{@@refill} takes no argument and
16279 does @emph{not} require braces. @code{@@refill} never confuses the 16678 does @emph{not} require braces. @code{@@refill} never confuses the
16280 Emacs paragraph commands because it cannot appear at the beginning of 16679 Emacs paragraph commands because it cannot appear at the beginning of
16281 a line.@refill 16680 a line.@refill
16282 16681
16283 @node Obtaining TeX, New Features, Command Syntax, Top 16682
16683 @node Obtaining TeX, Command and Variable Index, Command Syntax, Top
16284 @appendix How to Obtain @TeX{} 16684 @appendix How to Obtain @TeX{}
16285 @cindex Obtaining @TeX{} 16685 @cindex Obtaining @TeX{}
16286 @cindex @TeX{}, how to obtain 16686 @cindex @TeX{}, how to obtain
16287 16687
16288 @c !!! Here is information about obtaining TeX. Update it whenever. 16688 @c !!! Here is information about obtaining TeX. Update it whenever.
16289 @c !!! Also consider updating TeX.README on prep. 16689 @c !!! Also consider updating TeX.README on prep.
16290 @c Updated by RJC on 1 March 1995, conversation with MacKay. 16690 @c Updated by RJC on 1 March 1995, conversation with MacKay.
16291 @c Updated by kb@cs.umb.edu on 29 July 1996. 16691 @c Updated by kb@cs.umb.edu on 29 July 1996.
16692 @c Updated by kb@cs.umb.edu on 25 April 1997.
16292 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix 16693 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix
16293 systems via anonymous ftp or on tape or CD-ROM. The core material 16694 systems via anonymous ftp or on physical media. The core material
16294 consists of Karl Berry's Web2c @TeX{} distribution. 16695 consists of the Web2c @TeX{} distribution (@uref{http://www.tug.org/web2c}).
16295 16696
16296 On-line retrieval instructions are available from either: 16697 Instructions for retrieval by anonymous ftp and information on other
16297 @example 16698 available distributions:
16298 @url{ftp://ftp.tug.org/tex/unixtex.ftp} 16699 @example
16299 @url{http://www.tug.org/unixtex.ftp} 16700 @uref{ftp://ftp.tug.org/tex/unixtex.ftp}
16701 @uref{http://www.tug.org/unixtex.ftp}
16300 @end example 16702 @end example
16301 16703
16302 The Free Software Foundation provides a core distribution on its Source 16704 The Free Software Foundation provides a core distribution on its Source
16303 Code CD-ROM suitable for printing Texinfo manuals; the University of 16705 Code CD-ROM suitable for printing Texinfo manuals; the University of
16304 Washington maintains and supports a tape distribution; the @TeX{} Users 16706 Washington maintains and supports a tape distribution; the @TeX{} Users
16305 Group co-sponsors a complete CD-ROM @TeX{} distribution. 16707 Group co-sponsors a complete CD-ROM @TeX{} distribution.
16306 16708
16709 @itemize @bullet
16710
16711 @item
16307 For the FSF Source Code CD-ROM, please contact: 16712 For the FSF Source Code CD-ROM, please contact:
16308 16713
16309 @iftex 16714 @iftex
16310 @display 16715 @display
16311 @group 16716 @group
16312 Free Software Foundation, Inc. 16717 Free Software Foundation, Inc.
16313 59 Temple Place Suite 330 16718 59 Temple Place Suite 330
16314 Boston, MA w{ } 02111-1307 16719 Boston, MA @ @ 02111-1307
16315 USA 16720 USA
16316
16317 Telephone: @w{@t{+}1--617--542--5942} 16721 Telephone: @w{@t{+}1--617--542--5942}
16318 Fax: (including Japan) @w{@t{+}1--617--542--2652} 16722 Fax: (including Japan) @w{@t{+}1--617--542--2652}
16319 Free Dial Fax (in Japan): 16723 Free Dial Fax (in Japan):
16320 @w{ } @w{ } @w{ } 0031--13--2473 (KDD) 16724 @w{ } @w{ } @w{ } 0031--13--2473 (KDD)
16321 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC) 16725 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC)
16339 Electronic mail: @code{gnu@@prep.ai.mit.edu} 16743 Electronic mail: @code{gnu@@prep.ai.mit.edu}
16340 @end group 16744 @end group
16341 @end display 16745 @end display
16342 @end ifinfo 16746 @end ifinfo
16343 16747
16344 To order a full distribution on CD-ROM, please see: 16748 @item
16345 @display 16749 To order a complete distribution on CD-ROM, please see
16346 @url{http://www.tug.org/tex-live.html} 16750 @uref{http://www.tug.org/tex-live.html}. (This distribution is also
16347 @end display 16751 available by FTP; see the URL's above.)
16348 16752
16349 @noindent 16753 @item
16350 (The distribution is also available by FTP; see the URL's above.) 16754 To order a full distribution from the University of Washington on either
16351 16755 a 1/4@dmn{in} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge,
16352 To order a full distribution from the University of Washington on either a 16756 send $210 to:
16353 1/4@dmn{in} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge, send
16354 $210 to:
16355 16757
16356 @display 16758 @display
16357 @group 16759 @group
16358 Pierre A. MacKay 16760 Pierre A. MacKay
16359 Denny Hall, Mail Stop DH-10 16761 Denny Hall, Mail Stop DH-10
16360 University of Washington 16762 University of Washington
16361 Seattle, WA @w{ } 98195 16763 Seattle, WA @w{ } 98195
16362 USA 16764 USA
16363
16364 Telephone: @t{+}1--206--543--2268 16765 Telephone: @t{+}1--206--543--2268
16365 Electronic mail: @code{mackay@@cs.washington.edu} 16766 Electronic mail: @code{mackay@@cs.washington.edu}
16366 @end group 16767 @end group
16367 @end display 16768 @end display
16368 16769
16369 Please make checks payable to the University of Washington. 16770 @noindent Please make checks payable to the University of Washington.
16370 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. 16771 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. Overseas
16371 16772 sites: please add to the base cost, if desired, $20.00 for shipment via
16372 Prepaid orders are the only orders that can now be handled. Overseas 16773 air parcel post, or $30.00 for shipment via courier.
16373 sites: please add to the base cost, if desired, $20.00 for shipment 16774
16374 via air parcel post, or $30.00 for shipment via courier. 16775 @end itemize
16375 16776
16376 Please check with the above for current prices and formats. 16777 Many other @TeX{} distributions are available; see
16377 16778 @uref{http://www.tug.org/}.
16378 16779
16379 @node New Features, Command and Variable Index, Obtaining TeX, Top 16780
16380 @appendix Second Edition Features 16781 @c These are no longer ``new'', and the explanations
16782 @c are all given elsewhere anyway, I think. --karl, 25apr97.
16783 @ignore (the entire appendix)
16784 @c node New Features, Command and Variable Index, Obtaining TeX, Top
16785 @c appendix Second Edition Features
16381 16786
16382 @tex 16787 @tex
16383 % Widen the space for the first column so three control-character 16788 % Widen the space for the first column so three control-character
16384 % strings fit in the first column. Switched back to default .8in 16789 % strings fit in the first column. Switched back to default .8in
16385 % value at end of chapter. 16790 % value at end of chapter.
16396 @menu 16801 @menu
16397 * New Texinfo Mode Commands:: The updating commands are especially useful. 16802 * New Texinfo Mode Commands:: The updating commands are especially useful.
16398 * New Commands:: Many newly described @@-commands. 16803 * New Commands:: Many newly described @@-commands.
16399 @end menu 16804 @end menu
16400 16805
16401 @node New Texinfo Mode Commands, New Commands, New Features, New Features 16806 @c node New Texinfo Mode Commands, New Commands, Obtaining TeX, Obtaining TeX
16402 @appendixsec New Texinfo Mode Commands 16807 @c appendixsec New Texinfo Mode Commands
16403 16808
16404 Texinfo mode provides commands and features especially designed for 16809 Texinfo mode provides commands and features especially designed for
16405 working with Texinfo files. More than 20 new commands have been 16810 working with Texinfo files. More than 20 new commands have been
16406 added, including commands for automatically creating and updating 16811 added, including commands for automatically creating and updating
16407 both nodes and menus. This is a tedious task when done by hand.@refill 16812 both nodes and menus. This is a tedious task when done by hand.@refill
16408 16813
16409 The keybindings are intended to be somewhat mnemonic.@refill 16814 The keybindings are intended to be somewhat mnemonic.@refill
16410 16815
16411 @subheading Update all nodes and menus 16816 @c subheading Update all nodes and menus
16412 16817
16413 The @code{texinfo-master-menu} command is the primary command: 16818 The @code{texinfo-master-menu} command is the primary command:
16414 16819
16415 @table @kbd 16820 @table @kbd
16416 @item C-c C-u m 16821 @item C-c C-u m
16419 With @kbd{C-u} as a prefix argument, 16824 With @kbd{C-u} as a prefix argument,
16420 first create or update all nodes 16825 first create or update all nodes
16421 and regular menus. 16826 and regular menus.
16422 @end table 16827 @end table
16423 16828
16424 @subheading Update Pointers 16829 @c subheading Update Pointers
16425 16830
16426 @noindent 16831 @noindent
16427 Create or update `Next', `Previous', and `Up' node pointers.@refill 16832 Create or update `Next', `Previous', and `Up' node pointers.@refill
16428 16833
16429 @noindent 16834 @noindent
16437 @item C-c C-u C-e 16842 @item C-c C-u C-e
16438 @itemx M-x texinfo-every-node-update 16843 @itemx M-x texinfo-every-node-update
16439 Update every node in the buffer. 16844 Update every node in the buffer.
16440 @end table 16845 @end table
16441 16846
16442 @subheading Update Menus 16847 @c subheading Update Menus
16443 16848
16444 @noindent 16849 @noindent
16445 Create or update menus.@refill 16850 Create or update menus.@refill
16446 16851
16447 @noindent 16852 @noindent
16457 Make or update all the menus in a buffer. 16862 Make or update all the menus in a buffer.
16458 With @kbd{C-u} as a prefix argument, 16863 With @kbd{C-u} as a prefix argument,
16459 first update all the nodes. 16864 first update all the nodes.
16460 @end table 16865 @end table
16461 16866
16462 @subheading Insert Title as Description 16867 @c subheading Insert Title as Description
16463 16868
16464 @noindent 16869 @noindent
16465 Insert a node's chapter or section title in the space for the 16870 Insert a node's chapter or section title in the space for the
16466 description in a menu entry line; position point so you can edit the 16871 description in a menu entry line; position point so you can edit the
16467 insert. (This command works somewhat differently than the other 16872 insert. (This command works somewhat differently than the other
16473 @table @kbd 16878 @table @kbd
16474 @item C-c C-c C-d 16879 @item C-c C-c C-d
16475 Insert title. 16880 Insert title.
16476 @end table 16881 @end table
16477 16882
16478 @subheading Format for Info 16883 @c subheading Format for Info
16479 16884
16480 @noindent 16885 @noindent
16481 Provide keybindings both for the Info formatting commands that are 16886 Provide keybindings both for the Info formatting commands that are
16482 written in Emacs Lisp and for @code{makeinfo} that is written in 16887 written in Emacs Lisp and for @code{makeinfo} that is written in
16483 C.@refill 16888 C.@refill
16511 16916
16512 @item C-c C-m C-k 16917 @item C-c C-m C-k
16513 Kill the @code{makeinfo} formatting job. 16918 Kill the @code{makeinfo} formatting job.
16514 @end table 16919 @end table
16515 16920
16516 @subheading Typeset and Print 16921 @c subheading Typeset and Print
16517 16922
16518 @noindent 16923 @noindent
16519 Typeset and print Texinfo documents from within Emacs.@refill 16924 Typeset and print Texinfo documents from within Emacs.@refill
16520 16925
16521 @ifinfo 16926 @ifinfo
16536 16941
16537 @item C-c C-t C-i 16942 @item C-c C-t C-i
16538 Run @code{texindex}. 16943 Run @code{texindex}.
16539 16944
16540 @item C-c C-t C-p 16945 @item C-c C-t C-p
16541 Print the @sc{dvi} file. 16946 Print the DVI file.
16542 16947
16543 @item C-c C-t C-q 16948 @item C-c C-t C-q
16544 Show the print queue. 16949 Show the print queue.
16545 16950
16546 @item C-c C-t C-d 16951 @item C-c C-t C-d
16554 16959
16555 @item C-c C-t C-l 16960 @item C-c C-t C-l
16556 Recenter the output buffer. 16961 Recenter the output buffer.
16557 @end table 16962 @end table
16558 16963
16559 @subheading Other Updating Commands 16964 @c subheading Other Updating Commands
16560 16965
16561 @noindent 16966 @noindent
16562 The ``other updating commands'' do not have standard keybindings because 16967 The ``other updating commands'' do not have standard keybindings because
16563 they are used less frequently.@refill 16968 they are used less frequently.@refill
16564 16969
16582 16987
16583 @item M-x texinfo-sequential-node-update 16988 @item M-x texinfo-sequential-node-update
16584 Insert node pointers in strict sequence. 16989 Insert node pointers in strict sequence.
16585 @end table 16990 @end table
16586 16991
16587 @node New Commands, , New Texinfo Mode Commands, New Features 16992 @c node New Commands, , New Texinfo Mode Commands, Obtaining TeX
16588 @appendixsec New Texinfo @@-Commands 16993 @c appendixsec New Texinfo @@-Commands
16589 16994
16590 The second edition of the Texinfo manual describes more than 50 16995 The second edition of the Texinfo manual describes more than 50
16591 commands that were not described in the first edition. A third or so 16996 commands that were not described in the first edition. A third or so
16592 of these commands existed in Texinfo but were not documented in the 16997 of these commands existed in Texinfo but were not documented in the
16593 manual; the others are new. Here is a listing, with brief 16998 manual; the others are new. Here is a listing, with brief
16594 descriptions of them:@refill 16999 descriptions of them:@refill
16595 17000
16596 @subheading Indexing 17001 @c subheading Indexing
16597 17002
16598 @noindent 17003 @noindent
16599 Create your own index, and merge indices.@refill 17004 Create your own index, and merge indices.@refill
16600 17005
16601 @noindent 17006 @noindent
16610 @item @@synindex @var{from-index} @var{into-index} 17015 @item @@synindex @var{from-index} @var{into-index}
16611 Merge the @var{from-index} index into the @var{into-index} index. 17016 Merge the @var{from-index} index into the @var{into-index} index.
16612 See also the @code{@@syncodeindex} command. 17017 See also the @code{@@syncodeindex} command.
16613 @end table 17018 @end table
16614 17019
16615 @subheading Definitions 17020 @c subheading Definitions
16616 17021
16617 @noindent 17022 @noindent
16618 Describe functions, variables, macros, 17023 Describe functions, variables, macros,
16619 commands, user options, special forms, and other such artifacts in a 17024 commands, user options, special forms, and other such artifacts in a
16620 uniform format.@refill 17025 uniform format.@refill
16629 17034
16630 @item @@defvr, @@defop, @dots{} 17035 @item @@defvr, @@defop, @dots{}
16631 15 other related commands. 17036 15 other related commands.
16632 @end table 17037 @end table
16633 17038
16634 @subheading Glyphs 17039 @c subheading Glyphs
16635 17040
16636 @noindent 17041 @noindent
16637 Indicate the results of evaluation, expansion, 17042 Indicate the results of evaluation, expansion,
16638 printed output, an error message, equivalence of expressions, and the 17043 printed output, an error message, equivalence of expressions, and the
16639 location of point.@refill 17044 location of point.@refill
16665 @item @@result@{@} 17070 @item @@result@{@}
16666 @itemx @result{} 17071 @itemx @result{}
16667 Result of an expression 17072 Result of an expression
16668 @end table 17073 @end table
16669 17074
16670 @subheading Page Headings 17075 @c subheading Page Headings
16671 17076
16672 @noindent 17077 @noindent
16673 Customize page headings. 17078 Customize page headings.
16674 17079
16675 @noindent 17080 @noindent
16690 17095
16691 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage 17096 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage
16692 Related commands. 17097 Related commands.
16693 @end table 17098 @end table
16694 17099
16695 @subheading Formatting 17100 @c subheading Formatting
16696 17101
16697 @noindent 17102 @noindent
16698 Format blocks of text. 17103 Format blocks of text.
16699 17104
16700 @noindent 17105 @noindent
16730 @item @@smallexample 17135 @item @@smallexample
16731 @itemx @@smalllisp 17136 @itemx @@smalllisp
16732 Like @@table and @@lisp @r{but for} @@smallbook. 17137 Like @@table and @@lisp @r{but for} @@smallbook.
16733 @end table 17138 @end table
16734 17139
16735 @subheading Conditionals 17140 @c subheading Conditionals
16736 17141
16737 @noindent 17142 @noindent
16738 Conditionally format text. 17143 Conditionally format text.
16739 17144
16740 @noindent 17145 @noindent
16756 17161
16757 @item @@ifclear @var{flag} 17162 @item @@ifclear @var{flag}
16758 Ignore, if @var{flag} is set. 17163 Ignore, if @var{flag} is set.
16759 @end table 17164 @end table
16760 17165
16761 @subheading @@heading series for Titles 17166 @c subheading @@heading series for Titles
16762 17167
16763 @noindent 17168 @noindent
16764 Produce unnumbered headings that do not appear in a table of contents. 17169 Produce unnumbered headings that do not appear in a table of contents.
16765 17170
16766 @noindent 17171 @noindent
16769 @table @kbd 17174 @table @kbd
16770 @item @@heading @var{title} 17175 @item @@heading @var{title}
16771 Unnumbered section-like heading not listed 17176 Unnumbered section-like heading not listed
16772 in the table of contents of a printed manual. 17177 in the table of contents of a printed manual.
16773 17178
16774 @item @@chapheading, @@majorheading, @@subheading, @@subsubheading 17179 @item @@chapheading, @@majorheading, @@c subheading, @@subsubheading
16775 Related commands. 17180 Related commands.
16776 @end table 17181 @end table
16777 17182
16778 @need 1000 17183 @need 1000
16779 @subheading Font commands 17184 @c subheading Font commands
16780 17185
16781 @need 1000 17186 @need 1000
16782 @noindent 17187 @noindent
16783 @xref{Smallcaps}, and @* 17188 @xref{Smallcaps}, and @*
16784 @ref{Fonts}. 17189 @ref{Fonts}.
16789 17194
16790 @item @@sc@{@var{text}@} 17195 @item @@sc@{@var{text}@}
16791 Print in @sc{small caps} font. 17196 Print in @sc{small caps} font.
16792 @end table 17197 @end table
16793 17198
16794 @subheading Miscellaneous 17199 @c subheading Miscellaneous
16795 17200
16796 @noindent 17201 @noindent
16797 See @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author} Commands},@* 17202 See @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author} Commands},@*
16798 see @ref{Customized Highlighting},@* 17203 see @ref{Customized Highlighting},@*
16799 see @ref{Overfull hboxes},@* 17204 see @ref{Overfull hboxes},@*
16809 17214
16810 @table @kbd 17215 @table @kbd
16811 @item @@author @var{author} 17216 @item @@author @var{author}
16812 Typeset author's name. 17217 Typeset author's name.
16813 17218
16814 @ignore 17219 @c @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
16815 @item @@definfoenclose @var{new-command}, @var{before}, @var{after}, 17220 @c Define a highlighting command for Info. (Info only.)
16816 Define a highlighting command for Info. (Info only.)
16817 @end ignore
16818 17221
16819 @item @@finalout 17222 @item @@finalout
16820 Produce cleaner printed output. 17223 Produce cleaner printed output.
16821 17224
16822 @item @@footnotestyle @var{end-or-separate} 17225 @item @@footnotestyle @var{end-or-separate}
16860 @end table 17263 @end table
16861 @tex 17264 @tex
16862 % Switch width of first column of tables back to default value 17265 % Switch width of first column of tables back to default value
16863 \global\tableindent=.8in 17266 \global\tableindent=.8in
16864 @end tex 17267 @end tex
16865 17268 @end ignore
16866 17269
16867 @node Command and Variable Index, Concept Index, New Features, Top 17270 @node Command and Variable Index, Concept Index, Obtaining TeX, Top
16868 @comment node-name, next, previous, up 17271 @comment node-name, next, previous, up
16869 @unnumbered Command and Variable Index 17272 @unnumbered Command and Variable Index
16870 17273
16871 This is an alphabetical list of all the @@-commands, assorted Emacs Lisp 17274 This is an alphabetical list of all the @@-commands, assorted Emacs Lisp
16872 functions, and several variables. To make the list easier to use, the 17275 functions, and several variables. To make the list easier to use, the
16873 commands are listed without their preceding @samp{@@}.@refill 17276 commands are listed without their preceding @samp{@@}.@refill
16874 17277
16875 @printindex fn 17278 @printindex fn
16876 17279
16877 17280
16878 @node Concept Index, , Command and Variable Index, Top 17281 @node Concept Index, , Command and Variable Index, Top
16879 @unnumbered Concept Index 17282 @unnumbered Concept Index
16880 17283
16881 @printindex cp 17284 @printindex cp
16882 17285
16883 17286