comparison man/texinfo.texi @ 294:4b85ae5eabfb r21-0b45

Import from CVS: tag r21-0b45
author cvs
date Mon, 13 Aug 2007 10:38:01 +0200
parents c9fe270a4101
children 70ad99077275
comparison
equal deleted inserted replaced
293:403535bfea94 294:4b85ae5eabfb
1 \input texinfo.tex @c -*-texinfo-*- 1 \input texinfo.tex @c -*-texinfo-*-
2 @c $Id: texinfo.texi,v 1.6 1998/06/13 04:28:16 steve Exp $ 2 @c $Id: texinfo.texi,v 1.7 1998/06/20 00:58:34 steve Exp $
3 @c %**start of header 3 @c %**start of header
4 4
5 @c All text is ignored before the setfilename. 5 @c All text is ignored before the setfilename.
6 @setfilename texinfo 6 @setfilename ../info/texinfo
7 @settitle Texinfo @value{edition} 7 @settitle Texinfo @value{edition}
8 8
9 @c Edition number is now the same as the Texinfo distribution version number. 9 @c Edition number is now the same as the Texinfo distribution version number.
10 @set edition 3.12 10 @set edition 3.12
11 @set update-month February 1998 11 @set update-month February 1998
922 light-hearted, young and cheery.@refill 922 light-hearted, young and cheery.@refill
923 923
924 @TeX{} is freely distributable. It is written in a superset of Pascal 924 @TeX{} is freely distributable. It is written in a superset of Pascal
925 called WEB and can be compiled either in Pascal or (by using a 925 called WEB and can be compiled either in Pascal or (by using a
926 conversion program that comes with the @TeX{} distribution) in C. 926 conversion program that comes with the @TeX{} distribution) in C.
927 (@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information 927 (@xref{TeX Mode, ,@TeX{} Mode, xemacs, XEmacs User's Manual}, for information
928 about @TeX{}.)@refill 928 about @TeX{}.)@refill
929 929
930 @TeX{} is very powerful and has a great many features. Because a 930 @TeX{} is very powerful and has a great many features. Because a
931 Texinfo file must be able to present information both on a 931 Texinfo file must be able to present information both on a
932 character-only terminal in Info form and in a typeset book, the 932 character-only terminal in Info form and in a typeset book, the
1559 a regular expression matching the commands for chapters and their 1559 a regular expression matching the commands for chapters and their
1560 equivalents, such as appendices. With this value for the page 1560 equivalents, such as appendices. With this value for the page
1561 delimiter, you can jump from chapter title to chapter title with the 1561 delimiter, you can jump from chapter title to chapter title with the
1562 @kbd{C-x ]} (@code{forward-page}) and @kbd{C-x [} 1562 @kbd{C-x ]} (@code{forward-page}) and @kbd{C-x [}
1563 (@code{backward-page}) commands and narrow to a chapter with the 1563 (@code{backward-page}) commands and narrow to a chapter with the
1564 @kbd{C-x p} (@code{narrow-to-page}) command. (@xref{Pages, , ,emacs, 1564 @kbd{C-x p} (@code{narrow-to-page}) command. (@xref{Pages, , , xemacs,
1565 The GNU Emacs Manual}, for details about the page commands.)@refill 1565 XEmacs User's Manual}, for details about the page commands.)@refill
1566 1566
1567 You may name a Texinfo file however you wish, but the convention is to 1567 You may name a Texinfo file however you wish, but the convention is to
1568 end a Texinfo file name with one of the three extensions 1568 end a Texinfo file name with one of the three extensions
1569 @file{.texinfo}, @file{.texi}, or @file{.tex}. A longer extension is 1569 @file{.texinfo}, @file{.texi}, or @file{.tex}. A longer extension is
1570 preferred, since it is explicit, but a shorter extension may be 1570 preferred, since it is explicit, but a shorter extension may be
1775 in the structure of the current chapter. In this case, you can mark 1775 in the structure of the current chapter. In this case, you can mark
1776 off the region of the buffer that you are interested in by using the 1776 off the region of the buffer that you are interested in by using the
1777 @kbd{C-x n n} (@code{narrow-to-region}) command and 1777 @kbd{C-x n n} (@code{narrow-to-region}) command and
1778 @code{texinfo-show-structure} will work on only that region. To see 1778 @code{texinfo-show-structure} will work on only that region. To see
1779 the whole buffer again, use @w{@kbd{C-x n w}} (@code{widen}). 1779 the whole buffer again, use @w{@kbd{C-x n w}} (@code{widen}).
1780 (@xref{Narrowing, , , emacs, The GNU Emacs Manual}, for more 1780 (@xref{Narrowing, , , xemacs, XEmacs User's Manual}, for more
1781 information about the narrowing commands.)@refill 1781 information about the narrowing commands.)@refill
1782 1782
1783 @vindex page-delimiter 1783 @vindex page-delimiter
1784 @cindex Page delimiter in Texinfo mode 1784 @cindex Page delimiter in Texinfo mode
1785 In addition to providing the @code{texinfo-show-structure} command, 1785 In addition to providing the @code{texinfo-show-structure} command,
1786 Texinfo mode sets the value of the page delimiter variable to match 1786 Texinfo mode sets the value of the page delimiter variable to match
1787 the chapter-level @@-commands. This enables you to use the @kbd{C-x 1787 the chapter-level @@-commands. This enables you to use the @kbd{C-x
1788 ]} (@code{forward-page}) and @kbd{C-x [} (@code{backward-page}) 1788 ]} (@code{forward-page}) and @kbd{C-x [} (@code{backward-page})
1789 commands to move forward and backward by chapter, and to use the 1789 commands to move forward and backward by chapter, and to use the
1790 @kbd{C-x p} (@code{narrow-to-page}) command to narrow to a chapter. 1790 @kbd{C-x p} (@code{narrow-to-page}) command to narrow to a chapter.
1791 @xref{Pages, , , emacs, The GNU Emacs Manual}, for more information 1791 @xref{Pages, , , xemacs, XEmacs User's Manual}, for more information
1792 about the page commands.@refill 1792 about the page commands.@refill
1793 1793
1794 @node Updating Nodes and Menus, Info Formatting, Showing the Structure, Texinfo Mode 1794 @node Updating Nodes and Menus, Info Formatting, Showing the Structure, Texinfo Mode
1795 @comment node-name, next, previous, up 1795 @comment node-name, next, previous, up
1796 @section Updating Nodes and Menus 1796 @section Updating Nodes and Menus
1973 1973
1974 The @code{texinfo-column-for-description} variable specifies the 1974 The @code{texinfo-column-for-description} variable specifies the
1975 column to which menu descriptions are indented. By default, the value 1975 column to which menu descriptions are indented. By default, the value
1976 is 32 although it is often useful to reduce it to as low as 24. You 1976 is 32 although it is often useful to reduce it to as low as 24. You
1977 can set the variable with the @kbd{M-x edit-options} command 1977 can set the variable with the @kbd{M-x edit-options} command
1978 (@pxref{Edit Options, , Editing Variable Values, emacs, The GNU Emacs 1978 (@pxref{Edit Options, , Editing Variable Values, xemacs, XEmacs User's
1979 Manual}) or with the @kbd{M-x set-variable} command (@pxref{Examining, 1979 Manual}) or with the @kbd{M-x set-variable} command (@pxref{Examining, ,
1980 , Examining and Setting Variables, emacs, The GNU Emacs 1980 Examining and Setting Variables, xemacs, XEmacs User's Manual}).@refill
1981 Manual}).@refill
1982 1981
1983 Also, the @code{texinfo-indent-menu-description} command may be used to 1982 Also, the @code{texinfo-indent-menu-description} command may be used to
1984 indent existing menu descriptions to a specified column. Finally, if 1983 indent existing menu descriptions to a specified column. Finally, if
1985 you wish, you can use the @code{texinfo-insert-node-lines} command to 1984 you wish, you can use the @code{texinfo-insert-node-lines} command to
1986 insert missing @code{@@node} lines into a file. (@xref{Other Updating 1985 insert missing @code{@@node} lines into a file. (@xref{Other Updating
6144 @example 6143 @example
6145 The official GNU ftp site is 6144 The official GNU ftp site is
6146 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@} 6145 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}
6147 @end example 6146 @end example
6148 6147
6149 @noindent produces (in text): 6148 @noindent
6149 produces (in text):
6150 @display 6150 @display
6151 The official GNU ftp site is 6151 The official GNU ftp site is
6152 @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu} 6152 @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu}
6153 @end display 6153 @end display
6154 6154
6155 @noindent whereas 6155 @noindent
6156 whereas
6156 @example 6157 @example
6157 The official 6158 The official
6158 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu, 6159 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu,
6159 GNU ftp site@} holds programs and texts. 6160 GNU ftp site@} holds programs and texts.
6160 @end example 6161 @end example
6161 6162
6162 @noindent produces (in text): 6163 @noindent
6164 produces (in text):
6163 @display 6165 @display
6164 The official @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu, GNU ftp site} holds 6166 The official @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu, GNU ftp site} holds
6165 programs and texts. 6167 programs and texts.
6166 @end display 6168 @end display
6167 6169
6168 @noindent and (in HTML): 6170 @noindent
6171 and (in HTML):
6169 @example 6172 @example
6170 The official <A HREF="ftp://ftp.gnu.ai.mit.edu/pub/gnu">GNU ftp 6173 The official <A HREF="ftp://ftp.gnu.ai.mit.edu/pub/gnu">GNU ftp
6171 site</A> holds programs and texts. 6174 site</A> holds programs and texts.
6172 @end example 6175 @end example
6173 6176
6804 6807
6805 @example 6808 @example
6806 Send bug reports to @@email@{bug-texinfo@@@@gnu.org@}. 6809 Send bug reports to @@email@{bug-texinfo@@@@gnu.org@}.
6807 Send suggestions to the @@email@{bug-texinfo@@@@gnu.org, same place@}. 6810 Send suggestions to the @@email@{bug-texinfo@@@@gnu.org, same place@}.
6808 @end example 6811 @end example
6809 @noindent produces 6812 @noindent
6813 produces
6810 @example 6814 @example
6811 Send bug reports to @email{bug-texinfo@@gnu.org}. 6815 Send bug reports to @email{bug-texinfo@@gnu.org}.
6812 Send suggestions to the @email{bug-texinfo@@gnu.org, same place}. 6816 Send suggestions to the @email{bug-texinfo@@gnu.org, same place}.
6813 @end example 6817 @end example
6814 6818
8186 8190
8187 @example 8191 @example
8188 @@multitable @@columnfractions .33 .33 .33 8192 @@multitable @@columnfractions .33 .33 .33
8189 @end example 8193 @end example
8190 8194
8191 @noindent The fractions need not add up exactly to 1.0, as these do 8195 @noindent
8196 The fractions need not add up exactly to 1.0, as these do
8192 not. This allows you to produce tables that do not need the full line 8197 not. This allows you to produce tables that do not need the full line
8193 length. 8198 length.
8194 8199
8195 @item 8200 @item
8196 @cindex Prototype row, column widths defined by 8201 @cindex Prototype row, column widths defined by
8227 Line breaks are not special within the table body, and you may break 8232 Line breaks are not special within the table body, and you may break
8228 input lines in your source file as necessary. 8233 input lines in your source file as necessary.
8229 8234
8230 Here is a complete example of a multi-column table (the text is from 8235 Here is a complete example of a multi-column table (the text is from
8231 @cite{The GNU Emacs Manual}, @pxref{Split Window,, Splitting Windows, 8236 @cite{The GNU Emacs Manual}, @pxref{Split Window,, Splitting Windows,
8232 emacs, The GNU Emacs Manual}): 8237 xemacs, XEmacs User's Manual}):
8233 8238
8234 @example 8239 @example
8235 @@multitable @@columnfractions .15 .45 .4 8240 @@multitable @@columnfractions .15 .45 .4
8236 @@item Key @@tab Command @@tab Description 8241 @@item Key @@tab Command @@tab Description
8237 @@item C-x 2 8242 @@item C-x 2
8247 @@tab In the mode line or scroll bar of a window, 8252 @@tab In the mode line or scroll bar of a window,
8248 split that window. 8253 split that window.
8249 @@end multitable 8254 @@end multitable
8250 @end example 8255 @end example
8251 8256
8252 @noindent produces: 8257 @noindent
8258 produces:
8253 8259
8254 @multitable @columnfractions .15 .45 .4 8260 @multitable @columnfractions .15 .45 .4
8255 @item Key @tab Command @tab Description 8261 @item Key @tab Command @tab Description
8256 @item C-x 2 8262 @item C-x 2
8257 @tab @code{split-window-vertically} 8263 @tab @code{split-window-vertically}
8863 In the Info file output, @code{@@.}@: is equivalent to a simple 8869 In the Info file output, @code{@@.}@: is equivalent to a simple
8864 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:. 8870 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:.
8865 8871
8866 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to 8872 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to
8867 work well with the Emacs sentence motion commands (@pxref{Sentences,,, 8873 work well with the Emacs sentence motion commands (@pxref{Sentences,,,
8868 emacs, The GNU Emacs Manual}). This made it necessary for them to be 8874 xemacs, XEmacs User's Manual}). This made it necessary for them to be
8869 incompatible with some other formatting systems that use @@-commands. 8875 incompatible with some other formatting systems that use @@-commands.
8870 8876
8871 Do not put braces after any of these commands. 8877 Do not put braces after any of these commands.
8872 8878
8873 8879
8901 @example 8907 @example
8902 Spacey@@ @@ @@ @@ 8908 Spacey@@ @@ @@ @@
8903 example. 8909 example.
8904 @end example 8910 @end example
8905 8911
8906 @noindent produces 8912 @noindent
8913 produces
8907 8914
8908 @example 8915 @example
8909 Spacey@ @ @ @ 8916 Spacey@ @ @ @
8910 example. 8917 example.
8911 @end example 8918 @end example
9831 Tell @TeX{} how to hyphenate @var{hy-phen-a-ted words}. As shown, you 9838 Tell @TeX{} how to hyphenate @var{hy-phen-a-ted words}. As shown, you
9832 put a @samp{-} at each hyphenation point. For example: 9839 put a @samp{-} at each hyphenation point. For example:
9833 @example 9840 @example
9834 @@hyphenation@{man-u-script man-u-scripts@} 9841 @@hyphenation@{man-u-script man-u-scripts@}
9835 @end example 9842 @end example
9836 @noindent @TeX{} only uses the specified hyphenation points when the 9843 @noindent
9844 @TeX{} only uses the specified hyphenation points when the
9837 words match exactly, so give all necessary variants. 9845 words match exactly, so give all necessary variants.
9838 @end table 9846 @end table
9839 9847
9840 Info output is not hyphenated, so these commands have no effect there. 9848 Info output is not hyphenated, so these commands have no effect there.
9841 9849
10413 10421
10414 @findex defspec 10422 @findex defspec
10415 @item @@defspec @var{name} @var{arguments}@dots{} 10423 @item @@defspec @var{name} @var{arguments}@dots{}
10416 The @code{@@defspec} command is the definition command for special 10424 The @code{@@defspec} command is the definition command for special
10417 forms. (In Lisp, a special form is an entity much like a function, 10425 forms. (In Lisp, a special form is an entity much like a function,
10418 @pxref{Special Forms,,, elisp, GNU Emacs Lisp Reference Manual}.) 10426 @pxref{Special Forms,,, lispref, XEmacs Lisp Reference Manual}.)
10419 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@} 10427 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@}
10420 @dots{}} and works like @code{@@defun}.@refill 10428 @dots{}} and works like @code{@@defun}.@refill
10421 @end table 10429 @end table
10422 10430
10423 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail 10431 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail
10500 @findex defopt 10508 @findex defopt
10501 @item @@defopt @var{name} 10509 @item @@defopt @var{name}
10502 @cindex User options, marking 10510 @cindex User options, marking
10503 The @code{@@defopt} command is the definition command for @dfn{user 10511 The @code{@@defopt} command is the definition command for @dfn{user
10504 options}, i.e., variables intended for users to change according to 10512 options}, i.e., variables intended for users to change according to
10505 taste; Emacs has many such (@pxref{Variables,,, emacs, The GNU Emacs 10513 taste; Emacs has many such (@pxref{Variables,,, xemacs, XEmacs User's
10506 Manual}). @code{@@defopt} is equivalent to @samp{@@defvr @{User 10514 Manual}). @code{@@defopt} is equivalent to @samp{@@defvr @{User
10507 Option@} @dots{}} and works like @code{@@defvar}.@refill 10515 Option@} @dots{}} and works like @code{@@defvar}.@refill
10508 @end table 10516 @end table
10509 10517
10510 10518
11034 A function definition uses the @code{@@defun} and @code{@@end defun} 11042 A function definition uses the @code{@@defun} and @code{@@end defun}
11035 commands. The name of the function follows immediately after the 11043 commands. The name of the function follows immediately after the
11036 @code{@@defun} command and it is followed, on the same line, by the 11044 @code{@@defun} command and it is followed, on the same line, by the
11037 parameter list.@refill 11045 parameter list.@refill
11038 11046
11039 Here is a definition from @ref{Calling Functions,,, elisp, The GNU Emacs 11047 Here is a definition from @ref{Calling Functions,,, lispref, XEmacs Lisp
11040 Lisp Reference Manual}. 11048 Reference Manual}.
11041 11049
11042 @quotation 11050 @quotation
11043 @defun apply function &rest arguments 11051 @defun apply function &rest arguments
11044 @code{apply} calls @var{function} with @var{arguments}, just 11052 @code{apply} calls @var{function} with @var{arguments}, just
11045 like @code{funcall} but with one difference: the last of 11053 like @code{funcall} but with one difference: the last of
11295 @code{texinfo-format-region} to create the Info file, the value of the 11303 @code{texinfo-format-region} to create the Info file, the value of the
11296 @code{texinfo-footnote-style} variable controls the footnote style. 11304 @code{texinfo-footnote-style} variable controls the footnote style.
11297 It can be either @samp{"separate"} for the separate node style or 11305 It can be either @samp{"separate"} for the separate node style or
11298 @samp{"end"} for the end of node style. (You can change the value of 11306 @samp{"end"} for the end of node style. (You can change the value of
11299 this variable with the @kbd{M-x edit-options} command (@pxref{Edit 11307 this variable with the @kbd{M-x edit-options} command (@pxref{Edit
11300 Options, , Editing Variable Values, emacs, The GNU Emacs Manual}), or 11308 Options, , Editing Variable Values, xemacs, XEmacs User's Manual}), or
11301 with the @kbd{M-x set-variable} command (@pxref{Examining, , Examining 11309 with the @kbd{M-x set-variable} command (@pxref{Examining, , Examining
11302 and Setting Variables, emacs, The GNU Emacs Manual}).@refill 11310 and Setting Variables, xemacs, XEmacs User's Manual}).@refill
11303 11311
11304 The @code{texinfo-footnote-style} variable also controls the style if 11312 The @code{texinfo-footnote-style} variable also controls the style if
11305 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer} 11313 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer}
11306 command in Emacs.@refill 11314 command in Emacs.@refill
11307 @end ignore 11315 @end ignore
11850 11858
11851 @example 11859 @example
11852 @@@var{macro-name} @{@var{arg1}, @var{arg2}, @dots{}@} 11860 @@@var{macro-name} @{@var{arg1}, @var{arg2}, @dots{}@}
11853 @end example 11861 @end example
11854 11862
11855 @noindent and the result will be just as if you typed the body of 11863 @noindent
11864 and the result will be just as if you typed the body of
11856 @var{macro-name} at that spot. For example: 11865 @var{macro-name} at that spot. For example:
11857 11866
11858 @example 11867 @example
11859 @@macro foo @{p, q@} 11868 @@macro foo @{p, q@}
11860 Together: \p\ & \q\. 11869 Together: \p\ & \q\.
11861 @@end macro 11870 @@end macro
11862 @@foo@{a, b@} 11871 @@foo@{a, b@}
11863 @end example 11872 @end example
11864 11873
11865 @noindent produces: 11874 @noindent
11875 produces:
11866 11876
11867 @display 11877 @display
11868 Together: a & b. 11878 Together: a & b.
11869 @end display 11879 @end display
11870 11880
11891 Twice: \p\, \p\. 11901 Twice: \p\, \p\.
11892 @@end macro 11902 @@end macro
11893 @@bar aah 11903 @@bar aah
11894 @end example 11904 @end example
11895 11905
11896 @noindent produces: 11906 @noindent
11907 produces:
11897 11908
11898 @display 11909 @display
11899 Twice: aah, aah. 11910 Twice: aah, aah.
11900 @end display 11911 @end display
11901 11912
11968 11979
11969 @example 11980 @example
11970 tex foo.texi 11981 tex foo.texi
11971 @end example 11982 @end example
11972 11983
11973 @noindent @TeX{} will produce a @dfn{DVI file} as well as several auxiliary 11984 @noindent
11985 @TeX{} will produce a @dfn{DVI file} as well as several auxiliary
11974 files containing information for indices, cross references, etc. The 11986 files containing information for indices, cross references, etc. The
11975 DVI file (for @dfn{DeVice Independent} file) can be printed on virtually 11987 DVI file (for @dfn{DeVice Independent} file) can be printed on virtually
11976 any printe (see the following sections). 11988 any printe (see the following sections).
11977 11989
11978 @pindex texindex 11990 @pindex texindex
12250 @end group 12262 @end group
12251 @end example 12263 @end example
12252 12264
12253 You can change the values of these variables with the @kbd{M-x 12265 You can change the values of these variables with the @kbd{M-x
12254 edit-options} command (@pxref{Edit Options, , Editing Variable Values, 12266 edit-options} command (@pxref{Edit Options, , Editing Variable Values,
12255 emacs, The GNU Emacs Manual}), with the @kbd{M-x set-variable} command 12267 xemacs, XEmacs User's Manual}), with the @kbd{M-x set-variable} command
12256 (@pxref{Examining, , Examining and Setting Variables, emacs, The GNU 12268 (@pxref{Examining, , Examining and Setting Variables, xemacs, XEmacs
12257 Emacs Manual}), or with your @file{.emacs} initialization file 12269 User's Manual}), or with your @file{.emacs} initialization file
12258 (@pxref{Init File, , , emacs, The GNU Emacs Manual}).@refill 12270 (@pxref{Init File, , , xemacs, XEmacs User's Manual}).@refill
12259 12271
12260 @node Compile-Command, Requirements Summary, Texinfo Mode Printing, Format/Print Hardcopy 12272 @node Compile-Command, Requirements Summary, Texinfo Mode Printing, Format/Print Hardcopy
12261 @comment node-name, next, previous, up 12273 @comment node-name, next, previous, up
12262 @section Using the Local Variables List 12274 @section Using the Local Variables List
12263 @cindex Local variables 12275 @cindex Local variables
12281 @end group 12293 @end group
12282 @end example 12294 @end example
12283 12295
12284 @noindent 12296 @noindent
12285 This technique is most often used by programmers who also compile programs 12297 This technique is most often used by programmers who also compile programs
12286 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill 12298 this way; see @ref{Compilation, , , xemacs, XEmacs User's Manual}.@refill
12287 12299
12288 12300
12289 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy 12301 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy
12290 @comment node-name, next, previous, up 12302 @comment node-name, next, previous, up
12291 @section @TeX{} Formatting Requirements Summary 12303 @section @TeX{} Formatting Requirements Summary
12946 @findex next-error 12958 @findex next-error
12947 You can parse the error messages by typing @kbd{C-x `} 12959 You can parse the error messages by typing @kbd{C-x `}
12948 (@code{next-error}). This causes Emacs to go to and position the 12960 (@code{next-error}). This causes Emacs to go to and position the
12949 cursor on the line in the Texinfo source that @code{makeinfo} thinks 12961 cursor on the line in the Texinfo source that @code{makeinfo} thinks
12950 caused the error. @xref{Compilation, , Running @code{make} or 12962 caused the error. @xref{Compilation, , Running @code{make} or
12951 Compilers Generally, emacs, The GNU Emacs Manual}, for more 12963 Compilers Generally, xemacs, XEmacs User's Manual}, for more
12952 information about using the @code{next-error} command.@refill 12964 information about using the @code{next-error} command.@refill
12953 12965
12954 In addition, you can kill the shell in which the @code{makeinfo} 12966 In addition, you can kill the shell in which the @code{makeinfo}
12955 command is running or make the shell buffer display its most recent 12967 command is running or make the shell buffer display its most recent
12956 output.@refill 12968 output.@refill
12998 Manual}. 13010 Manual}.
12999 @end iftex 13011 @end iftex
13000 @noindent 13012 @noindent
13001 @ifinfo 13013 @ifinfo
13002 For more information, see@* 13014 For more information, see@*
13003 @ref{Edit Options, , Editing Variable Values, emacs, The GNU Emacs Manual},@* 13015 @ref{Edit Options, , Editing Variable Values, xemacs, XEmacs User's Manual},@*
13004 @ref{Examining, , Examining and Setting Variables, emacs, The GNU Emacs Manual},@* 13016 @ref{Examining, , Examining and Setting Variables, xemacs, XEmacs User's Manual},@*
13005 @ref{Init File, , , emacs, The GNU Emacs Manual}, and@* 13017 @ref{Init File, , , xemacs, XEmacs User's Manual}, and@*
13006 @ref{makeinfo options, , Options for @code{makeinfo}}. 13018 @ref{makeinfo options, , Options for @code{makeinfo}}.
13007 @end ifinfo 13019 @end ifinfo
13008 13020
13009 @node texinfo-format commands, Batch Formatting, makeinfo in Emacs, Create an Info File 13021 @node texinfo-format commands, Batch Formatting, makeinfo in Emacs, Create an Info File
13010 @comment node-name, next, previous, up 13022 @comment node-name, next, previous, up
13050 @cindex Info batch formatting 13062 @cindex Info batch formatting
13051 13063
13052 You can format Texinfo files for Info using @code{batch-texinfo-format} 13064 You can format Texinfo files for Info using @code{batch-texinfo-format}
13053 and Emacs Batch mode. You can run Emacs in Batch mode from any shell, 13065 and Emacs Batch mode. You can run Emacs in Batch mode from any shell,
13054 including a shell inside of Emacs. (@xref{Command Switches, , Command 13066 including a shell inside of Emacs. (@xref{Command Switches, , Command
13055 Line Switches and Arguments, emacs, The GNU Emacs Manual}.)@refill 13067 Line Switches and Arguments, xemacs, XEmacs User's Manual}.)@refill
13056 13068
13057 Here is a shell command to format all the files that end in 13069 Here is a shell command to format all the files that end in
13058 @file{.texinfo} in the current directory: 13070 @file{.texinfo} in the current directory:
13059 13071
13060 @example 13072 @example
13097 off file that is needed at the time. This way, Emacs avoids wasting 13109 off file that is needed at the time. This way, Emacs avoids wasting
13098 memory when you run Info. (Before splitting was implemented, Info 13110 memory when you run Info. (Before splitting was implemented, Info
13099 files were always kept short and @dfn{include files} were designed as 13111 files were always kept short and @dfn{include files} were designed as
13100 a way to create a single, large printed manual out of the smaller Info 13112 a way to create a single, large printed manual out of the smaller Info
13101 files. @xref{Include Files}, for more information. Include files are 13113 files. @xref{Include Files}, for more information. Include files are
13102 still used for very large documents, such as @cite{The Emacs Lisp 13114 still used for very large documents, such as @cite{The XEmacs Lisp
13103 Reference Manual}, in which each chapter is a separate file.)@refill 13115 Reference Manual}, in which each chapter is a separate file.)@refill
13104 13116
13105 When a file is split, Info itself makes use of a shortened version of 13117 When a file is split, Info itself makes use of a shortened version of
13106 the original file that contains just the tag table and references to 13118 the original file that contains just the tag table and references to
13107 the files that were split off. The split off files are called 13119 the files that were split off. The split off files are called
15133 and the printed manual.@refill 15145 and the printed manual.@refill
15134 15146
15135 Also, if you are writing a manual about software, you should explain 15147 Also, if you are writing a manual about software, you should explain
15136 that the software is free and either include the GNU General Public 15148 that the software is free and either include the GNU General Public
15137 License (GPL) or provide a reference to it. @xref{Distrib, , 15149 License (GPL) or provide a reference to it. @xref{Distrib, ,
15138 Distribution, emacs, The GNU Emacs Manual}, for an example of the text 15150 Distribution, xemacs, XEmacs User's Manual}, for an example of the text
15139 that could be used in the software ``Distribution'', ``General Public 15151 that could be used in the software ``Distribution'', ``General Public
15140 License'', and ``NO WARRANTY'' sections of a document. @xref{Copying, 15152 License'', and ``NO WARRANTY'' sections of a document. @xref{Copying,
15141 , Texinfo Copying Conditions}, for an example of a brief explanation 15153 , Texinfo Copying Conditions}, for an example of a brief explanation
15142 of how the copying conditions provide you with rights. @refill 15154 of how the copying conditions provide you with rights. @refill
15143 15155
15509 15521
15510 @@printindex cp 15522 @@printindex cp
15511 @end group 15523 @end group
15512 @end example 15524 @end example
15513 15525
15514 The outer Texinfo source file for @cite{The GNU Emacs Lisp Reference 15526 The outer Texinfo source file for @cite{The XEmacs Lisp Reference
15515 Manual} is named @file{elisp.texi}. This outer file contains a master 15527 Manual} is named @file{elisp.texi}. This outer file contains a master
15516 menu with 417 entries and a list of 41 @code{@@include} 15528 menu with 417 entries and a list of 41 @code{@@include}
15517 files.@refill 15529 files.@refill
15518 15530
15519 @node Include Files Evolution, , Sample Include File, Include Files 15531 @node Include Files Evolution, , Sample Include File, Include Files
15544 15556
15545 However, because large Info files are now split automatically, it is 15557 However, because large Info files are now split automatically, it is
15546 no longer necessary to keep them small.@refill 15558 no longer necessary to keep them small.@refill
15547 15559
15548 Nowadays, multiple Texinfo files are used mostly for large documents, 15560 Nowadays, multiple Texinfo files are used mostly for large documents,
15549 such as @cite{The GNU Emacs Lisp Reference Manual}, and for projects 15561 such as @cite{The XEmacs Lisp Reference Manual}, and for projects
15550 in which several different people write different sections of a 15562 in which several different people write different sections of a
15551 document simultaneously.@refill 15563 document simultaneously.@refill
15552 15564
15553 In addition, the Info formatting commands have been extended to work 15565 In addition, the Info formatting commands have been extended to work
15554 with the @code{@@include} command so as to create a single large Info 15566 with the @code{@@include} command so as to create a single large Info
16104 @code{texinfo-format-xref} and @code{texinfo-format-parse-args}. 16116 @code{texinfo-format-xref} and @code{texinfo-format-parse-args}.
16105 Inside the function @code{texinfo-format-parse-args}, the function 16117 Inside the function @code{texinfo-format-parse-args}, the function
16106 @code{re-search-forward} was called; it was this function that could 16118 @code{re-search-forward} was called; it was this function that could
16107 not find the missing right-hand brace.@refill 16119 not find the missing right-hand brace.@refill
16108 16120
16109 @xref{Lisp Debug, , Debugging Emacs Lisp, emacs, The GNU Emacs 16121 @xref{Lisp Debug, , Debugging Emacs Lisp, xemacs, XEmacs User's Manual},
16110 Manual}, for more information.@refill 16122 for more information.@refill
16111 @end ignore 16123 @end ignore
16112 16124
16113 @node Debugging with TeX, Using texinfo-show-structure, Debugging with Info, Catching Mistakes 16125 @node Debugging with TeX, Using texinfo-show-structure, Debugging with Info, Catching Mistakes
16114 @comment node-name, next, previous, up 16126 @comment node-name, next, previous, up
16115 @appendixsec Catching Errors with @TeX{} Formatting 16127 @appendixsec Catching Errors with @TeX{} Formatting
16284 with the @code{@@section}, @code{@@subheading}, and @code{@@subsection} 16296 with the @code{@@section}, @code{@@subheading}, and @code{@@subsection}
16285 commands respectively. If you move your cursor into the @samp{*Occur*} 16297 commands respectively. If you move your cursor into the @samp{*Occur*}
16286 window, you can position the cursor over one of the lines and use the 16298 window, you can position the cursor over one of the lines and use the
16287 @kbd{C-c C-c} command (@code{occur-mode-goto-occurrence}), to jump to 16299 @kbd{C-c C-c} command (@code{occur-mode-goto-occurrence}), to jump to
16288 the corresponding spot in the Texinfo file. @xref{Other Repeating 16300 the corresponding spot in the Texinfo file. @xref{Other Repeating
16289 Search, , Using Occur, emacs, The GNU Emacs Manual}, for more 16301 Search, , Using Occur, xemacs, XEmacs User's Manual}, for more
16290 information about @code{occur-mode-goto-occurrence}.@refill 16302 information about @code{occur-mode-goto-occurrence}.@refill
16291 16303
16292 The first line in the @samp{*Occur*} window describes the @dfn{regular 16304 The first line in the @samp{*Occur*} window describes the @dfn{regular
16293 expression} specified by @var{texinfo-heading-pattern}. This regular 16305 expression} specified by @var{texinfo-heading-pattern}. This regular
16294 expression is the pattern that @code{texinfo-show-structure} looks for. 16306 expression is the pattern that @code{texinfo-show-structure} looks for.
16295 @xref{Regexps, , Using Regular Expressions, emacs, The GNU Emacs Manual}, 16307 @xref{Regexps, , Using Regular Expressions, xemacs, XEmacs User's Manual},
16296 for more information.@refill 16308 for more information.@refill
16297 16309
16298 When you invoke the @code{texinfo-show-structure} command, Emacs will 16310 When you invoke the @code{texinfo-show-structure} command, Emacs will
16299 display the structure of the whole buffer. If you want to see the 16311 display the structure of the whole buffer. If you want to see the
16300 structure of just a part of the buffer, of one chapter, for example, 16312 structure of just a part of the buffer, of one chapter, for example,
16301 use the @kbd{C-x n n} (@code{narrow-to-region}) command to mark the 16313 use the @kbd{C-x n n} (@code{narrow-to-region}) command to mark the
16302 region. (@xref{Narrowing, , , emacs, The GNU Emacs Manual}.) This is 16314 region. (@xref{Narrowing, , , xemacs, XEmacs User's Manual}.) This is
16303 how the example used above was generated. (To see the whole buffer 16315 how the example used above was generated. (To see the whole buffer
16304 again, use @kbd{C-x n w} (@code{widen}).)@refill 16316 again, use @kbd{C-x n w} (@code{widen}).)@refill
16305 16317
16306 If you call @code{texinfo-show-structure} with a prefix argument by 16318 If you call @code{texinfo-show-structure} with a prefix argument by
16307 typing @w{@kbd{C-u C-c C-s}}, it will list lines beginning with 16319 typing @w{@kbd{C-u C-c C-s}}, it will list lines beginning with
16329 @end example 16341 @end example
16330 16342
16331 @noindent 16343 @noindent
16332 and then, when prompted, type a @dfn{regexp}, a regular expression for 16344 and then, when prompted, type a @dfn{regexp}, a regular expression for
16333 the pattern you want to match. (@xref{Regexps, , Regular Expressions, 16345 the pattern you want to match. (@xref{Regexps, , Regular Expressions,
16334 emacs, The GNU Emacs Manual}.) The @code{occur} command works from 16346 xemacs, XEmacs User's Manual}.) The @code{occur} command works from the
16335 the current location of the cursor in the buffer to the end of the 16347 current location of the cursor in the buffer to the end of the buffer.
16336 buffer. If you want to run @code{occur} on the whole buffer, place 16348 If you want to run @code{occur} on the whole buffer, place the cursor at
16337 the cursor at the beginning of the buffer.@refill 16349 the beginning of the buffer.@refill
16338 16350
16339 For example, to see all the lines that contain the word 16351 For example, to see all the lines that contain the word
16340 @samp{@@chapter} in them, just type @samp{@@chapter}. This will 16352 @samp{@@chapter} in them, just type @samp{@@chapter}. This will
16341 produce a list of the chapters. It will also list all the sentences 16353 produce a list of the chapters. It will also list all the sentences
16342 with @samp{@@chapter} in the middle of the line.@refill 16354 with @samp{@@chapter} in the middle of the line.@refill
16347 or phrase, end the last word with a @samp{$}; for example, 16359 or phrase, end the last word with a @samp{$}; for example,
16348 @samp{catching mistakes$}. This can be helpful when you want to see 16360 @samp{catching mistakes$}. This can be helpful when you want to see
16349 all the nodes that are part of the same chapter or section and 16361 all the nodes that are part of the same chapter or section and
16350 therefore have the same `Up' pointer.@refill 16362 therefore have the same `Up' pointer.@refill
16351 16363
16352 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual}, 16364 @xref{Other Repeating Search, , Using Occur, xemacs, XEmacs User's Manual},
16353 for more information.@refill 16365 for more information.@refill
16354 16366
16355 @node Running Info-Validate, , Using occur, Catching Mistakes 16367 @node Running Info-Validate, , Using occur, Catching Mistakes
16356 @comment node-name, next, previous, up 16368 @comment node-name, next, previous, up
16357 @appendixsec Finding Badly Referenced Nodes 16369 @appendixsec Finding Badly Referenced Nodes
16756 Telephone: +1-206-543-2268 16768 Telephone: +1-206-543-2268
16757 Electronic mail: @code{mackay@@cs.washington.edu} 16769 Electronic mail: @code{mackay@@cs.washington.edu}
16758 @end group 16770 @end group
16759 @end display 16771 @end display
16760 16772
16761 @noindent Please make checks payable to the University of Washington. 16773 @noindent
16774 Please make checks payable to the University of Washington.
16762 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. Overseas 16775 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. Overseas
16763 sites: please add to the base cost, if desired, $20.00 for shipment via 16776 sites: please add to the base cost, if desired, $20.00 for shipment via
16764 air parcel post, or $30.00 for shipment via courier. 16777 air parcel post, or $30.00 for shipment via courier.
16765 16778
16766 @end itemize 16779 @end itemize