Mercurial > hg > xemacs-beta
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 |