comparison man/texinfo.texi @ 108:360340f9fd5f r20-1b6

Import from CVS: tag r20-1b6
author cvs
date Mon, 13 Aug 2007 09:18:39 +0200
parents 131b0175ea99
children cca96a509cfe
comparison
equal deleted inserted replaced
107:523141596bda 108:360340f9fd5f
1 \input texinfo.tex @c -*-texinfo-*- 1 \input texinfo.tex @c -*-texinfo-*-
2 @comment %**start of header 2 @comment %**start of header
3 @setfilename ../info/texinfo.info 3 @setfilename texinfo
4 @settitle Texinfo @value{edition} 4 @settitle Texinfo @value{edition}
5 @syncodeindex vr fn 5 @c Define a new index for options.
6 @defcodeindex op
7 @c Put everything except function (command, in this case) names in one
8 index (arbitrarily chosen to be the concept index).
9 @syncodeindex op cp
10 @syncodeindex vr cp
11 @syncodeindex pg cp
6 @footnotestyle separate 12 @footnotestyle separate
7 @paragraphindent 2 13 @paragraphindent 2
8 @smallbook 14 @finalout
9 @comment %**end of header 15 @comment %**end of header
16 @comment $Id: texinfo.texi,v 1.2 1997/03/08 23:27:25 steve Exp $
17
18 @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.
20
21 @dircategory Texinfo documentation system
22 @direntry
23 * Texinfo: (texinfo). The GNU documentation format.
24 * install-info: (texinfo)Invoking install-info. Updating info/dir entries.
25 * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation.
26 * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files.
27 @end direntry
10 28
11 @c Set smallbook if printing in smallbook format so the example of the 29 @c Set smallbook if printing in smallbook format so the example of the
12 @c smallbook font is actually written using smallbook; in bigbook, a kludge 30 @c smallbook font is actually written using smallbook; in bigbook, a kludge
13 @c is used for TeX output. 31 @c is used for TeX output.
32 @smallbook
14 @set smallbook 33 @set smallbook
15 @c @@clear smallbook 34 @c @@clear smallbook
16 35
17 @ignore 36 @set edition 2.23
18 @ifinfo 37 @set update-month October 1996
19 @format 38 @set update-date 1 @value{update-month}
20 START-INFO-DIR-ENTRY
21 * Texinfo: (texinfo). The documentation format for the GNU Project.
22 END-INFO-DIR-ENTRY
23 @end format
24 @end ifinfo
25 @end ignore
26
27 @set edition 2.21
28 @set update-date 7 June 1995
29 @set update-month June 1995
30
31 @c Experiment with smaller amounts of whitespace between chapters
32 @c and sections.
33 @tex
34 \global\chapheadingskip = 15pt plus 4pt minus 2pt
35 \global\secheadingskip = 12pt plus 3pt minus 2pt
36 \global\subsecheadingskip = 9pt plus 2pt minus 2pt
37 @end tex
38
39 @c Experiment with smaller amounts of whitespace between paragraphs in
40 @c the 8.5 by 11 inch format.
41 @ifclear smallbook
42 @tex
43 \global\parskip 6pt plus 1pt
44 @end tex
45 @end ifclear
46
47 @finalout
48 39
49 @c Currently undocumented command, 5 December 1993: 40 @c Currently undocumented command, 5 December 1993:
50 @c 41 @c
51 @c nwnode (Same as node, but no warnings; for `makeinfo'.) 42 @c nwnode (Same as node, but no warnings; for `makeinfo'.)
52 43
53 @ifinfo 44 @ifinfo
54 This file documents Texinfo, a documentation system that uses a single 45 This file documents Texinfo, a documentation system that can produce
55 source file to produce both on-line information and a printed manual. 46 both on-line information and a printed manual from a single source file.
56 47
57 Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc. 48 Copyright (C) 1988, 90, 91, 92, 93, 95, 1996 Free Software Foundation, Inc.
58 49
59 This is the second edition of the Texinfo documentation,@* 50 This is the second edition of the Texinfo documentation,@*
60 and is consistent with version 2 of @file{texinfo.tex}. 51 and is consistent with version 2 of @file{texinfo.tex}.
61 52
62 Permission is granted to make and distribute verbatim copies of 53 Permission is granted to make and distribute verbatim copies of
90 @title Texinfo 81 @title Texinfo
91 @subtitle The GNU Documentation Format 82 @subtitle The GNU Documentation Format
92 @subtitle Edition @value{edition}, for Texinfo Version Three 83 @subtitle Edition @value{edition}, for Texinfo Version Three
93 @subtitle @value{update-month} 84 @subtitle @value{update-month}
94 85
95 @author by Robert J. Chassell and Richard M. Stallman 86 @author Robert J.@: Chassell
96 87 @author Richard M.@: Stallman
97 @comment Include the Distribution inside the titlepage so 88
98 @c that headings are turned off. 89 @c Include the Distribution inside the titlepage so
90 @c that headings are turned off.
99 91
100 @page 92 @page
101 @vskip 0pt plus 1filll 93 @vskip 0pt plus 1filll
102 Copyright @copyright{} 1988, 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc. 94 Copyright @copyright{} 1988, 1990, 1991, 1992, 1993, 1995, 1996 Free Software Foundation, Inc.
103 95
104 @sp 2 96 @sp 2
105 This is the second edition of the Texinfo documentation,@* 97 This is the second edition of the Texinfo documentation,@*
106 and is consistent with version 2 of @file{texinfo.tex}. 98 and is consistent with version 2 of @file{texinfo.tex}.
107 @sp 2 99 @sp 2
108 100
109 Published by the Free Software Foundation @* 101 Published by the Free Software Foundation @*
110 59 Temple Place Suite 330, @* 102 59 Temple Place Suite 330, @*
111 Boston, MA 02111-1307 USA @* 103 Boston, MA 02111-1307 USA @*
112 Printed copies are available for $15 each.@* 104 Printed copies are available for $15 each.@*
113 ISBN 1-882114-63-9 105 ISBN 1-882114-64-7
114 @c ISBN number 1-882114-63-9 is for edition 2.20 of 28 February 1995 106 @c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995
107 @c ISBN 1-882114-64-7 is for edition 2.23 of 1 October 1996.
115 108
116 Permission is granted to make and distribute verbatim copies of 109 Permission is granted to make and distribute verbatim copies of
117 this manual provided the copyright notice and this permission notice 110 this manual provided the copyright notice and this permission notice
118 are preserved on all copies. 111 are preserved on all copies.
119 112
139 132
140 The first part of this master menu lists the major nodes in this Info 133 The first part of this master menu lists the major nodes in this Info
141 document, including the @@-command and concept indices. The rest of 134 document, including the @@-command and concept indices. The rest of
142 the menu lists all the lower level nodes in the document.@refill 135 the menu lists all the lower level nodes in the document.@refill
143 136
144 This is Edition @value{edition} of the Texinfo documentation, 137 This is Edition @value{edition} of the Texinfo documentation,
145 @w{@value{update-date},} for Texinfo Version Three. 138 @w{@value{update-date},} for Texinfo Version Three.
146 @end ifinfo 139 @end ifinfo
147 140
148 @c Here is a spare copy of the chapter menu entry descriptions, 141 @c Here is a spare copy of the chapter menu entry descriptions,
149 @c in case they are accidently deleted 142 @c in case they are accidently deleted
150 @ignore 143 @ignore
151 Your rights. 144 Your rights.
152 Texinfo in brief. 145 Texinfo in brief.
153 How to use Texinfo mode. 146 How to use Texinfo mode.
154 What is at the beginning of a Texinfo file? 147 What is at the beginning of a Texinfo file?
189 A menu containing commands and variables. 182 A menu containing commands and variables.
190 A menu covering many topics. 183 A menu covering many topics.
191 @end ignore 184 @end ignore
192 185
193 @menu 186 @menu
194 * Copying:: Your rights. 187 * Copying:: Your rights.
195 * Overview:: Texinfo in brief. 188 * Overview:: Texinfo in brief.
196 * Texinfo Mode:: How to use Texinfo mode. 189 * Texinfo Mode:: How to use Texinfo mode.
197 * Beginning a File:: What is at the beginning of a Texinfo file? 190 * Beginning a File:: What is at the beginning of a Texinfo file?
198 * Ending a File:: What is at the end of a Texinfo file? 191 * Ending a File:: What is at the end of a Texinfo file?
199 * Structuring:: How to create chapters, sections, subsections, 192 * Structuring:: How to create chapters, sections, subsections,
209 * Indices:: How to create indices. 202 * Indices:: How to create indices.
210 * Insertions:: How to insert @@-signs, braces, etc. 203 * Insertions:: How to insert @@-signs, braces, etc.
211 * Glyphs:: How to indicate results of evaluation, 204 * Glyphs:: How to indicate results of evaluation,
212 expansion of macros, errors, etc. 205 expansion of macros, errors, etc.
213 * Breaks:: How to force and prevent line and page breaks. 206 * Breaks:: How to force and prevent line and page breaks.
214 * Definition Commands:: How to describe functions and the like 207 * Definition Commands:: How to describe functions and the like
215 in a uniform manner. 208 in a uniform manner.
216 * Footnotes:: How to write footnotes. 209 * Footnotes:: How to write footnotes.
217 * Conditionals:: How to specify text for either @TeX{} or Info. 210 * Conditionals:: How to specify text for either @TeX{} or Info.
211 * Macros:: Defining new Texinfo commands.
218 * Format/Print Hardcopy:: How to convert a Texinfo file to a file 212 * Format/Print Hardcopy:: How to convert a Texinfo file to a file
219 for printing and how to print that file. 213 for printing and how to print that file.
220 * Create an Info File:: Convert a Texinfo file into an Info file. 214 * Create an Info File:: Convert a Texinfo file into an Info file.
221 * Install an Info File:: Make an Info file accessible to users. 215 * Install an Info File:: Make an Info file accessible to users.
222 * Command List:: All the Texinfo @@-commands. 216 * Command List:: All the Texinfo @@-commands.
232 * Obtaining TeX:: How to Obtain @TeX{}. 226 * Obtaining TeX:: How to Obtain @TeX{}.
233 * New Features:: Texinfo second edition features. 227 * New Features:: Texinfo second edition features.
234 * Command and Variable Index:: A menu containing commands and variables. 228 * Command and Variable Index:: A menu containing commands and variables.
235 * Concept Index:: A menu covering many topics. 229 * Concept Index:: A menu covering many topics.
236 230
231 @detailmenu
232
237 --- The Detailed Node Listing --- 233 --- The Detailed Node Listing ---
238 234
239 Overview of Texinfo 235 Overview of Texinfo
240 236
241 * Using Texinfo:: Create a conventional printed book 237 * Using Texinfo:: Create a conventional printed book
242 or an Info file. 238 or an Info file.
243 * Info Files:: What is an Info file? 239 * Info Files:: What is an Info file?
244 * Printed Books:: Characteristics of a printed book or manual. 240 * Printed Books:: Characteristics of a printed book or manual.
245 * Formatting Commands:: @@-commands are used for formatting. 241 * Formatting Commands:: @@-commands are used for formatting.
246 * Conventions:: General rules for writing a Texinfo file. 242 * Conventions:: General rules for writing a Texinfo file.
254 Using Texinfo Mode 250 Using Texinfo Mode
255 251
256 * Texinfo Mode Overview:: How Texinfo mode can help you. 252 * Texinfo Mode Overview:: How Texinfo mode can help you.
257 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general 253 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general
258 purpose editing features. 254 purpose editing features.
259 * Inserting:: How to insert frequently used @@-commands. 255 * Inserting:: How to insert frequently used @@-commands.
260 * Showing the Structure:: How to show the structure of a file. 256 * Showing the Structure:: How to show the structure of a file.
261 * Updating Nodes and Menus:: How to update or create new nodes and menus. 257 * Updating Nodes and Menus:: How to update or create new nodes and menus.
262 * Info Formatting:: How to format for Info. 258 * Info Formatting:: How to format for Info.
263 * Printing:: How to format and print part or all of a file. 259 * Printing:: How to format and print part or all of a file.
264 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands. 260 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands.
283 * Software Copying Permissions:: Ensure that you and others continue to 279 * Software Copying Permissions:: Ensure that you and others continue to
284 have the right to use and share software. 280 have the right to use and share software.
285 281
286 The Texinfo File Header 282 The Texinfo File Header
287 283
288 * First Line:: The first line of a Texinfo file. 284 * First Line:: The first line of a Texinfo file.
289 * Start of Header:: Formatting a region requires this. 285 * Start of Header:: Formatting a region requires this.
290 * setfilename:: Tell Info the name of the Info file. 286 * setfilename:: Tell Info the name of the Info file.
291 * settitle:: Create a title for the printed work. 287 * settitle:: Create a title for the printed work.
292 * setchapternewpage:: Start chapters on right-hand pages. 288 * setchapternewpage:: Start chapters on right-hand pages.
293 * paragraphindent:: An option to specify paragraph indentation. 289 * paragraphindent:: An option to specify paragraph indentation.
312 * Title of Top Node:: Sketch what the file is about. 308 * Title of Top Node:: Sketch what the file is about.
313 * Master Menu Parts:: A master menu has three or more parts. 309 * Master Menu Parts:: A master menu has three or more parts.
314 310
315 Ending a Texinfo File 311 Ending a Texinfo File
316 312
317 * Printing Indices & Menus:: How to print an index in hardcopy and 313 * Printing Indices & Menus:: How to print an index in hardcopy and
318 generate index menus in Info. 314 generate index menus in Info.
319 * Contents:: How to create a table of contents. 315 * Contents:: How to create a table of contents.
320 * File End:: How to mark the end of a file. 316 * File End:: How to mark the end of a file.
321 317
322 Chapter Structuring 318 Chapter Structuring
334 * subsubsection:: Commands for the lowest level sections. 330 * subsubsection:: Commands for the lowest level sections.
335 * Raise/lower sections:: How to change commands' hierarchical level. 331 * Raise/lower sections:: How to change commands' hierarchical level.
336 332
337 Nodes 333 Nodes
338 334
339 * Two Paths:: Different commands to structure 335 * Two Paths:: Different commands to structure
340 Info output and printed output. 336 Info output and printed output.
341 * Node Menu Illustration:: A diagram, and sample nodes and menus. 337 * Node Menu Illustration:: A diagram, and sample nodes and menus.
342 * node:: How to write a node, in detail. 338 * node:: How to write a node, in detail.
343 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}. 339 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}.
344 340
347 * Node Names:: How to choose node and pointer names. 343 * Node Names:: How to choose node and pointer names.
348 * Writing a Node:: How to write an @code{@@node} line. 344 * Writing a Node:: How to write an @code{@@node} line.
349 * Node Line Tips:: Keep names short. 345 * Node Line Tips:: Keep names short.
350 * Node Line Requirements:: Keep names unique, without @@-commands. 346 * Node Line Requirements:: Keep names unique, without @@-commands.
351 * First Node:: How to write a `Top' node. 347 * First Node:: How to write a `Top' node.
352 * makeinfo top command:: How to use the @code{@@top} command. 348 * makeinfo top command:: How to use the @code{@@top} command.
353 * Top Node Summary:: Write a brief description for readers. 349 * Top Node Summary:: Write a brief description for readers.
354 350
355 Menus 351 Menus
356 352
357 * Menu Location:: Put a menu in a short node. 353 * Menu Location:: Put a menu in a short node.
394 * samp:: How to show a literal sequence of characters. 390 * samp:: How to show a literal sequence of characters.
395 * var:: How to indicate a metasyntactic variable. 391 * var:: How to indicate a metasyntactic variable.
396 * file:: How to indicate the name of a file. 392 * file:: How to indicate the name of a file.
397 * dfn:: How to specify a definition. 393 * dfn:: How to specify a definition.
398 * cite:: How to refer to a book that is not in Info. 394 * cite:: How to refer to a book that is not in Info.
395 * url:: How to indicate a world wide web reference.
396 * email:: How to indicate an electronic mail address.
399 397
400 Emphasizing Text 398 Emphasizing Text
401 399
402 * emph & strong:: How to emphasize text in Texinfo. 400 * emph & strong:: How to emphasize text in Texinfo.
403 * Smallcaps:: How to use the small caps font. 401 * Smallcaps:: How to use the small caps font.
404 * Fonts:: Various font commands for printed output. 402 * Fonts:: Various font commands for printed output.
405 * Customized Highlighting:: How to define highlighting commands. 403 * Customized Highlighting:: How to define highlighting commands.
406 404
407 Quotations and Examples 405 Quotations and Examples
408 406
409 * Block Enclosing Commands:: Use different constructs for 407 * Block Enclosing Commands:: Use different constructs for
410 different purposes. 408 different purposes.
411 * quotation:: How to write a quotation. 409 * quotation:: How to write a quotation.
412 * example:: How to write an example in a fixed-width font. 410 * example:: How to write an example in a fixed-width font.
413 * noindent:: How to prevent paragraph indentation. 411 * noindent:: How to prevent paragraph indentation.
414 * Lisp Example:: How to illustrate Lisp code. 412 * Lisp Example:: How to illustrate Lisp code.
424 422
425 * Introducing Lists:: Texinfo formats lists for you. 423 * Introducing Lists:: Texinfo formats lists for you.
426 * itemize:: How to construct a simple list. 424 * itemize:: How to construct a simple list.
427 * enumerate:: How to construct a numbered list. 425 * enumerate:: How to construct a numbered list.
428 * Two-column Tables:: How to construct a two-column table. 426 * Two-column Tables:: How to construct a two-column table.
427 * Multi-column Tables:: How to construct generalized tables.
429 428
430 Making a Two-column Table 429 Making a Two-column Table
431 430
432 * table:: How to construct a two-column table. 431 * table:: How to construct a two-column table.
433 * ftable vtable:: How to construct a two-column table 432 * ftable vtable:: How to construct a two-column table
434 with automatic indexing. 433 with automatic indexing.
435 * itemx:: How to put more entries in the first column. 434 * itemx:: How to put more entries in the first column.
435
436 Multi-column Tables
437
438 * Multitable Column Widths:: Defining multitable column widths.
439 * Multitable Rows:: Defining multitable rows, with examples.
436 440
437 Creating Indices 441 Creating Indices
438 442
439 * Index Entries:: Choose different words for index entries. 443 * Index Entries:: Choose different words for index entries.
440 * Predefined Indices:: Use different indices for different kinds 444 * Predefined Indices:: Use different indices for different kinds
450 * synindex:: How to merge two indices, using the 454 * synindex:: How to merge two indices, using the
451 default font of the merged-to index. 455 default font of the merged-to index.
452 456
453 Special Insertions 457 Special Insertions
454 458
455 * Braces Atsigns Periods:: How to insert braces, @samp{@@} and periods. 459 * Braces Atsigns:: How to insert braces, @samp{@@}.
456 * dmn:: How to format a dimension. 460 * Inserting Space:: How to insert the right amount of space
461 within a sentence.
462 * Inserting Accents:: How to insert accents and special characters.
457 * Dots Bullets:: How to insert dots and bullets. 463 * Dots Bullets:: How to insert dots and bullets.
458 * TeX and copyright:: How to insert the @TeX{} logo 464 * TeX and copyright:: How to insert the @TeX{} logo
459 and the copyright symbol. 465 and the copyright symbol.
466 * pounds:: How to insert the pounds currency symbol.
460 * minus:: How to insert a minus sign. 467 * minus:: How to insert a minus sign.
461 * math:: How to format a mathematical expression. 468 * math:: How to format a mathematical expression.
462 469
463 Inserting @samp{@@}, Braces, and Periods 470 Inserting @@ and Braces
464 471
465 * Inserting An Atsign:: 472 * Inserting An Atsign:: How to insert @samp{@@}.
466 * Inserting Braces:: How to insert @samp{@{} and @samp{@}} 473 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}.
467 * Controlling Spacing:: How to insert the right amount of space 474
468 after punctuation within a sentence. 475 Inserting Space
476
477 * Not Ending a Sentence:: Sometimes a . doesn't end a sentence.
478 * Ending a Sentence:: Sometimes it does.
479 * Multiple Spaces:: Inserting multiple spaces.
480 * dmn:: How to format a dimension.
469 481
470 Inserting Ellipsis, Dots, and Bullets 482 Inserting Ellipsis, Dots, and Bullets
471 483
472 * dots:: How to insert dots @dots{} 484 * dots:: How to insert dots @dots{}
473 * bullet:: How to insert a bullet. 485 * bullet:: How to insert a bullet.
475 Inserting @TeX{} and the Copyright Symbol 487 Inserting @TeX{} and the Copyright Symbol
476 488
477 * tex:: How to insert the @TeX{} logo. 489 * tex:: How to insert the @TeX{} logo.
478 * copyright symbol:: How to use @code{@@copyright}@{@}. 490 * copyright symbol:: How to use @code{@@copyright}@{@}.
479 491
480 Glyphs for Examples 492 Glyphs for Examples
481 493
482 * Glyphs Summary:: 494 * Glyphs Summary::
483 * result:: How to show the result of expression. 495 * result:: How to show the result of expression.
484 * expansion:: How to indicate an expansion. 496 * expansion:: How to indicate an expansion.
485 * Print Glyph:: How to indicate printed output. 497 * Print Glyph:: How to indicate printed output.
489 501
490 Making and Preventing Breaks 502 Making and Preventing Breaks
491 503
492 * Break Commands:: Cause and prevent splits. 504 * Break Commands:: Cause and prevent splits.
493 * Line Breaks:: How to force a single line to use two lines. 505 * Line Breaks:: How to force a single line to use two lines.
494 * w:: How to prevent unwanted line breaks. 506 * - and hyphenation:: How to tell TeX about hyphenation points.
507 * w:: How to prevent unwanted line breaks.
495 * sp:: How to insert blank lines. 508 * sp:: How to insert blank lines.
496 * page:: How to force the start of a new page. 509 * page:: How to force the start of a new page.
497 * group:: How to prevent unwanted page breaks. 510 * group:: How to prevent unwanted page breaks.
498 * need:: Another way to prevent unwanted page breaks. 511 * need:: Another way to prevent unwanted page breaks.
499 512
514 * Typed Functions:: Commands for functions in typed languages. 527 * Typed Functions:: Commands for functions in typed languages.
515 * Typed Variables:: Commands for variables in typed languages. 528 * Typed Variables:: Commands for variables in typed languages.
516 * Abstract Objects:: Commands for object-oriented programming. 529 * Abstract Objects:: Commands for object-oriented programming.
517 * Data Types:: The definition command for data types. 530 * Data Types:: The definition command for data types.
518 531
532 Footnotes
533
534 * Footnote Commands:: How to write a footnote in Texinfo.
535 * Footnote Styles:: Controlling how footnotes appear in Info.
536
519 Conditionally Visible Text 537 Conditionally Visible Text
520 538
521 * Conditional Commands:: How to specify text for Info or @TeX{}. 539 * Conditional Commands:: How to specify text for HTML, Info, or @TeX{}.
522 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands. 540 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands.
523 * set clear value:: How to designate which text to format (for 541 * set clear value:: How to designate which text to format (for
524 both Info and @TeX{}); and how to set a 542 both Info and @TeX{}); and how to set a
525 flag to a string that you can insert. 543 flag to a string that you can insert.
526 544
527 @code{@@set}, @code{@@clear}, and @code{@@value} 545 @code{@@set}, @code{@@clear}, and @code{@@value}
528 546
529 * ifset ifclear:: Format a region if a flag is set. 547 * ifset ifclear:: Format a region if a flag is set.
530 * value:: Replace a flag with a string. 548 * value:: Replace a flag with a string.
531 * value Example:: An easy way to update edition information. 549 * value Example:: An easy way to update edition information.
550
551 Macros: Defining New Texinfo Commands
552
553 * Defining Macros:: Both defining and undefining new commands.
554 * Invoking Macros:: Using a macro, once you've defined it.
532 555
533 Format and Print Hardcopy 556 Format and Print Hardcopy
534 557
535 * Use TeX:: Use @TeX{} to format for hardcopy. 558 * Use TeX:: Use @TeX{} to format for hardcopy.
536 * Format with tex/texindex:: How to format in a shell. 559 * Format with tex/texindex:: How to format in a shell.
553 * Invoking makeinfo:: How to run @code{makeinfo} from a shell. 576 * Invoking makeinfo:: How to run @code{makeinfo} from a shell.
554 * makeinfo options:: Specify fill-column and other options. 577 * makeinfo options:: Specify fill-column and other options.
555 * Pointer Validation:: How to check that pointers point somewhere. 578 * Pointer Validation:: How to check that pointers point somewhere.
556 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs. 579 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs.
557 * texinfo-format commands:: Two Info formatting commands written 580 * texinfo-format commands:: Two Info formatting commands written
558 in Emacs Lisp are an alternative 581 in Emacs Lisp are an alternative
559 to @code{makeinfo}. 582 to @code{makeinfo}.
560 * Batch Formatting:: How to format for Info in Emacs Batch mode. 583 * Batch Formatting:: How to format for Info in Emacs Batch mode.
561 * Tag and Split Files:: How tagged and split files help Info 584 * Tag and Split Files:: How tagged and split files help Info
562 to run better. 585 to run better.
563 586
564 Installing an Info File 587 Installing an Info File
565 588
566 * Directory file:: The top level menu for all Info files. 589 * Directory file:: The top level menu for all Info files.
567 * New Info File:: Listing a new info file. 590 * New Info File:: Listing a new info file.
568 * Other Info Directories:: How to specify Info files that are 591 * Other Info Directories:: How to specify Info files that are
569 located in other directories. 592 located in other directories.
593 * Installing Dir Entries:: How to specify what menu entry to add
594 to the Info directory.
595 * Invoking install-info:: @code{install-info} options.
570 596
571 Sample Permissions 597 Sample Permissions
572 598
573 * Inserting Permissions:: How to put permissions in your document. 599 * Inserting Permissions:: How to put permissions in your document.
574 * ifinfo Permissions:: Sample @samp{ifinfo} copying permissions. 600 * ifinfo Permissions:: Sample @samp{ifinfo} copying permissions.
610 636
611 Second Edition Features 637 Second Edition Features
612 638
613 * New Texinfo Mode Commands:: The updating commands are especially useful. 639 * New Texinfo Mode Commands:: The updating commands are especially useful.
614 * New Commands:: Many newly described @@-commands. 640 * New Commands:: Many newly described @@-commands.
641 @end detailmenu
615 @end menu 642 @end menu
616 643
617 @node Copying, Overview, Top, Top 644 @node Copying, Overview, Top, Top
618 @comment node-name, next, previous, up 645 @comment node-name, next, previous, up
619 @unnumbered Texinfo Copying Conditions 646 @unnumbered Texinfo Copying Conditions
666 derived from, but is not the same as, the pronunciation of @TeX{}. In 693 derived from, but is not the same as, the pronunciation of @TeX{}. In
667 the word @TeX{}, the @samp{X} is actually the Greek letter ``chi'' 694 the word @TeX{}, the @samp{X} is actually the Greek letter ``chi''
668 rather than the English letter ``ex''. Pronounce @TeX{} as if the 695 rather than the English letter ``ex''. Pronounce @TeX{} as if the
669 @samp{X} were the last sound in the name `Bach'; but pronounce Texinfo 696 @samp{X} were the last sound in the name `Bach'; but pronounce Texinfo
670 as if the @samp{x} were a `k'. Spell ``Texinfo'' with a capital ``T'' 697 as if the @samp{x} were a `k'. Spell ``Texinfo'' with a capital ``T''
671 and write the other letters in lower case.} 698 and write the other letters in lower case.}
672 is a documentation system that uses a single source file to produce both 699 is a documentation system that uses a single source file to produce both
673 on-line information and printed output. This means that instead of 700 on-line information and printed output. This means that instead of
674 writing two different documents, one for the on-line help or other on-line 701 writing two different documents, one for the on-line help or other on-line
675 information and the other for a typeset manual or other printed work, you 702 information and the other for a typeset manual or other printed work, you
676 need write only one document. When the work is revised, you need revise 703 need write only one document. When the work is revised, you need revise
677 only one document. (You can read the on-line information, known as an 704 only one document. (You can read the on-line information, known as an
678 @dfn{Info file}, with an Info documentation-reading program.)@refill 705 @dfn{Info file}, with an Info documentation-reading program.)@refill
679 706
680 @menu 707 @menu
681 * Using Texinfo:: Create a conventional printed book 708 * Using Texinfo:: Create a conventional printed book
682 or an Info file. 709 or an Info file.
683 * Info Files:: What is an Info file? 710 * Info Files:: What is an Info file?
684 * Printed Books:: Characteristics of a printed book or manual. 711 * Printed Books:: Characteristics of a printed book or manual.
685 * Formatting Commands:: @@-commands are used for formatting. 712 * Formatting Commands:: @@-commands are used for formatting.
686 * Conventions:: General rules for writing a Texinfo file. 713 * Conventions:: General rules for writing a Texinfo file.
707 both the Info file and the printed work. @cite{The GNU 734 both the Info file and the printed work. @cite{The GNU
708 Emacs Manual} is a good example of a Texinfo file, as is this manual.@refill 735 Emacs Manual} is a good example of a Texinfo file, as is this manual.@refill
709 736
710 To make a printed document, you process a Texinfo source file with the 737 To make a printed document, you process a Texinfo source file with the
711 @TeX{} typesetting program. This creates a @sc{dvi} file that you can 738 @TeX{} typesetting program. This creates a @sc{dvi} file that you can
712 typeset and print as a book or report. (Note that the Texinfo language is 739 typeset and print as a book or report. (Note that the Texinfo language
713 completely different from @TeX{}'s usual language, Plain@TeX{}, which 740 is completely different from @TeX{}'s usual language, plain @TeX{}.) If
714 Texinfo replaces.) If you do not have @TeX{}, but do have 741 you do not have @TeX{}, but do have @code{troff} or @code{nroff}, you
715 @code{troff} or @code{nroff}, you can use the @code{texi2roff} program 742 can use the @code{texi2roff} program instead.@refill
716 instead.@refill
717 743
718 To make an Info file, you process a Texinfo source file with the 744 To make an Info file, you process a Texinfo source file with the
719 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command; 745 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command;
720 this creates an Info file that you can install on-line.@refill 746 this creates an Info file that you can install on-line.@refill
721 747
771 allows you to use certain Info commands to move to one of the child 797 allows you to use certain Info commands to move to one of the child
772 nodes. Generally, an Info file is organized like a book. If a node 798 nodes. Generally, an Info file is organized like a book. If a node
773 is at the logical level of a chapter, its child nodes are at the level 799 is at the logical level of a chapter, its child nodes are at the level
774 of sections; likewise, the child nodes of sections are at the level 800 of sections; likewise, the child nodes of sections are at the level
775 of subsections.@refill 801 of subsections.@refill
776 802
777 All the children of any one parent are linked together in a 803 All the children of any one parent are linked together in a
778 bidirectional chain of `Next' and `Previous' pointers. The `Next' 804 bidirectional chain of `Next' and `Previous' pointers. The `Next'
779 pointer provides a link to the next section, and the `Previous' pointer 805 pointer provides a link to the next section, and the `Previous' pointer
780 provides a link to the previous section. This means that all the nodes 806 provides a link to the previous section. This means that all the nodes
781 that are at the level of sections within a chapter are linked together. 807 that are at the level of sections within a chapter are linked together.
813 file is reached. From this node, you can either traverse the file 839 file is reached. From this node, you can either traverse the file
814 systematically by going from node to node, or you can go to a specific 840 systematically by going from node to node, or you can go to a specific
815 node listed in the main menu, or you can search the index menus and 841 node listed in the main menu, or you can search the index menus and
816 then go directly to the node that has the information you want.@refill 842 then go directly to the node that has the information you want.@refill
817 @c !!! With the standalone Info system you may go to specific nodes 843 @c !!! With the standalone Info system you may go to specific nodes
818 @c directly.. 844 @c directly..
819 845
820 If you want to read through an Info file in sequence, as if it were a 846 If you want to read through an Info file in sequence, as if it were a
821 printed manual, you can get the whole file with the advanced Info 847 printed manual, you can get the whole file with the advanced Info
822 command @kbd{g* @key{RET}}. (@inforef{Expert, Advanced Info commands, 848 command @kbd{g* @key{RET}}. (@inforef{Expert, Advanced Info commands,
823 info}.)@refill 849 info}.)@refill
825 @c !!! dir file may be located in one of many places: 851 @c !!! dir file may be located in one of many places:
826 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH 852 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH
827 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH 853 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH
828 @c /usr/gnu/info mentioned in info.c DEFAULT_INFOPATH 854 @c /usr/gnu/info mentioned in info.c DEFAULT_INFOPATH
829 @c /usr/local/info 855 @c /usr/local/info
830 @c /usr/local/lib/info 856 @c /usr/local/lib/info
831 The @file{dir} file in the @file{info} directory serves as the 857 The @file{dir} file in the @file{info} directory serves as the
832 departure point for the whole Info system. From it, you can reach the 858 departure point for the whole Info system. From it, you can reach the
833 `Top' nodes of each of the documents in a complete Info system.@refill 859 `Top' nodes of each of the documents in a complete Info system.@refill
834 860
835 @node Printed Books, Formatting Commands, Info Files, Overview 861 @node Printed Books, Formatting Commands, Info Files, Overview
839 @cindex Manual characteristics, printed 865 @cindex Manual characteristics, printed
840 @cindex Book characteristics, printed 866 @cindex Book characteristics, printed
841 @cindex Texinfo printed book characteristics 867 @cindex Texinfo printed book characteristics
842 @cindex Characteristics, printed books or manuals 868 @cindex Characteristics, printed books or manuals
843 869
870 @cindex Knuth, Donald
844 A Texinfo file can be formatted and typeset as a printed book or manual. 871 A Texinfo file can be formatted and typeset as a printed book or manual.
845 To do this, you need @TeX{}, a powerful, sophisticated typesetting 872 To do this, you need @TeX{}, a powerful, sophisticated typesetting
846 program written by Donald Knuth.@footnote{You can also use the 873 program written by Donald Knuth.@footnote{You can also use the
847 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is 874 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is
848 designed for use with @TeX{}, @code{texi2roff} is not described here. 875 designed for use with @TeX{}, @code{texi2roff} is not described here.
863 file called @file{texinfo.tex} that contains information (definitions or 890 file called @file{texinfo.tex} that contains information (definitions or
864 @dfn{macros}) that @TeX{} uses when it typesets a Texinfo file. 891 @dfn{macros}) that @TeX{} uses when it typesets a Texinfo file.
865 (@file{texinfo.tex} tells @TeX{} how to convert the Texinfo @@-commands 892 (@file{texinfo.tex} tells @TeX{} how to convert the Texinfo @@-commands
866 to @TeX{} commands, which @TeX{} can then process to create the typeset 893 to @TeX{} commands, which @TeX{} can then process to create the typeset
867 document.) @file{texinfo.tex} contains the specifications for printing 894 document.) @file{texinfo.tex} contains the specifications for printing
868 a document.@refill 895 a document.@refill
869 896
870 Most often, documents are printed on 8.5 inch by 11 inch 897 Most often, documents are printed on 8.5 inch by 11 inch
871 pages (216@dmn{mm} by 280@dmn{mm}; this is the default size), but you 898 pages (216@dmn{mm} by 280@dmn{mm}; this is the default size), but you
872 can also print for 7 inch by 9.25 inch pages (178@dmn{mm} by 899 can also print for 7 inch by 9.25 inch pages (178@dmn{mm} by
873 235@dmn{mm}; the @code{@@smallbook} size) or on European A4 size paper 900 235@dmn{mm}; the @code{@@smallbook} size) or on European A4 size paper
985 @section General Syntactic Conventions 1012 @section General Syntactic Conventions
986 @cindex General syntactic conventions 1013 @cindex General syntactic conventions
987 @cindex Syntactic conventions 1014 @cindex Syntactic conventions
988 @cindex Conventions, syntactic 1015 @cindex Conventions, syntactic
989 1016
990 All @sc{ascii} printing characters except @samp{@@}, @samp{@{} and 1017 All printable @sc{ascii} characters except @samp{@@}, @samp{@{} and
991 @samp{@}} can appear in a Texinfo file and stand for themselves. 1018 @samp{@}} can appear in a Texinfo file and stand for themselves.
992 @samp{@@} is the escape character which introduces commands. 1019 @samp{@@} is the escape character which introduces commands.
993 @samp{@{} and @samp{@}} should be used only to surround arguments to 1020 @samp{@{} and @samp{@}} should be used only to surround arguments to
994 certain commands. To put one of these special characters into the 1021 certain commands. To put one of these special characters into the
995 document, put an @samp{@@} character in front of it, like this: 1022 document, put an @samp{@@} character in front of it, like this:
1007 It is customary in @TeX{} to use doubled single-quote characters to 1034 It is customary in @TeX{} to use doubled single-quote characters to
1008 begin and end quotations: @w{@tt{ `` }} and @w{@tt{ '' }}. This 1035 begin and end quotations: @w{@tt{ `` }} and @w{@tt{ '' }}. This
1009 convention should be followed in Texinfo files. @TeX{} converts 1036 convention should be followed in Texinfo files. @TeX{} converts
1010 doubled single-quote characters to left- and right-hand doubled 1037 doubled single-quote characters to left- and right-hand doubled
1011 quotation marks, ``like this'', and Info converts doubled single-quote 1038 quotation marks, ``like this'', and Info converts doubled single-quote
1012 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and 1039 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and
1013 @w{@tt{ '' }} to @w{@tt{ " }}.@refill 1040 @w{@tt{ '' }} to @w{@tt{ " }}.@refill
1014 @end iftex 1041 @end iftex
1015 1042
1016 Use three hyphens in a row, @samp{---}, for a dash---like this. In 1043 Use three hyphens in a row, @samp{---}, for a dash---like this. In
1017 @TeX{}, a single or even a double hyphen produces a printed dash that 1044 @TeX{}, a single or even a double hyphen produces a printed dash that
1023 paragraph.@refill 1050 paragraph.@refill
1024 1051
1025 If you mark off a region of the Texinfo file with the @code{@@iftex} 1052 If you mark off a region of the Texinfo file with the @code{@@iftex}
1026 and @w{@code{@@end iftex}} commands, that region will appear only in 1053 and @w{@code{@@end iftex}} commands, that region will appear only in
1027 the printed copy; in that region, you can use certain commands 1054 the printed copy; in that region, you can use certain commands
1028 borrowed from Plain@TeX{} that you cannot use in Info. Likewise, if 1055 borrowed from plain @TeX{} that you cannot use in Info. Likewise, if
1029 you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo} 1056 you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo}
1030 commands, that region will appear only in the Info file; in that 1057 commands, that region will appear only in the Info file; in that
1031 region, you can use Info commands that you cannot use in @TeX{}. 1058 region, you can use Info commands that you cannot use in @TeX{}.
1032 (@xref{Conditionals}.) 1059 Similarly for @code{@@ifhtml} and @code{@@end ifhtml}.
1060 @xref{Conditionals}.
1033 1061
1034 @cindex Tabs; don't use! 1062 @cindex Tabs; don't use!
1035 @quotation 1063 @quotation
1036 @strong{Caution:} Do not use tabs in a Texinfo file! @TeX{} uses 1064 @strong{Caution:} Do not use tabs in a Texinfo file! @TeX{} uses
1037 variable-width fonts, which means that it cannot predefine a tab to work 1065 variable-width fonts, which means that it cannot predefine a tab to work
1055 either the Info file or the printed manual by using the 1083 either the Info file or the printed manual by using the
1056 @code{@@comment} command (which may be abbreviated to @code{@@c}). 1084 @code{@@comment} command (which may be abbreviated to @code{@@c}).
1057 Such comments are for the person who reads the Texinfo file. All the 1085 Such comments are for the person who reads the Texinfo file. All the
1058 text on a line that follows either @code{@@comment} or @code{@@c} is a 1086 text on a line that follows either @code{@@comment} or @code{@@c} is a
1059 comment; the rest of the line does not appear in either the Info file 1087 comment; the rest of the line does not appear in either the Info file
1060 or the printed manual. (Often, you can write the @code{@@comment} or 1088 or the printed manual. (Often, you can write the @code{@@comment} or
1061 @code{@@c} in the middle of a line, and only the text that follows after 1089 @code{@@c} in the middle of a line, and only the text that follows after
1062 the @code{@@comment} or @code{@@c} command does not appear; but some 1090 the @code{@@comment} or @code{@@c} command does not appear; but some
1063 commands, such as @code{@@settitle} and @code{@@setfilename}, work on a 1091 commands, such as @code{@@settitle} and @code{@@setfilename}, work on a
1064 whole line. You cannot use @code{@@comment} or @code{@@c} in a line 1092 whole line. You cannot use @code{@@comment} or @code{@@c} in a line
1065 beginning with such a command.)@refill 1093 beginning with such a command.)@refill
1103 extensions @file{.texinfo}, @file{.texi}, or @file{.tex}. The longer 1131 extensions @file{.texinfo}, @file{.texi}, or @file{.tex}. The longer
1104 extension is preferred since it describes more clearly to a human 1132 extension is preferred since it describes more clearly to a human
1105 reader the nature of the file. The shorter extensions are for 1133 reader the nature of the file. The shorter extensions are for
1106 operating systems that cannot handle long file names.@refill 1134 operating systems that cannot handle long file names.@refill
1107 1135
1108 In order to be made into a printed manual and an Info file, a 1136 In order to be made into a printed manual and an Info file, a Texinfo
1109 Texinfo file @strong{must} begin with lines like this:@refill 1137 file @strong{must} begin with lines like this:@refill
1110 1138
1111 @example 1139 @example
1112 @group 1140 @group
1113 \input texinfo 1141 \input texinfo
1114 @@setfilename @var{info-file-name} 1142 @@setfilename @var{info-file-name}
1128 @noindent 1156 @noindent
1129 The @samp{\input texinfo} line tells @TeX{} to use the 1157 The @samp{\input texinfo} line tells @TeX{} to use the
1130 @file{texinfo.tex} file, which tells @TeX{} how to translate the Texinfo 1158 @file{texinfo.tex} file, which tells @TeX{} how to translate the Texinfo
1131 @@-commands into @TeX{} typesetting commands. (Note the use of the 1159 @@-commands into @TeX{} typesetting commands. (Note the use of the
1132 backslash, @samp{\}; this is correct for @TeX{}.) The 1160 backslash, @samp{\}; this is correct for @TeX{}.) The
1133 @samp{@@setfilename} line provides a name for the Info file and the 1161 @samp{@@setfilename} line provides a name for the Info file and tells
1134 @samp{@@settitle} line specifies a title for the page headers (or 1162 @TeX{} to open auxiliary files. The @samp{@@settitle} line specifies a
1135 footers) of the printed manual.@refill 1163 title for the page headers (or footers) of the printed manual.@refill
1136 1164
1137 The @code{@@bye} line at the end of the file on a line of its own tells 1165 The @code{@@bye} line at the end of the file on a line of its own tells
1138 the formatters that the file is ended and to stop formatting.@refill 1166 the formatters that the file is ended and to stop formatting.@refill
1139 1167
1140 Usually, you will not use quite such a spare format, but will include 1168 Usually, you will not use quite such a spare format, but will include
1151 @end group 1179 @end group
1152 @end example 1180 @end example
1153 1181
1154 @noindent 1182 @noindent
1155 In the first line, @samp{-*-texinfo-*-} causes Emacs to switch into 1183 In the first line, @samp{-*-texinfo-*-} causes Emacs to switch into
1156 Texinfo mode when you edit the file. 1184 Texinfo mode when you edit the file.
1157 1185
1158 The @code{@@c} lines which surround the @samp{@@setfilename} and 1186 The @code{@@c} lines which surround the @samp{@@setfilename} and
1159 @samp{@@settitle} lines are optional, but you need them in order to 1187 @samp{@@settitle} lines are optional, but you need them in order to
1160 run @TeX{} or Info on just part of the file. (@xref{Start of Header}, 1188 run @TeX{} or Info on just part of the file. (@xref{Start of Header},
1161 for more information.)@refill 1189 for more information.)@refill
1182 and contains the copyright notice and copying permissions for the Info 1210 and contains the copyright notice and copying permissions for the Info
1183 file. The segment must be enclosed between @code{@@ifinfo} and 1211 file. The segment must be enclosed between @code{@@ifinfo} and
1184 @code{@@end ifinfo} commands so that the formatters place it only in the Info 1212 @code{@@end ifinfo} commands so that the formatters place it only in the Info
1185 file.@refill 1213 file.@refill
1186 1214
1187 @item 3. Title and Copyright 1215 @item 3. Title and Copyright
1188 The @dfn{Title and Copyright} segment contains the title and copyright pages 1216 The @dfn{Title and Copyright} segment contains the title and copyright pages
1189 and copying permissions for the printed manual. The segment must be 1217 and copying permissions for the printed manual. The segment must be
1190 enclosed between @code{@@titlepage} and @code{@@end titlepage} commands. 1218 enclosed between @code{@@titlepage} and @code{@@end titlepage} commands.
1191 The title and copyright page appear only in the printed @w{manual}.@refill 1219 The title and copyright page appear only in the printed @w{manual}.@refill
1192 1220
1216 insert the names for your own manual in this segment. (@xref{Beginning a 1244 insert the names for your own manual in this segment. (@xref{Beginning a
1217 File}.)@refill 1245 File}.)@refill
1218 1246
1219 @noindent 1247 @noindent
1220 In the following, the sample text is @emph{indented}; comments on it are 1248 In the following, the sample text is @emph{indented}; comments on it are
1221 not. The complete file, without any comments, is shown in 1249 not. The complete file, without any comments, is shown in
1222 @ref{Sample Texinfo File}. 1250 @ref{Sample Texinfo File}.
1223 1251
1224 @subheading Part 1: Header 1252 @subheading Part 1: Header
1225 1253
1226 @noindent 1254 @noindent
1227 The header does not appear in either the Info file or the@* 1255 The header does not appear in either the Info file or the@*
1228 printed output. It sets various parameters, including the@* 1256 printed output. It sets various parameters, including the@*
1229 name of the Info file and the title used in the header. 1257 name of the Info file and the title used in the header.
1230 1258
1231 @example 1259 @example
1232 @group 1260 @group
1233 \input texinfo @@c -*-texinfo-*- 1261 \input texinfo @@c -*-texinfo-*-
1234 @@c %**start of header 1262 @@c %**start of header
1235 @@setfilename sample.info 1263 @@setfilename sample.info
1236 @@settitle Sample Document 1264 @@settitle Sample Document
1237 @@c %**end of header 1265 @@c %**end of header
1238 1266
1293 @end example 1321 @end example
1294 1322
1295 @example 1323 @example
1296 @group 1324 @group
1297 @@menu 1325 @@menu
1298 * First Chapter:: The first chapter is the 1326 * First Chapter:: The first chapter is the
1299 only chapter in this sample. 1327 only chapter in this sample.
1300 * Concept Index:: This index has two entries. 1328 * Concept Index:: This index has two entries.
1301 @@end menu 1329 @@end menu
1302 @end group 1330 @end group
1303 @end example 1331 @end example
1316 @@chapter First Chapter 1344 @@chapter First Chapter
1317 @@cindex Sample index entry 1345 @@cindex Sample index entry
1318 @end group 1346 @end group
1319 1347
1320 @group 1348 @group
1321 This is the contents of the first chapter. 1349 This is the contents of the first chapter.
1322 @@cindex Another sample index entry 1350 @@cindex Another sample index entry
1323 @end group 1351 @end group
1324 1352
1325 @group 1353 @group
1326 Here is a numbered list. 1354 Here is a numbered list.
1334 @@end enumerate 1362 @@end enumerate
1335 @end group 1363 @end group
1336 1364
1337 @group 1365 @group
1338 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@} 1366 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@}
1339 commands transform a Texinfo file such as this into 1367 commands transform a Texinfo file such as this into
1340 an Info file; and @@TeX@{@} typesets it for a printed 1368 an Info file; and @@TeX@{@} typesets it for a printed
1341 manual. 1369 manual.
1342 @end group 1370 @end group
1343 @end example 1371 @end example
1344 1372
1345 @subheading Part 6: The End of the Document 1373 @subheading Part 6: The End of the Document
1370 Here is what the contents of the first chapter of the sample look like: 1398 Here is what the contents of the first chapter of the sample look like:
1371 1399
1372 @sp 1 1400 @sp 1
1373 @need 700 1401 @need 700
1374 @quotation 1402 @quotation
1375 This is the contents of the first chapter. 1403 This is the contents of the first chapter.
1376 1404
1377 Here is a numbered list. 1405 Here is a numbered list.
1378 1406
1379 @enumerate 1407 @enumerate
1380 @item 1408 @item
1382 1410
1383 @item 1411 @item
1384 This is the second item. 1412 This is the second item.
1385 @end enumerate 1413 @end enumerate
1386 1414
1387 The @code{makeinfo} and @code{texinfo-format-buffer} 1415 The @code{makeinfo} and @code{texinfo-format-buffer}
1388 commands transform a Texinfo file such as this into 1416 commands transform a Texinfo file such as this into
1389 an Info file; and @TeX{} typesets it for a printed 1417 an Info file; and @TeX{} typesets it for a printed
1390 manual. 1418 manual.
1391 @end quotation 1419 @end quotation
1392 1420
1393 @node Acknowledgements, , Short Sample, Overview 1421 @node Acknowledgements, , Short Sample, Overview
1394 @comment node-name, next, previous, up 1422 @comment node-name, next, previous, up
1395 @section Acknowledgements 1423 @section Acknowledgements
1396 1424
1397 Richard M.@: Stallman wrote Edition 1.0 of this manual. 1425 @cindex Stallman, Richard M.
1398 @w{Robert J.@: Chassell} revised and extended it, 1426 @cindex Chassell, Robert J.
1399 starting with Edition 1.1. 1427 @cindex Berry, Karl
1400 1428 Richard M.@: Stallman wrote Edition 1.0 of this manual. @w{Robert J.@:
1429 Chassell} revised and extended it, starting with Edition 1.1. Karl
1430 Berry made updates for the Texinfo 3.8 and subsequent releases, starting
1431 with Edition 2.22.
1432
1433 @cindex Pinard, Fran@,{c}ois
1434 @cindex Zuhn, David D.
1435 @cindex Weisshaus, Melissa
1401 Our thanks go out to all who helped improve this work, particularly to 1436 Our thanks go out to all who helped improve this work, particularly to
1402 @w{Francois Pinard} and @w{David D.@: Zuhn}, who tirelessly recorded 1437 Fran@,{c}ois Pinard and @w{David D.@: Zuhn}, who tirelessly recorded and
1403 and reported mistakes and obscurities; our special thanks go to 1438 reported mistakes and obscurities; our special thanks go to Melissa
1404 @w{Melissa Weisshaus} for her frequent and often tedious reviews of 1439 Weisshaus for her frequent and often tedious reviews of nearly similar
1405 nearly similar editions. Our mistakes are our own. 1440 editions. Our mistakes are our own.
1406 1441
1407 @c ignore until mailing lists set up
1408 @ignore
1409 Please send suggestions and corrections to: 1442 Please send suggestions and corrections to:
1410 1443
1411 @example 1444 @example
1412 @group 1445 @group
1413 @r{Internet address:} 1446 @r{Internet address:}
1414 bug-texinfo@@prep.ai.mit.edu 1447 bug-texinfo@@prep.ai.mit.edu
1415 1448 @end group
1416 @r{UUCP path:} 1449 @end example
1417 mit-eddie!prep.ai.mit.edu!bug-texinfo 1450
1418 @end group 1451 @noindent
1419 @end example 1452 Please include the manual's edition number and update date in your messages.
1420
1421 @noindent
1422 Please include the manual's edition number in your messages.
1423 @end ignore
1424 1453
1425 @node Texinfo Mode, Beginning a File, Overview, Top 1454 @node Texinfo Mode, Beginning a File, Overview, Top
1426 @comment node-name, next, previous, up 1455 @comment node-name, next, previous, up
1427 @chapter Using Texinfo Mode 1456 @chapter Using Texinfo Mode
1428 @cindex Texinfo mode 1457 @cindex Texinfo mode
1444 1473
1445 @menu 1474 @menu
1446 * Texinfo Mode Overview:: How Texinfo mode can help you. 1475 * Texinfo Mode Overview:: How Texinfo mode can help you.
1447 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general 1476 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general
1448 purpose editing features. 1477 purpose editing features.
1449 * Inserting:: How to insert frequently used @@-commands. 1478 * Inserting:: How to insert frequently used @@-commands.
1450 * Showing the Structure:: How to show the structure of a file. 1479 * Showing the Structure:: How to show the structure of a file.
1451 * Updating Nodes and Menus:: How to update or create new nodes and menus. 1480 * Updating Nodes and Menus:: How to update or create new nodes and menus.
1452 * Info Formatting:: How to format for Info. 1481 * Info Formatting:: How to format for Info.
1453 * Printing:: How to format and print part or all of a file. 1482 * Printing:: How to format and print part or all of a file.
1454 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands. 1483 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands.
1455 @end menu 1484 @end menu
1456 1485
1457 @node Texinfo Mode Overview, Emacs Editing, Texinfo Mode, Texinfo Mode 1486 @node Texinfo Mode Overview, Emacs Editing, Texinfo Mode, Texinfo Mode
1458 @ifinfo 1487 @ifinfo
1459 @heading Texinfo Mode Overview 1488 @heading Texinfo Mode Overview
1460 @end ifinfo 1489 @end ifinfo
1461 1490
1462 Texinfo mode provides special features for working with Texinfo 1491 Texinfo mode provides special features for working with Texinfo
1463 files:@refill 1492 files:@refill
1464 1493
1465 @itemize @bullet 1494 @itemize @bullet
1466 @item 1495 @item
1467 Insert frequently used @@-commands. @refill 1496 Insert frequently used @@-commands. @refill
1468 1497
1469 @item 1498 @item
1470 Automatically create @code{@@node} lines. 1499 Automatically create @code{@@node} lines.
1471 1500
1480 Automatically create or update menus.@refill 1509 Automatically create or update menus.@refill
1481 1510
1482 @item 1511 @item
1483 Automatically create a master menu.@refill 1512 Automatically create a master menu.@refill
1484 1513
1485 @item 1514 @item
1486 Format a part or all of a file for Info.@refill 1515 Format a part or all of a file for Info.@refill
1487 1516
1488 @item 1517 @item
1489 Typeset and print part or all of a file.@refill 1518 Typeset and print part or all of a file.@refill
1490 @end itemize 1519 @end itemize
1491 1520
1492 Perhaps the two most helpful features are those for inserting frequently 1521 Perhaps the two most helpful features are those for inserting frequently
1493 used @@-commands and for creating node pointers and menus.@refill 1522 used @@-commands and for creating node pointers and menus.@refill
1494 1523
1495 @node Emacs Editing, Inserting, Texinfo Mode Overview, Texinfo Mode 1524 @node Emacs Editing, Inserting, Texinfo Mode Overview, Texinfo Mode
1496 @section The Usual GNU Emacs Editing Commands 1525 @section The Usual GNU Emacs Editing Commands
1497 1526
1498 In most cases, the usual Text mode commands work the same in Texinfo 1527 In most cases, the usual Text mode commands work the same in Texinfo
1499 mode as they do in Text mode. Texinfo mode adds new editing commands 1528 mode as they do in Text mode. Texinfo mode adds new editing commands
1500 and tools to GNU Emacs' general purpose editing features. The major 1529 and tools to GNU Emacs' general purpose editing features. The major
1501 difference concerns filling. In Texinfo mode, the paragraph 1530 difference concerns filling. In Texinfo mode, the paragraph
1519 end a Texinfo file name with one of the three extensions 1548 end a Texinfo file name with one of the three extensions
1520 @file{.texinfo}, @file{.texi}, or @file{.tex}. A longer extension is 1549 @file{.texinfo}, @file{.texi}, or @file{.tex}. A longer extension is
1521 preferred, since it is explicit, but a shorter extension may be 1550 preferred, since it is explicit, but a shorter extension may be
1522 necessary for operating systems that limit the length of file names. 1551 necessary for operating systems that limit the length of file names.
1523 GNU Emacs automatically enters Texinfo mode when you visit a file with 1552 GNU Emacs automatically enters Texinfo mode when you visit a file with
1524 a @file{.texinfo} or @file{.texi} 1553 a @file{.texinfo} or @file{.texi}
1525 extension. Also, Emacs switches to Texinfo mode 1554 extension. Also, Emacs switches to Texinfo mode
1526 when you visit a 1555 when you visit a
1527 file that has @samp{-*-texinfo-*-} in its first line. If ever you are 1556 file that has @samp{-*-texinfo-*-} in its first line. If ever you are
1528 in another mode and wish to switch to Texinfo mode, type @code{M-x 1557 in another mode and wish to switch to Texinfo mode, type @code{M-x
1529 texinfo-mode}.@refill 1558 texinfo-mode}.@refill
1530 1559
1531 Like all other Emacs features, you can customize or enhance Texinfo 1560 Like all other Emacs features, you can customize or enhance Texinfo
1552 @itemx M-x texinfo-insert-@@code 1581 @itemx M-x texinfo-insert-@@code
1553 @findex texinfo-insert-@@code 1582 @findex texinfo-insert-@@code
1554 Insert @code{@@code@{@}} and put the 1583 Insert @code{@@code@{@}} and put the
1555 cursor between the braces.@refill 1584 cursor between the braces.@refill
1556 1585
1557 @item C-c C-c d 1586 @item C-c C-c d
1558 @itemx M-x texinfo-insert-@@dfn 1587 @itemx M-x texinfo-insert-@@dfn
1559 @findex texinfo-insert-@@dfn 1588 @findex texinfo-insert-@@dfn
1560 Insert @code{@@dfn@{@}} and put the 1589 Insert @code{@@dfn@{@}} and put the
1561 cursor between the braces.@refill 1590 cursor between the braces.@refill
1562 1591
1563 @item C-c C-c e 1592 @item C-c C-c e
1564 @itemx M-x texinfo-insert-@@end 1593 @itemx M-x texinfo-insert-@@end
1565 @findex texinfo-insert-@@end 1594 @findex texinfo-insert-@@end
1566 Insert @code{@@end} and attempt to insert the correct following word, 1595 Insert @code{@@end} and attempt to insert the correct following word,
1567 such as @samp{example} or @samp{table}. (This command does not handle 1596 such as @samp{example} or @samp{table}. (This command does not handle
1568 nested lists correctly, but inserts the word appropriate to the 1597 nested lists correctly, but inserts the word appropriate to the
1569 immediately preceding list.)@refill 1598 immediately preceding list.)@refill
1570 1599
1571 @item C-c C-c i 1600 @item C-c C-c i
1572 @itemx M-x texinfo-insert-@@item 1601 @itemx M-x texinfo-insert-@@item
1573 @findex texinfo-insert-@@item 1602 @findex texinfo-insert-@@item
1574 Insert @code{@@item} and put the 1603 Insert @code{@@item} and put the
1575 cursor at the beginning of the next line.@refill 1604 cursor at the beginning of the next line.@refill
1576 1605
1578 @itemx M-x texinfo-insert-@@kbd 1607 @itemx M-x texinfo-insert-@@kbd
1579 @findex texinfo-insert-@@kbd 1608 @findex texinfo-insert-@@kbd
1580 Insert @code{@@kbd@{@}} and put the 1609 Insert @code{@@kbd@{@}} and put the
1581 cursor between the braces.@refill 1610 cursor between the braces.@refill
1582 1611
1583 @item C-c C-c n 1612 @item C-c C-c n
1584 @itemx M-x texinfo-insert-@@node 1613 @itemx M-x texinfo-insert-@@node
1585 @findex texinfo-insert-@@node 1614 @findex texinfo-insert-@@node
1586 Insert @code{@@node} and a comment line 1615 Insert @code{@@node} and a comment line
1587 listing the sequence for the `Next', 1616 listing the sequence for the `Next',
1588 `Previous', and `Up' nodes. 1617 `Previous', and `Up' nodes.
1589 Leave point after the @code{@@node}.@refill 1618 Leave point after the @code{@@node}.@refill
1590 1619
1591 @item C-c C-c o 1620 @item C-c C-c o
1592 @itemx M-x texinfo-insert-@@noindent 1621 @itemx M-x texinfo-insert-@@noindent
1601 cursor between the braces.@refill 1630 cursor between the braces.@refill
1602 1631
1603 @item C-c C-c t 1632 @item C-c C-c t
1604 @itemx M-x texinfo-insert-@@table 1633 @itemx M-x texinfo-insert-@@table
1605 @findex texinfo-insert-@@table 1634 @findex texinfo-insert-@@table
1606 Insert @code{@@table} followed by a @key{SPC} 1635 Insert @code{@@table} followed by a @key{SPC}
1607 and leave the cursor after the @key{SPC}.@refill 1636 and leave the cursor after the @key{SPC}.@refill
1608 1637
1609 @item C-c C-c v 1638 @item C-c C-c v
1610 @itemx M-x texinfo-insert-@@var 1639 @itemx M-x texinfo-insert-@@var
1611 @findex texinfo-insert-@@var 1640 @findex texinfo-insert-@@var
1616 @itemx M-x texinfo-insert-@@example 1645 @itemx M-x texinfo-insert-@@example
1617 @findex texinfo-insert-@@example 1646 @findex texinfo-insert-@@example
1618 Insert @code{@@example} and put the 1647 Insert @code{@@example} and put the
1619 cursor at the beginning of the next line.@refill 1648 cursor at the beginning of the next line.@refill
1620 1649
1621 @c M-@{ was the binding for texinfo-insert-braces; 1650 @c M-@{ was the binding for texinfo-insert-braces;
1622 @c in Emacs 19, backward-paragraph will take this binding. 1651 @c in Emacs 19, backward-paragraph will take this binding.
1623 @item C-c C-c @{ 1652 @item C-c C-c @{
1624 @itemx M-x texinfo-insert-braces 1653 @itemx M-x texinfo-insert-braces
1625 @findex texinfo-insert-braces 1654 @findex texinfo-insert-braces
1626 Insert @code{@{@}} and put the cursor between the braces.@refill 1655 Insert @code{@{@}} and put the cursor between the braces.@refill
1696 the cursor over one of the lines and use the @kbd{C-c C-c} command 1725 the cursor over one of the lines and use the @kbd{C-c C-c} command
1697 (@code{occur-mode-goto-occurrence}), to jump to the corresponding spot 1726 (@code{occur-mode-goto-occurrence}), to jump to the corresponding spot
1698 in the Texinfo file.@refill 1727 in the Texinfo file.@refill
1699 1728
1700 @table @kbd 1729 @table @kbd
1701 @item C-c C-s 1730 @item C-c C-s
1702 @itemx M-x texinfo-show-structure 1731 @itemx M-x texinfo-show-structure
1703 @findex texinfo-show-structure 1732 @findex texinfo-show-structure
1704 Show the @code{@@chapter}, @code{@@section}, and such lines of a 1733 Show the @code{@@chapter}, @code{@@section}, and such lines of a
1705 Texinfo file.@refill 1734 Texinfo file.@refill
1706 1735
1729 @code{texinfo-show-structure} will work on only that region. To see 1758 @code{texinfo-show-structure} will work on only that region. To see
1730 the whole buffer again, use @w{@kbd{C-x n w}} (@code{widen}). 1759 the whole buffer again, use @w{@kbd{C-x n w}} (@code{widen}).
1731 (@xref{Narrowing, , , emacs, The GNU Emacs Manual}, for more 1760 (@xref{Narrowing, , , emacs, The GNU Emacs Manual}, for more
1732 information about the narrowing commands.)@refill 1761 information about the narrowing commands.)@refill
1733 1762
1734 @vindex page-delimiter 1763 @vindex page-delimiter
1735 @cindex Page delimiter in Texinfo mode 1764 @cindex Page delimiter in Texinfo mode
1736 In addition to providing the @code{texinfo-show-structure} command, 1765 In addition to providing the @code{texinfo-show-structure} command,
1737 Texinfo mode sets the value of the page delimiter variable to match 1766 Texinfo mode sets the value of the page delimiter variable to match
1738 the chapter-level @@-commands. This enables you to use the @kbd{C-x 1767 the chapter-level @@-commands. This enables you to use the @kbd{C-x
1739 ]} (@code{forward-page}) and @kbd{C-x [} (@code{backward-page}) 1768 ]} (@code{forward-page}) and @kbd{C-x [} (@code{backward-page})
1746 @comment node-name, next, previous, up 1775 @comment node-name, next, previous, up
1747 @section Updating Nodes and Menus 1776 @section Updating Nodes and Menus
1748 @cindex Updating nodes and menus 1777 @cindex Updating nodes and menus
1749 @cindex Create nodes, menus automatically 1778 @cindex Create nodes, menus automatically
1750 @cindex Insert nodes, menus automatically 1779 @cindex Insert nodes, menus automatically
1751 @cindex Automatically insert nodes, menus 1780 @cindex Automatically insert nodes, menus
1752 1781
1753 Texinfo mode provides commands for automatically creating or updating 1782 Texinfo mode provides commands for automatically creating or updating
1754 menus and node pointers. The commands are called ``update'' commands 1783 menus and node pointers. The commands are called ``update'' commands
1755 because their most frequent use is for updating a Texinfo file after 1784 because their most frequent use is for updating a Texinfo file after
1756 you have worked on it; but you can use them to insert the `Next', 1785 you have worked on it; but you can use them to insert the `Next',
1898 1927
1899 @item C-c C-u C-a 1928 @item C-c C-u C-a
1900 @itemx M-x texinfo-all-menus-update 1929 @itemx M-x texinfo-all-menus-update
1901 @findex texinfo-all-menus-update 1930 @findex texinfo-all-menus-update
1902 Create or update all the menus in the buffer. With an argument 1931 Create or update all the menus in the buffer. With an argument
1903 (@kbd{C-u} as prefix argument, if interactive), first insert 1932 (@kbd{C-u} as prefix argument, if interactive), first insert
1904 or update all the node 1933 or update all the node
1905 pointers before working on the menus.@refill 1934 pointers before working on the menus.@refill
1906 1935
1907 If a master menu exists, the @code{texinfo-all-menus-update} command 1936 If a master menu exists, the @code{texinfo-all-menus-update} command
1908 updates it; but the command does not create a new master menu if none 1937 updates it; but the command does not create a new master menu if none
1912 When working on a document that does not merit a master menu, you can 1941 When working on a document that does not merit a master menu, you can
1913 type the following: 1942 type the following:
1914 1943
1915 @example 1944 @example
1916 C-u C-c C-u C-a 1945 C-u C-c C-u C-a
1917 @exdent or 1946 @exdent or
1918 C-u M-x texinfo-all-menus-update 1947 C-u M-x texinfo-all-menus-update
1919 @end example 1948 @end example
1920 1949
1921 @noindent 1950 @noindent
1922 This updates all the nodes and menus.@refill 1951 This updates all the nodes and menus.@refill
1942 @subsection Updating Requirements 1971 @subsection Updating Requirements
1943 @cindex Updating requirements 1972 @cindex Updating requirements
1944 @cindex Requirements for updating commands 1973 @cindex Requirements for updating commands
1945 1974
1946 To use the updating commands, you must organize the Texinfo file 1975 To use the updating commands, you must organize the Texinfo file
1947 hierarchically with chapters, sections, subsections, and the like. 1976 hierarchically with chapters, sections, subsections, and the like.
1948 When you construct the hierarchy of the manual, do not `jump down' 1977 When you construct the hierarchy of the manual, do not `jump down'
1949 more than one level at a time: you can follow the `Top' node with a 1978 more than one level at a time: you can follow the `Top' node with a
1950 chapter, but not with a section; you can follow a chapter with a 1979 chapter, but not with a section; you can follow a chapter with a
1951 section, but not with a subsection. However, you may `jump up' any 1980 section, but not with a subsection. However, you may `jump up' any
1952 number of levels at one time---for example, from a subsection to a 1981 number of levels at one time---for example, from a subsection to a
1998 `update node' commands. (@xref{Create an Info File, , Creating an 2027 `update node' commands. (@xref{Create an Info File, , Creating an
1999 Info File}, for more information about @code{makeinfo}.) However, 2028 Info File}, for more information about @code{makeinfo}.) However,
2000 both @code{makeinfo} and the @code{texinfo-format-@dots{}} commands 2029 both @code{makeinfo} and the @code{texinfo-format-@dots{}} commands
2001 require that you insert menus in the file.@refill 2030 require that you insert menus in the file.@refill
2002 2031
2003 @node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus 2032 @node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus
2004 @comment node-name, next, previous, up 2033 @comment node-name, next, previous, up
2005 @subsection Other Updating Commands 2034 @subsection Other Updating Commands
2006 2035
2007 In addition to the five major updating commands, Texinfo mode 2036 In addition to the five major updating commands, Texinfo mode
2008 possesses several less frequently used updating commands:@refill 2037 possesses several less frequently used updating commands:@refill
2128 C-c C-m C-b 2157 C-c C-m C-b
2129 @exdent or 2158 @exdent or
2130 M-x makeinfo-buffer 2159 M-x makeinfo-buffer
2131 @end example 2160 @end example
2132 2161
2133 For the Info formatting commands to work, the file @emph{must} include 2162 For @TeX{} or the Info formatting commands to work, the file @emph{must}
2134 a line that has @code{@@setfilename} in its header.@refill 2163 include a line that has @code{@@setfilename} in its header.@refill
2135
2136 Not all systems support the @code{makeinfo}-based formatting commands.@refill
2137 2164
2138 @xref{Create an Info File}, for details about Info formatting.@refill 2165 @xref{Create an Info File}, for details about Info formatting.@refill
2139 2166
2140 @node Printing, Texinfo Mode Summary, Info Formatting, Texinfo Mode 2167 @node Printing, Texinfo Mode Summary, Info Formatting, Texinfo Mode
2141 @comment node-name, next, previous, up 2168 @comment node-name, next, previous, up
2199 end-of-header lines.)@refill 2226 end-of-header lines.)@refill
2200 2227
2201 @xref{Format/Print Hardcopy}, for a description of the other @TeX{} related 2228 @xref{Format/Print Hardcopy}, for a description of the other @TeX{} related
2202 commands, such as @code{tex-show-print-queue}.@refill 2229 commands, such as @code{tex-show-print-queue}.@refill
2203 2230
2204 @node Texinfo Mode Summary, , Printing, Texinfo Mode 2231 @node Texinfo Mode Summary, , Printing, Texinfo Mode
2205 @comment node-name, next, previous, up 2232 @comment node-name, next, previous, up
2206 @section Texinfo Mode Summary 2233 @section Texinfo Mode Summary
2207 2234
2208 In Texinfo mode, each set of commands has default keybindings that 2235 In Texinfo mode, each set of commands has default keybindings that
2209 begin with the same keys. All the commands that are custom-created 2236 begin with the same keys. All the commands that are custom-created
2210 for Texinfo mode begin with @kbd{C-c}. The keys are somewhat 2237 for Texinfo mode begin with @kbd{C-c}. The keys are somewhat
2211 mnemonic.@refill 2238 mnemonic.@refill
2212 2239
2213 @subheading Insert Commands 2240 @subheading Insert Commands
2214 2241
2215 The insert commands are invoked by typing @kbd{C-c} twice and then the 2242 The insert commands are invoked by typing @kbd{C-c} twice and then the
2286 @example 2313 @example
2287 C-c C-u C-m @r{Make or update a menu.} 2314 C-c C-u C-m @r{Make or update a menu.}
2288 2315
2289 @group 2316 @group
2290 C-c C-u C-a @r{Make or update all} 2317 C-c C-u C-a @r{Make or update all}
2291 @r{menus in a buffer.} 2318 @r{menus in a buffer.}
2292 @end group 2319 @end group
2293 2320
2294 @group 2321 @group
2295 C-u C-c C-u C-a @r{With @kbd{C-u} as a prefix argument,} 2322 C-u C-c C-u C-a @r{With @kbd{C-u} as a prefix argument,}
2296 @r{first create or update all nodes and} 2323 @r{first create or update all nodes and}
2409 @end ifinfo 2436 @end ifinfo
2410 2437
2411 Generally, the beginning of a Texinfo file has four parts:@refill 2438 Generally, the beginning of a Texinfo file has four parts:@refill
2412 2439
2413 @enumerate 2440 @enumerate
2414 @item 2441 @item
2415 The header, delimited by special comment lines, that includes the 2442 The header, delimited by special comment lines, that includes the
2416 commands for naming the Texinfo file and telling @TeX{} what 2443 commands for naming the Texinfo file and telling @TeX{} what
2417 definitions' file to use when processing the Texinfo file.@refill 2444 definitions' file to use when processing the Texinfo file.@refill
2418 2445
2419 @item 2446 @item
2420 A short statement of what the file is about, with a copyright notice 2447 A short statement of what the file is about, with a copyright notice
2421 and copying permissions. This is enclosed in @code{@@ifinfo} and 2448 and copying permissions. This is enclosed in @code{@@ifinfo} and
2422 @code{@@end ifinfo} commands so that the formatters place it only 2449 @code{@@end ifinfo} commands so that the formatters place it only
2423 in the Info file.@refill 2450 in the Info file.@refill
2424 2451
2425 @item 2452 @item
2426 A title page and copyright page, with a copyright notice and copying 2453 A title page and copyright page, with a copyright notice and copying
2427 permissions. This is enclosed between @code{@@titlepage} and 2454 permissions. This is enclosed between @code{@@titlepage} and
2428 @code{@@end titlepage} commands. The title and copyright page appear 2455 @code{@@end titlepage} commands. The title and copyright page appear
2429 only in the printed @w{manual}.@refill 2456 only in the printed @w{manual}.@refill
2430 2457
2478 @@subtitle @var{second-subtitle} 2505 @@subtitle @var{second-subtitle}
2479 @@author @var{author} 2506 @@author @var{author}
2480 @end group 2507 @end group
2481 2508
2482 @group 2509 @group
2483 @@c The following two commands 2510 @@c The following two commands
2484 @@c start the copyright page. 2511 @@c start the copyright page.
2485 @@page 2512 @@page
2486 @@vskip 0pt plus 1filll 2513 @@vskip 0pt plus 1filll
2487 Copyright @@copyright@{@} @var{year} @var{copyright-owner} 2514 Copyright @@copyright@{@} @var{year} @var{copyright-owner}
2488 @end group 2515 @end group
2493 @@end titlepage 2520 @@end titlepage
2494 2521
2495 @@node Top, Overview, (dir), (dir) 2522 @@node Top, Overview, (dir), (dir)
2496 2523
2497 @@ifinfo 2524 @@ifinfo
2498 This document describes @dots{} 2525 This document describes @dots{}
2499 2526
2500 This document applies to version @dots{} 2527 This document applies to version @dots{}
2501 of the program named @dots{} 2528 of the program named @dots{}
2502 @@end ifinfo 2529 @@end ifinfo
2503 2530
2504 @group 2531 @group
2505 @@menu 2532 @@menu
2535 2562
2536 Thus, the beginning of a Texinfo file looks like this: 2563 Thus, the beginning of a Texinfo file looks like this:
2537 2564
2538 @example 2565 @example
2539 @group 2566 @group
2540 \input texinfo @@c -*-texinfo-*- 2567 \input texinfo @@c -*-texinfo-*-
2541 @@setfilename sample.info 2568 @@setfilename sample.info
2542 @@settitle Sample Document 2569 @@settitle Sample Document
2543 @end group 2570 @end group
2544 @end example 2571 @end example
2545 2572
2546 @noindent 2573 @noindent
2547 or else like this: 2574 or else like this:
2548 2575
2549 @example 2576 @example
2550 @group 2577 @group
2551 \input texinfo @@c -*-texinfo-*- 2578 \input texinfo @@c -*-texinfo-*-
2552 @@c %**start of header 2579 @@c %**start of header
2553 @@setfilename sample.info 2580 @@setfilename sample.info
2554 @@settitle Sample Document 2581 @@settitle Sample Document
2555 @@c %**end of header 2582 @@c %**end of header
2556 @end group 2583 @end group
2557 @end example 2584 @end example
2558 2585
2559 @menu 2586 @menu
2560 * First Line:: The first line of a Texinfo file. 2587 * First Line:: The first line of a Texinfo file.
2561 * Start of Header:: Formatting a region requires this. 2588 * Start of Header:: Formatting a region requires this.
2562 * setfilename:: Tell Info the name of the Info file. 2589 * setfilename:: Tell Info the name of the Info file.
2563 * settitle:: Create a title for the printed work. 2590 * settitle:: Create a title for the printed work.
2564 * setchapternewpage:: Start chapters on right-hand pages. 2591 * setchapternewpage:: Start chapters on right-hand pages.
2565 * paragraphindent:: An option to specify paragraph indentation. 2592 * paragraphindent:: An option to specify paragraph indentation.
2582 2609
2583 @noindent 2610 @noindent
2584 This line serves two functions: 2611 This line serves two functions:
2585 2612
2586 @enumerate 2613 @enumerate
2587 @item 2614 @item
2588 When the file is processed by @TeX{}, the @code{\input texinfo} command 2615 When the file is processed by @TeX{}, the @code{\input texinfo} command
2589 tells @TeX{} to load the macros needed for processing a Texinfo file. 2616 tells @TeX{} to load the macros needed for processing a Texinfo file.
2590 These are in a file called @file{texinfo.tex}, which is usually located 2617 These are in a file called @file{texinfo.tex}, which is usually located
2591 in the @file{/usr/lib/tex/macros} directory. @TeX{} uses the backslash, 2618 in the @file{/usr/lib/tex/macros} directory. @TeX{} uses the backslash,
2592 @samp{\}, to mark the beginning of a command, just as Texinfo uses 2619 @samp{\}, to mark the beginning of a command, just as Texinfo uses
2593 @code{@@}. The @file{texinfo.tex} file causes the switch from @samp{\} 2620 @code{@@}. The @file{texinfo.tex} file causes the switch from @samp{\}
2594 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which 2621 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which
2595 is why it appears at the beginning of the file.@refill 2622 is why it appears at the beginning of the file.@refill
2596 2623
2597 @item 2624 @item
2598 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode 2625 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode
2599 specification tells Emacs to use Texinfo mode.@refill 2626 specification tells Emacs to use Texinfo mode.@refill
2600 @end enumerate 2627 @end enumerate
2601 2628
2602 @node Start of Header, setfilename, First Line, Header 2629 @node Start of Header, setfilename, First Line, Header
2626 @comment node-name, next, previous, up 2653 @comment node-name, next, previous, up
2627 @subsection @code{@@setfilename} 2654 @subsection @code{@@setfilename}
2628 @cindex Info file requires @code{@@setfilename} 2655 @cindex Info file requires @code{@@setfilename}
2629 @findex setfilename 2656 @findex setfilename
2630 2657
2631 In order to be made into an Info file, a Texinfo file must contain a line 2658 In order to serve as the primary input file for either @code{makeinfo}
2632 that looks like this:@refill 2659 or @TeX{}, a Texinfo file must contain a line that looks like this:
2633 2660
2634 @example 2661 @example
2635 @@setfilename @var{info-file-name} 2662 @@setfilename @var{info-file-name}
2636 @end example 2663 @end example
2637 2664
2640 anything else on the line; anything on the line after the command is 2667 anything else on the line; anything on the line after the command is
2641 considered part of the file name, including a comment.@refill 2668 considered part of the file name, including a comment.@refill
2642 2669
2643 The @code{@@setfilename} line specifies the name of the Info file to be 2670 The @code{@@setfilename} line specifies the name of the Info file to be
2644 generated. This name should be different from the name of the Texinfo 2671 generated. This name should be different from the name of the Texinfo
2645 file. The convention is to write a name with a @samp{.info} extension, 2672 file. There are two conventions for choosing the name: you can either
2646 to produce an Info file name such as @file{texinfo.info}.@refill 2673 remove the @samp{.tex} extension from the input file name, or replace it
2674 with the @samp{.info} extension.
2647 2675
2648 Some operating systems cannot handle long file names. You can run into 2676 Some operating systems cannot handle long file names. You can run into
2649 a problem even when the file name you specify is itself short enough. 2677 a problem even when the file name you specify is itself short enough.
2650 This occurs because the Info formatters split a long Info file into 2678 This occurs because the Info formatters split a long Info file into
2651 short indirect subfiles, and name them by appending `-1', `-2', @dots{}, 2679 short indirect subfiles, and name them by appending `-1', `-2', @dots{},
2652 `-10', `-11', and so on, to the original file name. (@xref{Tag and 2680 `-10', `-11', and so on, to the original file name. (@xref{Tag and
2653 Split Files, , Tag Files and Split Files}.) The subfile name 2681 Split Files, , Tag Files and Split Files}.) The subfile name
2654 @file{texinfo.info-10}, for example, is too long for some systems; so 2682 @file{texinfo.info-10}, for example, is too long for some systems; so
2655 the Info file name for this document is actually @file{texinfo} rather than 2683 the Info file name for this document is @file{texinfo} rather than
2656 @file{texinfo.info}.@refill 2684 @file{texinfo.info}.@refill
2657 2685
2658 The Info formatting commands ignore everything written before the 2686 The Info formatting commands ignore everything written before the
2659 @code{@@setfilename} line, which is why the very first line of 2687 @code{@@setfilename} line, which is why the very first line of
2660 the file (the @code{\input} line) does not need to be commented out. 2688 the file (the @code{\input} line) does not need to be commented out.
2661 The @code{@@setfilename} line is ignored when you typeset a printed 2689
2662 manual.@refill 2690 The @code{@@setfilename} line produces no output when you typeset a
2691 printed manual, but is does an essential job: it opens the index,
2692 cross-reference, and other auxiliary files used by Texinfo.
2663 2693
2664 @node settitle, setchapternewpage, setfilename, Header 2694 @node settitle, setchapternewpage, setfilename, Header
2665 @comment node-name, next, previous, up 2695 @comment node-name, next, previous, up
2666 @subsection @code{@@settitle} 2696 @subsection @code{@@settitle}
2667 @findex settitle 2697 @findex settitle
2842 @code{texinfo-format-region} commands is that they do not indent (nor 2872 @code{texinfo-format-region} commands is that they do not indent (nor
2843 fill) paragraphs that contain @code{@@w} or @code{@@*} commands. 2873 fill) paragraphs that contain @code{@@w} or @code{@@*} commands.
2844 @xref{Refilling Paragraphs}, for a detailed description of what goes 2874 @xref{Refilling Paragraphs}, for a detailed description of what goes
2845 on.@refill 2875 on.@refill
2846 2876
2847 @node End of Header, , paragraphindent, Header 2877 @node End of Header, , paragraphindent, Header
2848 @comment node-name, next, previous, up 2878 @comment node-name, next, previous, up
2849 @subsection End of Header 2879 @subsection End of Header
2850 @cindex End of header line 2880 @cindex End of header line
2851 2881
2852 Follow the header lines with an @w{end-of-header} line. 2882 Follow the header lines with an @w{end-of-header} line.
2853 An end-of-header line looks like this:@refill 2883 An end-of-header line looks like this:@refill
2854 2884
2944 Start the material for the title page and following copyright page 2974 Start the material for the title page and following copyright page
2945 with @code{@@titlepage} on a line by itself and end it with 2975 with @code{@@titlepage} on a line by itself and end it with
2946 @code{@@end titlepage} on a line by itself.@refill 2976 @code{@@end titlepage} on a line by itself.@refill
2947 2977
2948 The @code{@@end titlepage} command starts a new page and turns on page 2978 The @code{@@end titlepage} command starts a new page and turns on page
2949 numbering. (@xref{Headings, , Page Headings}, for details about how to 2979 numbering. (@xref{Headings, , Page Headings}, for details about how to
2950 generate of page headings.) All the material that you want to 2980 generate page headings.) All the material that you want to
2951 appear on unnumbered pages should be put between the 2981 appear on unnumbered pages should be put between the
2952 @code{@@titlepage} and @code{@@end titlepage} commands. By using the 2982 @code{@@titlepage} and @code{@@end titlepage} commands. By using the
2953 @code{@@page} command you can force a page break within the region 2983 @code{@@page} command you can force a page break within the region
2954 delineated by the @code{@@titlepage} and @code{@@end titlepage} 2984 delineated by the @code{@@titlepage} and @code{@@end titlepage}
2955 commands and thereby create more than one unnumbered page. This is 2985 commands and thereby create more than one unnumbered page. This is
2970 words.} for the manual. This helps readers keep track of which manual 3000 words.} for the manual. This helps readers keep track of which manual
2971 is for which version of the program. (The `Top' node 3001 is for which version of the program. (The `Top' node
2972 should also contain this information; see @ref{makeinfo top, , 3002 should also contain this information; see @ref{makeinfo top, ,
2973 @code{@@top}}.)@refill 3003 @code{@@top}}.)@refill
2974 3004
2975 Texinfo provides two methods for creating a title page. One method 3005 Texinfo provides two main methods for creating a title page. One method
2976 uses the @code{@@titlefont}, @code{@@sp}, and @code{@@center} commands 3006 uses the @code{@@titlefont}, @code{@@sp}, and @code{@@center} commands
2977 to generate a title page in which the words on the page are 3007 to generate a title page in which the words on the page are
2978 centered.@refill 3008 centered.@refill
2979 3009
2980 The second method uses the @code{@@title}, @code{@@subtitle}, and 3010 The second method uses the @code{@@title}, @code{@@subtitle}, and
2982 the title and author lines and the subtitle text set flush to the 3012 the title and author lines and the subtitle text set flush to the
2983 right hand side of the page. With this method, you do not specify any 3013 right hand side of the page. With this method, you do not specify any
2984 of the actual formatting of the title page. You specify the text 3014 of the actual formatting of the title page. You specify the text
2985 you want, and Texinfo does the formatting. You may use either 3015 you want, and Texinfo does the formatting. You may use either
2986 method.@refill 3016 method.@refill
3017
3018 @findex shorttitlepage
3019 For extremely simple applications, Texinfo also provides a command
3020 @code{@@shorttitlepage} which takes a single argument as the title.
3021 The argument is typeset on a page by itself and followed by a blank
3022 page.
3023
2987 3024
2988 @node titlefont center sp, title subtitle author, titlepage, Titlepage & Copyright Page 3025 @node titlefont center sp, title subtitle author, titlepage, Titlepage & Copyright Page
2989 @comment node-name, next, previous, up 3026 @comment node-name, next, previous, up
2990 @subsection @code{@@titlefont}, @code{@@center}, and @code{@@sp} 3027 @subsection @code{@@titlefont}, @code{@@center}, and @code{@@sp}
2991 @findex titlefont 3028 @findex titlefont
3053 @findex subtitle 3090 @findex subtitle
3054 @findex author 3091 @findex author
3055 3092
3056 You can use the @code{@@title}, @code{@@subtitle}, and @code{@@author} 3093 You can use the @code{@@title}, @code{@@subtitle}, and @code{@@author}
3057 commands to create a title page in which the vertical and horizontal 3094 commands to create a title page in which the vertical and horizontal
3058 spacing is done for you automatically. This contrasts with the method 3095 spacing is done for you automatically. This contrasts with the method
3059 described in 3096 described in
3060 the previous section, in which the @code{@@sp} command is needed to 3097 the previous section, in which the @code{@@sp} command is needed to
3061 adjust vertical spacing.@refill 3098 adjust vertical spacing.@refill
3062 3099
3063 Write the @code{@@title}, @code{@@subtitle}, or @code{@@author} 3100 Write the @code{@@title}, @code{@@subtitle}, or @code{@@author}
3199 @node end titlepage, headings on off, Copyright & Permissions, Titlepage & Copyright Page 3236 @node end titlepage, headings on off, Copyright & Permissions, Titlepage & Copyright Page
3200 @comment node-name, next, previous, up 3237 @comment node-name, next, previous, up
3201 @subsection Heading Generation 3238 @subsection Heading Generation
3202 @findex end titlepage 3239 @findex end titlepage
3203 @cindex Headings, page, begin to appear 3240 @cindex Headings, page, begin to appear
3204 @cindex Titlepage end starts headings 3241 @cindex Titlepage end starts headings
3205 @cindex End titlepage starts headings 3242 @cindex End titlepage starts headings
3206 3243
3207 An @code{@@end titlepage} command on a line by itself not only marks 3244 An @code{@@end titlepage} command on a line by itself not only marks
3208 the end of the title and copyright pages, but also causes @TeX{} to start 3245 the end of the title and copyright pages, but also causes @TeX{} to start
3209 generating page headings and page numbers. 3246 generating page headings and page numbers.
3210 3247
3211 To repeat what is said elsewhere, Texinfo has two standard page heading 3248 To repeat what is said elsewhere, Texinfo has two standard page heading
3212 formats, one for documents which are printed on one side of each sheet of paper 3249 formats, one for documents which are printed on one side of each sheet of paper
3213 (single-sided printing), and the other for documents which are printed on both 3250 (single-sided printing), and the other for documents which are printed on both
3214 sides of each sheet (double-sided printing). 3251 sides of each sheet (double-sided printing).
3215 (@xref{setchapternewpage, ,@code{@@setchapternewpage}}.) 3252 (@xref{setchapternewpage, ,@code{@@setchapternewpage}}.)
3216 You can specify these formats in different ways:@refill 3253 You can specify these formats in different ways:@refill
3217 3254
3218 @itemize @bullet 3255 @itemize @bullet
3219 @item 3256 @item
3238 Most documents are formatted with the standard single-sided or 3275 Most documents are formatted with the standard single-sided or
3239 double-sided format, using @code{@@setchapternewpage odd} for 3276 double-sided format, using @code{@@setchapternewpage odd} for
3240 double-sided printing and no @code{@@setchapternewpage} command for 3277 double-sided printing and no @code{@@setchapternewpage} command for
3241 single-sided printing.@refill 3278 single-sided printing.@refill
3242 3279
3243 @node headings on off, , end titlepage, Titlepage & Copyright Page 3280 @node headings on off, , end titlepage, Titlepage & Copyright Page
3244 @comment node-name, next, previous, up 3281 @comment node-name, next, previous, up
3245 @subsection The @code{@@headings} Command 3282 @subsection The @code{@@headings} Command
3246 @findex headings 3283 @findex headings
3247 3284
3248 The @code{@@headings} command is rarely used. It specifies what kind of 3285 The @code{@@headings} command is rarely used. It specifies what kind of
3251 @code{@@headings} command only if the @code{@@setchapternewpage} command 3288 @code{@@headings} command only if the @code{@@setchapternewpage} command
3252 does not do what you want, or if you want to turn off pre-defined page 3289 does not do what you want, or if you want to turn off pre-defined page
3253 headings prior to defining your own. Write an @code{@@headings} command 3290 headings prior to defining your own. Write an @code{@@headings} command
3254 immediately after the @code{@@end titlepage} command.@refill 3291 immediately after the @code{@@end titlepage} command.@refill
3255 3292
3256 There are four ways to use the @code{@@headings} command:@refill 3293 You can use @code{@@headings} as follows:@refill
3257 3294
3258 @table @code 3295 @table @code
3259 @item @@headings off 3296 @item @@headings off
3260 Turn off printing of page headings.@refill 3297 Turn off printing of page headings.@refill
3261 3298
3262 @item @@headings single 3299 @item @@headings single
3263 Turn on page headings appropriate for single-sided printing. 3300 Turn on page headings appropriate for single-sided printing.
3264 @refill 3301 @refill
3265 3302
3266 @item @@headings double 3303 @item @@headings double
3267 @itemx @@headings on
3268 Turn on page headings appropriate for double-sided printing. The two 3304 Turn on page headings appropriate for double-sided printing. The two
3269 commands, @code{@@headings on} and @code{@@headings double}, are 3305 commands, @code{@@headings on} and @code{@@headings double}, are
3270 synonymous.@refill 3306 synonymous.@refill
3307
3308 @item @@headings singleafter
3309 @itemx @@headings doubleafter
3310 Turn on @code{single} or @code{double} headings, respectively, after the
3311 current page is output.
3312
3313 @item @@headings on
3314 Turn on page headings: @code{single} if @samp{@@setchapternewpage
3315 on}, @code{double} otherwise.
3271 @end table 3316 @end table
3272 3317
3273 For example, suppose you write @code{@@setchapternewpage off} before the 3318 For example, suppose you write @code{@@setchapternewpage off} before the
3274 @code{@@titlepage} command to tell @TeX{} to start a new chapter on the 3319 @code{@@titlepage} command to tell @TeX{} to start a new chapter on the
3275 same page as the end of the last chapter. This command also causes 3320 same page as the end of the last chapter. This command also causes
3302 @cindex Node, `Top' 3347 @cindex Node, `Top'
3303 3348
3304 The `Top' node is the node from which you enter an Info file.@refill 3349 The `Top' node is the node from which you enter an Info file.@refill
3305 3350
3306 A `Top' node should contain a brief description of the Info file and an 3351 A `Top' node should contain a brief description of the Info file and an
3307 extensive, master menu for the whole Info file. 3352 extensive, master menu for the whole Info file.
3308 This helps the reader understand what the Info file is 3353 This helps the reader understand what the Info file is
3309 about. Also, you should write the version number of the program to 3354 about. Also, you should write the version number of the program to
3310 which the Info file applies; or, at least, the edition number.@refill 3355 which the Info file applies; or, at least, the edition number.@refill
3311 3356
3312 The contents of the `Top' node should appear only in the Info file; none 3357 The contents of the `Top' node should appear only in the Info file; none
3354 @@end ifinfo 3399 @@end ifinfo
3355 @end group 3400 @end group
3356 3401
3357 @group 3402 @group
3358 @@menu 3403 @@menu
3359 * Copying:: Texinfo is freely 3404 * Copying:: Texinfo is freely
3360 redistributable. 3405 redistributable.
3361 * Overview:: What is Texinfo? 3406 * Overview:: What is Texinfo?
3362 @dots{} 3407 @dots{}
3363 @end group 3408 @end group
3364 @@end menu 3409 @@end menu
3368 level directory of the whole Info system, which is called @samp{(dir)}. 3413 level directory of the whole Info system, which is called @samp{(dir)}.
3369 The `Next' node refers to the first node that follows the main or master 3414 The `Next' node refers to the first node that follows the main or master
3370 menu, which is usually the copying permissions, introduction, or first 3415 menu, which is usually the copying permissions, introduction, or first
3371 chapter.@refill 3416 chapter.@refill
3372 3417
3373 @node Master Menu Parts, , Title of Top Node, The Top Node 3418 @node Master Menu Parts, , Title of Top Node, The Top Node
3374 @subsection Parts of a Master Menu 3419 @subsection Parts of a Master Menu
3375 @cindex Master menu parts 3420 @cindex Master menu parts
3376 @cindex Parts of a master menu 3421 @cindex Parts of a master menu
3377 3422
3378 A @dfn{master menu} is a detailed main menu listing all the nodes in a 3423 A @dfn{master menu} is a detailed main menu listing all the nodes in a
3395 The third and subsequent parts contain a listing of the other, lower 3440 The third and subsequent parts contain a listing of the other, lower
3396 level nodes, often ordered by chapter. This way, rather than go 3441 level nodes, often ordered by chapter. This way, rather than go
3397 through an intermediary menu, an inquirer can go directly to a 3442 through an intermediary menu, an inquirer can go directly to a
3398 particular node when searching for specific information. These menu 3443 particular node when searching for specific information. These menu
3399 items are not required; add them if you think they are a 3444 items are not required; add them if you think they are a
3400 convenience.@refill 3445 convenience. If you do use them, put @code{@@detailmenu} before the
3446 first one, and @code{@@end detailmenu} after the last; otherwise,
3447 @code{makeinfo} will get confused.
3401 @end itemize 3448 @end itemize
3402 3449
3403 Each section in the menu can be introduced by a descriptive line. So 3450 Each section in the menu can be introduced by a descriptive line. So
3404 long as the line does not begin with an asterisk, it will not be 3451 long as the line does not begin with an asterisk, it will not be
3405 treated as a menu entry. (@xref{Writing a Menu}, for more 3452 treated as a menu entry. (@xref{Writing a Menu}, for more
3409 (but has many more entries):@refill 3456 (but has many more entries):@refill
3410 3457
3411 @example 3458 @example
3412 @group 3459 @group
3413 @@menu 3460 @@menu
3414 * Copying:: Texinfo is freely 3461 * Copying:: Texinfo is freely
3415 redistributable. 3462 redistributable.
3416 * Overview:: What is Texinfo? 3463 * Overview:: What is Texinfo?
3417 * Texinfo Mode:: Special features in GNU Emacs. 3464 * Texinfo Mode:: Special features in GNU Emacs.
3418 @dots{} 3465 @dots{}
3419 @dots{} 3466 @dots{}
3420 @end group 3467 @end group
3421 @group 3468 @group
3422 * Command and Variable Index:: 3469 * Command and Variable Index::
3423 An entry for each @@-command. 3470 An entry for each @@-command.
3424 * Concept Index:: An entry for each concept. 3471 * Concept Index:: An entry for each concept.
3425 @end group 3472 @end group
3426 3473
3427 @group 3474 @group
3475 @@detailmenu
3428 --- The Detailed Node Listing --- 3476 --- The Detailed Node Listing ---
3429 3477
3430 Overview of Texinfo 3478 Overview of Texinfo
3431 3479
3432 * Info Files:: What is an Info file? 3480 * Info Files:: What is an Info file?
3433 * Printed Manuals:: Characteristics of 3481 * Printed Manuals:: Characteristics of
3434 a printed manual. 3482 a printed manual.
3435 @dots{} 3483 @dots{}
3436 @dots{} 3484 @dots{}
3437 @end group 3485 @end group
3438 3486
3439 @group 3487 @group
3440 Using Texinfo Mode 3488 Using Texinfo Mode
3441 3489
3442 * Info on a Region:: Formatting part of a file 3490 * Info on a Region:: Formatting part of a file
3443 for Info. 3491 for Info.
3444 @dots{} 3492 @dots{}
3445 @dots{} 3493 @dots{}
3494 @@end detailmenu
3446 @@end menu 3495 @@end menu
3447 @end group 3496 @end group
3448 @end example 3497 @end example
3449 3498
3450 @node Software Copying Permissions, , The Top Node, Beginning a File 3499 @node Software Copying Permissions, , The Top Node, Beginning a File
3451 @comment node-name, next, previous, up 3500 @comment node-name, next, previous, up
3452 @section Software Copying Permissions 3501 @section Software Copying Permissions
3453 @cindex Software copying permissions 3502 @cindex Software copying permissions
3454 @cindex Copying software 3503 @cindex Copying software
3455 @cindex Distribution 3504 @cindex Distribution
3502 @@contents 3551 @@contents
3503 @@bye 3552 @@bye
3504 @end example 3553 @end example
3505 3554
3506 @menu 3555 @menu
3507 * Printing Indices & Menus:: How to print an index in hardcopy and 3556 * Printing Indices & Menus:: How to print an index in hardcopy and
3508 generate index menus in Info. 3557 generate index menus in Info.
3509 * Contents:: How to create a table of contents. 3558 * Contents:: How to create a table of contents.
3510 * File End:: How to mark the end of a file. 3559 * File End:: How to mark the end of a file.
3511 @end menu 3560 @end menu
3512 3561
3604 to work from. @TeX{} does not know how to do sorting; this is a 3653 to work from. @TeX{} does not know how to do sorting; this is a
3605 deficiency. @TeX{} writes output files of raw index data; use the 3654 deficiency. @TeX{} writes output files of raw index data; use the
3606 @code{texindex} program to convert these files to sorted index files. 3655 @code{texindex} program to convert these files to sorted index files.
3607 (@xref{Format/Print Hardcopy}, for more information.)@refill 3656 (@xref{Format/Print Hardcopy}, for more information.)@refill
3608 @end ignore 3657 @end ignore
3609 @node Contents, File End, Printing Indices & Menus, Ending a File 3658 @node Contents, File End, Printing Indices & Menus, Ending a File
3610 @comment node-name, next, previous, up 3659 @comment node-name, next, previous, up
3611 @section Generating a Table of Contents 3660 @section Generating a Table of Contents
3612 @cindex Table of contents 3661 @cindex Table of contents
3613 @cindex Contents, Table of 3662 @cindex Contents, Table of
3614 @findex contents 3663 @findex contents
3615 @findex summarycontents 3664 @findex summarycontents
3616 @findex shortcontents 3665 @findex shortcontents
3617 3666
3618 The @code{@@chapter}, @code{@@section}, and other structuring commands 3667 The @code{@@chapter}, @code{@@section}, and other structuring commands
3672 3721
3673 Since an Info file uses menus instead of tables of contents, the Info 3722 Since an Info file uses menus instead of tables of contents, the Info
3674 formatting commands ignore the @code{@@contents} and 3723 formatting commands ignore the @code{@@contents} and
3675 @code{@@shortcontents} commands.@refill 3724 @code{@@shortcontents} commands.@refill
3676 3725
3677 @node File End, , Contents, Ending a File 3726 @node File End, , Contents, Ending a File
3678 @comment node-name, next, previous, up 3727 @comment node-name, next, previous, up
3679 @section @code{@@bye} File Ending 3728 @section @code{@@bye} File Ending
3680 @findex bye 3729 @findex bye
3681 3730
3682 An @code{@@bye} command terminates @TeX{} or Info formatting. None of 3731 An @code{@@bye} command terminates @TeX{} or Info formatting. None of
3751 ------------------------------------- 3800 -------------------------------------
3752 | | | 3801 | | |
3753 Chapter 1 Chapter 2 Chapter 3 3802 Chapter 1 Chapter 2 Chapter 3
3754 | | | 3803 | | |
3755 -------- -------- -------- 3804 -------- -------- --------
3756 | | | | | | 3805 | | | | | |
3757 Section Section Section Section Section Section 3806 Section Section Section Section Section Section
3758 1.1 1.2 2.1 2.2 3.1 3.2 3807 1.1 1.2 2.1 2.2 3.1 3.2
3759 3808
3760 @end group 3809 @end group
3761 @end example 3810 @end example
3872 @example 3921 @example
3873 @group 3922 @group
3874 @r{No new pages} 3923 @r{No new pages}
3875 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered} 3924 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered}
3876 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents} 3925 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents}
3877 3926
3878 @@top @@majorheading 3927 @@top @@majorheading
3879 @@chapter @@unnumbered @@appendix @@chapheading 3928 @@chapter @@unnumbered @@appendix @@chapheading
3880 @@section @@unnumberedsec @@appendixsec @@heading 3929 @@section @@unnumberedsec @@appendixsec @@heading
3881 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading 3930 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading
3882 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading 3931 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading
3892 @smallexample 3941 @smallexample
3893 @group 3942 @group
3894 @r{No new pages} 3943 @r{No new pages}
3895 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered} 3944 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered}
3896 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents} 3945 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents}
3897 3946
3898 @@top @@majorheading 3947 @@top @@majorheading
3899 @@chapter @@unnumbered @@appendix @@chapheading 3948 @@chapter @@unnumbered @@appendix @@chapheading
3900 @@section @@unnumberedsec @@appendixsec @@heading 3949 @@section @@unnumberedsec @@appendixsec @@heading
3901 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading 3950 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading
3902 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading 3951 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading
3909 @smallexample 3958 @smallexample
3910 @group 3959 @group
3911 @r{No new pages} 3960 @r{No new pages}
3912 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered} 3961 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered}
3913 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents} 3962 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents}
3914 3963
3915 @@top @@majorheading 3964 @@top @@majorheading
3916 @@chapter @@unnumbered @@appendix @@chapheading 3965 @@chapter @@unnumbered @@appendix @@chapheading
3917 @@section @@unnumberedsec @@appendixsec @@heading 3966 @@section @@unnumberedsec @@appendixsec @@heading
3918 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading 3967 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading
3919 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading 3968 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading
3922 @end iftex 3971 @end iftex
3923 @end ignore 3972 @end ignore
3924 3973
3925 @node makeinfo top, chapter, Structuring Command Types, Structuring 3974 @node makeinfo top, chapter, Structuring Command Types, Structuring
3926 @comment node-name, next, previous, up 3975 @comment node-name, next, previous, up
3927 @section @code{@@top} 3976 @section @code{@@top}
3928 3977
3929 The @code{@@top} command is a special sectioning command that you use 3978 The @code{@@top} command is a special sectioning command that you use
3930 only after an @code{@@node Top} line at the beginning of a Texinfo file. 3979 only after an @code{@@node Top} line at the beginning of a Texinfo file.
3931 The @code{@@top} command tells the @code{makeinfo} formatter 3980 The @code{@@top} command tells the @code{makeinfo} formatter
3932 which node is the `Top' 3981 which node is the `Top'
3933 node. It has the same typesetting effect as @code{@@unnumbered} 3982 node. It has the same typesetting effect as @code{@@unnumbered}
3934 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}). 3983 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}).
3935 For detailed information, see 3984 For detailed information, see
3936 @ref{makeinfo top command, , The @code{@@top} Command}.@refill 3985 @ref{makeinfo top command, , The @code{@@top} Command}.@refill
3962 @example 4011 @example
3963 Chapter Structuring 4012 Chapter Structuring
3964 ******************* 4013 *******************
3965 @end example 4014 @end example
3966 4015
4016 @findex centerchap
4017 Texinfo also provides a command @code{@@centerchap}, which is analogous
4018 to @code{@@unnumbered}, but centers its argument in the printed output.
4019 This kind of stylistic choice is not usually offered by Texinfo.
4020 @c but the Hacker's Dictionary wanted it ...
4021
4022
3967 @node unnumbered & appendix, majorheading & chapheading, chapter, Structuring 4023 @node unnumbered & appendix, majorheading & chapheading, chapter, Structuring
3968 @comment node-name, next, previous, up 4024 @comment node-name, next, previous, up
3969 @section @code{@@unnumbered}, @code{@@appendix} 4025 @section @code{@@unnumbered}, @code{@@appendix}
3970 @findex unnumbered 4026 @findex unnumbered
3971 @findex appendix 4027 @findex appendix
3982 4038
3983 To create an appendix or an unnumbered chapter, write an 4039 To create an appendix or an unnumbered chapter, write an
3984 @code{@@appendix} or @code{@@unnumbered} command at the beginning of a 4040 @code{@@appendix} or @code{@@unnumbered} command at the beginning of a
3985 line and follow it on the same line by the title, as you would if you 4041 line and follow it on the same line by the title, as you would if you
3986 were creating a chapter.@refill 4042 were creating a chapter.@refill
4043
3987 4044
3988 @node majorheading & chapheading, section, unnumbered & appendix, Structuring 4045 @node majorheading & chapheading, section, unnumbered & appendix, Structuring
3989 @section @code{@@majorheading}, @code{@@chapheading} 4046 @section @code{@@majorheading}, @code{@@chapheading}
3990 @findex majorheading 4047 @findex majorheading
3991 @findex chapheading 4048 @findex chapheading
4105 In a printed manual, subsections are listed in the table of contents 4162 In a printed manual, subsections are listed in the table of contents
4106 and are numbered three levels deep.@refill 4163 and are numbered three levels deep.@refill
4107 4164
4108 @node unnumberedsubsec appendixsubsec subheading, subsubsection, subsection, Structuring 4165 @node unnumberedsubsec appendixsubsec subheading, subsubsection, subsection, Structuring
4109 @comment node-name, next, previous, up 4166 @comment node-name, next, previous, up
4110 @section The @code{@@subsection}-like Commands 4167 @section The @code{@@subsection}-like Commands
4111 @cindex Subsection-like commands 4168 @cindex Subsection-like commands
4112 @findex unnumberedsubsec 4169 @findex unnumberedsubsec
4113 @findex appendixsubsec 4170 @findex appendixsubsec
4114 @findex subheading 4171 @findex subheading
4115 4172
4116 The @code{@@unnumberedsubsec}, @code{@@appendixsubsec}, and 4173 The @code{@@unnumberedsubsec}, @code{@@appendixsubsec}, and
4129 contents.@refill 4186 contents.@refill
4130 4187
4131 @node subsubsection, Raise/lower sections, unnumberedsubsec appendixsubsec subheading, Structuring 4188 @node subsubsection, Raise/lower sections, unnumberedsubsec appendixsubsec subheading, Structuring
4132 @comment node-name, next, previous, up 4189 @comment node-name, next, previous, up
4133 @section The `subsub' Commands 4190 @section The `subsub' Commands
4134 @cindex Subsub commands 4191 @cindex Subsub commands
4135 @findex subsubsection 4192 @findex subsubsection
4136 @findex unnumberedsubsubsec 4193 @findex unnumberedsubsubsec
4137 @findex appendixsubsubsec 4194 @findex appendixsubsubsec
4138 @findex subsubheading 4195 @findex subsubheading
4139 4196
4164 a small heading that will not appear in the table of contents. In 4221 a small heading that will not appear in the table of contents. In
4165 Info, subsubheadings look exactly like ordinary subsubsection 4222 Info, subsubheadings look exactly like ordinary subsubsection
4166 headings.@refill 4223 headings.@refill
4167 @end table 4224 @end table
4168 4225
4169 In Info, `subsub' titles are underlined with periods. 4226 In Info, `subsub' titles are underlined with periods.
4170 For example,@refill 4227 For example,@refill
4171 4228
4172 @example 4229 @example
4173 @@subsubsection This is a subsubsection 4230 @@subsubsection This is a subsubsection
4174 @end example 4231 @end example
4181 This is a subsubsection 4238 This is a subsubsection
4182 ....................... 4239 .......................
4183 @end group 4240 @end group
4184 @end example 4241 @end example
4185 4242
4186 @node Raise/lower sections, , subsubsection, Structuring 4243 @node Raise/lower sections, , subsubsection, Structuring
4187 @comment node-name, next, previous, up 4244 @comment node-name, next, previous, up
4188 @section @code{@@raisesections} and @code{@@lowersections} 4245 @section @code{@@raisesections} and @code{@@lowersections}
4189 @findex @@raisesections 4246 @findex raisesections
4190 @findex @@lowersections 4247 @findex lowersections
4191 @cindex Raising and lowering sections 4248 @cindex Raising and lowering sections
4192 @cindex Sections, raising and lowering 4249 @cindex Sections, raising and lowering
4193 4250
4194 The @code{@@raisesections} and @code{@@lowersections} commands raise and 4251 The @code{@@raisesections} and @code{@@lowersections} commands raise and
4195 lower the hierarchical level of chapters, sections, subsections and the 4252 lower the hierarchical level of chapters, sections, subsections and the
4196 like. The @code{@@raisesections} command changes sections to chapters, 4253 like. The @code{@@raisesections} command changes sections to chapters,
4197 subsections to sections, and so on. The @code{@@lowersections} command 4254 subsections to sections, and so on. The @code{@@lowersections} command
4262 pointers and menus provide structure for Info files just as chapters, 4319 pointers and menus provide structure for Info files just as chapters,
4263 sections, subsections, and the like, provide structure for printed 4320 sections, subsections, and the like, provide structure for printed
4264 books.@refill 4321 books.@refill
4265 4322
4266 @menu 4323 @menu
4267 * Two Paths:: Different commands to structure 4324 * Two Paths:: Different commands to structure
4268 Info output and printed output. 4325 Info output and printed output.
4269 * Node Menu Illustration:: A diagram, and sample nodes and menus. 4326 * Node Menu Illustration:: A diagram, and sample nodes and menus.
4270 * node:: How to write a node, in detail. 4327 * node:: How to write a node, in detail.
4271 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}. 4328 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}.
4272 @end menu 4329 @end menu
4324 ------------------------------------- 4381 -------------------------------------
4325 | | | 4382 | | |
4326 Chapter 1 Chapter 2 Chapter 3 4383 Chapter 1 Chapter 2 Chapter 3
4327 | | | 4384 | | |
4328 -------- -------- -------- 4385 -------- -------- --------
4329 | | | | | | 4386 | | | | | |
4330 Section Section Section Section Section Section 4387 Section Section Section Section Section Section
4331 1.1 1.2 2.1 2.2 3.1 3.2 4388 1.1 1.2 2.1 2.2 3.1 3.2
4332 4389
4333 @end group 4390 @end group
4334 @end example 4391 @end example
4366 4423
4367 @example 4424 @example
4368 @group 4425 @group
4369 @@menu 4426 @@menu
4370 * Sect. 2.1:: Description of this section. 4427 * Sect. 2.1:: Description of this section.
4371 * Sect. 2.2:: 4428 * Sect. 2.2::
4372 @@end menu 4429 @@end menu
4373 @end group 4430 @end group
4374 @end example 4431 @end example
4375 4432
4376 Write the node for Sect. 2.1 like this:@refill 4433 Write the node for Sect. 2.1 like this:@refill
4460 * Node Names:: How to choose node and pointer names. 4517 * Node Names:: How to choose node and pointer names.
4461 * Writing a Node:: How to write an @code{@@node} line. 4518 * Writing a Node:: How to write an @code{@@node} line.
4462 * Node Line Tips:: Keep names short. 4519 * Node Line Tips:: Keep names short.
4463 * Node Line Requirements:: Keep names unique, without @@-commands. 4520 * Node Line Requirements:: Keep names unique, without @@-commands.
4464 * First Node:: How to write a `Top' node. 4521 * First Node:: How to write a `Top' node.
4465 * makeinfo top command:: How to use the @code{@@top} command. 4522 * makeinfo top command:: How to use the @code{@@top} command.
4466 * Top Node Summary:: Write a brief description for readers. 4523 * Top Node Summary:: Write a brief description for readers.
4467 @end menu 4524 @end menu
4468 4525
4469 @node Node Names, Writing a Node, node, node 4526 @node Node Names, Writing a Node, node, node
4470 @ifinfo 4527 @ifinfo
4526 @@node @var{node-name}, @var{next}, @var{previous}, @var{up} 4583 @@node @var{node-name}, @var{next}, @var{previous}, @var{up}
4527 @end example 4584 @end example
4528 4585
4529 If you wish, you can ignore @code{@@node} lines altogether in your first 4586 If you wish, you can ignore @code{@@node} lines altogether in your first
4530 draft and then use the @code{texinfo-insert-node-lines} command to 4587 draft and then use the @code{texinfo-insert-node-lines} command to
4531 create @code{@@node} lines for you. However, we do not 4588 create @code{@@node} lines for you. However, we do not
4532 recommend this practice. It is better to name the node itself 4589 recommend this practice. It is better to name the node itself
4533 at the same time that you 4590 at the same time that you
4534 write a segment so you can easily make cross references. A large number 4591 write a segment so you can easily make cross references. A large number
4535 of cross references are an especially important feature of a good Info 4592 of cross references are an especially important feature of a good Info
4536 file.@refill 4593 file.@refill
4537 4594
4622 4679
4623 @need 700 4680 @need 700
4624 For example, the following is a section title: 4681 For example, the following is a section title:
4625 4682
4626 @smallexample 4683 @smallexample
4627 @@code@{@@@@unnumberedsec@}, @@code@{@@@@appendixsec@}, @@code@{@@@@heading@} 4684 @@code@{@@@@unnumberedsec@}, @@code@{@@@@appendixsec@}, @@code@{@@@@heading@}
4628 @end smallexample 4685 @end smallexample
4629 4686
4630 @noindent 4687 @noindent
4631 The corresponding node name is: 4688 The corresponding node name is:
4632 4689
4639 Case is significant. 4696 Case is significant.
4640 @end itemize 4697 @end itemize
4641 4698
4642 @node First Node, makeinfo top command, Node Line Requirements, node 4699 @node First Node, makeinfo top command, Node Line Requirements, node
4643 @comment node-name, next, previous, up 4700 @comment node-name, next, previous, up
4644 @subsection The First Node 4701 @subsection The First Node
4645 @cindex @samp{@r{Top}} node is first 4702 @cindex @samp{@r{Top}} node is first
4646 @cindex First node 4703 @cindex First node
4647 4704
4648 The first node of a Texinfo file is the `Top' node, except in an 4705 The first node of a Texinfo file is the `Top' node, except in an
4649 included file (@pxref{Include Files}). 4706 included file (@pxref{Include Files}).
4695 @code{@@unnumbered} after the @code{@@node Top} line when you use 4752 @code{@@unnumbered} after the @code{@@node Top} line when you use
4696 these formatters. Also, you can use @code{@@chapter} or 4753 these formatters. Also, you can use @code{@@chapter} or
4697 @code{@@unnumbered} when you use the Texinfo updating commands to 4754 @code{@@unnumbered} when you use the Texinfo updating commands to
4698 create or update pointers and menus.@refill 4755 create or update pointers and menus.@refill
4699 4756
4700 @node Top Node Summary, , makeinfo top command, node 4757 @node Top Node Summary, , makeinfo top command, node
4701 @subsection The `Top' Node Summary 4758 @subsection The `Top' Node Summary
4702 @cindex @samp{@r{Top}} node summary 4759 @cindex @samp{@r{Top}} node summary
4703 4760
4704 You can help readers by writing a summary in the `Top' node, after the 4761 You can help readers by writing a summary in the `Top' node, after the
4705 @code{@@top} line, before the main or master menu. The summary should 4762 @code{@@top} line, before the main or master menu. The summary should
4724 frequently than the program or is independent of it, you should also 4781 frequently than the program or is independent of it, you should also
4725 include an edition number for the manual. (The title page should also 4782 include an edition number for the manual. (The title page should also
4726 contain this information: see @ref{titlepage, , 4783 contain this information: see @ref{titlepage, ,
4727 @code{@@titlepage}}.)@refill 4784 @code{@@titlepage}}.)@refill
4728 4785
4729 @node makeinfo Pointer Creation, , node, Nodes 4786 @node makeinfo Pointer Creation, , node, Nodes
4730 @section Creating Pointers with @code{makeinfo} 4787 @section Creating Pointers with @code{makeinfo}
4731 @cindex Creating pointers with @code{makeinfo} 4788 @cindex Creating pointers with @code{makeinfo}
4732 @cindex Pointer creation with @code{makeinfo} 4789 @cindex Pointer creation with @code{makeinfo}
4733 @cindex Automatic pointer creation with @code{makeinfo} 4790 @cindex Automatic pointer creation with @code{makeinfo}
4734 4791
4832 * Menu Location:: Put a menu in a short node. 4889 * Menu Location:: Put a menu in a short node.
4833 * Writing a Menu:: What is a menu? 4890 * Writing a Menu:: What is a menu?
4834 * Menu Parts:: A menu entry has three parts. 4891 * Menu Parts:: A menu entry has three parts.
4835 * Less Cluttered Menu Entry:: Two part menu entry. 4892 * Less Cluttered Menu Entry:: Two part menu entry.
4836 * Menu Example:: Two and three part entries. 4893 * Menu Example:: Two and three part entries.
4837 * Other Info Files:: How to refer to a different 4894 * Other Info Files:: How to refer to a different
4838 Info file. 4895 Info file.
4839 @@end menu 4896 @@end menu
4840 4897
4841 @@node Menu Location, Writing a Menu, , Menus 4898 @@node Menu Location, Writing a Menu, , Menus
4842 @@ifinfo 4899 @@ifinfo
4843 @@heading Menus Need Short Nodes 4900 @@heading Menus Need Short Nodes
4844 @@end ifinfo 4901 @@end ifinfo
4845 @end group 4902 @end group
4846 @end example 4903 @end example
4865 @group 4922 @group
4866 @@menu 4923 @@menu
4867 Larger Units of Text 4924 Larger Units of Text
4868 4925
4869 * Files:: All about handling files. 4926 * Files:: All about handling files.
4870 * Multiples: Buffers. Multiple buffers; editing 4927 * Multiples: Buffers. Multiple buffers; editing
4871 several files at once. 4928 several files at once.
4872 @@end menu 4929 @@end menu
4873 @end group 4930 @end group
4874 @end example 4931 @end example
4875 4932
4990 @group 5047 @group
4991 @@menu 5048 @@menu
4992 Larger Units of Text 5049 Larger Units of Text
4993 5050
4994 * Files:: All about handling files. 5051 * Files:: All about handling files.
4995 * Multiples: Buffers. Multiple buffers; editing 5052 * Multiples: Buffers. Multiple buffers; editing
4996 several files at once. 5053 several files at once.
4997 @@end menu 5054 @@end menu
4998 @end group 5055 @end group
4999 @end example 5056 @end example
5000 5057
5006 @group 5063 @group
5007 * menu: 5064 * menu:
5008 Larger Units of Text 5065 Larger Units of Text
5009 5066
5010 * Files:: All about handling files. 5067 * Files:: All about handling files.
5011 * Multiples: Buffers. Multiple buffers; editing 5068 * Multiples: Buffers. Multiple buffers; editing
5012 several files at once. 5069 several files at once.
5013 @end group 5070 @end group
5014 @end example 5071 @end example
5015 5072
5016 In this example, the menu has two entries. @samp{Files} is both a menu 5073 In this example, the menu has two entries. @samp{Files} is both a menu
5021 5078
5022 Since no file name is specified with either @samp{Files} or 5079 Since no file name is specified with either @samp{Files} or
5023 @samp{Buffers}, they must be the names of nodes in the same Info file 5080 @samp{Buffers}, they must be the names of nodes in the same Info file
5024 (@pxref{Other Info Files, , Referring to Other Info Files}).@refill 5081 (@pxref{Other Info Files, , Referring to Other Info Files}).@refill
5025 5082
5026 @node Other Info Files, , Menu Example, Menus 5083 @node Other Info Files, , Menu Example, Menus
5027 @comment node-name, next, previous, up 5084 @comment node-name, next, previous, up
5028 @section Referring to Other Info Files 5085 @section Referring to Other Info Files
5029 @cindex Referring to other Info files 5086 @cindex Referring to other Info files
5030 @cindex Nodes in other Info files 5087 @cindex Nodes in other Info files
5031 @cindex Other Info files' nodes 5088 @cindex Other Info files' nodes
5055 menu like this:@refill 5112 menu like this:@refill
5056 5113
5057 @example 5114 @example
5058 @group 5115 @group
5059 @@menu 5116 @@menu
5060 * Outlining: (emacs)Outline Mode. The major mode for 5117 * Outlining: (emacs)Outline Mode. The major mode for
5061 editing outlines. 5118 editing outlines.
5062 * Rebinding: (emacs)Rebinding. How to redefine the 5119 * Rebinding: (emacs)Rebinding. How to redefine the
5063 meaning of a key. 5120 meaning of a key.
5064 @@end menu 5121 @@end menu
5065 @end group 5122 @end group
5066 @end example 5123 @end example
5067 5124
5076 For example: 5133 For example:
5077 5134
5078 @example 5135 @example
5079 @group 5136 @group
5080 * Info: (info). Documentation browsing system. 5137 * Info: (info). Documentation browsing system.
5081 * Emacs: (emacs). The extensible, self-documenting 5138 * Emacs: (emacs). The extensible, self-documenting
5082 text editor. 5139 text editor.
5083 @end group 5140 @end group
5084 @end example 5141 @end example
5085 5142
5086 @noindent 5143 @noindent
5221 @need 700 5278 @need 700
5222 Here is an example of a full five-part cross reference:@refill 5279 Here is an example of a full five-part cross reference:@refill
5223 5280
5224 @example 5281 @example
5225 @group 5282 @group
5226 @@xref@{Node name, Cross Reference Name, Particular Topic, 5283 @@xref@{Node name, Cross Reference Name, Particular Topic,
5227 info-file-name, A Printed Manual@}, for details. 5284 info-file-name, A Printed Manual@}, for details.
5228 @end group 5285 @end group
5229 @end example 5286 @end example
5230 5287
5231 @noindent 5288 @noindent
5462 @example 5519 @example
5463 *Note Lightning: Electrical Effects. 5520 *Note Lightning: Electrical Effects.
5464 @end example 5521 @end example
5465 5522
5466 @noindent 5523 @noindent
5467 and 5524 and
5468 5525
5469 @quotation 5526 @quotation
5470 See Section 5.2 [Electrical Effects], page 57. 5527 See Section 5.2 [Electrical Effects], page 57.
5471 @end quotation 5528 @end quotation
5472 5529
5485 @example 5542 @example
5486 *Note Lightning: Electrical Effects, for more info. 5543 *Note Lightning: Electrical Effects, for more info.
5487 @end example 5544 @end example
5488 5545
5489 @noindent 5546 @noindent
5490 and 5547 and
5491 5548
5492 @quotation 5549 @quotation
5493 See Section 5.2 [Electrical Effects], page 57, for more info. 5550 See Section 5.2 [Electrical Effects], page 57, for more info.
5494 @end quotation 5551 @end quotation
5495 5552
5588 5645
5589 @smallexample 5646 @smallexample
5590 @@xref@{Sample Program@}. 5647 @@xref@{Sample Program@}.
5591 @@xref@{Glossary@}. 5648 @@xref@{Glossary@}.
5592 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}. 5649 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}.
5593 @@xref@{Close Output, , Closing Output Files and Pipes@}, 5650 @@xref@{Close Output, , Closing Output Files and Pipes@},
5594 for more information. 5651 for more information.
5595 @@xref@{Regexp, , Regular Expressions as Patterns@}. 5652 @@xref@{Regexp, , Regular Expressions as Patterns@}.
5596 @end smallexample 5653 @end smallexample
5597 5654
5598 @node Four and Five Arguments, , Three Arguments, xref 5655 @node Four and Five Arguments, , Three Arguments, xref
5599 @subsection @code{@@xref} with Four and Five Arguments 5656 @subsection @code{@@xref} with Four and Five Arguments
5600 5657
5601 In a cross reference, a fourth argument specifies the name of another 5658 In a cross reference, a fourth argument specifies the name of another
5602 Info file, different from the file in which the reference appears, and 5659 Info file, different from the file in which the reference appears, and
5603 a fifth argument specifies its title as a printed manual.@refill 5660 a fifth argument specifies its title as a printed manual.@refill
5620 @need 700 5677 @need 700
5621 @noindent 5678 @noindent
5622 For example, 5679 For example,
5623 5680
5624 @example 5681 @example
5625 @@xref@{Electrical Effects, Lightning, Thunder and Lightning, 5682 @@xref@{Electrical Effects, Lightning, Thunder and Lightning,
5626 weather, An Introduction to Meteorology@}, for details. 5683 weather, An Introduction to Meteorology@}, for details.
5627 @end example 5684 @end example
5628 5685
5629 @noindent 5686 @noindent
5630 produces 5687 produces
5679 @need 700 5736 @need 700
5680 @noindent 5737 @noindent
5681 For example, 5738 For example,
5682 5739
5683 @example 5740 @example
5684 @@xref@{Electrical Effects, , Thunder and Lightning, 5741 @@xref@{Electrical Effects, , Thunder and Lightning,
5685 weather, An Introduction to Meteorology@}, for details. 5742 weather, An Introduction to Meteorology@}, for details.
5686 @end example 5743 @end example
5687 5744
5688 @noindent 5745 @noindent
5689 produces 5746 produces
5919 Also, parenthetical cross references look best at the ends of sentences. 5976 Also, parenthetical cross references look best at the ends of sentences.
5920 Although you may write them in the middle of a sentence, that location 5977 Although you may write them in the middle of a sentence, that location
5921 breaks up the flow of text.@refill 5978 breaks up the flow of text.@refill
5922 @end quotation 5979 @end quotation
5923 5980
5924 @node inforef, , pxref, Cross References 5981 @node inforef, , pxref, Cross References
5925 @comment node-name, next, previous, up 5982 @comment node-name, next, previous, up
5926 @section @code{@@inforef} 5983 @section @code{@@inforef}
5927 @cindex Cross references using @code{@@inforef} 5984 @cindex Cross references using @code{@@inforef}
5928 @cindex References using @code{@@inforef} 5985 @cindex References using @code{@@inforef}
5929 @findex inforef 5986 @findex inforef
6051 labelled by commands that tell what kind of object they are, it is easy 6108 labelled by commands that tell what kind of object they are, it is easy
6052 to change the way the Texinfo formatters prepare such text. (Texinfo is 6109 to change the way the Texinfo formatters prepare such text. (Texinfo is
6053 an @emph{intentional} formatting language rather than a @emph{typesetting} 6110 an @emph{intentional} formatting language rather than a @emph{typesetting}
6054 formatting language.)@refill 6111 formatting language.)@refill
6055 6112
6056 For example, in a printed manual, 6113 For example, in a printed manual,
6057 code is usually illustrated in a typewriter font; 6114 code is usually illustrated in a typewriter font;
6058 @code{@@code} tells @TeX{} to typeset this text in this font. But it 6115 @code{@@code} tells @TeX{} to typeset this text in this font. But it
6059 would be easy to change the way @TeX{} highlights code to use another 6116 would be easy to change the way @TeX{} highlights code to use another
6060 font, and this change would not effect how keystroke examples are 6117 font, and this change would not effect how keystroke examples are
6061 highlighted. If straight typesetting commands were used in the body 6118 highlighted. If straight typesetting commands were used in the body
6071 * samp:: How to show a literal sequence of characters. 6128 * samp:: How to show a literal sequence of characters.
6072 * var:: How to indicate a metasyntactic variable. 6129 * var:: How to indicate a metasyntactic variable.
6073 * file:: How to indicate the name of a file. 6130 * file:: How to indicate the name of a file.
6074 * dfn:: How to specify a definition. 6131 * dfn:: How to specify a definition.
6075 * cite:: How to refer to a book that is not in Info. 6132 * cite:: How to refer to a book that is not in Info.
6133 * url:: How to indicate a world wide web reference.
6134 * email:: How to indicate an electronic mail address.
6076 @end menu 6135 @end menu
6077 6136
6078 @node Useful Highlighting, code, Indicating, Indicating 6137 @node Useful Highlighting, code, Indicating, Indicating
6079 @ifinfo 6138 @ifinfo
6080 @subheading Highlighting Commands are Useful 6139 @subheading Highlighting Commands are Useful
6104 Indicate text that is a literal example of a sequence of characters.@refill 6163 Indicate text that is a literal example of a sequence of characters.@refill
6105 6164
6106 @item @@var@{@var{metasyntactic-variable}@} 6165 @item @@var@{@var{metasyntactic-variable}@}
6107 Indicate a metasyntactic variable.@refill 6166 Indicate a metasyntactic variable.@refill
6108 6167
6168 @item @@url@{@var{uniform-resource-locator}@}
6169 Indicate a uniform resource locator for the World Wide Web.
6170
6109 @item @@file@{@var{file-name}@} 6171 @item @@file@{@var{file-name}@}
6110 Indicate the name of a file.@refill 6172 Indicate the name of a file.@refill
6173
6174 @item @@email@{@var{email-address}@}
6175 Indicate an electronic mail address.
6111 6176
6112 @item @@dfn@{@var{term}@} 6177 @item @@dfn@{@var{term}@}
6113 Indicate the introductory or defining use of a term.@refill 6178 Indicate the introductory or defining use of a term.@refill
6114 6179
6115 @item @@cite@{@var{reference}@} 6180 @item @@cite@{@var{reference}@}
6139 6204
6140 Use @code{@@code} for environment variables such as @code{TEXINPUTS}, 6205 Use @code{@@code} for environment variables such as @code{TEXINPUTS},
6141 and other variables.@refill 6206 and other variables.@refill
6142 6207
6143 Use @code{@@code} for command names in command languages that 6208 Use @code{@@code} for command names in command languages that
6144 resemble programming languages, such as Texinfo or the shell. 6209 resemble programming languages, such as Texinfo or the shell.
6145 For example, @code{@@code} and @code{@@samp} are produced by writing 6210 For example, @code{@@code} and @code{@@samp} are produced by writing
6146 @samp{@@code@{@@@@code@}} and @samp{@@code@{@@@@samp@}} in the Texinfo 6211 @samp{@@code@{@@@@code@}} and @samp{@@code@{@@@@samp@}} in the Texinfo
6147 source, respectively.@refill 6212 source, respectively.@refill
6148 6213
6149 Note, however, that you should not use @code{@@code} for shell options 6214 Note, however, that you should not use @code{@@code} for shell options
6232 command. Here, for example, is the way to describe a command that 6297 command. Here, for example, is the way to describe a command that
6233 would be described more verbosely as ``press an @samp{r} and then 6298 would be described more verbosely as ``press an @samp{r} and then
6234 press the @key{RET} key'':@refill 6299 press the @key{RET} key'':@refill
6235 6300
6236 @example 6301 @example
6237 @@kbd@{r @@key@{RET@}@} 6302 @@kbd@{r @@key@{RET@}@}
6238 @end example 6303 @end example
6239 6304
6240 @noindent 6305 @noindent
6241 This produces: @kbd{r @key{RET}} 6306 This produces: @kbd{r @key{RET}}
6242 6307
6243 You also use the @code{@@kbd} command if you are spelling out the letters 6308 You also use the @code{@@kbd} command if you are spelling out the letters
6244 you type; for example:@refill 6309 you type; for example:@refill
6245 6310
6246 @example 6311 @example
6247 To give the @@code@{logout@} command, 6312 To give the @@code@{logout@} command,
6248 type the characters @@kbd@{l o g o u t @@key@{RET@}@}. 6313 type the characters @@kbd@{l o g o u t @@key@{RET@}@}.
6249 @end example 6314 @end example
6250 6315
6251 @noindent 6316 @noindent
6252 This produces: 6317 This produces:
6253 6318
6254 @quotation 6319 @quotation
6255 To give the @code{logout} command, 6320 To give the @code{logout} command,
6256 type the characters @kbd{l o g o u t @key{RET}}. 6321 type the characters @kbd{l o g o u t @key{RET}}.
6257 @end quotation 6322 @end quotation
6258 6323
6259 (Also, this example shows that you can add spaces for clarity. If you 6324 (Also, this example shows that you can add spaces for clarity. If you
6260 really want to mention a space character as one of the characters of 6325 really want to mention a space character as one of the characters of
6281 6346
6282 @example 6347 @example
6283 @@kbd@{C-x @@key@{ESC@}@} 6348 @@kbd@{C-x @@key@{ESC@}@}
6284 @end example 6349 @end example
6285 6350
6286 @c bob: this next sentence looks weird, having a semi-colon followed by 6351 Here is a list of the recommended names for keys:
6287 @c a colon that ends the "sentence".. --mew
6288 Here is a list of the recommended names for keys; they are all in
6289 upper case:@refill
6290 @cindex Recommended names for keys 6352 @cindex Recommended names for keys
6291 @cindex Keys, recommended names 6353 @cindex Keys, recommended names
6292 @cindex Names recommended for keys 6354 @cindex Names recommended for keys
6293 @cindex Abbreviations for keys 6355 @cindex Abbreviations for keys
6294 6356
6297 @item SPC 6359 @item SPC
6298 Space 6360 Space
6299 @item RET 6361 @item RET
6300 Return 6362 Return
6301 @item LFD 6363 @item LFD
6302 Linefeed 6364 Linefeed (however, since most keyboards nowadays do not have a Linefeed key,
6365 it might be better to call this character @kbd{C-j}.
6303 @item TAB 6366 @item TAB
6304 Tab 6367 Tab
6305 @item BS 6368 @item BS
6306 Backspace 6369 Backspace
6307 @item ESC 6370 @item ESC
6308 Escape 6371 Escape
6309 @item DEL 6372 @item DEL
6310 Delete 6373 Delete
6311 @item SFT 6374 @item SHIFT
6312 Shift 6375 Shift
6313 @item CTL 6376 @item CTRL
6314 Control 6377 Control
6315 @item META 6378 @item META
6316 Meta 6379 Meta
6317 @end table 6380 @end table
6318 @end quotation 6381 @end quotation
6319 6382
6320 There are subtleties to handling words like `meta' or `ctl' that are 6383 @cindex META key
6321 names of shift keys. When mentioning a character in which the shift 6384 There are subtleties to handling words like `meta' or `ctrl' that are
6322 key is used, such as @kbd{Meta-a}, use the @code{@@kbd} command alone; 6385 names of shift keys. When mentioning a character in which the shift key
6323 do not use the @code{@@key} command; but when you are referring to the 6386 is used, such as @kbd{Meta-a}, use the @code{@@kbd} command alone; do
6387 not use the @code{@@key} command; but when you are referring to the
6324 shift key in isolation, use the @code{@@key} command. For example, 6388 shift key in isolation, use the @code{@@key} command. For example,
6325 write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and 6389 write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and
6326 @samp{@@key@{META@}} to produce @key{META}. This is because 6390 @samp{@@key@{META@}} to produce @key{META}.
6327 @kbd{Meta-a} refers to keys that you press on a keyboard, but 6391
6328 @key{META} refers to a key without implying that you press it. In 6392 @c I don't think this is a good explanation.
6329 short, use @code{@@kbd} for what you do, and use @code{@@key} for what 6393 @c I think it will puzzle readers more than it clarifies matters. -- rms.
6330 you talk about: ``Press @code{@@kbd@{M-a@}} to move point to the 6394 @c In other words, use @code{@@kbd} for what you do, and use @code{@@key}
6331 beginning of the sentence. The @code{@@key@{META@}} key is often in the 6395 @c for what you talk about: ``Press @code{@@kbd@{M-a@}} to move point to
6332 lower left of the keyboard.''@refill 6396 @c the beginning of the sentence. The @code{@@key@{META@}} key is often in
6333 @cindex META key 6397 @c the lower left of the keyboard.''@refill
6334 6398
6335 @node samp, var, key, Indicating 6399 @node samp, var, key, Indicating
6336 @comment node-name, next, previous, up 6400 @comment node-name, next, previous, up
6337 @subsection @code{@@samp}@{@var{text}@} 6401 @subsection @code{@@samp}@{@var{text}@}
6338 @findex samp 6402 @findex samp
6342 Enclose the text in braces. The argument appears within single 6406 Enclose the text in braces. The argument appears within single
6343 quotation marks in both the Info file and the printed manual; in 6407 quotation marks in both the Info file and the printed manual; in
6344 addition, it is printed in a fixed-width font.@refill 6408 addition, it is printed in a fixed-width font.@refill
6345 6409
6346 @example 6410 @example
6347 To match @@samp@{foo@} at the end of the line, 6411 To match @@samp@{foo@} at the end of the line,
6348 use the regexp @@samp@{foo$@}. 6412 use the regexp @@samp@{foo$@}.
6349 @end example 6413 @end example
6350 6414
6351 @noindent 6415 @noindent
6352 produces 6416 produces
6370 the string. In the following sentence, for example, the commas and 6434 the string. In the following sentence, for example, the commas and
6371 period are outside of the braces:@refill 6435 period are outside of the braces:@refill
6372 6436
6373 @example 6437 @example
6374 @group 6438 @group
6375 In English, the vowels are @@samp@{a@}, @@samp@{e@}, 6439 In English, the vowels are @@samp@{a@}, @@samp@{e@},
6376 @@samp@{i@}, @@samp@{o@}, @@samp@{u@}, and sometimes 6440 @@samp@{i@}, @@samp@{o@}, @@samp@{u@}, and sometimes
6377 @@samp@{y@}. 6441 @@samp@{y@}.
6378 @end group 6442 @end group
6379 @end example 6443 @end example
6380 6444
6381 @noindent 6445 @noindent
6382 This produces: 6446 This produces:
6383 6447
6384 @quotation 6448 @quotation
6385 In English, the vowels are @samp{a}, @samp{e}, 6449 In English, the vowels are @samp{a}, @samp{e},
6386 @samp{i}, @samp{o}, @samp{u}, and sometimes 6450 @samp{i}, @samp{o}, @samp{u}, and sometimes
6387 @samp{y}. 6451 @samp{y}.
6388 @end quotation 6452 @end quotation
6389 6453
6390 @node var, file, samp, Indicating 6454 @node var, file, samp, Indicating
6391 @comment node-name, next, previous, up 6455 @comment node-name, next, previous, up
6403 @code{@@code} is correct for them. For example, the Lisp variable 6467 @code{@@code} is correct for them. For example, the Lisp variable
6404 @code{texinfo-tex-command} is not a metasyntactic variable; it is 6468 @code{texinfo-tex-command} is not a metasyntactic variable; it is
6405 properly formatted using @code{@@code}.@refill 6469 properly formatted using @code{@@code}.@refill
6406 6470
6407 The effect of @code{@@var} in the Info file is to change the case of 6471 The effect of @code{@@var} in the Info file is to change the case of
6408 the argument to all upper case; in the printed manual, to italicize it. 6472 the argument to all upper case; in the printed manual, to italicize it.
6409 6473
6410 @need 700 6474 @need 700
6411 For example, 6475 For example,
6412 6476
6413 @example 6477 @example
6414 To delete file @@var@{filename@}, 6478 To delete file @@var@{filename@},
6415 type @@code@{rm @@var@{filename@}@}. 6479 type @@code@{rm @@var@{filename@}@}.
6416 @end example 6480 @end example
6417 6481
6418 @noindent 6482 @noindent
6419 produces 6483 produces
6474 6538
6475 Currently, @code{@@file} is equivalent to @code{@@samp} in its effects. 6539 Currently, @code{@@file} is equivalent to @code{@@samp} in its effects.
6476 For example,@refill 6540 For example,@refill
6477 6541
6478 @example 6542 @example
6479 The @@file@{.el@} files are in 6543 The @@file@{.el@} files are in
6480 the @@file@{/usr/local/emacs/lisp@} directory. 6544 the @@file@{/usr/local/emacs/lisp@} directory.
6481 @end example 6545 @end example
6482 6546
6483 @noindent 6547 @noindent
6484 produces 6548 produces
6485 6549
6486 @quotation 6550 @quotation
6487 The @file{.el} files are in 6551 The @file{.el} files are in
6488 the @file{/usr/local/emacs/lisp} directory. 6552 the @file{/usr/local/emacs/lisp} directory.
6489 @end quotation 6553 @end quotation
6490 6554
6491 @node dfn, cite, file, Indicating 6555 @node dfn, cite, file, Indicating
6492 @comment node-name, next, previous, up 6556 @comment node-name, next, previous, up
6515 As a general rule, a sentence containing the defining occurrence of a 6579 As a general rule, a sentence containing the defining occurrence of a
6516 term should be a definition of the term. The sentence does not need 6580 term should be a definition of the term. The sentence does not need
6517 to say explicitly that it is a definition, but it should contain the 6581 to say explicitly that it is a definition, but it should contain the
6518 information of a definition---it should make the meaning clear. 6582 information of a definition---it should make the meaning clear.
6519 6583
6520 @node cite, , dfn, Indicating 6584 @node cite, url, dfn, Indicating
6521 @comment node-name, next, previous, up 6585 @comment node-name, next, previous, up
6522 @subsection @code{@@cite}@{@var{reference}@} 6586 @subsection @code{@@cite}@{@var{reference}@}
6523 @findex cite 6587 @findex cite
6524 6588
6525 Use the @code{@@cite} command for the name of a book that lacks a 6589 Use the @code{@@cite} command for the name of a book that lacks a
6527 manual, and quotation marks in the Info file.@refill 6591 manual, and quotation marks in the Info file.@refill
6528 6592
6529 (If a book is written in Texinfo, it is better to use a cross reference 6593 (If a book is written in Texinfo, it is better to use a cross reference
6530 command since a reader can easily follow such a reference in Info. 6594 command since a reader can easily follow such a reference in Info.
6531 @xref{xref, , @code{@@xref}}.)@refill 6595 @xref{xref, , @code{@@xref}}.)@refill
6596
6532 @ignore 6597 @ignore
6533 6598 @c node ctrl, , cite, Indicating
6534 @c node ctrl, , cite, Indicating
6535 @comment node-name, next, previous, up 6599 @comment node-name, next, previous, up
6536 @c subsection @code{@@ctrl}@{@var{ctrl-char}@} 6600 @c subsection @code{@@ctrl}@{@var{ctrl-char}@}
6537 @findex ctrl 6601 @findex ctrl
6538 6602
6539 The @code{@@ctrl} command is seldom used. It describes an @sc{ascii} 6603 The @code{@@ctrl} command is seldom used. It describes an @sc{ascii}
6540 control character by inserting the actual character into the Info 6604 control character by inserting the actual character into the Info
6541 file. 6605 file.
6542 6606
6543 Usually, in Texinfo, you talk what you type as keyboard entry by 6607 Usually, in Texinfo, you talk what you type as keyboard entry by
6544 describing it with @code{@@kbd}: thus, @samp{@@kbd@{C-a@}} for 6608 describing it with @code{@@kbd}: thus, @samp{@@kbd@{C-a@}} for
6545 @kbd{C-a}. Use @code{@@kbd} in this way when talking about a control 6609 @kbd{C-a}. Use @code{@@kbd} in this way when talking about a control
6546 character that is typed on the keyboard by the user. When talking 6610 character that is typed on the keyboard by the user. When talking
6577 In a printed manual, @code{@@ctrl} generates text to describe or 6641 In a printed manual, @code{@@ctrl} generates text to describe or
6578 identify that control character: an uparrow followed by the character 6642 identify that control character: an uparrow followed by the character
6579 @var{ch}.@refill 6643 @var{ch}.@refill
6580 @end ignore 6644 @end ignore
6581 6645
6582 @node Emphasis, , Indicating, Marking Text 6646 @node url, email, cite, Indicating
6647 @subsection @code{@@url}@{@var{uniform-resource-locator}@}
6648 @findex url
6649
6650 Use the @code{@@url} command to indicate a uniform resource locator on
6651 the World Wide Web. For example:
6652
6653 @c Two lines because one is too long for smallbook format.
6654 @example
6655 The official GNU ftp site is
6656 @@url@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}.
6657 @end example
6658
6659 In Info and @TeX{}, this acts like @code{@@samp}. When
6660 Texinfo is converted to HTML, this produces a link you can follow.
6661
6662 @node email, , url, Indicating
6663 @subsection @code{@@email}@{@var{email-address}@}
6664 @findex email
6665
6666 Use the @code{@@email} command to indicate an electronic mail address.
6667 For example:
6668
6669 @example
6670 Send bug reports to @email{bug-texinfo@@prep.ai.mit.edu}.
6671 @end example
6672
6673 In Info and @TeX{}, this acts like @code{@@samp}. When we have support
6674 for conversion of Texinfo to HTML, this will produce a link you can
6675 follow to bring up a mail composition window initialized with
6676 @var{email-address}.
6677
6678 @node Emphasis, , Indicating, Marking Text
6583 @comment node-name, next, previous, up 6679 @comment node-name, next, previous, up
6584 @section Emphasizing Text 6680 @section Emphasizing Text
6585 @cindex Emphasizing text 6681 @cindex Emphasizing text
6586 6682
6587 Usually, Texinfo changes the font to mark words in the text according to 6683 Usually, Texinfo changes the font to mark words in the text according to
6627 @iftex 6723 @iftex
6628 @noindent 6724 @noindent
6629 produces the following in printed output: 6725 produces the following in printed output:
6630 6726
6631 @quotation 6727 @quotation
6632 @strong{Caution}: @code{rm * .[^.]*} removes @emph{all} 6728 @strong{Caution}: @code{rm * .[^.]*} removes @emph{all}
6633 files in the directory. 6729 files in the directory.
6634 @end quotation 6730 @end quotation
6635 6731
6636 @noindent 6732 @noindent
6637 and the following in Info: 6733 and the following in Info:
6640 @noindent 6736 @noindent
6641 produces: 6737 produces:
6642 @end ifinfo 6738 @end ifinfo
6643 6739
6644 @example 6740 @example
6645 *Caution*: `rm * .[^.]*' removes *all* 6741 *Caution*: `rm * .[^.]*' removes *all*
6646 files in the directory. 6742 files in the directory.
6647 @end example 6743 @end example
6648 6744
6649 The @code{@@strong} command is seldom used except to mark what is, in 6745 The @code{@@strong} command is seldom used except to mark what is, in
6650 effect, a typographical element, such as the word `Caution' in the 6746 effect, a typographical element, such as the word `Caution' in the
6756 6852
6757 If possible, you should avoid using the other three font commands. If 6853 If possible, you should avoid using the other three font commands. If
6758 you need to use one, it probably indicates a gap in the Texinfo 6854 you need to use one, it probably indicates a gap in the Texinfo
6759 language.@refill 6855 language.@refill
6760 6856
6761 @node Customized Highlighting, , Fonts, Emphasis 6857 @node Customized Highlighting, , Fonts, Emphasis
6762 @comment node-name, next, previous, up 6858 @comment node-name, next, previous, up
6763 @subsection Customized Highlighting 6859 @subsection Customized Highlighting
6764 @findex @@definfoenclose
6765 @cindex `Enclosure' command for Info
6766 @cindex Highlighting, customized 6860 @cindex Highlighting, customized
6767 @cindex Customized highlighting 6861 @cindex Customized highlighting
6768 6862
6863 @c I think this whole section is obsolete with the advent of macros
6864 @c --karl, 15sep96.
6769 You can use regular @TeX{} commands inside of @code{@@iftex} @dots{} 6865 You can use regular @TeX{} commands inside of @code{@@iftex} @dots{}
6770 @code{@@end iftex} to create your own customized highlighting commands 6866 @code{@@end iftex} to create your own customized highlighting commands
6771 for Texinfo. The easiest way to do this is to equate your customized 6867 for Texinfo. The easiest way to do this is to equate your customized
6772 commands with pre-existing commands, such as those for italics. Such 6868 commands with pre-existing commands, such as those for italics. Such
6773 new commands work only with @TeX{}.@refill 6869 new commands work only with @TeX{}.@refill
6774 6870
6871 @findex definfoenclose
6872 @cindex Enclosure command for Info
6775 You can use the @code{@@definfoenclose} command inside of 6873 You can use the @code{@@definfoenclose} command inside of
6776 @code{@@ifinfo} @dots{} @code{@@end ifinfo} to define commands for Info 6874 @code{@@ifinfo} @dots{} @code{@@end ifinfo} to define commands for Info
6777 with the same names as new commands for @TeX{}. 6875 with the same names as new commands for @TeX{}.
6778 @code{@@definfoenclose} creates new commands for Info that mark text by 6876 @code{@@definfoenclose} creates new commands for Info that mark text by
6779 enclosing it in strings that precede and follow the text. 6877 enclosing it in strings that precede and follow the text.
6799 6897
6800 @noindent 6898 @noindent
6801 This defines @code{@@phoo} as a command that causes @TeX{} to typeset 6899 This defines @code{@@phoo} as a command that causes @TeX{} to typeset
6802 the argument to @code{@@phoo} in italics. @code{@@global@@let} tells 6900 the argument to @code{@@phoo} in italics. @code{@@global@@let} tells
6803 @TeX{} to equate the next argument with the argument that follows the 6901 @TeX{} to equate the next argument with the argument that follows the
6804 equals sign. 6902 equals sign.
6805 6903
6806 @need 1300 6904 @need 1300
6807 For Info, write the following to tell the Info formatters to enclose the 6905 For Info, write the following to tell the Info formatters to enclose the
6808 argument between @samp{//} and @samp{\\}: 6906 argument between @samp{//} and @samp{\\}:
6809 6907
6816 @end example 6914 @end example
6817 6915
6818 @noindent 6916 @noindent
6819 Write the @code{@@definfoenclose} command on a line and follow it with 6917 Write the @code{@@definfoenclose} command on a line and follow it with
6820 three arguments separated by commas (commas are used as separators in an 6918 three arguments separated by commas (commas are used as separators in an
6821 @code{@@node} line in the same way).@refill 6919 @code{@@node} line in the same way).@refill
6822 6920
6823 @itemize @bullet 6921 @itemize @bullet
6824 @item 6922 @item
6825 The first argument to @code{@@definfoenclose} is the @@-command name 6923 The first argument to @code{@@definfoenclose} is the @@-command name
6826 @strong{without} the @samp{@@}; 6924 @strong{without} the @samp{@@};
6827 6925
6828 @item 6926 @item
6829 the second argument is the Info start delimiter string; and, 6927 the second argument is the Info start delimiter string; and,
6830 6928
6831 @item 6929 @item
6832 the third argument is the Info end delimiter string. 6930 the third argument is the Info end delimiter string.
6833 @end itemize 6931 @end itemize
6834 6932
6835 @noindent 6933 @noindent
6836 The latter two arguments enclose the highlighted text in the Info file. 6934 The latter two arguments enclose the highlighted text in the Info file.
6837 A delimiter string may contain spaces. Neither the start nor end 6935 A delimiter string may contain spaces. Neither the start nor end
6852 6950
6853 Note that each definition applies to its own formatter: one for @TeX{}, 6951 Note that each definition applies to its own formatter: one for @TeX{},
6854 the other for Info. 6952 the other for Info.
6855 6953
6856 @need 1200 6954 @need 1200
6857 Here is another example: 6955 Here is another example:
6858 6956
6859 @example 6957 @example
6860 @group 6958 @group
6861 @@ifinfo 6959 @@ifinfo
6862 @@definfoenclose headword, , : 6960 @@definfoenclose headword, , :
6888 @code{@@end example} on a line by itself, at the beginning of that 6986 @code{@@end example} on a line by itself, at the beginning of that
6889 line.@refill 6987 line.@refill
6890 @findex end 6988 @findex end
6891 6989
6892 @menu 6990 @menu
6893 * Block Enclosing Commands:: Use different constructs for 6991 * Block Enclosing Commands:: Use different constructs for
6894 different purposes. 6992 different purposes.
6895 * quotation:: How to write a quotation. 6993 * quotation:: How to write a quotation.
6896 * example:: How to write an example in a fixed-width font. 6994 * example:: How to write an example in a fixed-width font.
6897 * noindent:: How to prevent paragraph indentation. 6995 * noindent:: How to prevent paragraph indentation.
6898 * Lisp Example:: How to illustrate Lisp code. 6996 * Lisp Example:: How to illustrate Lisp code.
6918 @item @@example 7016 @item @@example
6919 Illustrate code, commands, and the like. The text is printed 7017 Illustrate code, commands, and the like. The text is printed
6920 in a fixed-width font, and indented but not filled.@refill 7018 in a fixed-width font, and indented but not filled.@refill
6921 7019
6922 @item @@lisp 7020 @item @@lisp
6923 Illustrate Lisp code. The text is printed in a fixed-width font, 7021 Illustrate Lisp code. The text is printed in a fixed-width font,
6924 and indented but not filled.@refill 7022 and indented but not filled.@refill
6925 7023
6926 @item @@smallexample 7024 @item @@smallexample
6927 Illustrate code, commands, and the like. Similar to 7025 Illustrate code, commands, and the like. Similar to
6928 @code{@@example}, except that in @TeX{} this command typesets text in 7026 @code{@@example}, except that in @TeX{} this command typesets text in
6942 Print illustrative text. The text is not indented and not filled 7040 Print illustrative text. The text is not indented and not filled
6943 and no font is specified (so, by default, the font is roman).@refill 7041 and no font is specified (so, by default, the font is roman).@refill
6944 @end table 7042 @end table
6945 7043
6946 The @code{@@exdent} command is used within the above constructs to 7044 The @code{@@exdent} command is used within the above constructs to
6947 undo the indentation of a line. 7045 undo the indentation of a line.
6948 7046
6949 The @code{@@flushleft} and @code{@@flushright} commands are used to line 7047 The @code{@@flushleft} and @code{@@flushright} commands are used to line
6950 up the left or right margins of unfilled text.@refill 7048 up the left or right margins of unfilled text.@refill
6951 7049
6952 The @code{@@noindent} command may be used after one of the above 7050 The @code{@@noindent} command may be used after one of the above
7019 not part of the running text, such as computer input or output.@refill 7117 not part of the running text, such as computer input or output.@refill
7020 7118
7021 @example 7119 @example
7022 @group 7120 @group
7023 This is an example of text written between an 7121 This is an example of text written between an
7024 @code{@@example} command 7122 @code{@@example} command
7025 and an @code{@@end example} command. 7123 and an @code{@@end example} command.
7026 The text is indented but not filled. 7124 The text is indented but not filled.
7027 @end group 7125 @end group
7028 7126
7029 @group 7127 @group
7101 @group 7199 @group
7102 @@example 7200 @@example
7103 This is an example 7201 This is an example
7104 @@end example 7202 @@end example
7105 7203
7106 @@noindent 7204 @@noindent
7107 This line is not indented. As you can see, the 7205 This line is not indented. As you can see, the
7108 beginning of the line is fully flush left with the line 7206 beginning of the line is fully flush left with the line
7109 that follows after it. (This whole example is between 7207 that follows after it. (This whole example is between
7110 @@code@{@@@@display@} and @@code@{@@@@end display@}.) 7208 @@code@{@@@@display@} and @@code@{@@@@end display@}.)
7111 @end group 7209 @end group
7166 itself.@refill 7264 itself.@refill
7167 7265
7168 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples 7266 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples
7169 @comment node-name, next, previous, up 7267 @comment node-name, next, previous, up
7170 @section @code{@@smallexample} and @code{@@smalllisp} 7268 @section @code{@@smallexample} and @code{@@smalllisp}
7171 @cindex Small book example 7269 @cindex Small book example
7172 @cindex Example for a small book 7270 @cindex Example for a small book
7173 @cindex Lisp example for a small book 7271 @cindex Lisp example for a small book
7174 @findex smallexample 7272 @findex smallexample
7175 @findex smalllisp 7273 @findex smalllisp
7176 7274
7206 @ifclear smallbook 7304 @ifclear smallbook
7207 @display 7305 @display
7208 @tex 7306 @tex
7209 % Remove extra vskip; this is a kludge to counter the effect of display 7307 % Remove extra vskip; this is a kludge to counter the effect of display
7210 \vskip-3\baselineskip 7308 \vskip-3\baselineskip
7211 {\ninett 7309 {\ninett
7212 \dots{} to make sure that you have the freedom to 7310 \dots{} to make sure that you have the freedom to
7213 distribute copies of free software (and charge for 7311 distribute copies of free software (and charge for
7214 this service if you wish), that you receive source 7312 this service if you wish), that you receive source
7215 code or can get it if you want it, that you can 7313 code or can get it if you want it, that you can
7216 change the software or use pieces of it in new free 7314 change the software or use pieces of it in new free
7217 programs; and that you know you can do these things.} 7315 programs; and that you know you can do these things.}
7218 @end tex 7316 @end tex
7219 @end display 7317 @end display
7220 @end ifclear 7318 @end ifclear
7221 @end iftex 7319 @end iftex
7280 fixed-width font and does not narrow the margins.@refill 7378 fixed-width font and does not narrow the margins.@refill
7281 7379
7282 @format 7380 @format
7283 This is an example of text written between an @code{@@format} command 7381 This is an example of text written between an @code{@@format} command
7284 and an @code{@@end format} command. As you can see 7382 and an @code{@@end format} command. As you can see
7285 from this example, 7383 from this example,
7286 the @code{@@format} command does not fill the text. 7384 the @code{@@format} command does not fill the text.
7287 @end format 7385 @end format
7288 7386
7289 @node exdent, flushleft & flushright, format, Quotations and Examples 7387 @node exdent, flushleft & flushright, format, Quotations and Examples
7290 @section @code{@@exdent}: Undoing a Line's Indentation 7388 @section @code{@@exdent}: Undoing a Line's Indentation
7342 For example, 7440 For example,
7343 7441
7344 @example 7442 @example
7345 @group 7443 @group
7346 @@flushleft 7444 @@flushleft
7347 This text is 7445 This text is
7348 written flushleft. 7446 written flushleft.
7349 @@end flushleft 7447 @@end flushleft
7350 @end group 7448 @end group
7351 @end example 7449 @end example
7352 7450
7353 @noindent 7451 @noindent
7354 produces 7452 produces
7355 7453
7356 @quotation 7454 @quotation
7357 @flushleft 7455 @flushleft
7358 This text is 7456 This text is
7359 written flushleft. 7457 written flushleft.
7360 @end flushleft 7458 @end flushleft
7361 @end quotation 7459 @end quotation
7362 7460
7363 7461
7370 7468
7371 @example 7469 @example
7372 @group 7470 @group
7373 @@flushright 7471 @@flushright
7374 Here is an example of text written 7472 Here is an example of text written
7375 flushright. The @@code@{@@flushright@} command 7473 flushright. The @@code@{@@flushright@} command
7376 right justifies every line but leaves the 7474 right justifies every line but leaves the
7377 left end ragged. 7475 left end ragged.
7378 @@end flushright 7476 @@end flushright
7379 @end group 7477 @end group
7380 @end example 7478 @end example
7387 flushright. The @code{@@flushright} command 7485 flushright. The @code{@@flushright} command
7388 right justifies every line but leaves the 7486 right justifies every line but leaves the
7389 left end ragged. 7487 left end ragged.
7390 @end flushright 7488 @end flushright
7391 7489
7392 @node cartouche, , flushleft & flushright, Quotations and Examples 7490 @node cartouche, , flushleft & flushright, Quotations and Examples
7393 @section Drawing Cartouches Around Examples 7491 @section Drawing Cartouches Around Examples
7394 @findex cartouche 7492 @findex cartouche
7395 @cindex Box with rounded corners 7493 @cindex Box with rounded corners
7396 7494
7397 In a printed manual, the @code{@@cartouche} command draws a box with 7495 In a printed manual, the @code{@@cartouche} command draws a box with
7402 7500
7403 The @code{@@cartouche} command affects only the printed manual; it has 7501 The @code{@@cartouche} command affects only the printed manual; it has
7404 no effect in the Info file.@refill 7502 no effect in the Info file.@refill
7405 7503
7406 @need 1500 7504 @need 1500
7407 For example, 7505 For example,
7408 7506
7409 @example 7507 @example
7410 @group 7508 @group
7411 @@example 7509 @@example
7412 @@cartouche 7510 @@cartouche
7448 @menu 7546 @menu
7449 * Introducing Lists:: Texinfo formats lists for you. 7547 * Introducing Lists:: Texinfo formats lists for you.
7450 * itemize:: How to construct a simple list. 7548 * itemize:: How to construct a simple list.
7451 * enumerate:: How to construct a numbered list. 7549 * enumerate:: How to construct a numbered list.
7452 * Two-column Tables:: How to construct a two-column table. 7550 * Two-column Tables:: How to construct a two-column table.
7551 * Multi-column Tables:: How to construct generalized tables.
7453 @end menu 7552 @end menu
7454 7553
7455 @ifinfo 7554 @ifinfo
7456 @node Introducing Lists, itemize, Lists and Tables, Lists and Tables 7555 @node Introducing Lists, itemize, Lists and Tables, Lists and Tables
7457 @heading Introducing Lists 7556 @heading Introducing Lists
7480 @sp 1 7579 @sp 1
7481 @noindent 7580 @noindent
7482 Here is an itemized list of the different kinds of table and lists:@refill 7581 Here is an itemized list of the different kinds of table and lists:@refill
7483 7582
7484 @itemize @bullet 7583 @itemize @bullet
7485 @item 7584 @item
7486 Itemized lists with and without bullets. 7585 Itemized lists with and without bullets.
7487 7586
7488 @item 7587 @item
7489 Enumerated lists, using numbers or letters. 7588 Enumerated lists, using numbers or letters.
7490 7589
7491 @item 7590 @item
7492 Two-column tables with highlighting. 7591 Two-column tables with highlighting.
7493 @end itemize 7592 @end itemize
7494 7593
7495 @sp 1 7594 @sp 1
7496 @noindent 7595 @noindent
7497 Here is an enumerated list with the same items:@refill 7596 Here is an enumerated list with the same items:@refill
7498 7597
7499 @enumerate 7598 @enumerate
7500 @item 7599 @item
7501 Itemized lists with and without bullets. 7600 Itemized lists with and without bullets.
7502 7601
7503 @item 7602 @item
7504 Enumerated lists, using numbers or letters. 7603 Enumerated lists, using numbers or letters.
7505 7604
7506 @item 7605 @item
7507 Two-column tables with highlighting. 7606 Two-column tables with highlighting.
7508 @end enumerate 7607 @end enumerate
7509 7608
7510 @sp 1 7609 @sp 1
7511 @noindent 7610 @noindent
7520 Enumerated lists, using numbers or letters. 7619 Enumerated lists, using numbers or letters.
7521 7620
7522 @item @@table 7621 @item @@table
7523 @itemx @@ftable 7622 @itemx @@ftable
7524 @itemx @@vtable 7623 @itemx @@vtable
7525 Two-column tables with highlighting. 7624 Two-column tables with indexing.
7526 @end table 7625 @end table
7527 7626
7528 @node itemize, enumerate, Introducing Lists, Lists and Tables 7627 @node itemize, enumerate, Introducing Lists, Lists and Tables
7529 @comment node-name, next, previous, up 7628 @comment node-name, next, previous, up
7530 @section Making an Itemized List 7629 @section Making an Itemized List
7531 @cindex Itemization 7630 @cindex Itemization
7532 @findex itemize 7631 @findex itemize
7533 7632
7534 The @code{@@itemize} command produces sequences of indented 7633 The @code{@@itemize} command produces sequences of indented
7535 paragraphs, with a bullet or other mark inside the left margin 7634 paragraphs, with a bullet or other mark inside the left margin
7536 at the beginning of each paragraph for which such a mark is desired.@refill 7635 at the beginning of each paragraph for which such a mark is desired.@refill
7537 7636
7538 Begin an itemized list by writing @code{@@itemize} at the beginning of 7637 Begin an itemized list by writing @code{@@itemize} at the beginning of
7539 a line. Follow the command, on the same line, with a character or a 7638 a line. Follow the command, on the same line, with a character or a
7540 Texinfo command that generates a mark. Usually, you will write 7639 Texinfo command that generates a mark. Usually, you will write
7641 7740
7642 @code{@@enumerate} is like @code{@@itemize} except that the marks in 7741 @code{@@enumerate} is like @code{@@itemize} except that the marks in
7643 the left margin contain successive integers or letters. 7742 the left margin contain successive integers or letters.
7644 (@xref{itemize, , @code{@@itemize}}.)@refill 7743 (@xref{itemize, , @code{@@itemize}}.)@refill
7645 7744
7646 Write the @code{@@enumerate} command at the beginning of a line. 7745 Write the @code{@@enumerate} command at the beginning of a line.
7647 The command does not require an argument, but accepts either a number or 7746 The command does not require an argument, but accepts either a number or
7648 a letter as an option. 7747 a letter as an option.
7649 Without an argument, @code{@@enumerate} starts the list 7748 Without an argument, @code{@@enumerate} starts the list
7650 with the number 1. With a numeric argument, such as 3, 7749 with the number 1. With a numeric argument, such as 3,
7651 the command starts the list with that number. 7750 the command starts the list with that number.
7652 With an upper or lower case letter, such as @kbd{a} or @kbd{A}, 7751 With an upper or lower case letter, such as @kbd{a} or @kbd{A},
7653 the command starts the list with that letter.@refill 7752 the command starts the list with that letter.@refill
7654 7753
7655 Write the text of the enumerated list in the same way you write an 7754 Write the text of the enumerated list in the same way you write an
7656 itemized list: put @code{@@item} on a line of its own before the start of 7755 itemized list: put @code{@@item} on a line of its own before the start of
7657 each paragraph that you want enumerated. Do not write any other text on 7756 each paragraph that you want enumerated. Do not write any other text on
7719 @sp 1 7818 @sp 1
7720 Here is a brief summary of the alternatives. The summary is constructed 7819 Here is a brief summary of the alternatives. The summary is constructed
7721 using @code{@@enumerate} with an argument of @kbd{a}.@refill 7820 using @code{@@enumerate} with an argument of @kbd{a}.@refill
7722 @sp 1 7821 @sp 1
7723 @enumerate a 7822 @enumerate a
7724 @item 7823 @item
7725 @code{@@enumerate} 7824 @code{@@enumerate}
7726 7825
7727 Without an argument, produce a numbered list, starting with the number 7826 Without an argument, produce a numbered list, starting with the number
7728 1.@refill 7827 1.@refill
7729 7828
7730 @item 7829 @item
7731 @code{@@enumerate @var{positive-integer}} 7830 @code{@@enumerate @var{positive-integer}}
7732 7831
7733 With a (positive) numeric argument, start a numbered list with that 7832 With a (positive) numeric argument, start a numbered list with that
7734 number. You can use this to continue a list that you interrupted with 7833 number. You can use this to continue a list that you interrupted with
7735 other text.@refill 7834 other text.@refill
7736 7835
7737 @item 7836 @item
7738 @code{@@enumerate @var{upper-case-letter}} 7837 @code{@@enumerate @var{upper-case-letter}}
7739 7838
7740 With an upper case letter as argument, start a list 7839 With an upper case letter as argument, start a list
7741 in which each item is marked 7840 in which each item is marked
7742 by a letter, beginning with that upper case letter.@refill 7841 by a letter, beginning with that upper case letter.@refill
7743 7842
7744 @item 7843 @item
7745 @code{@@enumerate @var{lower-case-letter}} 7844 @code{@@enumerate @var{lower-case-letter}}
7746 7845
7747 With a lower case letter as argument, start a list 7846 With a lower case letter as argument, start a list
7748 in which each item is marked by 7847 in which each item is marked by
7749 a letter, beginning with that lower case letter.@refill 7848 a letter, beginning with that lower case letter.@refill
7750 @end enumerate 7849 @end enumerate
7751 7850
7752 You can also nest enumerated lists, as in an outline.@refill 7851 You can also nest enumerated lists, as in an outline.@refill
7753 7852
7754 @node Two-column Tables, , enumerate, Lists and Tables 7853 @node Two-column Tables, Multi-column Tables, enumerate, Lists and Tables
7755 @comment node-name, next, previous, up
7756 @section Making a Two-column Table 7854 @section Making a Two-column Table
7757 @cindex Tables, making two-column 7855 @cindex Tables, making two-column
7758 @findex table 7856 @findex table
7759 7857
7760 @code{@@table} is similar to @code{@@itemize}, but the command allows 7858 @code{@@table} is similar to @code{@@itemize}, but the command allows
7777 Use the @code{@@table} command to produce two-column tables.@refill 7875 Use the @code{@@table} command to produce two-column tables.@refill
7778 @end ifinfo 7876 @end ifinfo
7779 7877
7780 Write the @code{@@table} command at the beginning of a line and follow 7878 Write the @code{@@table} command at the beginning of a line and follow
7781 it on the same line with an argument that is a Texinfo command such as 7879 it on the same line with an argument that is a Texinfo command such as
7782 @code{@@code}, @code{@@samp}, @code{@@var}, or @code{@@kbd}. 7880 @code{@@code}, @code{@@samp}, @code{@@var}, or @code{@@kbd}.
7783 Although these commands are usually followed by arguments in braces, 7881 Although these commands are usually followed by arguments in braces,
7784 in this case you use the command name without an argument because 7882 in this case you use the command name without an argument because
7785 @code{@@item} will supply the argument. This command will be applied 7883 @code{@@item} will supply the argument. This command will be applied
7786 to the text that goes into the first column of each item and 7884 to the text that goes into the first column of each item and
7787 determines how it will be highlighted. For example, @code{@@samp} 7885 determines how it will be highlighted. For example, @code{@@samp}
7844 text, use the @code{@@itemx} command. (@xref{itemx, , 7942 text, use the @code{@@itemx} command. (@xref{itemx, ,
7845 @code{@@itemx}}.)@refill 7943 @code{@@itemx}}.)@refill
7846 7944
7847 @node ftable vtable, itemx, table, Two-column Tables 7945 @node ftable vtable, itemx, table, Two-column Tables
7848 @comment node-name, next, previous, up 7946 @comment node-name, next, previous, up
7849 @subsection @code{@@ftable} and @code{@@vtable} 7947 @subsection @code{@@ftable} and @code{@@vtable}
7850 @cindex Tables with indexes 7948 @cindex Tables with indexes
7851 @cindex Indexing table entries automatically 7949 @cindex Indexing table entries automatically
7852 @findex ftable 7950 @findex ftable
7853 @findex vtable 7951 @findex vtable
7854 7952
7867 line by an argument that is a Texinfo command such as @code{@@code}, 7965 line by an argument that is a Texinfo command such as @code{@@code},
7868 exactly as you would for an @code{@@table} command; and end the table 7966 exactly as you would for an @code{@@table} command; and end the table
7869 with an @code{@@end ftable} or @code{@@end vtable} command on a line by 7967 with an @code{@@end ftable} or @code{@@end vtable} command on a line by
7870 itself. 7968 itself.
7871 7969
7872 @node itemx, , ftable vtable, Two-column Tables 7970 See the example for @code{@@table} in the previous section.
7971
7972 @node itemx, , ftable vtable, Two-column Tables
7873 @comment node-name, next, previous, up 7973 @comment node-name, next, previous, up
7874 @subsection @code{@@itemx} 7974 @subsection @code{@@itemx}
7875 @cindex Two named items for @code{@@table} 7975 @cindex Two named items for @code{@@table}
7876 @findex itemx 7976 @findex itemx
7877 7977
7909 @end table 8009 @end table
7910 8010
7911 @noindent 8011 @noindent
7912 (Note also that this example illustrates multi-line supporting text in 8012 (Note also that this example illustrates multi-line supporting text in
7913 a two-column table.)@refill 8013 a two-column table.)@refill
8014
8015
8016 @node Multi-column Tables, , Two-column Tables, Lists and Tables
8017 @section Multi-column Tables
8018 @cindex Tables, making multi-column
8019 @findex multitable
8020
8021 @code{@@multitable} allows you to construct tables with any number of
8022 columns, with each column having any width you like.
8023
8024 You define the column widths on the @code{@@multitable} line itself, and
8025 write each row of the actual table following an @code{@@item} command,
8026 with columns separated by an @code{@@tab} command. Finally, @code{@@end
8027 multitable} completes the table. Details in the sections below.
8028
8029 @menu
8030 * Multitable Column Widths:: Defining multitable column widths.
8031 * Multitable Rows:: Defining multitable rows, with examples.
8032 @end menu
8033
8034 @node Multitable Column Widths, Multitable Rows, Multi-column Tables, Multi-column Tables
8035 @subsection Multitable Column Widths
8036 @cindex Multitable column widths
8037 @cindex Column widths, defining for multitables
8038 @cindex Widths, defining multitable column
8039
8040 You can define the column widths for a multitable in two ways: as
8041 fractions of the line length; or with a prototype row. Mixing the two
8042 methods is not supported. In either case, the widths are defined
8043 entirely on the same line as the @code{@@multitable} command.
8044
8045 @enumerate
8046 @item
8047 @findex columnfractions
8048 @cindex Line length, column widths as fraction of
8049 To specify column widths as fractions of the line length, write
8050 @code{@@columnfractions} and the decimal numbers (presumably less than
8051 1) after the @code{@@multitable} command, as in:
8052
8053 @example
8054 @@multitable @@columnfractions .33 .33 .33
8055 @end example
8056
8057 @noindent The fractions need not add up exactly to 1.0, as these do
8058 not. This allows you to produce tables that do not need the full line
8059 length.
8060
8061 @item
8062 @cindex Prototype row, column widths defined by
8063 To specify a prototype row, write the longest entry for each column
8064 enclosed in braces after the @code{@@multitable} command. For example:
8065
8066 @example
8067 @@multitable @{some text for column one@} @{for column two@}
8068 @end example
8069
8070 @noindent
8071 The first column will then have the width of the typeset `some text for
8072 column one', and the second column the width of `for column two'.
8073
8074 The prototype entries need not appear in the table itself.
8075
8076 Although we used simple text in this example, the prototype entries can
8077 contain Texinfo commands; markup commands such as @code{@@code} are
8078 particularly likely to be useful.
8079
8080 @end enumerate
8081
8082
8083 @node Multitable Rows, , Multitable Column Widths, Multi-column Tables
8084 @subsection Multitable Rows
8085 @cindex Multitable rows
8086 @cindex Rows, of a multitable
8087
8088 @findex item
8089 @cindex tab
8090 After the @code{@@multitable} command defining the column widths (see
8091 the previous section), you begin each row in the body of a multitable
8092 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
8094 input lines in your source file as necessary.
8095
8096 Here is a complete example of a multi-column table (the text is from
8097 the GNU Emacs manual):
8098
8099 @example
8100 @@multitable @@columnfractions .15 .45 .4
8101 @@item Key @@tab Command @@tab Description
8102 @@item C-x 2
8103 @@tab @@code@{split-window-vertically@}
8104 @@tab Split the selected window into two windows,
8105 with one above the other.
8106 @@item C-x 3
8107 @@tab @@code@{split-window-horizontally@}
8108 @@tab Split the selected window into two windows
8109 positioned side by side.
8110 @@item C-Mouse-2
8111 @@tab
8112 @@tab In the mode line or scroll bar of a window,
8113 split that window.
8114 @@end multitable
8115 @end example
8116
8117 @noindent produces:
8118
8119 @multitable @columnfractions .15 .45 .4
8120 @item Key @tab Command @tab Description
8121 @item C-x 2
8122 @tab @code{split-window-vertically}
8123 @tab Split the selected window into two windows,
8124 with one above the other.
8125 @item C-x 3
8126 @tab @code{split-window-horizontally}
8127 @tab Split the selected window into two windows
8128 positioned side by side.
8129 @item C-Mouse-2
8130 @tab
8131 @tab In the mode line or scroll bar of a window,
8132 split that window.
8133 @end multitable
8134
7914 8135
7915 @node Indices, Insertions, Lists and Tables, Top 8136 @node Indices, Insertions, Lists and Tables, Top
7916 @comment node-name, next, previous, up 8137 @comment node-name, next, previous, up
7917 @chapter Creating Indices 8138 @chapter Creating Indices
7918 @cindex Indices 8139 @cindex Indices
8073 printed with the usual Texinfo commands, such as @code{@@file} for 8294 printed with the usual Texinfo commands, such as @code{@@file} for
8074 file names and @code{@@emph} for emphasis (@pxref{Marking 8295 file names and @code{@@emph} for emphasis (@pxref{Marking
8075 Text}).@refill 8296 Text}).@refill
8076 @cindex Index font types 8297 @cindex Index font types
8077 8298
8078 @cindex Predefined indexing commands 8299 @cindex Predefined indexing commands
8079 @cindex Indexing commands, predefined 8300 @cindex Indexing commands, predefined
8080 The six indexing commands for predefined indices are: 8301 The six indexing commands for predefined indices are:
8081 8302
8082 @table @code 8303 @table @code
8083 @item @@cindex @var{concept} 8304 @item @@cindex @var{concept}
8084 @findex cindex 8305 @findex cindex
8234 whatever default font is used by the index to which the entries are 8455 whatever default font is used by the index to which the entries are
8235 now directed. This way, if you direct function names from a function 8456 now directed. This way, if you direct function names from a function
8236 index into a concept index, all the function names are printed in the 8457 index into a concept index, all the function names are printed in the
8237 @code{@@code} font as you would expect.@refill 8458 @code{@@code} font as you would expect.@refill
8238 8459
8239 @node synindex, , syncodeindex, Combining Indices 8460 @node synindex, , syncodeindex, Combining Indices
8240 @subsection @code{@@synindex} 8461 @subsection @code{@@synindex}
8241 @findex synindex 8462 @findex synindex
8242 8463
8243 The @code{@@synindex} command is nearly the same as the 8464 The @code{@@synindex} command is nearly the same as the
8244 @code{@@syncodeindex} command, except that it does not put the 8465 @code{@@syncodeindex} command, except that it does not put the
8247 merge a concept index into a function index.@refill 8468 merge a concept index into a function index.@refill
8248 8469
8249 @xref{Printing Indices & Menus}, for information about printing an index 8470 @xref{Printing Indices & Menus}, for information about printing an index
8250 at the end of a book or creating an index menu in an Info file.@refill 8471 at the end of a book or creating an index menu in an Info file.@refill
8251 8472
8252 @node New Indices, , Combining Indices, Indices 8473 @node New Indices, , Combining Indices, Indices
8253 @section Defining New Indices 8474 @section Defining New Indices
8254 @cindex Defining new indices 8475 @cindex Defining new indices
8255 @cindex Indices, defining new 8476 @cindex Indices, defining new
8256 @cindex New index defining 8477 @cindex New index defining
8257 @findex defindex 8478 @findex defindex
8258 @findex defcodeindex 8479 @findex defcodeindex
8259 8480
8260 In addition to the predefined indices, you may use the 8481 In addition to the predefined indices, you may use the
8347 A minus sign. 8568 A minus sign.
8348 @end itemize 8569 @end itemize
8349 @end iftex 8570 @end iftex
8350 8571
8351 @menu 8572 @menu
8352 * Braces Atsigns Periods:: How to insert braces, @samp{@@} and periods. 8573 * Braces Atsigns:: How to insert braces, @samp{@@}.
8353 * dmn:: How to format a dimension. 8574 * Inserting Space:: How to insert the right amount of space
8575 within a sentence.
8576 * Inserting Accents:: How to insert accents and special characters.
8354 * Dots Bullets:: How to insert dots and bullets. 8577 * Dots Bullets:: How to insert dots and bullets.
8355 * TeX and copyright:: How to insert the @TeX{} logo 8578 * TeX and copyright:: How to insert the @TeX{} logo
8356 and the copyright symbol. 8579 and the copyright symbol.
8580 * pounds:: How to insert the pounds currency symbol.
8357 * minus:: How to insert a minus sign. 8581 * minus:: How to insert a minus sign.
8358 * math:: How to format a mathematical expression. 8582 * math:: How to format a mathematical expression.
8359 @end menu 8583 @end menu
8360 8584
8361 @node Braces Atsigns Periods, dmn, Insertions, Insertions 8585
8362 @comment node-name, next, previous, up 8586 @node Braces Atsigns, Inserting Space, Insertions, Insertions
8363 @section Inserting @samp{@@}, Braces, and Periods 8587 @section Inserting @@ and Braces
8364 @cindex Inserting @@, braces, and periods 8588 @cindex Inserting @@, braces
8365 @cindex Braces, inserting 8589 @cindex Braces, inserting
8366 @cindex Periods, inserting 8590 @cindex Special characters, commands to insert
8367 @cindex Single characters, commands to insert 8591 @cindex Commands to insert special characters
8368 @cindex Commands to insert single characters 8592
8369 8593 @samp{@@} and curly braces are special characters in Texinfo. To insert
8370 @samp{@@} and curly braces are special characters in Texinfo. To 8594 these characters so they appear in text, you must put an @samp{@@} in
8371 insert these characters so they appear in text, you must put an @samp{@@} in front 8595 front of these characters to prevent Texinfo from misinterpreting
8372 of these characters to prevent Texinfo from misinterpreting them.@refill 8596 them.
8373
8374 Periods are also special. Depending on whether the period is inside
8375 or at the end of a sentence, less or more space is inserted after a
8376 period in a typeset manual. Since it is not always possible for
8377 Texinfo to determine when a period ends a sentence and when it is used
8378 in an abbreviation, special commands are needed in some circumstances.
8379 (Usually, Texinfo can guess how to handle periods, so you do not need
8380 to use the special commands; you just enter a period as you would if
8381 you were using a typewriter, which means you put two spaces after the
8382 period, question mark, or exclamation mark that ends a
8383 sentence.)@refill
8384 8597
8385 Do not put braces after any of these commands; they are not 8598 Do not put braces after any of these commands; they are not
8386 necessary.@refill 8599 necessary.
8387 8600
8388 @menu 8601 @menu
8389 * Inserting An Atsign:: 8602 * Inserting An Atsign:: How to insert @samp{@@}.
8390 * Inserting Braces:: How to insert @samp{@{} and @samp{@}} 8603 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}.
8391 * Controlling Spacing:: How to insert the right amount of space
8392 after punctuation within a sentence.
8393 @end menu 8604 @end menu
8394 8605
8395 @node Inserting An Atsign, Inserting Braces, Braces Atsigns Periods, Braces Atsigns Periods 8606 @node Inserting An Atsign, Inserting Braces, Braces Atsigns, Braces Atsigns
8396 @comment node-name, next, previous, up
8397 @subsection Inserting @samp{@@} with @@@@ 8607 @subsection Inserting @samp{@@} with @@@@
8398 @findex @@ @r{(single @samp{@@})} 8608 @findex @@ @r{(single @samp{@@})}
8399 8609
8400 @code{@@@@} stands for a single @samp{@@} in either printed or Info 8610 @code{@@@@} stands for a single @samp{@@} in either printed or Info
8401 output.@refill 8611 output.
8402 8612
8403 Do not put braces after an @code{@@@@} command.@refill 8613 Do not put braces after an @code{@@@@} command.
8404 8614
8405 @node Inserting Braces, Controlling Spacing, Inserting An Atsign, Braces Atsigns Periods 8615 @node Inserting Braces, , Inserting An Atsign, Braces Atsigns
8406 @comment node-name, next, previous, up
8407 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@} 8616 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@}
8408 @findex @{ @r{(single @samp{@{})} 8617 @findex @{ @r{(single @samp{@{})}
8409 @findex @} @r{(single @samp{@}})} 8618 @findex @} @r{(single @samp{@}})}
8410 8619
8411 @code{@@@{} stands for a single @samp{@{} in either printed or Info 8620 @code{@@@{} stands for a single @samp{@{} in either printed or Info
8412 output.@refill 8621 output.
8413 8622
8414 @code{@@@}} stands for a single @samp{@}} in either printed or Info 8623 @code{@@@}} stands for a single @samp{@}} in either printed or Info
8415 output.@refill 8624 output.
8416 8625
8417 Do not put braces after either an @code{@@@{} or an @code{@@@}} 8626 Do not put braces after either an @code{@@@{} or an @code{@@@}}
8418 command.@refill 8627 command.
8419 8628
8420 @node Controlling Spacing, , Inserting Braces, Braces Atsigns Periods 8629
8421 @comment node-name, next, previous, up 8630 @node Inserting Space, Inserting Accents, Braces Atsigns, Insertions
8422 @subsection Spacing After Colons and Periods 8631 @section Inserting Space
8632
8633 @cindex Inserting space
8634 @cindex Spacing, inserting
8635 @cindex Whitespace, inserting
8636 The following sections describe commands that control spacing of various
8637 kinds within and after sentences.
8638
8639 @menu
8640 * Not Ending a Sentence:: Sometimes a . doesn't end a sentence.
8641 * Ending a Sentence:: Sometimes it does.
8642 * Multiple Spaces:: Inserting multiple spaces.
8643 * dmn:: How to format a dimension.
8644 @end menu
8645
8646 @node Not Ending a Sentence, Ending a Sentence, Inserting Space, Inserting Space
8647 @subsection Not Ending a Sentence
8648
8649 @cindex Not ending a sentence
8650 @cindex Sentence non-ending punctuation
8651 @cindex Periods, inserting
8652 Depending on whether a period or exclamation point or question mark is
8653 inside or at the end of a sentence, less or more space is inserted after
8654 a period in a typeset manual. Since it is not always possible for
8655 Texinfo to determine when a period ends a sentence and when it is used
8656 in an abbreviation, special commands are needed in some circumstances.
8657 (Usually, Texinfo can guess how to handle periods, so you do not need to
8658 use the special commands; you just enter a period as you would if you
8659 were using a typewriter, which means you put two spaces after the
8660 period, question mark, or exclamation mark that ends a sentence.)
8661
8423 @findex : @r{(suppress widening)} 8662 @findex : @r{(suppress widening)}
8424
8425 Use the @code{@@:}@: command after a period, question mark, 8663 Use the @code{@@:}@: command after a period, question mark,
8426 exclamation mark, or colon that should not be followed by extra space. 8664 exclamation mark, or colon that should not be followed by extra space.
8427 For example, use @code{@@:}@: after periods that end abbreviations 8665 For example, use @code{@@:}@: after periods that end abbreviations
8428 which are not at the ends of sentences. @code{@@:}@: has no effect on 8666 which are not at the ends of sentences. @code{@@:}@: has no effect on
8429 the Info file output.@refill 8667 the Info file output.
8430 8668
8431 @need 700 8669 @need 700
8432 For example, 8670 For example,
8433 8671
8434 @example 8672 @example
8450 The s.o.p.@: has three parts @dots{}@* 8688 The s.o.p.@: has three parts @dots{}@*
8451 The s.o.p. has three parts @dots{} 8689 The s.o.p. has three parts @dots{}
8452 @end quotation 8690 @end quotation
8453 8691
8454 @noindent 8692 @noindent
8455 @kbd{@@:} has no effect on the Info output. (@samp{s.o.p} is an acronym 8693 @kbd{@@:} has no effect on the Info output. (@samp{s.o.p.} is an
8456 for ``Standard Operating Procedure''.) 8694 abbreviation for ``Standard Operating Procedure''.)
8457 8695
8458 @findex . @r{(true end of sentence)} 8696 Do not put braces after @code{@@:}.
8459 Use @code{@@.}@: instead of a period at the end of a sentence that 8697
8460 ends with a single capital letter. Otherwise, @TeX{} will think the 8698
8461 letter is an abbreviation and will not insert the correct 8699 @node Ending a Sentence, Multiple Spaces, Not Ending a Sentence, Inserting Space
8462 end-of-sentence spacing. Here is an example:@refill 8700 @subsection Ending a Sentence
8701
8702 @cindex Ending a Sentence
8703 @cindex Sentence ending punctuation
8704
8705 @findex . @r{(end of sentence)}
8706 @findex ! @r{(end of sentence)}
8707 @findex ? @r{(end of sentence)}
8708 Use @code{@@.}@: instead of a period, @code{@@!}@: instead of an
8709 exclamation point, and @code{@@?}@: instead of a question mark at the end
8710 of a sentence that ends with a single capital letter. Otherwise, @TeX{}
8711 will think the letter is an abbreviation and will not insert the correct
8712 end-of-sentence spacing. Here is an example:
8463 8713
8464 @example 8714 @example
8465 Give it to M.I.B. and to M.E.W@@. Also, give it to R.J.C@@. 8715 Give it to M.I.B. and to M.E.W@@. Also, give it to R.J.C@@.
8466 Give it to M.I.B. and to M.E.W. Also, give it to R.J.C. 8716 Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
8467 @end example 8717 @end example
8471 produces 8721 produces
8472 @end ifinfo 8722 @end ifinfo
8473 @iftex 8723 @iftex
8474 produces the following. If you look carefully at this printed output, 8724 produces the following. If you look carefully at this printed output,
8475 you will see a little more whitespace after the @samp{W} in the first 8725 you will see a little more whitespace after the @samp{W} in the first
8476 line.@refill 8726 line.
8477 @end iftex 8727 @end iftex
8478 8728
8479 @quotation 8729 @quotation
8480 Give it to M.I.B. and to M.E.W@. Also, give it to R.J.C@.@* 8730 Give it to M.I.B. and to M.E.W@. Also, give it to R.J.C@.@*
8481 Give it to M.I.B. and to M.E.W. Also, give it to R.J.C. 8731 Give it to M.I.B. and to M.E.W. Also, give it to R.J.C.
8482 @end quotation 8732 @end quotation
8483 8733
8484 In the Info file output, @code{@@.}@: is equivalent to a simple 8734 In the Info file output, @code{@@.}@: is equivalent to a simple
8485 @samp{.}.@refill 8735 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:.
8486 8736
8487 The meanings of @code{@@:}@: and @code{@@.}@: in Texinfo are designed 8737 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to
8488 to work well with the Emacs sentence motion commands. This made it 8738 work well with the Emacs sentence motion commands (@pxref{Sentences,,,
8489 necessary for them to be incompatible with some other formatting 8739 emacs, GNU Emacs}). This made it necessary for them to be incompatible
8490 systems that use @@-commands.@refill 8740 with some other formatting systems that use @@-commands.
8491 8741
8492 Do not put braces after either an @code{@@:} or an @code{@@.} command.@refill 8742 Do not put braces after any of these commands.
8493 8743
8494 @node dmn, Dots Bullets, Braces Atsigns Periods, Insertions 8744
8495 @section @code{@@dmn}@{@var{dimension}@}: Format a Dimension 8745 @node Multiple Spaces, dmn, Ending a Sentence, Inserting Space
8746 @subsection Multiple Spaces
8747
8748 @cindex Multiple spaces
8749 @cindex Whitespace, inserting
8750 @findex (space)
8751 @findex (tab)
8752 @findex (newline)
8753
8754 Ordinarily, @TeX{} collapses multiple whitespace characters (space, tab,
8755 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
8757 a space; this is why it is important to put two spaces at the end of
8758 sentences in Texinfo documents.)
8759
8760 Occasionally, you may want to actually insert several consecutive
8761 spaces, either for purposes of example (what your program does with
8762 multiple spaces as input), or merely for purposes of appearance in
8763 headings or lists. Texinfo supports three commands: @code{@@ },
8764 @code{@@@kbd{TAB}}, and @code{@@@kbd{NL}}, all of which insert a single
8765 space into the output. (Here, @kbd{TAB} and @kbd{NL} represent the tab
8766 character and end-of-line, i.e., when @samp{@@} is the last character on
8767 a line.)
8768
8769 For example,
8770 @example
8771 Spacey@@ @@ @@ @@
8772 example.
8773 @end example
8774
8775 @noindent produces
8776
8777 @example
8778 Spacey@ @ @ @
8779 example.
8780 @end example
8781
8782 Other possible uses of @code{@@ } have been subsumed by @code{@@multitable}
8783 (@pxref{Multi-column Tables}).
8784
8785 Do not follow any of these commands with braces.
8786
8787
8788 @node dmn, , Multiple Spaces, Inserting Space
8789 @subsection @code{@@dmn}@{@var{dimension}@}: Format a Dimension
8496 @cindex Thin space between number, dimension 8790 @cindex Thin space between number, dimension
8497 @cindex Dimension formatting 8791 @cindex Dimension formatting
8498 @cindex Format a dimension 8792 @cindex Format a dimension
8499 @findex dmn 8793 @findex dmn
8500 8794
8528 @w{@samp{8.27@@dmn@{in@}}} in the Texinfo file, you may write 8822 @w{@samp{8.27@@dmn@{in@}}} in the Texinfo file, you may write
8529 @w{@samp{8.27 in.}} or @w{@samp{8.27 inches}}. (In these cases, the 8823 @w{@samp{8.27 in.}} or @w{@samp{8.27 inches}}. (In these cases, the
8530 formatters may insert a line break between the number and the 8824 formatters may insert a line break between the number and the
8531 dimension. Also, if you write a period after an abbreviation within a 8825 dimension. Also, if you write a period after an abbreviation within a
8532 sentence, you should write @samp{@@:} after the period to prevent 8826 sentence, you should write @samp{@@:} after the period to prevent
8533 @TeX{} from inserting extra whitespace. @xref{Controlling Spacing, , 8827 @TeX{} from inserting extra whitespace. @xref{Inserting Space}.
8534 Spacing After Colons and Periods}.)@refill 8828
8535 8829
8536 @node Dots Bullets, TeX and copyright, dmn, Insertions 8830 @node Inserting Accents, Dots Bullets, Inserting Space, Insertions
8537 @comment node-name, next, previous, up 8831 @section Inserting Accents
8832
8833 @cindex Inserting accents
8834 @cindex Accents, inserting
8835 @cindex Floating accents, inserting
8836
8837 Here is a table with the commands Texinfo provides for inserting
8838 floating accents. The commands with non-alphabetic names do not take
8839 braces around their argument (which is taken to be the next character).
8840 (Exception: @code{@@,} @emph{does} take braces around its argument.)
8841 This is so as to make the source as convenient to type and read as
8842 possible, since accented characters are very common in some languages.
8843
8844 @findex "
8845 @cindex Umlaut accent
8846 @findex '
8847 @cindex Acute accent
8848 @findex =
8849 @cindex Macron accent
8850 @findex ^
8851 @cindex Circumflex accent
8852 @findex `
8853 @cindex Grave accent
8854 @findex ~
8855 @cindex Tilde accent
8856 @findex ,
8857 @cindex Cedilla accent
8858 @findex dotaccent
8859 @cindex Dot accent
8860 @findex H
8861 @cindex Hungariam umlaut accent
8862 @findex ringaccent
8863 @cindex Ring accent
8864 @findex tieaccent
8865 @cindex Tie-after accent
8866 @findex u
8867 @cindex Breve accent
8868 @findex ubaraccent
8869 @cindex Underbar accent
8870 @findex udotaccent
8871 @cindex Underdot accent
8872 @findex v
8873 @cindex Check accent
8874 @multitable {@@questiondown@{@}} {Output} {macron/overbar accent}
8875 @item Command @tab Output @tab What
8876 @item @t{@@"o} @tab @"o @tab umlaut accent
8877 @item @t{@@'o} @tab @'o @tab acute accent
8878 @item @t{@@,@{c@}} @tab @,{c} @tab cedilla accent
8879 @item @t{@@=o} @tab @=o @tab macron/overbar accent
8880 @item @t{@@^o} @tab @^o @tab circumflex accent
8881 @item @t{@@`o} @tab @`o @tab grave accent
8882 @item @t{@@~o} @tab @~o @tab tilde accent
8883 @item @t{@@dotaccent@{o@}} @tab @dotaccent{o} @tab overdot accent
8884 @item @t{@@H@{o@}} @tab @H{o} @tab long Hungarian umlaut
8885 @item @t{@@ringaccent@{o@}} @tab @ringaccent{o} @tab ring accent
8886 @item @t{@@tieaccent@{oo@}} @tab @tieaccent{oo} @tab tie-after accent
8887 @item @t{@@u@{o@}} @tab @u{o} @tab breve accent
8888 @item @t{@@ubaraccent@{o@}} @tab @ubaraccent{o} @tab underbar accent
8889 @item @t{@@udotaccent@{o@}} @tab @udotaccent{o} @tab underdot accent
8890 @item @t{@@v@{o@}} @tab @v{o} @tab hacek or check accent
8891 @end multitable
8892
8893 This table lists the Texinfo commands for inserting other characters
8894 commonly used in languages other than English.
8895
8896 @findex questiondown
8897 @cindex @questiondown{}
8898 @findex exclamdown
8899 @cindex @exclamdown{}
8900 @findex aa
8901 @cindex @aa{}
8902 @findex AA
8903 @cindex @AA{}
8904 @findex ae
8905 @cindex @ae{}
8906 @findex AE
8907 @cindex @AE{}
8908 @findex dotless
8909 @cindex @dotless{i}
8910 @cindex @dotless{j}
8911 @cindex Dotless i, j
8912 @findex l
8913 @cindex @l{}
8914 @findex L
8915 @cindex @L{}
8916 @findex o
8917 @cindex @o{}
8918 @findex O
8919 @cindex @O{}
8920 @findex oe
8921 @cindex @oe{}
8922 @findex OE
8923 @cindex @OE{}
8924 @findex ss
8925 @cindex @ss{}
8926 @cindex Es-zet
8927 @cindex Sharp S
8928 @cindex German S
8929 @multitable {@@questiondown@{@}} {oe,OE} {es-zet or sharp S}
8930 @item @t{@@exclamdown@{@}} @tab @exclamdown{} @tab upside-down !
8931 @item @t{@@questiondown@{@}} @tab @questiondown{} @tab upside-down ?
8932 @item @t{@@aa@{@},@@AA@{@}} @tab @aa{},@AA{} @tab A,a with circle
8933 @item @t{@@ae@{@},@@AE@{@}} @tab @ae{},@AE{} @tab ae,AE ligatures
8934 @item @t{@@dotless@{i@}} @tab @dotless{i} @tab dotless i
8935 @item @t{@@dotless@{j@}} @tab @dotless{j} @tab dotless j
8936 @item @t{@@l@{@},@@L@{@}} @tab @l{},@L{} @tab suppressed-L,l
8937 @item @t{@@o@{@},@@O@{@}} @tab @o{},@O{} @tab O,o with slash
8938 @item @t{@@oe@{@},@@OE@{@}} @tab @oe{},@OE{} @tab OE,oe ligatures
8939 @item @t{@@ss@{@}} @tab @ss{} @tab es-zet or sharp S
8940 @end multitable
8941
8942
8943 @node Dots Bullets, TeX and copyright, Inserting Accents, Insertions
8538 @section Inserting Ellipsis, Dots, and Bullets 8944 @section Inserting Ellipsis, Dots, and Bullets
8539 @cindex Dots, inserting 8945 @cindex Dots, inserting
8540 @cindex Bullets, inserting 8946 @cindex Bullets, inserting
8541 @cindex Ellipsis, inserting 8947 @cindex Ellipsis, inserting
8542 @cindex Inserting ellipsis 8948 @cindex Inserting ellipsis
8567 8973
8568 Use the @code{@@dots@{@}} command to generate an ellipsis, which is 8974 Use the @code{@@dots@{@}} command to generate an ellipsis, which is
8569 three dots in a row, appropriately spaced, like this: `@dots{}'. Do 8975 three dots in a row, appropriately spaced, like this: `@dots{}'. Do
8570 not simply write three periods in the input file; that would work for 8976 not simply write three periods in the input file; that would work for
8571 the Info file output, but would produce the wrong amount of space 8977 the Info file output, but would produce the wrong amount of space
8572 between the periods in the printed manual.@refill 8978 between the periods in the printed manual.
8573 8979
8574 Similarly, the @code{@@enddots@{@}} command helps you correctly set an 8980 Similarly, the @code{@@enddots@{@}} command generates an
8575 end-of-sentence ellipsis (four dots). 8981 end-of-sentence ellipsis (four dots) @enddots{}
8576 8982
8577 @iftex 8983 @iftex
8578 Here is an ellipsis: @dots{} 8984 Here is an ellipsis: @dots{}
8579
8580 Here are three periods in a row: ... 8985 Here are three periods in a row: ...
8581 8986
8582 In printed output, the three periods in a row are closer together than 8987 In printed output, the three periods in a row are closer together than
8583 the dots in the ellipsis. 8988 the dots in the ellipsis.
8584 @end iftex 8989 @end iftex
8585 8990
8586 @node bullet, , dots, Dots Bullets 8991 @node bullet, , dots, Dots Bullets
8587 @comment node-name, next, previous, up 8992 @comment node-name, next, previous, up
8588 @subsection @code{@@bullet}@{@} 8993 @subsection @code{@@bullet}@{@}
8589 @findex bullet 8994 @findex bullet
8590 8995
8591 Use the @code{@@bullet@{@}} command to generate a large round dot, or 8996 Use the @code{@@bullet@{@}} command to generate a large round dot, or
8592 the closest possible thing to one. In Info, an asterisk is used.@refill 8997 the closest possible thing to one. In Info, an asterisk is used.@refill
8593 8998
8594 Here is a bullet: @bullet{} 8999 Here is a bullet: @bullet{}
8595 9000
8596 When you use @code{@@bullet} in @code{@@itemize}, you do not need to 9001 When you use @code{@@bullet} in @code{@@itemize}, you do not need to
8597 type the braces, because @code{@@itemize} supplies them. 9002 type the braces, because @code{@@itemize} supplies them.
8598 (@xref{itemize, , @code{@@itemize}}.)@refill 9003 (@xref{itemize, , @code{@@itemize}}.)@refill
8599 9004
8600 @node TeX and copyright, minus, Dots Bullets, Insertions 9005 @node TeX and copyright, pounds, Dots Bullets, Insertions
8601 @comment node-name, next, previous, up 9006 @comment node-name, next, previous, up
8602 @section Inserting @TeX{} and the Copyright Symbol 9007 @section Inserting @TeX{} and the Copyright Symbol
8603 9008
8604 The logo `@TeX{}' is typeset in a special fashion and it needs an 9009 The logo `@TeX{}' is typeset in a special fashion and it needs an
8605 @@-command. The copyright symbol, `@copyright{}', is also special. 9010 @@-command. The copyright symbol, `@copyright{}', is also special.
8619 9024
8620 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed 9025 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed
8621 manual, this is a special logo that is different from three ordinary 9026 manual, this is a special logo that is different from three ordinary
8622 letters. In Info, it just looks like @samp{TeX}. The 9027 letters. In Info, it just looks like @samp{TeX}. The
8623 @code{@@TeX@{@}} command is unique among Texinfo commands in that the 9028 @code{@@TeX@{@}} command is unique among Texinfo commands in that the
8624 @key{T} and the @key{X} are in upper case.@refill 9029 @kbd{T} and the @kbd{X} are in upper case.@refill
8625 9030
8626 @node copyright symbol, , tex, TeX and copyright 9031 @node copyright symbol, , tex, TeX and copyright
8627 @comment node-name, next, previous, up 9032 @comment node-name, next, previous, up
8628 @subsection @code{@@copyright}@{@} 9033 @subsection @code{@@copyright}@{@}
8629 @findex copyright 9034 @findex copyright
8630 9035
8631 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In 9036 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In
8632 a printed manual, this is a @samp{c} inside a circle, and in Info, 9037 a printed manual, this is a @samp{c} inside a circle, and in Info,
8633 this is @samp{(C)}.@refill 9038 this is @samp{(C)}.@refill
8634 9039
8635 @node minus, math, TeX and copyright, Insertions 9040 @node pounds, minus, TeX and copyright, Insertions
9041 @section @code{@@pounds}@{@}
9042 @findex pounds
9043
9044 Use the @code{@@pounds@{@}} command to generate `@pounds{}'. In a
9045 printed manual, this is the symbol for the currency pounds sterling.
9046 In Info, it is a @samp{#}. Other currency symbols are unfortunately not
9047 available.
9048
9049 @node minus, math, pounds, Insertions
8636 @section @code{@@minus}@{@}: Inserting a Minus Sign 9050 @section @code{@@minus}@{@}: Inserting a Minus Sign
8637 @findex minus 9051 @findex minus
8638 9052
8639 Use the @code{@@minus@{@}} command to generate a minus sign. In a 9053 Use the @code{@@minus@{@}} command to generate a minus sign. In a
8640 fixed-width font, this is a single hyphen, but in a proportional font, 9054 fixed-width font, this is a single hyphen, but in a proportional font,
8659 9073
8660 When you use @code{@@minus} to specify the mark beginning each entry in 9074 When you use @code{@@minus} to specify the mark beginning each entry in
8661 an itemized list, you do not need to type the braces 9075 an itemized list, you do not need to type the braces
8662 (@pxref{itemize, , @code{@@itemize}}.)@refill 9076 (@pxref{itemize, , @code{@@itemize}}.)@refill
8663 9077
8664 @node math, , minus, Insertions 9078 @node math, , minus, Insertions
8665 @comment node-name, next, previous, up 9079 @comment node-name, next, previous, up
8666 @section @code{@@math}: Inserting Mathematical Expressions 9080 @section @code{@@math}: Inserting Mathematical Expressions
8667 @findex math 9081 @findex math
8668 @cindex Mathematical expressions 9082 @cindex Mathematical expressions
8669 9083
8706 mathematical expression between one or two @samp{$} (dollar-signs) as 9120 mathematical expression between one or two @samp{$} (dollar-signs) as
8707 appropriate. 9121 appropriate.
8708 9122
8709 @node Glyphs, Breaks, Insertions, Top 9123 @node Glyphs, Breaks, Insertions, Top
8710 @comment node-name, next, previous, up 9124 @comment node-name, next, previous, up
8711 @chapter Glyphs for Examples 9125 @chapter Glyphs for Examples
8712 @cindex Glyphs 9126 @cindex Glyphs
8713 9127
8714 In Texinfo, code is often illustrated in examples that are delimited 9128 In Texinfo, code is often illustrated in examples that are delimited
8715 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and 9129 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and
8716 @code{@@end lisp}. In such examples, you can indicate the results of 9130 @code{@@end lisp}. In such examples, you can indicate the results of
8717 evaluation or an expansion using @samp{@result{}} or 9131 evaluation or an expansion using @samp{@result{}} or
8718 @samp{@expansion{}}. Likewise, there are commands to insert glyphs 9132 @samp{@expansion{}}. Likewise, there are commands to insert glyphs
8719 to indicate 9133 to indicate
8720 printed output, error messages, equivalence of expressions, and the 9134 printed output, error messages, equivalence of expressions, and the
8721 location of point.@refill 9135 location of point.@refill
8722 9136
8723 The glyph-insertion commands do not need to be used within an example, but 9137 The glyph-insertion commands do not need to be used within an example, but
8831 @result{} c 9245 @result{} c
8832 @end group 9246 @end group
8833 @end lisp 9247 @end lisp
8834 9248
8835 @noindent 9249 @noindent
8836 which may be read as: 9250 which may be read as:
8837 9251
8838 @quotation 9252 @quotation
8839 @code{(third '(a b c))} expands to @code{(car (cdr (cdr '(a b c))))}; 9253 @code{(third '(a b c))} expands to @code{(car (cdr (cdr '(a b c))))};
8840 the result of evaluating the expression is @code{c}. 9254 the result of evaluating the expression is @code{c}.
8841 @end quotation 9255 @end quotation
8968 @noindent 9382 @noindent
8969 This indicates that evaluating @code{(make-sparse-keymap)} produces 9383 This indicates that evaluating @code{(make-sparse-keymap)} produces
8970 identical results to evaluating @code{(list 'keymap)}. 9384 identical results to evaluating @code{(list 'keymap)}.
8971 9385
8972 @c Cannot write point command here because it causes trouble with TOC. 9386 @c Cannot write point command here because it causes trouble with TOC.
8973 @node Point Glyph, , Equivalence, Glyphs 9387 @node Point Glyph, , Equivalence, Glyphs
8974 @section Indicating Point in a Buffer 9388 @section Indicating Point in a Buffer
8975 @cindex Point, indicating it in a buffer 9389 @cindex Point, indicating it in a buffer
8976 9390
8977 Sometimes you need to show an example of text in an Emacs buffer. In 9391 Sometimes you need to show an example of text in an Emacs buffer. In
8978 such examples, the convention is to include the entire contents of the 9392 such examples, the convention is to include the entire contents of the
9053 commands.@refill 9467 commands.@refill
9054 9468
9055 @menu 9469 @menu
9056 * Break Commands:: Cause and prevent splits. 9470 * Break Commands:: Cause and prevent splits.
9057 * Line Breaks:: How to force a single line to use two lines. 9471 * Line Breaks:: How to force a single line to use two lines.
9058 * w:: How to prevent unwanted line breaks. 9472 * - and hyphenation:: How to tell TeX about hyphenation points.
9473 * w:: How to prevent unwanted line breaks.
9059 * sp:: How to insert blank lines. 9474 * sp:: How to insert blank lines.
9060 * page:: How to force the start of a new page. 9475 * page:: How to force the start of a new page.
9061 * group:: How to prevent unwanted page breaks. 9476 * group:: How to prevent unwanted page breaks.
9062 * need:: Another way to prevent unwanted page breaks. 9477 * need:: Another way to prevent unwanted page breaks.
9063 @end menu 9478 @end menu
9068 @end ifinfo 9483 @end ifinfo
9069 @iftex 9484 @iftex
9070 @sp 1 9485 @sp 1
9071 @end iftex 9486 @end iftex
9072 9487
9073 The break commands create line and paragraph breaks:@refill 9488 The break commands create or allow line and paragraph breaks:@refill
9074 9489
9075 @table @code 9490 @table @code
9076 @item @@* 9491 @item @@*
9077 Force a line break. 9492 Force a line break.
9078 9493
9079 @item @@sp @var{n} 9494 @item @@sp @var{n}
9080 Skip @var{n} blank lines.@refill 9495 Skip @var{n} blank lines.@refill
9496
9497 @item @@-
9498 Insert a discretionary hyphen.
9499
9500 @item @@hyphenation@{@var{hy-phen-a-ted words}@}
9501 Define hyphen points in @var{hy-phen-a-ted words}.
9081 @end table 9502 @end table
9082 @iftex
9083 @sp 1
9084 @end iftex
9085 9503
9086 The line-break-prevention command holds text together all on one 9504 The line-break-prevention command holds text together all on one
9087 line:@refill 9505 line:@refill
9088 9506
9089 @table @code 9507 @table @code
9106 9524
9107 @item @@need @var{mils} 9525 @item @@need @var{mils}
9108 Start a new printed page if not enough space on this one.@refill 9526 Start a new printed page if not enough space on this one.@refill
9109 @end table 9527 @end table
9110 9528
9111 @node Line Breaks, w, Break Commands, Breaks 9529 @node Line Breaks, - and hyphenation, Break Commands, Breaks
9112 @comment node-name, next, previous, up 9530 @comment node-name, next, previous, up
9113 @section @code{@@*}: Generate Line Breaks 9531 @section @code{@@*}: Generate Line Breaks
9114 @findex * @r{(force line break)} 9532 @findex * @r{(force line break)}
9115 @cindex Line breaks 9533 @cindex Line breaks
9116 @cindex Breaks in a line 9534 @cindex Breaks in a line
9162 containing an @code{@@*} command; it will cause the paragraph to be 9580 containing an @code{@@*} command; it will cause the paragraph to be
9163 refilled after the line break occurs, negating the effect of the line 9581 refilled after the line break occurs, negating the effect of the line
9164 break.@refill 9582 break.@refill
9165 @end quotation 9583 @end quotation
9166 9584
9167 @node w, sp, Line Breaks, Breaks 9585 @node - and hyphenation, w, Line Breaks, Breaks
9586 @section @code{@@-} and @code{@@hyphenation}: Helping @TeX{} hyphenate
9587
9588 @findex -
9589 @findex hyphenation
9590 @cindex Hyphenation, helping @TeX{} do
9591 @cindex Fine-tuning, and hyphenation
9592
9593 Although @TeX{}'s hyphenation algorithm is generally pretty good, it
9594 does miss useful hyphenation points from time to time. (Or, far more
9595 rarely, insert an incorrect hyphenation.) So, for documents with an
9596 unusual vocabulary or when fine-tuning for a printed edition, you may
9597 wish to help @TeX{} out. Texinfo supports two commands for this:
9598
9599 @table @code
9600 @item @@-
9601 Insert a discretionary hyphen, i.e., a place where @TeX{} can (but does
9602 not have to) hyphenate. This is especially useful when you notice
9603 an overfull hbox is due to @TeX{} missing a hyphenation (@pxref{Overfull
9604 hboxes}). @TeX{} will not insert any hyphenation points in a word
9605 containing @code{@@-}.
9606
9607 @item @@hyphenation@{@var{hy-phen-a-ted words}@}
9608 Tell @TeX{} how to hyphenate @var{hy-phen-a-ted words}. As shown, you
9609 put a @samp{-} at each hyphenation point. For example:
9610 @example
9611 @@hyphenation@{man-u-script man-u-scripts@}
9612 @end example
9613 @noindent @TeX{} only uses the specified hyphenation points when the
9614 words match exactly, so give all necessary variants.
9615 @end table
9616
9617 Info output is not hyphenated, so these commands have no effect there.
9618
9619 @node w, sp, - and hyphenation, Breaks
9168 @comment node-name, next, previous, up 9620 @comment node-name, next, previous, up
9169 @section @code{@@w}@{@var{text}@}: Prevent Line Breaks 9621 @section @code{@@w}@{@var{text}@}: Prevent Line Breaks
9170 @findex w @r{(prevent line break)} 9622 @findex w @r{(prevent line break)}
9171 @cindex Line breaks, preventing 9623 @cindex Line breaks, preventing
9624 @cindex Hyphenation, preventing
9172 9625
9173 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks 9626 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks
9174 within @var{text}.@refill 9627 within @var{text}.@refill
9175 9628
9176 You can use the @code{@@w} command to prevent @TeX{} from automatically 9629 You can use the @code{@@w} command to prevent @TeX{} from automatically
9185 produces 9638 produces
9186 9639
9187 @quotation 9640 @quotation
9188 You can copy GNU software from @w{@file{prep.ai.mit.edu}}. 9641 You can copy GNU software from @w{@file{prep.ai.mit.edu}}.
9189 @end quotation 9642 @end quotation
9190
9191 In the Texinfo file, you must write the @code{@@w} command and its
9192 argument (all the affected text) all on one line.@refill
9193 9643
9194 @quotation 9644 @quotation
9195 @strong{Caution:} Do not write an @code{@@refill} command at the end 9645 @strong{Caution:} Do not write an @code{@@refill} command at the end
9196 of a paragraph containing an @code{@@w} command; it will cause the 9646 of a paragraph containing an @code{@@w} command; it will cause the
9197 paragraph to be refilled and may thereby negate the effect of the 9647 paragraph to be refilled and may thereby negate the effect of the
9214 @example 9664 @example
9215 @@sp 2 9665 @@sp 2
9216 @end example 9666 @end example
9217 9667
9218 @noindent 9668 @noindent
9219 generates two blank lines. 9669 generates two blank lines.
9220 9670
9221 The @code{@@sp} command is most often used in the title page.@refill 9671 The @code{@@sp} command is most often used in the title page.@refill
9222 9672
9223 @ignore 9673 @ignore
9224 @c node br, page, sp, Breaks 9674 @c node br, page, sp, Breaks
9247 @noindent 9697 @noindent
9248 produces 9698 produces
9249 9699
9250 @example 9700 @example
9251 @group 9701 @group
9252 This line 9702 This line
9253 9703
9254 contains and is ended by paragraph breaks 9704 contains and is ended by paragraph breaks
9255 9705
9256 and is followed by another line. 9706 and is followed by another line.
9257 @end group 9707 @end group
9326 not start to generate error messages until it has processed 9776 not start to generate error messages until it has processed
9327 considerable text. It is a good rule of thumb to look for a missing 9777 considerable text. It is a good rule of thumb to look for a missing
9328 @code{@@end group} if you get incomprehensible error messages in 9778 @code{@@end group} if you get incomprehensible error messages in
9329 @TeX{}.@refill 9779 @TeX{}.@refill
9330 9780
9331 @node need, , group, Breaks 9781 @node need, , group, Breaks
9332 @comment node-name, next, previous, up 9782 @comment node-name, next, previous, up
9333 @section @code{@@need @var{mils}}: Prevent Page Breaks 9783 @section @code{@@need @var{mils}}: Prevent Page Breaks
9334 @cindex Need space at page bottom 9784 @cindex Need space at page bottom
9335 @findex need 9785 @findex need
9336 9786
9420 For example, 9870 For example,
9421 9871
9422 @example 9872 @example
9423 @group 9873 @group
9424 @@deffn Command forward-word count 9874 @@deffn Command forward-word count
9425 This command moves point forward @@var@{count@} words 9875 This command moves point forward @@var@{count@} words
9426 (or backward if @@var@{count@} is negative). @dots{} 9876 (or backward if @@var@{count@} is negative). @dots{}
9427 @@end deffn 9877 @@end deffn
9428 @end group 9878 @end group
9429 @end example 9879 @end example
9430 9880
9442 category contains spaces, as in the phrase `Interactive Command', 9892 category contains spaces, as in the phrase `Interactive Command',
9443 write braces around it. For example:@refill 9893 write braces around it. For example:@refill
9444 9894
9445 @example 9895 @example
9446 @group 9896 @group
9447 @@deffn @{Interactive Command@} isearch-forward 9897 @@deffn @{Interactive Command@} isearch-forward
9448 @dots{} 9898 @dots{}
9449 @@end deffn 9899 @@end deffn
9450 @end group 9900 @end group
9451 @end example 9901 @end example
9452 9902
9453 @noindent 9903 @noindent
9469 similar to the template for a generalized definition, except that you 9919 similar to the template for a generalized definition, except that you
9470 do not need to specify the category:@refill 9920 do not need to specify the category:@refill
9471 9921
9472 @example 9922 @example
9473 @group 9923 @group
9474 @@defun @var{name} @var{arguments}@dots{} 9924 @@defun @var{name} @var{arguments}@dots{}
9475 @var{body-of-definition} 9925 @var{body-of-definition}
9476 @@end defun 9926 @@end defun
9477 @end group 9927 @end group
9478 @end example 9928 @end example
9479 9929
9480 @noindent 9930 @noindent
9481 Thus, 9931 Thus,
9482 9932
9483 @example 9933 @example
9484 @group 9934 @group
9485 @@defun buffer-end flag 9935 @@defun buffer-end flag
9486 This function returns @@code@{(point-min)@} if @@var@{flag@} 9936 This function returns @@code@{(point-min)@} if @@var@{flag@}
9487 is less than 1, @@code@{(point-max)@} otherwise. 9937 is less than 1, @@code@{(point-max)@} otherwise.
9488 @dots{} 9938 @dots{}
9489 @@end defun 9939 @@end defun
9490 @end group 9940 @end group
9491 @end example 9941 @end example
9492 9942
9493 @noindent 9943 @noindent
9524 9974
9525 @iftex 9975 @iftex
9526 An argument enclosed within square brackets is optional. 9976 An argument enclosed within square brackets is optional.
9527 Thus, the phrase 9977 Thus, the phrase
9528 @samp{@code{@r{[}@var{optional-arg}@r{]}}} means that 9978 @samp{@code{@r{[}@var{optional-arg}@r{]}}} means that
9529 @var{optional-arg} is optional. 9979 @var{optional-arg} is optional.
9530 An argument followed by an ellipsis is optional 9980 An argument followed by an ellipsis is optional
9531 and may be repeated more than once. 9981 and may be repeated more than once.
9532 @c This is consistent with Emacs Lisp Reference manual 9982 @c This is consistent with Emacs Lisp Reference manual
9533 Thus, @samp{@var{repeated-args}@dots{}} stands for zero or more arguments. 9983 Thus, @samp{@var{repeated-args}@dots{}} stands for zero or more arguments.
9534 Parentheses are used when several arguments are grouped 9984 Parentheses are used when several arguments are grouped
9535 into additional levels of list structure in Lisp. 9985 into additional levels of list structure in Lisp.
9536 @end iftex 9986 @end iftex
9537 @c The following looks better in Info (no `r', `samp' and `code'): 9987 @c The following looks better in Info (no `r', `samp' and `code'):
9538 @ifinfo 9988 @ifinfo
9539 An argument enclosed within square brackets is optional. 9989 An argument enclosed within square brackets is optional.
9540 Thus, [@var{optional-arg}] means that @var{optional-arg} is optional. 9990 Thus, [@var{optional-arg}] means that @var{optional-arg} is optional.
9541 An argument followed by an ellipsis is optional 9991 An argument followed by an ellipsis is optional
9542 and may be repeated more than once. 9992 and may be repeated more than once.
9543 @c This is consistent with Emacs Lisp Reference manual 9993 @c This is consistent with Emacs Lisp Reference manual
9544 Thus, @var{repeated-args}@dots{} stands for zero or more arguments. 9994 Thus, @var{repeated-args}@dots{} stands for zero or more arguments.
9545 Parentheses are used when several arguments are grouped 9995 Parentheses are used when several arguments are grouped
9546 into additional levels of list structure in Lisp. 9996 into additional levels of list structure in Lisp.
9547 @end ifinfo 9997 @end ifinfo
9548 9998
9549 Here is the @code{@@defspec} line of an example of an imaginary 9999 Here is the @code{@@defspec} line of an example of an imaginary
9596 @need 1000 10046 @need 1000
9597 For example, 10047 For example,
9598 10048
9599 @example 10049 @example
9600 @group 10050 @group
9601 @@deffn @{Interactive Command@} isearch-forward 10051 @@deffn @{Interactive Command@} isearch-forward
9602 @@deffnx @{Interactive Command@} isearch-backward 10052 @@deffnx @{Interactive Command@} isearch-backward
9603 These two search commands are similar except @dots{} 10053 These two search commands are similar except @dots{}
9604 @@end deffn 10054 @@end deffn
9605 @end group 10055 @end group
9606 @end example 10056 @end example
9607 10057
9608 @noindent 10058 @noindent
9609 produces 10059 produces
9610 10060
9611 @deffn {Interactive Command} isearch-forward 10061 @deffn {Interactive Command} isearch-forward
9612 @deffnx {Interactive Command} isearch-backward 10062 @deffnx {Interactive Command} isearch-backward
9613 These two search commands are similar except @dots{} 10063 These two search commands are similar except @dots{}
9614 @end deffn 10064 @end deffn
9615 10065
9616 Each of the other definition commands has an `x' form: @code{@@defunx}, 10066 Each of the other definition commands has an `x' form: @code{@@defunx},
9617 @code{@@defvrx}, @code{@@deftypefunx}, etc. 10067 @code{@@defvrx}, @code{@@deftypefunx}, etc.
9618 10068
9664 @need 750 10114 @need 750
9665 For example, here is a definition: 10115 For example, here is a definition:
9666 10116
9667 @example 10117 @example
9668 @group 10118 @group
9669 @@deffn Command forward-char nchars 10119 @@deffn Command forward-char nchars
9670 Move point forward @@var@{nchars@} characters. 10120 Move point forward @@var@{nchars@} characters.
9671 @@end deffn 10121 @@end deffn
9672 @end group 10122 @end group
9673 @end example 10123 @end example
9674 10124
9686 The template for @code{@@deffn} is: 10136 The template for @code{@@deffn} is:
9687 10137
9688 @example 10138 @example
9689 @group 10139 @group
9690 @@deffn @var{category} @var{name} @var{arguments}@dots{} 10140 @@deffn @var{category} @var{name} @var{arguments}@dots{}
9691 @var{body-of-definition} 10141 @var{body-of-definition}
9692 @@end deffn 10142 @@end deffn
9693 @end group 10143 @end group
9694 @end example 10144 @end example
9695 10145
9696 @findex defun 10146 @findex defun
9721 10171
9722 The template is: 10172 The template is:
9723 10173
9724 @example 10174 @example
9725 @group 10175 @group
9726 @@defun @var{function-name} @var{arguments}@dots{} 10176 @@defun @var{function-name} @var{arguments}@dots{}
9727 @var{body-of-definition} 10177 @var{body-of-definition}
9728 @@end defun 10178 @@end defun
9729 @end group 10179 @end group
9730 @end example 10180 @end example
9731 10181
9767 around it. Otherwise, the second word will be mistaken for the name 10217 around it. Otherwise, the second word will be mistaken for the name
9768 of the entity, for example: 10218 of the entity, for example:
9769 10219
9770 @example 10220 @example
9771 @group 10221 @group
9772 @@defvr @{User Option@} fill-column 10222 @@defvr @{User Option@} fill-column
9773 This buffer-local variable specifies 10223 This buffer-local variable specifies
9774 the maximum width of filled lines. 10224 the maximum width of filled lines.
9775 @dots{} 10225 @dots{}
9776 @@end defvr 10226 @@end defvr
9777 @end group 10227 @end group
9778 @end example 10228 @end example
9779 10229
9780 Terminate the definition with @code{@@end defvr} on a line of its 10230 Terminate the definition with @code{@@end defvr} on a line of its
9782 10232
9783 The template is: 10233 The template is:
9784 10234
9785 @example 10235 @example
9786 @group 10236 @group
9787 @@defvr @var{category} @var{name} 10237 @@defvr @var{category} @var{name}
9788 @var{body-of-definition} 10238 @var{body-of-definition}
9789 @@end defvr 10239 @@end defvr
9790 @end group 10240 @end group
9791 @end example 10241 @end example
9792 10242
9793 @code{@@defvr} creates an entry in the index of variables for @var{name}. 10243 @code{@@defvr} creates an entry in the index of variables for @var{name}.
9801 @need 750 10251 @need 750
9802 For example: 10252 For example:
9803 10253
9804 @example 10254 @example
9805 @group 10255 @group
9806 @@defvar kill-ring 10256 @@defvar kill-ring
9807 @dots{} 10257 @dots{}
9808 @@end defvar 10258 @@end defvar
9809 @end group 10259 @end group
9810 @end example 10260 @end example
9811 10261
9812 The template is: 10262 The template is:
9813 10263
9814 @example 10264 @example
9815 @group 10265 @group
9816 @@defvar @var{name} 10266 @@defvar @var{name}
9817 @var{body-of-definition} 10267 @var{body-of-definition}
9818 @@end defvar 10268 @@end defvar
9819 @end group 10269 @end group
9820 @end example 10270 @end example
9821 10271
9822 @code{@@defvar} creates an entry in the index of variables for 10272 @code{@@defvar} creates an entry in the index of variables for
9850 @noindent 10300 @noindent
9851 For example, 10301 For example,
9852 10302
9853 @example 10303 @example
9854 @group 10304 @group
9855 @@deftypefn @{Library Function@} int foobar 10305 @@deftypefn @{Library Function@} int foobar
9856 (int @@var@{foo@}, float @@var@{bar@}) 10306 (int @@var@{foo@}, float @@var@{bar@})
9857 @dots{} 10307 @dots{}
9858 @@end deftypefn 10308 @@end deftypefn
9859 @end group 10309 @end group
9860 @end example 10310 @end example
9916 @noindent 10366 @noindent
9917 For example: 10367 For example:
9918 10368
9919 @example 10369 @example
9920 @group 10370 @group
9921 @@deftypefn stacks private push 10371 @@deftypefn stacks private push
9922 (@@var@{s@}:in out stack; 10372 (@@var@{s@}:in out stack;
9923 @@var@{n@}:in integer) 10373 @@var@{n@}:in integer)
9924 @dots{} 10374 @dots{}
9925 @@end deftypefn 10375 @@end deftypefn
9926 @end group 10376 @end group
9927 @end example 10377 @end example
10183 @code{@@defivar} creates an entry in the index of variables. 10633 @code{@@defivar} creates an entry in the index of variables.
10184 10634
10185 @findex defop 10635 @findex defop
10186 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{} 10636 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{}
10187 The @code{@@defop} command is the general definition command for 10637 The @code{@@defop} command is the general definition command for
10188 entities that may resemble methods in object-oriented programming. 10638 entities that may resemble methods in object-oriented programming.
10189 These entities take arguments, as functions do, but are associated 10639 These entities take arguments, as functions do, but are associated
10190 with particular classes of objects.@refill 10640 with particular classes of objects.@refill
10191 10641
10192 For example, some systems have constructs called @dfn{wrappers} that 10642 For example, some systems have constructs called @dfn{wrappers} that
10193 are associated with classes as methods are, but that act more like 10643 are associated with classes as methods are, but that act more like
10275 10725
10276 @code{@@defmethod} creates an entry, such as `@code{bar-method} on 10726 @code{@@defmethod} creates an entry, such as `@code{bar-method} on
10277 @code{bar-class}', in the index of functions.@refill 10727 @code{bar-class}', in the index of functions.@refill
10278 @end table 10728 @end table
10279 10729
10280 @node Data Types, , Abstract Objects, Def Cmds in Detail 10730 @node Data Types, , Abstract Objects, Def Cmds in Detail
10281 @subsection Data Types 10731 @subsection Data Types
10282 10732
10283 Here is the command for data types:@refill 10733 Here is the command for data types:@refill
10284 10734
10285 @table @code 10735 @table @code
10332 arguments that indicate the meaning, as with the @var{count} argument 10782 arguments that indicate the meaning, as with the @var{count} argument
10333 to the @code{forward-word} function. Also, if the name of an argument 10783 to the @code{forward-word} function. Also, if the name of an argument
10334 contains the name of a type, such as @var{integer}, take care that the 10784 contains the name of a type, such as @var{integer}, take care that the
10335 argument actually is of that type.@refill 10785 argument actually is of that type.@refill
10336 10786
10337 @node Sample Function Definition, , Def Cmd Conventions, Definition Commands 10787 @node Sample Function Definition, , Def Cmd Conventions, Definition Commands
10338 @section A Sample Function Definition 10788 @section A Sample Function Definition
10339 @cindex Function definitions 10789 @cindex Function definitions
10340 @cindex Command definitions 10790 @cindex Command definitions
10341 @cindex Macro definitions 10791 @cindex Macro definitions
10342 @cindex Sample function definition 10792 @cindex Sample function definition
10446 the primary text, but a reader should not need to read a footnote to 10896 the primary text, but a reader should not need to read a footnote to
10447 understand the primary text. For a thorough discussion of footnotes, 10897 understand the primary text. For a thorough discussion of footnotes,
10448 see @cite{The Chicago Manual of Style}, which is published by the 10898 see @cite{The Chicago Manual of Style}, which is published by the
10449 University of Chicago Press.}@refill 10899 University of Chicago Press.}@refill
10450 10900
10901 @menu
10902 * Footnote Commands:: How to write a footnote in Texinfo.
10903 * Footnote Styles:: Controlling how footnotes appear in Info.
10904 @end menu
10905
10906 @node Footnote Commands, Footnote Styles, Footnotes, Footnotes
10907 @section Footnote Commands
10908
10451 In Texinfo, footnotes are created with the @code{@@footnote} command. 10909 In Texinfo, footnotes are created with the @code{@@footnote} command.
10452 This command is followed immediately by a left brace, then by the text 10910 This command is followed immediately by a left brace, then by the text
10453 of the footnote, and then by a terminating right brace. The template 10911 of the footnote, and then by a terminating right brace. The template
10454 is: 10912 is:
10455 10913
10456 @example 10914 @example
10457 @@footnote@{@var{text}@} 10915 @@footnote@{@var{text}@}
10458 @end example 10916 @end example
10459 10917
10462 For example, this clause is followed by a sample 10920 For example, this clause is followed by a sample
10463 footnote@footnote{Here is the sample footnote.}; in the Texinfo 10921 footnote@footnote{Here is the sample footnote.}; in the Texinfo
10464 source, it looks like this:@refill 10922 source, it looks like this:@refill
10465 10923
10466 @example 10924 @example
10467 @dots{}a sample footnote @@footnote@{Here is the sample 10925 @dots{}a sample footnote @@footnote@{Here is the sample
10468 footnote.@}; in the Texinfo source@dots{} 10926 footnote.@}; in the Texinfo source@dots{}
10469 @end example 10927 @end example
10470 10928
10929 @strong{Warning:} Don't use footnotes in the argument of the
10930 @code{@@item} command for a @code{@@table} table. This doesn't work;
10931 because of limitations of @TeX{}, there is no way to fix it. To avoid
10932 the problem, move the footnote into the body text of the table.
10933
10471 In a printed manual or book, the reference mark for a footnote is a 10934 In a printed manual or book, the reference mark for a footnote is a
10472 small, superscripted number; the text of the footnote is written at 10935 small, superscripted number; the text of the footnote appears at the
10473 the bottom of the page, below a horizontal line.@refill 10936 bottom of the page, below a horizontal line.@refill
10474 10937
10475 In Info, the reference mark for a footnote is a pair of parentheses 10938 In Info, the reference mark for a footnote is a pair of parentheses
10476 with the footnote number between them, like this: @samp{(1)}.@refill 10939 with the footnote number between them, like this: @samp{(1)}.@refill
10477 10940
10941 @node Footnote Styles, , Footnote Commands, Footnotes
10942 @section Footnote Styles
10943
10478 Info has two footnote styles, which determine where the text of the 10944 Info has two footnote styles, which determine where the text of the
10479 footnote is located:@refill 10945 footnote is located:@refill
10480 10946
10481 @itemize @bullet 10947 @itemize @bullet
10482 @cindex @samp{@r{End}} node footnote style 10948 @cindex @samp{@r{End}} node footnote style
10483 @item 10949 @item
10484 In the `End' node style, all the footnotes for a single node 10950 In the `End' node style, all the footnotes for a single node
10485 are placed at the end of that node. The footnotes are separated from 10951 are placed at the end of that node. The footnotes are separated from
10486 the rest of the node by a line of dashes with the word 10952 the rest of the node by a line of dashes with the word
10487 @samp{Footnotes} within it. Each footnote begins with an 10953 @samp{Footnotes} within it. Each footnote begins with an
10488 @samp{(@var{n})} reference mark.@refill 10954 @samp{(@var{n})} reference mark.@refill
10498 (1) Here is a sample footnote. 10964 (1) Here is a sample footnote.
10499 @end group 10965 @end group
10500 @end example 10966 @end example
10501 10967
10502 @cindex @samp{@r{Separate}} footnote style 10968 @cindex @samp{@r{Separate}} footnote style
10503 @item 10969 @item
10504 In the `Separate' node style, all the footnotes for a single 10970 In the `Separate' node style, all the footnotes for a single
10505 node are placed in an automatically constructed node of 10971 node are placed in an automatically constructed node of
10506 their own. In this style, a ``footnote reference'' follows 10972 their own. In this style, a ``footnote reference'' follows
10507 each @samp{(@var{n})} reference mark in the body of the 10973 each @samp{(@var{n})} reference mark in the body of the
10508 node. The footnote reference is actually a cross reference 10974 node. The footnote reference is actually a cross reference
10521 10987
10522 @smallexample 10988 @smallexample
10523 @group 10989 @group
10524 File: texinfo.info Node: Overview-Footnotes, Up: Overview 10990 File: texinfo.info Node: Overview-Footnotes, Up: Overview
10525 10991
10526 (1) Note that the first syllable of "Texinfo" is 10992 (1) Note that the first syllable of "Texinfo" is
10527 pronounced like "speck", not "hex". @dots{} 10993 pronounced like "speck", not "hex". @dots{}
10528 @end group 10994 @end group
10529 @end smallexample 10995 @end smallexample
10530 @end itemize 10996 @end itemize
10531 10997
10534 11000
10535 @findex footnotestyle 11001 @findex footnotestyle
10536 Use the @code{@@footnotestyle} command to specify an Info file's 11002 Use the @code{@@footnotestyle} command to specify an Info file's
10537 footnote style. Write this command at the beginning of a line followed 11003 footnote style. Write this command at the beginning of a line followed
10538 by an argument, either @samp{end} for the end node style or 11004 by an argument, either @samp{end} for the end node style or
10539 @samp{separate} for the separate node style. 11005 @samp{separate} for the separate node style.
10540 11006
10541 @need 700 11007 @need 700
10542 For example, 11008 For example,
10543 11009
10544 @example 11010 @example
10596 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer} 11062 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer}
10597 command in Emacs.@refill 11063 command in Emacs.@refill
10598 @end ignore 11064 @end ignore
10599 This chapter contains two footnotes.@refill 11065 This chapter contains two footnotes.@refill
10600 11066
10601 @node Conditionals, Format/Print Hardcopy, Footnotes, Top 11067 @node Conditionals, Macros, Footnotes, Top
10602 @comment node-name, next, previous, up 11068 @comment node-name, next, previous, up
10603 @chapter Conditionally Visible Text 11069 @chapter Conditionally Visible Text
10604 @cindex Conditionally visible text 11070 @cindex Conditionally visible text
10605 @cindex Text, conditionally visible 11071 @cindex Text, conditionally visible
10606 @cindex Visibility of conditional text 11072 @cindex Visibility of conditional text
10607 @cindex If text conditionally visible 11073 @cindex If text conditionally visible
11074 @findex ifhtml
10608 @findex ifinfo 11075 @findex ifinfo
10609 @findex iftex 11076 @findex iftex
10610 11077
10611 Sometimes it is good to use different text for a printed manual and 11078 Sometimes it is good to use different text for a printed manual and
10612 its corresponding Info file. In this case, you can use the 11079 its corresponding Info file. In this case, you can use the
10613 @dfn{conditional commands} to specify which text is for the printed manual 11080 @dfn{conditional commands} to specify which text is for the printed manual
10614 and which is for the Info file.@refill 11081 and which is for the Info file.@refill
10615 11082
10616 @menu 11083 @menu
10617 * Conditional Commands:: How to specify text for Info or @TeX{}. 11084 * Conditional Commands:: How to specify text for HTML, Info, or @TeX{}.
10618 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands. 11085 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands.
10619 * set clear value:: How to designate which text to format (for 11086 * set clear value:: How to designate which text to format (for
10620 both Info and @TeX{}); and how to set a 11087 both Info and @TeX{}); and how to set a
10621 flag to a string that you can insert. 11088 flag to a string that you can insert.
10622 @end menu 11089 @end menu
10624 @node Conditional Commands, Using Ordinary TeX Commands, Conditionals, Conditionals 11091 @node Conditional Commands, Using Ordinary TeX Commands, Conditionals, Conditionals
10625 @ifinfo 11092 @ifinfo
10626 @heading Using @code{@@ifinfo} and @code{@@iftex} 11093 @heading Using @code{@@ifinfo} and @code{@@iftex}
10627 @end ifinfo 11094 @end ifinfo
10628 11095
10629 @code{@@ifinfo} begins segments of text that should be ignored 11096 @code{@@ifinfo} begins segments of text that should be ignored
10630 by @TeX{} when it 11097 by @TeX{} when it
10631 typesets the printed manual. The segment of text appears only 11098 typesets the printed manual. The segment of text appears only
10632 in the Info file. 11099 in the Info file.
10633 The @code{@@ifinfo} command should appear on a line by itself; end 11100 The @code{@@ifinfo} command should appear on a line by itself; end
10634 the Info-only text with a line containing @code{@@end ifinfo} by 11101 the Info-only text with a line containing @code{@@end ifinfo} by
10635 itself. At the beginning of a Texinfo file, the Info permissions are 11102 itself. At the beginning of a Texinfo file, the Info permissions are
10636 contained within a region marked by @code{@@ifinfo} and @code{@@end 11103 contained within a region marked by @code{@@ifinfo} and @code{@@end
10637 ifinfo}. (@xref{Info Summary and Permissions}.)@refill 11104 ifinfo}. (@xref{Info Summary and Permissions}.)@refill
10638 11105
10639 The @code{@@iftex} and @code{@@end iftex} commands are similar to the 11106 The @code{@@iftex} and @code{@@end iftex} commands are similar to the
10640 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they 11107 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they
10641 specify text that will appear in the printed manual but not in the Info 11108 specify text that will appear in the printed manual but not in the Info
10642 file.@refill 11109 file. Likewise for @code{@@ifhtml} and @code{@@end ifhtml}, which
11110 specify text to appear only in HTML output.@refill
10643 11111
10644 @need 700 11112 @need 700
10645 For example, 11113 For example,
10646 11114
10647 @example 11115 @example
10678 @comment node-name, next, previous, up 11146 @comment node-name, next, previous, up
10679 @section Using Ordinary @TeX{} Commands 11147 @section Using Ordinary @TeX{} Commands
10680 @cindex @TeX{} commands, using ordinary 11148 @cindex @TeX{} commands, using ordinary
10681 @cindex Ordinary @TeX{} commands, using 11149 @cindex Ordinary @TeX{} commands, using
10682 @cindex Commands using ordinary @TeX{} 11150 @cindex Commands using ordinary @TeX{}
10683 @cindex Plain@TeX{} 11151 @cindex plain @TeX{}
10684 11152
10685 Inside a region delineated by @code{@@iftex} and @code{@@end iftex}, 11153 Inside a region delineated by @code{@@iftex} and @code{@@end iftex},
10686 you can embed some Plain@TeX{} commands. Info will ignore these 11154 you can embed some plain @TeX{} commands. Info will ignore these
10687 commands since they are only in that part of the file which is seen by 11155 commands since they are only in that part of the file which is seen by
10688 @TeX{}. You can write the @TeX{} commands as you would write them in 11156 @TeX{}. You can write the @TeX{} commands as you would write them in
10689 a normal @TeX{} file, except that you must replace the @samp{\} used 11157 a normal @TeX{} file, except that you must replace the @samp{\} used
10690 by @TeX{} with an @samp{@@}. For example, in the @code{@@titlepage} 11158 by @TeX{} with an @samp{@@}. For example, in the @code{@@titlepage}
10691 section of a Texinfo file, you can use the @TeX{} command 11159 section of a Texinfo file, you can use the @TeX{} command
10692 @code{@@vskip} to format the copyright page. (The @code{@@titlepage} 11160 @code{@@vskip} to format the copyright page. (The @code{@@titlepage}
10693 command causes Info to ignore the region automatically, as it does 11161 command causes Info to ignore the region automatically, as it does
10694 with the @code{@@iftex} command.)@refill 11162 with the @code{@@iftex} command.)@refill
10695 11163
10696 However, many features of Plain@TeX{} will not work, as they are 11164 However, many features of plain @TeX{} will not work, as they are
10697 overridden by features of Texinfo. 11165 overridden by features of Texinfo.
10698 11166
10699 @findex tex 11167 @findex tex
10700 You can enter Plain@TeX{} completely, and use @samp{\} in the @TeX{} 11168 You can enter plain @TeX{} completely, and use @samp{\} in the @TeX{}
10701 commands, by delineating a region with the @code{@@tex} and @code{@@end 11169 commands, by delineating a region with the @code{@@tex} and @code{@@end
10702 tex} commands. (The @code{@@tex} command also causes Info to ignore the 11170 tex} commands. (The @code{@@tex} command also causes Info to ignore the
10703 region, like the @code{@@iftex} 11171 region, like the @code{@@iftex}
10704 command.)@refill 11172 command.)@refill
10705 11173
10706 @cindex Mathematical expressions 11174 @cindex Mathematical expressions
10707 For example, here is a mathematical expression written in 11175 For example, here is a mathematical expression written in
10708 Plain@TeX{}:@refill 11176 plain @TeX{}:@refill
10709 11177
10710 @example 11178 @example
10711 @@tex 11179 @@tex
10712 $$ \chi^2 = \sum_@{i=1@}^N 11180 $$ \chi^2 = \sum_@{i=1@}^N
10713 \left (y_i - (a + b x_i) 11181 \left (y_i - (a + b x_i)
10714 \over \sigma_i\right)^2 $$ 11182 \over \sigma_i\right)^2 $$
10715 @@end tex 11183 @@end tex
10716 @end example 11184 @end example
10717 11185
10718 @noindent 11186 @noindent
10723 In a printed manual, the above expression looks like 11191 In a printed manual, the above expression looks like
10724 this: 11192 this:
10725 @end iftex 11193 @end iftex
10726 11194
10727 @tex 11195 @tex
10728 $$ \chi^2 = \sum_{i=1}^N 11196 $$ \chi^2 = \sum_{i=1}^N
10729 \left(y_i - (a + b x_i) 11197 \left(y_i - (a + b x_i)
10730 \over \sigma_i\right)^2 $$ 11198 \over \sigma_i\right)^2 $$
10731 @end tex 11199 @end tex
10732 11200
10733 @node set clear value, , Using Ordinary TeX Commands, Conditionals 11201 @node set clear value, , Using Ordinary TeX Commands, Conditionals
10734 @comment node-name, next, previous, up 11202 @comment node-name, next, previous, up
10735 @section @code{@@set}, @code{@@clear}, and @code{@@value} 11203 @section @code{@@set}, @code{@@clear}, and @code{@@value}
10736 11204
10737 You can direct the Texinfo formatting commands to format or ignore parts 11205 You can direct the Texinfo formatting commands to format or ignore parts
10738 of a Texinfo file with the @code{@@set}, @code{@@clear}, @code{@@ifset}, 11206 of a Texinfo file with the @code{@@set}, @code{@@clear}, @code{@@ifset},
10744 @code{@@set}, for example, to set a date and use @code{@@value} to 11212 @code{@@set}, for example, to set a date and use @code{@@value} to
10745 insert the date in several places in the Texinfo file.@refill 11213 insert the date in several places in the Texinfo file.@refill
10746 11214
10747 @menu 11215 @menu
10748 * ifset ifclear:: Format a region if a flag is set. 11216 * ifset ifclear:: Format a region if a flag is set.
10749 * value:: Replace a flag with a string. 11217 * value:: Replace a flag with a string.
10750 * value Example:: An easy way to update edition information. 11218 * value Example:: An easy way to update edition information.
10751 @end menu 11219 @end menu
10752 11220
10753 @node ifset ifclear, value, set clear value, set clear value 11221 @node ifset ifclear, value, set clear value, set clear value
10754 @subsection @code{@@ifset} and @code{@@ifclear} 11222 @subsection @code{@@ifset} and @code{@@ifclear}
10761 11229
10762 Use the @code{@@set @var{flag}} command to turn on, or @dfn{set}, a 11230 Use the @code{@@set @var{flag}} command to turn on, or @dfn{set}, a
10763 @var{flag}; a @dfn{flag} can be any single word. The format for the 11231 @var{flag}; a @dfn{flag} can be any single word. The format for the
10764 command looks like this:@refill 11232 command looks like this:@refill
10765 @findex set 11233 @findex set
10766 11234
10767 @example 11235 @example
10768 @@set @var{flag} 11236 @@set @var{flag}
10769 @end example 11237 @end example
10770 11238
10771 Write the conditionally formatted text between @code{@@ifset @var{flag}} 11239 Write the conditionally formatted text between @code{@@ifset @var{flag}}
10781 11249
10782 For example, you can create one document that has two variants, such as 11250 For example, you can create one document that has two variants, such as
10783 a manual for a `large' and `small' model:@refill 11251 a manual for a `large' and `small' model:@refill
10784 11252
10785 @example 11253 @example
10786 You can use this machine to dig up shrubs 11254 You can use this machine to dig up shrubs
10787 without hurting them. 11255 without hurting them.
10788 11256
10789 @@set large 11257 @@set large
10790 11258
10791 @@ifset large 11259 @@ifset large
10854 the text up to the following @code{@@end ifset} command.@refill 11322 the text up to the following @code{@@end ifset} command.@refill
10855 11323
10856 If @var{flag} is cleared, tell the Texinfo formatting commands to 11324 If @var{flag} is cleared, tell the Texinfo formatting commands to
10857 ignore text up to the following @code{@@end ifset} command.@refill 11325 ignore text up to the following @code{@@end ifset} command.@refill
10858 11326
10859 @item @@ifclear @var{flag} 11327 @item @@ifclear @var{flag}
10860 If @var{flag} is set, tell the Texinfo formatting commands to ignore 11328 If @var{flag} is set, tell the Texinfo formatting commands to ignore
10861 the text up to the following @code{@@end ifclear} command.@refill 11329 the text up to the following @code{@@end ifclear} command.@refill
10862 11330
10863 If @var{flag} is cleared, tell the Texinfo formatting commands to 11331 If @var{flag} is cleared, tell the Texinfo formatting commands to
10864 format the text up to the following @code{@@end ifclear} 11332 format the text up to the following @code{@@end ifclear}
10944 @exdent @r{into} 11412 @exdent @r{into}
10945 It is a @{No value for "how-much"@} wet day. 11413 It is a @{No value for "how-much"@} wet day.
10946 @end group 11414 @end group
10947 @end example 11415 @end example
10948 11416
10949 @node value Example, , value, set clear value 11417 @node value Example, , value, set clear value
10950 @subsection @code{@@value} Example 11418 @subsection @code{@@value} Example
10951 11419
10952 You can use the @code{@@value} command to limit the number of places you 11420 You can use the @code{@@value} command to limit the number of places you
10953 need to change when you record an update to a manual. 11421 need to change when you record an update to a manual.
10954 Here is how it is done in @cite{The GNU Make Manual}: 11422 Here is how it is done in @cite{The GNU Make Manual}:
10955 11423
10956 @need 1000 11424 @need 1000
10957 @noindent 11425 @noindent
10958 Set the flags: 11426 Set the flags:
10971 Write text for the first @code{@@ifinfo} section, for people reading the 11439 Write text for the first @code{@@ifinfo} section, for people reading the
10972 Texinfo file: 11440 Texinfo file:
10973 11441
10974 @example 11442 @example
10975 @group 11443 @group
10976 This is Edition @@value@{EDITION@}, 11444 This is Edition @@value@{EDITION@},
10977 last updated @@value@{UPDATED@}, 11445 last updated @@value@{UPDATED@},
10978 of @@cite@{The GNU Make Manual@}, 11446 of @@cite@{The GNU Make Manual@},
10979 for @@code@{make@}, Version @@value@{VERSION@}. 11447 for @@code@{make@}, Version @@value@{VERSION@}.
10980 @end group 11448 @end group
10981 @end example 11449 @end example
10982 11450
10983 @need 1000 11451 @need 1000
11003 @noindent 11471 @noindent
11004 Write text for the Top node, for people reading the Info file: 11472 Write text for the Top node, for people reading the Info file:
11005 11473
11006 @example 11474 @example
11007 @group 11475 @group
11008 This is Edition @@value@{EDITION@} 11476 This is Edition @@value@{EDITION@}
11009 of the @@cite@{GNU Make Manual@}, 11477 of the @@cite@{GNU Make Manual@},
11010 last updated @@value@{UPDATED@} 11478 last updated @@value@{UPDATED@}
11011 for @@code@{make@} Version @@value@{VERSION@}. 11479 for @@code@{make@} Version @@value@{VERSION@}.
11012 @end group 11480 @end group
11013 @end example 11481 @end example
11016 After you format the manual, the text in the first @code{@@ifinfo} 11484 After you format the manual, the text in the first @code{@@ifinfo}
11017 section looks like this: 11485 section looks like this:
11018 11486
11019 @example 11487 @example
11020 @group 11488 @group
11021 This is Edition 0.35 Beta, last updated 14 August 1992, 11489 This is Edition 0.35 Beta, last updated 14 August 1992,
11022 of `The GNU Make Manual', for `make', Version 3.63 Beta. 11490 of `The GNU Make Manual', for `make', Version 3.63 Beta.
11023 @end group 11491 @end group
11024 @end example 11492 @end example
11025 11493
11026 When you update the manual, change only the values of the flags; you do 11494 When you update the manual, change only the values of the flags; you do
11027 not need to rewrite the three sections. 11495 not need to rewrite the three sections.
11028 11496
11029 @node Format/Print Hardcopy, Create an Info File, Conditionals, Top 11497
11498 @node Macros, Format/Print Hardcopy, Conditionals, Top
11499 @chapter Macros: Defining New Texinfo Commands
11500 @cindex Macros
11501 @cindex Defining new Texinfo commands
11502 @cindex New Texinfo commands, defining
11503 @cindex Texinfo commands, defining new
11504 @cindex User-defined Texinfo commands
11505
11506 A Texinfo @dfn{macro} allows you to define a new Texinfo command as any
11507 sequence of text and/or existing commands (including other macros). The
11508 macro can have any number of @dfn{parameters}---text you supply each
11509 time you use the macro. (This has nothing to do with the
11510 @code{@@defmac} command, which is for documenting macros in the subject
11511 of the manual; @pxref{Def Cmd Template}.)
11512
11513 @menu
11514 * Defining Macros:: Both defining and undefining new commands.
11515 * Invoking Macros:: Using a macro, once you've defined it.
11516 @end menu
11517
11518
11519 @node Defining Macros, Invoking Macros, Macros, Macros
11520 @section Defining Macros
11521 @cindex Defining macros
11522 @cindex Macro definitions
11523
11524 @findex macro
11525 You use the Texinfo @code{@@macro} command to define a macro. For example:
11526
11527 @example
11528 @@macro @var{macro-name}@{@var{param1}, @var{param2}, @dots{}@}
11529 @var{text} @dots{} \@var{param1}\ @dots{}
11530 @@end macro
11531 @end example
11532
11533 The @dfn{parameters} @var{param1}, @var{param2}, @dots{} correspond to
11534 arguments supplied when the macro is subsequently used in the document
11535 (see the next section).
11536
11537 If a macro needs no parameters, you can define it either with an empty
11538 list (@samp{@@macro foo @{@}}) or with no braces at all (@samp{@@macro
11539 foo}).
11540
11541 @cindex Body of a macro
11542 @cindex Mutually recursive macros
11543 @cindex Recursion, mutual
11544 The definition or @dfn{body} of the macro can contain any Texinfo
11545 commands, including previously-defined macros. (It is not possible to
11546 have mutually recursive Texinfo macros.) In the body, instances of a
11547 parameter name surrounded by backslashes, as in @samp{\@var{param1}\} in
11548 the example above, are replaced by the corresponding argument from the
11549 macro invocation.
11550
11551 @findex unmacro
11552 @cindex Macros, undefining
11553 @cindex Undefining macros
11554 You can undefine a macro @var{foo} with @code{@@unmacro @var{foo}}.
11555 It is not an error to undefine a macro that is already undefined.
11556 For example:
11557
11558 @example
11559 @@unmacro foo
11560 @end example
11561
11562
11563 @node Invoking Macros, , Defining Macros, Macros
11564 @section Invoking Macros
11565 @cindex Invoking macros
11566 @cindex Macro invocation
11567
11568 After a macro is defined (see the previous section), you can use
11569 (@dfn{invoke}) it in your document like this:
11570
11571 @example
11572 @@@var{macro-name} @{@var{arg1}, @var{arg2}, @dots{}@}
11573 @end example
11574
11575 @noindent and the result will be just as if you typed the body of
11576 @var{macro-name} at that spot. For example:
11577
11578 @example
11579 @@macro foo @{p, q@}
11580 Together: \p\ & \q\.
11581 @@end macro
11582 @@foo@{a, b@}
11583 @end example
11584
11585 @noindent produces:
11586
11587 @display
11588 Together: a & b.
11589 @end display
11590
11591 @cindex Backslash, and macros
11592 Thus, the arguments and parameters are separated by commas and delimited
11593 by braces; any whitespace after (but not before) a comma is ignored. To
11594 insert a comma, brace, or backslash in an argument, prepend a backslash,
11595 as in
11596
11597 @example
11598 @@@var{macro-name} @{\\\@{\@}\,@}
11599 @end example
11600
11601 @noindent
11602 which will pass the (almost certainly error-producing) argument
11603 @samp{\@{@},} to @var{macro-name}.
11604
11605 If the macro is defined to take a single argument, and is invoked
11606 without any braces, the entire rest of the line after the macro name is
11607 supplied as the argument. For example:
11608
11609 @example
11610 @@macro bar @{p@}
11611 Twice: \p\, \p\.
11612 @@end macro
11613 @@bar aah
11614 @end example
11615
11616 @noindent produces:
11617
11618 @display
11619 Twice: aah, aah.
11620 @end display
11621
11622
11623 @node Format/Print Hardcopy, Create an Info File, Macros, Top
11030 @comment node-name, next, previous, up 11624 @comment node-name, next, previous, up
11031 @chapter Format and Print Hardcopy 11625 @chapter Format and Print Hardcopy
11032 @cindex Format and print hardcopy 11626 @cindex Format and print hardcopy
11033 @cindex Hardcopy, printing it 11627 @cindex Hardcopy, printing it
11034 @cindex Making a printed manual 11628 @cindex Making a printed manual
11035 @cindex Sorting indices 11629 @cindex Sorting indices
11036 @cindex Indices, sorting 11630 @cindex Indices, sorting
11037 @cindex @TeX{} index sorting 11631 @cindex @TeX{} index sorting
11038 @findex texindex 11632 @pindex texindex
11039 11633
11040 There are three major shell commands for making a printed manual from a 11634 There are three major shell commands for making a printed manual from a
11041 Texinfo file: one for converting the Texinfo file into a file that will be 11635 Texinfo file: one for converting the Texinfo file into a file that will be
11042 printed, a second for sorting indices, and a third for printing the 11636 printed, a second for sorting indices, and a third for printing the
11043 formatted document. When you use the shell commands, you can either 11637 formatted document. When you use the shell commands, you can either
11102 generate a printed index after running the @code{tex} command, you first 11696 generate a printed index after running the @code{tex} command, you first
11103 need a sorted index to work from. The @code{texindex} command sorts 11697 need a sorted index to work from. The @code{texindex} command sorts
11104 indices. (The source file @file{texindex.c} comes as part of the 11698 indices. (The source file @file{texindex.c} comes as part of the
11105 standard GNU distribution and is usually installed when Emacs is 11699 standard GNU distribution and is usually installed when Emacs is
11106 installed.)@refill 11700 installed.)@refill
11107 @findex texindex 11701 @pindex texindex
11108 @ignore 11702 @ignore
11109 Usage: texindex [-k] [-T tempdir] infile [-o outfile] ... 11703 Usage: texindex [-k] [-T tempdir] infile [-o outfile] ...
11110 11704
11111 Each infile arg can optionally be followed by a `-o outfile' arg; 11705 Each infile arg can optionally be followed by a `-o outfile' arg;
11112 for each infile that is not followed by a -o arg, the infile name with 11706 for each infile that is not followed by a -o arg, the infile name with
11156 the text of the indices and determine their true page numbers; and a 11750 the text of the indices and determine their true page numbers; and a
11157 third time to output correct page numbers in cross references to them. 11751 third time to output correct page numbers in cross references to them.
11158 However, cross references to indices are rare.}@refill 11752 However, cross references to indices are rare.}@refill
11159 11753
11160 To summarize, this is a three step process: 11754 To summarize, this is a three step process:
11161 11755
11162 @enumerate 11756 @enumerate
11163 @item 11757 @item
11164 Run the @code{tex} formatting command on the Texinfo file. This 11758 Run the @code{tex} formatting command on the Texinfo file. This
11165 generates the formatted @sc{dvi} file as well as the raw index files 11759 generates the formatted @sc{dvi} file as well as the raw index files
11166 with two letter extensions.@refill 11760 with two letter extensions.@refill
11167 11761
11168 @item 11762 @item
11169 Run the shell command @code{texindex} on the raw index files to sort 11763 Run the shell command @code{texindex} on the raw index files to sort
11170 them. This creates the corresponding sorted index files.@refill 11764 them. This creates the corresponding sorted index files.@refill
11171 11765
11172 @item 11766 @item
11173 Rerun the @code{tex} formatting command on the Texinfo file. This 11767 Rerun the @code{tex} formatting command on the Texinfo file. This
11174 regenerates a formatted @sc{dvi} file with the index entries in the 11768 regenerates a formatted @sc{dvi} file with the index entries in the
11175 correct order. This second run also corrects the page numbers for 11769 correct order. This second run also corrects the page numbers for
11176 the cross references. (The tables of contents are always correct.)@refill 11770 the cross references. (The tables of contents are always correct.)@refill
11177 @end enumerate 11771 @end enumerate
11178 11772
11179 You need not run @code{texindex} each time after you run the 11773 You need not run @code{texindex} each time after you run the
11180 @code{tex} formatting. If you do not, on the next run, the @code{tex} 11774 @code{tex} formatting. If you do not, on the next run, the @code{tex}
11183 @sc{ok} while you are debugging.@refill 11777 @sc{ok} while you are debugging.@refill
11184 11778
11185 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy 11779 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy
11186 @comment node-name, next, previous, up 11780 @comment node-name, next, previous, up
11187 @section Format using @code{texi2dvi} 11781 @section Format using @code{texi2dvi}
11188 @findex texi2dvi @r{(shell script)} 11782 @pindex texi2dvi @r{(shell script)}
11189 11783
11190 The @code{texi2dvi} command is a shell script that automatically runs 11784 The @code{texi2dvi} command is a shell script that automatically runs
11191 both @code{tex} and @code{texindex} as needed to produce a @sc{dvi} file 11785 both @code{tex} and @code{texindex} as many times as necessary to
11192 with up-to-date, sorted indices. It simplifies the 11786 produce a @sc{dvi} file with up-to-date, sorted indices. It simplifies
11193 @code{tex}---@code{texindex}---@code{tex} sequence described in the 11787 the @code{tex}---@code{texindex}---@code{tex} sequence described in the
11194 previous section. 11788 previous section.
11195 11789
11196 @need 1000 11790 @need 1000
11197 The syntax for @code{texi2dvi} is like this (where @samp{%} is the 11791 The syntax for @code{texi2dvi} is like this (where @samp{prompt$} is the
11198 shell prompt):@refill 11792 shell prompt):@refill
11199 11793
11200 @example 11794 @example
11201 % texi2dvi @var{filename}@dots{} 11795 prompt$ @kbd{texi2dvi @var{filename}@dots{}}
11202 @end example 11796 @end example
11203 11797
11204 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy 11798 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy
11205 @comment node-name, next, previous, up 11799 @comment node-name, next, previous, up
11206 @section Shell Print Using @code{lpr -d} 11800 @section Shell Print Using @code{lpr -d}
11207 @findex lpr @r{(@sc{dvi} print command)} 11801 @pindex lpr @r{(@sc{dvi} print command)}
11208 11802
11209 You can print a @sc{dvi} file with the @sc{dvi} print command. The 11803 You can print a @sc{dvi} file with the @sc{dvi} print command. The
11210 precise printing command to use depends on your system; @samp{lpr -d} is 11804 precise printing command to use depends on your system; @samp{lpr -d} is
11211 common. The @sc{dvi} print command may require a file name without any 11805 common. The @sc{dvi} print command may require a file name without any
11212 extension or with a @samp{.dvi} extension.@refill 11806 extension or with a @samp{.dvi} extension.@refill
11289 @table @kbd 11883 @table @kbd
11290 @item C-c C-t C-b 11884 @item C-c C-t C-b
11291 @itemx M-x texinfo-tex-buffer 11885 @itemx M-x texinfo-tex-buffer
11292 Run @code{texi2dvi} on the current buffer.@refill 11886 Run @code{texi2dvi} on the current buffer.@refill
11293 11887
11294 @item C-c C-t C-r 11888 @item C-c C-t C-r
11295 @itemx M-x texinfo-tex-region 11889 @itemx M-x texinfo-tex-region
11296 Run @TeX{} on the current region.@refill 11890 Run @TeX{} on the current region.@refill
11297 11891
11298 @item C-c C-t C-i 11892 @item C-c C-t C-i
11299 @itemx M-x texinfo-texindex 11893 @itemx M-x texinfo-texindex
11346 @end example 11940 @end example
11347 11941
11348 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs 11942 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs
11349 called the @file{*tex-shell*}. The @code{texinfo-tex-command}, 11943 called the @file{*tex-shell*}. The @code{texinfo-tex-command},
11350 @code{texinfo-texindex-command}, and @code{tex-dvi-print-command} 11944 @code{texinfo-texindex-command}, and @code{tex-dvi-print-command}
11351 commands are all run in this shell. 11945 commands are all run in this shell.
11352 11946
11353 You can watch the commands operate in the @samp{*tex-shell*} buffer, 11947 You can watch the commands operate in the @samp{*tex-shell*} buffer,
11354 and you can switch to and from and use the @samp{*tex-shell*} buffer 11948 and you can switch to and from and use the @samp{*tex-shell*} buffer
11355 as you would any other shell buffer.@refill 11949 as you would any other shell buffer.@refill
11356 11950
11410 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill 12004 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill
11411 12005
11412 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy 12006 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy
11413 @comment node-name, next, previous, up 12007 @comment node-name, next, previous, up
11414 @section @TeX{} Formatting Requirements Summary 12008 @section @TeX{} Formatting Requirements Summary
11415 @cindex Requirements for formatting 12009 @cindex Requirements for formatting
11416 @cindex Formatting requirements 12010 @cindex Formatting requirements
11417 12011
11418 Every Texinfo file that is to be input to @TeX{} must begin with a 12012 Every Texinfo file that is to be input to @TeX{} must begin with a
11419 @code{\input} command and contain an @code{@@settitle} command:@refill 12013 @code{\input} command and must contain an @code{@@setfilename} command and
12014 an @code{@@settitle} command:@refill
11420 12015
11421 @example 12016 @example
11422 \input texinfo 12017 \input texinfo
12018 @@setfilename @var{arg-not-used-by-@TeX{}}
11423 @@settitle @var{name-of-manual} 12019 @@settitle @var{name-of-manual}
11424 @end example 12020 @end example
11425 12021
11426 @noindent 12022 @noindent
11427 The first command instructs @TeX{} to load the macros it needs to 12023 The first command instructs @TeX{} to load the macros it needs to
11428 process a Texinfo file and the second command specifies the title of 12024 process a Texinfo file, the second command opens auxiliary files, and
11429 printed manual.@refill 12025 the third specifies the title of printed manual.
11430 12026
11431 @need 1000 12027 @need 1000
11432 Every Texinfo file must end with a line that terminates @TeX{} 12028 Every Texinfo file must end with a line that terminates @TeX{}
11433 processing and forces out unfinished pages:@refill 12029 processing and forces out unfinished pages:@refill
11434 12030
11435 @example 12031 @example
11436 @@bye 12032 @@bye
11437 @end example 12033 @end example
11438 12034
11439 Strictly speaking, these three lines are all a Texinfo file needs for 12035 Strictly speaking, these four lines are all a Texinfo file needs for
11440 @TeX{}, besides the body. (The @code{@@setfilename} line is the only 12036 @TeX{}, besides the body. (The @code{@@setfilename} line is the only
11441 line that a Texinfo file needs for Info formatting.)@refill 12037 line that a Texinfo file needs for Info formatting.)@refill
11442 12038
11443 Usually, the file's first line contains an @samp{@@c -*-texinfo-*-} 12039 Usually, the file's first line contains an @samp{@@c -*-texinfo-*-}
11444 comment that causes Emacs to switch to Texinfo mode when you edit the 12040 comment that causes Emacs to switch to Texinfo mode when you edit the
11445 file. In addition, the beginning usually includes an 12041 file. In addition, the beginning usually includes an
11446 @code{@@setfilename} for Info formatting, an @code{@@setchapternewpage} 12042 @code{@@setchapternewpage} command, a title page, a copyright page, and
11447 command, a title page, a copyright page, and permissions. Besides an 12043 permissions. Besides an @code{@@bye}, the end of a file usually
11448 @code{@@bye}, the end of a file usually includes indices and a table of 12044 includes indices and a table of contents.@refill
11449 contents.@refill
11450 12045
11451 @iftex 12046 @iftex
11452 For more information, see 12047 For more information, see
11453 @ref{setchapternewpage, , @code{@@setchapternewpage}}, 12048 @ref{setchapternewpage, , @code{@@setchapternewpage}},
11454 @ref{Headings, ,Page Headings}, 12049 @ref{Headings, ,Page Headings},
11482 at the beginning of the first line. The @file{texinfo.tex} file tells 12077 at the beginning of the first line. The @file{texinfo.tex} file tells
11483 @TeX{} how to handle @@-commands. (@file{texinfo.tex} is 12078 @TeX{} how to handle @@-commands. (@file{texinfo.tex} is
11484 included in the standard GNU distributions.)@refill 12079 included in the standard GNU distributions.)@refill
11485 12080
11486 Usually, the @file{texinfo.tex} file is put in the default directory 12081 Usually, the @file{texinfo.tex} file is put in the default directory
11487 that contains @TeX{} macros (the @file{/usr/lib/tex/macros} 12082 that contains @TeX{} macros (the @file{/usr/lib/tex/macros}
11488 directory) when GNU Emacs or other GNU software is installed. 12083 directory) when GNU Emacs or other GNU software is installed.
11489 In this case, @TeX{} will 12084 In this case, @TeX{} will
11490 find the file and you do not need to do anything special. 12085 find the file and you do not need to do anything special.
11491 Alternatively, you can put @file{texinfo.tex} in the directory in 12086 Alternatively, you can put @file{texinfo.tex} in the directory in
11492 which the Texinfo source file is located, and @TeX{} will find it 12087 which the Texinfo source file is located, and @TeX{} will find it
11493 there.@refill 12088 there.@refill
11551 (In @TeX{}, lines are in ``horizontal boxes'', hence the term, ``hbox''. 12146 (In @TeX{}, lines are in ``horizontal boxes'', hence the term, ``hbox''.
11552 The backslash, @samp{\}, is the @TeX{} equivalent of @samp{@@}.)@refill 12147 The backslash, @samp{\}, is the @TeX{} equivalent of @samp{@@}.)@refill
11553 12148
11554 @TeX{} also provides the line number in the Texinfo source file and 12149 @TeX{} also provides the line number in the Texinfo source file and
11555 the text of the offending line, which is marked at all the places that 12150 the text of the offending line, which is marked at all the places that
11556 @TeX{} knows how to hyphenate words. 12151 @TeX{} knows how to hyphenate words.
11557 @xref{Debugging with TeX, , Catching Errors with @TeX{} Formatting}, 12152 @xref{Debugging with TeX, , Catching Errors with @TeX{} Formatting},
11558 for more information about typesetting errors.@refill 12153 for more information about typesetting errors.@refill
11559 12154
11560 If the Texinfo file has an overfull hbox, you can rewrite the sentence 12155 If the Texinfo file has an overfull hbox, you can rewrite the sentence
11561 so the overfull hbox does not occur, or you can decide to leave it. A 12156 so the overfull hbox does not occur, or you can decide to leave it. A
11563 even be noticeable.@refill 12158 even be noticeable.@refill
11564 12159
11565 @cindex Black rectangle in hardcopy 12160 @cindex Black rectangle in hardcopy
11566 @cindex Rectangle, ugly, black in hardcopy 12161 @cindex Rectangle, ugly, black in hardcopy
11567 However, unless told otherwise, @TeX{} will print a large, ugly, black 12162 However, unless told otherwise, @TeX{} will print a large, ugly, black
11568 rectangle beside the line that contains the overful hbox. This is so 12163 rectangle beside the line that contains the overfull hbox. This is so
11569 you will notice the location of the problem if you are correcting a 12164 you will notice the location of the problem if you are correcting a
11570 draft.@refill 12165 draft.@refill
11571 12166
11572 @need 1000 12167 @need 1000
11573 @findex finalout 12168 @findex finalout
11642 @@end iftex 12237 @@end iftex
11643 @@c %**end of header 12238 @@c %**end of header
11644 @end group 12239 @end group
11645 @end example 12240 @end example
11646 12241
11647 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy 12242 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy
11648 @comment node-name, next, previous, up 12243 @comment node-name, next, previous, up
11649 @section Cropmarks and Magnification 12244 @section Cropmarks and Magnification
11650 12245
11651 @findex cropmarks 12246 @findex cropmarks
11652 @cindex Cropmarks for printing 12247 @cindex Cropmarks for printing
11653 @cindex Printing cropmarks 12248 @cindex Printing cropmarks
11654 You can attempt to direct @TeX{} to print cropmarks at the corners of 12249 You can attempt to direct @TeX{} to print cropmarks at the corners of
11655 pages with the @code{@@cropmarks} command. Write the @code{@@cropmarks} 12250 pages with the @code{@@cropmarks} command. Write the @code{@@cropmarks}
11656 command on a line by itself between @code{@@iftex} and @code{@@end 12251 command on a line by itself between @code{@@iftex} and @code{@@end
11679 @cindex Larger or smaller pages 12274 @cindex Larger or smaller pages
11680 You can attempt to direct @TeX{} to typeset pages larger or smaller than 12275 You can attempt to direct @TeX{} to typeset pages larger or smaller than
11681 usual with the @code{\mag} @TeX{} command. Everything that is typeset 12276 usual with the @code{\mag} @TeX{} command. Everything that is typeset
11682 is scaled proportionally larger or smaller. (@code{\mag} stands for 12277 is scaled proportionally larger or smaller. (@code{\mag} stands for
11683 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a 12278 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a
11684 Plain@TeX{} command that is prefixed with a backslash. You have to 12279 plain @TeX{} command that is prefixed with a backslash. You have to
11685 write this command between @code{@@tex} and @code{@@end tex} 12280 write this command between @code{@@tex} and @code{@@end tex}
11686 (@pxref{Using Ordinary TeX Commands, , Using Ordinary @TeX{} 12281 (@pxref{Using Ordinary TeX Commands, , Using Ordinary @TeX{}
11687 Commands}).@refill 12282 Commands}).@refill
11688 12283
11689 Follow the @code{\mag} command with an @samp{=} and then a number that 12284 Follow the @code{\mag} command with an @samp{=} and then a number that
11727 * Invoking makeinfo:: How to run @code{makeinfo} from a shell. 12322 * Invoking makeinfo:: How to run @code{makeinfo} from a shell.
11728 * makeinfo options:: Specify fill-column and other options. 12323 * makeinfo options:: Specify fill-column and other options.
11729 * Pointer Validation:: How to check that pointers point somewhere. 12324 * Pointer Validation:: How to check that pointers point somewhere.
11730 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs. 12325 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs.
11731 * texinfo-format commands:: Two Info formatting commands written 12326 * texinfo-format commands:: Two Info formatting commands written
11732 in Emacs Lisp are an alternative 12327 in Emacs Lisp are an alternative
11733 to @code{makeinfo}. 12328 to @code{makeinfo}.
11734 * Batch Formatting:: How to format for Info in Emacs Batch mode. 12329 * Batch Formatting:: How to format for Info in Emacs Batch mode.
11735 * Tag and Split Files:: How tagged and split files help Info 12330 * Tag and Split Files:: How tagged and split files help Info
11736 to run better. 12331 to run better.
11737 @end menu 12332 @end menu
11738 12333
11739 @node makeinfo advantages, Invoking makeinfo, Create an Info File, Create an Info File 12334 @node makeinfo advantages, Invoking makeinfo, Create an Info File, Create an Info File
11740 @ifinfo 12335 @ifinfo
11827 The options are:@refill 12422 The options are:@refill
11828 12423
11829 @need 100 12424 @need 100
11830 @table @code 12425 @table @code
11831 @item -D @var{var} 12426 @item -D @var{var}
11832 Cause @var{var} to be defined. This is equivalent to 12427 Cause @var{var} to be defined. This is equivalent to
11833 @code{@@set @var{var}} in the Texinfo file. 12428 @code{@@set @var{var}} in the Texinfo file.
11834 12429
11835 @need 150 12430 @need 150
11836 @item --error-limit @var{limit} 12431 @item --error-limit @var{limit}
11837 Set the maximum number of errors that @code{makeinfo} will report 12432 Set the maximum number of errors that @code{makeinfo} will report
11937 than this number of references in it, @code{makeinfo} will make the 12532 than this number of references in it, @code{makeinfo} will make the
11938 references but also report a warning.@refill 12533 references but also report a warning.@refill
11939 12534
11940 @need 150 12535 @need 150
11941 @item -U @var{var} 12536 @item -U @var{var}
11942 Cause @var{var} to be undefined. This is equivalent to 12537 Cause @var{var} to be undefined. This is equivalent to
11943 @code{@@clear @var{var}} in the Texinfo file. 12538 @code{@@clear @var{var}} in the Texinfo file.
11944 12539
11945 @need 100 12540 @need 100
11946 @item --verbose 12541 @item --verbose
11947 Cause @code{makeinfo} to display messages saying what it is doing. 12542 Cause @code{makeinfo} to display messages saying what it is doing.
11968 If a `Next', `Previous', or `Up' node reference is a reference to a 12563 If a `Next', `Previous', or `Up' node reference is a reference to a
11969 node in the current file and is not an external reference such as to 12564 node in the current file and is not an external reference such as to
11970 @file{(dir)}, then the referenced node must exist.@refill 12565 @file{(dir)}, then the referenced node must exist.@refill
11971 12566
11972 @item 12567 @item
11973 In every node, if the `Previous' node is different from the `Up' node, 12568 In every node, if the `Previous' node is different from the `Up' node,
11974 then the `Previous' node must also be pointed to by a `Next' node.@refill 12569 then the `Previous' node must also be pointed to by a `Next' node.@refill
11975 12570
11976 @item 12571 @item
11977 Every node except the `Top' node must have an `Up' pointer.@refill 12572 Every node except the `Top' node must have an `Up' pointer.@refill
11978 12573
12063 12658
12064 For example, you could write the following in your @file{.emacs} file:@refill 12659 For example, you could write the following in your @file{.emacs} file:@refill
12065 12660
12066 @example 12661 @example
12067 @group 12662 @group
12068 (setq makeinfo-options 12663 (setq makeinfo-options
12069 "--paragraph-indent=0 --no-split 12664 "--paragraph-indent=0 --no-split
12070 --fill-column=70 --verbose") 12665 --fill-column=70 --verbose")
12071 @end group 12666 @end group
12072 @end example 12667 @end example
12073 12668
12074 @c If you write these three cross references using xref, you see 12669 @c If you write these three cross references using xref, you see
12155 mode, you create a new Emacs process. This frees your current Emacs, so 12750 mode, you create a new Emacs process. This frees your current Emacs, so
12156 you can continue working in it. (When you run 12751 you can continue working in it. (When you run
12157 @code{texinfo-format-region} or @code{texinfo-format-buffer}, you cannot 12752 @code{texinfo-format-region} or @code{texinfo-format-buffer}, you cannot
12158 use that Emacs for anything else until the command finishes.)@refill 12753 use that Emacs for anything else until the command finishes.)@refill
12159 12754
12160 @node Tag and Split Files, , Batch Formatting, Create an Info File 12755 @node Tag and Split Files, , Batch Formatting, Create an Info File
12161 @comment node-name, next, previous, up 12756 @comment node-name, next, previous, up
12162 @section Tag Files and Split Files 12757 @section Tag Files and Split Files
12163 @cindex Making a tag table automatically 12758 @cindex Making a tag table automatically
12164 @cindex Tag table, making automatically 12759 @cindex Tag table, making automatically
12165 12760
12244 Info-validate} node-checking command on indirect files. For 12839 Info-validate} node-checking command on indirect files. For
12245 information on how to prevent files from being split and how to 12840 information on how to prevent files from being split and how to
12246 validate the structure of the nodes, see @ref{Using 12841 validate the structure of the nodes, see @ref{Using
12247 Info-validate}.@refill 12842 Info-validate}.@refill
12248 12843
12844
12249 @node Install an Info File, Command List, Create an Info File, Top 12845 @node Install an Info File, Command List, Create an Info File, Top
12250 @comment node-name, next, previous, up 12846 @comment node-name, next, previous, up
12251 @chapter Installing an Info File 12847 @chapter Installing an Info File
12252 @cindex Installing an Info file 12848 @cindex Installing an Info file
12253 @cindex Info file installation 12849 @cindex Info file installation
12258 into Emacs. (@inforef{Top, info, info}, for an introduction to Info.) 12854 into Emacs. (@inforef{Top, info, info}, for an introduction to Info.)
12259 12855
12260 @menu 12856 @menu
12261 * Directory file:: The top level menu for all Info files. 12857 * Directory file:: The top level menu for all Info files.
12262 * New Info File:: Listing a new info file. 12858 * New Info File:: Listing a new info file.
12263 * Other Info Directories:: How to specify Info files that are 12859 * Other Info Directories:: How to specify Info files that are
12264 located in other directories. 12860 located in other directories.
12861 * Installing Dir Entries:: How to specify what menu entry to add
12862 to the Info directory.
12863 * Invoking install-info:: @code{install-info} options.
12265 @end menu 12864 @end menu
12266 12865
12267 @node Directory file, New Info File, Install an Info File, Install an Info File 12866 @node Directory file, New Info File, Install an Info File, Install an Info File
12268 @ifinfo 12867 @ifinfo
12269 @heading The @file{dir} File 12868 @heading The @file{dir} File
12284 * Menu: 12883 * Menu:
12285 12884
12286 * Info: (info). Documentation browsing system. 12885 * Info: (info). Documentation browsing system.
12287 * Emacs: (emacs). The extensible, self-documenting 12886 * Emacs: (emacs). The extensible, self-documenting
12288 text editor. 12887 text editor.
12289 * Texinfo: (texinfo). With one source file, make 12888 * Texinfo: (texinfo). With one source file, make
12290 either a printed manual using 12889 either a printed manual using
12291 TeX or an Info file. 12890 TeX or an Info file.
12292 @dots{} 12891 @dots{}
12293 @end group 12892 @end group
12294 @end example 12893 @end example
12295 12894
12314 @noindent 12913 @noindent
12315 (Note that in this case, the @file{dir} file name is written in upper 12914 (Note that in this case, the @file{dir} file name is written in upper
12316 case letters---it can be written in either upper or lower case. Info 12915 case letters---it can be written in either upper or lower case. Info
12317 has a feature that it will change the case of the file name to lower 12916 has a feature that it will change the case of the file name to lower
12318 case if it cannot find the name as written.)@refill 12917 case if it cannot find the name as written.)@refill
12319 12918 @c !!! Can any file name be written in upper or lower case,
12320 @c !!! Can any file name be written in upper or lower case,
12321 @c or is dir a special case? 12919 @c or is dir a special case?
12322 @c Yes, apparently so, at least with Gillespie's Info. --rjc 24mar92 12920 @c Yes, apparently so, at least with Gillespie's Info. --rjc 24mar92
12323 @c 12921
12922
12324 @node New Info File, Other Info Directories, Directory file, Install an Info File 12923 @node New Info File, Other Info Directories, Directory file, Install an Info File
12325 @section Listing a New Info File 12924 @section Listing a New Info File
12326 @cindex Adding a new info file 12925 @cindex Adding a new info file
12327 @cindex Listing a new info file 12926 @cindex Listing a new info file
12328 @cindex New info file, listing it in @file{dir} file 12927 @cindex New info file, listing it in @file{dir} file
12329 @cindex Info file, listing new one 12928 @cindex Info file, listing new one
12330 @cindex @file{dir} file listing 12929 @cindex @file{dir} file listing
12331 12930
12332 To add a new Info file to your system, write a menu entry for it in the 12931 To add a new Info file to your system, you must write a menu entry to
12333 menu in the @file{dir} file in the @file{info} directory. Also, move 12932 add to the menu in the @file{dir} file in the @file{info} directory.
12334 the new Info file itself to the @file{info} directory. For example, if 12933 For example, if you were adding documentation for GDB, you would write
12335 you were adding documentation for GDB, you would write the following new 12934 the following new entry:@refill
12336 entry:@refill
12337 12935
12338 @example 12936 @example
12339 * GDB: (gdb). The source-level C debugger. 12937 * GDB: (gdb). The source-level C debugger.
12340 @end example 12938 @end example
12341 12939
12342 @noindent 12940 @noindent
12343 The first part of the menu entry is the menu entry name, followed by a 12941 The first part of the menu entry is the menu entry name, followed by a
12344 colon. The second part is the name of the Info file, in parentheses, 12942 colon. The second part is the name of the Info file, in parentheses,
12345 followed by a period. The third part is the description.@refill 12943 followed by a period. The third part is the description.
12346 12944
12347 Conventionally, the name of an Info file has a @file{.info} extension. 12945 The name of an Info file often has a @file{.info} extension. Thus, the
12348 Thus, you might list the name of the file like this: 12946 Info file for GDB might be called either @file{gdb} or @file{gdb.info}.
12349 12947 The Info reader programs automatically try the file name both with and
12350 @example 12948 without @file{.info}; so it is better to avoid clutter and not to write
12351 * GDB: (gdb.info). The source-level C debugger. 12949 @samp{.info} explicitly in the menu entry. For example, the GDB menu
12352 @end example 12950 entry should use just @samp{gdb} for the file name, not @samp{gdb.info}.
12353 12951
12354 @noindent 12952
12355 However, Info will look for a file with a @file{.info} extension if it 12953 @node Other Info Directories, Installing Dir Entries, New Info File, Install an Info File
12356 does not find the file under the name given in the menu. This means
12357 that you can refer to the file @file{gdb.info} as @file{gdb}, as shown
12358 in the first example. This looks better.
12359
12360 @node Other Info Directories, , New Info File, Install an Info File
12361 @comment node-name, next, previous, up 12954 @comment node-name, next, previous, up
12362 @section Info Files in Other Directories 12955 @section Info Files in Other Directories
12363 @cindex Installing Info in another directory 12956 @cindex Installing Info in another directory
12364 @cindex Info installed in another directory 12957 @cindex Info installed in another directory
12365 @cindex Another Info directory 12958 @cindex Another Info directory
12376 If you are using Emacs, list the name of the file in a second @file{dir} 12969 If you are using Emacs, list the name of the file in a second @file{dir}
12377 file, in its directory; and then add the name of that directory to the 12970 file, in its directory; and then add the name of that directory to the
12378 @code{Info-directory-list} variable in your personal or site 12971 @code{Info-directory-list} variable in your personal or site
12379 initialization file. 12972 initialization file.
12380 12973
12381 This tells Emacs's Info reader reader where to look for @file{dir} 12974 This tells Emacs's Info reader where to look for @file{dir}
12382 files. Emacs merges the files named @file{dir} from each of the listed 12975 files. Emacs merges the files named @file{dir} from each of the listed
12383 directories. (In Emacs Version 18, you can set the 12976 directories. (In Emacs Version 18, you can set the
12384 @code{Info-directory} variable to the name of only one 12977 @code{Info-directory} variable to the name of only one
12385 directory.)@refill 12978 directory.)@refill
12386 12979
12387 @item 12980 @item
12388 Specify the @file{info} directory name in an environment variable in 12981 Specify the @file{info} directory name in the @code{INFOPATH}
12389 your @file{.profile} or @file{.cshrc} initialization file. (Only you 12982 environment variable in your @file{.profile} or @file{.cshrc}
12390 and others who set this environment variable will be able to find Info 12983 initialization file. (Only you and others who set this environment
12391 files whose location is specified this way.)@refill 12984 variable will be able to find Info files whose location is specified
12985 this way.)@refill
12392 @end itemize 12986 @end itemize
12393 12987
12394 For example, to reach a test file in the @file{~bob/manuals} 12988 For example, to reach a test file in the @file{~bob/manuals}
12395 directory, you could add an entry like this to the menu in the 12989 directory, you could add an entry like this to the menu in the
12396 @file{dir} file:@refill 12990 @file{dir} file:@refill
12397 12991
12398 @example 12992 @example
12399 * Test: (/usr/bob/manuals/info-test). Bob's own test file. 12993 * Test: (/home/bob/manuals/info-test). Bob's own test file.
12400 @end example 12994 @end example
12401 12995
12402 @noindent 12996 @noindent
12403 In this case, the absolute file name of the @file{info-test} file is 12997 In this case, the absolute file name of the @file{info-test} file is
12404 written as the second part of the menu entry.@refill 12998 written as the second part of the menu entry.@refill
12405 12999
12406 @vindex Info-directory-list 13000 @vindex Info-directory-list
12407 Alternatively, you could write the following in your @file{.emacs} 13001 Alternatively, you could write the following in your @file{.emacs}
12408 file:@refill 13002 file:@refill
12409 13003
12410 @example 13004 @example
12411 @group 13005 @group
12412 (setq Info-directory-list 13006 (setq Info-directory-list
12413 '("/usr/bob/manuals" 13007 '("/home/bob/manuals"
12414 "/usr/local/emacs/info")) 13008 "/usr/local/emacs/info"))
12415 @end group 13009 @end group
12416 @end example 13010 @end example
12417 13011
12418 @c reworded to avoid overfill hbox 13012 @c reworded to avoid overfill hbox
12419 This tells Emacs to merge the @file{dir} file from the 13013 This tells Emacs to merge the @file{dir} file from the
12420 @file{/usr/bob/manuals} directory with the @file{dir} file from the 13014 @file{/home/bob/manuals} directory with the @file{dir} file from the
12421 @file{"/usr/local/emacs/info}" directory. Info will list the 13015 @file{"/usr/local/emacs/info}" directory. Info will list the
12422 @file{/usr/bob/manuals/info-test} file as a menu entry in the 13016 @file{/home/bob/manuals/info-test} file as a menu entry in the
12423 @file{/usr/bob/manuals/dir} file.@refill 13017 @file{/home/bob/manuals/dir} file.@refill
12424 13018
12425 @vindex INFOPATH 13019 @vindex INFOPATH
12426 Finally, you can tell Info where to look by setting the 13020 Finally, you can tell Info where to look by setting the
12427 @code{INFOPATH} environment variable in your @file{.cshrc} or 13021 @code{INFOPATH} environment variable in your @file{.cshrc} or
12428 @file{.profile} file.@refill 13022 @file{.profile} file.@refill
12429 13023
12430 If you use @code{sh} or @code{bash} for your shell command interpreter, 13024 If you use @code{sh} or @code{bash} for your shell command interpreter,
12431 you must set the @code{INFOPATH} environment variable in the 13025 you must set the @code{INFOPATH} environment variable in the
12432 @file{.profile} initialization file; but if you use @code{csh}, you must 13026 @file{.profile} initialization file; but if you use @code{csh}, you must
12433 set the variable in the @file{.cshrc} initialization file. The two 13027 set the variable in the @file{.cshrc} initialization file. The two
12434 files require slightly different command formats.@refill 13028 files use slightly different command formats.@refill
12435 13029
12436 @itemize @bullet 13030 @itemize @bullet
12437 @item 13031 @item
12438 In a @file{.cshrc} file, you could set the @code{INFOPATH} 13032 In a @file{.cshrc} file, you could set the @code{INFOPATH}
12439 variable as follows:@refill 13033 variable as follows:@refill
12455 @noindent 13049 @noindent
12456 The @samp{.} indicates the current directory. Emacs uses the 13050 The @samp{.} indicates the current directory. Emacs uses the
12457 @code{INFOPATH} environment variable to initialize the value of Emacs's 13051 @code{INFOPATH} environment variable to initialize the value of Emacs's
12458 own @code{Info-directory-list} variable. 13052 own @code{Info-directory-list} variable.
12459 13053
13054
13055 @node Installing Dir Entries, Invoking install-info, Other Info Directories, Install an Info File
13056 @section Installing Info Directory Files
13057
13058 When you install an Info file onto your system, you can use the program
13059 @code{install-info} to update the Info directory file @file{dir}.
13060 Normally the makefile for the package runs @code{install-info}, just
13061 after copying the Info file into its proper installed location.
13062
13063 @findex dircategory
13064 @findex direntry
13065 In order for the Info file to work with @code{install-info}, you should
13066 use the commands @code{@@dircategory} and @code{@@direntry} in the
13067 Texinfo source file. Use @code{@@direntry} to specify the menu entry to
13068 add to the Info directory file, and use @code{@@dircategory} to specify
13069 which part of the Info directory to put it in. Here is how these
13070 commands are used in this manual:
13071
13072 @smallexample
13073 @@dircategory Texinfo documentation system
13074 @@direntry
13075 * Texinfo: (texinfo). The GNU documentation format.
13076 * install-info: (texinfo)Invoking install-info. @dots{}
13077 @dots{}
13078 @@end direntry
13079 @end smallexample
13080
13081 Here's what this produces in the Info file:
13082
13083 @smallexample
13084 INFO-DIR-SECTION Texinfo documentation system
13085 START-INFO-DIR-ENTRY
13086 * Texinfo: (texinfo). The GNU documentation format.
13087 * install-info: (texinfo)Invoking install-info. @dots{}
13088 @dots{}
13089 END-INFO-DIR-ENTRY
13090 @end smallexample
13091
13092 @noindent
13093 The @code{install-info} program sees these lines in the Info file, and
13094 that is how it knows what to do.
13095
13096 Always use the @code{@@direntry} and @code{@@dircategory} commands near
13097 the beginning of the Texinfo input, before the first @code{@@node}
13098 command. If you use them later on in the input, @code{install-info}
13099 will not notice them.
13100
13101 If you use @code{@@dircategory} more than once in the Texinfo source,
13102 each usage specifies one category; the new menu entry is added to the
13103 Info directory file in each of the categories you specify. If you use
13104 @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
13106 specified categories.
13107
13108
13109 @node Invoking install-info, , Installing Dir Entries, Install an Info File
13110 @section Invoking install-info
13111
13112 @pindex install-info
13113
13114 @code{install-info} inserts menu entries from an Info file into the
13115 top-level @file{dir} file in the Info system (see the previous sections
13116 for an explanation of how the @file{dir} file works). It's most often
13117 run as part of software installation, or when constructing a dir file
13118 for all manuals on a system. Synopsis:
13119
13120 @example
13121 install-info [@var{option}]@dots{} [@var{info-file} [@var{dir-file}]]
13122 @end example
13123
13124 If @var{info-file} or @var{dir-file} are not specified, the various
13125 options (described below) that define them must be. There are no
13126 compile-time defaults, and standard input is never used.
13127 @code{install-info} can read only one info file and write only one dir
13128 file per invocation.
13129
13130 Options:
13131
13132 @table @samp
13133 @item --delete
13134 @opindex --delete
13135 Only delete existing entries in @var{info-file}; don't insert any new
13136 entries.
13137
13138 @item --dir-file=@var{name}
13139 @opindex --dir-file=@var{name}
13140 Specify file name of the Info directory file. This is equivalent to
13141 using the @var{dir-file} argument.
13142
13143 @item --entry=@var{text}
13144 @opindex --entry=@var{text}
13145 Insert @var{text} as an Info directory entry; @var{text} should have the
13146 form of an Info menu item line plus zero or more extra lines starting
13147 with whitespace. If you specify more than one entry, they are all
13148 added. If you don't specify any entries, they are determined from
13149 information in the Info file itself.
13150
13151 @item --help
13152 @opindex --help
13153 Display a usage message listing basic usage and all available options,
13154 then exit successfully.
13155
13156 @item --info-file=@var{file}
13157 @opindex --info-file=@var{file}
13158 Specify Info file to install in the directory.
13159 This is equivalent to using the @var{info-file} argument.
13160
13161 @item --info-dir=@var{dir}
13162 @opindex --info-dir=@var{dir}
13163 Equivalent to @samp{--dir-file=@var{dir}/dir}.
13164
13165 @item --item=@var{text}
13166 @opindex --item=@var{text}
13167 Same as --entry=@var{text}. An Info directory entry is actually a menu
13168 item.
13169
13170 @item --quiet
13171 @opindex --quiet
13172 Suppress warnings.
13173
13174 @item --remove
13175 @opindex --remove
13176 Same as --delete.
13177
13178 @item --section=@var{sec}
13179 @opindex --section=@var{sec}
13180 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
13182 sections. If you don't specify any sections, they are determined from
13183 information in the Info file itself.
13184
13185 @item --version
13186 @opindex --version
13187 @cindex version number, finding
13188 Display version information and exit successfully.
13189
13190 @end table
13191
13192
12460 @c ================ Appendix starts here ================ 13193 @c ================ Appendix starts here ================
12461 13194
12462 @node Command List, Tips, Install an Info File, Top 13195 @node Command List, Tips, Install an Info File, Top
12463 @appendix @@-Command List 13196 @appendix @@-Command List
12464 @cindex Alphabetical @@-command list 13197 @cindex Alphabetical @@-command list
12469 brackets, @t{[}@w{ }@t{]}, indicate optional arguments; an ellipsis, 13202 brackets, @t{[}@w{ }@t{]}, indicate optional arguments; an ellipsis,
12470 @samp{@dots{}}, indicates repeated text.@refill 13203 @samp{@dots{}}, indicates repeated text.@refill
12471 13204
12472 @sp 1 13205 @sp 1
12473 @table @code 13206 @table @code
13207 @item @@@var{whitespace}
13208 An @code{@@} followed by a space, tab, or newline produces a normal,
13209 stretchable, interword space. @xref{Multiple Spaces}.
13210
13211 @item @@!
13212 Generate an exclamation point that really does end a sentence (usually
13213 after an end-of-sentence capital letter). @xref{Ending a Sentence}.
13214
13215 @item @@"
13216 @itemx @@'
13217 Generate an umlaut or acute accent, respectively, over the next
13218 character, as in @"o and @'o. @xref{Inserting Accents}.
13219
12474 @item @@* 13220 @item @@*
12475 Force a line break. Do not end a paragraph that uses @code{@@*} with 13221 Force a line break. Do not end a paragraph that uses @code{@@*} with
12476 an @code{@@refill} command. @xref{Line Breaks}.@refill 13222 an @code{@@refill} command. @xref{Line Breaks}.@refill
12477 13223
13224 @item @@,@{@var{c}@}
13225 Generate a cedilla accent under @var{c}, as in @,{c}. @xref{Inserting
13226 Accents}.
13227
13228 @item @@-
13229 Insert a discretionary hyphenation point. @xref{- and hyphenation}.
13230
12478 @item @@. 13231 @item @@.
12479 Stands for a period that really does end a sentence (usually after an 13232 Produce a period that really does end a sentence (usually after an
12480 end-of-sentence capital letter). @xref{Controlling Spacing}.@refill 13233 end-of-sentence capital letter). @xref{Ending a Sentence}.
12481 13234
12482 @item @@: 13235 @item @@:
12483 Indicate to @TeX{} that an immediately preceding period, question 13236 Indicate to @TeX{} that an immediately preceding period, question
12484 mark, exclamation mark, or colon does not end a sentence. Prevent 13237 mark, exclamation mark, or colon does not end a sentence. Prevent
12485 @TeX{} from inserting extra whitespace as it does at the end of a 13238 @TeX{} from inserting extra whitespace as it does at the end of a
12486 sentence. The command has no effect on the Info file output. 13239 sentence. The command has no effect on the Info file output.
12487 @xref{Controlling Spacing}.@refill 13240 @xref{Not Ending a Sentence}.@refill
13241
13242 @item @@=
13243 Generate a macro (bar) accent over the next character, as in @=o.
13244 @xref{Inserting Accents}.
13245
13246 @item @@?
13247 Generate a question mark that really does end a sentence (usually after
13248 an end-of-sentence capital letter). @xref{Ending a Sentence}.
12488 13249
12489 @item @@@@ 13250 @item @@@@
12490 Stands for @samp{@@}. @xref{Braces Atsigns Periods, , Inserting 13251 Stands for an at sign, @samp{@@}.@*
12491 @samp{@@}}.@refill 13252 @xref{Braces Atsigns, , Inserting @@ and braces}.
13253
13254 @item @@^
13255 @itemx @@`
13256 Generate a circumflex (hat) or grave accent, respectively, over the next
13257 character, as in @^o.
13258 @xref{Inserting Accents}.
12492 13259
12493 @item @@@{ 13260 @item @@@{
12494 Stands for a left-hand brace, @samp{@{}.@* 13261 Stands for a left brace, @samp{@{}.@*
12495 @xref{Braces Atsigns Periods, , Inserting @@ braces and periods}.@refill 13262 @xref{Braces Atsigns, , Inserting @@ and braces}.
12496 13263
12497 @item @@@} 13264 @item @@@}
12498 Stands for a right-hand brace, @samp{@}}.@* 13265 Stands for a right-hand brace, @samp{@}}.@*
12499 @xref{Braces Atsigns Periods, , Inserting @@ braces and periods}.@refill 13266 @xref{Braces Atsigns, , Inserting @@ and braces}.
13267
13268 @item @@=
13269 Generate a tilde accent over the next character, as in @~N.
13270 @xref{Inserting Accents}.
13271
13272 @item @@AA@{@}
13273 @itemx @@aa@{@}
13274 Generate the uppercase and lowercase Scandinavian A-ring letters,
13275 respectively: @AA{}, @aa{}. @xref{Inserting Accents}.
13276
13277 @item @@AE@{@}
13278 @itemx @@ae@{@}
13279 Generate the uppercase and lowercase AE ligatures, respectively:
13280 @AE{}, @ae{}. @xref{Inserting Accents}.
12500 13281
12501 @item @@appendix @var{title} 13282 @item @@appendix @var{title}
12502 Begin an appendix. The title appears in the table 13283 Begin an appendix. The title appears in the table
12503 of contents of a printed manual. In Info, the title is 13284 of contents of a printed manual. In Info, the title is
12504 underlined with asterisks. @xref{unnumbered & appendix, , The 13285 underlined with asterisks. @xref{unnumbered & appendix, , The
12563 13344
12564 @item @@center @var{line-of-text} 13345 @item @@center @var{line-of-text}
12565 Center the line of text following the command. 13346 Center the line of text following the command.
12566 @xref{titlefont center sp, , @code{@@center}}.@refill 13347 @xref{titlefont center sp, , @code{@@center}}.@refill
12567 13348
12568 @item @@lowersections 13349 @item @@centerchap @var{line-of-text}
12569 Change subsequent chapters to sections, sections to subsections, and so 13350 Like @code{@@chapter}, but centers the chapter title. @xref{chapter,,
12570 on. @xref{Raise/lower sections, , @code{@@raisesections} and 13351 @code{@@chapter}}.
12571 @code{@@lowersections}}.@refill
12572 13352
12573 @item @@chapheading @var{title} 13353 @item @@chapheading @var{title}
12574 Print a chapter-like heading in the text, but not in the table of 13354 Print a chapter-like heading in the text, but not in the table of
12575 contents of a printed manual. In Info, the title is underlined with 13355 contents of a printed manual. In Info, the title is underlined with
12576 asterisks. @xref{majorheading & chapheading, , @code{@@majorheading} 13356 asterisks. @xref{majorheading & chapheading, , @code{@@majorheading}
12592 @item @@clear @var{flag} 13372 @item @@clear @var{flag}
12593 Unset @var{flag}, preventing the Texinfo formatting commands from 13373 Unset @var{flag}, preventing the Texinfo formatting commands from
12594 formatting text between subsequent pairs of @code{@@ifset @var{flag}} 13374 formatting text between subsequent pairs of @code{@@ifset @var{flag}}
12595 and @code{@@end ifset} commands, and preventing 13375 and @code{@@end ifset} commands, and preventing
12596 @code{@@value@{@var{flag}@}} from expanding to the value to which 13376 @code{@@value@{@var{flag}@}} from expanding to the value to which
12597 @var{flag} is set. 13377 @var{flag} is set.
12598 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 13378 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
12599 13379
12600 @item @@code@{@var{sample-code}@} 13380 @item @@code@{@var{sample-code}@}
12601 Highlight text that is an expression, a syntactically complete token 13381 Highlight text that is an expression, a syntactically complete token
12602 of a program, or a program name. @xref{code, , @code{@@code}}.@refill 13382 of a program, or a program name. @xref{code, , @code{@@code}}.@refill
12625 Define a new index and its indexing command. Print entries in an 13405 Define a new index and its indexing command. Print entries in an
12626 @code{@@code} font. @xref{New Indices, , Defining New 13406 @code{@@code} font. @xref{New Indices, , Defining New
12627 Indices}.@refill 13407 Indices}.@refill
12628 13408
12629 @item @@defcv @var{category} @var{class} @var{name} 13409 @item @@defcv @var{category} @var{class} @var{name}
13410 @itemx @@defcvx @var{category} @var{class} @var{name}
12630 Format a description for a variable associated with a class in 13411 Format a description for a variable associated with a class in
12631 object-oriented programming. Takes three arguments: the category of 13412 object-oriented programming. Takes three arguments: the category of
12632 thing being defined, the class to which it belongs, and its name. 13413 thing being defined, the class to which it belongs, and its name.
12633 @xref{Definition Commands}.@refill 13414 @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
12634 13415
12635 @item @@deffn @var{category} @var{name} @var{arguments}@dots{} 13416 @item @@deffn @var{category} @var{name} @var{arguments}@dots{}
13417 @itemx @@deffnx @var{category} @var{name} @var{arguments}@dots{}
12636 Format a description for a function, interactive command, or similar 13418 Format a description for a function, interactive command, or similar
12637 entity that may take arguments. @code{@@deffn} takes as arguments the 13419 entity that may take arguments. @code{@@deffn} takes as arguments the
12638 category of entity being described, the name of this particular 13420 category of entity being described, the name of this particular
12639 entity, and its arguments, if any. @xref{Definition Commands}.@refill 13421 entity, and its arguments, if any. @xref{Definition Commands}.@refill
12640 13422
12641 @item @@defindex @var{index-name} 13423 @item @@defindex @var{index-name}
12642 Define a new index and its indexing command. Print entries in a roman 13424 Define a new index and its indexing command. Print entries in a roman
12643 font. @xref{New Indices, , Defining New Indices}.@refill 13425 font. @xref{New Indices, , Defining New Indices}.@refill
12644 13426
13427 @c Unused so far as I can see and unsupported by makeinfo -- karl, 15sep96.
12645 @item @@definfoenclose @var{new-command}, @var{before}, @var{after}, 13428 @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
12646 Create new @@-command for Info that marks text by enclosing it in 13429 Create new @@-command for Info that marks text by enclosing it in
12647 strings that precede and follow the text. Write definition inside of 13430 strings that precede and follow the text. Write definition inside of
12648 @code{@@ifinfo} @dots{} @code{@@end ifinfo}. @xref{Customized 13431 @code{@@ifinfo} @dots{} @code{@@end ifinfo}. @xref{Customized
12649 Highlighting}.@refill 13432 Highlighting}.@refill
12650 13433
12651 @item @@defivar @var{class} @var{instance-variable-name} 13434 @item @@defivar @var{class} @var{instance-variable-name}
13435 @itemx @@defivarx @var{class} @var{instance-variable-name}
12652 This command formats a description for an instance variable in 13436 This command formats a description for an instance variable in
12653 object-oriented programming. The command is equivalent to @samp{@@defcv 13437 object-oriented programming. The command is equivalent to @samp{@@defcv
12654 @{Instance Variable@} @dots{}}. @xref{Definition Commands}.@refill 13438 @{Instance Variable@} @dots{}}. @xref{Definition Commands}, and
13439 @ref{deffnx,, Def Cmds in Detail}.
12655 13440
12656 @item @@defmac @var{macro-name} @var{arguments}@dots{} 13441 @item @@defmac @var{macro-name} @var{arguments}@dots{}
13442 @itemx @@defmacx @var{macro-name} @var{arguments}@dots{}
12657 Format a description for a macro. The command is equivalent to 13443 Format a description for a macro. The command is equivalent to
12658 @samp{@@deffn Macro @dots{}}. @xref{Definition Commands}.@refill 13444 @samp{@@deffn Macro @dots{}}. @xref{Definition Commands}, and
13445 @ref{deffnx,, Def Cmds in Detail}.
12659 13446
12660 @item @@defmethod @var{class} @var{method-name} @var{arguments}@dots{} 13447 @item @@defmethod @var{class} @var{method-name} @var{arguments}@dots{}
13448 @itemx @@defmethodx @var{class} @var{method-name} @var{arguments}@dots{}
12661 Format a description for a method in object-oriented programming. The 13449 Format a description for a method in object-oriented programming. The
12662 command is equivalent to @samp{@@defop Method @dots{}}. Takes as 13450 command is equivalent to @samp{@@defop Method @dots{}}. Takes as
12663 arguments the name of the class of the method, the name of the 13451 arguments the name of the class of the method, the name of the
12664 method, and its arguments, if any. @xref{Definition Commands}.@refill 13452 method, and its arguments, if any. @xref{Definition Commands}, and
13453 @ref{deffnx,, Def Cmds in Detail}.
12665 13454
12666 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{} 13455 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{}
13456 @itemx @@defopx @var{category} @var{class} @var{name} @var{arguments}@dots{}
12667 Format a description for an operation in object-oriented programming. 13457 Format a description for an operation in object-oriented programming.
12668 @code{@@defop} takes as arguments the overall name of the category of 13458 @code{@@defop} takes as arguments the overall name of the category of
12669 operation, the name of the class of the operation, the name of the 13459 operation, the name of the class of the operation, the name of the
12670 operation, and its arguments, if any. @xref{Definition 13460 operation, and its arguments, if any. @xref{Definition
12671 Commands}.@refill 13461 Commands}, and @ref{deffnx,, Def Cmds in Detail}.
12672 13462
12673 @need 100
12674 @item @@defopt @var{option-name} 13463 @item @@defopt @var{option-name}
13464 @itemx @@defoptx @var{option-name}
12675 Format a description for a user option. The command is equivalent to 13465 Format a description for a user option. The command is equivalent to
12676 @samp{@@defvr @{User Option@} @dots{}}. @xref{Definition Commands}.@refill 13466 @samp{@@defvr @{User Option@} @dots{}}. @xref{Definition Commands}, and
12677 13467 @ref{deffnx,, Def Cmds in Detail}.
12678 @need 100 13468
12679 @item @@defspec @var{special-form-name} @var{arguments}@dots{} 13469 @item @@defspec @var{special-form-name} @var{arguments}@dots{}
13470 @itemx @@defspecx @var{special-form-name} @var{arguments}@dots{}
12680 Format a description for a special form. The command is equivalent to 13471 Format a description for a special form. The command is equivalent to
12681 @samp{@@deffn @{Special Form@} @dots{}}. @xref{Definition Commands}.@refill 13472 @samp{@@deffn @{Special Form@} @dots{}}. @xref{Definition Commands},
12682 13473 and @ref{deffnx,, Def Cmds in Detail}.
12683 @need 200 13474
12684 @item @@deftp @var{category} @var{name-of-type} @var{attributes}@dots{} 13475 @item @@deftp @var{category} @var{name-of-type} @var{attributes}@dots{}
12685 Format a description for a data type. @code{@@deftp} takes as 13476 @itemx @@deftpx @var{category} @var{name-of-type} @var{attributes}@dots{}
12686 arguments the category, the name of the type (which is a word like 13477 Format a description for a data type. @code{@@deftp} takes as arguments
12687 @samp{int} or @samp{float}), and then the names of attributes of 13478 the category, the name of the type (which is a word like @samp{int} or
12688 objects of that 13479 @samp{float}), and then the names of attributes of objects of that type.
12689 type. @xref{Definition Commands}.@refill 13480 @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
12690 13481
12691 @item @@deftypefn @var{classification} @var{data-type} @var{name} @var{arguments}@dots{} 13482 @item @@deftypefn @var{classification} @var{data-type} @var{name} @var{arguments}@dots{}
13483 @itemx @@deftypefnx @var{classification} @var{data-type} @var{name} @var{arguments}@dots{}
12692 Format a description for a function or similar entity that may take 13484 Format a description for a function or similar entity that may take
12693 arguments and that is typed. @code{@@deftypefn} takes as arguments 13485 arguments and that is typed. @code{@@deftypefn} takes as arguments the
12694 the classification of entity being described, the type, the name of 13486 classification of entity being described, the type, the name of the
12695 the entity, and its arguments, if any. @xref{Definition 13487 entity, and its arguments, if any. @xref{Definition Commands}, and
12696 Commands}.@refill 13488 @ref{deffnx,, Def Cmds in Detail}.
12697 13489
12698 @item @@deftypefun @var{data-type} @var{function-name} @var{arguments}@dots{} 13490 @item @@deftypefun @var{data-type} @var{function-name} @var{arguments}@dots{}
13491 @itemx @@deftypefunx @var{data-type} @var{function-name} @var{arguments}@dots{}
12699 Format a description for a function in a typed language. 13492 Format a description for a function in a typed language.
12700 The command is equivalent to @samp{@@deftypefn Function @dots{}}. 13493 The command is equivalent to @samp{@@deftypefn Function @dots{}}.
12701 @xref{Definition Commands}.@refill 13494 @xref{Definition Commands},
13495 and @ref{deffnx,, Def Cmds in Detail}.
12702 13496
12703 @item @@deftypevr @var{classification} @var{data-type} @var{name} 13497 @item @@deftypevr @var{classification} @var{data-type} @var{name}
13498 @itemx @@deftypevrx @var{classification} @var{data-type} @var{name}
12704 Format a description for something like a variable in a typed 13499 Format a description for something like a variable in a typed
12705 language---an entity that records a value. Takes as arguments the 13500 language---an entity that records a value. Takes as arguments the
12706 classification of entity being described, the type, and the name of 13501 classification of entity being described, the type, and the name of the
12707 the entity. @xref{Definition Commands}.@refill 13502 entity. @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in
13503 Detail}.
12708 13504
12709 @item @@deftypevar @var{data-type} @var{variable-name} 13505 @item @@deftypevar @var{data-type} @var{variable-name}
13506 @itemx @@deftypevarx @var{data-type} @var{variable-name}
12710 Format a description for a variable in a typed language. The command is 13507 Format a description for a variable in a typed language. The command is
12711 equivalent to @samp{@@deftypevr Variable @dots{}}. @xref{Definition 13508 equivalent to @samp{@@deftypevr Variable @dots{}}. @xref{Definition
12712 Commands}.@refill 13509 Commands}, and @ref{deffnx,, Def Cmds in Detail}.
12713 13510
12714 @item @@defun @var{function-name} @var{arguments}@dots{} 13511 @item @@defun @var{function-name} @var{arguments}@dots{}
13512 @itemx @@defunx @var{function-name} @var{arguments}@dots{}
12715 Format a description for functions. The command is equivalent to 13513 Format a description for functions. The command is equivalent to
12716 @samp{@@deffn Function @dots{}}. @xref{Definition Commands}.@refill 13514 @samp{@@deffn Function @dots{}}. @xref{Definition Commands}, and
13515 @ref{deffnx,, Def Cmds in Detail}.
12717 13516
12718 @item @@defvar @var{variable-name} 13517 @item @@defvar @var{variable-name}
13518 @itemx @@defvarx @var{variable-name}
12719 Format a description for variables. The command is equivalent to 13519 Format a description for variables. The command is equivalent to
12720 @samp{@@defvr Variable @dots{}}. @xref{Definition Commands}.@refill 13520 @samp{@@defvr Variable @dots{}}. @xref{Definition Commands}, and
13521 @ref{deffnx,, Def Cmds in Detail}.
12721 13522
12722 @item @@defvr @var{category} @var{name} 13523 @item @@defvr @var{category} @var{name}
13524 @itemx @@defvrx @var{category} @var{name}
12723 Format a description for any kind of variable. @code{@@defvr} takes 13525 Format a description for any kind of variable. @code{@@defvr} takes
12724 as arguments the category of the entity and the name of the entity. 13526 as arguments the category of the entity and the name of the entity.
12725 @xref{Definition Commands}.@refill 13527 @xref{Definition Commands},
13528 and @ref{deffnx,, Def Cmds in Detail}.
13529
13530 @item @@detailmenu@{@}
13531 Use to avoid Makeinfo confusion stemming from the detailed node listing
13532 in a master menu. @xref{Master Menu Parts}.
12726 13533
12727 @item @@dfn@{@var{term}@} 13534 @item @@dfn@{@var{term}@}
12728 Highlight the introductory or defining use of a term. 13535 Highlight the introductory or defining use of a term.
12729 @xref{dfn, , @code{@@dfn}}.@refill 13536 @xref{dfn, , @code{@@dfn}}.@refill
13537
13538 @item @@dircategory @var{dirpart}
13539 Specify a part of the Info directory menu where this file's entry should
13540 go. @xref{Installing Dir Entries}.
13541
13542 @item @@direntry
13543 Begin the Info directory menu entry for this file.
13544 @xref{Installing Dir Entries}.
12730 13545
12731 @need 100 13546 @need 100
12732 @item @@display 13547 @item @@display
12733 Begin a kind of example. Indent text, do not fill, do not select a 13548 Begin a kind of example. Indent text, do not fill, do not select a
12734 new font. Pair with @code{@@end display}. @xref{display, , 13549 new font. Pair with @code{@@end display}. @xref{display, ,
12735 @code{@@display}}.@refill 13550 @code{@@display}}.@refill
12736 13551
12737 @need 100
12738 @item @@dmn@{@var{dimension}@} 13552 @item @@dmn@{@var{dimension}@}
12739 Format a dimension. Cause @TeX{} to insert a narrow space before 13553 Format a unit of measure, as in 12@dmn{pt}. Causes @TeX{} to insert a
12740 @var{dimension}. No effect in Info. Use for writing a number 13554 thin space before @var{dimension}. No effect in Info.
12741 followed by an abbreviation of a dimension name, such as 13555 @xref{dmn, , @code{@@dmn}}.@refill
12742 @samp{12@dmn{pt}}, written as @samp{12@@dmn@{pt@}}, with no space
12743 between the number and the @code{@@dmn} command. @xref{dmn, ,
12744 @code{@@dmn}}.@refill
12745 13556
12746 @need 100 13557 @need 100
12747 @item @@dots@{@} 13558 @item @@dots@{@}
12748 Insert an ellipsis: @samp{@dots{}}. 13559 Insert an ellipsis: @samp{@dots{}}.
12749 @xref{dots, , @code{@@dots}}.@refill 13560 @xref{dots, , @code{@@dots}}.@refill
12750 13561
13562 @item @@email@{@var{address}@}
13563 Indicate an electronic mail address.
13564 @xref{email, , @code{@@email}}.@refill
13565
12751 @need 100 13566 @need 100
12752 @item @@emph@{@var{text}@} 13567 @item @@emph@{@var{text}@}
12753 Highlight @var{text}; text is displayed in @emph{italics} in printed 13568 Highlight @var{text}; text is displayed in @emph{italics} in printed
12754 output, and surrounded by asterisks in Info. @xref{Emphasis, , Emphasizing Text}.@refill 13569 output, and surrounded by asterisks in Info. @xref{Emphasis, , Emphasizing Text}.@refill
13570
13571 @item @@end @var{environment}
13572 Ends @var{environment}, as in @samp{@@end example}. @xref{Formatting
13573 Commands,,@@-commands}.
13574
13575 @item @@enddots@{@}
13576 Generate an end-of-sentence of ellipsis, like this @enddots{}
13577 @xref{dots,,@code{@@dots@{@}}}.
12755 13578
12756 @need 100 13579 @need 100
12757 @item @@enumerate [@var{number-or-letter}] 13580 @item @@enumerate [@var{number-or-letter}]
12758 Begin a numbered list, using @code{@@item} for each entry. 13581 Begin a numbered list, using @code{@@item} for each entry.
12759 Optionally, start list with @var{number-or-letter}. Pair with 13582 Optionally, start list with @var{number-or-letter}. Pair with
12772 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 13595 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
12773 Specify page footings for even-numbered (left-hand) pages. Not relevant to 13596 Specify page footings for even-numbered (left-hand) pages. Not relevant to
12774 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13597 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill
12775 13598
12776 @item @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 13599 @item @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
12777 Specify page headings for even-numbered (left-hand) pages. Not relevant to 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
13604 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13605 @itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
13606 Specify page footings resp.@: headings for every page. Not relevant to
12778 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13607 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill
12779
12780 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
12781 Specify page footings for every page. Not relevant to Info. @xref{Custom
12782 Headings, , How to Make Your Own Headings}.@refill
12783
12784 @item @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
12785 Specify page headings for every page. Not relevant to Info. @xref{Custom
12786 Headings, , How to Make Your Own Headings}.@refill
12787 13608
12788 @item @@example 13609 @item @@example
12789 Begin an example. Indent text, do not fill, and select fixed-width font. 13610 Begin an example. Indent text, do not fill, and select fixed-width font.
12790 Pair with @code{@@end example}. @xref{example, , 13611 Pair with @code{@@end example}. @xref{example, ,
12791 @code{@@example}}.@refill 13612 @code{@@example}}.@refill
12792 13613
13614 @item @@exclamdown@{@}
13615 Generate an upside-down exclamation point. @xref{Inserting Accents}.
13616
12793 @item @@exdent @var{line-of-text} 13617 @item @@exdent @var{line-of-text}
12794 Remove any indentation a line might have. @xref{exdent, , 13618 Remove any indentation a line might have. @xref{exdent, ,
12795 Undoing the Indentation of a Line}.@refill 13619 Undoing the Indentation of a Line}.@refill
12796 13620
12797 @item @@expansion@{@} 13621 @item @@expansion@{@}
12798 Indicate the result of a macro expansion to the reader with a special 13622 Indicate the result of a macro expansion to the reader with a special
12799 glyph: @samp{@expansion{}}. 13623 glyph: @samp{@expansion{}}.
12800 @xref{expansion, , @expansion{} Indicating an Expansion}.@refill 13624 @xref{expansion, , @expansion{} Indicating an Expansion}.@refill
12801 13625
12802 @item @@file@{@var{filename}@} 13626 @item @@file@{@var{filename}@}
12803 Highlight the name of a file, buffer, node, or directory. @xref{file, , 13627 Highlight the name of a file, buffer, node, or directory. @xref{file, ,
12804 @code{@@file}}.@refill 13628 @code{@@file}}.@refill
12812 Add @var{entry} to the index of functions. @xref{Index Entries, , 13636 Add @var{entry} to the index of functions. @xref{Index Entries, ,
12813 Defining the Entries of an Index}.@refill 13637 Defining the Entries of an Index}.@refill
12814 13638
12815 @need 200 13639 @need 200
12816 @item @@flushleft 13640 @item @@flushleft
13641 @itemx @@flushright
12817 Left justify every line but leave the right end ragged. 13642 Left justify every line but leave the right end ragged.
12818 Leave font as is. Pair with @code{@@end flushleft}. 13643 Leave font as is. Pair with @code{@@end flushleft}.
12819 @xref{flushleft & flushright, , @code{@@flushleft} and 13644 @code{@@flushright} analogous.
12820 @code{@@flushright}}.@refill
12821
12822 @need 200
12823 @item @@flushright
12824 Right justify every line but leave the left end ragged.
12825 Leave font as is. Pair with @code{@@end flushright}.
12826 @xref{flushleft & flushright, , @code{@@flushleft} and 13645 @xref{flushleft & flushright, , @code{@@flushleft} and
12827 @code{@@flushright}}.@refill 13646 @code{@@flushright}}.@refill
12828 13647
12829 @need 200 13648 @need 200
12830 @item @@footnote@{@var{text-of-footnote}@} 13649 @item @@footnote@{@var{text-of-footnote}@}
12853 @item @@group 13672 @item @@group
12854 Hold text together that must appear on one printed page. Pair with 13673 Hold text together that must appear on one printed page. Pair with
12855 @code{@@end group}. Not relevant to Info. @xref{group, , 13674 @code{@@end group}. Not relevant to Info. @xref{group, ,
12856 @code{@@group}}.@refill 13675 @code{@@group}}.@refill
12857 13676
13677 @item @@H@{@var{c}@}
13678 Generate the long Hungarian umlaut accent over @var{c}, as in @H{o}.
13679
12858 @item @@heading @var{title} 13680 @item @@heading @var{title}
12859 Print an unnumbered section-like heading in the text, but not in the 13681 Print an unnumbered section-like heading in the text, but not in the
12860 table of contents of a printed manual. In Info, the title is 13682 table of contents of a printed manual. In Info, the title is
12861 underlined with equal signs. @xref{unnumberedsec appendixsec heading, 13683 underlined with equal signs. @xref{unnumberedsec appendixsec heading,
12862 , Section Commands}.@refill 13684 , Section Commands}.@refill
12863 13685
12864 @item @@headings @var{on-off-single-double} 13686 @item @@headings @var{on-off-single-double}
12865 Turn page headings on or off, or specify single-sided or double-sided 13687 Turn page headings on or off, and/or specify single-sided or double-sided
12866 page headings for printing. @code{@@headings on} is synonymous with 13688 page headings for printing. @xref{headings on off, , The
12867 @code{@@headings double}. @xref{headings on off, , The 13689 @code{@@headings} Command}.
12868 @code{@@headings} Command}.@refill
12869 13690
12870 @item @@i@{@var{text}@} 13691 @item @@i@{@var{text}@}
12871 Print @var{text} in @i{italic} font. No effect in Info. 13692 Print @var{text} in @i{italic} font. No effect in Info.
12872 @xref{Fonts}.@refill 13693 @xref{Fonts}.@refill
12873 13694
12875 If @var{flag} is cleared, the Texinfo formatting commands format text 13696 If @var{flag} is cleared, the Texinfo formatting commands format text
12876 between @code{@@ifclear @var{flag}} and the following @code{@@end 13697 between @code{@@ifclear @var{flag}} and the following @code{@@end
12877 ifclear} command. 13698 ifclear} command.
12878 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 13699 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
12879 13700
12880 @item @@ifinfo 13701 @item @@ifhtml
12881 Begin a stretch of text that will be ignored by @TeX{} when it 13702 @itemx @@ifinfo
12882 typesets the printed manual. The text appears only in the Info file. 13703 Begin a stretch of text that will be ignored by @TeX{} when it typesets
12883 Pair with @code{@@end ifinfo}. @xref{Conditionals, , Conditionally 13704 the printed manual. The text appears only in the HTML resp.@: Info
12884 Visible Text}.@refill 13705 file. Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}.
13706 @xref{Conditionals, , Conditionally Visible Text}.@refill
12885 13707
12886 @item @@ifset @var{flag} 13708 @item @@ifset @var{flag}
12887 If @var{flag} is set, the Texinfo formatting commands format text 13709 If @var{flag} is set, the Texinfo formatting commands format text
12888 between @code{@@ifset @var{flag}} and the following @code{@@end ifset} 13710 between @code{@@ifset @var{flag}} and the following @code{@@end ifset}
12889 command. 13711 command.
12910 13732
12911 @item \input @var{macro-definitions-file} 13733 @item \input @var{macro-definitions-file}
12912 Use the specified macro definitions file. This command is used only 13734 Use the specified macro definitions file. This command is used only
12913 in the first line of a Texinfo file to cause @TeX{} to make use of the 13735 in the first line of a Texinfo file to cause @TeX{} to make use of the
12914 @file{texinfo} macro definitions file. The backslash in @code{\input} 13736 @file{texinfo} macro definitions file. The backslash in @code{\input}
12915 is used instead of an @code{@@} because @TeX{} does not properly 13737 is used instead of an @code{@@} because @TeX{} does not
12916 recognize @code{@@} until after it has read the definitions file. 13738 recognize @code{@@} until after it has read the definitions file.
12917 @xref{Header, , The Texinfo File Header}.@refill 13739 @xref{Header, , The Texinfo File Header}.@refill
12918 13740
12919 @item @@item 13741 @item @@item
12920 Indicate the beginning of a marked paragraph for @code{@@itemize} and 13742 Indicate the beginning of a marked paragraph for @code{@@itemize} and
12930 @item @@itemx 13752 @item @@itemx
12931 Like @code{@@item} but do not generate extra vertical space above the 13753 Like @code{@@item} but do not generate extra vertical space above the
12932 item text. @xref{itemx, , @code{@@itemx}}.@refill 13754 item text. @xref{itemx, , @code{@@itemx}}.@refill
12933 13755
12934 @item @@kbd@{@var{keyboard-characters}@} 13756 @item @@kbd@{@var{keyboard-characters}@}
12935 Indicate text that consists of characters of input to be typed by 13757 Indicate text that is characters of input to be typed by
12936 users. @xref{kbd, , @code{@@kbd}}.@refill 13758 users. @xref{kbd, , @code{@@kbd}}.@refill
12937 13759
12938 @item @@key@{@var{key-name}@} 13760 @item @@key@{@var{key-name}@}
12939 Highlight @var{key-name}, a conventional name for a key on a keyboard. 13761 Highlight @var{key-name}, a name for a key on a keyboard.
12940 @xref{key, , @code{@@key}}.@refill 13762 @xref{key, , @code{@@key}}.@refill
12941 13763
12942 @item @@kindex @var{entry} 13764 @item @@kindex @var{entry}
12943 Add @var{entry} to the index of keys. @xref{Index Entries, , Defining the 13765 Add @var{entry} to the index of keys. @xref{Index Entries, , Defining the
12944 Entries of an Index}.@refill 13766 Entries of an Index}.@refill
12945 13767
13768 @item @@L@{@}
13769 @itemx @@l@{@}
13770 Generate the uppercase and lowercase Polish suppressed-L letters,
13771 respectively: @L{}, @l{}.
13772
13773 @c Possibly this can be tossed now that we have macros. --karl, 16sep96.
12946 @item @@global@@let@var{new-command}=@var{existing-command} 13774 @item @@global@@let@var{new-command}=@var{existing-command}
12947 Equate a new highlighting command with an existing one. Only for 13775 Equate a new highlighting command with an existing one. Only for
12948 @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end 13776 @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end
12949 iftex}. @xref{Customized Highlighting}.@refill 13777 iftex}. @xref{Customized Highlighting}.@refill
12950 13778
12951 @item @@lisp 13779 @item @@lisp
12952 Begin an example of Lisp code. Indent text, do not fill, and select 13780 Begin an example of Lisp code. Indent text, do not fill, and select
12953 fixed-width font. Pair with @code{@@end lisp}. @xref{Lisp Example, , 13781 fixed-width font. Pair with @code{@@end lisp}. @xref{Lisp Example, ,
12954 @code{@@lisp}}.@refill 13782 @code{@@lisp}}.@refill
12955 13783
12956 @item @@majorheading @var{title} 13784 @item @@lowersections
13785 Change subsequent chapters to sections, sections to subsections, and so
13786 on. @xref{Raise/lower sections, , @code{@@raisesections} and
13787 @code{@@lowersections}}.@refill
13788
13789 @item @@macro @var{macro-name} @{@var{params}@}
13790 Define a new Texinfo command @code{@@@var{macro-name}@{@var{params}@}}.
13791 Only supported by Makeinfo and Texi2dvi. @xref{Defining Macros}.
13792
13793 @item @@majorheading @var{title}
12957 Print a chapter-like heading in the text, but not in the table of 13794 Print a chapter-like heading in the text, but not in the table of
12958 contents of a printed manual. Generate more vertical whitespace before 13795 contents of a printed manual. Generate more vertical whitespace before
12959 the heading than the @code{@@chapheading} command. In Info, the chapter 13796 the heading than the @code{@@chapheading} command. In Info, the chapter
12960 heading line is underlined with asterisks. @xref{majorheading & 13797 heading line is underlined with asterisks. @xref{majorheading &
12961 chapheading, , @code{@@majorheading} and @code{@@chapheading}}.@refill 13798 chapheading, , @code{@@majorheading} and @code{@@chapheading}}.@refill
12967 @item @@menu 13804 @item @@menu
12968 Mark the beginning of a menu of nodes in Info. No effect in a printed 13805 Mark the beginning of a menu of nodes in Info. No effect in a printed
12969 manual. Pair with @code{@@end menu}. @xref{Menus}.@refill 13806 manual. Pair with @code{@@end menu}. @xref{Menus}.@refill
12970 13807
12971 @item @@minus@{@} 13808 @item @@minus@{@}
12972 Generate a minus sign. @xref{minus, , @code{@@minus}}.@refill 13809 Generate a minus sign, `@minus{}'. @xref{minus, , @code{@@minus}}.@refill
13810
13811 @item @@multitable @var{column-width-spec}
13812 Begin a multi-column table. Pair with @code{@@end multitable}.
13813 @xref{Multitable Column Widths}.
12973 13814
12974 @item @@need @var{n} 13815 @item @@need @var{n}
12975 Start a new page in a printed manual if fewer than @var{n} mils 13816 Start a new page in a printed manual if fewer than @var{n} mils
12976 (thousandths of an inch) remain on the current page. @xref{need, , 13817 (thousandths of an inch) remain on the current page. @xref{need, ,
12977 @code{@@need}}.@refill 13818 @code{@@need}}.@refill
12978 13819
12979 @item @@node @var{name, next, previous, up} 13820 @item @@node @var{name, next, previous, up}
12980 Define the beginning of a new node in Info, and serve as a locator for 13821 Define the beginning of a new node in Info, and serve as a locator for
12981 references for @TeX{}. @xref{node, , @code{@@node}}.@refill 13822 references for @TeX{}. @xref{node, , @code{@@node}}.@refill
12982 13823
12983 @need 200
12984 @item @@noindent 13824 @item @@noindent
12985 Prevent text from being indented as if it were a new paragraph. 13825 Prevent text from being indented as if it were a new paragraph.
12986 @xref{noindent, , @code{@@noindent}}.@refill 13826 @xref{noindent, , @code{@@noindent}}.@refill
12987 13827
13828 @item @@O@{@}
13829 @itemx @@o@{@}
13830 Generate the uppercase and lowercase Owith-slash letters, respectively:
13831 @O{}, @o{}.
13832
12988 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 13833 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
12989 Specify page footings for odd-numbered (right-hand) pages. Not relevant to 13834 @itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
12990 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13835 Specify page footings resp.@: headings for odd-numbered (right-hand)
12991 13836 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, ,
12992 @item @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 13837 How to Make Your Own Headings}.@refill
12993 Specify page headings for odd-numbered (right-hand) pages. Not relevant to 13838
12994 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 13839 @item @@OE@{@}
13840 @itemx @@oe@{@}
13841 Generate the uppercase and lowercase OE ligatures, respectively:
13842 @OE{}, @oe{}. @xref{Inserting Accents}.
12995 13843
12996 @item @@page 13844 @item @@page
12997 Start a new page in a printed manual. No effect in Info. 13845 Start a new page in a printed manual. No effect in Info.
12998 @xref{page, , @code{@@page}}.@refill 13846 @xref{page, , @code{@@page}}.@refill
12999 13847
13010 @item @@point@{@} 13858 @item @@point@{@}
13011 Indicate the position of point in a buffer to the reader with a 13859 Indicate the position of point in a buffer to the reader with a
13012 glyph: @samp{@point{}}. @xref{Point Glyph, , Indicating 13860 glyph: @samp{@point{}}. @xref{Point Glyph, , Indicating
13013 Point in a Buffer}.@refill 13861 Point in a Buffer}.@refill
13014 13862
13863 @item @@pounds@{@}
13864 Generate the pounds sterling currency sign.
13865 @xref{pounds,,@code{@@pounds@{@}}}.
13866
13015 @item @@print@{@} 13867 @item @@print@{@}
13016 Indicate printed output to the reader with a glyph: 13868 Indicate printed output to the reader with a glyph:
13017 @samp{@print{}}. @xref{Print Glyph}.@refill 13869 @samp{@print{}}. @xref{Print Glyph}.@refill
13018 13870
13019 @item @@printindex @var{index-name} 13871 @item @@printindex @var{index-name}
13022 Indices & Menus}.@refill 13874 Indices & Menus}.@refill
13023 13875
13024 @item @@pxref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@} 13876 @item @@pxref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@}
13025 Make a reference that starts with a lower case `see' in a printed 13877 Make a reference that starts with a lower case `see' in a printed
13026 manual. Use within parentheses only. Do not follow command with a 13878 manual. Use within parentheses only. Do not follow command with a
13027 punctuation mark. The Info formatting commands automatically insert 13879 punctuation mark---the Info formatting commands automatically insert
13028 terminating punctuation as needed, which is why you do not need to 13880 terminating punctuation as needed. Only the first argument is mandatory.
13029 insert punctuation. Only the first argument is mandatory.
13030 @xref{pxref, , @code{@@pxref}}.@refill 13881 @xref{pxref, , @code{@@pxref}}.@refill
13882
13883 @item @@questiondown@{@}
13884 Generate an upside-down question mark. @xref{Inserting Accents}.
13031 13885
13032 @item @@quotation 13886 @item @@quotation
13033 Narrow the margins to indicate text that is quoted from another real 13887 Narrow the margins to indicate text that is quoted from another real
13034 or imaginary work. Write command on a line of its own. Pair with 13888 or imaginary work. Write command on a line of its own. Pair with
13035 @code{@@end quotation}. @xref{quotation, , 13889 @code{@@end quotation}. @xref{quotation, ,
13061 @need 300 13915 @need 300
13062 @item @@result@{@} 13916 @item @@result@{@}
13063 Indicate the result of an expression to the reader with a special 13917 Indicate the result of an expression to the reader with a special
13064 glyph: @samp{@result{}}. @xref{result, , @code{@@result}}.@refill 13918 glyph: @samp{@result{}}. @xref{result, , @code{@@result}}.@refill
13065 13919
13920 @item @@ringaccent@{@var{c}@}
13921 Generate a ring accent over the next character, as in @ringaccent{o}.
13922 @xref{Inserting Accents}.
13923
13066 @item @@samp@{@var{text}@} 13924 @item @@samp@{@var{text}@}
13067 Highlight @var{text} that is a literal example of a sequence of 13925 Highlight @var{text} that is a literal example of a sequence of
13068 characters. Used for single characters, for statements, and often for 13926 characters. Used for single characters, for statements, and often for
13069 entire shell commands. @xref{samp, , @code{@@samp}}.@refill 13927 entire shell commands. @xref{samp, , @code{@@samp}}.@refill
13070 13928
13089 @item @@setchapternewpage @var{on-off-odd} 13947 @item @@setchapternewpage @var{on-off-odd}
13090 Specify whether chapters start on new pages, and if so, whether on 13948 Specify whether chapters start on new pages, and if so, whether on
13091 odd-numbered (right-hand) new pages. @xref{setchapternewpage, , 13949 odd-numbered (right-hand) new pages. @xref{setchapternewpage, ,
13092 @code{@@setchapternewpage}}.@refill 13950 @code{@@setchapternewpage}}.@refill
13093 13951
13094 @c awkward wording prevents overfull hbox
13095 @item @@setfilename @var{info-file-name} 13952 @item @@setfilename @var{info-file-name}
13096 Provide a name to be used by the Info file. @xref{setfilename, , 13953 Provide a name to be used by the Info file. This command is essential
13097 @code{@@setfilename}}.@refill 13954 for @TeX{} formatting as well, even though it produces no output.
13955 @xref{setfilename, , @code{@@setfilename}}.@refill
13098 13956
13099 @item @@settitle @var{title} 13957 @item @@settitle @var{title}
13100 Provide a title for page headers in a printed manual. 13958 Provide a title for page headers in a printed manual.
13101 @xref{settitle, , @code{@@settitle}}.@refill 13959 @xref{settitle, , @code{@@settitle}}.@refill
13102 13960
13103 @item @@shortcontents 13961 @item @@shortcontents
13104 Print a short table of contents. Not relevant to Info, which uses 13962 Print a short table of contents. Not relevant to Info, which uses
13105 menus rather than tables of contents. A synonym for 13963 menus rather than tables of contents. A synonym for
13106 @code{@@summarycontents}. @xref{Contents, , Generating a Table of 13964 @code{@@summarycontents}. @xref{Contents, , Generating a Table of
13107 Contents}.@refill 13965 Contents}.@refill
13966
13967 @item @@shorttitlepage@{@var{title}@}
13968 Generate a minimal title page. @xref{titlepage,,@code{@@titlepage}}.
13108 13969
13109 @need 400 13970 @need 400
13110 @item @@smallbook 13971 @item @@smallbook
13111 Cause @TeX{} to produce a printed manual in a 7 by 9.25 inch format 13972 Cause @TeX{} to produce a printed manual in a 7 by 9.25 inch format
13112 rather than the regular 8.5 by 11 inch format. @xref{smallbook, , 13973 rather than the regular 8.5 by 11 inch format. @xref{smallbook, ,
13130 13991
13131 @need 700 13992 @need 700
13132 @item @@sp @var{n} 13993 @item @@sp @var{n}
13133 Skip @var{n} blank lines. @xref{sp, , @code{@@sp}}.@refill 13994 Skip @var{n} blank lines. @xref{sp, , @code{@@sp}}.@refill
13134 13995
13996 @item @@ss@{@}
13997 Generate the German sharp-S es-zet letter, @ss{}. @xref{Inserting Accents}.
13998
13135 @need 700 13999 @need 700
13136 @item @@strong @var{text} 14000 @item @@strong @var{text}
13137 Emphasize @var{text} by typesetting it in a @strong{bold} font for the 14001 Emphasize @var{text} by typesetting it in a @strong{bold} font for the
13138 printed manual and by surrounding it with asterisks for Info. 14002 printed manual and by surrounding it with asterisks for Info.
13139 @xref{emph & strong, , Emphasizing Text}.@refill 14003 @xref{emph & strong, , Emphasizing Text}.@refill
13140 14004
13141 @item @@subheading @var{title} 14005 @item @@subheading @var{title}
13189 14053
13190 @need 100 14054 @need 100
13191 @item @@t@{@var{text}@} 14055 @item @@t@{@var{text}@}
13192 Print @var{text} in a @t{fixed-width}, typewriter-like font. 14056 Print @var{text} in a @t{fixed-width}, typewriter-like font.
13193 No effect in Info. @xref{Fonts}.@refill 14057 No effect in Info. @xref{Fonts}.@refill
14058
14059 @item @@tab
14060 Separate columns in a multitable. @xref{Multitable Rows}.
13194 14061
13195 @need 400 14062 @need 400
13196 @item @@table @var{formatting-command} 14063 @item @@table @var{formatting-command}
13197 Begin a two-column table, using @code{@@item} for each entry. Write 14064 Begin a two-column table, using @code{@@item} for each entry. Write
13198 each first column entry on the same line as @code{@@item}. First 14065 each first column entry on the same line as @code{@@item}. First
13199 column entries are printed in the font resulting from 14066 column entries are printed in the font resulting from
13200 @var{formatting-command}. Pair with @code{@@end table}. 14067 @var{formatting-command}. Pair with @code{@@end table}.
13201 @xref{Two-column Tables, , Making a Two-column Table}. 14068 @xref{Two-column Tables, , Making a Two-column Table}.
13202 Also see @ref{ftable vtable, , @code{@@ftable} and @code{@@vtable}}, 14069 Also see @ref{ftable vtable, , @code{@@ftable} and @code{@@vtable}},
13203 and @ref{itemx, , @code{@@itemx}}.@refill 14070 and @ref{itemx, , @code{@@itemx}}.@refill
13204 14071
13205 @item @@TeX@{@} 14072 @item @@TeX@{@}
13206 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{} 14073 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{}
13207 and @copyright{}}.@refill 14074 and @copyright{}}.@refill
13209 @item @@tex 14076 @item @@tex
13210 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Using 14077 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Using
13211 Ordinary TeX Commands, , Using Ordinary @TeX{} Commands}.@refill 14078 Ordinary TeX Commands, , Using Ordinary @TeX{} Commands}.@refill
13212 14079
13213 @item @@thischapter 14080 @item @@thischapter
13214 In a heading or footing, stands for the number and name of the current 14081 @itemx @@thischaptername
13215 chapter, in the format `Chapter 1: Title'. @xref{Custom 14082 @itemx @@thisfile
13216 Headings, , How to Make Your Own Headings}.@refill 14083 @itemx @@thispage
13217 14084 @itemx @@thistitle
13218 @item @@thischaptername 14085 Only allowed in a heading or footing. Stands for the number and name of
13219 In a heading or footing, stands for the name of the current chapter. 14086 the current chapter (in the format `Chapter 1: Title'), the chapter name
13220 @xref{Custom Headings, , How to Make Your Own Headings}.@refill 14087 only, the filename, the current page number, and the title of the
13221 14088 document, respectively. @xref{Custom Headings, , How to Make Your Own
13222 @item @@thisfile
13223 In a heading or footing, stands for the name of the current
13224 @code{@@include} file. Does not insert anything if not within an
13225 @code{@@include} file. @xref{Custom Headings, , How to Make Your Own
13226 Headings}.@refill 14089 Headings}.@refill
13227
13228 @item @@thispage
13229 In a heading or footing, stands for the current page number.
13230 @xref{Custom Headings, , How to Make Your Own Headings}.@refill
13231
13232 @ignore
13233 @item @@thissection
13234 In a heading or footing, stands for the title of the current section.
13235 @xref{Custom Headings, , How to Make Your Own Headings}.@refill
13236 @end ignore
13237
13238 @item @@thistitle
13239 In a heading or footing, stands for the name of the document, as specified
13240 by the @code{@@settitle} command. @xref{Custom Headings, , How to
13241 Make Your Own Headings}.@refill
13242 14090
13243 @item @@tindex @var{entry} 14091 @item @@tindex @var{entry}
13244 Add @var{entry} to the index of data types. @xref{Index Entries, , 14092 Add @var{entry} to the index of data types. @xref{Index Entries, ,
13245 Defining the Entries of an Index}.@refill 14093 Defining the Entries of an Index}.@refill
13246 14094
13279 line normally should be enclosed by @code{@@ifinfo} and @code{@@end 14127 line normally should be enclosed by @code{@@ifinfo} and @code{@@end
13280 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} 14128 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top}
13281 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo 14129 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo
13282 Pointer Creation, , Creating Pointers with @code{makeinfo}}. 14130 Pointer Creation, , Creating Pointers with @code{makeinfo}}.
13283 14131
14132 @item @@u@var{c}
14133 @itemx @@ubaraccent@var{c}
14134 @itemx @@udotaccent@var{c}
14135 Generate a breve, underbar, or underdot accent, respectively, over or
14136 under the character @var{c}, as in @u{o}, @ubaraccent{o},
14137 @udotaccent{o}. @xref{Inserting Accents}.
14138
13284 @item @@unnumbered @var{title} 14139 @item @@unnumbered @var{title}
13285 In a printed manual, begin a chapter that appears without chapter 14140 In a printed manual, begin a chapter that appears without chapter
13286 numbers of any kind. The title appears in the table of contents of a 14141 numbers of any kind. The title appears in the table of contents of a
13287 printed manual. In Info, the title is underlined with asterisks. 14142 printed manual. In Info, the title is underlined with asterisks.
13288 @xref{unnumbered & appendix, , @code{@@unnumbered} and 14143 @xref{unnumbered & appendix, , @code{@@unnumbered} and
13305 @item @@unnumberedsubsubsec @var{title} 14160 @item @@unnumberedsubsubsec @var{title}
13306 In a printed manual, begin an unnumbered subsubsection within a 14161 In a printed manual, begin an unnumbered subsubsection within a
13307 chapter. The title appears in the table of contents of a printed 14162 chapter. The title appears in the table of contents of a printed
13308 manual. In Info, the title is underlined with periods. 14163 manual. In Info, the title is underlined with periods.
13309 @xref{subsubsection, , The `subsub' Commands}.@refill 14164 @xref{subsubsection, , The `subsub' Commands}.@refill
14165
14166 @item @@url@{@var{url}@}
14167 Highlight text that is a uniform resource locator for the World Wide
14168 Web. @xref{url, , @code{@@url}}.@refill
14169
14170 @item @@v@var{c}
14171 Generate check accent over the character @var{c}, as in @v{o}.
14172 @xref{Inserting Accents}.
13310 14173
13311 @item @@value@{@var{flag}@} 14174 @item @@value@{@var{flag}@}
13312 Replace @var{flag} with the value to which it is set by @code{@@set 14175 Replace @var{flag} with the value to which it is set by @code{@@set
13313 @var{flag}}. 14176 @var{flag}}.
13314 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 14177 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
13342 14205
13343 @need 400 14206 @need 400
13344 @item @@w@{@var{text}@} 14207 @item @@w@{@var{text}@}
13345 Prevent @var{text} from being split across two lines. Do not end a 14208 Prevent @var{text} from being split across two lines. Do not end a
13346 paragraph that uses @code{@@w} with an @code{@@refill} command. 14209 paragraph that uses @code{@@w} with an @code{@@refill} command.
13347 In the Texinfo file, keep @var{text} on one line.
13348 @xref{w, , @code{@@w}}.@refill 14210 @xref{w, , @code{@@w}}.@refill
13349 14211
13350 @need 400 14212 @need 400
13351 @item @@xref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@} 14213 @item @@xref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@}
13352 Make a reference that starts with `See' in a printed manual. Follow 14214 Make a reference that starts with `See' in a printed manual. Follow
13376 14238
13377 @item 14239 @item
13378 Include a copyright notice and copying permissions. 14240 Include a copyright notice and copying permissions.
13379 @end itemize 14241 @end itemize
13380 14242
13381 @subsubheading Index, index, index! 14243 @subsubheading Index, index, index!
13382 14244
13383 Write many index entries, in different ways. 14245 Write many index entries, in different ways.
13384 Readers like indices; they are helpful and convenient. 14246 Readers like indices; they are helpful and convenient.
13385 14247
13386 Although it is easiest to write index entries as you write the body of 14248 Although it is easiest to write index entries as you write the body of
13392 Here are more hints we have found valuable: 14254 Here are more hints we have found valuable:
13393 14255
13394 @itemize @bullet 14256 @itemize @bullet
13395 @item 14257 @item
13396 Write each index entry differently, so each entry refers to a different 14258 Write each index entry differently, so each entry refers to a different
13397 place in the document. The index of an Info file lists only one 14259 place in the document.
13398 location for each entry.
13399 14260
13400 @item 14261 @item
13401 Write index entries only where a topic is discussed significantly. For 14262 Write index entries only where a topic is discussed significantly. For
13402 example, it is not useful to index ``debugging information'' in a 14263 example, it is not useful to index ``debugging information'' in a
13403 chapter on reporting bugs. Someone who wants to know about debugging 14264 chapter on reporting bugs. Someone who wants to know about debugging
13414 Always capitalize or use upper case for those words in an index for 14275 Always capitalize or use upper case for those words in an index for
13415 which this is proper, such as names of countries or acronyms. Always 14276 which this is proper, such as names of countries or acronyms. Always
13416 use the appropriate case for case-sensitive names, such as those in C or 14277 use the appropriate case for case-sensitive names, such as those in C or
13417 Lisp. 14278 Lisp.
13418 14279
13419 @item 14280 @item
13420 Write the indexing commands that refer to a whole section immediately 14281 Write the indexing commands that refer to a whole section immediately
13421 after the section command, and write the indexing commands that refer to 14282 after the section command, and write the indexing commands that refer to
13422 the paragraph before the paragraph. 14283 the paragraph before the paragraph.
13423 14284
13424 @need 1000 14285 @need 1000
13456 paragraph together. 14317 paragraph together.
13457 14318
13458 @item 14319 @item
13459 Always insert a blank line before an @code{@@table} command and after an 14320 Always insert a blank line before an @code{@@table} command and after an
13460 @code{@@end table} command; but never insert a blank line after an 14321 @code{@@end table} command; but never insert a blank line after an
13461 @code{@@table} command or before an @code{@@end table} command. 14322 @code{@@table} command or before an @code{@@end table} command.
13462 14323
13463 @need 1000 14324 @need 1000
13464 For example, 14325 For example,
13465 14326
13466 @example 14327 @example
13530 For example: 14391 For example:
13531 14392
13532 @example 14393 @example
13533 @group 14394 @group
13534 @@c ===> NOTE! <== 14395 @@c ===> NOTE! <==
13535 @@c Specify the edition and version numbers and date 14396 @@c Specify the edition and version numbers and date
13536 @@c in *three* places: 14397 @@c in *three* places:
13537 @@c 1. First ifinfo section 2. title page 3. top node 14398 @@c 1. First ifinfo section 2. title page 3. top node
13538 @@c To find the locations, search for !!set 14399 @@c To find the locations, search for !!set
13539 @end group 14400 @end group
13540 14401
13541 @group 14402 @group
13542 @@ifinfo 14403 @@ifinfo
13543 @@c !!set edition, date, version 14404 @@c !!set edition, date, version
13544 This is Edition 4.03, January 1992, 14405 This is Edition 4.03, January 1992,
13545 of the @@cite@{GDB Manual@} for GDB Version 4.3. 14406 of the @@cite@{GDB Manual@} for GDB Version 4.3.
13546 @dots{} 14407 @dots{}
13547 @end group 14408 @end group
13548 @end example 14409 @end example
13549 14410
13550 @noindent 14411 @noindent
13551 ---or use @code{@@set} and @code{@@value} 14412 ---or use @code{@@set} and @code{@@value}
13552 (@pxref{value Example, , @code{@@value} Example}). 14413 (@pxref{value Example, , @code{@@value} Example}).
13553 14414
13554 @subsubheading Definition Commands 14415 @subsubheading Definition Commands
13555 14416
13556 Definition commands are @code{@@deffn}, @code{@@defun}, 14417 Definition commands are @code{@@deffn}, @code{@@defun},
13559 14420
13560 @itemize @bullet 14421 @itemize @bullet
13561 @item 14422 @item
13562 Write just one definition command for each entity you define with a 14423 Write just one definition command for each entity you define with a
13563 definition command. The automatic indexing feature creates an index 14424 definition command. The automatic indexing feature creates an index
13564 entry that leads the reader to the definition. 14425 entry that leads the reader to the definition.
13565 14426
13566 @item 14427 @item
13567 Use @code{@@table} @dots{} @code{@@end table} in an appendix that 14428 Use @code{@@table} @dots{} @code{@@end table} in an appendix that
13568 contains a summary of functions, not @code{@@deffn} or other definition 14429 contains a summary of functions, not @code{@@deffn} or other definition
13569 commands. 14430 commands.
13596 14457
13597 @example 14458 @example
13598 @group 14459 @group
13599 @@kbd@{C-x v@} 14460 @@kbd@{C-x v@}
13600 @@kbd@{M-x vc-next-action@} 14461 @@kbd@{M-x vc-next-action@}
13601 Perform the next logical operation 14462 Perform the next logical operation
13602 on the version-controlled file 14463 on the version-controlled file
13603 corresponding to the current buffer. 14464 corresponding to the current buffer.
13604 @end group 14465 @end group
13605 @end example 14466 @end example
13606 14467
13631 14492
13632 @itemize @bullet 14493 @itemize @bullet
13633 @item 14494 @item
13634 Use @code{@@code} around Lisp symbols, including command names. 14495 Use @code{@@code} around Lisp symbols, including command names.
13635 For example, 14496 For example,
13636 14497
13637 @example 14498 @example
13638 The main function is @@code@{vc-next-action@}, @dots{} 14499 The main function is @@code@{vc-next-action@}, @dots{}
13639 @end example 14500 @end example
13640 14501
13641 @item 14502 @item
13647 around them. 14508 around them.
13648 14509
13649 @item 14510 @item
13650 Use three hyphens in a row, @samp{---}, to indicate a long dash. @TeX{} 14511 Use three hyphens in a row, @samp{---}, to indicate a long dash. @TeX{}
13651 typesets these as a long dash and the Info formatters reduce three 14512 typesets these as a long dash and the Info formatters reduce three
13652 hyphens to two. 14513 hyphens to two.
13653 @end itemize 14514 @end itemize
13654 14515
13655 @subsubheading Periods Outside of Quotes 14516 @subsubheading Periods Outside of Quotes
13656 14517
13657 Place periods and other punctuation marks @emph{outside} of quotations, 14518 Place periods and other punctuation marks @emph{outside} of quotations,
13658 unless the punctuation is part of the quotation. This practice goes against 14519 unless the punctuation is part of the quotation. This practice goes
13659 convention, but enables the reader to distinguish between the contents 14520 against publishing conventions in the United States, but enables the
13660 of the quotation and the whole passage. 14521 reader to distinguish between the contents of the quotation and the
14522 whole passage.
13661 14523
13662 For example, you should write the following sentence with the period 14524 For example, you should write the following sentence with the period
13663 outside the end quotation marks: 14525 outside the end quotation marks:
13664 14526
13665 @example 14527 @example
13672 14534
13673 @subsubheading Introducing New Terms 14535 @subsubheading Introducing New Terms
13674 14536
13675 @itemize @bullet 14537 @itemize @bullet
13676 @item 14538 @item
13677 Introduce new terms so that a user who does not know them can understand 14539 Introduce new terms so that a reader who does not know them can
13678 them from context; or write a definition for the term. 14540 understand them from context; or write a definition for the term.
13679 14541
13680 For example, in the following, the terms ``check in'', ``register'' and 14542 For example, in the following, the terms ``check in'', ``register'' and
13681 ``delta'' are all appearing for the first time; the example sentence should be 14543 ``delta'' are all appearing for the first time; the example sentence should be
13682 rewritten so they are understandable. 14544 rewritten so they are understandable.
13683 14545
13687 it as deltas. 14549 it as deltas.
13688 @end quotation 14550 @end quotation
13689 14551
13690 @item 14552 @item
13691 Use the @code{@@dfn} command around a word being introduced, to indicate 14553 Use the @code{@@dfn} command around a word being introduced, to indicate
13692 that the user should not expect to know the meaning already, and should 14554 that the reader should not expect to know the meaning already, and
13693 expect to learn the meaning from this passage. 14555 should expect to learn the meaning from this passage.
13694 @end itemize 14556 @end itemize
13695 14557
13696 @subsubheading @@pxref 14558 @subsubheading @@pxref
13697 14559
13698 @c !!! maybe include this in the tips on pxref 14560 @c !!! maybe include this in the tips on pxref
13699 @ignore 14561 @ignore
13700 By the way, it is okay to use pxref with something else in front of 14562 By the way, it is okay to use pxref with something else in front of
13701 it within the parens, as long as the pxref is followed by the close 14563 it within the parens, as long as the pxref is followed by the close
13702 paren, and the material inside the parents is not part of a larger 14564 paren, and the material inside the parens is not part of a larger
13703 sentence. Also, you can use xref inside parens as part of a complete 14565 sentence. Also, you can use xref inside parens as part of a complete
13704 sentence so long as you terminate the cross reference with punctuation. 14566 sentence so long as you terminate the cross reference with punctuation.
13705 @end ignore 14567 @end ignore
13706 Absolutely never use @code{@@pxref} except in the special context for 14568 Absolutely never use @code{@@pxref} except in the special context for
13707 which it is designed: inside parentheses, with the closing parenthesis 14569 which it is designed: inside parentheses, with the closing parenthesis
13716 The documentation for each program should contain a section that 14578 The documentation for each program should contain a section that
13717 describes this. Unfortunately, if the node names and titles for these 14579 describes this. Unfortunately, if the node names and titles for these
13718 sections are all different, readers find it hard to search for the 14580 sections are all different, readers find it hard to search for the
13719 section.@refill 14581 section.@refill
13720 14582
13721 Name such sections with a phrase beginning with the word 14583 Name such sections with a phrase beginning with the word
13722 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way 14584 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way
13723 users can find the section easily. 14585 users can find the section easily.
13724 14586
13725 @subsubheading @sc{ansi c} Syntax 14587 @subsubheading @sc{ansi c} Syntax
13726 14588
13727 When you use @code{@@example} to describe a C function's calling 14589 When you use @code{@@example} to describe a C function's calling
13760 14622
13761 In this example, say, `` @dots{} you must @code{@@dfn}@{check 14623 In this example, say, `` @dots{} you must @code{@@dfn}@{check
13762 in@} the new version.'' That flows better. 14624 in@} the new version.'' That flows better.
13763 14625
13764 @quotation 14626 @quotation
13765 When you are done editing the file, you must perform a 14627 When you are done editing the file, you must perform a
13766 @code{@@dfn}@{check in@}. 14628 @code{@@dfn}@{check in@}.
13767 @end quotation 14629 @end quotation
13768 14630
13769 In the following example, say, ``@dots{} makes a unified interface such as VC 14631 In the following example, say, ``@dots{} makes a unified interface such as VC
13770 mode possible.'' 14632 mode possible.''
13806 You can see this file, with comments, in the first chapter. 14668 You can see this file, with comments, in the first chapter.
13807 @xref{Short Sample, , A Short Sample Texinfo File}. 14669 @xref{Short Sample, , A Short Sample Texinfo File}.
13808 14670
13809 @sp 1 14671 @sp 1
13810 @example 14672 @example
13811 \input texinfo @@c -*-texinfo-*- 14673 \input texinfo @@c -*-texinfo-*-
13812 @@c %**start of header 14674 @@c %**start of header
13813 @@setfilename sample.info 14675 @@setfilename sample.info
13814 @@settitle Sample Document 14676 @@settitle Sample Document
13815 @@c %**end of header 14677 @@c %**end of header
13816 14678
13835 14697
13836 @@node Top, First Chapter, (dir), (dir) 14698 @@node Top, First Chapter, (dir), (dir)
13837 @@comment node-name, next, previous, up 14699 @@comment node-name, next, previous, up
13838 14700
13839 @@menu 14701 @@menu
13840 * First Chapter:: The first chapter is the 14702 * First Chapter:: The first chapter is the
13841 only chapter in this sample. 14703 only chapter in this sample.
13842 * Concept Index:: This index has two entries. 14704 * Concept Index:: This index has two entries.
13843 @@end menu 14705 @@end menu
13844 14706
13845 @@node First Chapter, Concept Index, Top, Top 14707 @@node First Chapter, Concept Index, Top, Top
13846 @@comment node-name, next, previous, up 14708 @@comment node-name, next, previous, up
13847 @@chapter First Chapter 14709 @@chapter First Chapter
13848 @@cindex Sample index entry 14710 @@cindex Sample index entry
13849 14711
13850 This is the contents of the first chapter. 14712 This is the contents of the first chapter.
13851 @@cindex Another sample index entry 14713 @@cindex Another sample index entry
13852 14714
13853 Here is a numbered list. 14715 Here is a numbered list.
13854 14716
13855 @@enumerate 14717 @@enumerate
13859 @@item 14721 @@item
13860 This is the second item. 14722 This is the second item.
13861 @@end enumerate 14723 @@end enumerate
13862 14724
13863 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@} 14725 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@}
13864 commands transform a Texinfo file such as this into 14726 commands transform a Texinfo file such as this into
13865 an Info file; and @@TeX@{@} typesets it for a printed 14727 an Info file; and @@TeX@{@} typesets it for a printed
13866 manual. 14728 manual.
13867 14729
13868 @@node Concept Index, , First Chapter, Top 14730 @@node Concept Index, , First Chapter, Top
13869 @@comment node-name, next, previous, up 14731 @@comment node-name, next, previous, up
13870 @@unnumbered Concept Index 14732 @@unnumbered Concept Index
13959 14821
13960 Permission is granted to make and distribute verbatim 14822 Permission is granted to make and distribute verbatim
13961 copies of this manual provided the copyright notice and 14823 copies of this manual provided the copyright notice and
13962 this permission notice are preserved on all copies. 14824 this permission notice are preserved on all copies.
13963 14825
13964 @@ignore 14826 @@ignore
13965 Permission is granted to process this file through TeX 14827 Permission is granted to process this file through TeX
13966 and print the results, provided the printed document 14828 and print the results, provided the printed document
13967 carries a copying permission notice identical to this 14829 carries a copying permission notice identical to this
13968 one except for the removal of this paragraph (this 14830 one except for the removal of this paragraph (this
13969 paragraph not being relevant to the printed manual). 14831 paragraph not being relevant to the printed manual).
13977 that the entire resulting derived work is distributed 14839 that the entire resulting derived work is distributed
13978 under the terms of a permission notice identical to this 14840 under the terms of a permission notice identical to this
13979 one. 14841 one.
13980 14842
13981 Permission is granted to copy and distribute 14843 Permission is granted to copy and distribute
13982 translations of this manual into another language, 14844 translations of this manual into another language,
13983 under the above conditions for modified versions, 14845 under the above conditions for modified versions,
13984 except that this permission notice may be stated in a 14846 except that this permission notice may be stated in a
13985 translation approved by the Free Software Foundation. 14847 translation approved by the Free Software Foundation.
13986 @end example 14848 @end example
13987 14849
13988 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions 14850 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions
13989 @comment node-name, next, previous, up 14851 @comment node-name, next, previous, up
13990 @appendixsec Titlepage Copying Permissions 14852 @appendixsec Titlepage Copying Permissions
13991 @cindex Titlepage permissions 14853 @cindex Titlepage permissions
13992 14854
13993 In the @code{@@titlepage} section of a Texinfo file, the standard Free 14855 In the @code{@@titlepage} section of a Texinfo file, the standard Free
14008 that the entire resulting derived work is distributed 14870 that the entire resulting derived work is distributed
14009 under the terms of a permission notice identical to this 14871 under the terms of a permission notice identical to this
14010 one. 14872 one.
14011 14873
14012 Permission is granted to copy and distribute 14874 Permission is granted to copy and distribute
14013 translations of this manual into another language, 14875 translations of this manual into another language,
14014 under the above conditions for modified versions, 14876 under the above conditions for modified versions,
14015 except that this permission notice may be stated in a 14877 except that this permission notice may be stated in a
14016 translation approved by the Free Software Foundation. 14878 translation approved by the Free Software Foundation.
14017 @end example 14879 @end example
14018 14880
14019 @node Include Files, Headings, Sample Permissions, Top 14881 @node Include Files, Headings, Sample Permissions, Top
14040 * Include Files Evolution:: How use of the @code{@@include} command 14902 * Include Files Evolution:: How use of the @code{@@include} command
14041 has changed over time. 14903 has changed over time.
14042 @end menu 14904 @end menu
14043 14905
14044 @node Using Include Files, texinfo-multiple-files-update, Include Files, Include Files 14906 @node Using Include Files, texinfo-multiple-files-update, Include Files, Include Files
14045 @appendixsec How to Use Include Files 14907 @appendixsec How to Use Include Files
14046 @findex include 14908 @findex include
14047 14909
14048 To include another file within a Texinfo file, write the 14910 To include another file within a Texinfo file, write the
14049 @code{@@include} command at the beginning of a line and follow it on 14911 @code{@@include} command at the beginning of a line and follow it on
14050 the same line by the name of a file to be included. For 14912 the same line by the name of a file to be included. For
14266 The outer Texinfo source file for @cite{The GNU Emacs Lisp Reference 15128 The outer Texinfo source file for @cite{The GNU Emacs Lisp Reference
14267 Manual} is named @file{elisp.texi}. This outer file contains a master 15129 Manual} is named @file{elisp.texi}. This outer file contains a master
14268 menu with 417 entries and a list of 41 @code{@@include} 15130 menu with 417 entries and a list of 41 @code{@@include}
14269 files.@refill 15131 files.@refill
14270 15132
14271 @node Include Files Evolution, , Sample Include File, Include Files 15133 @node Include Files Evolution, , Sample Include File, Include Files
14272 @comment node-name, next, previous, up 15134 @comment node-name, next, previous, up
14273 @appendixsec Evolution of Include Files 15135 @appendixsec Evolution of Include Files
14274 15136
14275 When Info was first created, it was customary to create many small 15137 When Info was first created, it was customary to create many small
14276 Info files on one subject. Each Info file was formatted from its own 15138 Info files on one subject. Each Info file was formatted from its own
14280 memory for the small Info file that contained the particular 15142 memory for the small Info file that contained the particular
14281 information sought. This way, Emacs could avoid wasting memory.@refill 15143 information sought. This way, Emacs could avoid wasting memory.@refill
14282 15144
14283 References from one file to another were made by referring to the file 15145 References from one file to another were made by referring to the file
14284 name as well as the node name. (@xref{Other Info Files, , Referring to 15146 name as well as the node name. (@xref{Other Info Files, , Referring to
14285 Other Info Files}. Also, see @ref{Four and Five Arguments, , 15147 Other Info Files}. Also, see @ref{Four and Five Arguments, ,
14286 @code{@@xref} with Four and Five Arguments}.)@refill 15148 @code{@@xref} with Four and Five Arguments}.)@refill
14287 15149
14288 Include files were designed primarily as a way to create a single, 15150 Include files were designed primarily as a way to create a single,
14289 large printed manual out of several smaller Info files. In a printed 15151 large printed manual out of several smaller Info files. In a printed
14290 manual, all the references were within the same document, so @TeX{} 15152 manual, all the references were within the same document, so @TeX{}
14449 15311
14450 @need 1000 15312 @need 1000
14451 There are four possibilities:@refill 15313 There are four possibilities:@refill
14452 15314
14453 @table @asis 15315 @table @asis
14454 @item No @code{@@setchapternewpage} command 15316 @item No @code{@@setchapternewpage} command
14455 Cause @TeX{} to specify the single-sided heading format, with chapters 15317 Cause @TeX{} to specify the single-sided heading format, with chapters
14456 on new pages. This is the same as @code{@@setchapternewpage on}.@refill 15318 on new pages. This is the same as @code{@@setchapternewpage on}.@refill
14457 15319
14458 @item @code{@@setchapternewpage on} 15320 @item @code{@@setchapternewpage on}
14459 Specify the single-sided heading format, with chapters on new pages.@refill 15321 Specify the single-sided heading format, with chapters on new pages.@refill
14460 15322
14461 @item @code{@@setchapternewpage off} 15323 @item @code{@@setchapternewpage off}
14462 Cause @TeX{} to start a new chapter on the same page as the last page of 15324 Cause @TeX{} to start a new chapter on the same page as the last page of
14463 the preceding chapter, after skipping some vertical whitespace. Also 15325 the preceding chapter, after skipping some vertical whitespace. Also
14464 cause @TeX{} to typeset for single-sided printing. (You can override 15326 cause @TeX{} to typeset for single-sided printing. (You can override
14465 the headers format with the @code{@@headings double} command; see 15327 the headers format with the @code{@@headings double} command; see
14466 @ref{headings on off, , The @code{@@headings} Command}.)@refill 15328 @ref{headings on off, , The @code{@@headings} Command}.)@refill
14467 15329
14468 @item @code{@@setchapternewpage odd} 15330 @item @code{@@setchapternewpage odd}
14469 Specify the double-sided heading format, with chapters on new pages.@refill 15331 Specify the double-sided heading format, with chapters on new pages.@refill
14470 @end table 15332 @end table
14471 15333
14472 @noindent 15334 @noindent
14473 Texinfo lacks an @code{@@setchapternewpage even} command.@refill 15335 Texinfo lacks an @code{@@setchapternewpage even} command.@refill
14474 15336
14475 @node Custom Headings, , Heading Choice, Headings 15337 @node Custom Headings, , Heading Choice, Headings
14476 @comment node-name, next, previous, up 15338 @comment node-name, next, previous, up
14477 @appendixsec How to Make Your Own Headings 15339 @appendixsec How to Make Your Own Headings
14478 15340
14479 You can use the standard headings provided with Texinfo or specify 15341 You can use the standard headings provided with Texinfo or specify
14480 your own.@refill 15342 your own.@refill
14581 @item @@thischapter 15443 @item @@thischapter
14582 Expands to the number and name of the current 15444 Expands to the number and name of the current
14583 chapter, in the format `Chapter 1: Title'.@refill 15445 chapter, in the format `Chapter 1: Title'.@refill
14584 15446
14585 @findex thistitle 15447 @findex thistitle
14586 @item @@thistitle 15448 @item @@thistitle
14587 Expands to the name of the document, as specified by the 15449 Expands to the name of the document, as specified by the
14588 @code{@@settitle} command.@refill 15450 @code{@@settitle} command.@refill
14589 15451
14590 @findex thisfile 15452 @findex thisfile
14591 @item @@thisfile 15453 @item @@thisfile
14592 For @code{@@include} files only: expands to the name of the current 15454 For @code{@@include} files only: expands to the name of the current
14593 @code{@@include} file. If the current Texinfo source file is not an 15455 @code{@@include} file. If the current Texinfo source file is not an
14594 @code{@@include} file, this command has no effect. This command does 15456 @code{@@include} file, this command has no effect. This command does
14595 @emph{not} provide the name of the current Texinfo source file unless 15457 @emph{not} provide the name of the current Texinfo source file unless
14596 it is an @code{@@include} file. (@xref{Include Files}, for more 15458 it is an @code{@@include} file. (@xref{Include Files}, for more
14712 @example 15574 @example
14713 @group 15575 @group
14714 ---------- Buffer: *Info Region* ---------- 15576 ---------- Buffer: *Info Region* ----------
14715 * Menu: 15577 * Menu:
14716 15578
14717 * Using texinfo-show-structure:: How to use 15579 * Using texinfo-show-structure:: How to use
14718 `texinfo-show-structure' 15580 `texinfo-show-structure'
14719 to catch mistakes. 15581 to catch mistakes.
14720 * Running Info-Validate:: How to check for 15582 * Running Info-Validate:: How to check for
14721 unreferenced nodes. 15583 unreferenced nodes.
14722 @@end menus 15584 @@end menus
14723 @point{} 15585 @point{}
14724 ---------- Buffer: *Info Region* ---------- 15586 ---------- Buffer: *Info Region* ----------
14725 @end group 15587 @end group
14790 15652
14791 @c node Using the Emacs Lisp Debugger 15653 @c node Using the Emacs Lisp Debugger
14792 @c appendixsubsec Using the Emacs Lisp Debugger 15654 @c appendixsubsec Using the Emacs Lisp Debugger
14793 @c index Using the Emacs Lisp debugger 15655 @c index Using the Emacs Lisp debugger
14794 @c index Emacs Lisp debugger 15656 @c index Emacs Lisp debugger
14795 @c index Debugger, using the Emacs Lisp 15657 @c index Debugger, using the Emacs Lisp
14796 15658
14797 If an error is especially elusive, you can turn on the Emacs Lisp 15659 If an error is especially elusive, you can turn on the Emacs Lisp
14798 debugger and look at the backtrace; this tells you where in the 15660 debugger and look at the backtrace; this tells you where in the
14799 @code{texinfo-format-region} function the problem occurred. You can 15661 @code{texinfo-format-region} function the problem occurred. You can
14800 turn on the debugger with the command:@refill 15662 turn on the debugger with the command:@refill
14893 @TeX{} produced the following output, after which it stopped:@refill 15755 @TeX{} produced the following output, after which it stopped:@refill
14894 15756
14895 @example 15757 @example
14896 ---------- Buffer: *tex-shell* ---------- 15758 ---------- Buffer: *tex-shell* ----------
14897 Runaway argument? 15759 Runaway argument?
14898 @{sorting indices, for more information about sorting 15760 @{sorting indices, for more information about sorting
14899 indices.) @@refill @@ETC. 15761 indices.) @@refill @@ETC.
14900 ! Paragraph ended before @@xref was complete. 15762 ! Paragraph ended before @@xref was complete.
14901 <to be read again> 15763 <to be read again>
14902 @@par 15764 @@par
14903 l.27 15765 l.27
14904 15766
14905 ? 15767 ?
14906 ---------- Buffer: *tex-shell* ---------- 15768 ---------- Buffer: *tex-shell* ----------
14907 @end example 15769 @end example
14908 15770
14909 In this case, @TeX{} produced an accurate and 15771 In this case, @TeX{} produced an accurate and
14910 understandable error message: 15772 understandable error message:
14911 15773
14912 @example 15774 @example
14913 Paragraph ended before @@xref was complete. 15775 Paragraph ended before @@xref was complete.
14914 @end example 15776 @end example
14915 15777
14928 @enumerate 15790 @enumerate
14929 @item 15791 @item
14930 You can tell @TeX{} to continue running and ignore just this error by 15792 You can tell @TeX{} to continue running and ignore just this error by
14931 typing @key{RET} at the @samp{?} prompt.@refill 15793 typing @key{RET} at the @samp{?} prompt.@refill
14932 15794
14933 @item 15795 @item
14934 You can tell @TeX{} to continue running and to ignore all errors as best 15796 You can tell @TeX{} to continue running and to ignore all errors as best
14935 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill 15797 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill
14936 15798
14937 This is often the best thing to do. However, beware: the one error 15799 This is often the best thing to do. However, beware: the one error
14938 may produce a cascade of additional error messages as its consequences 15800 may produce a cascade of additional error messages as its consequences
14939 are felt through the rest of the file. (To stop @TeX{} when it is 15801 are felt through the rest of the file. (To stop @TeX{} when it is
14940 producing such an avalanche of error messages, type @kbd{C-d} (or 15802 producing such an avalanche of error messages, type @kbd{C-d} (or
14941 @kbd{C-c C-d}, if you are running a shell inside Emacs.))@refill 15803 @kbd{C-c C-d}, if you are running a shell inside Emacs.))@refill
14942 15804
14943 @item 15805 @item
14944 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}} 15806 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}}
14945 at the @samp{?} prompt.@refill 15807 at the @samp{?} prompt.@refill
14946 @end enumerate 15808 @end enumerate
14947 15809
14948 Please note that if you are running @TeX{} inside Emacs, you need to 15810 Please note that if you are running @TeX{} inside Emacs, you need to
14949 switch to the shell buffer and line at which @TeX{} offers the @samp{?} 15811 switch to the shell buffer and line at which @TeX{} offers the @samp{?}
14977 @TeX{} may stop in the 15839 @TeX{} may stop in the
14978 beginning of its run and display output that looks like the following. 15840 beginning of its run and display output that looks like the following.
14979 The @samp{*} indicates that @TeX{} is waiting for input.@refill 15841 The @samp{*} indicates that @TeX{} is waiting for input.@refill
14980 15842
14981 @example 15843 @example
14982 This is TeX, Version 2.0 for Berkeley UNIX 15844 This is TeX, Version 3.14159 (Web2c 7.0)
14983 (preloaded format=plain-cm 87.10.25)
14984 (test.texinfo [1]) 15845 (test.texinfo [1])
14985 * 15846 *
14986 @end example 15847 @end example
14987 15848
14988 @noindent 15849 @noindent
15004 15865
15005 In GNU Emacs, in Texinfo mode, the @code{texinfo-show-structure} 15866 In GNU Emacs, in Texinfo mode, the @code{texinfo-show-structure}
15006 command lists all the lines that begin with the @@-commands that 15867 command lists all the lines that begin with the @@-commands that
15007 specify the structure: @code{@@chapter}, @code{@@section}, 15868 specify the structure: @code{@@chapter}, @code{@@section},
15008 @code{@@appendix}, and so on. With an argument (@w{@kbd{C-u}} 15869 @code{@@appendix}, and so on. With an argument (@w{@kbd{C-u}}
15009 as prefix argument, if interactive), 15870 as prefix argument, if interactive),
15010 the command also shows the @code{@@node} lines. The 15871 the command also shows the @code{@@node} lines. The
15011 @code{texinfo-show-structure} command is bound to @kbd{C-c C-s} in 15872 @code{texinfo-show-structure} command is bound to @kbd{C-c C-s} in
15012 Texinfo mode, by default.@refill 15873 Texinfo mode, by default.@refill
15013 15874
15014 The lines are displayed in a buffer called the @samp{*Occur*} buffer, 15875 The lines are displayed in a buffer called the @samp{*Occur*} buffer,
15016 produced by running @code{texinfo-show-structure} on this manual:@refill 15877 produced by running @code{texinfo-show-structure} on this manual:@refill
15017 15878
15018 @example 15879 @example
15019 @group 15880 @group
15020 Lines matching "^@@\\(chapter \\|sect\\|subs\\|subh\\| 15881 Lines matching "^@@\\(chapter \\|sect\\|subs\\|subh\\|
15021 unnum\\|major\\|chapheading \\|heading \\|appendix\\)" 15882 unnum\\|major\\|chapheading \\|heading \\|appendix\\)"
15022 in buffer texinfo.texi. 15883 in buffer texinfo.texi.
15023 @dots{} 15884 @dots{}
15024 4177:@@chapter Nodes 15885 4177:@@chapter Nodes
15025 4198: @@heading Two Paths 15886 4198: @@heading Two Paths
15026 4231: @@section Node and Menu Illustration 15887 4231: @@section Node and Menu Illustration
15065 or left out a section, you can correct the mistake.@refill 15926 or left out a section, you can correct the mistake.@refill
15066 15927
15067 @node Using occur, Running Info-Validate, Using texinfo-show-structure, Catching Mistakes 15928 @node Using occur, Running Info-Validate, Using texinfo-show-structure, Catching Mistakes
15068 @comment node-name, next, previous, up 15929 @comment node-name, next, previous, up
15069 @appendixsec Using @code{occur} 15930 @appendixsec Using @code{occur}
15070 @cindex Occurrences, listing with @code{@@occur} 15931 @cindex Occurrences, listing with @code{@@occur}
15071 @findex occur 15932 @findex occur
15072 15933
15073 Sometimes the @code{texinfo-show-structure} command produces too much 15934 Sometimes the @code{texinfo-show-structure} command produces too much
15074 information. Perhaps you want to remind yourself of the overall structure 15935 information. Perhaps you want to remind yourself of the overall structure
15075 of a Texinfo file, and are overwhelmed by the detailed list produced by 15936 of a Texinfo file, and are overwhelmed by the detailed list produced by
15078 15939
15079 @example 15940 @example
15080 @kbd{M-x occur} 15941 @kbd{M-x occur}
15081 @end example 15942 @end example
15082 15943
15083 @noindent 15944 @noindent
15084 and then, when prompted, type a @dfn{regexp}, a regular expression for 15945 and then, when prompted, type a @dfn{regexp}, a regular expression for
15085 the pattern you want to match. (@xref{Regexps, , Regular Expressions, 15946 the pattern you want to match. (@xref{Regexps, , Regular Expressions,
15086 emacs, The GNU Emacs Manual}.) The @code{occur} command works from 15947 emacs, The GNU Emacs Manual}.) The @code{occur} command works from
15087 the current location of the cursor in the buffer to the end of the 15948 the current location of the cursor in the buffer to the end of the
15088 buffer. If you want to run @code{occur} on the whole buffer, place 15949 buffer. If you want to run @code{occur} on the whole buffer, place
15102 therefore have the same `Up' pointer.@refill 15963 therefore have the same `Up' pointer.@refill
15103 15964
15104 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual}, 15965 @xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual},
15105 for more information.@refill 15966 for more information.@refill
15106 15967
15107 @node Running Info-Validate, , Using occur, Catching Mistakes 15968 @node Running Info-Validate, , Using occur, Catching Mistakes
15108 @comment node-name, next, previous, up 15969 @comment node-name, next, previous, up
15109 @appendixsec Finding Badly Referenced Nodes 15970 @appendixsec Finding Badly Referenced Nodes
15110 @findex Info-validate 15971 @findex Info-validate
15111 @cindex Nodes, checking for badly referenced 15972 @cindex Nodes, checking for badly referenced
15112 @cindex Checking for badly referenced nodes 15973 @cindex Checking for badly referenced nodes
15113 @cindex Looking for badly referenced nodes 15974 @cindex Looking for badly referenced nodes
15114 @cindex Finding badly referenced nodes 15975 @cindex Finding badly referenced nodes
15115 @cindex Badly referenced nodes 15976 @cindex Badly referenced nodes
15116 15977
15117 You can use the @code{Info-validate} command to check whether any of 15978 You can use the @code{Info-validate} command to check whether any of
15118 the `Next', `Previous', `Up' or other node pointers fail to point to a 15979 the `Next', `Previous', `Up' or other node pointers fail to point to a
15119 node. This command checks that every node pointer points to an 15980 node. This command checks that every node pointer points to an
15120 existing node. The @code{Info-validate} command works only on Info 15981 existing node. The @code{Info-validate} command works only on Info
15239 @example 16100 @example
15240 M-x Info-tagify 16101 M-x Info-tagify
15241 @end example 16102 @end example
15242 16103
15243 @noindent 16104 @noindent
15244 (Note the upper case @key{I} in @code{Info-tagify}.) This creates an 16105 (Note the upper case @samp{I} in @code{Info-tagify}.) This creates an
15245 Info file with a tag table that you can validate.@refill 16106 Info file with a tag table that you can validate.@refill
15246 16107
15247 The third step is to validate the Info file:@refill 16108 The third step is to validate the Info file:@refill
15248 16109
15249 @example 16110 @example
15250 M-x Info-validate 16111 M-x Info-validate
15251 @end example 16112 @end example
15252 16113
15253 @noindent 16114 @noindent
15254 (Note the upper case @key{I} in @code{Info-validate}.) 16115 (Note the upper case @samp{I} in @code{Info-validate}.)
15255 In brief, the steps are:@refill 16116 In brief, the steps are:@refill
15256 16117
15257 @example 16118 @example
15258 @group 16119 @group
15259 C-u M-x texinfo-format-buffer 16120 C-u M-x texinfo-format-buffer
15265 After you have validated the node structure, you can rerun 16126 After you have validated the node structure, you can rerun
15266 @code{texinfo-format-buffer} in the normal way so it will construct a 16127 @code{texinfo-format-buffer} in the normal way so it will construct a
15267 tag table and split the file automatically, or you can make the tag 16128 tag table and split the file automatically, or you can make the tag
15268 table and split the file manually.@refill 16129 table and split the file manually.@refill
15269 16130
15270 @node Splitting, , Tagifying, Running Info-Validate 16131 @node Splitting, , Tagifying, Running Info-Validate
15271 @comment node-name, next, previous, up 16132 @comment node-name, next, previous, up
15272 @appendixsubsec Splitting a File Manually 16133 @appendixsubsec Splitting a File Manually
15273 @cindex Splitting an Info file manually 16134 @cindex Splitting an Info file manually
15274 @cindex Info file, splitting manually 16135 @cindex Info file, splitting manually
15275 16136
15319 the tag table and a directory of subfiles.@refill 16180 the tag table and a directory of subfiles.@refill
15320 16181
15321 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top 16182 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top
15322 @comment node-name, next, previous, up 16183 @comment node-name, next, previous, up
15323 @appendix Refilling Paragraphs 16184 @appendix Refilling Paragraphs
15324 @cindex Refilling paragraphs 16185 @cindex Refilling paragraphs
15325 @cindex Filling paragraphs 16186 @cindex Filling paragraphs
15326 @findex refill 16187 @findex refill
15327 16188
15328 The @code{@@refill} command refills and, optionally, indents the first 16189 The @code{@@refill} command refills and, optionally, indents the first
15329 line of a paragraph.@footnote{Perhaps the command should have been 16190 line of a paragraph.@footnote{Perhaps the command should have been
15330 called the @code{@@refillandindent} command, but @code{@@refill} is 16191 called the @code{@@refillandindent} command, but @code{@@refill} is
15361 @comment node-name, next, previous, up 16222 @comment node-name, next, previous, up
15362 @appendix @@-Command Syntax 16223 @appendix @@-Command Syntax
15363 @cindex @@-command syntax 16224 @cindex @@-command syntax
15364 16225
15365 The character @samp{@@} is used to start special Texinfo commands. 16226 The character @samp{@@} is used to start special Texinfo commands.
15366 (It has the same meaning that @samp{\} has in Plain@TeX{}.) Texinfo 16227 (It has the same meaning that @samp{\} has in plain @TeX{}.) Texinfo
15367 has four types of @@-command:@refill 16228 has four types of @@-command:@refill
15368 16229
15369 @table @asis 16230 @table @asis
15370 @item 1. Non-alphabetic commands. 16231 @item 1. Non-alphabetic commands.
15371 These commands consist of an @@ followed by a punctuation mark or other 16232 These commands consist of an @@ followed by a punctuation mark or other
15423 @appendix How to Obtain @TeX{} 16284 @appendix How to Obtain @TeX{}
15424 @cindex Obtaining @TeX{} 16285 @cindex Obtaining @TeX{}
15425 @cindex @TeX{}, how to obtain 16286 @cindex @TeX{}, how to obtain
15426 16287
15427 @c !!! Here is information about obtaining TeX. Update it whenever. 16288 @c !!! Here is information about obtaining TeX. Update it whenever.
15428 @c Last updated by RJC on 1 March 1995, conversation with Mackay. 16289 @c !!! Also consider updating TeX.README on prep.
16290 @c Updated by RJC on 1 March 1995, conversation with MacKay.
16291 @c Updated by kb@cs.umb.edu on 29 July 1996.
15429 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix 16292 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix
15430 systems via anonymous ftp or on tape or CD-ROM. The core material 16293 systems via anonymous ftp or on tape or CD-ROM. The core material
15431 consists of Karl Berry's @code{web2c} @TeX{} package. 16294 consists of Karl Berry's Web2c @TeX{} distribution.
15432 16295
15433 On-line retrieval instructions are in @code{ftp.cs.umb.edu} 16296 On-line retrieval instructions are available from either:
15434 @t{[158.121.104.33]} in @file{pub/tex/unixtex.ftp} 16297 @example
15435 16298 @url{ftp://ftp.tug.org/tex/unixtex.ftp}
15436 The Free Software Foundation provides a core distribution on its 16299 @url{http://www.tug.org/unixtex.ftp}
15437 Source Code CD-ROM; the University of Washington maintains and 16300 @end example
15438 supports a tape distribution. 16301
16302 The Free Software Foundation provides a core distribution on its Source
16303 Code CD-ROM suitable for printing Texinfo manuals; the University of
16304 Washington maintains and supports a tape distribution; the @TeX{} Users
16305 Group co-sponsors a complete CD-ROM @TeX{} distribution.
15439 16306
15440 For the FSF Source Code CD-ROM, please contact: 16307 For the FSF Source Code CD-ROM, please contact:
15441 16308
15442 @iftex 16309 @iftex
15443 @display 16310 @display
15444 @group 16311 @group
15445 Free Software Foundation, Inc. 16312 Free Software Foundation, Inc.
15446 59 Temple Place Suite 330 16313 59 Temple Place Suite 330
15447 Boston, MA @w{ } 02111-1307 16314 Boston, MA w{ } 02111-1307
15448 USA 16315 USA
15449 16316
15450 Telephone: @w{@t{+}1--617--542--5942} 16317 Telephone: @w{@t{+}1--617--542--5942}
15451 Fax: (including Japan) @w{@t{+}1--617--542--2652} 16318 Fax: (including Japan) @w{@t{+}1--617--542--2652}
15452 Free Dial Fax (in Japan): 16319 Free Dial Fax (in Japan):
15453 @w{ } @w{ } @w{ } 0031--13--2473 (KDD) 16320 @w{ } @w{ } @w{ } 0031--13--2473 (KDD)
15454 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC) 16321 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC)
15455 Electronic mail: @code{gnu@@prep.ai.mit.edu} 16322 Electronic mail: @code{gnu@@prep.ai.mit.edu}
15456 @end group 16323 @end group
15457 @end display 16324 @end display
15458 @end iftex 16325 @end iftex
15459 @ifinfo 16326 @ifinfo
15460 @display 16327 @display
15467 Telephone: @w{@t{+}1-617-542-5942} 16334 Telephone: @w{@t{+}1-617-542-5942}
15468 Fax: (including Japan) @w{@t{+}1-617-542-2652} 16335 Fax: (including Japan) @w{@t{+}1-617-542-2652}
15469 Free Dial Fax (in Japan): 16336 Free Dial Fax (in Japan):
15470 @w{ } @w{ } @w{ } 0031-13-2473 (KDD) 16337 @w{ } @w{ } @w{ } 0031-13-2473 (KDD)
15471 @w{ } @w{ } @w{ } 0066-3382-0158 (IDC) 16338 @w{ } @w{ } @w{ } 0066-3382-0158 (IDC)
15472 Electronic mail: @code{gnu@@prep.ai.mit.edu} 16339 Electronic mail: @code{gnu@@prep.ai.mit.edu}
15473 @end group 16340 @end group
15474 @end display 16341 @end display
15475 @end ifinfo 16342 @end ifinfo
15476 16343
16344 To order a full distribution on CD-ROM, please see:
16345 @display
16346 @url{http://www.tug.org/tex-live.html}
16347 @end display
16348
16349 @noindent
16350 (The distribution is also available by FTP; see the URL's above.)
16351
15477 To order a full distribution from the University of Washington on either a 16352 To order a full distribution from the University of Washington on either a
15478 1/4@dmn{inch} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge, send 16353 1/4@dmn{in} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge, send
15479 $210.00 to: 16354 $210 to:
15480 16355
15481 @iftex
15482 @display 16356 @display
15483 @group 16357 @group
15484 Pierre A. MacKay 16358 Pierre A. MacKay
15485 Department of Classics 16359 Denny Hall, Mail Stop DH-10
15486 DH-10, Denny Hall 218
15487 University of Washington 16360 University of Washington
15488 Seattle, WA @w{ } 98195 16361 Seattle, WA @w{ } 98195
15489 USA 16362 USA
15490 16363
15491 Telephone: @t{+}1--206--543--2268 16364 Telephone: @t{+}1--206--543--2268
15492 Electronic mail: @code{mackay@@cs.washington.edu} 16365 Electronic mail: @code{mackay@@cs.washington.edu}
15493 @end group 16366 @end group
15494 @end display 16367 @end display
15495 @end iftex
15496 @ifinfo
15497 @display
15498 @group
15499 Pierre A. MacKay
15500 Department of Classics
15501 DH-10, Denny Hall 218
15502 University of Washington
15503 Seattle, WA @w{ } 98195
15504 USA
15505
15506 Telephone: @t{+}1-206-543-2268
15507 Electronic mail: @code{mackay@@cs.washington.edu}
15508 @end group
15509 @end display
15510 @end ifinfo
15511 16368
15512 Please make checks payable to the University of Washington. 16369 Please make checks payable to the University of Washington.
15513 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. 16370 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank.
15514 16371
15515 Prepaid orders are the only orders that can now be handled. Overseas 16372 Prepaid orders are the only orders that can now be handled. Overseas
15516 sites: please add to the base cost, if desired, $20.00 for shipment 16373 sites: please add to the base cost, if desired, $20.00 for shipment
15517 via air parcel post, or $30.00 for shipment via courier. 16374 via air parcel post, or $30.00 for shipment via courier.
15518 16375
15519 Please check with the above for current prices and formats. 16376 Please check with the above for current prices and formats.
15520 16377
15521 @node New Features, Command and Variable Index, Obtaining TeX, Top 16378
16379 @node New Features, Command and Variable Index, Obtaining TeX, Top
15522 @appendix Second Edition Features 16380 @appendix Second Edition Features
15523 16381
15524 @tex 16382 @tex
15525 % Widen the space for the first column so three control-character 16383 % Widen the space for the first column so three control-character
15526 % strings fit in the first column. Switched back to default .8in 16384 % strings fit in the first column. Switched back to default .8in
15724 16582
15725 @item M-x texinfo-sequential-node-update 16583 @item M-x texinfo-sequential-node-update
15726 Insert node pointers in strict sequence. 16584 Insert node pointers in strict sequence.
15727 @end table 16585 @end table
15728 16586
15729 @node New Commands, , New Texinfo Mode Commands, New Features 16587 @node New Commands, , New Texinfo Mode Commands, New Features
15730 @appendixsec New Texinfo @@-Commands 16588 @appendixsec New Texinfo @@-Commands
15731 16589
15732 The second edition of the Texinfo manual describes more than 50 16590 The second edition of the Texinfo manual describes more than 50
15733 commands that were not described in the first edition. A third or so 16591 commands that were not described in the first edition. A third or so
15734 of these commands existed in Texinfo but were not documented in the 16592 of these commands existed in Texinfo but were not documented in the
15746 @table @kbd 16604 @table @kbd
15747 @item @@defindex @var{index-name} 16605 @item @@defindex @var{index-name}
15748 Define a new index and its indexing command. 16606 Define a new index and its indexing command.
15749 See also the @code{@@defcodeindex} command. 16607 See also the @code{@@defcodeindex} command.
15750 16608
15751 @c written verbosely to avoid overful hbox 16609 @c written verbosely to avoid overfull hbox
15752 @item @@synindex @var{from-index} @var{into-index} 16610 @item @@synindex @var{from-index} @var{into-index}
15753 Merge the @var{from-index} index into the @var{into-index} index. 16611 Merge the @var{from-index} index into the @var{into-index} index.
15754 See also the @code{@@syncodeindex} command. 16612 See also the @code{@@syncodeindex} command.
15755 @end table 16613 @end table
15756 16614
15782 16640
15783 @noindent 16641 @noindent
15784 @xref{Glyphs}. 16642 @xref{Glyphs}.
15785 16643
15786 @table @kbd 16644 @table @kbd
15787 @item @@equiv@{@} 16645 @item @@equiv@{@}
15788 @itemx @equiv{} 16646 @itemx @equiv{}
15789 Equivalence: 16647 Equivalence:
15790 16648
15791 @item @@error@{@} 16649 @item @@error@{@}
15792 @itemx @error{} 16650 @itemx @error{}
15793 Error message 16651 Error message
15794 16652
15795 @item @@expansion@{@} 16653 @item @@expansion@{@}
15796 @itemx @expansion{} 16654 @itemx @expansion{}
15797 Macro expansion 16655 Macro expansion
15798 16656
15799 @item @@point@{@} 16657 @item @@point@{@}
15800 @itemx @point{} 16658 @itemx @point{}
15801 Position of point 16659 Position of point
15802 16660
15803 @item @@print@{@} 16661 @item @@print@{@}
15804 @itemx @print{} 16662 @itemx @print{}
15805 Printed output 16663 Printed output
15806 16664
15807 @item @@result@{@} 16665 @item @@result@{@}
15808 @itemx @result{} 16666 @itemx @result{}
15809 Result of an expression 16667 Result of an expression
15810 @end table 16668 @end table
15811 16669
15812 @subheading Page Headings 16670 @subheading Page Headings
15825 Footings for even-numbered (left-hand) pages. 16683 Footings for even-numbered (left-hand) pages.
15826 16684
15827 @item @@evenheading, @@everyheading, @@oddheading, @dots{} 16685 @item @@evenheading, @@everyheading, @@oddheading, @dots{}
15828 Five other related commands. 16686 Five other related commands.
15829 16687
15830 @item @@thischapter 16688 @item @@thischapter
15831 Insert name of chapter and chapter number. 16689 Insert name of chapter and chapter number.
15832 16690
15833 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage 16691 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage
15834 Related commands. 16692 Related commands.
15835 @end table 16693 @end table
15851 Enumerate a list with letters or numbers. 16709 Enumerate a list with letters or numbers.
15852 16710
15853 @item @@exdent @var{line-of-text} 16711 @item @@exdent @var{line-of-text}
15854 Remove indentation. 16712 Remove indentation.
15855 16713
15856 @item @@flushleft 16714 @item @@flushleft
15857 Left justify. 16715 Left justify.
15858 16716
15859 @item @@flushright 16717 @item @@flushright
15860 Right justify. 16718 Right justify.
15861 16719
15862 @item @@format 16720 @item @@format
15863 Do not narrow nor change font. 16721 Do not narrow nor change font.
15864 16722
15865 @item @@ftable @var{formatting-command} 16723 @item @@ftable @var{formatting-command}
15866 @itemx @@vtable @var{formatting-command} 16724 @itemx @@vtable @var{formatting-command}
15867 Two-column table with indexing. 16725 Two-column table with indexing.
15868 16726
15869 @item @@lisp 16727 @item @@lisp
15870 For an example of Lisp code. 16728 For an example of Lisp code.
15871 16729
15872 @item @@smallexample 16730 @item @@smallexample
15873 @itemx @@smalllisp 16731 @itemx @@smalllisp
15874 Like @@table and @@lisp @r{but for} @@smallbook. 16732 Like @@table and @@lisp @r{but for} @@smallbook.
15875 @end table 16733 @end table
15876 16734
15877 @subheading Conditionals 16735 @subheading Conditionals
15881 16739
15882 @noindent 16740 @noindent
15883 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 16741 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
15884 16742
15885 @table @kbd 16743 @table @kbd
15886 @item @@set @var{flag} [@var{string}] 16744 @item @@set @var{flag} [@var{string}]
15887 Set a flag. Optionally, set value 16745 Set a flag. Optionally, set value
15888 of @var{flag} to @var{string}. 16746 of @var{flag} to @var{string}.
15889 16747
15890 @item @@clear @var{flag} 16748 @item @@clear @var{flag}
15891 Clear a flag. 16749 Clear a flag.
15926 @ref{Fonts}. 16784 @ref{Fonts}.
15927 16785
15928 @table @kbd 16786 @table @kbd
15929 @item @@r@{@var{text}@} 16787 @item @@r@{@var{text}@}
15930 Print in roman font. 16788 Print in roman font.
15931 16789
15932 @item @@sc@{@var{text}@} 16790 @item @@sc@{@var{text}@}
15933 Print in @sc{small caps} font. 16791 Print in @sc{small caps} font.
15934 @end table 16792 @end table
15935 16793
15936 @subheading Miscellaneous 16794 @subheading Miscellaneous
15947 see @ref{paragraphindent, , Paragraph Indenting},@* 16805 see @ref{paragraphindent, , Paragraph Indenting},@*
15948 see @ref{Cross Reference Commands},@* 16806 see @ref{Cross Reference Commands},@*
15949 see @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author}}, and@* 16807 see @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author}}, and@*
15950 see @ref{Custom Headings, , How to Make Your Own Headings}. 16808 see @ref{Custom Headings, , How to Make Your Own Headings}.
15951 16809
15952 @need 700
15953 @table @kbd 16810 @table @kbd
15954 @item @@author @var{author} 16811 @item @@author @var{author}
15955 Typeset author's name. 16812 Typeset author's name.
15956 16813
16814 @ignore
15957 @item @@definfoenclose @var{new-command}, @var{before}, @var{after}, 16815 @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
15958 Define a highlighting command for Info. (Info only.) 16816 Define a highlighting command for Info. (Info only.)
16817 @end ignore
15959 16818
15960 @item @@finalout 16819 @item @@finalout
15961 Produce cleaner printed output. 16820 Produce cleaner printed output.
15962 16821
15963 @item @@footnotestyle @var{end-or-separate} 16822 @item @@footnotestyle @var{end-or-separate}
15986 16845
15987 @item @@ref@{@var{node-name}, @r{[}@var{entry}@r{]}, @r{[}@var{topic-or-title}@r{]}, @r{[}@var{info-file}@r{]}, @r{[}@var{manual}@r{]}@} 16846 @item @@ref@{@var{node-name}, @r{[}@var{entry}@r{]}, @r{[}@var{topic-or-title}@r{]}, @r{[}@var{info-file}@r{]}, @r{[}@var{manual}@r{]}@}
15988 Make a reference. In the printed manual, the 16847 Make a reference. In the printed manual, the
15989 reference does not start with the word `see'. 16848 reference does not start with the word `see'.
15990 16849
15991 @item @@title @var{title} 16850 @item @@title @var{title}
15992 Typeset @var{title} in the alternative 16851 Typeset @var{title} in the alternative
15993 title page format. 16852 title page format.
15994 16853
15995 @item @@subtitle @var{subtitle} 16854 @item @@subtitle @var{subtitle}
15996 Typeset @var{subtitle} in the alternative 16855 Typeset @var{subtitle} in the alternative
16002 @tex 16861 @tex
16003 % Switch width of first column of tables back to default value 16862 % Switch width of first column of tables back to default value
16004 \global\tableindent=.8in 16863 \global\tableindent=.8in
16005 @end tex 16864 @end tex
16006 16865
16866
16007 @node Command and Variable Index, Concept Index, New Features, Top 16867 @node Command and Variable Index, Concept Index, New Features, Top
16008 @comment node-name, next, previous, up 16868 @comment node-name, next, previous, up
16009 @unnumbered Command and Variable Index 16869 @unnumbered Command and Variable Index
16010 16870
16011 This is an alphabetical list of all the @@-commands and several 16871 This is an alphabetical list of all the @@-commands, assorted Emacs Lisp
16012 variables. To make the list easier to use, the commands are listed 16872 functions, and several variables. To make the list easier to use, the
16013 without their preceding @samp{@@}.@refill 16873 commands are listed without their preceding @samp{@@}.@refill
16014 16874
16015 @printindex fn 16875 @printindex fn
16016 16876
16017 @node Concept Index, , Command and Variable Index, Top 16877
16018 @comment node-name, next, previous, up 16878 @node Concept Index, , Command and Variable Index, Top
16019 @unnumbered Concept Index 16879 @unnumbered Concept Index
16020 16880
16021 @printindex cp 16881 @printindex cp
16882
16022 16883
16023 @summarycontents 16884 @summarycontents
16024 @contents 16885 @contents
16025 @bye 16886 @bye