comparison man/texinfo.texi @ 175:2d532a89d707 r20-3b14

Import from CVS: tag r20-3b14
author cvs
date Mon, 13 Aug 2007 09:50:14 +0200
parents cca96a509cfe
children bfd6434d15b3
comparison
equal deleted inserted replaced
174:bb3568571b84 175:2d532a89d707
1 \input texinfo.tex @c -*-texinfo-*- 1 \input texinfo.tex @c -*-texinfo-*-
2 @comment $Id: texinfo.texi,v 1.4 1997/07/19 22:11:50 steve Exp $
2 @comment %**start of header 3 @comment %**start of header
4 @set edition 2.24
5 @set update-month July 1997
6 @set update-date 15 @value{update-month}
7
3 @setfilename texinfo 8 @setfilename texinfo
4 @settitle Texinfo @value{edition} 9 @settitle Texinfo @value{edition}
10
5 @c Define a new index for options. 11 @c Define a new index for options.
6 @defcodeindex op 12 @defcodeindex op
7 @c Put everything except function (command, in this case) names in one 13 @c Put everything except function (command, in this case) names in one
8 index (arbitrarily chosen to be the concept index). 14 @c index (arbitrarily chosen to be the concept index).
9 @syncodeindex op cp 15 @syncodeindex op cp
10 @syncodeindex vr cp 16 @syncodeindex vr cp
11 @syncodeindex pg cp 17 @syncodeindex pg cp
18
12 @footnotestyle separate 19 @footnotestyle separate
13 @paragraphindent 2 20 @paragraphindent 2
14 @finalout 21 @finalout
15 @comment %**end of header 22 @comment %**end of header
16 @comment $Id: texinfo.texi,v 1.3 1997/04/10 05:56:19 steve Exp $
17 23
18 @c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update with a 24 @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. 25 @c prefix arg). This updates the node pointers, which texinfmt.el needs.
20 26
21 @dircategory Texinfo documentation system 27 @dircategory Texinfo documentation system
22 @direntry 28 @direntry
23 * Texinfo: (texinfo). The GNU documentation format. 29 * Texinfo: (texinfo). The GNU documentation format.
24 * install-info: (texinfo)Invoking install-info. Updating info/dir entries. 30 * install-info: (texinfo)Invoking install-info. Updating info/dir entries.
25 * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation. 31 * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation.
26 * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files. 32 * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files.
33 * makeinfo: (texinfo)makeinfo preferred. Translate Texinfo source.
27 @end direntry 34 @end direntry
28 35
29 @c Set smallbook if printing in smallbook format so the example of the 36 @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 37 @c smallbook font is actually written using smallbook; in bigbook, a kludge
31 @c is used for TeX output. 38 @c is used for TeX output.
32 @smallbook 39 @smallbook
33 @set smallbook 40 @set smallbook
34 @c @@clear smallbook 41 @c @@clear smallbook
35 42
36 @set edition 2.23
37 @set update-month October 1996
38 @set update-date 1 @value{update-month}
39
40 @c Currently undocumented command, 5 December 1993: 43 @c Currently undocumented command, 5 December 1993:
41 @c 44 @c
42 @c nwnode (Same as node, but no warnings; for `makeinfo'.) 45 @c nwnode (Same as node, but no warnings; for `makeinfo'.)
43 46
44 @ifinfo 47 @ifinfo
45 This file documents Texinfo, a documentation system that can produce 48 This file documents Texinfo, a documentation system that can produce
46 both on-line information and a printed manual from a single source file. 49 both on-line information and a printed manual from a single source file.
47 50
48 Copyright (C) 1988, 90, 91, 92, 93, 95, 1996 Free Software Foundation, Inc. 51 Copyright (C) 1988, 90, 91, 92, 93, 95, 96, 97 Free Software Foundation, Inc.
49 52
50 This is the second edition of the Texinfo documentation,@* 53 This is the second edition of the Texinfo documentation,@*
51 and is consistent with version 2 of @file{texinfo.tex}. 54 and is consistent with version 2 of @file{texinfo.tex}.
52 55
53 Permission is granted to make and distribute verbatim copies of 56 Permission is granted to make and distribute verbatim copies of
89 @c Include the Distribution inside the titlepage so 92 @c Include the Distribution inside the titlepage so
90 @c that headings are turned off. 93 @c that headings are turned off.
91 94
92 @page 95 @page
93 @vskip 0pt plus 1filll 96 @vskip 0pt plus 1filll
94 Copyright @copyright{} 1988, 1990, 1991, 1992, 1993, 1995, 1996 Free Software Foundation, Inc. 97 Copyright @copyright{} 1988, 90, 91, 92, 93, 95, 96, 97
98 Free Software Foundation, Inc.
95 99
96 @sp 2 100 @sp 2
97 This is the second edition of the Texinfo documentation,@* 101 This is the second edition of the Texinfo documentation,@*
98 and is consistent with version 2 of @file{texinfo.tex}. 102 and is consistent with version 2 of @file{texinfo.tex}.
99 @sp 2 103 @sp 2
100 104
101 Published by the Free Software Foundation @* 105 Published by the Free Software Foundation @*
102 59 Temple Place Suite 330, @* 106 59 Temple Place Suite 330 @*
103 Boston, MA 02111-1307 USA @* 107 Boston, MA 02111-1307 @*
108 USA @*
104 Printed copies are available for $15 each.@* 109 Printed copies are available for $15 each.@*
105 ISBN 1-882114-64-7 110 ISBN 1-882114-64-7
106 @c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995 111 @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. 112 @c ISBN 1-882114-64-7 is for edition 2.23 of 1 October 1996.
108 113
199 variables, and the like. 204 variables, and the like.
200 * Quotations and Examples:: How to write quotations, examples, etc. 205 * Quotations and Examples:: How to write quotations, examples, etc.
201 * Lists and Tables:: How to write lists and tables. 206 * Lists and Tables:: How to write lists and tables.
202 * Indices:: How to create indices. 207 * Indices:: How to create indices.
203 * Insertions:: How to insert @@-signs, braces, etc. 208 * 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. 209 * Breaks:: How to force and prevent line and page breaks.
207 * Definition Commands:: How to describe functions and the like 210 * Definition Commands:: How to describe functions and the like
208 in a uniform manner. 211 in a uniform manner.
209 * Footnotes:: How to write footnotes. 212 * Footnotes:: How to write footnotes.
210 * Conditionals:: How to specify text for either @TeX{} or Info. 213 * Conditionals:: How to specify text for either @TeX{} or Info.
222 * Headings:: How to write page headings and footings. 225 * Headings:: How to write page headings and footings.
223 * Catching Mistakes:: How to find formatting mistakes. 226 * Catching Mistakes:: How to find formatting mistakes.
224 * Refilling Paragraphs:: All about paragraph refilling. 227 * Refilling Paragraphs:: All about paragraph refilling.
225 * Command Syntax:: A description of @@-Command syntax. 228 * Command Syntax:: A description of @@-Command syntax.
226 * Obtaining TeX:: How to Obtain @TeX{}. 229 * Obtaining TeX:: How to Obtain @TeX{}.
227 * New Features:: Texinfo second edition features.
228 * Command and Variable Index:: A menu containing commands and variables. 230 * Command and Variable Index:: A menu containing commands and variables.
229 * Concept Index:: A menu covering many topics. 231 * Concept Index:: A menu covering many topics.
230 232
231 @detailmenu 233 @detailmenu
232 234
365 * xref:: Begin a reference with `See' @dots{} 367 * xref:: Begin a reference with `See' @dots{}
366 * Top Node Naming:: How to refer to the beginning of another file. 368 * Top Node Naming:: How to refer to the beginning of another file.
367 * ref:: A reference for the last part of a sentence. 369 * ref:: A reference for the last part of a sentence.
368 * pxref:: How to write a parenthetical cross reference. 370 * pxref:: How to write a parenthetical cross reference.
369 * inforef:: How to refer to an Info-only file. 371 * inforef:: How to refer to an Info-only file.
372 * uref:: How to refer to a uniform resource locator.
370 373
371 @code{@@xref} 374 @code{@@xref}
372 375
373 * Reference Syntax:: What a reference looks like and requires. 376 * Reference Syntax:: What a reference looks like and requires.
374 * One Argument:: @code{@@xref} with one argument. 377 * One Argument:: @code{@@xref} with one argument.
416 the margins. 419 the margins.
417 * exdent:: How to undo the indentation of a line. 420 * exdent:: How to undo the indentation of a line.
418 * flushleft & flushright:: How to push text flushleft or flushright. 421 * flushleft & flushright:: How to push text flushleft or flushright.
419 * cartouche:: How to draw cartouches around examples. 422 * cartouche:: How to draw cartouches around examples.
420 423
421 Making Lists and Tables 424 Lists and Tables
422 425
423 * Introducing Lists:: Texinfo formats lists for you. 426 * Introducing Lists:: Texinfo formats lists for you.
424 * itemize:: How to construct a simple list. 427 * itemize:: How to construct a simple list.
425 * enumerate:: How to construct a numbered list. 428 * enumerate:: How to construct a numbered list.
426 * Two-column Tables:: How to construct a two-column table. 429 * Two-column Tables:: How to construct a two-column table.
427 * Multi-column Tables:: How to construct generalized tables. 430 * Multi-column Tables:: How to construct generalized tables.
428 431
429 Making a Two-column Table 432 Making a Two-column Table
430 433
431 * table:: How to construct a two-column table. 434 * table:: How to construct a two-column table.
432 * ftable vtable:: How to construct a two-column table 435 * ftable vtable:: Automatic indexing for two-column tables.
433 with automatic indexing.
434 * itemx:: How to put more entries in the first column. 436 * itemx:: How to put more entries in the first column.
435 437
436 Multi-column Tables 438 Multi-column Tables
437 439
438 * Multitable Column Widths:: Defining multitable column widths. 440 * Multitable Column Widths:: Defining multitable column widths.
464 * TeX and copyright:: How to insert the @TeX{} logo 466 * TeX and copyright:: How to insert the @TeX{} logo
465 and the copyright symbol. 467 and the copyright symbol.
466 * pounds:: How to insert the pounds currency symbol. 468 * pounds:: How to insert the pounds currency symbol.
467 * minus:: How to insert a minus sign. 469 * minus:: How to insert a minus sign.
468 * math:: How to format a mathematical expression. 470 * math:: How to format a mathematical expression.
471 * Glyphs:: How to indicate results of evaluation,
472 expansion of macros, errors, etc.
473 * Images:: How to include graphics.
469 474
470 Inserting @@ and Braces 475 Inserting @@ and Braces
471 476
472 * Inserting An Atsign:: How to insert @samp{@@}. 477 * Inserting An Atsign:: How to insert @samp{@@}.
473 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}. 478 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}.
496 * expansion:: How to indicate an expansion. 501 * expansion:: How to indicate an expansion.
497 * Print Glyph:: How to indicate printed output. 502 * Print Glyph:: How to indicate printed output.
498 * Error Glyph:: How to indicate an error message. 503 * Error Glyph:: How to indicate an error message.
499 * Equivalence:: How to indicate equivalence. 504 * Equivalence:: How to indicate equivalence.
500 * Point Glyph:: How to indicate the location of point. 505 * Point Glyph:: How to indicate the location of point.
506
507 Glyphs Summary
508
509 * result::
510 * expansion::
511 * Print Glyph::
512 * Error Glyph::
513 * Equivalence::
514 * Point Glyph::
501 515
502 Making and Preventing Breaks 516 Making and Preventing Breaks
503 517
504 * Break Commands:: Cause and prevent splits. 518 * Break Commands:: Cause and prevent splits.
505 * Line Breaks:: How to force a single line to use two lines. 519 * Line Breaks:: How to force a single line to use two lines.
534 * Footnote Commands:: How to write a footnote in Texinfo. 548 * Footnote Commands:: How to write a footnote in Texinfo.
535 * Footnote Styles:: Controlling how footnotes appear in Info. 549 * Footnote Styles:: Controlling how footnotes appear in Info.
536 550
537 Conditionally Visible Text 551 Conditionally Visible Text
538 552
539 * Conditional Commands:: How to specify text for HTML, Info, or @TeX{}. 553 * Conditional Commands:: Specifying text for HTML, Info, or @TeX{}.
540 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands. 554 * Conditional Not Commands:: Specifying text for not HTML, Info, or @TeX{}.
541 * set clear value:: How to designate which text to format (for 555 * Raw Formatter Commands:: Using raw @TeX{} or HTML commands.
542 both Info and @TeX{}); and how to set a 556 * set clear value:: Designating which text to format (for
557 all output formats); and how to set a
543 flag to a string that you can insert. 558 flag to a string that you can insert.
544 559
545 @code{@@set}, @code{@@clear}, and @code{@@value} 560 @code{@@set}, @code{@@clear}, and @code{@@value}
546 561
547 * ifset ifclear:: Format a region if a flag is set. 562 * ifset ifclear:: Format a region if a flag is set.
632 * Using Info-validate:: How to run @code{Info-validate}. 647 * Using Info-validate:: How to run @code{Info-validate}.
633 * Unsplit:: How to create an unsplit file. 648 * Unsplit:: How to create an unsplit file.
634 * Tagifying:: How to tagify a file. 649 * Tagifying:: How to tagify a file.
635 * Splitting:: How to split a file manually. 650 * Splitting:: How to split a file manually.
636 651
637 Second Edition Features 652 How to Obtain @TeX{}
638 653
639 * New Texinfo Mode Commands:: The updating commands are especially useful. 654 * New Texinfo Mode Commands:: The updating commands are especially useful.
640 * New Commands:: Many newly described @@-commands. 655 * New Commands:: Many newly described @@-commands.
641 @end detailmenu 656 @end detailmenu
642 @end menu 657 @end menu
733 information; and you use the same cross references and indices for 748 information; and you use the same cross references and indices for
734 both the Info file and the printed work. @cite{The GNU 749 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 750 Emacs Manual} is a good example of a Texinfo file, as is this manual.@refill
736 751
737 To make a printed document, you process a Texinfo source file with the 752 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 753 @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 754 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 755 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 756 you do not have @TeX{}, but do have @code{troff} or @code{nroff}, you
742 can use the @code{texi2roff} program instead.@refill 757 can use the @code{texi2roff} program instead.@refill
743 758
744 To make an Info file, you process a Texinfo source file with the 759 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; 760 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command;
746 this creates an Info file that you can install on-line.@refill 761 this creates an Info file that you can install on-line.@refill
747 762
748 @TeX{} and @code{texi2roff} work with many types of printer; similarly, 763 @TeX{} and @code{texi2roff} work with many types of printers; similarly,
749 Info works with almost every type of computer terminal. This power 764 Info works with almost every type of computer terminal. This power
750 makes Texinfo a general purpose system, but brings with it a constraint, 765 makes Texinfo a general purpose system, but brings with it a constraint,
751 which is that a Texinfo file may contain only the customary 766 which is that a Texinfo file may contain only the customary
752 ``typewriter'' characters (letters, numbers, spaces, and punctuation 767 ``typewriter'' characters (letters, numbers, spaces, and punctuation
753 marks) but no special graphics.@refill 768 marks) but no special graphics.@refill
825 provides pointers of another kind, called references, that can be 840 provides pointers of another kind, called references, that can be
826 sprinkled throughout the text. This is usually the best way to 841 sprinkled throughout the text. This is usually the best way to
827 represent links that do not fit a hierarchical structure.@refill 842 represent links that do not fit a hierarchical structure.@refill
828 843
829 Usually, you will design a document so that its nodes match the 844 Usually, you will design a document so that its nodes match the
830 structure of chapters and sections in the printed output. But there 845 structure of chapters and sections in the printed output. But
831 are times when this is not right for the material being discussed. 846 occasionally there are times when this is not right for the material
832 Therefore, Texinfo uses separate commands to specify the node 847 being discussed. Therefore, Texinfo uses separate commands to specify
833 structure for the Info file and the section structure for the printed 848 the node structure for the Info file and the section structure for the
834 output.@refill 849 printed output.@refill
835 850
836 Generally, you enter an Info file through a node that by convention is 851 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 852 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 853 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 854 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 855 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 856 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 857 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 858 with the standalone Info program, you can specify specific menu items on
844 @c directly.. 859 the command line (@pxref{Top,,, info, Info}).
845 860
846 If you want to read through an Info file in sequence, as if it were a 861 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 862 printed manual, you can hit @key{SPC} repeatedly, or you get the whole
848 command @kbd{g* @key{RET}}. (@inforef{Expert, Advanced Info commands, 863 file with the advanced Info command @kbd{g *}. (@inforef{Expert,
849 info}.)@refill 864 Advanced Info commands, info}.)@refill
850 865
851 @c !!! dir file may be located in one of many places: 866 @c !!! dir file may be located in one of many places:
852 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH 867 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH
853 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH 868 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH
854 @c /usr/gnu/info mentioned in info.c DEFAULT_INFOPATH 869 @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. 886 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 887 To do this, you need @TeX{}, a powerful, sophisticated typesetting
873 program written by Donald Knuth.@footnote{You can also use the 888 program written by Donald Knuth.@footnote{You can also use the
874 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is 889 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is
875 designed for use with @TeX{}, @code{texi2roff} is not described here. 890 designed for use with @TeX{}, @code{texi2roff} is not described here.
876 @code{texi2roff} is part of the standard GNU distribution.}@refill 891 @code{texi2roff} is not part of the standard GNU distribution.}
877 892
878 A Texinfo-based book is similar to any other typeset, printed work: it 893 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, 894 can have a title page, copyright page, table of contents, and preface,
880 as well as chapters, numbered or unnumbered sections and subsections, 895 as well as chapters, numbered or unnumbered sections and subsections,
881 page headers, cross references, footnotes, and indices.@refill 896 page headers, cross references, footnotes, and indices.@refill
907 sizes and fonts used, the amount of indentation for each paragraph, the 922 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 923 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 924 specifications, you can make a book look dignified, old and serious, or
910 light-hearted, young and cheery.@refill 925 light-hearted, young and cheery.@refill
911 926
912 @TeX{} is freely distributable. It is written in a dialect of Pascal 927 @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 928 called WEB and can be compiled either in Pascal or (by using a
914 conversion program that comes with the @TeX{} distribution) in C. 929 conversion program that comes with the @TeX{} distribution) in C.
915 (@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information 930 (@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information
916 about @TeX{}.)@refill 931 about @TeX{}.)@refill
917 932
1039 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and 1054 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and
1040 @w{@tt{ '' }} to @w{@tt{ " }}.@refill 1055 @w{@tt{ '' }} to @w{@tt{ " }}.@refill
1041 @end iftex 1056 @end iftex
1042 1057
1043 Use three hyphens in a row, @samp{---}, for a dash---like this. In 1058 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 1059 @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 1060 shorter than the usual typeset dash. Info reduces three hyphens to two
1046 display on the screen.@refill 1061 for display on the screen.
1047 1062
1048 To prevent a paragraph from being indented in the printed manual, put 1063 To prevent a paragraph from being indented in the printed manual, put
1049 the command @code{@@noindent} on a line by itself before the 1064 the command @code{@@noindent} on a line by itself before the
1050 paragraph.@refill 1065 paragraph.@refill
1051 1066
1054 the printed copy; in that region, you can use certain commands 1069 the printed copy; in that region, you can use certain commands
1055 borrowed from plain @TeX{} that you cannot use in Info. Likewise, if 1070 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} 1071 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 1072 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{}. 1073 region, you can use Info commands that you cannot use in @TeX{}.
1059 Similarly for @code{@@ifhtml} and @code{@@end ifhtml}. 1074 Similarly for @code{@@ifhtml @dots{} @@end ifhtml},
1075 @code{@@ifnothtml @dots{} @@end ifnothtml},
1076 @code{@@ifnotinfo @dots{} @@end ifnotinfo},
1077 @code{@@ifnottex @dots{} @@end ifnottex},
1060 @xref{Conditionals}. 1078 @xref{Conditionals}.
1061 1079
1062 @cindex Tabs; don't use! 1080 @cindex Tabs; don't use!
1063 @quotation 1081 @quotation
1064 @strong{Caution:} Do not use tabs in a Texinfo file! @TeX{} uses 1082 @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 1083 variable-width fonts, which means that it cannot predefine a tab to work
1066 in all circumstances. Consequently, @TeX{} treats tabs like single 1084 in all circumstances. Consequently, @TeX{} treats tabs like single
1067 spaces, and that is not what they look like.@refill 1085 spaces, and that is not what they look like. Furthermore,
1086 @code{makeinfo} does nothing special with tabs, and thus a tab character
1087 in your input file may appear differently in the output.
1068 1088
1069 @noindent 1089 @noindent
1070 To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple 1090 To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple
1071 spaces when you press the @key{TAB} key.@refill 1091 spaces when you press the @key{TAB} key.@refill
1072 1092
1073 @noindent 1093 @noindent
1074 Also, you can run @code{untabify} in Emacs to convert tabs in a region 1094 Also, you can run @code{untabify} in Emacs to convert tabs in a region
1075 to multiple spaces.@refill 1095 to multiple spaces.@refill
1096
1097 @noindent
1098 Don't use tabs.
1076 @end quotation 1099 @end quotation
1077 1100
1078 @node Comments, Minimum, Conventions, Overview 1101 @node Comments, Minimum, Conventions, Overview
1079 @comment node-name, next, previous, up 1102 @comment node-name, next, previous, up
1080 @section Comments 1103 @section Comments
1235 @node Short Sample, Acknowledgements, Six Parts, Overview 1258 @node Short Sample, Acknowledgements, Six Parts, Overview
1236 @comment node-name, next, previous, up 1259 @comment node-name, next, previous, up
1237 @section A Short Sample Texinfo File 1260 @section A Short Sample Texinfo File
1238 @cindex Sample Texinfo file 1261 @cindex Sample Texinfo file
1239 1262
1240 Here is a complete but very short Texinfo file, in 6 parts. The first 1263 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 1264 three parts of the file, from @samp{\input texinfo} through to
1242 @samp{@@end titlepage}, look more intimidating than they are. Most of 1265 @samp{@@end titlepage}, look more intimidating than they are. Most of
1243 the material is standard boilerplate; when you write a manual, simply 1266 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 1267 insert the names for your own manual in this segment. (@xref{Beginning a
1245 File}.)@refill 1268 File}.)@refill
1250 @ref{Sample Texinfo File}. 1273 @ref{Sample Texinfo File}.
1251 1274
1252 @subheading Part 1: Header 1275 @subheading Part 1: Header
1253 1276
1254 @noindent 1277 @noindent
1255 The header does not appear in either the Info file or the@* 1278 The header does not appear in either the Info file or the
1256 printed output. It sets various parameters, including the@* 1279 printed output. It sets various parameters, including the
1257 name of the Info file and the title used in the header. 1280 name of the Info file and the title used in the header.
1258 1281
1259 @example 1282 @example
1260 @group 1283 @group
1261 \input texinfo @@c -*-texinfo-*- 1284 \input texinfo @@c -*-texinfo-*-
1269 @end example 1292 @end example
1270 1293
1271 @subheading Part 2: Summary Description and Copyright 1294 @subheading Part 2: Summary Description and Copyright
1272 1295
1273 @noindent 1296 @noindent
1274 The summary description and copyright segment does not@* 1297 The summary description and copyright segment does not
1275 appear in the printed document. 1298 appear in the printed document.
1276 1299
1277 @example 1300 @example
1278 @group 1301 @group
1279 @@ifinfo 1302 @@ifinfo
1307 @end example 1330 @end example
1308 1331
1309 @subheading Part 4: `Top' Node and Master Menu 1332 @subheading Part 4: `Top' Node and Master Menu
1310 1333
1311 @noindent 1334 @noindent
1312 The `Top' node contains the master menu for the Info file.@* 1335 The `Top' node contains the master menu for the Info file.
1313 Since a printed manual uses a table of contents rather than@* 1336 Since a printed manual uses a table of contents rather than
1314 a menu, the master menu appears only in the Info file. 1337 a menu, the master menu appears only in the Info file.
1315 1338
1316 @example 1339 @example
1317 @group 1340 @group
1318 @@node Top, First Chapter, (dir), (dir) 1341 @@node Top, First Chapter, , (dir)
1319 @@comment node-name, next, previous, up 1342 @@comment node-name, next, previous, up
1320 @end group 1343 @end group
1321 @end example 1344 @end example
1322 1345
1323 @example 1346 @example
1416 commands transform a Texinfo file such as this into 1439 commands transform a Texinfo file such as this into
1417 an Info file; and @TeX{} typesets it for a printed 1440 an Info file; and @TeX{} typesets it for a printed
1418 manual. 1441 manual.
1419 @end quotation 1442 @end quotation
1420 1443
1421 @node Acknowledgements, , Short Sample, Overview 1444 @node Acknowledgements, , Short Sample, Overview
1422 @comment node-name, next, previous, up 1445 @comment node-name, next, previous, up
1423 @section Acknowledgements 1446 @section Acknowledgements
1424 1447
1425 @cindex Stallman, Richard M. 1448 @cindex Stallman, Richard M.
1426 @cindex Chassell, Robert J. 1449 @cindex Chassell, Robert J.
1500 1523
1501 @item 1524 @item
1502 Show the structure of a Texinfo source file.@refill 1525 Show the structure of a Texinfo source file.@refill
1503 1526
1504 @item 1527 @item
1505 Automatically create or update the `Next',@* 1528 Automatically create or update the `Next',
1506 `Previous', and `Up' pointers of a node. 1529 `Previous', and `Up' pointers of a node.
1507 1530
1508 @item 1531 @item
1509 Automatically create or update menus.@refill 1532 Automatically create or update menus.@refill
1510 1533
1666 1689
1667 To put a command such as @w{@code{@@code@{@dots{}@}}} around an 1690 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 1691 @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. 1692 @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 1693 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 1694 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. 1695 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 1696 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 1697 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 1698 feature works only for those @@-commands that operate on a word or words
1676 line, such as @code{@@kbd} and @code{@@var}.@refill 1699 within one line, such as @code{@@kbd} and @code{@@var}.@refill
1677 1700
1678 This set of insert commands was created after analyzing the frequency 1701 This set of insert commands was created after analyzing the frequency
1679 with which different @@-commands are used in the @cite{GNU Emacs 1702 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 1703 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, 1704 commands, you can bind a keyboard macro to a key, use abbreviations,
2027 `update node' commands. (@xref{Create an Info File, , Creating an 2050 `update node' commands. (@xref{Create an Info File, , Creating an
2028 Info File}, for more information about @code{makeinfo}.) However, 2051 Info File}, for more information about @code{makeinfo}.) However,
2029 both @code{makeinfo} and the @code{texinfo-format-@dots{}} commands 2052 both @code{makeinfo} and the @code{texinfo-format-@dots{}} commands
2030 require that you insert menus in the file.@refill 2053 require that you insert menus in the file.@refill
2031 2054
2032 @node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus 2055 @node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus
2033 @comment node-name, next, previous, up 2056 @comment node-name, next, previous, up
2034 @subsection Other Updating Commands 2057 @subsection Other Updating Commands
2035 2058
2036 In addition to the five major updating commands, Texinfo mode 2059 In addition to the five major updating commands, Texinfo mode
2037 possesses several less frequently used updating commands:@refill 2060 possesses several less frequently used updating commands:@refill
2096 Insert the names of the nodes immediately following and preceding the 2119 Insert the names of the nodes immediately following and preceding the
2097 current node as the `Next' or `Previous' pointers regardless of those 2120 current node as the `Next' or `Previous' pointers regardless of those
2098 nodes' hierarchical level. This means that the `Next' node of a 2121 nodes' hierarchical level. This means that the `Next' node of a
2099 subsection may well be the next chapter. Sequentially ordered nodes are 2122 subsection may well be the next chapter. Sequentially ordered nodes are
2100 useful for novels and other documents that you read through 2123 useful for novels and other documents that you read through
2101 sequentially. (However, in Info, the @code{g* @key{RET}} command lets 2124 sequentially. (However, in Info, the @kbd{g *} command lets
2102 you look through the file sequentially, so sequentially ordered nodes 2125 you look through the file sequentially, so sequentially ordered nodes
2103 are not strictly necessary.) With an argument (prefix argument, if 2126 are not strictly necessary.) With an argument (prefix argument, if
2104 interactive), the @code{texinfo-sequential-node-update} command 2127 interactive), the @code{texinfo-sequential-node-update} command
2105 sequentially updates all the nodes in the region.@refill 2128 sequentially updates all the nodes in the region.@refill
2106 @end table 2129 @end table
2172 @cindex Region formatting and printing 2195 @cindex Region formatting and printing
2173 @cindex Buffer formatting and printing 2196 @cindex Buffer formatting and printing
2174 @cindex Part of file formatting and printing 2197 @cindex Part of file formatting and printing
2175 2198
2176 Typesetting and printing a Texinfo file is a multi-step process in which 2199 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 2200 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, 2201 print the file. Optionally, you may also create indices. To do this,
2179 you must run the @code{texindex} command after first running the 2202 you must run the @code{texindex} command after first running the
2180 @code{tex} typesetting command; and then you must run the @code{tex} 2203 @code{tex} typesetting command; and then you must run the @code{tex}
2181 command again. Or else run the @code{texi2dvi} command which 2204 command again. Or else run the @code{texi2dvi} command which
2182 automatically creates indices as needed.@refill 2205 automatically creates indices as needed.@refill
2207 not run @code{texindex} automatically; it only runs the @code{tex} 2230 not run @code{texindex} automatically; it only runs the @code{tex}
2208 typesetting command. You must run the @code{texinfo-tex-region} command 2231 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} 2232 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, 2233 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 2234 only when you format a buffer. Now that the @code{texi2dvi} command
2212 exists, there is no little need for this command.)@refill 2235 exists, there is little or no need for this command.)@refill
2213 2236
2214 @item C-c C-t C-p 2237 @item C-c C-t C-p
2215 @itemx M-x texinfo-tex-print 2238 @itemx M-x texinfo-tex-print
2216 @findex texinfo-tex-print 2239 @findex texinfo-tex-print
2217 Print the file (or the part of the file) previously formatted with 2240 Print the file (or the part of the file) previously formatted with
2226 end-of-header lines.)@refill 2249 end-of-header lines.)@refill
2227 2250
2228 @xref{Format/Print Hardcopy}, for a description of the other @TeX{} related 2251 @xref{Format/Print Hardcopy}, for a description of the other @TeX{} related
2229 commands, such as @code{tex-show-print-queue}.@refill 2252 commands, such as @code{tex-show-print-queue}.@refill
2230 2253
2231 @node Texinfo Mode Summary, , Printing, Texinfo Mode 2254 @node Texinfo Mode Summary, , Printing, Texinfo Mode
2232 @comment node-name, next, previous, up 2255 @comment node-name, next, previous, up
2233 @section Texinfo Mode Summary 2256 @section Texinfo Mode Summary
2234 2257
2235 In Texinfo mode, each set of commands has default keybindings that 2258 In Texinfo mode, each set of commands has default keybindings that
2236 begin with the same keys. All the commands that are custom-created 2259 begin with the same keys. All the commands that are custom-created
2366 2389
2367 @example 2390 @example
2368 C-c C-t C-r @r{Run @TeX{} on the region.} 2391 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.} 2392 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}. 2393 C-c C-t C-i @r{Run} @code{texindex}.
2371 C-c C-t C-p @r{Print the @sc{dvi} file.} 2394 C-c C-t C-p @r{Print the DVI file.}
2372 C-c C-t C-q @r{Show the print queue.} 2395 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.} 2396 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.} 2397 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.} 2398 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.} 2399 C-c C-t C-l @r{Recenter the output buffer.}
2439 2462
2440 @enumerate 2463 @enumerate
2441 @item 2464 @item
2442 The header, delimited by special comment lines, that includes the 2465 The header, delimited by special comment lines, that includes the
2443 commands for naming the Texinfo file and telling @TeX{} what 2466 commands for naming the Texinfo file and telling @TeX{} what
2444 definitions' file to use when processing the Texinfo file.@refill 2467 definitions file to use when processing the Texinfo file.@refill
2445 2468
2446 @item 2469 @item
2447 A short statement of what the file is about, with a copyright notice 2470 A short statement of what the file is about, with a copyright notice
2448 and copying permissions. This is enclosed in @code{@@ifinfo} and 2471 and copying permissions. This is enclosed in @code{@@ifinfo} and
2449 @code{@@end ifinfo} commands so that the formatters place it only 2472 @code{@@end ifinfo} commands so that the formatters place it only
2517 Published by @dots{} 2540 Published by @dots{}
2518 2541
2519 Permission is granted to @dots{} 2542 Permission is granted to @dots{}
2520 @@end titlepage 2543 @@end titlepage
2521 2544
2522 @@node Top, Overview, (dir), (dir) 2545 @@node Top, Overview, , (dir)
2523 2546
2524 @@ifinfo 2547 @@ifinfo
2525 This document describes @dots{} 2548 This document describes @dots{}
2526 2549
2527 This document applies to version @dots{} 2550 This document applies to version @dots{}
2610 @noindent 2633 @noindent
2611 This line serves two functions: 2634 This line serves two functions:
2612 2635
2613 @enumerate 2636 @enumerate
2614 @item 2637 @item
2615 When the file is processed by @TeX{}, the @code{\input texinfo} command 2638 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. 2639 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 2640 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, 2641 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 2642 @samp{\}, to mark the beginning of a command, just as Texinfo uses
2620 @code{@@}. The @file{texinfo.tex} file causes the switch from @samp{\} 2643 @samp{@@}. The @file{texinfo.tex} file causes the switch from @samp{\}
2621 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which 2644 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which
2622 is why it appears at the beginning of the file.@refill 2645 is why it appears at the beginning of the file.@refill
2623 2646
2624 @item 2647 @item
2625 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode 2648 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode
2661 @example 2684 @example
2662 @@setfilename @var{info-file-name} 2685 @@setfilename @var{info-file-name}
2663 @end example 2686 @end example
2664 2687
2665 Write the @code{@@setfilename} command at the beginning of a line and 2688 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 2689 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 2690 else on the line; anything on the line after the command is considered
2668 considered part of the file name, including a comment.@refill 2691 part of the file name, including what would otherwise be a
2692 comment.
2669 2693
2670 The @code{@@setfilename} line specifies the name of the Info file to be 2694 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 2695 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 2696 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 2697 remove the @samp{.texi} extension from the input file name, or replace
2674 with the @samp{.info} extension. 2698 it with the @samp{.info} extension.
2675 2699
2676 Some operating systems cannot handle long file names. You can run into 2700 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. 2701 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 2702 This occurs because the Info formatters split a long Info file into
2679 short indirect subfiles, and name them by appending `-1', `-2', @dots{}, 2703 short indirect subfiles, and name them by appending @samp{-1},
2680 `-10', `-11', and so on, to the original file name. (@xref{Tag and 2704 @samp{-2}, @dots{}, @samp{-10}, @samp{-11}, and so on, to the original
2681 Split Files, , Tag Files and Split Files}.) The subfile name 2705 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 2706 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 2707 some systems; so the Info file name for this document is @file{texinfo}
2684 @file{texinfo.info}.@refill 2708 rather than @file{texinfo.info}.
2685 2709
2686 The Info formatting commands ignore everything written before the 2710 The Info formatting commands ignore everything written before the
2687 @code{@@setfilename} line, which is why the very first line of 2711 @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. 2712 the file (the @code{\input} line) does not need to be commented out.
2689 2713
2714 @pindex texinfo.cnf
2690 The @code{@@setfilename} line produces no output when you typeset a 2715 The @code{@@setfilename} line produces no output when you typeset a
2691 printed manual, but is does an essential job: it opens the index, 2716 manual with @TeX{}, but it nevertheless is essential: it opens the
2692 cross-reference, and other auxiliary files used by Texinfo. 2717 index, cross-reference, and other auxiliary files used by Texinfo, and
2718 also reads @file{texinfo.cnf} if that file is present on your system
2719 (@pxref{Preparing for TeX,, Preparing to Use @TeX{}}).
2720
2693 2721
2694 @node settitle, setchapternewpage, setfilename, Header 2722 @node settitle, setchapternewpage, setfilename, Header
2695 @comment node-name, next, previous, up 2723 @comment node-name, next, previous, up
2696 @subsection @code{@@settitle} 2724 @subsection @code{@@settitle}
2697 @findex settitle 2725 @findex settitle
2851 @item 2879 @item
2852 If the value of @var{indent} is @samp{asis}, the Info formatting 2880 If the value of @var{indent} is @samp{asis}, the Info formatting
2853 commands do not change the existing indentation.@refill 2881 commands do not change the existing indentation.@refill
2854 2882
2855 @item 2883 @item
2856 If the value of @var{indent} is 0, the Info formatting commands delete 2884 If the value of @var{indent} is zero, the Info formatting commands delete
2857 existing indentation.@refill 2885 existing indentation.@refill
2858 2886
2859 @item 2887 @item
2860 If the value of @var{indent} is greater than 0, the Info formatting 2888 If the value of @var{indent} is greater than zero, the Info formatting
2861 commands indent the paragraph by that number of spaces.@refill 2889 commands indent the paragraph by that number of spaces.@refill
2862 @end itemize 2890 @end itemize
2863 2891
2864 The default value of @var{indent} is @samp{asis}.@refill 2892 The default value of @var{indent} is @samp{asis}.@refill
2865 2893
2872 @code{texinfo-format-region} commands is that they do not indent (nor 2900 @code{texinfo-format-region} commands is that they do not indent (nor
2873 fill) paragraphs that contain @code{@@w} or @code{@@*} commands. 2901 fill) paragraphs that contain @code{@@w} or @code{@@*} commands.
2874 @xref{Refilling Paragraphs}, for a detailed description of what goes 2902 @xref{Refilling Paragraphs}, for a detailed description of what goes
2875 on.@refill 2903 on.@refill
2876 2904
2877 @node End of Header, , paragraphindent, Header 2905 @node End of Header, , paragraphindent, Header
2878 @comment node-name, next, previous, up 2906 @comment node-name, next, previous, up
2879 @subsection End of Header 2907 @subsection End of Header
2880 @cindex End of header line 2908 @cindex End of header line
2881 2909
2882 Follow the header lines with an @w{end-of-header} line. 2910 Follow the header lines with an @w{end-of-header} line.
3275 Most documents are formatted with the standard single-sided or 3303 Most documents are formatted with the standard single-sided or
3276 double-sided format, using @code{@@setchapternewpage odd} for 3304 double-sided format, using @code{@@setchapternewpage odd} for
3277 double-sided printing and no @code{@@setchapternewpage} command for 3305 double-sided printing and no @code{@@setchapternewpage} command for
3278 single-sided printing.@refill 3306 single-sided printing.@refill
3279 3307
3280 @node headings on off, , end titlepage, Titlepage & Copyright Page 3308 @node headings on off, , end titlepage, Titlepage & Copyright Page
3281 @comment node-name, next, previous, up 3309 @comment node-name, next, previous, up
3282 @subsection The @code{@@headings} Command 3310 @subsection The @code{@@headings} Command
3283 @findex headings 3311 @findex headings
3284 3312
3285 The @code{@@headings} command is rarely used. It specifies what kind of 3313 The @code{@@headings} command is rarely used. It specifies what kind of
3385 @group 3413 @group
3386 @dots{} 3414 @dots{}
3387 @@end titlepage 3415 @@end titlepage
3388 3416
3389 @@ifinfo 3417 @@ifinfo
3390 @@node Top, Copying, (dir), (dir) 3418 @@node Top, Copying, , (dir)
3391 @@top Texinfo 3419 @@top Texinfo
3392 3420
3393 Texinfo is a documentation system@dots{} 3421 Texinfo is a documentation system@dots{}
3394 @end group 3422 @end group
3395 3423
3413 level directory of the whole Info system, which is called @samp{(dir)}. 3441 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 3442 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 3443 menu, which is usually the copying permissions, introduction, or first
3416 chapter.@refill 3444 chapter.@refill
3417 3445
3418 @node Master Menu Parts, , Title of Top Node, The Top Node 3446 @node Master Menu Parts, , Title of Top Node, The Top Node
3419 @subsection Parts of a Master Menu 3447 @subsection Parts of a Master Menu
3420 @cindex Master menu parts 3448 @cindex Master menu parts
3421 @cindex Parts of a master menu 3449 @cindex Parts of a master menu
3422 3450
3423 A @dfn{master menu} is a detailed main menu listing all the nodes in a 3451 A @dfn{master menu} is a detailed main menu listing all the nodes in a
3494 @@end detailmenu 3522 @@end detailmenu
3495 @@end menu 3523 @@end menu
3496 @end group 3524 @end group
3497 @end example 3525 @end example
3498 3526
3499 @node Software Copying Permissions, , The Top Node, Beginning a File 3527 @node Software Copying Permissions, , The Top Node, Beginning a File
3500 @comment node-name, next, previous, up 3528 @comment node-name, next, previous, up
3501 @section Software Copying Permissions 3529 @section Software Copying Permissions
3502 @cindex Software copying permissions 3530 @cindex Software copying permissions
3503 @cindex Copying software 3531 @cindex Copying software
3504 @cindex Distribution 3532 @cindex Distribution
3647 @noindent 3675 @noindent
3648 (Readers often prefer that the concept index come last in a book, 3676 (Readers often prefer that the concept index come last in a book,
3649 since that makes it easiest to find.)@refill 3677 since that makes it easiest to find.)@refill
3650 3678
3651 @ignore 3679 @ignore
3680 @c TeX can do sorting, just not conveniently enough to handle sorting
3681 @c Texinfo indexes. --karl, 5may97.
3652 In @TeX{}, the @code{@@printindex} command needs a sorted index file 3682 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 3683 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 3684 deficiency. @TeX{} writes output files of raw index data; use the
3655 @code{texindex} program to convert these files to sorted index files. 3685 @code{texindex} program to convert these files to sorted index files.
3656 (@xref{Format/Print Hardcopy}, for more information.)@refill 3686 (@xref{Format/Print Hardcopy}, for more information.)@refill
3657 @end ignore 3687 @end ignore
3688
3689
3658 @node Contents, File End, Printing Indices & Menus, Ending a File 3690 @node Contents, File End, Printing Indices & Menus, Ending a File
3659 @comment node-name, next, previous, up 3691 @comment node-name, next, previous, up
3660 @section Generating a Table of Contents 3692 @section Generating a Table of Contents
3661 @cindex Table of contents 3693 @cindex Table of contents
3662 @cindex Contents, Table of 3694 @cindex Contents, Table of
3721 3753
3722 Since an Info file uses menus instead of tables of contents, the Info 3754 Since an Info file uses menus instead of tables of contents, the Info
3723 formatting commands ignore the @code{@@contents} and 3755 formatting commands ignore the @code{@@contents} and
3724 @code{@@shortcontents} commands.@refill 3756 @code{@@shortcontents} commands.@refill
3725 3757
3726 @node File End, , Contents, Ending a File 3758 @node File End, , Contents, Ending a File
3727 @comment node-name, next, previous, up 3759 @comment node-name, next, previous, up
3728 @section @code{@@bye} File Ending 3760 @section @code{@@bye} File Ending
3729 @findex bye 3761 @findex bye
3730 3762
3731 An @code{@@bye} command terminates @TeX{} or Info formatting. None of 3763 An @code{@@bye} command terminates @TeX{} or Info formatting. None of
3823 follow; the @code{@@node} and @code{@@menu} commands are described in 3855 follow; the @code{@@node} and @code{@@menu} commands are described in
3824 following chapters. (@xref{Nodes}, and see @ref{Menus}.)@refill 3856 following chapters. (@xref{Nodes}, and see @ref{Menus}.)@refill
3825 3857
3826 @node Structuring Command Types, makeinfo top, Tree Structuring, Structuring 3858 @node Structuring Command Types, makeinfo top, Tree Structuring, Structuring
3827 @comment node-name, next, previous, up 3859 @comment node-name, next, previous, up
3828 @section Types of Structuring Command 3860 @section Types of Structuring Commands
3829 3861
3830 The chapter structuring commands fall into four groups or series, each 3862 The chapter structuring commands fall into four groups or series, each
3831 of which contains structuring commands corresponding to the 3863 of which contains structuring commands corresponding to the
3832 hierarchical levels of chapters, sections, subsections, and 3864 hierarchical levels of chapters, sections, subsections, and
3833 subsubsections.@refill 3865 subsubsections.@refill
3974 @node makeinfo top, chapter, Structuring Command Types, Structuring 4006 @node makeinfo top, chapter, Structuring Command Types, Structuring
3975 @comment node-name, next, previous, up 4007 @comment node-name, next, previous, up
3976 @section @code{@@top} 4008 @section @code{@@top}
3977 4009
3978 The @code{@@top} command is a special sectioning command that you use 4010 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. 4011 only after an @samp{@@node Top} line at the beginning of a Texinfo file.
3980 The @code{@@top} command tells the @code{makeinfo} formatter 4012 The @code{@@top} command tells the @code{makeinfo} formatter
3981 which node is the `Top' 4013 which node is the `Top'
3982 node. It has the same typesetting effect as @code{@@unnumbered} 4014 node. It has the same typesetting effect as @code{@@unnumbered}
3983 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}). 4015 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}).
3984 For detailed information, see 4016 For detailed information, see
4238 This is a subsubsection 4270 This is a subsubsection
4239 ....................... 4271 .......................
4240 @end group 4272 @end group
4241 @end example 4273 @end example
4242 4274
4243 @node Raise/lower sections, , subsubsection, Structuring 4275 @node Raise/lower sections, , subsubsection, Structuring
4244 @comment node-name, next, previous, up 4276 @comment node-name, next, previous, up
4245 @section @code{@@raisesections} and @code{@@lowersections} 4277 @section @code{@@raisesections} and @code{@@lowersections}
4246 @findex raisesections 4278 @findex raisesections
4247 @findex lowersections 4279 @findex lowersections
4248 @cindex Raising and lowering sections 4280 @cindex Raising and lowering sections
4252 lower the hierarchical level of chapters, sections, subsections and the 4284 lower the hierarchical level of chapters, sections, subsections and the
4253 like. The @code{@@raisesections} command changes sections to chapters, 4285 like. The @code{@@raisesections} command changes sections to chapters,
4254 subsections to sections, and so on. The @code{@@lowersections} command 4286 subsections to sections, and so on. The @code{@@lowersections} command
4255 changes chapters to sections, sections to subsections, and so on. 4287 changes chapters to sections, sections to subsections, and so on.
4256 4288
4289 @cindex Include files, and section levels
4257 An @code{@@lowersections} command is useful if you wish to include text 4290 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 4291 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 4292 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 4293 the beginning of the file, all your @code{@@chapter} commands are
4261 formatted as if they were @code{@@section} commands, all your 4294 formatted as if they were @code{@@section} commands, all your
4296 those structuring commands that follow the command in the Texinfo file. 4329 those structuring commands that follow the command in the Texinfo file.
4297 Write an @code{@@raisesections} or @code{@@lowersections} command on a 4330 Write an @code{@@raisesections} or @code{@@lowersections} command on a
4298 line of its own. 4331 line of its own.
4299 4332
4300 An @code{@@lowersections} command cancels an @code{@@raisesections} 4333 An @code{@@lowersections} command cancels an @code{@@raisesections}
4301 command, and vice versa. 4334 command, and vice versa. Typically, the commands are used like this:
4335
4336 @example
4337 @@lowersections
4338 @@include somefile.texi
4339 @@raisesections
4340 @end example
4341
4342 Without the @code{@@raisesections}, all the subsequent sections in your
4343 document will be lowered.
4302 4344
4303 Repeated use of the commands continue to raise or lower the hierarchical 4345 Repeated use of the commands continue to raise or lower the hierarchical
4304 level a step at a time. 4346 level a step at a time.
4305 4347
4306 An attempt to raise above `chapters' reproduces chapter commands; an 4348 An attempt to raise above `chapters' reproduces chapter commands; an
4496 about nodes in Info.)@refill 4538 about nodes in Info.)@refill
4497 4539
4498 Usually, you write one of the chapter-structuring command lines 4540 Usually, you write one of the chapter-structuring command lines
4499 immediately after an @code{@@node} line---for example, an 4541 immediately after an @code{@@node} line---for example, an
4500 @code{@@section} or @code{@@subsection} line. (@xref{Structuring 4542 @code{@@section} or @code{@@subsection} line. (@xref{Structuring
4501 Command Types, , Types of Structuring Command}.)@refill 4543 Command Types, , Types of Structuring Commands}.)@refill
4502 4544
4503 @quotation 4545 @quotation
4504 @strong{Please note:} The GNU Emacs Texinfo mode updating commands work 4546 @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 4547 only with Texinfo files in which @code{@@node} lines are followed by chapter
4506 structuring lines. @xref{Updating Requirements}.@refill 4548 structuring lines. @xref{Updating Requirements}.@refill
4669 @@findex chapter 4711 @@findex chapter
4670 @end group 4712 @end group
4671 @end smallexample 4713 @end smallexample
4672 4714
4673 @cindex Comma in nodename 4715 @cindex Comma in nodename
4674 @cindex Colon in nodename
4675 @cindex Apostrophe in nodename 4716 @cindex Apostrophe in nodename
4676 @item 4717 @item
4677 You cannot use commas, colons, or apostrophes within a node name; these 4718 You cannot use commas or apostrophes within a node name; these
4678 confuse @TeX{} or the Info formatters.@refill 4719 confuse @TeX{} or the Info formatters.@refill
4679 4720
4680 @need 700 4721 @need 700
4681 For example, the following is a section title: 4722 For example, the following is a section title:
4682 4723
4694 @cindex Case in nodename 4735 @cindex Case in nodename
4695 @item 4736 @item
4696 Case is significant. 4737 Case is significant.
4697 @end itemize 4738 @end itemize
4698 4739
4740
4699 @node First Node, makeinfo top command, Node Line Requirements, node 4741 @node First Node, makeinfo top command, Node Line Requirements, node
4700 @comment node-name, next, previous, up 4742 @comment node-name, next, previous, up
4701 @subsection The First Node 4743 @subsection The First Node
4702 @cindex @samp{@r{Top}} node is first 4744 @cindex Top node is first
4703 @cindex First node 4745 @cindex First node
4704 4746
4705 The first node of a Texinfo file is the `Top' node, except in an 4747 The first node of a Texinfo file is the @dfn{Top} node, except in an
4706 included file (@pxref{Include Files}). 4748 included file (@pxref{Include Files}). The Top node contains the main
4707 4749 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 4750 (@pxref{Top Node Summary}).
4709 have as its `Up' and `Previous' nodes the name of a node in another 4751
4710 file, where there is a menu that leads to this file. Specify the file 4752 @cindex Up node of Top node
4711 name in parentheses. If the file is to be installed directly in the 4753 @cindex (dir) as Up node of Top node
4712 Info directory file, use @samp{(dir)} as the parent of the `Top' node; 4754 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 4755 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, 4756 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 4757 the file is to be installed directly in the Info directory file, use
4716 4758 @samp{(dir)} as the parent of the Top node; this is short for
4717 @example 4759 @samp{(dir)top}, and specifies the Top node in the @file{dir} file,
4718 @@node Top, Overview, (dir), (dir) 4760 which contains the main menu for the Info system as a whole. For
4719 @end example 4761 example, the @code{@@node Top} line of this manual looks like this:
4720 4762
4721 @noindent 4763 @example
4722 (You may use the Texinfo updating commands or the @code{makeinfo} 4764 @@node Top, Copying, , (dir)
4723 utility to insert these `Next' and @samp{(dir)} pointers 4765 @end example
4724 automatically.)@refill 4766
4767 @noindent
4768 (You can use the Texinfo updating commands or the @code{makeinfo}
4769 utility to insert these pointers automatically.)
4770
4771 @cindex Previous node of Top node
4772 Do not define the `Previous' node of the Top node to be @samp{(dir)}, as
4773 it causes confusing behavior for users: if you are in the Top node and
4774 hits @key{DEL} to go backwards, you wind up in the middle of the
4775 some other entry in the @file{dir} file, which has nothing to do with
4776 what you were reading.
4725 4777
4726 @xref{Install an Info File}, for more information about installing 4778 @xref{Install an Info File}, for more information about installing
4727 an Info file in the @file{info} directory.@refill 4779 an Info file in the @file{info} directory.
4728 4780
4729 The `Top' node contains the main or master menu for the document.
4730 4781
4731 @node makeinfo top command, Top Node Summary, First Node, node 4782 @node makeinfo top command, Top Node Summary, First Node, node
4732 @comment node-name, next, previous, up 4783 @comment node-name, next, previous, up
4733 @subsection The @code{@@top} Sectioning Command 4784 @subsection The @code{@@top} Sectioning Command
4734 @findex top @r{(@@-command)} 4785 @findex top @r{(@@-command)}
4752 @code{@@unnumbered} after the @code{@@node Top} line when you use 4803 @code{@@unnumbered} after the @code{@@node Top} line when you use
4753 these formatters. Also, you can use @code{@@chapter} or 4804 these formatters. Also, you can use @code{@@chapter} or
4754 @code{@@unnumbered} when you use the Texinfo updating commands to 4805 @code{@@unnumbered} when you use the Texinfo updating commands to
4755 create or update pointers and menus.@refill 4806 create or update pointers and menus.@refill
4756 4807
4757 @node Top Node Summary, , makeinfo top command, node 4808
4809 @node Top Node Summary, , makeinfo top command, node
4758 @subsection The `Top' Node Summary 4810 @subsection The `Top' Node Summary
4759 @cindex @samp{@r{Top}} node summary 4811 @cindex @samp{@r{Top}} node summary
4760 4812
4761 You can help readers by writing a summary in the `Top' node, after the 4813 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 4814 @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 4833 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 4834 include an edition number for the manual. (The title page should also
4783 contain this information: see @ref{titlepage, , 4835 contain this information: see @ref{titlepage, ,
4784 @code{@@titlepage}}.)@refill 4836 @code{@@titlepage}}.)@refill
4785 4837
4786 @node makeinfo Pointer Creation, , node, Nodes 4838 @node makeinfo Pointer Creation, , node, Nodes
4787 @section Creating Pointers with @code{makeinfo} 4839 @section Creating Pointers with @code{makeinfo}
4788 @cindex Creating pointers with @code{makeinfo} 4840 @cindex Creating pointers with @code{makeinfo}
4789 @cindex Pointer creation with @code{makeinfo} 4841 @cindex Pointer creation with @code{makeinfo}
4790 @cindex Automatic pointer creation with @code{makeinfo} 4842 @cindex Automatic pointer creation with @code{makeinfo}
4791 4843
4943 @section The Parts of a Menu 4995 @section The Parts of a Menu
4944 @cindex Parts of a menu 4996 @cindex Parts of a menu
4945 @cindex Menu parts 4997 @cindex Menu parts
4946 @cindex @code{@@menu} parts 4998 @cindex @code{@@menu} parts
4947 4999
4948 A menu entry has three parts, only the second of which is 5000 A menu entry has three parts, only the second of which is required:
4949 required:@refill
4950 5001
4951 @enumerate 5002 @enumerate
4952 @item 5003 @item
4953 The menu entry name. 5004 The menu entry name (optional).
4954 5005
4955 @item 5006 @item
4956 The name of the node (required). 5007 The name of the node (required).
4957 5008
4958 @item 5009 @item
4959 A description of the item. 5010 A description of the item (optional).
4960 @end enumerate 5011 @end enumerate
4961 5012
4962 The template for a menu entry looks like this:@refill 5013 The template for a menu entry looks like this:@refill
4963 5014
4964 @example 5015 @example
4970 5021
4971 In Info, a user selects a node with the @kbd{m} (@code{Info-menu}) 5022 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} 5023 command. The menu entry name is what the user types after the @kbd{m}
4973 command.@refill 5024 command.@refill
4974 5025
4975 The third part of a menu entry is a descriptive phrase or 5026 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 5027 Menu entry names and node names are often short; the description
4977 description explains to the reader what the node is about. The 5028 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 5029 complements the node name rather than repeats it. The description,
4979 useful description complements the node name rather than repeats 5030 which is optional, can spread over two or more lines; if it does, some
4980 it.@refill 5031 authors prefer to indent the second line while others prefer to align it
5032 with the first (and all others). It's up to you.
5033
4981 5034
4982 @node Less Cluttered Menu Entry, Menu Example, Menu Parts, Menus 5035 @node Less Cluttered Menu Entry, Menu Example, Menu Parts, Menus
4983 @comment node-name, next, previous, up 5036 @comment node-name, next, previous, up
4984 @section Less Cluttered Menu Entry 5037 @section Less Cluttered Menu Entry
4985 @cindex Two part menu entry 5038 @cindex Two part menu entry
5078 5131
5079 Since no file name is specified with either @samp{Files} or 5132 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 5133 @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 5134 (@pxref{Other Info Files, , Referring to Other Info Files}).@refill
5082 5135
5083 @node Other Info Files, , Menu Example, Menus 5136 @node Other Info Files, , Menu Example, Menus
5084 @comment node-name, next, previous, up 5137 @comment node-name, next, previous, up
5085 @section Referring to Other Info Files 5138 @section Referring to Other Info Files
5086 @cindex Referring to other Info files 5139 @cindex Referring to other Info files
5087 @cindex Nodes in other Info files 5140 @cindex Nodes in other Info files
5088 @cindex Other Info files' nodes 5141 @cindex Other Info files' nodes
5167 * xref:: Begin a reference with `See' @dots{} 5220 * xref:: Begin a reference with `See' @dots{}
5168 * Top Node Naming:: How to refer to the beginning of another file. 5221 * Top Node Naming:: How to refer to the beginning of another file.
5169 * ref:: A reference for the last part of a sentence. 5222 * ref:: A reference for the last part of a sentence.
5170 * pxref:: How to write a parenthetical cross reference. 5223 * pxref:: How to write a parenthetical cross reference.
5171 * inforef:: How to refer to an Info-only file. 5224 * inforef:: How to refer to an Info-only file.
5225 * uref:: How to refer to a uniform resource locator.
5172 @end menu 5226 @end menu
5173 5227
5174 @node References, Cross Reference Commands, Cross References, Cross References 5228 @node References, Cross Reference Commands, Cross References, Cross References
5175 @ifinfo 5229 @ifinfo
5176 @heading What References Are For 5230 @heading What References Are For
5200 5254
5201 The various cross reference commands use nodes to define cross 5255 The various cross reference commands use nodes to define cross
5202 reference locations. This is evident in Info, in which a cross 5256 reference locations. This is evident in Info, in which a cross
5203 reference takes you to the specified node. @TeX{} also uses nodes to 5257 reference takes you to the specified node. @TeX{} also uses nodes to
5204 define cross reference locations, but the action is less obvious. When 5258 define cross reference locations, but the action is less obvious. When
5205 @TeX{} generates a @sc{dvi} file, it records nodes' page numbers and 5259 @TeX{} generates a DVI file, it records nodes' page numbers and
5206 uses the page numbers in making references. Thus, if you are writing 5260 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 5261 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 5262 must nonetheless write @code{@@node} lines to name the places to which
5209 you make cross references.@refill 5263 you make cross references.@refill
5210 5264
5312 node provides the page reference only for references within the same 5366 node provides the page reference only for references within the same
5313 document.@refill 5367 document.@refill
5314 5368
5315 @item 5369 @item
5316 The cross reference name for the Info reference, if it is to be different 5370 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 5371 from the node name. If you include this argument, it becomes
5318 the first part of the cross reference. It is usually omitted.@refill 5372 the first part of the cross reference. It is usually omitted.@refill
5319 5373
5320 @item 5374 @item
5321 A topic description or section name. Often, this is the title of the 5375 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 5376 section. This is used as the name of the reference in the printed
5323 manual. If omitted, the node name is used.@refill 5377 manual. If omitted, the node name is used.@refill
5324 5378
5325 @item 5379 @item
5326 The name of the Info file in which the reference is located, if it is 5380 The name of the Info file in which the reference is located, if it is
5327 different from the current file.@refill 5381 different from the current file. You need not include any @samp{.info}
5382 suffix on the file name, since Info readers try appending it
5383 automatically.
5328 5384
5329 @item 5385 @item
5330 The name of a printed manual from a different Texinfo file.@refill 5386 The name of a printed manual from a different Texinfo file.@refill
5331 @end enumerate 5387 @end enumerate
5332 5388
5639 As a practical matter, it is often best to write cross references with 5695 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 5696 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 5697 same, and with the first and third arguments if the node name and title
5642 are different.@refill 5698 are different.@refill
5643 5699
5644 Here are several examples from @cite{The GAWK Manual}:@refill 5700 Here are several examples from @cite{The GNU Awk User's Guide}:@refill
5645 5701
5646 @smallexample 5702 @smallexample
5647 @@xref@{Sample Program@}. 5703 @@xref@{Sample Program@}.
5648 @@xref@{Glossary@}. 5704 @@xref@{Glossary@}.
5649 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}. 5705 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}.
5650 @@xref@{Close Output, , Closing Output Files and Pipes@}, 5706 @@xref@{Close Output, , Closing Output Files and Pipes@},
5651 for more information. 5707 for more information.
5652 @@xref@{Regexp, , Regular Expressions as Patterns@}. 5708 @@xref@{Regexp, , Regular Expressions as Patterns@}.
5653 @end smallexample 5709 @end smallexample
5654 5710
5655 @node Four and Five Arguments, , Three Arguments, xref 5711 @node Four and Five Arguments, , Three Arguments, xref
5656 @subsection @code{@@xref} with Four and Five Arguments 5712 @subsection @code{@@xref} with Four and Five Arguments
5657 5713
5658 In a cross reference, a fourth argument specifies the name of another 5714 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 5715 Info file, different from the file in which the reference appears, and
5660 a fifth argument specifies its title as a printed manual.@refill 5716 a fifth argument specifies its title as a printed manual.@refill
5976 Also, parenthetical cross references look best at the ends of sentences. 6032 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 6033 Although you may write them in the middle of a sentence, that location
5978 breaks up the flow of text.@refill 6034 breaks up the flow of text.@refill
5979 @end quotation 6035 @end quotation
5980 6036
5981 @node inforef, , pxref, Cross References 6037 @node inforef, uref, pxref, Cross References
5982 @comment node-name, next, previous, up
5983 @section @code{@@inforef} 6038 @section @code{@@inforef}
5984 @cindex Cross references using @code{@@inforef} 6039 @cindex Cross references using @code{@@inforef}
5985 @cindex References using @code{@@inforef} 6040 @cindex References using @code{@@inforef}
5986 @findex inforef 6041 @findex inforef
5987 6042
6073 @end quotation 6128 @end quotation
6074 6129
6075 The converse of @code{@@inforef} is @code{@@cite}, which is used to 6130 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, , 6131 refer to printed works for which no Info form exists. @xref{cite, ,
6077 @code{@@cite}}.@refill 6132 @code{@@cite}}.@refill
6133
6134 @node uref, , inforef, Cross References
6135 @section @code{@@uref@{@var{url}[, @var{displayed-text}]@}}
6136 @findex uref
6137 @cindex Uniform resource locator, referring to
6138 @cindex URL, referring to
6139
6140 @code{@@uref} produces a reference to a uniform resource locator (URL).
6141 It takes one mandatory argument, the URL, and one optional argument, the
6142 text to display (the default is the URL itself). In HTML output,
6143 @code{@@uref} produces a link you can follow. For example:
6144
6145 @example
6146 The official GNU ftp site is
6147 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}
6148 @end example
6149
6150 @noindent produces (in text):
6151 @display
6152 The official GNU ftp site is
6153 @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu}
6154 @end display
6155
6156 @noindent whereas
6157 @example
6158 The official
6159 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu,
6160 GNU ftp site@} holds programs and texts.
6161 @end example
6162
6163 @noindent produces (in text):
6164 @display
6165 The official @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu, GNU ftp site} holds
6166 programs and texts.
6167 @end display
6168
6169 @noindent and (in HTML):
6170 @example
6171 The official <A HREF="ftp://ftp.gnu.ai.mit.edu/pub/gnu">GNU ftp
6172 site</A> holds programs and texts.
6173 @end example
6174
6175 To merely indicate a URL, use @code{@@url} (@pxref{url, @code{@@url}}).
6176
6078 6177
6079 @node Marking Text, Quotations and Examples, Cross References, Top 6178 @node Marking Text, Quotations and Examples, Cross References, Top
6080 @comment node-name, next, previous, up 6179 @comment node-name, next, previous, up
6081 @chapter Marking Words and Phrases 6180 @chapter Marking Words and Phrases
6082 @cindex Paragraph, marking text within 6181 @cindex Paragraph, marking text within
6268 @example 6367 @example
6269 Use `diff' to compare two files. 6368 Use `diff' to compare two files.
6270 @end example 6369 @end example
6271 @end iftex 6370 @end iftex
6272 6371
6372
6273 @node kbd, key, code, Indicating 6373 @node kbd, key, code, Indicating
6274 @comment node-name, next, previous, up
6275 @subsection @code{@@kbd}@{@var{keyboard-characters}@} 6374 @subsection @code{@@kbd}@{@var{keyboard-characters}@}
6276 @findex kbd 6375 @findex kbd
6376 @cindex keyboard input
6277 6377
6278 Use the @code{@@kbd} command for characters of input to be typed by 6378 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}, 6379 users. For example, to refer to the characters @kbd{M-a},
6280 write@refill 6380 write@refill
6281 6381
6288 6388
6289 @example 6389 @example
6290 @@kbd@{M-x shell@} 6390 @@kbd@{M-x shell@}
6291 @end example 6391 @end example
6292 6392
6393 @cindex user input
6394 @cindex slanted typewriter font, for @code{@@kbd}
6293 The @code{@@kbd} command has the same effect as @code{@@code} in Info, 6395 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 6396 but by default produces a different font (slanted typewriter instead of
6397 normal typewriter) in the printed manual, so users can distinguish the
6398 characters they are supposed to type from those the computer outputs.
6399
6400 @findex kbdinputstyle
6401 Since the usage of @code{@@kbd} varies from manual to manual, you can
6402 control the font switching with the @code{@@kbdinputstyle} command.
6403 This command has no effect on Info output. Write this command at the
6404 beginning of a line with a single word as an argument, one of the
6405 following:
6406 @vindex distinct@r{, arg to @@kbdinputstyle}
6407 @vindex example@r{, arg to @@kbdinputstyle}
6408 @vindex code@r{, arg to @@kbdinputstyle}
6409 @table @samp
6410 @item code
6411 Always use the same font for @code{@@kbd} as @code{@@code}.
6412 @item example
6413 Use the distinguishing font for @code{@@kbd} only in @code{@@example}
6414 and similar environments.
6415 @item example
6416 (the default) Always use the distinguishing font for @code{@@kbd}.
6417 @end table
6295 6418
6296 You can embed another @@-command inside the braces of an @code{@@kbd} 6419 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 6420 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 6421 would be described more verbosely as ``press an @samp{r} and then
6299 press the @key{RET} key'':@refill 6422 press the @key{RET} key'':@refill
6322 @end quotation 6445 @end quotation
6323 6446
6324 (Also, this example shows that you can add spaces for clarity. If you 6447 (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 6448 really want to mention a space character as one of the characters of
6326 input, write @kbd{@@key@{SPC@}} for it.)@refill 6449 input, write @kbd{@@key@{SPC@}} for it.)@refill
6450
6327 6451
6328 @node key, samp, kbd, Indicating 6452 @node key, samp, kbd, Indicating
6329 @comment node-name, next, previous, up 6453 @comment node-name, next, previous, up
6330 @subsection @code{@@key}@{@var{key-name}@} 6454 @subsection @code{@@key}@{@var{key-name}@}
6331 @findex key 6455 @findex key
6380 @end table 6504 @end table
6381 @end quotation 6505 @end quotation
6382 6506
6383 @cindex META key 6507 @cindex META key
6384 There are subtleties to handling words like `meta' or `ctrl' that are 6508 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 6509 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 6510 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 6511 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, 6512 to the modifier key in isolation, use the @code{@@key} command. For
6389 write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and 6513 example, write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and
6390 @samp{@@key@{META@}} to produce @key{META}. 6514 @samp{@@key@{META@}} to produce @key{META}.
6391 6515
6392 @c I don't think this is a good explanation. 6516 @c I don't think this is a good explanation.
6393 @c I think it will puzzle readers more than it clarifies matters. -- rms. 6517 @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} 6518 @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 6543 To match @samp{foo} at the end of the line, use the regexp
6420 @samp{foo$}.@refill 6544 @samp{foo$}.@refill
6421 @end quotation 6545 @end quotation
6422 6546
6423 Any time you are referring to single characters, you should use 6547 Any time you are referring to single characters, you should use
6424 @code{@@samp} unless @code{@@kbd} is more appropriate. Use 6548 @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 6549 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 6550 @code{@@table}, where @code{@@code} seems to read more easily). Also,
6427 commands---in this case, @code{@@samp} often looks better than 6551 you may use @code{@@samp} for entire statements in C and for entire
6552 shell commands---in this case, @code{@@samp} often looks better than
6428 @code{@@code}. Basically, @code{@@samp} is a catchall for whatever is 6553 @code{@@code}. Basically, @code{@@samp} is a catchall for whatever is
6429 not covered by @code{@@code}, @code{@@kbd}, or @code{@@key}.@refill 6554 not covered by @code{@@code}, @code{@@kbd}, or @code{@@key}.@refill
6430 6555
6431 Only include punctuation marks within braces if they are part of the 6556 Only include punctuation marks within braces if they are part of the
6432 string you are specifying. Write punctuation marks outside the braces 6557 string you are specifying. Write punctuation marks outside the braces
6462 documentation of a function to describe the arguments that are passed 6587 documentation of a function to describe the arguments that are passed
6463 to that function.@refill 6588 to that function.@refill
6464 6589
6465 Do not use @code{@@var} for the names of particular variables in 6590 Do not use @code{@@var} for the names of particular variables in
6466 programming languages. These are specific names from a program, so 6591 programming languages. These are specific names from a program, so
6467 @code{@@code} is correct for them. For example, the Lisp variable 6592 @code{@@code} is correct for them. For example, the Emacs Lisp variable
6468 @code{texinfo-tex-command} is not a metasyntactic variable; it is 6593 @code{texinfo-tex-command} is not a metasyntactic variable; it is
6469 properly formatted using @code{@@code}.@refill 6594 properly formatted using @code{@@code}.@refill
6470 6595
6471 The effect of @code{@@var} in the Info file is to change the case of 6596 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. 6597 the argument to all upper case; in the printed manual, to italicize it.
6644 @end ignore 6769 @end ignore
6645 6770
6646 @node url, email, cite, Indicating 6771 @node url, email, cite, Indicating
6647 @subsection @code{@@url}@{@var{uniform-resource-locator}@} 6772 @subsection @code{@@url}@{@var{uniform-resource-locator}@}
6648 @findex url 6773 @findex url
6649 6774 @cindex Uniform resource locator, indicating
6650 Use the @code{@@url} command to indicate a uniform resource locator on 6775 @cindex URL, indicating
6651 the World Wide Web. For example: 6776
6777 Use the @code{@@url} to indicate a uniform resource locator on the World
6778 Wide Web. This is analogous to @code{@@file}, @code{@@var}, etc., and
6779 is purely for markup purposes. It does not produce a link you can
6780 follow in HTML output (the @code{@@uref} command does, @pxref{uref,,
6781 @code{@@uref}}). It is useful for example URL's which do not actually
6782 exist. For example:
6652 6783
6653 @c Two lines because one is too long for smallbook format. 6784 @c Two lines because one is too long for smallbook format.
6654 @example 6785 @example
6655 The official GNU ftp site is 6786 For example, the url might be
6656 @@url@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}. 6787 @@url@{http://host.domain.org/path@}.
6657 @end example 6788 @end example
6658 6789
6659 In Info and @TeX{}, this acts like @code{@@samp}. When 6790
6660 Texinfo is converted to HTML, this produces a link you can follow. 6791 @node email, , url, Indicating
6661
6662 @node email, , url, Indicating
6663 @subsection @code{@@email}@{@var{email-address}@} 6792 @subsection @code{@@email}@{@var{email-address}@}
6664 @findex email 6793 @findex email
6665 6794
6666 Use the @code{@@email} command to indicate an electronic mail address. 6795 Use the @code{@@email} command to indicate an electronic mail address.
6667 For example: 6796 For example:
6668 6797
6669 @example 6798 @example
6670 Send bug reports to @email{bug-texinfo@@prep.ai.mit.edu}. 6799 Send bug reports to @@email@{bug-texinfo@@prep.ai.mit.edu@}.
6671 @end example 6800 @end example
6672 6801
6673 In Info and @TeX{}, this acts like @code{@@samp}. When we have support 6802 In Info and @TeX{}, this acts like @code{@@key} (it puts the argument in
6674 for conversion of Texinfo to HTML, this will produce a link you can 6803 angle brackets). When we have support for converting Texinfo to HTML,
6675 follow to bring up a mail composition window initialized with 6804 this will produce a link you can follow to bring up a mail composition
6676 @var{email-address}. 6805 window initialized with @var{email-address}.
6677 6806
6678 @node Emphasis, , Indicating, Marking Text 6807 @node Emphasis, , Indicating, Marking Text
6679 @comment node-name, next, previous, up 6808 @comment node-name, next, previous, up
6680 @section Emphasizing Text 6809 @section Emphasizing Text
6681 @cindex Emphasizing text 6810 @cindex Emphasizing text
6682 6811
6683 Usually, Texinfo changes the font to mark words in the text according to 6812 Usually, Texinfo changes the font to mark words in the text according to
6712 For example, 6841 For example,
6713 6842
6714 @example 6843 @example
6715 @group 6844 @group
6716 @@quotation 6845 @@quotation
6717 @@strong@{Caution:@} @@code@{rm * .[^.]*@} removes @@emph@{all@} 6846 @@strong@{Caution:@} @@samp@{rm * .[^.]*@} removes @@emph@{all@}
6718 files in the directory. 6847 files in the directory.
6719 @@end quotation 6848 @@end quotation
6720 @end group 6849 @end group
6721 @end example 6850 @end example
6722 6851
6852 6981
6853 If possible, you should avoid using the other three font commands. If 6982 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 6983 you need to use one, it probably indicates a gap in the Texinfo
6855 language.@refill 6984 language.@refill
6856 6985
6857 @node Customized Highlighting, , Fonts, Emphasis 6986 @node Customized Highlighting, , Fonts, Emphasis
6858 @comment node-name, next, previous, up 6987 @comment node-name, next, previous, up
6859 @subsection Customized Highlighting 6988 @subsection Customized Highlighting
6860 @cindex Highlighting, customized 6989 @cindex Highlighting, customized
6861 @cindex Customized highlighting 6990 @cindex Customized highlighting
6862 6991
7251 @lisp 7380 @lisp
7252 This is an example of text written between an 7381 This is an example of text written between an
7253 @code{@@lisp} command and an @code{@@end lisp} command. 7382 @code{@@lisp} command and an @code{@@end lisp} command.
7254 @end lisp 7383 @end lisp
7255 7384
7256 Use @code{@@lisp} instead of @code{@@example} so as to preserve 7385 Use @code{@@lisp} instead of @code{@@example} to preserve information
7257 information regarding the nature of the example. This is useful, for 7386 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 7387 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 7388 Texinfo file. Then you can use the Texinfo file as a Lisp
7260 library.@footnote{It would be straightforward to extend Texinfo to 7389 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 7390 in a similar fashion for C, Fortran, or other languages.}@refill
7262 7391
7263 Mark the end of @code{@@lisp} with @code{@@end lisp} on a line by 7392 Mark the end of @code{@@lisp} with @code{@@end lisp} on a line by
7264 itself.@refill 7393 itself.@refill
7265 7394
7266 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples 7395 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples
7457 written flushleft. 7586 written flushleft.
7458 @end flushleft 7587 @end flushleft
7459 @end quotation 7588 @end quotation
7460 7589
7461 7590
7462 Flushright produces the type of indentation often used in the return 7591 @code{@@flushright} produces the type of indentation often used in the
7463 address of letters.@refill 7592 return address of letters. For example,
7464
7465 @need 1500
7466 @noindent
7467 For example,
7468 7593
7469 @example 7594 @example
7470 @group 7595 @group
7471 @@flushright 7596 @@flushright
7472 Here is an example of text written 7597 Here is an example of text written
7485 flushright. The @code{@@flushright} command 7610 flushright. The @code{@@flushright} command
7486 right justifies every line but leaves the 7611 right justifies every line but leaves the
7487 left end ragged. 7612 left end ragged.
7488 @end flushright 7613 @end flushright
7489 7614
7490 @node cartouche, , flushleft & flushright, Quotations and Examples 7615 @node cartouche, , flushleft & flushright, Quotations and Examples
7491 @section Drawing Cartouches Around Examples 7616 @section Drawing Cartouches Around Examples
7492 @findex cartouche 7617 @findex cartouche
7493 @cindex Box with rounded corners 7618 @cindex Box with rounded corners
7494 7619
7495 In a printed manual, the @code{@@cartouche} command draws a box with 7620 In a printed manual, the @code{@@cartouche} command draws a box with
7507 @example 7632 @example
7508 @group 7633 @group
7509 @@example 7634 @@example
7510 @@cartouche 7635 @@cartouche
7511 % pwd 7636 % pwd
7512 /usr/local/lib/emacs/info 7637 /usr/local/share/emacs
7513 @@end cartouche 7638 @@end cartouche
7514 @@end example 7639 @@end example
7515 @end group 7640 @end group
7516 @end example 7641 @end example
7517 7642
7530 @end cartouche 7655 @end cartouche
7531 @end group 7656 @end group
7532 @end example 7657 @end example
7533 @end iftex 7658 @end iftex
7534 7659
7660
7535 @node Lists and Tables, Indices, Quotations and Examples, Top 7661 @node Lists and Tables, Indices, Quotations and Examples, Top
7536 @comment node-name, next, previous, up 7662 @chapter Lists and Tables
7537 @chapter Making Lists and Tables
7538 @cindex Making lists and tables 7663 @cindex Making lists and tables
7539 @cindex Lists and tables, making them 7664 @cindex Lists and tables, making
7540 @cindex Tables and lists, making them 7665 @cindex Tables and lists, making
7541 7666
7542 Texinfo has several ways of making lists and two-column tables. Lists can 7667 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 7668 bulleted or numbered; two-column tables can highlight the items in
7544 the first column.@refill 7669 the first column; multi-column tables are also supported.
7545 7670
7546 @menu 7671 @menu
7547 * Introducing Lists:: Texinfo formats lists for you. 7672 * Introducing Lists:: Texinfo formats lists for you.
7548 * itemize:: How to construct a simple list. 7673 * itemize:: How to construct a simple list.
7549 * enumerate:: How to construct a numbered list. 7674 * enumerate:: How to construct a numbered list.
7736 @comment node-name, next, previous, up 7861 @comment node-name, next, previous, up
7737 @section Making a Numbered or Lettered List 7862 @section Making a Numbered or Lettered List
7738 @cindex Enumeration 7863 @cindex Enumeration
7739 @findex enumerate 7864 @findex enumerate
7740 7865
7741 @code{@@enumerate} is like @code{@@itemize} except that the marks in 7866 @code{@@enumerate} is like @code{@@itemize} (@pxref{itemize,,
7742 the left margin contain successive integers or letters. 7867 @code{@@itemize}}), except that the labels on the items are
7743 (@xref{itemize, , @code{@@itemize}}.)@refill 7868 successive integers or letters instead of bullets.
7744 7869
7745 Write the @code{@@enumerate} command at the beginning of a line. 7870 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 7871 command does not require an argument, but accepts either a number or a
7747 a letter as an option. 7872 letter as an option. Without an argument, @code{@@enumerate} starts the
7748 Without an argument, @code{@@enumerate} starts the list 7873 list with the number @samp{1}. With a numeric argument, such as
7749 with the number 1. With a numeric argument, such as 3, 7874 @samp{3}, the command starts the list with that number. With an upper
7750 the command starts the list with that number. 7875 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}, 7876 the list with that letter.@refill
7752 the command starts the list with that letter.@refill
7753 7877
7754 Write the text of the enumerated list in the same way you write an 7878 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 7879 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 7880 of each paragraph that you want enumerated. Do not write any other text
7757 the line beginning with @code{@@item}.@refill 7881 on the line beginning with @code{@@item}.@refill
7758 7882
7759 You should put a blank line between entries in the list. 7883 You should put a blank line between entries in the list.
7760 This generally makes it easier to read the Info file.@refill 7884 This generally makes it easier to read the Info file.@refill
7761 7885
7762 @need 1500 7886 @need 1500
7853 @node Two-column Tables, Multi-column Tables, enumerate, Lists and Tables 7977 @node Two-column Tables, Multi-column Tables, enumerate, Lists and Tables
7854 @section Making a Two-column Table 7978 @section Making a Two-column Table
7855 @cindex Tables, making two-column 7979 @cindex Tables, making two-column
7856 @findex table 7980 @findex table
7857 7981
7858 @code{@@table} is similar to @code{@@itemize}, but the command allows 7982 @code{@@table} is similar to @code{@@itemize} (@pxref{itemize,,
7859 you to specify a name or heading line for each item. (@xref{itemize, 7983 @code{@@itemize}}), but allows you to specify a name or heading line for
7860 , @code{@@itemize}}.) The @code{@@table} command is used to produce 7984 each item. The @code{@@table} command is used to produce two-column
7861 two-column tables, and is especially useful for glossaries and 7985 tables, and is especially useful for glossaries, explanatory
7862 explanatory exhibits.@refill 7986 exhibits, and command-line option summaries.
7863 7987
7864 @menu 7988 @menu
7865 * table:: How to construct a two-column table. 7989 * table:: How to construct a two-column table.
7866 * ftable vtable:: How to construct a two-column table 7990 * ftable vtable:: Automatic indexing for two-column tables.
7867 with automatic indexing.
7868 * itemx:: How to put more entries in the first column. 7991 * itemx:: How to put more entries in the first column.
7869 @end menu 7992 @end menu
7870 7993
7871 @ifinfo 7994 @ifinfo
7872 @node table, ftable vtable, Two-column Tables, Two-column Tables 7995 @node table, ftable vtable, Two-column Tables, Two-column Tables
7874 7997
7875 Use the @code{@@table} command to produce two-column tables.@refill 7998 Use the @code{@@table} command to produce two-column tables.@refill
7876 @end ifinfo 7999 @end ifinfo
7877 8000
7878 Write the @code{@@table} command at the beginning of a line and follow 8001 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 8002 it on the same line with an argument that is a Texinfo ``indicating''
7880 @code{@@code}, @code{@@samp}, @code{@@var}, or @code{@@kbd}. 8003 command such as @code{@@code}, @code{@@samp}, @code{@@var}, or
7881 Although these commands are usually followed by arguments in braces, 8004 @code{@@kbd} (@pxref{Indicating}). Although these commands are usually
7882 in this case you use the command name without an argument because 8005 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 8006 without an argument because @code{@@item} will supply the argument.
7884 to the text that goes into the first column of each item and 8007 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} 8008 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 8009 @code{@@code} will cause the text in the first column to be highlighted
7887 @code{@@samp} command.@refill 8010 with an @code{@@code} command. (We recommend @code{@@code} for
7888 8011 @code{@@table}'s of command-line options.)
8012
8013 @findex asis
7889 You may also choose to use the @code{@@asis} command as an argument to 8014 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 8015 @code{@@table}. @code{@@asis} is a command that does nothing; if you
7891 command after @code{@@table}, @TeX{} and the Info formatting commands 8016 use this command after @code{@@table}, @TeX{} and the Info formatting
7892 output the first column entries without added highlighting (`as 8017 commands output the first column entries without added highlighting
7893 is').@refill 8018 (``as is'').@refill
7894 8019
7895 (The @code{@@table} command may work with other commands besides those 8020 (The @code{@@table} command may work with other commands besides those
7896 listed here. However, you can only use commands 8021 listed here. However, you can only use commands that normally take
7897 that normally take arguments in braces.)@refill 8022 arguments in braces.)@refill
7898 8023
7899 Begin each table entry with an @code{@@item} command at the beginning 8024 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 8025 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 8026 @code{@@item} command. Write the second column text on the line
7902 following the @code{@@item} line and on subsequent lines. (You do not 8027 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 8092 with an @code{@@end ftable} or @code{@@end vtable} command on a line by
7968 itself. 8093 itself.
7969 8094
7970 See the example for @code{@@table} in the previous section. 8095 See the example for @code{@@table} in the previous section.
7971 8096
7972 @node itemx, , ftable vtable, Two-column Tables 8097 @node itemx, , ftable vtable, Two-column Tables
7973 @comment node-name, next, previous, up 8098 @comment node-name, next, previous, up
7974 @subsection @code{@@itemx} 8099 @subsection @code{@@itemx}
7975 @cindex Two named items for @code{@@table} 8100 @cindex Two named items for @code{@@table}
7976 @findex itemx 8101 @findex itemx
7977 8102
7978 Use the @code{@@itemx} command inside a table when you have two or 8103 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 8104 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 8105 line of its own. Use @code{@@itemx} for all but the first entry;
7981 entry. The @code{@@itemx} command works exactly like @code{@@item} 8106 @code{@@itemx} should always follow an @code{@@item} command. The
7982 except that it does not generate extra vertical space above the first 8107 @code{@@itemx} command works exactly like @code{@@item} except that it
7983 column text.@refill 8108 does not generate extra vertical space above the first column text.
7984 8109
7985 @need 1000 8110 @need 1000
7986 For example, 8111 For example,
7987 8112
7988 @example 8113 @example
8011 @noindent 8136 @noindent
8012 (Note also that this example illustrates multi-line supporting text in 8137 (Note also that this example illustrates multi-line supporting text in
8013 a two-column table.)@refill 8138 a two-column table.)@refill
8014 8139
8015 8140
8016 @node Multi-column Tables, , Two-column Tables, Lists and Tables 8141 @node Multi-column Tables, , Two-column Tables, Lists and Tables
8017 @section Multi-column Tables 8142 @section Multi-column Tables
8018 @cindex Tables, making multi-column 8143 @cindex Tables, making multi-column
8019 @findex multitable 8144 @findex multitable
8020 8145
8021 @code{@@multitable} allows you to construct tables with any number of 8146 @code{@@multitable} allows you to construct tables with any number of
8078 particularly likely to be useful. 8203 particularly likely to be useful.
8079 8204
8080 @end enumerate 8205 @end enumerate
8081 8206
8082 8207
8083 @node Multitable Rows, , Multitable Column Widths, Multi-column Tables 8208 @node Multitable Rows, , Multitable Column Widths, Multi-column Tables
8084 @subsection Multitable Rows 8209 @subsection Multitable Rows
8085 @cindex Multitable rows 8210 @cindex Multitable rows
8086 @cindex Rows, of a multitable 8211 @cindex Rows, of a multitable
8087 8212
8088 @findex item 8213 @findex item
8092 with @code{@@item}, and separate the column entries with @code{@@tab}. 8217 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 8218 Line breaks are not special within the table body, and you may break
8094 input lines in your source file as necessary. 8219 input lines in your source file as necessary.
8095 8220
8096 Here is a complete example of a multi-column table (the text is from 8221 Here is a complete example of a multi-column table (the text is from
8097 the GNU Emacs manual): 8222 @cite{The GNU Emacs Manual}, @pxref{Split Window,, Splitting Windows,
8223 emacs, The GNU Emacs Manual}):
8098 8224
8099 @example 8225 @example
8100 @@multitable @@columnfractions .15 .45 .4 8226 @@multitable @@columnfractions .15 .45 .4
8101 @@item Key @@tab Command @@tab Description 8227 @@item Key @@tab Command @@tab Description
8102 @@item C-x 2 8228 @@item C-x 2
8455 whatever default font is used by the index to which the entries are 8581 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 8582 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 8583 index into a concept index, all the function names are printed in the
8458 @code{@@code} font as you would expect.@refill 8584 @code{@@code} font as you would expect.@refill
8459 8585
8460 @node synindex, , syncodeindex, Combining Indices 8586 @node synindex, , syncodeindex, Combining Indices
8461 @subsection @code{@@synindex} 8587 @subsection @code{@@synindex}
8462 @findex synindex 8588 @findex synindex
8463 8589
8464 The @code{@@synindex} command is nearly the same as the 8590 The @code{@@synindex} command is nearly the same as the
8465 @code{@@syncodeindex} command, except that it does not put the 8591 @code{@@syncodeindex} command, except that it does not put the
8468 merge a concept index into a function index.@refill 8594 merge a concept index into a function index.@refill
8469 8595
8470 @xref{Printing Indices & Menus}, for information about printing an index 8596 @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 8597 at the end of a book or creating an index menu in an Info file.@refill
8472 8598
8473 @node New Indices, , Combining Indices, Indices 8599 @node New Indices, , Combining Indices, Indices
8474 @section Defining New Indices 8600 @section Defining New Indices
8475 @cindex Defining new indices 8601 @cindex Defining new indices
8476 @cindex Indices, defining new 8602 @cindex Indices, defining new
8477 @cindex New index defining 8603 @cindex New index defining
8478 @findex defindex 8604 @findex defindex
8535 8661
8536 You should define new indices within or right after the end-of-header 8662 You should define new indices within or right after the end-of-header
8537 line of a Texinfo file, before any @code{@@synindex} or 8663 line of a Texinfo file, before any @code{@@synindex} or
8538 @code{@@syncodeindex} commands (@pxref{Header}).@refill 8664 @code{@@syncodeindex} commands (@pxref{Header}).@refill
8539 8665
8540 @node Insertions, Glyphs, Indices, Top 8666 @node Insertions, Breaks, Indices, Top
8541 @comment node-name, next, previous, up 8667 @comment node-name, next, previous, up
8542 @chapter Special Insertions 8668 @chapter Special Insertions
8543 @cindex Inserting special characters and symbols 8669 @cindex Inserting special characters and symbols
8544 @cindex Special insertions 8670 @cindex Special insertions
8545 8671
8546 Texinfo provides several commands for formatting dimensions, for 8672 Texinfo provides several commands for inserting characters that have
8547 inserting single characters that have special meaning in Texinfo, such 8673 special meaning in Texinfo, such as braces, and for other graphic
8548 as braces, and for inserting special graphic symbols that do not 8674 elements that do not correspond to simple characters you can type.
8549 correspond to characters, such as dots and bullets.@refill
8550 8675
8551 @iftex 8676 @iftex
8552 These are: 8677 These are:
8553 8678
8554 @itemize @bullet 8679 @itemize @bullet
8555 @item 8680 @item Braces, @samp{@@} and periods.
8556 Braces, @samp{@@} and periods. 8681 @item Whitespace within and around a sentence.
8557 8682 @item Accents.
8558 @item 8683 @item Dots and bullets.
8559 Format a dimension, such as @samp{12@dmn{pt}}. 8684 @item The @TeX{} logo and the copyright symbol.
8560 8685 @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 8686 @end itemize
8570 @end iftex 8687 @end iftex
8571 8688
8572 @menu 8689 @menu
8573 * Braces Atsigns:: How to insert braces, @samp{@@}. 8690 * Braces Atsigns:: How to insert braces, @samp{@@}.
8578 * TeX and copyright:: How to insert the @TeX{} logo 8695 * TeX and copyright:: How to insert the @TeX{} logo
8579 and the copyright symbol. 8696 and the copyright symbol.
8580 * pounds:: How to insert the pounds currency symbol. 8697 * pounds:: How to insert the pounds currency symbol.
8581 * minus:: How to insert a minus sign. 8698 * minus:: How to insert a minus sign.
8582 * math:: How to format a mathematical expression. 8699 * math:: How to format a mathematical expression.
8700 * Glyphs:: How to indicate results of evaluation,
8701 expansion of macros, errors, etc.
8702 * Images:: How to include graphics.
8583 @end menu 8703 @end menu
8584 8704
8585 8705
8586 @node Braces Atsigns, Inserting Space, Insertions, Insertions 8706 @node Braces Atsigns, Inserting Space, Insertions, Insertions
8587 @section Inserting @@ and Braces 8707 @section Inserting @@ and Braces
8610 @code{@@@@} stands for a single @samp{@@} in either printed or Info 8730 @code{@@@@} stands for a single @samp{@@} in either printed or Info
8611 output. 8731 output.
8612 8732
8613 Do not put braces after an @code{@@@@} command. 8733 Do not put braces after an @code{@@@@} command.
8614 8734
8615 @node Inserting Braces, , Inserting An Atsign, Braces Atsigns 8735 @node Inserting Braces, , Inserting An Atsign, Braces Atsigns
8616 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@} 8736 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@}
8617 @findex @{ @r{(single @samp{@{})} 8737 @findex @{ @r{(single @samp{@{})}
8618 @findex @} @r{(single @samp{@}})} 8738 @findex @} @r{(single @samp{@}})}
8619 8739
8620 @code{@@@{} stands for a single @samp{@{} in either printed or Info 8740 @code{@@@{} stands for a single @samp{@{} in either printed or Info
8661 8781
8662 @findex : @r{(suppress widening)} 8782 @findex : @r{(suppress widening)}
8663 Use the @code{@@:}@: command after a period, question mark, 8783 Use the @code{@@:}@: command after a period, question mark,
8664 exclamation mark, or colon that should not be followed by extra space. 8784 exclamation mark, or colon that should not be followed by extra space.
8665 For example, use @code{@@:}@: after periods that end abbreviations 8785 For example, use @code{@@:}@: after periods that end abbreviations
8666 which are not at the ends of sentences. @code{@@:}@: has no effect on 8786 which are not at the ends of sentences.
8667 the Info file output.
8668 8787
8669 @need 700 8788 @need 700
8670 For example, 8789 For example,
8671 8790
8672 @example 8791 @example
8688 The s.o.p.@: has three parts @dots{}@* 8807 The s.o.p.@: has three parts @dots{}@*
8689 The s.o.p. has three parts @dots{} 8808 The s.o.p. has three parts @dots{}
8690 @end quotation 8809 @end quotation
8691 8810
8692 @noindent 8811 @noindent
8693 @kbd{@@:} has no effect on the Info output. (@samp{s.o.p.} is an 8812 (Incidentally, @samp{s.o.p.} is an abbreviation for ``Standard Operating
8694 abbreviation for ``Standard Operating Procedure''.) 8813 Procedure''.)
8695 8814
8696 Do not put braces after @code{@@:}. 8815 @code{@@:} has no effect on the Info output. Do not put braces after
8816 @code{@@:}.
8697 8817
8698 8818
8699 @node Ending a Sentence, Multiple Spaces, Not Ending a Sentence, Inserting Space 8819 @node Ending a Sentence, Multiple Spaces, Not Ending a Sentence, Inserting Space
8700 @subsection Ending a Sentence 8820 @subsection Ending a Sentence
8701 8821
8734 In the Info file output, @code{@@.}@: is equivalent to a simple 8854 In the Info file output, @code{@@.}@: is equivalent to a simple
8735 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:. 8855 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:.
8736 8856
8737 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to 8857 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to
8738 work well with the Emacs sentence motion commands (@pxref{Sentences,,, 8858 work well with the Emacs sentence motion commands (@pxref{Sentences,,,
8739 emacs, GNU Emacs}). This made it necessary for them to be incompatible 8859 emacs, The GNU Emacs Manual}). This made it necessary for them to be
8740 with some other formatting systems that use @@-commands. 8860 incompatible with some other formatting systems that use @@-commands.
8741 8861
8742 Do not put braces after any of these commands. 8862 Do not put braces after any of these commands.
8743 8863
8744 8864
8745 @node Multiple Spaces, dmn, Ending a Sentence, Inserting Space 8865 @node Multiple Spaces, dmn, Ending a Sentence, Inserting Space
8750 @findex (space) 8870 @findex (space)
8751 @findex (tab) 8871 @findex (tab)
8752 @findex (newline) 8872 @findex (newline)
8753 8873
8754 Ordinarily, @TeX{} collapses multiple whitespace characters (space, tab, 8874 Ordinarily, @TeX{} collapses multiple whitespace characters (space, tab,
8755 and newline) into a single space. (Info output, on the other hand, 8875 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 8876 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 8877 a space; this is why it is important to put two spaces at the end of
8758 sentences in Texinfo documents.) 8878 sentences in Texinfo documents.
8759 8879
8760 Occasionally, you may want to actually insert several consecutive 8880 Occasionally, you may want to actually insert several consecutive
8761 spaces, either for purposes of example (what your program does with 8881 spaces, either for purposes of example (what your program does with
8762 multiple spaces as input), or merely for purposes of appearance in 8882 multiple spaces as input), or merely for purposes of appearance in
8763 headings or lists. Texinfo supports three commands: @code{@@ }, 8883 headings or lists. Texinfo supports three commands:
8764 @code{@@@kbd{TAB}}, and @code{@@@kbd{NL}}, all of which insert a single 8884 @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 8885 which insert a single space into the output. (Here,
8886 @code{@@@kbd{SPACE}} represents an @samp{@@} character followed by a
8887 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 8888 character and end-of-line, i.e., when @samp{@@} is the last character on
8767 a line.) 8889 a line.)
8768 8890
8769 For example, 8891 For example,
8770 @example 8892 @example
8777 @example 8899 @example
8778 Spacey@ @ @ @ 8900 Spacey@ @ @ @
8779 example. 8901 example.
8780 @end example 8902 @end example
8781 8903
8782 Other possible uses of @code{@@ } have been subsumed by @code{@@multitable} 8904 Other possible uses of @code{@@@kbd{SPACE}} have been subsumed by
8783 (@pxref{Multi-column Tables}). 8905 @code{@@multitable} (@pxref{Multi-column Tables}).
8784 8906
8785 Do not follow any of these commands with braces. 8907 Do not follow any of these commands with braces.
8786 8908
8787 8909
8788 @node dmn, , Multiple Spaces, Inserting Space 8910 @node dmn, , Multiple Spaces, Inserting Space
8789 @subsection @code{@@dmn}@{@var{dimension}@}: Format a Dimension 8911 @subsection @code{@@dmn}@{@var{dimension}@}: Format a Dimension
8790 @cindex Thin space between number, dimension 8912 @cindex Thin space between number, dimension
8791 @cindex Dimension formatting 8913 @cindex Dimension formatting
8792 @cindex Format a dimension 8914 @cindex Format a dimension
8793 @findex dmn 8915 @findex dmn
8799 for proper typesetting; the Info formatting commands insert no space 8921 for proper typesetting; the Info formatting commands insert no space
8800 at all, since the Info file does not require it.@refill 8922 at all, since the Info file does not require it.@refill
8801 8923
8802 To use the @code{@@dmn} command, write the number and then follow it 8924 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 8925 immediately, with no intervening space, by @code{@@dmn}, and then by
8804 the dimension within braces.@refill 8926 the dimension within braces. For example,
8805
8806 @need 700
8807 @noindent
8808 For example,
8809 8927
8810 @example 8928 @example
8811 A4 paper is 8.27@@dmn@{in@} wide. 8929 A4 paper is 8.27@@dmn@{in@} wide.
8812 @end example 8930 @end example
8813 8931
8816 8934
8817 @quotation 8935 @quotation
8818 A4 paper is 8.27@dmn{in} wide. 8936 A4 paper is 8.27@dmn{in} wide.
8819 @end quotation 8937 @end quotation
8820 8938
8821 Not everyone uses this style. Instead of writing 8939 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 8940 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 8941 In these cases, however, the formatters may insert a line break between
8824 formatters may insert a line break between the number and the 8942 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 8943 you write a period after an abbreviation within a sentence, you should
8826 sentence, you should write @samp{@@:} after the period to prevent 8944 write @samp{@@:} after the period to prevent @TeX{} from inserting extra
8827 @TeX{} from inserting extra whitespace. @xref{Inserting Space}. 8945 whitespace, as shown here. @xref{Inserting Space}.
8828 8946
8829 8947
8830 @node Inserting Accents, Dots Bullets, Inserting Space, Insertions 8948 @node Inserting Accents, Dots Bullets, Inserting Space, Insertions
8831 @section Inserting Accents 8949 @section Inserting Accents
8832 8950
8962 @menu 9080 @menu
8963 * dots:: How to insert dots @dots{} 9081 * dots:: How to insert dots @dots{}
8964 * bullet:: How to insert a bullet. 9082 * bullet:: How to insert a bullet.
8965 @end menu 9083 @end menu
8966 9084
9085
8967 @node dots, bullet, Dots Bullets, Dots Bullets 9086 @node dots, bullet, Dots Bullets, Dots Bullets
8968 @comment node-name, next, previous, up 9087 @subsection @code{@@dots}@{@} (@dots{})
8969 @subsection @code{@@dots}@{@}
8970 @findex dots 9088 @findex dots
8971 @cindex Inserting dots 9089 @cindex Inserting dots
8972 @cindex Dots, inserting 9090 @cindex Dots, inserting
8973 9091
8974 Use the @code{@@dots@{@}} command to generate an ellipsis, which is 9092 Use the @code{@@dots@{@}} command to generate an ellipsis, which is
8986 9104
8987 In printed output, the three periods in a row are closer together than 9105 In printed output, the three periods in a row are closer together than
8988 the dots in the ellipsis. 9106 the dots in the ellipsis.
8989 @end iftex 9107 @end iftex
8990 9108
8991 @node bullet, , dots, Dots Bullets 9109
8992 @comment node-name, next, previous, up 9110 @node bullet, , dots, Dots Bullets
8993 @subsection @code{@@bullet}@{@} 9111 @subsection @code{@@bullet}@{@} (@bullet{})
8994 @findex bullet 9112 @findex bullet
8995 9113
8996 Use the @code{@@bullet@{@}} command to generate a large round dot, or 9114 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 9115 the closest possible thing to one. In Info, an asterisk is used.@refill
8998 9116
9000 9118
9001 When you use @code{@@bullet} in @code{@@itemize}, you do not need to 9119 When you use @code{@@bullet} in @code{@@itemize}, you do not need to
9002 type the braces, because @code{@@itemize} supplies them. 9120 type the braces, because @code{@@itemize} supplies them.
9003 (@xref{itemize, , @code{@@itemize}}.)@refill 9121 (@xref{itemize, , @code{@@itemize}}.)@refill
9004 9122
9123
9005 @node TeX and copyright, pounds, Dots Bullets, Insertions 9124 @node TeX and copyright, pounds, Dots Bullets, Insertions
9006 @comment node-name, next, previous, up
9007 @section Inserting @TeX{} and the Copyright Symbol 9125 @section Inserting @TeX{} and the Copyright Symbol
9008 9126
9009 The logo `@TeX{}' is typeset in a special fashion and it needs an 9127 The logo `@TeX{}' is typeset in a special fashion and it needs an
9010 @@-command. The copyright symbol, `@copyright{}', is also special. 9128 @@-command. The copyright symbol, `@copyright{}', is also special.
9011 Each of these commands is followed by a pair of braces, @samp{@{@}}, 9129 Each of these commands is followed by a pair of braces, @samp{@{@}},
9015 @menu 9133 @menu
9016 * tex:: How to insert the @TeX{} logo. 9134 * tex:: How to insert the @TeX{} logo.
9017 * copyright symbol:: How to use @code{@@copyright}@{@}. 9135 * copyright symbol:: How to use @code{@@copyright}@{@}.
9018 @end menu 9136 @end menu
9019 9137
9138
9020 @node tex, copyright symbol, TeX and copyright, TeX and copyright 9139 @node tex, copyright symbol, TeX and copyright, TeX and copyright
9021 @comment node-name, next, previous, up 9140 @subsection @code{@@TeX}@{@} (@TeX{})
9022 @subsection @code{@@TeX}@{@}
9023 @findex tex (command) 9141 @findex tex (command)
9024 9142
9025 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed 9143 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed
9026 manual, this is a special logo that is different from three ordinary 9144 manual, this is a special logo that is different from three ordinary
9027 letters. In Info, it just looks like @samp{TeX}. The 9145 letters. In Info, it just looks like @samp{TeX}. The
9028 @code{@@TeX@{@}} command is unique among Texinfo commands in that the 9146 @code{@@TeX@{@}} command is unique among Texinfo commands in that the
9029 @kbd{T} and the @kbd{X} are in upper case.@refill 9147 @kbd{T} and the @kbd{X} are in upper case.@refill
9030 9148
9031 @node copyright symbol, , tex, TeX and copyright 9149
9032 @comment node-name, next, previous, up 9150 @node copyright symbol, , tex, TeX and copyright
9033 @subsection @code{@@copyright}@{@} 9151 @subsection @code{@@copyright}@{@} (@copyright{})
9034 @findex copyright 9152 @findex copyright
9035 9153
9036 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In 9154 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In
9037 a printed manual, this is a @samp{c} inside a circle, and in Info, 9155 a printed manual, this is a @samp{c} inside a circle, and in Info,
9038 this is @samp{(C)}.@refill 9156 this is @samp{(C)}.@refill
9039 9157
9158
9040 @node pounds, minus, TeX and copyright, Insertions 9159 @node pounds, minus, TeX and copyright, Insertions
9041 @section @code{@@pounds}@{@} 9160 @section @code{@@pounds}@{@} (@pounds{}): Pounds Sterling
9042 @findex pounds 9161 @findex pounds
9043 9162
9044 Use the @code{@@pounds@{@}} command to generate `@pounds{}'. In a 9163 Use the @code{@@pounds@{@}} command to generate `@pounds{}'. In a
9045 printed manual, this is the symbol for the currency pounds sterling. 9164 printed manual, this is the symbol for the currency pounds sterling.
9046 In Info, it is a @samp{#}. Other currency symbols are unfortunately not 9165 In Info, it is a @samp{#}. Other currency symbols are unfortunately not
9047 available. 9166 available.
9048 9167
9168
9049 @node minus, math, pounds, Insertions 9169 @node minus, math, pounds, Insertions
9050 @section @code{@@minus}@{@}: Inserting a Minus Sign 9170 @section @code{@@minus}@{@} (@minus{}): Inserting a Minus Sign
9051 @findex minus 9171 @findex minus
9052 9172
9053 Use the @code{@@minus@{@}} command to generate a minus sign. In a 9173 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, 9174 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 9175 the symbol is the customary length for a minus sign---a little longer
9056 than a hyphen.@refill 9176 than a hyphen, shorter than an em-dash:
9057
9058 You can compare the two forms:
9059 9177
9060 @display 9178 @display
9061 @samp{@minus{}} is a minus sign generated with @samp{@@minus@{@}}, 9179 @samp{@minus{}} is a minus sign generated with @samp{@@minus@{@}},
9062 9180
9063 `-' is a hyphen generated with the character @samp{-}. 9181 `-' is a hyphen generated with the character @samp{-},
9182
9183 `---' is an em-dash for text.
9064 @end display 9184 @end display
9065 9185
9066 @noindent 9186 @noindent
9067 In the fixed-width font used by Info, @code{@@minus@{@}} is the same 9187 In the fixed-width font used by Info, @code{@@minus@{@}} is the same
9068 as a hyphen.@refill 9188 as a hyphen.
9069 9189
9070 You should not use @code{@@minus@{@}} inside @code{@@code} or 9190 You should not use @code{@@minus@{@}} inside @code{@@code} or
9071 @code{@@example} because the width distinction is not made in the 9191 @code{@@example} because the width distinction is not made in the
9072 fixed-width font they use.@refill 9192 fixed-width font they use.
9073 9193
9074 When you use @code{@@minus} to specify the mark beginning each entry in 9194 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 9195 an itemized list, you do not need to type the braces
9076 (@pxref{itemize, , @code{@@itemize}}.)@refill 9196 (@pxref{itemize, , @code{@@itemize}}.)
9077 9197
9078 @node math, , minus, Insertions 9198
9079 @comment node-name, next, previous, up 9199 @node math, Glyphs, minus, Insertions
9080 @section @code{@@math}: Inserting Mathematical Expressions 9200 @section @code{@@math}: Inserting Mathematical Expressions
9081 @findex math 9201 @findex math
9082 @cindex Mathematical expressions 9202 @cindex Mathematical expressions
9083 9203
9084 You can write a short mathematical expression with the @code{@@math} 9204 You can write a short mathematical expression with the @code{@@math}
9107 9227
9108 @example 9228 @example
9109 (a + b)(a + b) = a^2 + 2ab + b^2 9229 (a + b)(a + b) = a^2 + 2ab + b^2
9110 @end example 9230 @end example
9111 9231
9112 The @code{@@math} command has no effect on the Info output. Currently, 9232 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 9233
9114 @TeX{} itself is designed for mathematical typesetting and does a 9234 For complex mathematical expressions, you can also use @TeX{} directly
9115 splendid job. 9235 (@pxref{Raw Formatter Commands}). When you use @TeX{} directly,
9116 9236 remember to write the mathematical expression between one or two
9117 Certainly, for complex mathematical expressions, you could use @TeX{} 9237 @samp{$} (dollar-signs) as appropriate.
9118 directly. @xref{Using Ordinary TeX Commands, , Using Ordinary @TeX{} 9238
9119 Commands}. When you use @TeX{} directly, remember to write the 9239
9120 mathematical expression between one or two @samp{$} (dollar-signs) as 9240 @node Glyphs, Images, math, Insertions
9121 appropriate. 9241 @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 9242 @cindex Glyphs
9127 9243
9128 In Texinfo, code is often illustrated in examples that are delimited 9244 In Texinfo, code is often illustrated in examples that are delimited
9129 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and 9245 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 9246 @code{@@end lisp}. In such examples, you can indicate the results of
9148 * Point Glyph:: How to indicate the location of point. 9264 * Point Glyph:: How to indicate the location of point.
9149 @end menu 9265 @end menu
9150 9266
9151 @node Glyphs Summary, result, Glyphs, Glyphs 9267 @node Glyphs Summary, result, Glyphs, Glyphs
9152 @ifinfo 9268 @ifinfo
9153 @heading Glyphs Summary 9269 @subheading Glyphs Summary
9154 9270
9155 Here are the different glyph commands:@refill 9271 Here are the different glyph commands:@refill
9156 @end ifinfo 9272 @end ifinfo
9157 9273
9158 @table @asis 9274 @table @asis
9174 9290
9175 @item @point{} 9291 @item @point{}
9176 @code{@@point@{@}} shows the location of point.@refill 9292 @code{@@point@{@}} shows the location of point.@refill
9177 @end table 9293 @end table
9178 9294
9295
9296 @menu
9297 * result::
9298 * expansion::
9299 * Print Glyph::
9300 * Error Glyph::
9301 * Equivalence::
9302 * Point Glyph::
9303 @end menu
9304
9179 @node result, expansion, Glyphs Summary, Glyphs 9305 @node result, expansion, Glyphs Summary, Glyphs
9180 @section @result{}: Indicating Evaluation 9306 @subsection @code{@@result@{@}} (@result{}): Indicating Evaluation
9181 @cindex Result of an expression 9307 @cindex Result of an expression
9182 @cindex Indicating evaluation 9308 @cindex Indicating evaluation
9183 @cindex Evaluation glyph 9309 @cindex Evaluation glyph
9184 @cindex Value of an expression, indicating 9310 @cindex Value of an expression, indicating
9185 9311
9203 @end lisp 9329 @end lisp
9204 9330
9205 @noindent 9331 @noindent
9206 may be read as ``@code{(cdr '(1 2 3))} evaluates to @code{(2 3)}''. 9332 may be read as ``@code{(cdr '(1 2 3))} evaluates to @code{(2 3)}''.
9207 9333
9334
9208 @node expansion, Print Glyph, result, Glyphs 9335 @node expansion, Print Glyph, result, Glyphs
9209 @section @expansion{}: Indicating an Expansion 9336 @subsection @code{@@expansion@{@}} (@expansion{}): Indicating an Expansion
9210 @cindex Expansion, indicating it 9337 @cindex Expansion, indicating it
9211 9338
9212 When an expression is a macro call, it expands into a new expression. 9339 When an expression is a macro call, it expands into a new expression.
9213 You can indicate the result of the expansion with the 9340 You can indicate the result of the expansion with the
9214 @code{@@expansion@{@}} command.@refill 9341 @code{@@expansion@{@}} command.@refill
9257 @noindent 9384 @noindent
9258 Often, as in this case, an example looks better if the 9385 Often, as in this case, an example looks better if the
9259 @code{@@expansion@{@}} and @code{@@result@{@}} commands are indented 9386 @code{@@expansion@{@}} and @code{@@result@{@}} commands are indented
9260 five spaces.@refill 9387 five spaces.@refill
9261 9388
9389
9262 @node Print Glyph, Error Glyph, expansion, Glyphs 9390 @node Print Glyph, Error Glyph, expansion, Glyphs
9263 @section @print{}: Indicating Printed Output 9391 @subsection @code{@@print@{@}} (@print{}): Indicating Printed Output
9264 @cindex Printed output, indicating it 9392 @cindex Printed output, indicating it
9265 9393
9266 Sometimes an expression will print output during its execution. You 9394 Sometimes an expression will print output during its execution. You
9267 can indicate the printed output with the @code{@@print@{@}} command.@refill 9395 can indicate the printed output with the @code{@@print@{@}} command.@refill
9268 9396
9301 @@result@{@} bar 9429 @@result@{@} bar
9302 @@end lisp 9430 @@end lisp
9303 @end group 9431 @end group
9304 @end lisp 9432 @end lisp
9305 9433
9434
9306 @node Error Glyph, Equivalence, Print Glyph, Glyphs 9435 @node Error Glyph, Equivalence, Print Glyph, Glyphs
9307 @section @error{}: Indicating an Error Message 9436 @subsection @code{@@error@{@}} (@error{}): Indicating an Error Message
9308 @cindex Error message, indicating it 9437 @cindex Error message, indicating it
9309 9438
9310 A piece of code may cause an error when you evaluate it. You can 9439 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 9440 designate the error message with the @code{@@error@{@}} command.@refill
9312 9441
9343 9472
9344 @lisp 9473 @lisp
9345 Wrong type argument: integer-or-marker-p, x 9474 Wrong type argument: integer-or-marker-p, x
9346 @end lisp 9475 @end lisp
9347 9476
9348 Note that @samp{@error{}} itself is not part of the error 9477 @samp{@error{}} itself is not part of the error message.
9349 message. 9478
9350 9479
9351 @node Equivalence, Point Glyph, Error Glyph, Glyphs 9480 @node Equivalence, Point Glyph, Error Glyph, Glyphs
9352 @section @equiv{}: Indicating Equivalence 9481 @subsection @code{@@equiv@{@}} (@equiv{}): Indicating Equivalence
9353 @cindex Equivalence, indicating it 9482 @cindex Equivalence, indicating it
9354 9483
9355 Sometimes two expressions produce identical results. You can indicate the 9484 Sometimes two expressions produce identical results. You can indicate the
9356 exact equivalence of two forms with the @code{@@equiv@{@}} command.@refill 9485 exact equivalence of two forms with the @code{@@equiv@{@}} command.@refill
9357 9486
9381 9510
9382 @noindent 9511 @noindent
9383 This indicates that evaluating @code{(make-sparse-keymap)} produces 9512 This indicates that evaluating @code{(make-sparse-keymap)} produces
9384 identical results to evaluating @code{(list 'keymap)}. 9513 identical results to evaluating @code{(list 'keymap)}.
9385 9514
9386 @c Cannot write point command here because it causes trouble with TOC. 9515
9387 @node Point Glyph, , Equivalence, Glyphs 9516 @node Point Glyph, , Equivalence, Glyphs
9388 @section Indicating Point in a Buffer 9517 @subsection @code{@@point@{@}} (@point{}): Indicating Point in a Buffer
9389 @cindex Point, indicating it in a buffer 9518 @cindex Point, indicating it in a buffer
9390 9519
9391 Sometimes you need to show an example of text in an Emacs buffer. In 9520 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 9521 such examples, the convention is to include the entire contents of the
9393 buffer in question between two lines of dashes containing the buffer 9522 buffer in question between two lines of dashes containing the buffer
9444 This is the changed @@point@{@}contents of foo. 9573 This is the changed @@point@{@}contents of foo.
9445 ---------- Buffer: foo ---------- 9574 ---------- Buffer: foo ----------
9446 @@end example 9575 @@end example
9447 @end example 9576 @end example
9448 9577
9449 @node Breaks, Definition Commands, Glyphs, Top 9578
9450 @comment node-name, next, previous, up 9579 @c this should be described with figures when we have them
9580 @c perhaps in the quotation/example chapter.
9581 @node Images, , Glyphs, Insertions
9582 @section Inserting Images
9583
9584 @cindex Images, inserting
9585 @cindex Pictures, inserting
9586 @findex image
9587
9588 You can insert an image in an external file with the @code{@@image}
9589 command:
9590
9591 @example
9592 @@image@{@var{filename}, @r{[}@var{width}@r{]}, @r{[}@var{height}@r{]}@}
9593 @end example
9594
9595 @cindex Formats for images
9596 @cindex Image formats
9597 The @var{filename} argument is mandatory, and must not have an
9598 extension, because the different processors support different formats:
9599 @TeX{} reads the file @file{@var{filename}.eps} (Encapsulated PostScript
9600 format); @code{makeinfo} uses @file{@var{filename}.txt} verbatim for
9601 Info output (more or less as if it was an @code{@@example}). HTML
9602 output requires @file{@var{filename}.jpg}.
9603
9604 @cindex Width of images
9605 @cindex Height of images
9606 @cindex Aspect ratio of images
9607 @cindex Distorting images
9608 The optional @var{width} and @var{height} arguments specify the size to
9609 scale the image to (they are ignored for Info output). If they are both
9610 specified, the image is presented in its natural size (given in the
9611 file); if only one is specified, the other is scaled proportionately;
9612 and if both are specified, both are respected, thus possibly distorting
9613 the original image by changing its aspect ratio.
9614
9615 @cindex Dimensions and image sizes
9616 The @var{width} and @var{height} may be specified using any valid @TeX{}
9617 dimension, namely:
9618
9619 @table @asis
9620 @item pt
9621 @cindex Points (dimension)
9622 point (72.27pt = 1in)
9623 @item pc
9624 @cindex Picas
9625 pica (1pc = 12pt)
9626 @item bp
9627 @cindex Big points
9628 big point (72bp = 1in)
9629 @item in
9630 @cindex Inches
9631 inch
9632 @item cm
9633 @cindex Centimeters
9634 centimeter (2.54cm = 1in)
9635 @item mm
9636 @cindex Millimeters
9637 millimeter (10mm = 1cm)
9638 @item dd
9639 @cindex Did\^ot points
9640 did\^ot point (1157dd = 1238pt)
9641 @item cc
9642 @cindex Ciceros
9643 cicero (1cc = 12dd)
9644 @item sp
9645 @cindex Scaled points
9646 scaled point (65536sp = 1pt)
9647 @end table
9648
9649 @pindex ridt.eps
9650 For example, the following will scale a file @file{ridt.eps} to one
9651 inch vertically, with the width scaled proportionately:
9652
9653 @example
9654 @@image@{ridt,,1in@}
9655 @end example
9656
9657 @pindex epsf.tex
9658 For @code{@@image} to work with @TeX{}, the file @file{epsf.tex} must be
9659 installed somewhere that @TeX{} can find it. This file is included in
9660 the Texinfo distribution and is available from
9661 @uref{ftp://ftp.tug.org/tex/epsf.tex}.
9662
9663
9664 @node Breaks, Definition Commands, Insertions, Top
9451 @chapter Making and Preventing Breaks 9665 @chapter Making and Preventing Breaks
9452 @cindex Making line and page breaks 9666 @cindex Making line and page breaks
9453 @cindex Preventing line and page breaks 9667 @cindex Preventing line and page breaks
9454 9668
9455 Usually, a Texinfo file is processed both by @TeX{} and by one of the 9669 Usually, a Texinfo file is processed both by @TeX{} and by one of the
9625 9839
9626 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks 9840 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks
9627 within @var{text}.@refill 9841 within @var{text}.@refill
9628 9842
9629 You can use the @code{@@w} command to prevent @TeX{} from automatically 9843 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 9844 hyphenating a long name or phrase that happens to fall near the end of a
9631 of a line.@refill 9845 line.@refill
9632 9846
9633 @example 9847 @example
9634 You can copy GNU software from @@w@{@@file@{prep.ai.mit.edu@}@}. 9848 You can copy GNU software from @@w@{@@samp@{ftp.gnu.ai.mit.edu@}@}.
9635 @end example 9849 @end example
9636 9850
9637 @noindent 9851 @noindent
9638 produces 9852 produces
9639 9853
9640 @quotation 9854 @quotation
9641 You can copy GNU software from @w{@file{prep.ai.mit.edu}}. 9855 You can copy GNU software from @w{@samp{ftp.gnu.ai.mit.edu}}.
9642 @end quotation 9856 @end quotation
9643 9857
9644 @quotation 9858 @quotation
9645 @strong{Caution:} Do not write an @code{@@refill} command at the end 9859 @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 9860 of a paragraph containing an @code{@@w} command; it will cause the
9776 not start to generate error messages until it has processed 9990 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 9991 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 9992 @code{@@end group} if you get incomprehensible error messages in
9779 @TeX{}.@refill 9993 @TeX{}.@refill
9780 9994
9781 @node need, , group, Breaks 9995 @node need, , group, Breaks
9782 @comment node-name, next, previous, up 9996 @comment node-name, next, previous, up
9783 @section @code{@@need @var{mils}}: Prevent Page Breaks 9997 @section @code{@@need @var{mils}}: Prevent Page Breaks
9784 @cindex Need space at page bottom 9998 @cindex Need space at page bottom
9785 @findex need 9999 @findex need
9786 10000
9909 for functions and the like---for entities that may take arguments. When 10123 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 10124 you use this command, you specify the category to which the entity
9911 belongs. The @code{@@deffn} command possesses three predefined, 10125 belongs. The @code{@@deffn} command possesses three predefined,
9912 specialized variations, @code{@@defun}, @code{@@defmac}, and 10126 specialized variations, @code{@@defun}, @code{@@defmac}, and
9913 @code{@@defspec}, that specify the category for you: ``Function'', 10127 @code{@@defspec}, that specify the category for you: ``Function'',
9914 ``Macro'', and ``Special Form'' respectively. The @code{@@defvr} 10128 ``Macro'', and ``Special Form'' respectively. (In Lisp, a special form
9915 command also is accompanied by several predefined, specialized 10129 is an entity much like a function.) The @code{@@defvr} command also is
9916 variations for describing particular kinds of variables.@refill 10130 accompanied by several predefined, specialized variations for describing
10131 particular kinds of variables.@refill
9917 10132
9918 The template for a specialized definition, such as @code{@@defun}, is 10133 The template for a specialized definition, such as @code{@@defun}, is
9919 similar to the template for a generalized definition, except that you 10134 similar to the template for a generalized definition, except that you
9920 do not need to specify the category:@refill 10135 do not need to specify the category:@refill
9921 10136
10188 works like @code{@@defun}.@refill 10403 works like @code{@@defun}.@refill
10189 10404
10190 @findex defspec 10405 @findex defspec
10191 @item @@defspec @var{name} @var{arguments}@dots{} 10406 @item @@defspec @var{name} @var{arguments}@dots{}
10192 The @code{@@defspec} command is the definition command for special 10407 The @code{@@defspec} command is the definition command for special
10193 forms. (In Lisp, a special form is an entity much like a function.) 10408 forms. (In Lisp, a special form is an entity much like a function,
10409 @pxref{Special Forms,,, elisp, GNU Emacs Lisp Reference Manual}.)
10194 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@} 10410 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@}
10195 @dots{}} and works like @code{@@defun}.@refill 10411 @dots{}} and works like @code{@@defun}.@refill
10196 @end table 10412 @end table
10197 10413
10198 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail 10414 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail
10210 example, ``Variable'' could be used if the entity is a variable. 10426 example, ``Variable'' could be used if the entity is a variable.
10211 Write the @code{@@defvr} command at the beginning of a line and 10427 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 10428 followed it on the same line by the category of the entity and the
10213 name of the entity.@refill 10429 name of the entity.@refill
10214 10430
10215 Capitalize the category name like a title. If the name of the 10431 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 10432 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 10433 Otherwise, the second word will be mistaken for the name of the entity.
10218 of the entity, for example: 10434 For example,
10219 10435
10220 @example 10436 @example
10221 @group 10437 @group
10222 @@defvr @{User Option@} fill-column 10438 @@defvr @{User Option@} fill-column
10223 This buffer-local variable specifies 10439 This buffer-local variable specifies
10272 @code{@@defvar} creates an entry in the index of variables for 10488 @code{@@defvar} creates an entry in the index of variables for
10273 @var{name}.@refill 10489 @var{name}.@refill
10274 10490
10275 @findex defopt 10491 @findex defopt
10276 @item @@defopt @var{name} 10492 @item @@defopt @var{name}
10277 The @code{@@defopt} command is the definition command for user 10493 @cindex User options, marking
10278 options. @code{@@defopt} is equivalent to @samp{@@defvr @{User 10494 The @code{@@defopt} command is the definition command for @dfn{user
10495 options}, i.e., variables intended for users to change according to
10496 taste; Emacs has many such (@pxref{Variables,,, emacs, The GNU Emacs
10497 Manual}). @code{@@defopt} is equivalent to @samp{@@defvr @{User
10279 Option@} @dots{}} and works like @code{@@defvar}.@refill 10498 Option@} @dots{}} and works like @code{@@defvar}.@refill
10280 @end table 10499 @end table
10281 10500
10501
10282 @node Typed Functions, Typed Variables, Variables Commands, Def Cmds in Detail 10502 @node Typed Functions, Typed Variables, Variables Commands, Def Cmds in Detail
10283 @subsection Functions in Typed Languages 10503 @subsection Functions in Typed Languages
10284 10504
10285 The @code{@@deftypefn} command and its variations are for describing 10505 The @code{@@deftypefn} command and its variations are for describing
10286 functions in C or any other language in which you must declare types 10506 functions in languages in which you must declare types of variables and
10287 of variables and functions.@refill 10507 functions, such as C and C++.
10288 10508
10289 @table @code 10509 @table @code
10290 @findex deftypefn 10510 @findex deftypefn
10291 @item @@deftypefn @var{category} @var{data-type} @var{name} @var{arguments}@dots{} 10511 @item @@deftypefn @var{category} @var{data-type} @var{name} @var{arguments}@dots{}
10292 The @code{@@deftypefn} command is the general definition command for 10512 The @code{@@deftypefn} command is the general definition command for
10386 is @code{push}, and its arguments are @var{s} and @var{n}.)@refill 10606 is @code{push}, and its arguments are @var{s} and @var{n}.)@refill
10387 10607
10388 @code{@@deftypefn} creates an entry in the index of functions for 10608 @code{@@deftypefn} creates an entry in the index of functions for
10389 @var{name}.@refill 10609 @var{name}.@refill
10390 10610
10611 @item @@deftypefun @var{data-type} @var{name} @var{arguments}@dots{}
10391 @findex deftypefun 10612 @findex deftypefun
10392 @item @@deftypefun @var{data-type} @var{name} @var{arguments}@dots{}
10393 The @code{@@deftypefun} command is the specialized definition command 10613 The @code{@@deftypefun} command is the specialized definition command
10394 for functions in typed languages. The command is equivalent to 10614 for functions in typed languages. The command is equivalent to
10395 @samp{@@deftypefn Function @dots{}}.@refill 10615 @samp{@@deftypefn Function @dots{}}.@refill
10396 10616
10397 @need 800 10617 @need 800
10439 @end group 10659 @end group
10440 @end example 10660 @end example
10441 10661
10442 @code{@@deftypefun} creates an entry in the index of functions for 10662 @code{@@deftypefun} creates an entry in the index of functions for
10443 @var{name}.@refill 10663 @var{name}.@refill
10664
10665 @item @@deftypemethod @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
10666 @findex deftypefun
10667 The @code{@@deftypemethod} command is the definition command for methods
10668 in object-oriented typed languages, such as C++ and Java. It is similar
10669 to the @code{@@deftypefn} with the addition of the @var{class} parameter
10670 to specify the class containing the method.
10671
10444 @end table 10672 @end table
10673
10445 10674
10446 @node Typed Variables, Abstract Objects, Typed Functions, Def Cmds in Detail 10675 @node Typed Variables, Abstract Objects, Typed Functions, Def Cmds in Detail
10447 @subsection Variables in Typed Languages 10676 @subsection Variables in Typed Languages
10448 10677
10449 Variables in typed languages are handled in a manner similar to 10678 Variables in typed languages are handled in a manner similar to
10682 @end example 10911 @end example
10683 10912
10684 @code{@@defop} creates an entry, such as `@code{expose} on 10913 @code{@@defop} creates an entry, such as `@code{expose} on
10685 @code{windows}', in the index of functions.@refill 10914 @code{windows}', in the index of functions.@refill
10686 10915
10916 @item @@defmethod @var{class} @var{name} @var{arguments}@dots{}
10687 @findex defmethod 10917 @findex defmethod
10688 @item @@defmethod @var{class} @var{name} @var{arguments}@dots{}
10689 The @code{@@defmethod} command is the definition command for methods 10918 The @code{@@defmethod} command is the definition command for methods
10690 in object-oriented programming. A method is a kind of function that 10919 in object-oriented programming. A method is a kind of function that
10691 implements an operation for a particular class of objects and its 10920 implements an operation for a particular class of objects and its
10692 subclasses. In the Lisp Machine, methods actually were functions, but 10921 subclasses. In the Lisp Machine, methods actually were functions, but
10693 they were usually defined with @code{defmethod}. 10922 they were usually defined with @code{defmethod}.
10723 @end group 10952 @end group
10724 @end example 10953 @end example
10725 10954
10726 @code{@@defmethod} creates an entry, such as `@code{bar-method} on 10955 @code{@@defmethod} creates an entry, such as `@code{bar-method} on
10727 @code{bar-class}', in the index of functions.@refill 10956 @code{bar-class}', in the index of functions.@refill
10957
10958 @item @@deftypemethod @var{class} @var{data-type} @var{name} @var{arguments}@dots{}
10959 @findex defmethod
10960 The @code{@@deftypemethod} command is the definition command for methods
10961 in object-oriented typed languages, such as C++ and Java. It is similar
10962 to the @code{@@defmethod} command with the addition of the
10963 @var{data-type} parameter to specify the return type of the method.
10964
10728 @end table 10965 @end table
10729 10966
10730 @node Data Types, , Abstract Objects, Def Cmds in Detail 10967
10968 @node Data Types, , Abstract Objects, Def Cmds in Detail
10731 @subsection Data Types 10969 @subsection Data Types
10732 10970
10733 Here is the command for data types:@refill 10971 Here is the command for data types:@refill
10734 10972
10735 @table @code 10973 @table @code
10782 arguments that indicate the meaning, as with the @var{count} argument 11020 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 11021 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 11022 contains the name of a type, such as @var{integer}, take care that the
10785 argument actually is of that type.@refill 11023 argument actually is of that type.@refill
10786 11024
10787 @node Sample Function Definition, , Def Cmd Conventions, Definition Commands 11025 @node Sample Function Definition, , Def Cmd Conventions, Definition Commands
10788 @section A Sample Function Definition 11026 @section A Sample Function Definition
10789 @cindex Function definitions 11027 @cindex Function definitions
10790 @cindex Command definitions 11028 @cindex Command definitions
10791 @cindex Macro definitions 11029 @cindex Macro definitions
10792 @cindex Sample function definition 11030 @cindex Sample function definition
10794 A function definition uses the @code{@@defun} and @code{@@end defun} 11032 A function definition uses the @code{@@defun} and @code{@@end defun}
10795 commands. The name of the function follows immediately after the 11033 commands. The name of the function follows immediately after the
10796 @code{@@defun} command and it is followed, on the same line, by the 11034 @code{@@defun} command and it is followed, on the same line, by the
10797 parameter list.@refill 11035 parameter list.@refill
10798 11036
10799 Here is a definition from @cite{The GNU Emacs Lisp Reference Manual}. 11037 Here is a definition from @ref{Calling Functions,,, elisp, The GNU Emacs
10800 (@xref{Calling Functions, , Calling Functions, elisp, The GNU Emacs 11038 Lisp Reference Manual}.
10801 Lisp Reference Manual}.)
10802 11039
10803 @quotation 11040 @quotation
10804 @defun apply function &rest arguments 11041 @defun apply function &rest arguments
10805 @code{apply} calls @var{function} with @var{arguments}, just 11042 @code{apply} calls @var{function} with @var{arguments}, just
10806 like @code{funcall} but with one difference: the last of 11043 like @code{funcall} but with one difference: the last of
10883 Index under @code{apply}.@refill 11120 Index under @code{apply}.@refill
10884 11121
10885 Ordinary variables and user options are described using a format like 11122 Ordinary variables and user options are described using a format like
10886 that for functions except that variables do not take arguments. 11123 that for functions except that variables do not take arguments.
10887 11124
11125
10888 @node Footnotes, Conditionals, Definition Commands, Top 11126 @node Footnotes, Conditionals, Definition Commands, Top
10889 @comment node-name, next, previous, up
10890 @chapter Footnotes 11127 @chapter Footnotes
10891 @cindex Footnotes 11128 @cindex Footnotes
10892 @findex footnote 11129 @findex footnote
10893 11130
10894 A @dfn{footnote} is for a reference that documents or elucidates the 11131 A @dfn{footnote} is for a reference that documents or elucidates the
10906 @node Footnote Commands, Footnote Styles, Footnotes, Footnotes 11143 @node Footnote Commands, Footnote Styles, Footnotes, Footnotes
10907 @section Footnote Commands 11144 @section Footnote Commands
10908 11145
10909 In Texinfo, footnotes are created with the @code{@@footnote} command. 11146 In Texinfo, footnotes are created with the @code{@@footnote} command.
10910 This command is followed immediately by a left brace, then by the text 11147 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 11148 of the footnote, and then by a terminating right brace. Footnotes may
10912 is: 11149 be of any length (they will be broken across pages if necessary), but
10913 11150 are usually short. The template is:
10914 @example 11151
10915 @@footnote@{@var{text}@} 11152 @example
10916 @end example 11153 ordinary text@@footnote@{@var{text of footnote}@}
10917 11154 @end example
10918 Footnotes may be of any length, but are usually short.@refill 11155
11156 As shown here, the @code{@@footnote} command should come right after the
11157 text being footnoted, with no intervening space; otherwise, the
11158 formatters the footnote mark might end up starting up a line.
10919 11159
10920 For example, this clause is followed by a sample 11160 For example, this clause is followed by a sample
10921 footnote@footnote{Here is the sample footnote.}; in the Texinfo 11161 footnote@footnote{Here is the sample footnote.}; in the Texinfo
10922 source, it looks like this:@refill 11162 source, it looks like this:@refill
10923 11163
10924 @example 11164 @example
10925 @dots{}a sample footnote @@footnote@{Here is the sample 11165 @dots{}a sample footnote@@footnote@{Here is the sample
10926 footnote.@}; in the Texinfo source@dots{} 11166 footnote.@}; in the Texinfo source@dots{}
10927 @end example 11167 @end example
10928 11168
10929 @strong{Warning:} Don't use footnotes in the argument of the 11169 @strong{Warning:} Don't use footnotes in the argument of the
10930 @code{@@item} command for a @code{@@table} table. This doesn't work; 11170 @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 11171 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. 11172 put the footnote into the body text of the table.
10933 11173
10934 In a printed manual or book, the reference mark for a footnote is a 11174 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 11175 small, superscripted number; the text of the footnote appears at the
10936 bottom of the page, below a horizontal line.@refill 11176 bottom of the page, below a horizontal line.@refill
10937 11177
10938 In Info, the reference mark for a footnote is a pair of parentheses 11178 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 11179 with the footnote number between them, like this: @samp{(1)}.@refill
10940 11180
10941 @node Footnote Styles, , Footnote Commands, Footnotes 11181
11182 @node Footnote Styles, , Footnote Commands, Footnotes
10942 @section Footnote Styles 11183 @section Footnote Styles
10943 11184
10944 Info has two footnote styles, which determine where the text of the 11185 Info has two footnote styles, which determine where the text of the
10945 footnote is located:@refill 11186 footnote is located:@refill
10946 11187
11062 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer} 11303 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer}
11063 command in Emacs.@refill 11304 command in Emacs.@refill
11064 @end ignore 11305 @end ignore
11065 This chapter contains two footnotes.@refill 11306 This chapter contains two footnotes.@refill
11066 11307
11308
11067 @node Conditionals, Macros, Footnotes, Top 11309 @node Conditionals, Macros, Footnotes, Top
11068 @comment node-name, next, previous, up 11310 @comment node-name, next, previous, up
11069 @chapter Conditionally Visible Text 11311 @chapter Conditionally Visible Text
11070 @cindex Conditionally visible text 11312 @cindex Conditionally visible text
11071 @cindex Text, conditionally visible 11313 @cindex Text, conditionally visible
11072 @cindex Visibility of conditional text 11314 @cindex Visibility of conditional text
11073 @cindex If text conditionally visible 11315 @cindex If text conditionally visible
11074 @findex ifhtml
11075 @findex ifinfo
11076 @findex iftex
11077 11316
11078 Sometimes it is good to use different text for a printed manual and 11317 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 11318 its corresponding Info file. In this case, you can use the
11080 @dfn{conditional commands} to specify which text is for the printed manual 11319 @dfn{conditional commands} to specify which text is for the printed manual
11081 and which is for the Info file.@refill 11320 and which is for the Info file.@refill
11082 11321
11083 @menu 11322 @menu
11084 * Conditional Commands:: How to specify text for HTML, Info, or @TeX{}. 11323 * Conditional Commands:: Specifying text for HTML, Info, or @TeX{}.
11085 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands. 11324 * Conditional Not Commands:: Specifying text for not HTML, Info, or @TeX{}.
11086 * set clear value:: How to designate which text to format (for 11325 * Raw Formatter Commands:: Using raw @TeX{} or HTML commands.
11087 both Info and @TeX{}); and how to set a 11326 * set clear value:: Designating which text to format (for
11327 all output formats); and how to set a
11088 flag to a string that you can insert. 11328 flag to a string that you can insert.
11089 @end menu 11329 @end menu
11090 11330
11091 @node Conditional Commands, Using Ordinary TeX Commands, Conditionals, Conditionals 11331 @node Conditional Commands, Conditional Not Commands, Conditionals, Conditionals
11092 @ifinfo 11332 @ifinfo
11093 @heading Using @code{@@ifinfo} and @code{@@iftex} 11333 @heading Conditional Commands
11094 @end ifinfo 11334 @end ifinfo
11095 11335
11336 @findex ifinfo
11096 @code{@@ifinfo} begins segments of text that should be ignored 11337 @code{@@ifinfo} begins segments of text that should be ignored
11097 by @TeX{} when it 11338 by @TeX{} when it
11098 typesets the printed manual. The segment of text appears only 11339 typesets the printed manual. The segment of text appears only
11099 in the Info file. 11340 in the Info file.
11100 The @code{@@ifinfo} command should appear on a line by itself; end 11341 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 11342 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 11343 itself. At the beginning of a Texinfo file, the Info permissions are
11103 contained within a region marked by @code{@@ifinfo} and @code{@@end 11344 contained within a region marked by @code{@@ifinfo} and @code{@@end
11104 ifinfo}. (@xref{Info Summary and Permissions}.)@refill 11345 ifinfo}. (@xref{Info Summary and Permissions}.)@refill
11105 11346
11347 @findex iftex
11348 @findex ifhtml
11106 The @code{@@iftex} and @code{@@end iftex} commands are similar to the 11349 The @code{@@iftex} and @code{@@end iftex} commands are similar to the
11107 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they 11350 @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 11351 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 11352 file. Likewise for @code{@@ifhtml} and @code{@@end ifhtml}, which
11110 specify text to appear only in HTML output.@refill 11353 specify text to appear only in HTML output.@refill
11111 11354
11112 @need 700
11113 For example, 11355 For example,
11114 11356
11115 @example 11357 @example
11116 @@iftex 11358 @@iftex
11117 This text will appear only in the printed manual. 11359 This text will appear only in the printed manual.
11118 @@end iftex 11360 @@end iftex
11119
11120 @@ifinfo 11361 @@ifinfo
11121 However, this text will appear only in Info. 11362 However, this text will appear only in Info.
11122 @@end ifinfo 11363 @@end ifinfo
11123 @end example 11364 @end example
11124 11365
11125 @noindent 11366 @noindent
11126 The preceding example produces the following line: 11367 The preceding example produces the following line:
11127
11128 @iftex 11368 @iftex
11129 This text will appear only in the printed manual. 11369 This text will appear only in the printed manual.
11130 @end iftex 11370 @end iftex
11131
11132 @ifinfo 11371 @ifinfo
11133 However, this text will appear only in Info. 11372 However, this text will appear only in Info.
11134 @end ifinfo 11373 @end ifinfo
11135 11374
11136 @noindent 11375 @noindent
11138 are reading the Info version or the printed version of this 11377 are reading the Info version or the printed version of this
11139 manual.@refill 11378 manual.@refill
11140 11379
11141 The @code{@@titlepage} command is a special variant of @code{@@iftex} that 11380 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 11381 is used for making the title and copyright pages of the printed
11143 manual. (@xref{titlepage, , @code{@@titlepage}}.) @refill 11382 manual. (@xref{titlepage, , @code{@@titlepage}}.) @refill
11144 11383
11145 @node Using Ordinary TeX Commands, set clear value, Conditional Commands, Conditionals 11384
11146 @comment node-name, next, previous, up 11385 @node Conditional Not Commands, Raw Formatter Commands, Conditional Commands, Conditionals
11147 @section Using Ordinary @TeX{} Commands 11386 @section Conditional Not Commands
11387 @findex ifnothtml
11388 @findex ifnotinfo
11389 @findex ifnottex
11390
11391 You can specify text to be included in any output format @emph{other}
11392 than some given one with the @code{@@ifnot@dots{}} commands:
11393 @example
11394 @@ifnothtml @dots{} @@end ifnothtml
11395 @@ifnotinfo @dots{} @@end ifnotinfo
11396 @@ifnottex @dots{} @@end ifnottex
11397 @end example
11398 @noindent
11399 (The @code{@@ifnot@dots{}} command and the @code{@@end} command must
11400 actually appear on lines by themselves.)
11401
11402 If the output file is not being made for the given format, the region is
11403 included. Otherwise, it is ignored.
11404
11405 The regions delimited by these commands are ordinary Texinfo source as
11406 with @code{@@iftex}, not raw formatter source as with @code{@@tex}.
11407
11408
11409 @node Raw Formatter Commands, set clear value, Conditional Not Commands, Conditionals
11410 @section Raw Formatter Commands
11148 @cindex @TeX{} commands, using ordinary 11411 @cindex @TeX{} commands, using ordinary
11412 @cindex HTML commands, using ordinary
11413 @cindex Raw formatter commands
11149 @cindex Ordinary @TeX{} commands, using 11414 @cindex Ordinary @TeX{} commands, using
11150 @cindex Commands using ordinary @TeX{} 11415 @cindex Ordinary HTML commands, using
11416 @cindex Commands using raw @TeX{}
11417 @cindex Commands using raw HTML
11151 @cindex plain @TeX{} 11418 @cindex plain @TeX{}
11152 11419
11153 Inside a region delineated by @code{@@iftex} and @code{@@end iftex}, 11420 Inside a region delineated by @code{@@iftex} and @code{@@end iftex}, you
11154 you can embed some plain @TeX{} commands. Info will ignore these 11421 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 11422 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 11423 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 11424 @TeX{} file, except that you must replace the @samp{\} used by @TeX{}
11158 by @TeX{} with an @samp{@@}. For example, in the @code{@@titlepage} 11425 with an @samp{@@}. For example, in the @code{@@titlepage} section of a
11159 section of a Texinfo file, you can use the @TeX{} command 11426 Texinfo file, you can use the @TeX{} command @code{@@vskip} to format
11160 @code{@@vskip} to format the copyright page. (The @code{@@titlepage} 11427 the copyright page. (The @code{@@titlepage} command causes Info to
11161 command causes Info to ignore the region automatically, as it does 11428 ignore the region automatically, as it does with the @code{@@iftex}
11162 with the @code{@@iftex} command.)@refill 11429 command.)
11163 11430
11164 However, many features of plain @TeX{} will not work, as they are 11431 However, many features of plain @TeX{} will not work, as they are
11165 overridden by features of Texinfo. 11432 overridden by Texinfo features.
11166 11433
11167 @findex tex 11434 @findex tex
11168 You can enter plain @TeX{} completely, and use @samp{\} in the @TeX{} 11435 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 11436 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 11437 tex} commands. (The @code{@@tex} command also causes Info to ignore the
11171 region, like the @code{@@iftex} 11438 region, like the @code{@@iftex} command.) The sole exception is that
11172 command.)@refill 11439 @code{@@} chracter still introduces a command, so that @code{@@end tex}
11440 can be recognized properly.
11173 11441
11174 @cindex Mathematical expressions 11442 @cindex Mathematical expressions
11175 For example, here is a mathematical expression written in 11443 For example, here is a mathematical expression written in
11176 plain @TeX{}:@refill 11444 plain @TeX{}:
11177 11445
11178 @example 11446 @example
11179 @@tex 11447 @@tex
11180 $$ \chi^2 = \sum_@{i=1@}^N 11448 $$ \chi^2 = \sum_@{i=1@}^N
11181 \left (y_i - (a + b x_i) 11449 \left (y_i - (a + b x_i)
11183 @@end tex 11451 @@end tex
11184 @end example 11452 @end example
11185 11453
11186 @noindent 11454 @noindent
11187 The output of this example will appear only in a printed manual. If 11455 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 11456 you are reading this in Info, you will not see the equation that appears
11189 paragraph. 11457 in the printed manual.
11190 @iftex 11458 @iftex
11191 In a printed manual, the above expression looks like 11459 In a printed manual, the above expression looks like
11192 this: 11460 this:
11193 @end iftex 11461 @end iftex
11194 11462
11196 $$ \chi^2 = \sum_{i=1}^N 11464 $$ \chi^2 = \sum_{i=1}^N
11197 \left(y_i - (a + b x_i) 11465 \left(y_i - (a + b x_i)
11198 \over \sigma_i\right)^2 $$ 11466 \over \sigma_i\right)^2 $$
11199 @end tex 11467 @end tex
11200 11468
11201 @node set clear value, , Using Ordinary TeX Commands, Conditionals 11469 @findex ifhtml
11470 @findex html
11471 Analogously, you can use @code{@@ifhtml @dots{} @@end ifhtml} to delimit
11472 a region to be included in HTML output only, and @code{@@html @dots{}
11473 @@end ifhtml} for a region of raw HTML (again, except that @code{@@} is
11474 still the escape character, so the @code{@@end} command can be
11475 recognized.)
11476
11477
11478 @node set clear value, , Raw Formatter Commands, Conditionals
11202 @comment node-name, next, previous, up 11479 @comment node-name, next, previous, up
11203 @section @code{@@set}, @code{@@clear}, and @code{@@value} 11480 @section @code{@@set}, @code{@@clear}, and @code{@@value}
11204 11481
11205 You can direct the Texinfo formatting commands to format or ignore parts 11482 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}, 11483 of a Texinfo file with the @code{@@set}, @code{@@clear}, @code{@@ifset},
11215 @menu 11492 @menu
11216 * ifset ifclear:: Format a region if a flag is set. 11493 * ifset ifclear:: Format a region if a flag is set.
11217 * value:: Replace a flag with a string. 11494 * value:: Replace a flag with a string.
11218 * value Example:: An easy way to update edition information. 11495 * value Example:: An easy way to update edition information.
11219 @end menu 11496 @end menu
11497
11220 11498
11221 @node ifset ifclear, value, set clear value, set clear value 11499 @node ifset ifclear, value, set clear value, set clear value
11222 @subsection @code{@@ifset} and @code{@@ifclear} 11500 @subsection @code{@@ifset} and @code{@@ifclear}
11223 11501
11224 @findex ifset 11502 @findex ifset
11412 @exdent @r{into} 11690 @exdent @r{into}
11413 It is a @{No value for "how-much"@} wet day. 11691 It is a @{No value for "how-much"@} wet day.
11414 @end group 11692 @end group
11415 @end example 11693 @end example
11416 11694
11417 @node value Example, , value, set clear value 11695 @node value Example, , value, set clear value
11418 @subsection @code{@@value} Example 11696 @subsection @code{@@value} Example
11419 11697
11420 You can use the @code{@@value} command to limit the number of places you 11698 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. 11699 need to change when you record an update to a manual.
11422 Here is how it is done in @cite{The GNU Make Manual}: 11700 Here is how it is done in @cite{The GNU Make Manual}:
11558 @example 11836 @example
11559 @@unmacro foo 11837 @@unmacro foo
11560 @end example 11838 @end example
11561 11839
11562 11840
11563 @node Invoking Macros, , Defining Macros, Macros 11841 @node Invoking Macros, , Defining Macros, Macros
11564 @section Invoking Macros 11842 @section Invoking Macros
11565 @cindex Invoking macros 11843 @cindex Invoking macros
11566 @cindex Macro invocation 11844 @cindex Macro invocation
11567 11845
11568 After a macro is defined (see the previous section), you can use 11846 After a macro is defined (see the previous section), you can use
11666 @heading Use @TeX{} 11944 @heading Use @TeX{}
11667 @end ifinfo 11945 @end ifinfo
11668 11946
11669 The typesetting program called @TeX{} is used for formatting a Texinfo 11947 The typesetting program called @TeX{} is used for formatting a Texinfo
11670 file. @TeX{} is a very powerful typesetting program and, if used right, 11948 file. @TeX{} is a very powerful typesetting program and, if used right,
11671 does an exceptionally good job. @xref{Obtaining TeX, , How to Obtain 11949 does an exceptionally good job. (@xref{Obtaining TeX, , How to Obtain
11672 @TeX{}}, for information on how to obtain @TeX{}.@refill 11950 @TeX{}}, for information on how to obtain @TeX{}.)
11673 11951
11674 The @code{makeinfo}, @code{texinfo-format-region}, and 11952 The @code{makeinfo}, @code{texinfo-format-region}, and
11675 @code{texinfo-format-buffer} commands read the very same @@-commands 11953 @code{texinfo-format-buffer} commands read the very same @@-commands
11676 in the Texinfo file as does @TeX{}, but process them differently to 11954 in the Texinfo file as does @TeX{}, but process them differently to
11677 make an Info file; see @ref{Create an Info File}.@refill 11955 make an Info file; see @ref{Create an Info File}.@refill
11682 @cindex Shell formatting with @code{tex} and @code{texindex} 11960 @cindex Shell formatting with @code{tex} and @code{texindex}
11683 @cindex Formatting with @code{tex} and @code{texindex} 11961 @cindex Formatting with @code{tex} and @code{texindex}
11684 @cindex DVI file 11962 @cindex DVI file
11685 11963
11686 Format the Texinfo file with the shell command @code{tex} followed by 11964 Format the Texinfo file with the shell command @code{tex} followed by
11687 the name of the Texinfo file. This command produces a formatted 11965 the name of the Texinfo file. For example:
11688 @sc{dvi} file as well as several auxiliary files containing indices, 11966
11689 cross references, etc. The @sc{dvi} file (for @dfn{DeVice Independent} 11967 @example
11690 file) can be printed on a wide variety of printers.@refill 11968 tex foo.texi
11691 11969 @end example
11970
11971 @noindent @TeX{} will produce a @dfn{DVI file} as well as several auxiliary
11972 files containing information for indices, cross references, etc. The
11973 DVI file (for @dfn{DeVice Independent} file) can be printed on virtually
11974 any printe (see the following sections).
11975
11976 @pindex texindex
11692 The @code{tex} formatting command itself does not sort the indices; it 11977 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 11978 writes an output file of unsorted index data. (The @code{texi2dvi}
11694 @TeX{}. (The @code{texi2dvi} command automatically generates indices; 11979 command automatically generates indices; see @ref{Format with texi2dvi,,
11695 see @ref{Format with texi2dvi, , Format using @code{texi2dvi}}.) To 11980 Format using @code{texi2dvi}}.) To generate a printed index after
11696 generate a printed index after running the @code{tex} command, you first 11981 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 11982 from. The @code{texindex} command sorts indices. (The source file
11698 indices. (The source file @file{texindex.c} comes as part of the 11983 @file{texindex.c} comes as part of the standard Texinfo distribution,
11699 standard GNU distribution and is usually installed when Emacs is 11984 among other places.)@refill
11700 installed.)@refill 11985
11701 @pindex texindex 11986 @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 11987 The @code{tex} formatting command outputs unsorted index files under
11714 names that obey a standard convention. These names are the name of 11988 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 11989 with any @samp{.tex} (or similar, @pxref{tex invocation,,, web2c,
11716 everything after the first period thrown away, and the two letter 11990 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 11991 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}, 11992 @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 11993 @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 11994 arguments to give to @code{texindex}.@refill
11721 @code{texindex}.@refill
11722 11995
11723 @need 1000 11996 @need 1000
11724 Or else, you can use @samp{??} as ``wild-cards'' and give the command in 11997 @cindex Wildcards
11725 this form:@refill 11998 @cindex Globbing
11999 Instead of specifying all the unsorted index file names explicitly, you
12000 can use @samp{??} as shell wildcards and give the command in this
12001 form:@refill
11726 12002
11727 @example 12003 @example
11728 texindex foo.?? 12004 texindex foo.??
11729 @end example 12005 @end example
11730 12006
11736 that are not index files, such as @samp{foo.el}. The @code{texindex} 12012 that are not index files, such as @samp{foo.el}. The @code{texindex}
11737 command reports but otherwise ignores such files.)@refill 12013 command reports but otherwise ignores such files.)@refill
11738 12014
11739 For each file specified, @code{texindex} generates a sorted index file 12015 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 12016 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. 12017 @code{@@printindex} command knows to look for a file of that name
11742 @code{texindex} does not alter the raw index output file.@refill 12018 (@pxref{Printing Indices & Menus}). @code{texindex} does not alter the
12019 raw index output file.@refill
11743 12020
11744 After you have sorted the indices, you need to rerun the @code{tex} 12021 After you have sorted the indices, you need to rerun the @code{tex}
11745 formatting command on the Texinfo file. This regenerates a formatted 12022 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 12023 this time with up-to-date index entries.
11747 than one index and have cross references to an index other than the 12024
11748 first, you must run @code{tex} @emph{three times} to get correct output: 12025 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 12026 numbers in the cross-references correct.
11750 the text of the indices and determine their true page numbers; and a 12027
11751 third time to output correct page numbers in cross references to them. 12028 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 12029
11756 @enumerate 12030 @enumerate
11757 @item 12031 @item
11758 Run the @code{tex} formatting command on the Texinfo file. This 12032 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 12033 undefined cross-references and no indices), and the raw index files
11760 with two letter extensions.@refill 12034 (with two letter extensions).
11761 12035
11762 @item 12036 @item
11763 Run the shell command @code{texindex} on the raw index files to sort 12037 Run @code{texindex} on the raw index files. This creates the
11764 them. This creates the corresponding sorted index files.@refill 12038 corresponding sorted index files (with three letter extensions).
11765 12039
11766 @item 12040 @item
11767 Rerun the @code{tex} formatting command on the Texinfo file. This 12041 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 12042 file, this time with indices and defined cross-references, but with page
11769 correct order. This second run also corrects the page numbers for 12043 numbers for the cross-references from last time, generally incorrect.
11770 the cross references. (The tables of contents are always correct.)@refill 12044
12045 @item
12046 Run @code{tex} one last time. This time the correct page numbers are
12047 written for the cross-references.
11771 @end enumerate 12048 @end enumerate
11772 12049
11773 You need not run @code{texindex} each time after you run the 12050 @pindex texi2dvi
11774 @code{tex} formatting. If you do not, on the next run, the @code{tex} 12051 Alternatively, it's a one-step process: run @code{texi2dvi}.
11775 formatting command will use whatever sorted index files happen to 12052
11776 exist from the previous use of @code{texindex}. This is usually 12053 You need not run @code{texindex} each time after you run @code{tex}. If
11777 @sc{ok} while you are debugging.@refill 12054 you do not, on the next run, the @code{tex} formatting command will use
12055 whatever sorted index files happen to exist from the previous use of
12056 @code{texindex}. This is usually ok while you are
12057 debugging.@refill
11778 12058
11779 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy 12059 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy
11780 @comment node-name, next, previous, up 12060 @comment node-name, next, previous, up
11781 @section Format using @code{texi2dvi} 12061 @section Format using @code{texi2dvi}
11782 @pindex texi2dvi @r{(shell script)} 12062 @pindex texi2dvi @r{(shell script)}
11783 12063
11784 The @code{texi2dvi} command is a shell script that automatically runs 12064 The @code{texi2dvi} command is a shell script that automatically runs
11785 both @code{tex} and @code{texindex} as many times as necessary to 12065 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 12066 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 12067 @code{tex}---@code{texindex}---@code{tex} sequence described in the
11788 previous section. 12068 previous section.
11789 12069
11790 @need 1000 12070 @need 1000
11791 The syntax for @code{texi2dvi} is like this (where @samp{prompt$} is the 12071 The syntax for @code{texi2dvi} is like this (where @samp{prompt$} is the
11792 shell prompt):@refill 12072 shell prompt):@refill
11796 @end example 12076 @end example
11797 12077
11798 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy 12078 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy
11799 @comment node-name, next, previous, up 12079 @comment node-name, next, previous, up
11800 @section Shell Print Using @code{lpr -d} 12080 @section Shell Print Using @code{lpr -d}
11801 @pindex lpr @r{(@sc{dvi} print command)} 12081 @pindex lpr @r{(DVI print command)}
11802 12082
11803 You can print a @sc{dvi} file with the @sc{dvi} print command. The 12083 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 12084 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 12085 DVI file name without any extension or with a @samp{.dvi}
11806 extension or with a @samp{.dvi} extension.@refill 12086 extension. (If it is @samp{lpr}, you must include the @samp{.dvi}.)
11807 12087
11808 @need 1200 12088 The following commands, for example, will (probably) suffice to sort the
11809 The following commands, for example, sort the indices, format, and 12089 indices, format, and print the @cite{Bison Manual}:
11810 print the @cite{Bison Manual} (where @samp{%} is the shell 12090
11811 prompt):@refill 12091 @example
11812 12092 @group
11813 @example 12093 tex bison.texinfo
11814 @group 12094 texindex bison.??
11815 % tex bison.texinfo 12095 tex bison.texinfo
11816 % texindex bison.?? 12096 lpr -d bison.dvi
11817 % tex bison.texinfo
11818 % lpr -d bison.dvi
11819 @end group 12097 @end group
11820 @end example 12098 @end example
11821 12099
11822 @noindent 12100 @noindent
11823 (Remember that the shell commands may be different at your site; but 12101 (Remember that the shell commands may be different at your site; but
11826 @need 1000 12104 @need 1000
11827 Using the @code{texi2dvi} shell script, you simply need type:@refill 12105 Using the @code{texi2dvi} shell script, you simply need type:@refill
11828 12106
11829 @example 12107 @example
11830 @group 12108 @group
11831 % texi2dvi bison.texinfo 12109 texi2dvi bison.texinfo
11832 % lpr -d bison.dvi 12110 lpr -d bison.dvi
11833 @end group 12111 @end group
11834 @end example 12112 @end example
11835 12113
11836 @node Within Emacs, Texinfo Mode Printing, Print with lpr, Format/Print Hardcopy 12114 @node Within Emacs, Texinfo Mode Printing, Print with lpr, Format/Print Hardcopy
11837 @comment node-name, next, previous, up 12115 @comment node-name, next, previous, up
11838 @section From an Emacs Shell @dots{} 12116 @section From an Emacs Shell
11839 @cindex Print, format from Emacs shell 12117 @cindex Print, format from Emacs shell
11840 @cindex Format, print from Emacs shell 12118 @cindex Format, print from Emacs shell
11841 @cindex Shell, format, print from 12119 @cindex Shell, format, print from
11842 @cindex Emacs shell, format, print from 12120 @cindex Emacs shell, format, print from
11843 @cindex GNU Emacs shell, format, print from 12121 @cindex GNU Emacs shell, format, print from
11851 running and do other editing. If you are formatting a long document 12129 running and do other editing. If you are formatting a long document
11852 on a slow machine, this can be very convenient.@refill 12130 on a slow machine, this can be very convenient.@refill
11853 12131
11854 You can also use @code{texi2dvi} from an Emacs shell. For example, 12132 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 12133 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 12134 Porting GNU CC} from a shell within Emacs:
11857 prompt):@refill 12135
11858 12136 @example
11859 @example 12137 @group
11860 @group 12138 texi2dvi gcc.texinfo
11861 % texi2dvi gcc.texinfo 12139 lpr -d gcc.dvi
11862 % lpr -d gcc.dvi
11863 @end group 12140 @end group
11864 @end example 12141 @end example
11865 @ifinfo 12142 @ifinfo
11866 12143
11867 @xref{Texinfo Mode Printing}, for more information about formatting 12144 @xref{Texinfo Mode Printing}, for more information about formatting
11894 Sort the indices of a Texinfo file formatted with 12171 Sort the indices of a Texinfo file formatted with
11895 @code{texinfo-tex-region}.@refill 12172 @code{texinfo-tex-region}.@refill
11896 12173
11897 @item C-c C-t C-p 12174 @item C-c C-t C-p
11898 @itemx M-x texinfo-tex-print 12175 @itemx M-x texinfo-tex-print
11899 Print a @sc{dvi} file that was made with @code{texinfo-tex-region} or 12176 Print a DVI file that was made with @code{texinfo-tex-region} or
11900 @code{texinfo-tex-buffer}.@refill 12177 @code{texinfo-tex-buffer}.@refill
11901 12178
11902 @item C-c C-t C-q 12179 @item C-c C-t C-q
11903 @itemx M-x tex-show-print-queue 12180 @itemx M-x tex-show-print-queue
11904 Show the print queue.@refill 12181 Show the print queue.@refill
11932 follows (with comments to the right):@refill 12209 follows (with comments to the right):@refill
11933 12210
11934 @example 12211 @example
11935 @group 12212 @group
11936 C-c C-t C-b @r{Run @code{texi2dvi} on the buffer.} 12213 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.} 12214 C-c C-t C-p @r{Print the DVI file.}
11938 C-c C-t C-q @r{Display the printer queue.} 12215 C-c C-t C-q @r{Display the printer queue.}
11939 @end group 12216 @end group
11940 @end example 12217 @end example
11941 12218
11942 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs 12219 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 12268 For example, at the end of the @file{gdb.texinfo} file, after the
11992 @code{@@bye}, you could put the following:@refill 12269 @code{@@bye}, you could put the following:@refill
11993 12270
11994 @example 12271 @example
11995 @group 12272 @group
11996 @@c Local Variables: 12273 Local Variables:
11997 @@c compile-command: "texi2dvi gdb.texinfo" 12274 compile-command: "texi2dvi gdb.texinfo"
11998 @@c End: 12275 End:
11999 @end group 12276 @end group
12000 @end example 12277 @end example
12001 12278
12002 @noindent 12279 @noindent
12003 This technique is most often used by programmers who also compile programs 12280 This technique is most often used by programmers who also compile programs
12004 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill 12281 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill
12282
12005 12283
12006 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy 12284 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy
12007 @comment node-name, next, previous, up 12285 @comment node-name, next, previous, up
12008 @section @TeX{} Formatting Requirements Summary 12286 @section @TeX{} Formatting Requirements Summary
12009 @cindex Requirements for formatting 12287 @cindex Requirements for formatting
12288 @cindex Minimal requirements for formatting
12010 @cindex Formatting requirements 12289 @cindex Formatting requirements
12011 12290
12012 Every Texinfo file that is to be input to @TeX{} must begin with a 12291 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 12292 @code{\input} command and must contain an @code{@@setfilename} command:
12014 an @code{@@settitle} command:@refill
12015 12293
12016 @example 12294 @example
12017 \input texinfo 12295 \input texinfo
12018 @@setfilename @var{arg-not-used-by-@TeX{}} 12296 @@setfilename @var{arg-not-used-by-@TeX{}}
12019 @@settitle @var{name-of-manual}
12020 @end example 12297 @end example
12021 12298
12022 @noindent 12299 @noindent
12023 The first command instructs @TeX{} to load the macros it needs to 12300 The first command instructs @TeX{} to load the macros it needs to
12024 process a Texinfo file, the second command opens auxiliary files, and 12301 process a Texinfo file and the second command opens auxiliary files.
12025 the third specifies the title of printed manual. 12302
12026 12303 Every Texinfo file must end with a line that terminates @TeX{}'s
12027 @need 1000 12304 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 12305
12031 @example 12306 @example
12032 @@bye 12307 @@bye
12033 @end example 12308 @end example
12034 12309
12035 Strictly speaking, these four lines are all a Texinfo file needs for 12310 Strictly speaking, these lines are all a Texinfo file needs to be
12036 @TeX{}, besides the body. (The @code{@@setfilename} line is the only 12311 processed successfully by @TeX{}.
12037 line that a Texinfo file needs for Info formatting.)@refill 12312
12038 12313 Usually, however, the beginning includes an @code{@@settitle} command to
12039 Usually, the file's first line contains an @samp{@@c -*-texinfo-*-} 12314 define the title of the printed manual, an @code{@@setchapternewpage}
12040 comment that causes Emacs to switch to Texinfo mode when you edit the 12315 command, a title page, a copyright page, and permissions. Besides an
12041 file. In addition, the beginning usually includes an 12316 @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 12317 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 12318
12046 @iftex 12319 @iftex
12047 For more information, see 12320 For more information, see
12321 @ref{settitle, , @code{@@settitle}},
12048 @ref{setchapternewpage, , @code{@@setchapternewpage}}, 12322 @ref{setchapternewpage, , @code{@@setchapternewpage}},
12049 @ref{Headings, ,Page Headings}, 12323 @ref{Headings, ,Page Headings},
12050 @ref{Titlepage & Copyright Page}, 12324 @ref{Titlepage & Copyright Page},
12051 @ref{Printing Indices & Menus}, and 12325 @ref{Printing Indices & Menus}, and
12052 @ref{Contents}. 12326 @ref{Contents}.
12053 @end iftex 12327 @end iftex
12054 @noindent 12328 @noindent
12055 @ifinfo 12329 @ifinfo
12056 For more information, see@* 12330 For more information, see@*
12331 @ref{settitle, , @code{@@settitle}},@*
12057 @ref{setchapternewpage, , @code{@@setchapternewpage}},@* 12332 @ref{setchapternewpage, , @code{@@setchapternewpage}},@*
12058 @ref{Headings, ,Page Headings},@* 12333 @ref{Headings, ,Page Headings},@*
12059 @ref{Titlepage & Copyright Page},@* 12334 @ref{Titlepage & Copyright Page},@*
12060 @ref{Printing Indices & Menus}, and@* 12335 @ref{Printing Indices & Menus}, and@*
12061 @ref{Contents}. 12336 @ref{Contents}.
12062 @end ifinfo 12337 @end ifinfo
12338
12063 12339
12064 @node Preparing for TeX, Overfull hboxes, Requirements Summary, Format/Print Hardcopy 12340 @node Preparing for TeX, Overfull hboxes, Requirements Summary, Format/Print Hardcopy
12065 @comment node-name, next, previous, up 12341 @comment node-name, next, previous, up
12066 @section Preparing to Use @TeX{} 12342 @section Preparing to Use @TeX{}
12067 @cindex Preparing to use @TeX{} 12343 @cindex Preparing to use @TeX{}
12070 @vindex TEXINPUTS 12346 @vindex TEXINPUTS
12071 @cindex @b{.profile} initialization file 12347 @cindex @b{.profile} initialization file
12072 @cindex @b{.cshrc} initialization file 12348 @cindex @b{.cshrc} initialization file
12073 @cindex Initialization file for @TeX{} input 12349 @cindex Initialization file for @TeX{} input
12074 12350
12075 @TeX{} needs to know where to find the @file{texinfo.tex} file 12351 @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 12352 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 12353 beginning of the first line. The @file{texinfo.tex} file tells @TeX{}
12078 @TeX{} how to handle @@-commands. (@file{texinfo.tex} is 12354 how to handle @@-commands; it is included in all standard GNU
12079 included in the standard GNU distributions.)@refill 12355 distributions.
12080 12356
12081 Usually, the @file{texinfo.tex} file is put in the default directory 12357 @pindex texinfo.tex@r{, installing}
12082 that contains @TeX{} macros (the @file{/usr/lib/tex/macros} 12358 Usually, the @file{texinfo.tex} file is put under the default directory
12083 directory) when GNU Emacs or other GNU software is installed. 12359 that contains @TeX{} macros
12084 In this case, @TeX{} will 12360 (@file{/usr/local/share/texmf/tex/texinfo/texinfo.tex} by default) when
12361 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. 12362 find the file and you do not need to do anything special.
12086 Alternatively, you can put @file{texinfo.tex} in the directory in 12363 Alternatively, you can put @file{texinfo.tex} in the current directory
12087 which the Texinfo source file is located, and @TeX{} will find it 12364 when you run @TeX{}, and @TeX{} will find it there.
12088 there.@refill 12365
12089 12366 @pindex epsf.tex@r{, installing}
12090 However, you may want to specify the location of the @code{\input} file 12367 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 12368 @file{texinfo.tex}, if it is not already installed from another
12092 after the @code{\input} command. Another way is to set the 12369 distribution. This file is needed to support the @code{@@image} command
12093 @code{TEXINPUTS} environment variable in your @file{.cshrc} or 12370 (@pxref{Images}).
12094 @file{.profile} file. The @code{TEXINPUTS} environment variable will tell 12371
12095 @TeX{} where to find the @file{texinfo.tex} file and any other file that 12372 @pindex texinfo.cnf @r{installation}
12096 you might want @TeX{} to use.@refill 12373 @cindex Customizing of @TeX{} for Texinfo
12097 12374 @cindex Site-wide Texinfo configuration file
12098 Whether you use a @file{.cshrc} or @file{.profile} file depends on 12375 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 12376 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 12377 command (@pxref{setfilename,, @code{@@setfilename}}). You can put any
12101 @file{.cshrc} file for initialization information, and when you use 12378 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 12379 they will be read by @TeX{} when processing any Texinfo document. For
12103 12380 example, if @file{texinfo.cnf} contains the a single line
12104 @need 1000 12381 @samp{@@afourpaper} (@pxref{A4 Paper}), then all Texinfo documents will
12382 be processed with that page size in effect. If you have nothing to put
12383 in @file{texinfo.cnf}, you do not need to create it.
12384
12385 @vindex TEXINPUTS
12386 If neither of the above locations for these system files suffice for
12387 you, you can specify the directories explicitly. For
12388 @file{texinfo.tex}, you can do this by writing the complete path for the
12389 file after the @code{\input} command. Another way, that works for both
12390 @file{texinfo.tex} and @file{texinfo.cnf} (and any other file @TeX{}
12391 might read), is to set the @code{TEXINPUTS} environment variable in your
12392 @file{.cshrc} or @file{.profile} file.
12393
12394 Which you use of @file{.cshrc} or @file{.profile} depends on
12395 whether you use a Bourne shell-compatible (@code{sh}, @code{bash},
12396 @code{ksh}, @dots{}) or C shell-compatible (@code{csh}, @code{tcsh})
12397 command interpreter. The latter read the @file{.cshrc} file for
12398 initialization information, and the former read @file{.profile}.
12399
12105 In a @file{.cshrc} file, you could use the following @code{csh} command 12400 In a @file{.cshrc} file, you could use the following @code{csh} command
12106 sequence:@refill 12401 sequence:
12107 12402
12108 @example 12403 @example
12109 setenv TEXINPUTS .:/usr/me/mylib:/usr/lib/tex/macros 12404 setenv TEXINPUTS .:/home/me/mylib:/usr/lib/tex/macros
12110 @end example 12405 @end example
12111 12406
12112 @need 1000 12407 @need 1000
12113 In a @file{.profile} file, you could use the following @code{sh} command 12408 In a @file{.profile} file, you could use the following @code{sh} command
12114 sequence: 12409 sequence:
12115 12410
12116 @example 12411 @example
12117 @group 12412 @group
12118 TEXINPUTS=.:/usr/me/mylib:/usr/lib/tex/macros 12413 TEXINPUTS=.:/home/me/mylib:/usr/lib/tex/macros
12119 export TEXINPUTS 12414 export TEXINPUTS
12120 @end group 12415 @end group
12121 @end example 12416 @end example
12122 12417
12123 @noindent 12418 @noindent
12124 This would cause @TeX{} to look for @file{\input} file first in the current 12419 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 12420 directory, indicated by the @samp{.}, then in a hypothetical user's
12126 @file{me/mylib} directory, and finally in the system library.@refill 12421 @file{me/mylib} directory, and finally in a system directory.
12422
12127 12423
12128 @node Overfull hboxes, smallbook, Preparing for TeX, Format/Print Hardcopy 12424 @node Overfull hboxes, smallbook, Preparing for TeX, Format/Print Hardcopy
12129 @comment node-name, next, previous, up 12425 @comment node-name, next, previous, up
12130 @section Overfull ``hboxes'' 12426 @section Overfull ``hboxes''
12131 @cindex Overfull @samp{hboxes} 12427 @cindex Overfull @samp{hboxes}
12207 The Free Software Foundation distributes printed copies of @cite{The GNU 12503 The Free Software Foundation distributes printed copies of @cite{The GNU
12208 Emacs Manual} and other manuals in the ``small'' book size. 12504 Emacs Manual} and other manuals in the ``small'' book size.
12209 @xref{smallexample & smalllisp, , @code{@@smallexample} and 12505 @xref{smallexample & smalllisp, , @code{@@smallexample} and
12210 @code{@@smalllisp}}, for information about commands that make it easier 12506 @code{@@smalllisp}}, for information about commands that make it easier
12211 to produce examples for a smaller manual.@refill 12507 to produce examples for a smaller manual.@refill
12508
12509 Alternatively, to avoid embedding this physical paper size in your
12510 document, use @code{texi2dvi} to format your document (@pxref{Format
12511 with texi2dvi}), and supply @samp{-t @@smallbook} as an argument. Then
12512 other people do not have to change the document source file to format it
12513 differently.
12514
12212 12515
12213 @node A4 Paper, Cropmarks and Magnification, smallbook, Format/Print Hardcopy 12516 @node A4 Paper, Cropmarks and Magnification, smallbook, Format/Print Hardcopy
12214 @comment node-name, next, previous, up 12517 @comment node-name, next, previous, up
12215 @section Printing on A4 Paper 12518 @section Printing on A4 Paper
12216 @cindex A4 paper, printing on 12519 @cindex A4 paper, printing on
12237 @@end iftex 12540 @@end iftex
12238 @@c %**end of header 12541 @@c %**end of header
12239 @end group 12542 @end group
12240 @end example 12543 @end example
12241 12544
12242 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy 12545 Alternatively, to avoid embedding this physical paper size in your
12546 document, use @code{texi2dvi} to format your document (@pxref{Format
12547 with texi2dvi}), and supply @samp{-t @@afourpaper} as an argument. Then
12548 other people do not have to change the document source file to format it
12549 differently.
12550
12551 @pindex texinfo.cnf
12552 Another alternative: put the @code{@@afourpaper} command in the file
12553 @file{texinfo.cnf} that @TeX{} will read. (No need for @code{@@iftex}
12554 there.) This will automatically typeset all the Texinfo documents at
12555 your site with that paper size in effect.
12556
12557
12558 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy
12243 @comment node-name, next, previous, up 12559 @comment node-name, next, previous, up
12244 @section Cropmarks and Magnification 12560 @section Cropmarks and Magnification
12245 12561
12246 @findex cropmarks 12562 @findex cropmarks
12247 @cindex Cropmarks for printing 12563 @cindex Cropmarks for printing
12276 usual with the @code{\mag} @TeX{} command. Everything that is typeset 12592 usual with the @code{\mag} @TeX{} command. Everything that is typeset
12277 is scaled proportionally larger or smaller. (@code{\mag} stands for 12593 is scaled proportionally larger or smaller. (@code{\mag} stands for
12278 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a 12594 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a
12279 plain @TeX{} command that is prefixed with a backslash. You have to 12595 plain @TeX{} command that is prefixed with a backslash. You have to
12280 write this command between @code{@@tex} and @code{@@end tex} 12596 write this command between @code{@@tex} and @code{@@end tex}
12281 (@pxref{Using Ordinary TeX Commands, , Using Ordinary @TeX{} 12597 (@pxref{Raw Formatter Commands}).
12282 Commands}).@refill
12283 12598
12284 Follow the @code{\mag} command with an @samp{=} and then a number that 12599 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 12600 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 12601 at 1.2 normal size, write the following near the beginning of the
12287 Texinfo file, before the title page:@refill 12602 Texinfo file, before the title page:@refill
12309 12624
12310 @code{makeinfo} is a utility that converts a Texinfo file into an Info 12625 @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 12626 file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are
12312 GNU Emacs functions that do the same.@refill 12627 GNU Emacs functions that do the same.@refill
12313 12628
12314 A Texinfo file must possess an @code{@@setfilename} line near its 12629 A Texinfo file must contain an @code{@@setfilename} line near its
12315 beginning, otherwise the Info formatting commands will fail.@refill 12630 beginning, otherwise the Info formatting commands will fail.
12316 12631
12317 For information on installing the Info file in the Info system, see 12632 For information on installing the Info file in the Info system, see
12318 @ref{Install an Info File}.@refill 12633 @ref{Install an Info File}.@refill
12319 12634
12320 @menu 12635 @menu
12354 @node Invoking makeinfo, makeinfo options, makeinfo advantages, Create an Info File 12669 @node Invoking makeinfo, makeinfo options, makeinfo advantages, Create an Info File
12355 @section Running @code{makeinfo} from a Shell 12670 @section Running @code{makeinfo} from a Shell
12356 12671
12357 To create an Info file from a Texinfo file, type @code{makeinfo} 12672 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 12673 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{%} 12674 file for Bison, type the following to the shell:
12360 is the prompt):@refill 12675 is the prompt):@refill
12361 12676
12362 @example 12677 @example
12363 % makeinfo bison.texinfo 12678 makeinfo bison.texinfo
12364 @end example 12679 @end example
12365 12680
12366 (You can run a shell inside Emacs by typing @kbd{M-x 12681 (You can run a shell inside Emacs by typing @kbd{M-x shell}.)@refill
12367 shell}.)@refill
12368 12682
12369 @ifinfo 12683 @ifinfo
12370 Sometimes you will want to specify options. For example, if you wish 12684 Sometimes you will want to specify options. For example, if you wish
12371 to discover which version of @code{makeinfo} you are using, 12685 to discover which version of @code{makeinfo} you are using,
12372 type:@refill 12686 type:@refill
12373 12687
12374 @example 12688 @example
12375 % makeinfo --version 12689 makeinfo --version
12376 @end example 12690 @end example
12377 12691
12378 @xref{makeinfo options}, for more information. 12692 @xref{makeinfo options}, for more information.
12379 @end ifinfo 12693 @end ifinfo
12694
12380 12695
12381 @node makeinfo options, Pointer Validation, Invoking makeinfo, Create an Info File 12696 @node makeinfo options, Pointer Validation, Invoking makeinfo, Create an Info File
12382 @comment node-name, next, previous, up 12697 @comment node-name, next, previous, up
12383 @section Options for @code{makeinfo} 12698 @section Options for @code{makeinfo}
12384 @cindex @code{makeinfo} options 12699 @cindex @code{makeinfo} options
12385 @cindex Options for @code{makeinfo} 12700 @cindex Options for @code{makeinfo}
12386 12701
12387 The @code{makeinfo} command takes a number of options. Most often, 12702 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 12703 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 12704 footnote style. Each command line option is a word preceded by
12390 @samp{--}@footnote{@samp{--} has replaced @samp{+}, the old introductory 12705 @samp{--} or a letter preceded by @samp{-}. You can use abbreviations
12391 character, to maintain POSIX.2 compatibility without losing long-named 12706 for the long option names as long as they are unique.@refill
12392 options.} or a letter preceded by @samp{-}. You can use abbreviations 12707
12393 for the option names as long as they are unique.@refill 12708 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 12709 file for @file{bison.texinfo} in which each line is filled to only 68
12397 columns (where @samp{%} is the prompt):@refill 12710 columns:@refill
12398 12711
12399 @example 12712 @example
12400 % makeinfo --fill-column=68 bison.texinfo 12713 makeinfo --fill-column=68 bison.texinfo
12401 @end example 12714 @end example
12402 12715
12403 You can write two or more options in sequence, like this:@refill 12716 You can write two or more options in sequence, like this:@refill
12404 12717
12405 @example 12718 @example
12406 % makeinfo --no-split --fill-column=70 @dots{} 12719 makeinfo --no-split --fill-column=70 @dots{}
12407 @end example 12720 @end example
12408 12721
12409 @noindent 12722 @noindent
12410 This would keep the Info file together as one possibly very long 12723 This would keep the Info file together as one possibly very long
12411 file and would also set the fill column to 70.@refill 12724 file and would also set the fill column to 70.@refill
12412 12725
12413 @iftex 12726 The options are:
12414 If you wish to discover which version of @code{makeinfo} 12727
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 12728 @table @code
12729
12426 @item -D @var{var} 12730 @item -D @var{var}
12427 Cause @var{var} to be defined. This is equivalent to 12731 @opindex -D @var{var}
12428 @code{@@set @var{var}} in the Texinfo file. 12732 Cause the variable @var{var} to be defined. This is equivalent to
12733 @code{@@set @var{var}} in the Texinfo file (@pxref{set clear value}).
12734
12735 @item --error-limit=@var{limit}
12736 @opindex --error-limit=@var{limit}
12737 Set the maximum number of errors that @code{makeinfo} will report
12738 before exiting (on the assumption that continuing would be useless);
12739 default 100.
12429 12740
12430 @need 150 12741 @need 150
12431 @item --error-limit @var{limit} 12742 @item --fill-column=@var{width}
12432 Set the maximum number of errors that @code{makeinfo} will report 12743 @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 12744 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 12745 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 12746 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 12747 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 12748 as the fill column. Lines are broken between words.) The default value
12444 for @code{fill-column} is 72. 12749 is 72.
12445 @refill 12750
12446 12751 @item --footnote-style=@var{style}
12447 @item --footnote-style @var{style} 12752 @opindex --footnote-style=@var{style}
12448 Set the footnote style to @var{style}, either @samp{end} for the end 12753 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 12754 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 12755 The value set by this option overrides the value set in a Texinfo file
12451 @code{@@footnotestyle} command. When the footnote style is 12756 by an @code{@@footnotestyle} command (@pxref{Footnotes}). When the
12452 @samp{separate}, @code{makeinfo} makes a new node containing the 12757 footnote style is @samp{separate}, @code{makeinfo} makes a new node
12453 footnotes found in the current node. When the footnote style is 12758 containing the footnotes found in the current node. When the footnote
12454 @samp{end}, @code{makeinfo} places the footnote references at the end 12759 style is @samp{end}, @code{makeinfo} places the footnote references at
12455 of the current node.@refill 12760 the end of the current node.
12456 12761
12457 @need 150 12762 @item --force
12763 @opindex --force
12764 Ordinarily, if the input file has errors, the output files are not
12765 created. With this option, they are preserved.
12766
12767 @item --help
12768 @opindex --help
12769 Print a usage message listing all available options, then exit successfully.
12770
12458 @item -I @var{dir} 12771 @item -I @var{dir}
12772 @opindex -I @var{dir}
12459 Add @code{dir} to the directory search list for finding files that are 12773 Add @code{dir} to the directory search list for finding files that are
12460 included using the @code{@@include} command. By default, 12774 included using the @code{@@include} command. By default,
12461 @code{makeinfo} searches only the current directory. 12775 @code{makeinfo} searches only the current directory.
12462 12776
12463 @need 150
12464 @item --no-headers 12777 @item --no-headers
12778 @opindex --no-headers
12465 Do not include menus or node lines in the output. This results in an 12779 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 12780 @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 12781 the requisite nodes or menus. It is primarily useful to extract certain
12468 single, typewriter-like font and produce acceptable output. 12782 pieces of a manual into separate files to be included in a distribution,
12469 12783 such as @file{INSTALL} files.
12470 @need 150 12784
12471 @item --no-split 12785 @item --no-split
12472 Suppress the splitting stage of @code{makeinfo}. Normally, large 12786 @opindex --no-split
12787 Suppress the splitting stage of @code{makeinfo}. By default, large
12473 output files (where the size is greater than 70k bytes) are split into 12788 output files (where the size is greater than 70k bytes) are split into
12474 smaller subfiles, each one approximately 50k bytes. If you specify 12789 smaller subfiles, each one approximately 50k bytes.
12475 @samp{--no-split}, @code{makeinfo} will not split up the output 12790
12476 file.@refill
12477
12478 @need 100
12479 @item --no-pointer-validate 12791 @item --no-pointer-validate
12480 @item --no-validate 12792 @itemx --no-validate
12793 @opindex --no-pointer-validate
12794 @opindex --no-validate
12481 Suppress the pointer-validation phase of @code{makeinfo}. Normally, 12795 Suppress the pointer-validation phase of @code{makeinfo}. Normally,
12482 after a Texinfo file is processed, some consistency checks are made to 12796 after a Texinfo file is processed, some consistency checks are made to
12483 ensure that cross references can be resolved, etc. 12797 ensure that cross references can be resolved, etc.
12484 @xref{Pointer Validation}.@refill 12798 @xref{Pointer Validation}.@refill
12485 12799
12486 @need 150
12487 @item --no-warn 12800 @item --no-warn
12488 Suppress the output of warning messages. This does @emph{not} 12801 @opindex --no-warn
12489 suppress the output of error messages, only warnings. You might 12802 Suppress warning messages (but @emph{not} error messages). You might
12490 want this if the file you are creating has examples of Texinfo cross 12803 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 12804 references within it, and the nodes that are referenced do not actually
12492 exist.@refill 12805 exist.
12493 12806
12494 @item --no-number-footnotes 12807 @item --no-number-footnotes
12808 @opindex --no-number-footnotes
12495 Suppress automatic footnote numbering. By default, @code{makeinfo} 12809 Suppress automatic footnote numbering. By default, @code{makeinfo}
12496 numbers each footnote sequentially in a single node, resetting the 12810 numbers each footnote sequentially in a single node, resetting the
12497 current footnote number to 1 at the start of each node. 12811 current footnote number to 1 at the start of each node.
12498 12812
12499 @need 150 12813 @item --output=@var{file}
12500 @item --output @var{file}
12501 @itemx -o @var{file} 12814 @itemx -o @var{file}
12815 @opindex --output=@var{file}
12816 @opindex -o @var{file}
12502 Specify that the output should be directed to @var{file} and not to the 12817 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 12818 file name specified in the @code{@@setfilename} command found in the
12504 source. @var{file} can be the special token @samp{-}, which specifies 12819 Texinfo source (@pxref{setfilename}). If @var{file} is @samp{-}, output
12505 standard output. 12820 goes to standard output and @samp{--no-split} is implied.
12506 12821
12507 @need 150 12822 @item -P @var{dir}
12508 @item --paragraph-indent @var{indent} 12823 @opindex -P @var{dir}
12824 Prepend @code{dir} to the directory search list for @code{@@include}.
12825 See @samp{-I} for more details.
12826
12827 @item --paragraph-indent=@var{indent}
12828 @opindex --paragraph-indent=@var{indent}
12509 Set the paragraph indentation style to @var{indent}. The value set by 12829 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 12830 this option overrides the value set in a Texinfo file by an
12511 @code{@@paragraphindent} command. The value of @var{indent} is 12831 @code{@@paragraphindent} command (@pxref{paragraphindent}). The value
12512 interpreted as follows:@refill 12832 of @var{indent} is interpreted as follows:
12513 12833
12514 @itemize @bullet 12834 @table @asis
12515 @item 12835 @item @samp{asis}
12516 If the value of @var{indent} is @samp{asis}, do not change the 12836 Preserve any existing indentation at the starts of paragraphs.
12517 existing indentation at the starts of paragraphs.@refill 12837
12518 12838 @item @samp{0} or @samp{none}
12519 @item 12839 Delete any existing indentation.
12520 If the value of @var{indent} is zero, delete any existing 12840
12521 indentation.@refill 12841 @item @var{num}
12522 12842 Indent each paragraph by that number of spaces.
12523 @item 12843 @end table
12524 If the value of @var{indent} is greater than zero, indent each 12844
12525 paragraph by that number of spaces.@refill 12845 @item --reference-limit=@var{limit}
12526 @end itemize 12846 @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 12847 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 12848 @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 12849 than this number of references in it, @code{makeinfo} will make the
12533 references but also report a warning.@refill 12850 references but also report a warning. The default is 1000.
12534 12851
12535 @need 150
12536 @item -U @var{var} 12852 @item -U @var{var}
12537 Cause @var{var} to be undefined. This is equivalent to 12853 Cause @var{var} to be undefined. This is equivalent to
12538 @code{@@clear @var{var}} in the Texinfo file. 12854 @code{@@clear @var{var}} in the Texinfo file (@pxref{set clear value}).
12539 12855
12540 @need 100
12541 @item --verbose 12856 @item --verbose
12857 @opindex --verbose
12542 Cause @code{makeinfo} to display messages saying what it is doing. 12858 Cause @code{makeinfo} to display messages saying what it is doing.
12543 Normally, @code{makeinfo} only outputs messages if there are errors or 12859 Normally, @code{makeinfo} only outputs messages if there are errors or
12544 warnings.@refill 12860 warnings.
12545 12861
12546 @need 100
12547 @item --version 12862 @item --version
12548 Report the version number of this copy of @code{makeinfo}.@refill 12863 @opindex --version
12864 Print the version number, then exit successfully.
12865
12549 @end table 12866 @end table
12867
12550 12868
12551 @node Pointer Validation, makeinfo in Emacs, makeinfo options, Create an Info File 12869 @node Pointer Validation, makeinfo in Emacs, makeinfo options, Create an Info File
12552 @section Pointer Validation 12870 @section Pointer Validation
12553 @cindex Pointer validation with @code{makeinfo} 12871 @cindex Pointer validation with @code{makeinfo}
12554 @cindex Validation of pointers 12872 @cindex Validation of pointers
12608 @end table 12926 @end table
12609 12927
12610 When you invoke either @code{makeinfo-region} or 12928 When you invoke either @code{makeinfo-region} or
12611 @code{makeinfo-buffer}, Emacs prompts for a file name, offering the 12929 @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 12930 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 12931 file name in the minibuffer if you wish, before pressing @key{RET} to
12614 start the @code{makeinfo} process.@refill 12932 start the @code{makeinfo} process.@refill
12615 12933
12616 The Emacs @code{makeinfo-region} and @code{makeinfo-buffer} commands 12934 The Emacs @code{makeinfo-region} and @code{makeinfo-buffer} commands
12617 run the @code{makeinfo} program in a temporary shell buffer. If 12935 run the @code{makeinfo} program in a temporary shell buffer. If
12618 @code{makeinfo} finds any errors, Emacs displays the error messages in 12936 @code{makeinfo} finds any errors, Emacs displays the error messages in
12729 You can format Texinfo files for Info using @code{batch-texinfo-format} 13047 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, 13048 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 13049 including a shell inside of Emacs. (@xref{Command Switches, , Command
12732 Line Switches and Arguments, emacs, The GNU Emacs Manual}.)@refill 13050 Line Switches and Arguments, emacs, The GNU Emacs Manual}.)@refill
12733 13051
12734 Here is the command to format all the files that end in @file{.texinfo} 13052 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 13053 @file{.texinfo} in the current directory:
12736 13054
12737 @example 13055 @example
12738 % emacs -batch -funcall batch-texinfo-format *.texinfo 13056 emacs -batch -funcall batch-texinfo-format *.texinfo
12739 @end example 13057 @end example
12740 13058
12741 @noindent 13059 @noindent
12742 Emacs processes all the files listed on the command line, even if an 13060 Emacs processes all the files listed on the command line, even if an
12743 error occurs while attempting to format some of them.@refill 13061 error occurs while attempting to format some of them.@refill
12750 mode, you create a new Emacs process. This frees your current Emacs, so 13068 mode, you create a new Emacs process. This frees your current Emacs, so
12751 you can continue working in it. (When you run 13069 you can continue working in it. (When you run
12752 @code{texinfo-format-region} or @code{texinfo-format-buffer}, you cannot 13070 @code{texinfo-format-region} or @code{texinfo-format-buffer}, you cannot
12753 use that Emacs for anything else until the command finishes.)@refill 13071 use that Emacs for anything else until the command finishes.)@refill
12754 13072
12755 @node Tag and Split Files, , Batch Formatting, Create an Info File 13073 @node Tag and Split Files, , Batch Formatting, Create an Info File
12756 @comment node-name, next, previous, up 13074 @comment node-name, next, previous, up
12757 @section Tag Files and Split Files 13075 @section Tag Files and Split Files
12758 @cindex Making a tag table automatically 13076 @cindex Making a tag table automatically
12759 @cindex Tag table, making automatically 13077 @cindex Tag table, making automatically
12760 13078
12966 menu.@refill 13284 menu.@refill
12967 13285
12968 @item 13286 @item
12969 If you are using Emacs, list the name of the file in a second @file{dir} 13287 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 13288 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 13289 @code{Info-directory-list} variable in your personal or site
12972 initialization file. 13290 initialization file.
12973 13291
12974 This tells Emacs's Info reader where to look for @file{dir} 13292 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 13293 files named @file{dir} from each of the listed directories. (In Emacs
12976 directories. (In Emacs Version 18, you can set the 13294 version 18, you can set the @code{Info-directory} variable to the name
12977 @code{Info-directory} variable to the name of only one 13295 of only one directory.)@refill
12978 directory.)@refill
12979 13296
12980 @item 13297 @item
12981 Specify the @file{info} directory name in the @code{INFOPATH} 13298 Specify the Info directory name in the @code{INFOPATH} environment
12982 environment variable in your @file{.profile} or @file{.cshrc} 13299 variable in your @file{.profile} or @file{.cshrc} initialization file.
12983 initialization file. (Only you and others who set this environment 13300 (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 13301 find Info files whose location is specified this way.)@refill
12985 this way.)@refill
12986 @end itemize 13302 @end itemize
12987 13303
12988 For example, to reach a test file in the @file{~bob/manuals} 13304 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 13305 directory, you could add an entry like this to the menu in the
12990 @file{dir} file:@refill 13306 @file{dir} file:@refill
12991 13307
12992 @example 13308 @example
12993 * Test: (/home/bob/manuals/info-test). Bob's own test file. 13309 * Test: (/home/bob/manuals/info-test). Bob's own test file.
12995 13311
12996 @noindent 13312 @noindent
12997 In this case, the absolute file name of the @file{info-test} file is 13313 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 13314 written as the second part of the menu entry.@refill
12999 13315
13000 @vindex Info-default-directory-list 13316 @vindex Info-directory-list
13001 Alternatively, you could write the following in your @file{.emacs} 13317 Alternatively, you could write the following in your @file{.emacs}
13002 file:@refill 13318 file:@refill
13003 13319
13004 @example 13320 @example
13005 @group 13321 @group
13006 (setq Info-default-directory-list 13322 (setq Info-directory-list
13007 '("/home/bob/manuals" 13323 '("/home/bob/manuals"
13008 "/usr/local/emacs/info")) 13324 "/usr/local/info"))
13009 @end group 13325 @end group
13010 @end example 13326 @end example
13011 13327
13012 @c reworded to avoid overfill hbox 13328 @c reworded to avoid overfill hbox
13013 This tells Emacs to merge the @file{dir} file from the 13329 This tells Emacs to merge the @file{dir} file from the
13014 @file{/home/bob/manuals} directory with the @file{dir} file from the 13330 @file{/home/bob/manuals} directory with the @file{dir} file from the
13015 @file{"/usr/local/emacs/info}" directory. Info will list the 13331 @file{/usr/local/info} directory. Info will list the
13016 @file{/home/bob/manuals/info-test} file as a menu entry in the 13332 @file{/home/bob/manuals/info-test} file as a menu entry in the
13017 @file{/home/bob/manuals/dir} file.@refill 13333 @file{/home/bob/manuals/dir} file.@refill
13018 13334
13019 @vindex INFOPATH 13335 @vindex INFOPATH
13020 Finally, you can tell Info where to look by setting the 13336 Finally, you can tell Info where to look by setting the @code{INFOPATH}
13021 @code{INFOPATH} environment variable in your @file{.cshrc} or 13337 environment variable in your @file{.cshrc} or @file{.profile} file. If
13022 @file{.profile} file.@refill 13338 you use a Bourne-compatible shell such as @code{sh} or @code{bash} for
13023 13339 your shell command interpreter, you set the @code{INFOPATH} environment
13024 If you use @code{sh} or @code{bash} for your shell command interpreter, 13340 variable in the @file{.profile} initialization file; but if you use
13025 you must set the @code{INFOPATH} environment variable in the 13341 @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 13342 @file{.cshrc} initialization file. The two types of shells use
13027 set the variable in the @file{.cshrc} initialization file. The two 13343 different syntax.
13028 files use slightly different command formats.@refill
13029 13344
13030 @itemize @bullet 13345 @itemize @bullet
13031 @item 13346 @item
13032 In a @file{.cshrc} file, you could set the @code{INFOPATH} 13347 In a @file{.cshrc} file, you could set the @code{INFOPATH}
13033 variable as follows:@refill 13348 variable as follows:@refill
13034 13349
13035 @smallexample 13350 @smallexample
13036 setenv INFOPATH .:~bob/manuals:/usr/local/emacs/info 13351 setenv INFOPATH .:~/manuals:/usr/local/emacs/info
13037 @end smallexample 13352 @end smallexample
13038 13353
13039 @item 13354 @item
13040 In a @file{.profile} file, you would achieve the same effect by 13355 In a @file{.profile} file, you would achieve the same effect by
13041 writing:@refill 13356 writing:@refill
13042 13357
13043 @smallexample 13358 @smallexample
13044 INFOPATH=.:~bob/manuals:/usr/local/emacs/info 13359 INFOPATH=.:$HOME/manuals:/usr/local/emacs/info
13045 export INFOPATH 13360 export INFOPATH
13046 @end smallexample 13361 @end smallexample
13047 @end itemize 13362 @end itemize
13048 13363
13049 @noindent 13364 @noindent
13050 The @samp{.} indicates the current directory. Emacs uses the 13365 The @samp{.} indicates the current directory as usual. Emacs uses the
13051 @code{INFOPATH} environment variable to initialize the value of Emacs's 13366 @code{INFOPATH} environment variable to initialize the value of Emacs's
13052 own @code{Info-directory-list} variable. 13367 own @code{Info-directory-list} variable.
13368
13369 @cindex @samp{:} @r{last in @code{INFOPATH}}
13370 However you set @code{INFOPATH}, if its last character is a colon, this
13371 is replaced by the default (compiled-in) path. This gives you a way to
13372 augment the default path with new directories without having to list all
13373 the standard places. For example (using @code{sh} syntax:
13374
13375 @example
13376 INFOPATH=/local/info:
13377 export INFOPATH
13378 @end example
13379
13380 @noindent
13381 will search @file{/local/info} first, then the standard directories.
13382 Leading or doubled colons are not treated specially.
13053 13383
13054 13384
13055 @node Installing Dir Entries, Invoking install-info, Other Info Directories, Install an Info File 13385 @node Installing Dir Entries, Invoking install-info, Other Info Directories, Install an Info File
13056 @section Installing Info Directory Files 13386 @section Installing Info Directory Files
13057 13387
13104 @code{@@direntry} more than once, each usage specifies one menu entry; 13434 @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 13435 each of these menu entries is added to the directory in each of the
13106 specified categories. 13436 specified categories.
13107 13437
13108 13438
13109 @node Invoking install-info, , Installing Dir Entries, Install an Info File 13439 @node Invoking install-info, , Installing Dir Entries, Install an Info File
13110 @section Invoking install-info 13440 @section Invoking install-info
13111 13441
13112 @pindex install-info 13442 @pindex install-info
13113 13443
13114 @code{install-info} inserts menu entries from an Info file into the 13444 @code{install-info} inserts menu entries from an Info file into the
13125 options (described below) that define them must be. There are no 13455 options (described below) that define them must be. There are no
13126 compile-time defaults, and standard input is never used. 13456 compile-time defaults, and standard input is never used.
13127 @code{install-info} can read only one info file and write only one dir 13457 @code{install-info} can read only one info file and write only one dir
13128 file per invocation. 13458 file per invocation.
13129 13459
13460 @cindex @file{dir}, created by @code{install-info}
13461 If @var{dir-file} (however specified) does not exist,
13462 @code{install-info} creates it if possible (with no entries).
13463
13130 Options: 13464 Options:
13131 13465
13132 @table @samp 13466 @table @code
13133 @item --delete 13467 @item --delete
13134 @opindex --delete 13468 @opindex --delete
13135 Only delete existing entries in @var{info-file}; don't insert any new 13469 Delete the entries in @var{info-file} from @var{dir-file}. The file
13136 entries. 13470 name in the entry in @var{dir-file} must be @var{info-file} (except for
13471 an optional @samp{.info} in either one). Don't insert any new entries.
13137 13472
13138 @item --dir-file=@var{name} 13473 @item --dir-file=@var{name}
13139 @opindex --dir-file=@var{name} 13474 @opindex --dir-file=@var{name}
13140 Specify file name of the Info directory file. This is equivalent to 13475 Specify file name of the Info directory file. This is equivalent to
13141 using the @var{dir-file} argument. 13476 using the @var{dir-file} argument.
13162 @opindex --info-dir=@var{dir} 13497 @opindex --info-dir=@var{dir}
13163 Equivalent to @samp{--dir-file=@var{dir}/dir}. 13498 Equivalent to @samp{--dir-file=@var{dir}/dir}.
13164 13499
13165 @item --item=@var{text} 13500 @item --item=@var{text}
13166 @opindex --item=@var{text} 13501 @opindex --item=@var{text}
13167 Same as --entry=@var{text}. An Info directory entry is actually a menu 13502 Same as @samp{--entry=@var{text}}. An Info directory entry is actually
13168 item. 13503 a menu item.
13169 13504
13170 @item --quiet 13505 @item --quiet
13171 @opindex --quiet 13506 @opindex --quiet
13172 Suppress warnings. 13507 Suppress warnings.
13173 13508
13174 @item --remove 13509 @item --remove
13175 @opindex --remove 13510 @opindex --remove
13176 Same as --delete. 13511 Same as @samp{--delete}.
13177 13512
13178 @item --section=@var{sec} 13513 @item --section=@var{sec}
13179 @opindex --section=@var{sec} 13514 @opindex --section=@var{sec}
13180 Put this file's entries in section @var{sec} of the directory. If you 13515 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 13516 specify more than one section, all the entries are added in each of the
13188 Display version information and exit successfully. 13523 Display version information and exit successfully.
13189 13524
13190 @end table 13525 @end table
13191 13526
13192 13527
13193 @c ================ Appendix starts here ================
13194
13195 @node Command List, Tips, Install an Info File, Top 13528 @node Command List, Tips, Install an Info File, Top
13196 @appendix @@-Command List 13529 @appendix @@-Command List
13197 @cindex Alphabetical @@-command list 13530 @cindex Alphabetical @@-command list
13198 @cindex List of @@-commands 13531 @cindex List of @@-commands
13199 @cindex @@-command list 13532 @cindex @@-command list
13246 @item @@? 13579 @item @@?
13247 Generate a question mark that really does end a sentence (usually after 13580 Generate a question mark that really does end a sentence (usually after
13248 an end-of-sentence capital letter). @xref{Ending a Sentence}. 13581 an end-of-sentence capital letter). @xref{Ending a Sentence}.
13249 13582
13250 @item @@@@ 13583 @item @@@@
13251 Stands for an at sign, @samp{@@}.@* 13584 Stands for an at sign, @samp{@@}.
13252 @xref{Braces Atsigns, , Inserting @@ and braces}. 13585 @xref{Braces Atsigns, , Inserting @@ and braces}.
13253 13586
13254 @item @@^ 13587 @item @@^
13255 @itemx @@` 13588 @itemx @@`
13256 Generate a circumflex (hat) or grave accent, respectively, over the next 13589 Generate a circumflex (hat) or grave accent, respectively, over the next
13257 character, as in @^o. 13590 character, as in @^o.
13258 @xref{Inserting Accents}. 13591 @xref{Inserting Accents}.
13259 13592
13260 @item @@@{ 13593 @item @@@{
13261 Stands for a left brace, @samp{@{}.@* 13594 Stands for a left brace, @samp{@{}.
13262 @xref{Braces Atsigns, , Inserting @@ and braces}. 13595 @xref{Braces Atsigns, , Inserting @@ and braces}.
13263 13596
13264 @item @@@} 13597 @item @@@}
13265 Stands for a right-hand brace, @samp{@}}.@* 13598 Stands for a right-hand brace, @samp{@}}.@*
13266 @xref{Braces Atsigns, , Inserting @@ and braces}. 13599 @xref{Braces Atsigns, , Inserting @@ and braces}.
13276 13609
13277 @item @@AE@{@} 13610 @item @@AE@{@}
13278 @itemx @@ae@{@} 13611 @itemx @@ae@{@}
13279 Generate the uppercase and lowercase AE ligatures, respectively: 13612 Generate the uppercase and lowercase AE ligatures, respectively:
13280 @AE{}, @ae{}. @xref{Inserting Accents}. 13613 @AE{}, @ae{}. @xref{Inserting Accents}.
13614
13615 @item @@afourpaper
13616 Change page dimensions for the A4 paper size.
13617 Only allowed inside @code{@@iftex} @dots{} @code{@@end iftex}.
13618 @xref{A4 Paper}.
13281 13619
13282 @item @@appendix @var{title} 13620 @item @@appendix @var{title}
13283 Begin an appendix. The title appears in the table 13621 Begin an appendix. The title appears in the table
13284 of contents of a printed manual. In Info, the title is 13622 of contents of a printed manual. In Info, the title is
13285 underlined with asterisks. @xref{unnumbered & appendix, , The 13623 underlined with asterisks. @xref{unnumbered & appendix, , The
13298 in the table of contents of a printed manual. In Info, the title is 13636 in the table of contents of a printed manual. In Info, the title is
13299 underlined with hyphens. @xref{unnumberedsubsec appendixsubsec 13637 underlined with hyphens. @xref{unnumberedsubsec appendixsubsec
13300 subheading, , Subsection Commands}.@refill 13638 subheading, , Subsection Commands}.@refill
13301 13639
13302 @item @@appendixsubsubsec @var{title} 13640 @item @@appendixsubsubsec @var{title}
13303 Begin an appendix subsubsection within a subappendix. The title 13641 Begin an appendix subsubsection within an appendix subsection. The
13304 appears in the table of contents of a printed manual. In Info, the 13642 title appears in the table of contents of a printed manual. In Info,
13305 title is underlined with periods. @xref{subsubsection,, The `subsub' 13643 the title is underlined with periods. @xref{subsubsection,, The
13306 Commands}.@refill 13644 `subsub' Commands}.@refill
13307 13645
13308 @item @@asis 13646 @item @@asis
13309 Used following @code{@@table}, @code{@@ftable}, and @code{@@vtable} to 13647 Used following @code{@@table}, @code{@@ftable}, and @code{@@vtable} to
13310 print the table's first column without highlighting (``as is''). 13648 print the table's first column without highlighting (``as is'').
13311 @xref{Two-column Tables, , Making a Two-column Table}.@refill 13649 @xref{Two-column Tables, , Making a Two-column Table}.@refill
13492 Format a description for a function in a typed language. 13830 Format a description for a function in a typed language.
13493 The command is equivalent to @samp{@@deftypefn Function @dots{}}. 13831 The command is equivalent to @samp{@@deftypefn Function @dots{}}.
13494 @xref{Definition Commands}, 13832 @xref{Definition Commands},
13495 and @ref{deffnx,, Def Cmds in Detail}. 13833 and @ref{deffnx,, Def Cmds in Detail}.
13496 13834
13835 @item @@deftypemethod @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
13836 @itemx @@deftypemethodx @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
13837 Format a description for a typed method in object-oriented programming.
13838 Takes as arguments the name of the class of the method, the return type
13839 of the method, the name of the method, and its arguments, if any.
13840 @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
13841
13497 @item @@deftypevr @var{classification} @var{data-type} @var{name} 13842 @item @@deftypevr @var{classification} @var{data-type} @var{name}
13498 @itemx @@deftypevrx @var{classification} @var{data-type} @var{name} 13843 @itemx @@deftypevrx @var{classification} @var{data-type} @var{name}
13499 Format a description for something like a variable in a typed 13844 Format a description for something like a variable in a typed
13500 language---an entity that records a value. Takes as arguments the 13845 language---an entity that records a value. Takes as arguments the
13501 classification of entity being described, the type, and the name of the 13846 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. 13871 as arguments the category of the entity and the name of the entity.
13527 @xref{Definition Commands}, 13872 @xref{Definition Commands},
13528 and @ref{deffnx,, Def Cmds in Detail}. 13873 and @ref{deffnx,, Def Cmds in Detail}.
13529 13874
13530 @item @@detailmenu@{@} 13875 @item @@detailmenu@{@}
13531 Use to avoid Makeinfo confusion stemming from the detailed node listing 13876 Avoid @code{makeinfo} confusion stemming from the detailed node listing
13532 in a master menu. @xref{Master Menu Parts}. 13877 in a master menu. @xref{Master Menu Parts}.
13533 13878
13534 @item @@dfn@{@var{term}@} 13879 @item @@dfn@{@var{term}@}
13535 Highlight the introductory or defining use of a term. 13880 Highlight the introductory or defining use of a term.
13536 @xref{dfn, , @code{@@dfn}}.@refill 13881 @xref{dfn, , @code{@@dfn}}.@refill
13552 @item @@dmn@{@var{dimension}@} 13897 @item @@dmn@{@var{dimension}@}
13553 Format a unit of measure, as in 12@dmn{pt}. Causes @TeX{} to insert a 13898 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. 13899 thin space before @var{dimension}. No effect in Info.
13555 @xref{dmn, , @code{@@dmn}}.@refill 13900 @xref{dmn, , @code{@@dmn}}.@refill
13556 13901
13557 @need 100 13902 @item @@dotaccent@{@var{c}@}
13903 Generate a dot accent over the character @var{c}, as in @dotaccent{oo}.
13904 @xref{Inserting Accents}.
13905
13558 @item @@dots@{@} 13906 @item @@dots@{@}
13559 Insert an ellipsis: @samp{@dots{}}. 13907 Insert an ellipsis: @samp{@dots{}}.
13560 @xref{dots, , @code{@@dots}}.@refill 13908 @xref{dots, , @code{@@dots}}.@refill
13561 13909
13562 @item @@email@{@var{address}@} 13910 @item @@email@{@var{address}@}
13590 13938
13591 @item @@error@{@} 13939 @item @@error@{@}
13592 Indicate to the reader with a glyph that the following text is 13940 Indicate to the reader with a glyph that the following text is
13593 an error message: @samp{@error{}}. @xref{Error Glyph}.@refill 13941 an error message: @samp{@error{}}. @xref{Error Glyph}.@refill
13594 13942
13595 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 13943 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13596 Specify page footings for even-numbered (left-hand) pages. Not relevant to 13944 @itemx @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
13597 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13945 Specify page footings resp.@: headings for even-numbered (left-hand)
13598 13946 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, ,
13599 @item @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 13947 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 13948
13604 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 13949 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13605 @itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 13950 @itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
13606 Specify page footings resp.@: headings for every page. Not relevant to 13951 Specify page footings resp.@: headings for every page. Not relevant to
13607 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13952 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. 13955 Begin an example. Indent text, do not fill, and select fixed-width font.
13611 Pair with @code{@@end example}. @xref{example, , 13956 Pair with @code{@@end example}. @xref{example, ,
13612 @code{@@example}}.@refill 13957 @code{@@example}}.@refill
13613 13958
13614 @item @@exclamdown@{@} 13959 @item @@exclamdown@{@}
13615 Generate an upside-down exclamation point. @xref{Inserting Accents}. 13960 Produce an upside-down exclamation point. @xref{Inserting Accents}.
13616 13961
13617 @item @@exdent @var{line-of-text} 13962 @item @@exdent @var{line-of-text}
13618 Remove any indentation a line might have. @xref{exdent, , 13963 Remove any indentation a line might have. @xref{exdent, ,
13619 Undoing the Indentation of a Line}.@refill 13964 Undoing the Indentation of a Line}.@refill
13620 13965
13686 @item @@headings @var{on-off-single-double} 14031 @item @@headings @var{on-off-single-double}
13687 Turn page headings on or off, and/or specify single-sided or double-sided 14032 Turn page headings on or off, and/or specify single-sided or double-sided
13688 page headings for printing. @xref{headings on off, , The 14033 page headings for printing. @xref{headings on off, , The
13689 @code{@@headings} Command}. 14034 @code{@@headings} Command}.
13690 14035
14036 @item @@html
14037 Enter HTML completely. Pair with @code{@@end html}. @xref{Raw
14038 Formatter Commands}.
14039
14040 @item @@hyphenation@{@var{hy-phen-a-ted words}@}
14041 Explicitly define hyphenation points. @xref{- and hyphenation,,
14042 @code{@@-} and @code{@@hyphenation}}.
14043
13691 @item @@i@{@var{text}@} 14044 @item @@i@{@var{text}@}
13692 Print @var{text} in @i{italic} font. No effect in Info. 14045 Print @var{text} in @i{italic} font. No effect in Info.
13693 @xref{Fonts}.@refill 14046 @xref{Fonts}.@refill
13694 14047
13695 @item @@ifclear @var{flag} 14048 @item @@ifclear @var{flag}
13701 @item @@ifhtml 14054 @item @@ifhtml
13702 @itemx @@ifinfo 14055 @itemx @@ifinfo
13703 Begin a stretch of text that will be ignored by @TeX{} when it typesets 14056 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 14057 the printed manual. The text appears only in the HTML resp.@: Info
13705 file. Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}. 14058 file. Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}.
13706 @xref{Conditionals, , Conditionally Visible Text}.@refill 14059 @xref{Conditionals}.
14060
14061 @item @@ifnothtml
14062 @itemx @@ifnotinfo
14063 @itemx @@ifnottex
14064 Begin a stretch of text that will be ignored in one output format but
14065 not the others. The text appears only in the format not specified.
14066 Pair with @code{@@end ifnothtml} resp.@: @code{@@end ifnotinfo} resp.@:
14067 @code{@@end ifnotinfo}. @xref{Conditionals}.
13707 14068
13708 @item @@ifset @var{flag} 14069 @item @@ifset @var{flag}
13709 If @var{flag} is set, the Texinfo formatting commands format text 14070 If @var{flag} is set, the Texinfo formatting commands format text
13710 between @code{@@ifset @var{flag}} and the following @code{@@end ifset} 14071 between @code{@@ifset @var{flag}} and the following @code{@@end ifset}
13711 command. 14072 command.
13718 14079
13719 @item @@ignore 14080 @item @@ignore
13720 Begin a stretch of text that will not appear in either the Info file 14081 Begin a stretch of text that will not appear in either the Info file
13721 or the printed output. Pair with @code{@@end ignore}. 14082 or the printed output. Pair with @code{@@end ignore}.
13722 @xref{Comments, , Comments and Ignored Text}.@refill 14083 @xref{Comments, , Comments and Ignored Text}.@refill
14084
14085 @item @@image@{@var{filename}, [@var{width}], [@var{height}]@}
14086 Include graphics image in external @var{filename} scaled to the given
14087 @var{width} and/or @var{height}. @xref{Images}.
13723 14088
13724 @item @@include @var{filename} 14089 @item @@include @var{filename}
13725 Incorporate the contents of the file @var{filename} into the Info file 14090 Incorporate the contents of the file @var{filename} into the Info file
13726 or printed document. @xref{Include Files}.@refill 14091 or printed document. @xref{Include Files}.@refill
13727 14092
13755 14120
13756 @item @@kbd@{@var{keyboard-characters}@} 14121 @item @@kbd@{@var{keyboard-characters}@}
13757 Indicate text that is characters of input to be typed by 14122 Indicate text that is characters of input to be typed by
13758 users. @xref{kbd, , @code{@@kbd}}.@refill 14123 users. @xref{kbd, , @code{@@kbd}}.@refill
13759 14124
14125 @item @@kbdinputstyle @var{style}
14126 Specify when @code{@@kbd} should use a font distinct from @code{@@code}.
14127 @xref{kbd, , @code{@@kbd}}.@refill
14128
13760 @item @@key@{@var{key-name}@} 14129 @item @@key@{@var{key-name}@}
13761 Highlight @var{key-name}, a name for a key on a keyboard. 14130 Indicate a name for a key on a keyboard.
13762 @xref{key, , @code{@@key}}.@refill 14131 @xref{key, , @code{@@key}}.@refill
13763 14132
13764 @item @@kindex @var{entry} 14133 @item @@kindex @var{entry}
13765 Add @var{entry} to the index of keys. @xref{Index Entries, , Defining the 14134 Add @var{entry} to the index of keys.
13766 Entries of an Index}.@refill 14135 @xref{Index Entries, , Defining the Entries of an Index}.@refill
13767 14136
13768 @item @@L@{@} 14137 @item @@L@{@}
13769 @itemx @@l@{@} 14138 @itemx @@l@{@}
13770 Generate the uppercase and lowercase Polish suppressed-L letters, 14139 Generate the uppercase and lowercase Polish suppressed-L letters,
13771 respectively: @L{}, @l{}. 14140 respectively: @L{}, @l{}.
13772 14141
13773 @c Possibly this can be tossed now that we have macros. --karl, 16sep96. 14142 @c Possibly this can be tossed now that we have macros. --karl, 16sep96.
13774 @item @@global@@let@var{new-command}=@var{existing-command} 14143 @c Yes, let's toss it, it's pretty weird. --karl, 15jun97.
13775 Equate a new highlighting command with an existing one. Only for 14144 @c @item @@global@@let@var{new-command}=@var{existing-command}
13776 @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end 14145 @c Equate a new highlighting command with an existing one. Only for
13777 iftex}. @xref{Customized Highlighting}.@refill 14146 @c @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end
14147 @c iftex}. @xref{Customized Highlighting}.@refill
13778 14148
13779 @item @@lisp 14149 @item @@lisp
13780 Begin an example of Lisp code. Indent text, do not fill, and select 14150 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, , 14151 fixed-width font. Pair with @code{@@end lisp}. @xref{Lisp Example, ,
13782 @code{@@lisp}}.@refill 14152 @code{@@lisp}}.@refill
13786 on. @xref{Raise/lower sections, , @code{@@raisesections} and 14156 on. @xref{Raise/lower sections, , @code{@@raisesections} and
13787 @code{@@lowersections}}.@refill 14157 @code{@@lowersections}}.@refill
13788 14158
13789 @item @@macro @var{macro-name} @{@var{params}@} 14159 @item @@macro @var{macro-name} @{@var{params}@}
13790 Define a new Texinfo command @code{@@@var{macro-name}@{@var{params}@}}. 14160 Define a new Texinfo command @code{@@@var{macro-name}@{@var{params}@}}.
13791 Only supported by Makeinfo and Texi2dvi. @xref{Defining Macros}. 14161 Only supported by @code{makeinfo} and @code{texi2dvi}. @xref{Defining
14162 Macros}.
13792 14163
13793 @item @@majorheading @var{title} 14164 @item @@majorheading @var{title}
13794 Print a chapter-like heading in the text, but not in the table of 14165 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 14166 contents of a printed manual. Generate more vertical whitespace before
13796 the heading than the @code{@@chapheading} command. In Info, the chapter 14167 the heading than the @code{@@chapheading} command. In Info, the chapter
13825 Prevent text from being indented as if it were a new paragraph. 14196 Prevent text from being indented as if it were a new paragraph.
13826 @xref{noindent, , @code{@@noindent}}.@refill 14197 @xref{noindent, , @code{@@noindent}}.@refill
13827 14198
13828 @item @@O@{@} 14199 @item @@O@{@}
13829 @itemx @@o@{@} 14200 @itemx @@o@{@}
13830 Generate the uppercase and lowercase Owith-slash letters, respectively: 14201 Generate the uppercase and lowercase O-with-slash letters, respectively:
13831 @O{}, @o{}. 14202 @O{}, @o{}.
13832 14203
13833 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 14204 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13834 @itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 14205 @itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
13835 Specify page footings resp.@: headings for odd-numbered (right-hand) 14206 Specify page footings resp.@: headings for odd-numbered (right-hand)
13836 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, , 14207 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, ,
13837 How to Make Your Own Headings}.@refill 14208 How to Make Your Own Headings}.@refill
13838 14209
14072 @item @@TeX@{@} 14443 @item @@TeX@{@}
14073 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{} 14444 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{}
14074 and @copyright{}}.@refill 14445 and @copyright{}}.@refill
14075 14446
14076 @item @@tex 14447 @item @@tex
14077 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Using 14448 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Raw
14078 Ordinary TeX Commands, , Using Ordinary @TeX{} Commands}.@refill 14449 Formatter Commands}.
14079 14450
14080 @item @@thischapter 14451 @item @@thischapter
14081 @itemx @@thischaptername 14452 @itemx @@thischaptername
14082 @itemx @@thisfile 14453 @itemx @@thisfile
14083 @itemx @@thispage 14454 @itemx @@thispage
14086 the current chapter (in the format `Chapter 1: Title'), the chapter name 14457 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 14458 only, the filename, the current page number, and the title of the
14088 document, respectively. @xref{Custom Headings, , How to Make Your Own 14459 document, respectively. @xref{Custom Headings, , How to Make Your Own
14089 Headings}.@refill 14460 Headings}.@refill
14090 14461
14462 @item @@tieaccent@{@var{cc}@}
14463 Generate a tie-after accent over the next two characters @var{cc}, as in
14464 `@tieaccent{oo}'. @xref{Inserting Accents}.
14465
14091 @item @@tindex @var{entry} 14466 @item @@tindex @var{entry}
14092 Add @var{entry} to the index of data types. @xref{Index Entries, , 14467 Add @var{entry} to the index of data types. @xref{Index Entries, ,
14093 Defining the Entries of an Index}.@refill 14468 Defining the Entries of an Index}.@refill
14094 14469
14095 @item @@title @var{title} 14470 @item @@title @var{title}
14127 line normally should be enclosed by @code{@@ifinfo} and @code{@@end 14502 line normally should be enclosed by @code{@@ifinfo} and @code{@@end
14128 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} 14503 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top}
14129 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo 14504 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo
14130 Pointer Creation, , Creating Pointers with @code{makeinfo}}. 14505 Pointer Creation, , Creating Pointers with @code{makeinfo}}.
14131 14506
14132 @item @@u@var{c} 14507 @item @@u@{@var{c}@}
14133 @itemx @@ubaraccent@var{c} 14508 @itemx @@ubaraccent@{@var{c}@}
14134 @itemx @@udotaccent@var{c} 14509 @itemx @@udotaccent@{@var{c}@}
14135 Generate a breve, underbar, or underdot accent, respectively, over or 14510 Generate a breve, underbar, or underdot accent, respectively, over or
14136 under the character @var{c}, as in @u{o}, @ubaraccent{o}, 14511 under the character @var{c}, as in @u{o}, @ubaraccent{o},
14137 @udotaccent{o}. @xref{Inserting Accents}. 14512 @udotaccent{o}. @xref{Inserting Accents}.
14138 14513
14139 @item @@unnumbered @var{title} 14514 @item @@unnumbered @var{title}
14161 In a printed manual, begin an unnumbered subsubsection within a 14536 In a printed manual, begin an unnumbered subsubsection within a
14162 chapter. The title appears in the table of contents of a printed 14537 chapter. The title appears in the table of contents of a printed
14163 manual. In Info, the title is underlined with periods. 14538 manual. In Info, the title is underlined with periods.
14164 @xref{subsubsection, , The `subsub' Commands}.@refill 14539 @xref{subsubsection, , The `subsub' Commands}.@refill
14165 14540
14541 @item @@uref@{@var{url}[, @var{displayed-text}@}
14542 Define a cross reference to an external uniform resource locator for the
14543 World Wide Web. @xref{url, , @code{@@url}}.@refill
14544
14166 @item @@url@{@var{url}@} 14545 @item @@url@{@var{url}@}
14167 Highlight text that is a uniform resource locator for the World Wide 14546 Indicate text that is a uniform resource locator for the World Wide
14168 Web. @xref{url, , @code{@@url}}.@refill 14547 Web. @xref{url, , @code{@@url}}.@refill
14169 14548
14170 @item @@v@var{c} 14549 @item @@v@{@var{c}@}
14171 Generate check accent over the character @var{c}, as in @v{o}. 14550 Generate check accent over the character @var{c}, as in @v{o}.
14172 @xref{Inserting Accents}. 14551 @xref{Inserting Accents}.
14173 14552
14174 @item @@value@{@var{flag}@} 14553 @item @@value@{@var{flag}@}
14175 Replace @var{flag} with the value to which it is set by @code{@@set 14554 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 14593 Make a reference that starts with `See' in a printed manual. Follow
14215 command with a punctuation mark. Only the first argument is 14594 command with a punctuation mark. Only the first argument is
14216 mandatory. @xref{xref, , @code{@@xref}}.@refill 14595 mandatory. @xref{xref, , @code{@@xref}}.@refill
14217 @end table 14596 @end table
14218 14597
14598
14219 @node Tips, Sample Texinfo File, Command List, Top 14599 @node Tips, Sample Texinfo File, Command List, Top
14220 @comment node-name, next, previous, up
14221 @appendix Tips and Hints 14600 @appendix Tips and Hints
14222 14601
14223 Here are some tips for writing Texinfo documentation:@refill 14602 Here are some tips for writing Texinfo documentation:@refill
14224 14603
14225 @cindex Tips 14604 @cindex Tips
14238 14617
14239 @item 14618 @item
14240 Include a copyright notice and copying permissions. 14619 Include a copyright notice and copying permissions.
14241 @end itemize 14620 @end itemize
14242 14621
14243 @subsubheading Index, index, index! 14622 @subsubheading Index, Index, Index!
14244 14623
14245 Write many index entries, in different ways. 14624 Write many index entries, in different ways.
14246 Readers like indices; they are helpful and convenient. 14625 Readers like indices; they are helpful and convenient.
14247 14626
14248 Although it is easiest to write index entries as you write the body of 14627 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 14683 (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 14684 written in different ways---@samp{Lazy dog}, and @samp{Dog, lazy}---so
14306 readers can look up the concept in different ways.) 14685 readers can look up the concept in different ways.)
14307 @end itemize 14686 @end itemize
14308 14687
14309 @subsubheading Blank lines 14688 @subsubheading Blank Lines
14310 14689
14311 @itemize @bullet 14690 @itemize @bullet
14312 @item 14691 @item
14313 Insert a blank line between a sectioning command and the first following 14692 Insert a blank line between a sectioning command and the first following
14314 sentence or paragraph, or between the indexing commands associated with 14693 sentence or paragraph, or between the indexing commands associated with
14348 Insert blank lines before and after @code{@@itemize} @dots{} @code{@@end 14727 Insert blank lines before and after @code{@@itemize} @dots{} @code{@@end
14349 itemize} and @code{@@enumerate} @dots{} @code{@@end enumerate} in the 14728 itemize} and @code{@@enumerate} @dots{} @code{@@end enumerate} in the
14350 same way. 14729 same way.
14351 @end itemize 14730 @end itemize
14352 14731
14353 @subsubheading Complete phrases 14732 @subsubheading Complete Phrases
14354 14733
14355 Complete phrases are easier to read than @dots{} 14734 Complete phrases are easier to read than @dots{}
14356 14735
14357 @itemize @bullet 14736 @itemize @bullet
14358 @item 14737 @item
14364 Write the prefatory sentence or phrase for a multi-item list or table as 14743 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 14744 a complete expression. Do not write ``You can set:''; instead, write
14366 ``You can set these variables:''. The former expression sounds cut off. 14745 ``You can set these variables:''. The former expression sounds cut off.
14367 @end itemize 14746 @end itemize
14368 14747
14369 @subsubheading Editions, dates and versions 14748 @subsubheading Editions, Dates and Versions
14370 14749
14371 Write the edition and version numbers and date in three places in every 14750 Write the edition and version numbers and date in three places in every
14372 manual: 14751 manual:
14373 14752
14374 @enumerate 14753 @enumerate
14432 14811
14433 @subsubheading Capitalization 14812 @subsubheading Capitalization
14434 14813
14435 @itemize @bullet 14814 @itemize @bullet
14436 @item 14815 @item
14437 Capitalize @samp{Texinfo}; it is a name. Do not write the @samp{x} or 14816 Capitalize ``Texinfo''; it is a name. Do not write the @samp{x} or
14438 @samp{i} in upper case. 14817 @samp{i} in upper case.
14439 14818
14440 @item 14819 @item
14441 Capitalize @samp{Info}; it is a name. 14820 Capitalize ``Info''; it is a name.
14442 14821
14443 @item 14822 @item
14444 Write @TeX{} using the @code{@@TeX@{@}} command. Note the uppercase 14823 Write @TeX{} using the @code{@@TeX@{@}} command. Note the uppercase
14445 @samp{T} and @samp{X}. This command causes the formatters to 14824 @samp{T} and @samp{X}. This command causes the formatters to
14446 typeset the name according to the wishes of Donald Knuth, who wrote 14825 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 14951 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. 14952 file, but only when the command is used inside parentheses.
14574 14953
14575 @subsubheading Invoking from a Shell 14954 @subsubheading Invoking from a Shell
14576 14955
14577 You can invoke programs such as Emacs, GCC, and GAWK from a shell. 14956 You can invoke programs such as Emacs, GCC, and @code{gawk} from a
14578 The documentation for each program should contain a section that 14957 shell. The documentation for each program should contain a section that
14579 describes this. Unfortunately, if the node names and titles for these 14958 describes this. Unfortunately, if the node names and titles for these
14580 sections are all different, readers find it hard to search for the 14959 sections are all different, readers find it hard to search for the
14581 section.@refill 14960 section.@refill
14582 14961
14583 Name such sections with a phrase beginning with the word 14962 Name such sections with a phrase beginning with the word
14584 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way 14963 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way
14585 users can find the section easily. 14964 users can find the section easily.
14586 14965
14587 @subsubheading @sc{ansi c} Syntax 14966 @subsubheading ANSI C Syntax
14588 14967
14589 When you use @code{@@example} to describe a C function's calling 14968 When you use @code{@@example} to describe a C function's calling
14590 conventions, use the @sc{ansi c} syntax, like this:@refill 14969 conventions, use the ANSI C syntax, like this:@refill
14591 14970
14592 @example 14971 @example
14593 void dld_init (char *@@var@{path@}); 14972 void dld_init (char *@@var@{path@});
14594 @end example 14973 @end example
14595 14974
14648 15027
14649 @itemize @bullet 15028 @itemize @bullet
14650 @item 15029 @item
14651 Pronounce @TeX{} as if the @samp{X} were a Greek `chi', as the last 15030 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': 15031 sound in the name `Bach'. But pronounce Texinfo as in `speck':
14653 @samp{teckinfo}. 15032 ``teckinfo''.
14654 15033
14655 @item 15034 @item
14656 Write notes for yourself at the very end of a Texinfo file after the 15035 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 15036 @code{@@bye}. None of the formatters process text after the
14658 @code{@@bye}; it is as if the text were within @code{@@ignore} @dots{} 15037 @code{@@bye}; it is as if the text were within @code{@@ignore} @dots{}
14659 @code{@@end ignore}. 15038 @code{@@end ignore}.
14660 @end itemize 15039 @end itemize
14661 15040
15041
14662 @node Sample Texinfo File, Sample Permissions, Tips, Top 15042 @node Sample Texinfo File, Sample Permissions, Tips, Top
14663 @comment node-name, next, previous, up
14664 @appendix A Sample Texinfo File 15043 @appendix A Sample Texinfo File
14665 @cindex Sample Texinfo file, no comments 15044 @cindex Sample Texinfo file, no comments
14666 15045
14667 Here is a complete, short sample Texinfo file, without any commentary. 15046 Here is a complete, short sample Texinfo file, without any commentary.
14668 You can see this file, with comments, in the first chapter. 15047 You can see this file, with comments, in the first chapter.
14693 @@page 15072 @@page
14694 @@vskip 0pt plus 1filll 15073 @@vskip 0pt plus 1filll
14695 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc. 15074 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc.
14696 @@end titlepage 15075 @@end titlepage
14697 15076
14698 @@node Top, First Chapter, (dir), (dir) 15077 @@node Top, First Chapter, , (dir)
14699 @@comment node-name, next, previous, up 15078 @@comment node-name, next, previous, up
14700 15079
14701 @@menu 15080 @@menu
14702 * First Chapter:: The first chapter is the 15081 * First Chapter:: The first chapter is the
14703 only chapter in this sample. 15082 only chapter in this sample.
14734 @@printindex cp 15113 @@printindex cp
14735 15114
14736 @@contents 15115 @@contents
14737 @@bye 15116 @@bye
14738 @end example 15117 @end example
15118
14739 15119
14740 @node Sample Permissions, Include Files, Sample Texinfo File, Top 15120 @node Sample Permissions, Include Files, Sample Texinfo File, Top
14741 @appendix Sample Permissions 15121 @appendix Sample Permissions
14742 @cindex Permissions 15122 @cindex Permissions
14743 @cindex Copying permissions 15123 @cindex Copying permissions
14815 Software Foundation permission notice reads as follows:@refill 15195 Software Foundation permission notice reads as follows:@refill
14816 15196
14817 @example 15197 @example
14818 This file documents @dots{} 15198 This file documents @dots{}
14819 15199
14820 Copyright 1992 Free Software Foundation, Inc. 15200 Copyright 1997 Free Software Foundation, Inc.
14821 15201
14822 Permission is granted to make and distribute verbatim 15202 Permission is granted to make and distribute verbatim
14823 copies of this manual provided the copyright notice and 15203 copies of this manual provided the copyright notice and
14824 this permission notice are preserved on all copies. 15204 this permission notice are preserved on all copies.
14825 15205
14845 under the above conditions for modified versions, 15225 under the above conditions for modified versions,
14846 except that this permission notice may be stated in a 15226 except that this permission notice may be stated in a
14847 translation approved by the Free Software Foundation. 15227 translation approved by the Free Software Foundation.
14848 @end example 15228 @end example
14849 15229
14850 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions 15230 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions
14851 @comment node-name, next, previous, up 15231 @comment node-name, next, previous, up
14852 @appendixsec Titlepage Copying Permissions 15232 @appendixsec Titlepage Copying Permissions
14853 @cindex Titlepage permissions 15233 @cindex Titlepage permissions
14854 15234
14855 In the @code{@@titlepage} section of a Texinfo file, the standard Free 15235 In the @code{@@titlepage} section of a Texinfo file, the standard Free
14876 under the above conditions for modified versions, 15256 under the above conditions for modified versions,
14877 except that this permission notice may be stated in a 15257 except that this permission notice may be stated in a
14878 translation approved by the Free Software Foundation. 15258 translation approved by the Free Software Foundation.
14879 @end example 15259 @end example
14880 15260
15261
14881 @node Include Files, Headings, Sample Permissions, Top 15262 @node Include Files, Headings, Sample Permissions, Top
14882 @comment node-name, next, previous, up
14883 @appendix Include Files 15263 @appendix Include Files
14884 @cindex Include files 15264 @cindex Include files
14885 15265
14886 When @TeX{} or an Info formatting command sees an @code{@@include} 15266 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 15267 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 15268 by the command and incorporates them into the DVI or Info file being
14889 created. Index entries from the included file are incorporated into 15269 created. Index entries from the included file are incorporated into
14890 the indices of the output file.@refill 15270 the indices of the output file.@refill
14891 15271
14892 Include files let you keep a single large document as a collection of 15272 Include files let you keep a single large document as a collection of
14893 conveniently small parts.@refill 15273 conveniently small parts.@refill
15075 @end group 15455 @end group
15076 15456
15077 @group 15457 @group
15078 @@page 15458 @@page
15079 @@vskip 0pt plus 1filll 15459 @@vskip 0pt plus 1filll
15080 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc. 15460 Copyright @@copyright@{@} 1997 Free Software Foundation, Inc.
15081 @@end titlepage 15461 @@end titlepage
15082 @end group 15462 @end group
15083 15463
15084 @group 15464 @group
15085 @@ifinfo 15465 @@ifinfo
15086 @@node Top, First, (dir), (dir) 15466 @@node Top, First, , (dir)
15087 @@top Master Menu 15467 @@top Master Menu
15088 @@end ifinfo 15468 @@end ifinfo
15089 @end group 15469 @end group
15090 15470
15091 @group 15471 @group
15128 The outer Texinfo source file for @cite{The GNU Emacs Lisp Reference 15508 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 15509 Manual} is named @file{elisp.texi}. This outer file contains a master
15130 menu with 417 entries and a list of 41 @code{@@include} 15510 menu with 417 entries and a list of 41 @code{@@include}
15131 files.@refill 15511 files.@refill
15132 15512
15133 @node Include Files Evolution, , Sample Include File, Include Files 15513 @node Include Files Evolution, , Sample Include File, Include Files
15134 @comment node-name, next, previous, up 15514 @comment node-name, next, previous, up
15135 @appendixsec Evolution of Include Files 15515 @appendixsec Evolution of Include Files
15136 15516
15137 When Info was first created, it was customary to create many small 15517 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 15518 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 15548 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 15549 file that is split into smaller files if necessary. This means that
15170 you can write menus and cross references without naming the different 15550 you can write menus and cross references without naming the different
15171 Texinfo files.@refill 15551 Texinfo files.@refill
15172 15552
15553
15173 @node Headings, Catching Mistakes, Include Files, Top 15554 @node Headings, Catching Mistakes, Include Files, Top
15174 @comment node-name, next, previous, up
15175 @appendix Page Headings 15555 @appendix Page Headings
15176 @cindex Headings 15556 @cindex Headings
15177 @cindex Footings 15557 @cindex Footings
15178 @cindex Page numbering 15558 @cindex Page numbering
15179 @cindex Page headings 15559 @cindex Page headings
15194 @node Headings Introduced, Heading Format, Headings, Headings 15574 @node Headings Introduced, Heading Format, Headings, Headings
15195 @ifinfo 15575 @ifinfo
15196 @heading Headings Introduced 15576 @heading Headings Introduced
15197 @end ifinfo 15577 @end ifinfo
15198 15578
15199 Texinfo provides standard page heading formats for manuals that are printed 15579 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 15580 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 15581 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 15582 formats, but you can specify your own format if you wish.@refill
15203 15583
15204 In addition, you can specify whether chapters should begin on a new 15584 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 15585 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 15586 chapters begin on new pages, you can specify whether they must be
15207 odd-numbered pages.@refill 15587 odd-numbered pages.@refill
15291 15671
15292 @end group 15672 @end group
15293 @end example 15673 @end example
15294 15674
15295 @noindent 15675 @noindent
15296 The chapter name is preceded by the word @samp{Chapter}, the chapter 15676 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 15677 and a colon. This makes it easier to keep track of where you are in the
15298 are in the manual.@refill 15678 manual.@refill
15299 15679
15300 @node Heading Choice, Custom Headings, Heading Format, Headings 15680 @node Heading Choice, Custom Headings, Heading Format, Headings
15301 @comment node-name, next, previous, up 15681 @comment node-name, next, previous, up
15302 @appendixsec Specifying the Type of Heading 15682 @appendixsec Specifying the Type of Heading
15303 15683
15332 @end table 15712 @end table
15333 15713
15334 @noindent 15714 @noindent
15335 Texinfo lacks an @code{@@setchapternewpage even} command.@refill 15715 Texinfo lacks an @code{@@setchapternewpage even} command.@refill
15336 15716
15337 @node Custom Headings, , Heading Choice, Headings 15717 @node Custom Headings, , Heading Choice, Headings
15338 @comment node-name, next, previous, up 15718 @comment node-name, next, previous, up
15339 @appendixsec How to Make Your Own Headings 15719 @appendixsec How to Make Your Own Headings
15340 15720
15341 You can use the standard headings provided with Texinfo or specify 15721 You can use the standard headings provided with Texinfo or specify
15342 your own.@refill 15722 your own. By default, Texinfo has no footers, so if you specify them,
15723 the available page size for the main text will be slightly reduced.
15343 15724
15344 @c Following paragraph is verbose to prevent overfull hboxes. 15725 @c Following paragraph is verbose to prevent overfull hboxes.
15345 Texinfo provides six commands for specifying headings and 15726 Texinfo provides six commands for specifying headings and
15346 footings. The @code{@@everyheading} command and 15727 footings. The @code{@@everyheading} command and
15347 @code{@@everyfooting} command generate page headers and footers 15728 @code{@@everyfooting} command generate page headers and footers
15374 @end group 15755 @end group
15375 @end example 15756 @end example
15376 15757
15377 @noindent 15758 @noindent
15378 You need to divide the left part from the central part and the central 15759 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. 15760 part from the right part by inserting @samp{@@|} between parts.
15380 Otherwise, the specification command will not be able to tell where 15761 Otherwise, the specification command will not be able to tell where
15381 the text for one part ends and the next part begins.@refill 15762 the text for one part ends and the next part begins.@refill
15382 15763
15383 Each part can contain text or @@-commands. The text 15764 Each part can contain text or @@-commands. The text
15384 is printed as if the part were within an ordinary paragraph in the 15765 is printed as if the part were within an ordinary paragraph in the
15410 @itemx @@evenfooting @var{left} @@| @var{center} @@| @var{right} 15791 @itemx @@evenfooting @var{left} @@| @var{center} @@| @var{right}
15411 @itemx @@oddfooting @var{left} @@| @var{center} @@| @var{right} 15792 @itemx @@oddfooting @var{left} @@| @var{center} @@| @var{right}
15412 15793
15413 The `even' and `odd' commands specify the format for even-numbered 15794 The `even' and `odd' commands specify the format for even-numbered
15414 pages and odd-numbered pages. These commands are for books and 15795 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 15796 manuals that are printed on both sides of each sheet of paper.
15416 @end table 15797 @end table
15417 15798
15418 Use the @samp{@@this@dots{}} series of @@-commands to 15799 Use the @samp{@@this@dots{}} series of @@-commands to
15419 provide the names of chapters 15800 provide the names of chapters
15420 and sections and the page number. You can use the 15801 and sections and the page number. You can use the
15427 15808
15428 @table @code 15809 @table @code
15429 @findex thispage 15810 @findex thispage
15430 @item @@thispage 15811 @item @@thispage
15431 Expands to the current page number.@refill 15812 Expands to the current page number.@refill
15432 @c !!! Karl Berry says that `thissection' fails on page breaks. 15813 @c !!! Karl Berry says that `thissection' can fail on page breaks.
15433 @ignore 15814 @ignore
15434 @item @@thissection 15815 @item @@thissection
15435 Expands to the name of the current section.@refill 15816 Expands to the name of the current section.@refill
15436 @end ignore 15817 @end ignore
15437 15818
15479 @end example 15860 @end example
15480 15861
15481 Beware of overlong titles: they may overlap another part of the 15862 Beware of overlong titles: they may overlap another part of the
15482 header or footer and blot it out.@refill 15863 header or footer and blot it out.@refill
15483 15864
15865
15484 @node Catching Mistakes, Refilling Paragraphs, Headings, Top 15866 @node Catching Mistakes, Refilling Paragraphs, Headings, Top
15485 @comment node-name, next, previous, up
15486 @appendix Formatting Mistakes 15867 @appendix Formatting Mistakes
15487 @cindex Structure, catching mistakes in 15868 @cindex Structure, catching mistakes in
15488 @cindex Nodes, catching mistakes 15869 @cindex Nodes, catching mistakes
15489 @cindex Catching mistakes 15870 @cindex Catching mistakes
15490 @cindex Correcting mistakes 15871 @cindex Correcting mistakes
15796 You can tell @TeX{} to continue running and to ignore all errors as best 16177 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 16178 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill
15798 16179
15799 This is often the best thing to do. However, beware: the one error 16180 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 16181 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 16182 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 16183 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 16184 @kbd{C-c C-c}, if you are running a shell inside Emacs).
15804 16185
15805 @item 16186 @item
15806 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}} 16187 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}}
15807 at the @samp{?} prompt.@refill 16188 at the @samp{?} prompt.@refill
15808 @end enumerate 16189 @end enumerate
15813 16194
15814 Sometimes @TeX{} will format a file without producing error messages even 16195 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 16196 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 16197 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 16198 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 16199 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 16200 @TeX{} will give you is the somewhat mysterious comment that@refill
15820 16201
15821 @example 16202 @example
15822 (@@end occurred inside a group at level 1) 16203 (@@end occurred inside a group at level 1)
15823 @end example 16204 @end example
15824 16205
15825 @noindent 16206 @noindent
15826 However, if you print the @sc{dvi} file, you will find that the text 16207 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 16208 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 16209 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} 16210 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 16211 command somewhere in the file; but that it could not determine where
15831 it was needed.@refill 16212 it was needed.@refill
15963 therefore have the same `Up' pointer.@refill 16344 therefore have the same `Up' pointer.@refill
15964 16345
15965 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual}, 16346 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual},
15966 for more information.@refill 16347 for more information.@refill
15967 16348
15968 @node Running Info-Validate, , Using occur, Catching Mistakes 16349 @node Running Info-Validate, , Using occur, Catching Mistakes
15969 @comment node-name, next, previous, up 16350 @comment node-name, next, previous, up
15970 @appendixsec Finding Badly Referenced Nodes 16351 @appendixsec Finding Badly Referenced Nodes
15971 @findex Info-validate 16352 @findex Info-validate
15972 @cindex Nodes, checking for badly referenced 16353 @cindex Nodes, checking for badly referenced
15973 @cindex Checking for badly referenced nodes 16354 @cindex Checking for badly referenced nodes
16126 After you have validated the node structure, you can rerun 16507 After you have validated the node structure, you can rerun
16127 @code{texinfo-format-buffer} in the normal way so it will construct a 16508 @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 16509 tag table and split the file automatically, or you can make the tag
16129 table and split the file manually.@refill 16510 table and split the file manually.@refill
16130 16511
16131 @node Splitting, , Tagifying, Running Info-Validate 16512 @node Splitting, , Tagifying, Running Info-Validate
16132 @comment node-name, next, previous, up 16513 @comment node-name, next, previous, up
16133 @appendixsubsec Splitting a File Manually 16514 @appendixsubsec Splitting a File Manually
16134 @cindex Splitting an Info file manually 16515 @cindex Splitting an Info file manually
16135 @cindex Info file, splitting manually 16516 @cindex Info file, splitting manually
16136 16517
16177 by appending @samp{-} and a number to the original file name.@refill 16558 by appending @samp{-} and a number to the original file name.@refill
16178 16559
16179 The primary file still functions as an Info file, but it contains just 16560 The primary file still functions as an Info file, but it contains just
16180 the tag table and a directory of subfiles.@refill 16561 the tag table and a directory of subfiles.@refill
16181 16562
16563
16182 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top 16564 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top
16183 @comment node-name, next, previous, up
16184 @appendix Refilling Paragraphs 16565 @appendix Refilling Paragraphs
16185 @cindex Refilling paragraphs 16566 @cindex Refilling paragraphs
16186 @cindex Filling paragraphs 16567 @cindex Filling paragraphs
16187 @findex refill 16568 @findex refill
16188 16569
16216 commands now automatically append @code{@@refill} to the end of each 16597 commands now automatically append @code{@@refill} to the end of each
16217 paragraph that should be filled. They do not append @code{@@refill} to 16598 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{}@}}} 16599 the ends of paragraphs that contain @code{@@*} or @w{@code{@@w@{ @dots{}@}}}
16219 and therefore do not refill or indent them.@refill 16600 and therefore do not refill or indent them.@refill
16220 16601
16602
16221 @node Command Syntax, Obtaining TeX, Refilling Paragraphs, Top 16603 @node Command Syntax, Obtaining TeX, Refilling Paragraphs, Top
16222 @comment node-name, next, previous, up 16604 @comment node-name, next, previous, up
16223 @appendix @@-Command Syntax 16605 @appendix @@-Command Syntax
16224 @cindex @@-command syntax 16606 @cindex @@-command syntax
16225 16607
16228 has four types of @@-command:@refill 16610 has four types of @@-command:@refill
16229 16611
16230 @table @asis 16612 @table @asis
16231 @item 1. Non-alphabetic commands. 16613 @item 1. Non-alphabetic commands.
16232 These commands consist of an @@ followed by a punctuation mark or other 16614 These commands consist of an @@ followed by a punctuation mark or other
16233 character that is not part of the alphabet. Non-alphabetic commands 16615 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 16616 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 16617 argument. The two characters (@@ and the other one) are complete in
16236 in themselves; none is followed by braces. The non-alphabetic 16618 themselves; none is followed by braces. The non-alphabetic commands
16237 commands are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@@}, 16619 are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@kbd{SPACE}},
16238 @code{@@@{}, and @code{@@@}}.@refill 16620 @code{@@@kbd{TAB}}, @code{@@@kbd{NL}}, @code{@@@@}, @code{@@@{}, and
16621 @code{@@@}}.@refill
16239 16622
16240 @item 2. Alphabetic commands that do not require arguments. 16623 @item 2. Alphabetic commands that do not require arguments.
16241 These commands start with @@ followed by a word followed by left- and 16624 These commands start with @@ followed by a word followed by left- and
16242 right-hand braces. These commands insert special symbols in the 16625 right-hand braces. These commands insert special symbols in the
16243 document; they do not require arguments. For example, 16626 document; they do not require arguments. For example,
16278 or other punctuation character. @code{@@refill} takes no argument and 16661 or other punctuation character. @code{@@refill} takes no argument and
16279 does @emph{not} require braces. @code{@@refill} never confuses the 16662 does @emph{not} require braces. @code{@@refill} never confuses the
16280 Emacs paragraph commands because it cannot appear at the beginning of 16663 Emacs paragraph commands because it cannot appear at the beginning of
16281 a line.@refill 16664 a line.@refill
16282 16665
16283 @node Obtaining TeX, New Features, Command Syntax, Top 16666
16667 @node Obtaining TeX, Command and Variable Index, Command Syntax, Top
16284 @appendix How to Obtain @TeX{} 16668 @appendix How to Obtain @TeX{}
16285 @cindex Obtaining @TeX{} 16669 @cindex Obtaining @TeX{}
16286 @cindex @TeX{}, how to obtain 16670 @cindex @TeX{}, how to obtain
16287 16671
16288 @c !!! Here is information about obtaining TeX. Update it whenever. 16672 @c !!! Here is information about obtaining TeX. Update it whenever.
16289 @c !!! Also consider updating TeX.README on prep. 16673 @c !!! Also consider updating TeX.README on prep.
16290 @c Updated by RJC on 1 March 1995, conversation with MacKay. 16674 @c Updated by RJC on 1 March 1995, conversation with MacKay.
16291 @c Updated by kb@cs.umb.edu on 29 July 1996. 16675 @c Updated by kb@cs.umb.edu on 29 July 1996.
16676 @c Updated by kb@cs.umb.edu on 25 April 1997.
16292 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix 16677 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix
16293 systems via anonymous ftp or on tape or CD-ROM. The core material 16678 systems via anonymous ftp or on physical media. The core material
16294 consists of Karl Berry's Web2c @TeX{} distribution. 16679 consists of the Web2c @TeX{} distribution (@uref{http://www.tug.org/web2c}).
16295 16680
16296 On-line retrieval instructions are available from either: 16681 Instructions for retrieval by anonymous ftp and information on other
16297 @example 16682 available distributions:
16298 @url{ftp://ftp.tug.org/tex/unixtex.ftp} 16683 @example
16299 @url{http://www.tug.org/unixtex.ftp} 16684 @uref{ftp://ftp.tug.org/tex/unixtex.ftp}
16685 @uref{http://www.tug.org/unixtex.ftp}
16300 @end example 16686 @end example
16301 16687
16302 The Free Software Foundation provides a core distribution on its Source 16688 The Free Software Foundation provides a core distribution on its Source
16303 Code CD-ROM suitable for printing Texinfo manuals; the University of 16689 Code CD-ROM suitable for printing Texinfo manuals; the University of
16304 Washington maintains and supports a tape distribution; the @TeX{} Users 16690 Washington maintains and supports a tape distribution; the @TeX{} Users
16305 Group co-sponsors a complete CD-ROM @TeX{} distribution. 16691 Group co-sponsors a complete CD-ROM @TeX{} distribution.
16306 16692
16693 @itemize @bullet
16694
16695 @item
16307 For the FSF Source Code CD-ROM, please contact: 16696 For the FSF Source Code CD-ROM, please contact:
16308 16697
16309 @iftex 16698 @iftex
16310 @display 16699 @display
16311 @group 16700 @group
16312 Free Software Foundation, Inc. 16701 Free Software Foundation, Inc.
16313 59 Temple Place Suite 330 16702 59 Temple Place Suite 330
16314 Boston, MA w{ } 02111-1307 16703 Boston, MA @ @ 02111-1307
16315 USA 16704 USA
16316
16317 Telephone: @w{@t{+}1--617--542--5942} 16705 Telephone: @w{@t{+}1--617--542--5942}
16318 Fax: (including Japan) @w{@t{+}1--617--542--2652} 16706 Fax: (including Japan) @w{@t{+}1--617--542--2652}
16319 Free Dial Fax (in Japan): 16707 Free Dial Fax (in Japan):
16320 @w{ } @w{ } @w{ } 0031--13--2473 (KDD) 16708 @w{ } @w{ } @w{ } 0031--13--2473 (KDD)
16321 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC) 16709 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC)
16339 Electronic mail: @code{gnu@@prep.ai.mit.edu} 16727 Electronic mail: @code{gnu@@prep.ai.mit.edu}
16340 @end group 16728 @end group
16341 @end display 16729 @end display
16342 @end ifinfo 16730 @end ifinfo
16343 16731
16344 To order a full distribution on CD-ROM, please see: 16732 @item
16345 @display 16733 To order a complete distribution on CD-ROM, please see
16346 @url{http://www.tug.org/tex-live.html} 16734 @uref{http://www.tug.org/tex-live.html}. (This distribution is also
16347 @end display 16735 available by FTP; see the URL's above.)
16348 16736
16349 @noindent 16737 @item
16350 (The distribution is also available by FTP; see the URL's above.) 16738 To order a full distribution from the University of Washington on either
16351 16739 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 16740 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 16741
16356 @display 16742 @display
16357 @group 16743 @group
16358 Pierre A. MacKay 16744 Pierre A. MacKay
16359 Denny Hall, Mail Stop DH-10 16745 Denny Hall, Mail Stop DH-10
16360 University of Washington 16746 University of Washington
16361 Seattle, WA @w{ } 98195 16747 Seattle, WA @w{ } 98195
16362 USA 16748 USA
16363
16364 Telephone: @t{+}1--206--543--2268 16749 Telephone: @t{+}1--206--543--2268
16365 Electronic mail: @code{mackay@@cs.washington.edu} 16750 Electronic mail: @code{mackay@@cs.washington.edu}
16366 @end group 16751 @end group
16367 @end display 16752 @end display
16368 16753
16369 Please make checks payable to the University of Washington. 16754 @noindent Please make checks payable to the University of Washington.
16370 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. 16755 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. Overseas
16371 16756 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 16757 air parcel post, or $30.00 for shipment via courier.
16373 sites: please add to the base cost, if desired, $20.00 for shipment 16758
16374 via air parcel post, or $30.00 for shipment via courier. 16759 @end itemize
16375 16760
16376 Please check with the above for current prices and formats. 16761 Many other @TeX{} distributions are available; see
16377 16762 @uref{http://www.tug.org/}.
16378 16763
16379 @node New Features, Command and Variable Index, Obtaining TeX, Top 16764
16380 @appendix Second Edition Features 16765 @c These are no longer ``new'', and the explanations
16766 @c are all given elsewhere anyway, I think. --karl, 25apr97.
16767 @ignore (the entire appendix)
16768 @c node New Features, Command and Variable Index, Obtaining TeX, Top
16769 @c appendix Second Edition Features
16381 16770
16382 @tex 16771 @tex
16383 % Widen the space for the first column so three control-character 16772 % Widen the space for the first column so three control-character
16384 % strings fit in the first column. Switched back to default .8in 16773 % strings fit in the first column. Switched back to default .8in
16385 % value at end of chapter. 16774 % value at end of chapter.
16396 @menu 16785 @menu
16397 * New Texinfo Mode Commands:: The updating commands are especially useful. 16786 * New Texinfo Mode Commands:: The updating commands are especially useful.
16398 * New Commands:: Many newly described @@-commands. 16787 * New Commands:: Many newly described @@-commands.
16399 @end menu 16788 @end menu
16400 16789
16401 @node New Texinfo Mode Commands, New Commands, New Features, New Features 16790 @c node New Texinfo Mode Commands, New Commands, Obtaining TeX, Obtaining TeX
16402 @appendixsec New Texinfo Mode Commands 16791 @c appendixsec New Texinfo Mode Commands
16403 16792
16404 Texinfo mode provides commands and features especially designed for 16793 Texinfo mode provides commands and features especially designed for
16405 working with Texinfo files. More than 20 new commands have been 16794 working with Texinfo files. More than 20 new commands have been
16406 added, including commands for automatically creating and updating 16795 added, including commands for automatically creating and updating
16407 both nodes and menus. This is a tedious task when done by hand.@refill 16796 both nodes and menus. This is a tedious task when done by hand.@refill
16408 16797
16409 The keybindings are intended to be somewhat mnemonic.@refill 16798 The keybindings are intended to be somewhat mnemonic.@refill
16410 16799
16411 @subheading Update all nodes and menus 16800 @c subheading Update all nodes and menus
16412 16801
16413 The @code{texinfo-master-menu} command is the primary command: 16802 The @code{texinfo-master-menu} command is the primary command:
16414 16803
16415 @table @kbd 16804 @table @kbd
16416 @item C-c C-u m 16805 @item C-c C-u m
16419 With @kbd{C-u} as a prefix argument, 16808 With @kbd{C-u} as a prefix argument,
16420 first create or update all nodes 16809 first create or update all nodes
16421 and regular menus. 16810 and regular menus.
16422 @end table 16811 @end table
16423 16812
16424 @subheading Update Pointers 16813 @c subheading Update Pointers
16425 16814
16426 @noindent 16815 @noindent
16427 Create or update `Next', `Previous', and `Up' node pointers.@refill 16816 Create or update `Next', `Previous', and `Up' node pointers.@refill
16428 16817
16429 @noindent 16818 @noindent
16437 @item C-c C-u C-e 16826 @item C-c C-u C-e
16438 @itemx M-x texinfo-every-node-update 16827 @itemx M-x texinfo-every-node-update
16439 Update every node in the buffer. 16828 Update every node in the buffer.
16440 @end table 16829 @end table
16441 16830
16442 @subheading Update Menus 16831 @c subheading Update Menus
16443 16832
16444 @noindent 16833 @noindent
16445 Create or update menus.@refill 16834 Create or update menus.@refill
16446 16835
16447 @noindent 16836 @noindent
16457 Make or update all the menus in a buffer. 16846 Make or update all the menus in a buffer.
16458 With @kbd{C-u} as a prefix argument, 16847 With @kbd{C-u} as a prefix argument,
16459 first update all the nodes. 16848 first update all the nodes.
16460 @end table 16849 @end table
16461 16850
16462 @subheading Insert Title as Description 16851 @c subheading Insert Title as Description
16463 16852
16464 @noindent 16853 @noindent
16465 Insert a node's chapter or section title in the space for the 16854 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 16855 description in a menu entry line; position point so you can edit the
16467 insert. (This command works somewhat differently than the other 16856 insert. (This command works somewhat differently than the other
16473 @table @kbd 16862 @table @kbd
16474 @item C-c C-c C-d 16863 @item C-c C-c C-d
16475 Insert title. 16864 Insert title.
16476 @end table 16865 @end table
16477 16866
16478 @subheading Format for Info 16867 @c subheading Format for Info
16479 16868
16480 @noindent 16869 @noindent
16481 Provide keybindings both for the Info formatting commands that are 16870 Provide keybindings both for the Info formatting commands that are
16482 written in Emacs Lisp and for @code{makeinfo} that is written in 16871 written in Emacs Lisp and for @code{makeinfo} that is written in
16483 C.@refill 16872 C.@refill
16511 16900
16512 @item C-c C-m C-k 16901 @item C-c C-m C-k
16513 Kill the @code{makeinfo} formatting job. 16902 Kill the @code{makeinfo} formatting job.
16514 @end table 16903 @end table
16515 16904
16516 @subheading Typeset and Print 16905 @c subheading Typeset and Print
16517 16906
16518 @noindent 16907 @noindent
16519 Typeset and print Texinfo documents from within Emacs.@refill 16908 Typeset and print Texinfo documents from within Emacs.@refill
16520 16909
16521 @ifinfo 16910 @ifinfo
16536 16925
16537 @item C-c C-t C-i 16926 @item C-c C-t C-i
16538 Run @code{texindex}. 16927 Run @code{texindex}.
16539 16928
16540 @item C-c C-t C-p 16929 @item C-c C-t C-p
16541 Print the @sc{dvi} file. 16930 Print the DVI file.
16542 16931
16543 @item C-c C-t C-q 16932 @item C-c C-t C-q
16544 Show the print queue. 16933 Show the print queue.
16545 16934
16546 @item C-c C-t C-d 16935 @item C-c C-t C-d
16554 16943
16555 @item C-c C-t C-l 16944 @item C-c C-t C-l
16556 Recenter the output buffer. 16945 Recenter the output buffer.
16557 @end table 16946 @end table
16558 16947
16559 @subheading Other Updating Commands 16948 @c subheading Other Updating Commands
16560 16949
16561 @noindent 16950 @noindent
16562 The ``other updating commands'' do not have standard keybindings because 16951 The ``other updating commands'' do not have standard keybindings because
16563 they are used less frequently.@refill 16952 they are used less frequently.@refill
16564 16953
16582 16971
16583 @item M-x texinfo-sequential-node-update 16972 @item M-x texinfo-sequential-node-update
16584 Insert node pointers in strict sequence. 16973 Insert node pointers in strict sequence.
16585 @end table 16974 @end table
16586 16975
16587 @node New Commands, , New Texinfo Mode Commands, New Features 16976 @c node New Commands, , New Texinfo Mode Commands, Obtaining TeX
16588 @appendixsec New Texinfo @@-Commands 16977 @c appendixsec New Texinfo @@-Commands
16589 16978
16590 The second edition of the Texinfo manual describes more than 50 16979 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 16980 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 16981 of these commands existed in Texinfo but were not documented in the
16593 manual; the others are new. Here is a listing, with brief 16982 manual; the others are new. Here is a listing, with brief
16594 descriptions of them:@refill 16983 descriptions of them:@refill
16595 16984
16596 @subheading Indexing 16985 @c subheading Indexing
16597 16986
16598 @noindent 16987 @noindent
16599 Create your own index, and merge indices.@refill 16988 Create your own index, and merge indices.@refill
16600 16989
16601 @noindent 16990 @noindent
16610 @item @@synindex @var{from-index} @var{into-index} 16999 @item @@synindex @var{from-index} @var{into-index}
16611 Merge the @var{from-index} index into the @var{into-index} index. 17000 Merge the @var{from-index} index into the @var{into-index} index.
16612 See also the @code{@@syncodeindex} command. 17001 See also the @code{@@syncodeindex} command.
16613 @end table 17002 @end table
16614 17003
16615 @subheading Definitions 17004 @c subheading Definitions
16616 17005
16617 @noindent 17006 @noindent
16618 Describe functions, variables, macros, 17007 Describe functions, variables, macros,
16619 commands, user options, special forms, and other such artifacts in a 17008 commands, user options, special forms, and other such artifacts in a
16620 uniform format.@refill 17009 uniform format.@refill
16629 17018
16630 @item @@defvr, @@defop, @dots{} 17019 @item @@defvr, @@defop, @dots{}
16631 15 other related commands. 17020 15 other related commands.
16632 @end table 17021 @end table
16633 17022
16634 @subheading Glyphs 17023 @c subheading Glyphs
16635 17024
16636 @noindent 17025 @noindent
16637 Indicate the results of evaluation, expansion, 17026 Indicate the results of evaluation, expansion,
16638 printed output, an error message, equivalence of expressions, and the 17027 printed output, an error message, equivalence of expressions, and the
16639 location of point.@refill 17028 location of point.@refill
16665 @item @@result@{@} 17054 @item @@result@{@}
16666 @itemx @result{} 17055 @itemx @result{}
16667 Result of an expression 17056 Result of an expression
16668 @end table 17057 @end table
16669 17058
16670 @subheading Page Headings 17059 @c subheading Page Headings
16671 17060
16672 @noindent 17061 @noindent
16673 Customize page headings. 17062 Customize page headings.
16674 17063
16675 @noindent 17064 @noindent
16690 17079
16691 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage 17080 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage
16692 Related commands. 17081 Related commands.
16693 @end table 17082 @end table
16694 17083
16695 @subheading Formatting 17084 @c subheading Formatting
16696 17085
16697 @noindent 17086 @noindent
16698 Format blocks of text. 17087 Format blocks of text.
16699 17088
16700 @noindent 17089 @noindent
16730 @item @@smallexample 17119 @item @@smallexample
16731 @itemx @@smalllisp 17120 @itemx @@smalllisp
16732 Like @@table and @@lisp @r{but for} @@smallbook. 17121 Like @@table and @@lisp @r{but for} @@smallbook.
16733 @end table 17122 @end table
16734 17123
16735 @subheading Conditionals 17124 @c subheading Conditionals
16736 17125
16737 @noindent 17126 @noindent
16738 Conditionally format text. 17127 Conditionally format text.
16739 17128
16740 @noindent 17129 @noindent
16756 17145
16757 @item @@ifclear @var{flag} 17146 @item @@ifclear @var{flag}
16758 Ignore, if @var{flag} is set. 17147 Ignore, if @var{flag} is set.
16759 @end table 17148 @end table
16760 17149
16761 @subheading @@heading series for Titles 17150 @c subheading @@heading series for Titles
16762 17151
16763 @noindent 17152 @noindent
16764 Produce unnumbered headings that do not appear in a table of contents. 17153 Produce unnumbered headings that do not appear in a table of contents.
16765 17154
16766 @noindent 17155 @noindent
16769 @table @kbd 17158 @table @kbd
16770 @item @@heading @var{title} 17159 @item @@heading @var{title}
16771 Unnumbered section-like heading not listed 17160 Unnumbered section-like heading not listed
16772 in the table of contents of a printed manual. 17161 in the table of contents of a printed manual.
16773 17162
16774 @item @@chapheading, @@majorheading, @@subheading, @@subsubheading 17163 @item @@chapheading, @@majorheading, @@c subheading, @@subsubheading
16775 Related commands. 17164 Related commands.
16776 @end table 17165 @end table
16777 17166
16778 @need 1000 17167 @need 1000
16779 @subheading Font commands 17168 @c subheading Font commands
16780 17169
16781 @need 1000 17170 @need 1000
16782 @noindent 17171 @noindent
16783 @xref{Smallcaps}, and @* 17172 @xref{Smallcaps}, and @*
16784 @ref{Fonts}. 17173 @ref{Fonts}.
16789 17178
16790 @item @@sc@{@var{text}@} 17179 @item @@sc@{@var{text}@}
16791 Print in @sc{small caps} font. 17180 Print in @sc{small caps} font.
16792 @end table 17181 @end table
16793 17182
16794 @subheading Miscellaneous 17183 @c subheading Miscellaneous
16795 17184
16796 @noindent 17185 @noindent
16797 See @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author} Commands},@* 17186 See @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author} Commands},@*
16798 see @ref{Customized Highlighting},@* 17187 see @ref{Customized Highlighting},@*
16799 see @ref{Overfull hboxes},@* 17188 see @ref{Overfull hboxes},@*
16809 17198
16810 @table @kbd 17199 @table @kbd
16811 @item @@author @var{author} 17200 @item @@author @var{author}
16812 Typeset author's name. 17201 Typeset author's name.
16813 17202
16814 @ignore 17203 @c @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
16815 @item @@definfoenclose @var{new-command}, @var{before}, @var{after}, 17204 @c Define a highlighting command for Info. (Info only.)
16816 Define a highlighting command for Info. (Info only.)
16817 @end ignore
16818 17205
16819 @item @@finalout 17206 @item @@finalout
16820 Produce cleaner printed output. 17207 Produce cleaner printed output.
16821 17208
16822 @item @@footnotestyle @var{end-or-separate} 17209 @item @@footnotestyle @var{end-or-separate}
16860 @end table 17247 @end table
16861 @tex 17248 @tex
16862 % Switch width of first column of tables back to default value 17249 % Switch width of first column of tables back to default value
16863 \global\tableindent=.8in 17250 \global\tableindent=.8in
16864 @end tex 17251 @end tex
16865 17252 @end ignore
16866 17253
16867 @node Command and Variable Index, Concept Index, New Features, Top 17254 @node Command and Variable Index, Concept Index, Obtaining TeX, Top
16868 @comment node-name, next, previous, up 17255 @comment node-name, next, previous, up
16869 @unnumbered Command and Variable Index 17256 @unnumbered Command and Variable Index
16870 17257
16871 This is an alphabetical list of all the @@-commands, assorted Emacs Lisp 17258 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 17259 functions, and several variables. To make the list easier to use, the
16873 commands are listed without their preceding @samp{@@}.@refill 17260 commands are listed without their preceding @samp{@@}.@refill
16874 17261
16875 @printindex fn 17262 @printindex fn
16876 17263
16877 17264
16878 @node Concept Index, , Command and Variable Index, Top 17265 @node Concept Index, , Command and Variable Index, Top
16879 @unnumbered Concept Index 17266 @unnumbered Concept Index
16880 17267
16881 @printindex cp 17268 @printindex cp
16882 17269
16883 17270