comparison man/texinfo.texi @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents ee648375d8d6
children 360340f9fd5f
comparison
equal deleted inserted replaced
69:804d1389bcd6 70:131b0175ea99
1 \input texinfo.tex @c -*-texinfo-*- 1 \input texinfo.tex @c -*-texinfo-*-
2 @c $Id: texinfo.texi,v 1.4 1997/08/30 03:56:40 steve Exp $ 2 @comment %**start of header
3 @c %**start of header 3 @setfilename ../info/texinfo.info
4
5 @c All text is ignored before the setfilename.
6 @setfilename texinfo
7 @settitle Texinfo @value{edition} 4 @settitle Texinfo @value{edition}
8 5 @syncodeindex vr fn
9 @set edition 2.24
10 @set update-month July 1997
11 @set update-date 25 @value{update-month}
12
13 @c Define a new index for options.
14 @defcodeindex op
15 @c Put everything except function (command, in this case) names in one
16 @c index (arbitrarily chosen to be the concept index).
17 @syncodeindex op cp
18 @syncodeindex vr cp
19 @syncodeindex pg cp
20
21 @footnotestyle separate 6 @footnotestyle separate
22 @paragraphindent 2 7 @paragraphindent 2
23 @finalout 8 @smallbook
24 @comment %**end of header 9 @comment %**end of header
25
26 @c Before release, run C-u C-c C-u C-a (texinfo-all-menus-update with a
27 @c prefix arg). This updates the node pointers, which texinfmt.el needs.
28
29 @dircategory Texinfo documentation system
30 @direntry
31 * Texinfo: (texinfo). The GNU documentation format.
32 * install-info: (texinfo)Invoking install-info. Updating info/dir entries.
33 * texi2dvi: (texinfo)Format with texi2dvi. Printing Texinfo documentation.
34 * texindex: (texinfo)Format with tex/texindex. Sorting Texinfo index files.
35 * makeinfo: (texinfo)makeinfo Preferred. Translate Texinfo source.
36 @end direntry
37 10
38 @c Set smallbook if printing in smallbook format so the example of the 11 @c Set smallbook if printing in smallbook format so the example of the
39 @c smallbook font is actually written using smallbook; in bigbook, a kludge 12 @c smallbook font is actually written using smallbook; in bigbook, a kludge
40 @c is used for TeX output. Do this through the -t option to texi2dvi, 13 @c is used for TeX output.
41 @c so this same source can be used for other paper sizes as well. 14 @set smallbook
42 @c smallbook
43 @c set smallbook
44 @c @@clear smallbook 15 @c @@clear smallbook
16
17 @ignore
18 @ifinfo
19 @format
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
45 48
46 @c Currently undocumented command, 5 December 1993: 49 @c Currently undocumented command, 5 December 1993:
47 @c 50 @c
48 @c nwnode (Same as node, but no warnings; for `makeinfo'.) 51 @c nwnode (Same as node, but no warnings; for `makeinfo'.)
49 52
50 @ifinfo 53 @ifinfo
51 This file documents Texinfo, a documentation system that can produce 54 This file documents Texinfo, a documentation system that uses a single
52 both on-line information and a printed manual from a single source file. 55 source file to produce both on-line information and a printed manual.
53 56
54 Copyright (C) 1988, 90, 91, 92, 93, 95, 96, 97 Free Software Foundation, Inc. 57 Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
55 58
56 This is the second edition of the Texinfo documentation,@* 59 This is the second edition of the Texinfo documentation,@*
57 and is consistent with version 2 of @file{texinfo.tex}. 60 and is consistent with version 2 of @file{texinfo.tex}.
58 61
59 Permission is granted to make and distribute verbatim copies of 62 Permission is granted to make and distribute verbatim copies of
87 @title Texinfo 90 @title Texinfo
88 @subtitle The GNU Documentation Format 91 @subtitle The GNU Documentation Format
89 @subtitle Edition @value{edition}, for Texinfo Version Three 92 @subtitle Edition @value{edition}, for Texinfo Version Three
90 @subtitle @value{update-month} 93 @subtitle @value{update-month}
91 94
92 @author Robert J.@: Chassell 95 @author by Robert J. Chassell and Richard M. Stallman
93 @author Richard M.@: Stallman 96
94 97 @comment Include the Distribution inside the titlepage so
95 @c Include the Distribution inside the titlepage so 98 @c that headings are turned off.
96 @c that headings are turned off.
97 99
98 @page 100 @page
99 @vskip 0pt plus 1filll 101 @vskip 0pt plus 1filll
100 Copyright @copyright{} 1988, 90, 91, 92, 93, 95, 96, 97 102 Copyright @copyright{} 1988, 1990, 1991, 1992, 1993, 1995 Free Software Foundation, Inc.
101 Free Software Foundation, Inc.
102 103
103 @sp 2 104 @sp 2
104 This is the second edition of the Texinfo documentation,@* 105 This is the second edition of the Texinfo documentation,@*
105 and is consistent with version 2 of @file{texinfo.tex}. 106 and is consistent with version 2 of @file{texinfo.tex}.
106 @sp 2 107 @sp 2
107 108
108 Published by the Free Software Foundation @* 109 Published by the Free Software Foundation @*
109 59 Temple Place Suite 330 @* 110 59 Temple Place Suite 330, @*
110 Boston, MA 02111-1307 @* 111 Boston, MA 02111-1307 USA @*
111 USA @*
112 Printed copies are available for $15 each.@* 112 Printed copies are available for $15 each.@*
113 ISBN 1-882114-64-7 113 ISBN 1-882114-63-9
114 @c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995 114 @c ISBN number 1-882114-63-9 is for edition 2.20 of 28 February 1995
115 @c ISBN 1-882114-64-7 is for edition 2.23 of 1 October 1996.
116 115
117 Permission is granted to make and distribute verbatim copies of 116 Permission is granted to make and distribute verbatim copies of
118 this manual provided the copyright notice and this permission notice 117 this manual provided the copyright notice and this permission notice
119 are preserved on all copies. 118 are preserved on all copies.
120 119
140 139
141 The first part of this master menu lists the major nodes in this Info 140 The first part of this master menu lists the major nodes in this Info
142 document, including the @@-command and concept indices. The rest of 141 document, including the @@-command and concept indices. The rest of
143 the menu lists all the lower level nodes in the document.@refill 142 the menu lists all the lower level nodes in the document.@refill
144 143
145 This is Edition @value{edition} of the Texinfo documentation, 144 This is Edition @value{edition} of the Texinfo documentation,
146 @w{@value{update-date},} for Texinfo Version Three. 145 @w{@value{update-date},} for Texinfo Version Three.
147 @end ifinfo 146 @end ifinfo
148 147
149 @c Here is a spare copy of the chapter menu entry descriptions, 148 @c Here is a spare copy of the chapter menu entry descriptions,
150 @c in case they are accidently deleted 149 @c in case they are accidently deleted
151 @ignore 150 @ignore
152 Your rights. 151 Your rights.
153 Texinfo in brief. 152 Texinfo in brief.
154 How to use Texinfo mode. 153 How to use Texinfo mode.
155 What is at the beginning of a Texinfo file? 154 What is at the beginning of a Texinfo file?
190 A menu containing commands and variables. 189 A menu containing commands and variables.
191 A menu covering many topics. 190 A menu covering many topics.
192 @end ignore 191 @end ignore
193 192
194 @menu 193 @menu
195 * Copying:: Your rights. 194 * Copying:: Your rights.
196 * Overview:: Texinfo in brief. 195 * Overview:: Texinfo in brief.
197 * Texinfo Mode:: How to use Texinfo mode. 196 * Texinfo Mode:: How to use Texinfo mode.
198 * Beginning a File:: What is at the beginning of a Texinfo file? 197 * Beginning a File:: What is at the beginning of a Texinfo file?
199 * Ending a File:: What is at the end of a Texinfo file? 198 * Ending a File:: What is at the end of a Texinfo file?
200 * Structuring:: How to create chapters, sections, subsections, 199 * Structuring:: How to create chapters, sections, subsections,
207 variables, and the like. 206 variables, and the like.
208 * Quotations and Examples:: How to write quotations, examples, etc. 207 * Quotations and Examples:: How to write quotations, examples, etc.
209 * Lists and Tables:: How to write lists and tables. 208 * Lists and Tables:: How to write lists and tables.
210 * Indices:: How to create indices. 209 * Indices:: How to create indices.
211 * Insertions:: How to insert @@-signs, braces, etc. 210 * Insertions:: How to insert @@-signs, braces, etc.
211 * Glyphs:: How to indicate results of evaluation,
212 expansion of macros, errors, etc.
212 * Breaks:: How to force and prevent line and page breaks. 213 * Breaks:: How to force and prevent line and page breaks.
213 * Definition Commands:: How to describe functions and the like 214 * Definition Commands:: How to describe functions and the like
214 in a uniform manner. 215 in a uniform manner.
215 * Footnotes:: How to write footnotes. 216 * Footnotes:: How to write footnotes.
216 * Conditionals:: How to specify text for either @TeX{} or Info. 217 * Conditionals:: How to specify text for either @TeX{} or Info.
217 * Macros:: Defining new Texinfo commands.
218 * Format/Print Hardcopy:: How to convert a Texinfo file to a file 218 * Format/Print Hardcopy:: How to convert a Texinfo file to a file
219 for printing and how to print that file. 219 for printing and how to print that file.
220 * Create an Info File:: Convert a Texinfo file into an Info file. 220 * Create an Info File:: Convert a Texinfo file into an Info file.
221 * Install an Info File:: Make an Info file accessible to users. 221 * Install an Info File:: Make an Info file accessible to users.
222 * Command List:: All the Texinfo @@-commands. 222 * Command List:: All the Texinfo @@-commands.
228 * Headings:: How to write page headings and footings. 228 * Headings:: How to write page headings and footings.
229 * Catching Mistakes:: How to find formatting mistakes. 229 * Catching Mistakes:: How to find formatting mistakes.
230 * Refilling Paragraphs:: All about paragraph refilling. 230 * Refilling Paragraphs:: All about paragraph refilling.
231 * Command Syntax:: A description of @@-Command syntax. 231 * Command Syntax:: A description of @@-Command syntax.
232 * Obtaining TeX:: How to Obtain @TeX{}. 232 * Obtaining TeX:: How to Obtain @TeX{}.
233 * New Features:: Texinfo second edition features.
233 * Command and Variable Index:: A menu containing commands and variables. 234 * Command and Variable Index:: A menu containing commands and variables.
234 * Concept Index:: A menu covering many topics. 235 * Concept Index:: A menu covering many topics.
235 236
236 @detailmenu
237
238 --- The Detailed Node Listing --- 237 --- The Detailed Node Listing ---
239 238
240 Overview of Texinfo 239 Overview of Texinfo
241 240
242 * Using Texinfo:: Create a conventional printed book 241 * Using Texinfo:: Create a conventional printed book
243 or an Info file. 242 or an Info file.
244 * Info Files:: What is an Info file? 243 * Info Files:: What is an Info file?
245 * Printed Books:: Characteristics of a printed book or manual. 244 * Printed Books:: Characteristics of a printed book or manual.
246 * Formatting Commands:: @@-commands are used for formatting. 245 * Formatting Commands:: @@-commands are used for formatting.
247 * Conventions:: General rules for writing a Texinfo file. 246 * Conventions:: General rules for writing a Texinfo file.
255 Using Texinfo Mode 254 Using Texinfo Mode
256 255
257 * Texinfo Mode Overview:: How Texinfo mode can help you. 256 * Texinfo Mode Overview:: How Texinfo mode can help you.
258 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general 257 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general
259 purpose editing features. 258 purpose editing features.
260 * Inserting:: How to insert frequently used @@-commands. 259 * Inserting:: How to insert frequently used @@-commands.
261 * Showing the Structure:: How to show the structure of a file. 260 * Showing the Structure:: How to show the structure of a file.
262 * Updating Nodes and Menus:: How to update or create new nodes and menus. 261 * Updating Nodes and Menus:: How to update or create new nodes and menus.
263 * Info Formatting:: How to format for Info. 262 * Info Formatting:: How to format for Info.
264 * Printing:: How to format and print part or all of a file. 263 * Printing:: How to format and print part or all of a file.
265 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands. 264 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands.
284 * Software Copying Permissions:: Ensure that you and others continue to 283 * Software Copying Permissions:: Ensure that you and others continue to
285 have the right to use and share software. 284 have the right to use and share software.
286 285
287 The Texinfo File Header 286 The Texinfo File Header
288 287
289 * First Line:: The first line of a Texinfo file. 288 * First Line:: The first line of a Texinfo file.
290 * Start of Header:: Formatting a region requires this. 289 * Start of Header:: Formatting a region requires this.
291 * setfilename:: Tell Info the name of the Info file. 290 * setfilename:: Tell Info the name of the Info file.
292 * settitle:: Create a title for the printed work. 291 * settitle:: Create a title for the printed work.
293 * setchapternewpage:: Start chapters on right-hand pages. 292 * setchapternewpage:: Start chapters on right-hand pages.
294 * paragraphindent:: An option to specify paragraph indentation. 293 * paragraphindent:: An option to specify paragraph indentation.
313 * Title of Top Node:: Sketch what the file is about. 312 * Title of Top Node:: Sketch what the file is about.
314 * Master Menu Parts:: A master menu has three or more parts. 313 * Master Menu Parts:: A master menu has three or more parts.
315 314
316 Ending a Texinfo File 315 Ending a Texinfo File
317 316
318 * Printing Indices & Menus:: How to print an index in hardcopy and 317 * Printing Indices & Menus:: How to print an index in hardcopy and
319 generate index menus in Info. 318 generate index menus in Info.
320 * Contents:: How to create a table of contents. 319 * Contents:: How to create a table of contents.
321 * File End:: How to mark the end of a file. 320 * File End:: How to mark the end of a file.
322 321
323 Chapter Structuring 322 Chapter Structuring
335 * subsubsection:: Commands for the lowest level sections. 334 * subsubsection:: Commands for the lowest level sections.
336 * Raise/lower sections:: How to change commands' hierarchical level. 335 * Raise/lower sections:: How to change commands' hierarchical level.
337 336
338 Nodes 337 Nodes
339 338
340 * Two Paths:: Different commands to structure 339 * Two Paths:: Different commands to structure
341 Info output and printed output. 340 Info output and printed output.
342 * Node Menu Illustration:: A diagram, and sample nodes and menus. 341 * Node Menu Illustration:: A diagram, and sample nodes and menus.
343 * node:: How to write a node, in detail. 342 * node:: How to write a node, in detail.
344 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}. 343 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}.
345 344
348 * Node Names:: How to choose node and pointer names. 347 * Node Names:: How to choose node and pointer names.
349 * Writing a Node:: How to write an @code{@@node} line. 348 * Writing a Node:: How to write an @code{@@node} line.
350 * Node Line Tips:: Keep names short. 349 * Node Line Tips:: Keep names short.
351 * Node Line Requirements:: Keep names unique, without @@-commands. 350 * Node Line Requirements:: Keep names unique, without @@-commands.
352 * First Node:: How to write a `Top' node. 351 * First Node:: How to write a `Top' node.
353 * makeinfo top command:: How to use the @code{@@top} command. 352 * makeinfo top command:: How to use the @code{@@top} command.
354 * Top Node Summary:: Write a brief description for readers. 353 * Top Node Summary:: Write a brief description for readers.
355 354
356 Menus 355 Menus
357 356
358 * Menu Location:: Put a menu in a short node. 357 * Menu Location:: Put a menu in a short node.
370 * xref:: Begin a reference with `See' @dots{} 369 * xref:: Begin a reference with `See' @dots{}
371 * Top Node Naming:: How to refer to the beginning of another file. 370 * Top Node Naming:: How to refer to the beginning of another file.
372 * ref:: A reference for the last part of a sentence. 371 * ref:: A reference for the last part of a sentence.
373 * pxref:: How to write a parenthetical cross reference. 372 * pxref:: How to write a parenthetical cross reference.
374 * inforef:: How to refer to an Info-only file. 373 * inforef:: How to refer to an Info-only file.
375 * uref:: How to refer to a uniform resource locator.
376 374
377 @code{@@xref} 375 @code{@@xref}
378 376
379 * Reference Syntax:: What a reference looks like and requires. 377 * Reference Syntax:: What a reference looks like and requires.
380 * One Argument:: @code{@@xref} with one argument. 378 * One Argument:: @code{@@xref} with one argument.
396 * samp:: How to show a literal sequence of characters. 394 * samp:: How to show a literal sequence of characters.
397 * var:: How to indicate a metasyntactic variable. 395 * var:: How to indicate a metasyntactic variable.
398 * file:: How to indicate the name of a file. 396 * file:: How to indicate the name of a file.
399 * dfn:: How to specify a definition. 397 * dfn:: How to specify a definition.
400 * cite:: How to refer to a book that is not in Info. 398 * cite:: How to refer to a book that is not in Info.
401 * url:: How to indicate a world wide web reference.
402 * email:: How to indicate an electronic mail address.
403 399
404 Emphasizing Text 400 Emphasizing Text
405 401
406 * emph & strong:: How to emphasize text in Texinfo. 402 * emph & strong:: How to emphasize text in Texinfo.
407 * Smallcaps:: How to use the small caps font. 403 * Smallcaps:: How to use the small caps font.
408 * Fonts:: Various font commands for printed output. 404 * Fonts:: Various font commands for printed output.
409 * Customized Highlighting:: How to define highlighting commands. 405 * Customized Highlighting:: How to define highlighting commands.
410 406
411 Quotations and Examples 407 Quotations and Examples
412 408
413 * Block Enclosing Commands:: Use different constructs for 409 * Block Enclosing Commands:: Use different constructs for
414 different purposes. 410 different purposes.
415 * quotation:: How to write a quotation. 411 * quotation:: How to write a quotation.
416 * example:: How to write an example in a fixed-width font. 412 * example:: How to write an example in a fixed-width font.
417 * noindent:: How to prevent paragraph indentation. 413 * noindent:: How to prevent paragraph indentation.
418 * Lisp Example:: How to illustrate Lisp code. 414 * Lisp Example:: How to illustrate Lisp code.
422 the margins. 418 the margins.
423 * exdent:: How to undo the indentation of a line. 419 * exdent:: How to undo the indentation of a line.
424 * flushleft & flushright:: How to push text flushleft or flushright. 420 * flushleft & flushright:: How to push text flushleft or flushright.
425 * cartouche:: How to draw cartouches around examples. 421 * cartouche:: How to draw cartouches around examples.
426 422
427 Lists and Tables 423 Making Lists and Tables
428 424
429 * Introducing Lists:: Texinfo formats lists for you. 425 * Introducing Lists:: Texinfo formats lists for you.
430 * itemize:: How to construct a simple list. 426 * itemize:: How to construct a simple list.
431 * enumerate:: How to construct a numbered list. 427 * enumerate:: How to construct a numbered list.
432 * Two-column Tables:: How to construct a two-column table. 428 * Two-column Tables:: How to construct a two-column table.
433 * Multi-column Tables:: How to construct generalized tables.
434 429
435 Making a Two-column Table 430 Making a Two-column Table
436 431
437 * table:: How to construct a two-column table. 432 * table:: How to construct a two-column table.
438 * ftable vtable:: Automatic indexing for two-column tables. 433 * ftable vtable:: How to construct a two-column table
434 with automatic indexing.
439 * itemx:: How to put more entries in the first column. 435 * itemx:: How to put more entries in the first column.
440
441 Multi-column Tables
442
443 * Multitable Column Widths:: Defining multitable column widths.
444 * Multitable Rows:: Defining multitable rows, with examples.
445 436
446 Creating Indices 437 Creating Indices
447 438
448 * Index Entries:: Choose different words for index entries. 439 * Index Entries:: Choose different words for index entries.
449 * Predefined Indices:: Use different indices for different kinds 440 * Predefined Indices:: Use different indices for different kinds
459 * synindex:: How to merge two indices, using the 450 * synindex:: How to merge two indices, using the
460 default font of the merged-to index. 451 default font of the merged-to index.
461 452
462 Special Insertions 453 Special Insertions
463 454
464 * Braces Atsigns:: How to insert braces, @samp{@@}. 455 * Braces Atsigns Periods:: How to insert braces, @samp{@@} and periods.
465 * Inserting Space:: How to insert the right amount of space 456 * dmn:: How to format a dimension.
466 within a sentence.
467 * Inserting Accents:: How to insert accents and special characters.
468 * Dots Bullets:: How to insert dots and bullets. 457 * Dots Bullets:: How to insert dots and bullets.
469 * TeX and copyright:: How to insert the @TeX{} logo 458 * TeX and copyright:: How to insert the @TeX{} logo
470 and the copyright symbol. 459 and the copyright symbol.
471 * pounds:: How to insert the pounds currency symbol.
472 * minus:: How to insert a minus sign. 460 * minus:: How to insert a minus sign.
473 * math:: How to format a mathematical expression. 461 * math:: How to format a mathematical expression.
474 * Glyphs:: How to indicate results of evaluation, 462
475 expansion of macros, errors, etc. 463 Inserting @samp{@@}, Braces, and Periods
476 * Images:: How to include graphics. 464
477 465 * Inserting An Atsign::
478 Inserting @@ and Braces 466 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}
479 467 * Controlling Spacing:: How to insert the right amount of space
480 * Inserting An Atsign:: How to insert @samp{@@}. 468 after punctuation within a sentence.
481 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}.
482
483 Inserting Space
484
485 * Not Ending a Sentence:: Sometimes a . doesn't end a sentence.
486 * Ending a Sentence:: Sometimes it does.
487 * Multiple Spaces:: Inserting multiple spaces.
488 * dmn:: How to format a dimension.
489 469
490 Inserting Ellipsis, Dots, and Bullets 470 Inserting Ellipsis, Dots, and Bullets
491 471
492 * dots:: How to insert dots @dots{} 472 * dots:: How to insert dots @dots{}
493 * bullet:: How to insert a bullet. 473 * bullet:: How to insert a bullet.
495 Inserting @TeX{} and the Copyright Symbol 475 Inserting @TeX{} and the Copyright Symbol
496 476
497 * tex:: How to insert the @TeX{} logo. 477 * tex:: How to insert the @TeX{} logo.
498 * copyright symbol:: How to use @code{@@copyright}@{@}. 478 * copyright symbol:: How to use @code{@@copyright}@{@}.
499 479
500 Glyphs for Examples 480 Glyphs for Examples
501 481
502 * Glyphs Summary:: 482 * Glyphs Summary::
503 * result:: How to show the result of expression. 483 * result:: How to show the result of expression.
504 * expansion:: How to indicate an expansion. 484 * expansion:: How to indicate an expansion.
505 * Print Glyph:: How to indicate printed output. 485 * Print Glyph:: How to indicate printed output.
506 * Error Glyph:: How to indicate an error message. 486 * Error Glyph:: How to indicate an error message.
507 * Equivalence:: How to indicate equivalence. 487 * Equivalence:: How to indicate equivalence.
508 * Point Glyph:: How to indicate the location of point. 488 * Point Glyph:: How to indicate the location of point.
509 489
510 Glyphs Summary
511
512 * result::
513 * expansion::
514 * Print Glyph::
515 * Error Glyph::
516 * Equivalence::
517 * Point Glyph::
518
519 Making and Preventing Breaks 490 Making and Preventing Breaks
520 491
521 * Break Commands:: Cause and prevent splits. 492 * Break Commands:: Cause and prevent splits.
522 * Line Breaks:: How to force a single line to use two lines. 493 * Line Breaks:: How to force a single line to use two lines.
523 * - and hyphenation:: How to tell TeX about hyphenation points. 494 * w:: How to prevent unwanted line breaks.
524 * w:: How to prevent unwanted line breaks.
525 * sp:: How to insert blank lines. 495 * sp:: How to insert blank lines.
526 * page:: How to force the start of a new page. 496 * page:: How to force the start of a new page.
527 * group:: How to prevent unwanted page breaks. 497 * group:: How to prevent unwanted page breaks.
528 * need:: Another way to prevent unwanted page breaks. 498 * need:: Another way to prevent unwanted page breaks.
529 499
544 * Typed Functions:: Commands for functions in typed languages. 514 * Typed Functions:: Commands for functions in typed languages.
545 * Typed Variables:: Commands for variables in typed languages. 515 * Typed Variables:: Commands for variables in typed languages.
546 * Abstract Objects:: Commands for object-oriented programming. 516 * Abstract Objects:: Commands for object-oriented programming.
547 * Data Types:: The definition command for data types. 517 * Data Types:: The definition command for data types.
548 518
549 Footnotes
550
551 * Footnote Commands:: How to write a footnote in Texinfo.
552 * Footnote Styles:: Controlling how footnotes appear in Info.
553
554 Conditionally Visible Text 519 Conditionally Visible Text
555 520
556 * Conditional Commands:: Specifying text for HTML, Info, or @TeX{}. 521 * Conditional Commands:: How to specify text for Info or @TeX{}.
557 * Conditional Not Commands:: Specifying text for not HTML, Info, or @TeX{}. 522 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands.
558 * Raw Formatter Commands:: Using raw @TeX{} or HTML commands. 523 * set clear value:: How to designate which text to format (for
559 * set clear value:: Designating which text to format (for 524 both Info and @TeX{}); and how to set a
560 all output formats); and how to set a
561 flag to a string that you can insert. 525 flag to a string that you can insert.
562 526
563 @code{@@set}, @code{@@clear}, and @code{@@value} 527 @code{@@set}, @code{@@clear}, and @code{@@value}
564 528
565 * ifset ifclear:: Format a region if a flag is set. 529 * ifset ifclear:: Format a region if a flag is set.
566 * value:: Replace a flag with a string. 530 * value:: Replace a flag with a string.
567 * value Example:: An easy way to update edition information. 531 * value Example:: An easy way to update edition information.
568
569 Macros: Defining New Texinfo Commands
570
571 * Defining Macros:: Both defining and undefining new commands.
572 * Invoking Macros:: Using a macro, once you've defined it.
573 532
574 Format and Print Hardcopy 533 Format and Print Hardcopy
575 534
576 * Use TeX:: Use @TeX{} to format for hardcopy. 535 * Use TeX:: Use @TeX{} to format for hardcopy.
577 * Format with tex/texindex:: How to format in a shell. 536 * Format with tex/texindex:: How to format in a shell.
594 * Invoking makeinfo:: How to run @code{makeinfo} from a shell. 553 * Invoking makeinfo:: How to run @code{makeinfo} from a shell.
595 * makeinfo options:: Specify fill-column and other options. 554 * makeinfo options:: Specify fill-column and other options.
596 * Pointer Validation:: How to check that pointers point somewhere. 555 * Pointer Validation:: How to check that pointers point somewhere.
597 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs. 556 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs.
598 * texinfo-format commands:: Two Info formatting commands written 557 * texinfo-format commands:: Two Info formatting commands written
599 in Emacs Lisp are an alternative 558 in Emacs Lisp are an alternative
600 to @code{makeinfo}. 559 to @code{makeinfo}.
601 * Batch Formatting:: How to format for Info in Emacs Batch mode. 560 * Batch Formatting:: How to format for Info in Emacs Batch mode.
602 * Tag and Split Files:: How tagged and split files help Info 561 * Tag and Split Files:: How tagged and split files help Info
603 to run better. 562 to run better.
604 563
605 Installing an Info File 564 Installing an Info File
606 565
607 * Directory file:: The top level menu for all Info files. 566 * Directory file:: The top level menu for all Info files.
608 * New Info File:: Listing a new info file. 567 * New Info File:: Listing a new info file.
609 * Other Info Directories:: How to specify Info files that are 568 * Other Info Directories:: How to specify Info files that are
610 located in other directories. 569 located in other directories.
611 * Installing Dir Entries:: How to specify what menu entry to add
612 to the Info directory.
613 * Invoking install-info:: @code{install-info} options.
614 570
615 Sample Permissions 571 Sample Permissions
616 572
617 * Inserting Permissions:: How to put permissions in your document. 573 * Inserting Permissions:: How to put permissions in your document.
618 * ifinfo Permissions:: Sample @samp{ifinfo} copying permissions. 574 * ifinfo Permissions:: Sample @samp{ifinfo} copying permissions.
636 * Heading Choice:: How to specify the type of page heading. 592 * Heading Choice:: How to specify the type of page heading.
637 * Custom Headings:: How to create your own headings and footings. 593 * Custom Headings:: How to create your own headings and footings.
638 594
639 Formatting Mistakes 595 Formatting Mistakes
640 596
641 * makeinfo Preferred:: @code{makeinfo} finds errors. 597 * makeinfo preferred:: @code{makeinfo} finds errors.
642 * Debugging with Info:: How to catch errors with Info formatting. 598 * Debugging with Info:: How to catch errors with Info formatting.
643 * Debugging with TeX:: How to catch errors with @TeX{} formatting. 599 * Debugging with TeX:: How to catch errors with @TeX{} formatting.
644 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}. 600 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}.
645 * Using occur:: How to list all lines containing a pattern. 601 * Using occur:: How to list all lines containing a pattern.
646 * Running Info-Validate:: How to find badly referenced nodes. 602 * Running Info-Validate:: How to find badly referenced nodes.
650 * Using Info-validate:: How to run @code{Info-validate}. 606 * Using Info-validate:: How to run @code{Info-validate}.
651 * Unsplit:: How to create an unsplit file. 607 * Unsplit:: How to create an unsplit file.
652 * Tagifying:: How to tagify a file. 608 * Tagifying:: How to tagify a file.
653 * Splitting:: How to split a file manually. 609 * Splitting:: How to split a file manually.
654 610
655 How to Obtain @TeX{} 611 Second Edition Features
656 612
657 * New Texinfo Mode Commands:: The updating commands are especially useful. 613 * New Texinfo Mode Commands:: The updating commands are especially useful.
658 * New Commands:: Many newly described @@-commands. 614 * New Commands:: Many newly described @@-commands.
659 @end detailmenu
660 @end menu 615 @end menu
661 616
662 @node Copying, Overview, Top, Top 617 @node Copying, Overview, Top, Top
663 @comment node-name, next, previous, up 618 @comment node-name, next, previous, up
664 @unnumbered Texinfo Copying Conditions 619 @unnumbered Texinfo Copying Conditions
711 derived from, but is not the same as, the pronunciation of @TeX{}. In 666 derived from, but is not the same as, the pronunciation of @TeX{}. In
712 the word @TeX{}, the @samp{X} is actually the Greek letter ``chi'' 667 the word @TeX{}, the @samp{X} is actually the Greek letter ``chi''
713 rather than the English letter ``ex''. Pronounce @TeX{} as if the 668 rather than the English letter ``ex''. Pronounce @TeX{} as if the
714 @samp{X} were the last sound in the name `Bach'; but pronounce Texinfo 669 @samp{X} were the last sound in the name `Bach'; but pronounce Texinfo
715 as if the @samp{x} were a `k'. Spell ``Texinfo'' with a capital ``T'' 670 as if the @samp{x} were a `k'. Spell ``Texinfo'' with a capital ``T''
716 and write the other letters in lower case.} 671 and write the other letters in lower case.}
717 is a documentation system that uses a single source file to produce both 672 is a documentation system that uses a single source file to produce both
718 on-line information and printed output. This means that instead of 673 on-line information and printed output. This means that instead of
719 writing two different documents, one for the on-line help or other on-line 674 writing two different documents, one for the on-line help or other on-line
720 information and the other for a typeset manual or other printed work, you 675 information and the other for a typeset manual or other printed work, you
721 need write only one document. When the work is revised, you need revise 676 need write only one document. When the work is revised, you need revise
722 only one document. (You can read the on-line information, known as an 677 only one document. (You can read the on-line information, known as an
723 @dfn{Info file}, with an Info documentation-reading program.)@refill 678 @dfn{Info file}, with an Info documentation-reading program.)@refill
724 679
725 @menu 680 @menu
726 * Using Texinfo:: Create a conventional printed book 681 * Using Texinfo:: Create a conventional printed book
727 or an Info file. 682 or an Info file.
728 * Info Files:: What is an Info file? 683 * Info Files:: What is an Info file?
729 * Printed Books:: Characteristics of a printed book or manual. 684 * Printed Books:: Characteristics of a printed book or manual.
730 * Formatting Commands:: @@-commands are used for formatting. 685 * Formatting Commands:: @@-commands are used for formatting.
731 * Conventions:: General rules for writing a Texinfo file. 686 * Conventions:: General rules for writing a Texinfo file.
751 information; and you use the same cross references and indices for 706 information; and you use the same cross references and indices for
752 both the Info file and the printed work. @cite{The GNU 707 both the Info file and the printed work. @cite{The GNU
753 Emacs Manual} is a good example of a Texinfo file, as is this manual.@refill 708 Emacs Manual} is a good example of a Texinfo file, as is this manual.@refill
754 709
755 To make a printed document, you process a Texinfo source file with the 710 To make a printed document, you process a Texinfo source file with the
756 @TeX{} typesetting program. This creates a DVI file that you can 711 @TeX{} typesetting program. This creates a @sc{dvi} file that you can
757 typeset and print as a book or report. (Note that the Texinfo language 712 typeset and print as a book or report. (Note that the Texinfo language is
758 is completely different from @TeX{}'s usual language, plain @TeX{}.) If 713 completely different from @TeX{}'s usual language, Plain@TeX{}, which
759 you do not have @TeX{}, but do have @code{troff} or @code{nroff}, you 714 Texinfo replaces.) If you do not have @TeX{}, but do have
760 can use the @code{texi2roff} program instead.@refill 715 @code{troff} or @code{nroff}, you can use the @code{texi2roff} program
716 instead.@refill
761 717
762 To make an Info file, you process a Texinfo source file with the 718 To make an Info file, you process a Texinfo source file with the
763 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command; 719 @code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command;
764 this creates an Info file that you can install on-line.@refill 720 this creates an Info file that you can install on-line.@refill
765 721
766 @TeX{} and @code{texi2roff} work with many types of printers; similarly, 722 @TeX{} and @code{texi2roff} work with many types of printer; similarly,
767 Info works with almost every type of computer terminal. This power 723 Info works with almost every type of computer terminal. This power
768 makes Texinfo a general purpose system, but brings with it a constraint, 724 makes Texinfo a general purpose system, but brings with it a constraint,
769 which is that a Texinfo file may contain only the customary 725 which is that a Texinfo file may contain only the customary
770 ``typewriter'' characters (letters, numbers, spaces, and punctuation 726 ``typewriter'' characters (letters, numbers, spaces, and punctuation
771 marks) but no special graphics.@refill 727 marks) but no special graphics.@refill
815 allows you to use certain Info commands to move to one of the child 771 allows you to use certain Info commands to move to one of the child
816 nodes. Generally, an Info file is organized like a book. If a node 772 nodes. Generally, an Info file is organized like a book. If a node
817 is at the logical level of a chapter, its child nodes are at the level 773 is at the logical level of a chapter, its child nodes are at the level
818 of sections; likewise, the child nodes of sections are at the level 774 of sections; likewise, the child nodes of sections are at the level
819 of subsections.@refill 775 of subsections.@refill
820 776
821 All the children of any one parent are linked together in a 777 All the children of any one parent are linked together in a
822 bidirectional chain of `Next' and `Previous' pointers. The `Next' 778 bidirectional chain of `Next' and `Previous' pointers. The `Next'
823 pointer provides a link to the next section, and the `Previous' pointer 779 pointer provides a link to the next section, and the `Previous' pointer
824 provides a link to the previous section. This means that all the nodes 780 provides a link to the previous section. This means that all the nodes
825 that are at the level of sections within a chapter are linked together. 781 that are at the level of sections within a chapter are linked together.
843 provides pointers of another kind, called references, that can be 799 provides pointers of another kind, called references, that can be
844 sprinkled throughout the text. This is usually the best way to 800 sprinkled throughout the text. This is usually the best way to
845 represent links that do not fit a hierarchical structure.@refill 801 represent links that do not fit a hierarchical structure.@refill
846 802
847 Usually, you will design a document so that its nodes match the 803 Usually, you will design a document so that its nodes match the
848 structure of chapters and sections in the printed output. But 804 structure of chapters and sections in the printed output. But there
849 occasionally there are times when this is not right for the material 805 are times when this is not right for the material being discussed.
850 being discussed. Therefore, Texinfo uses separate commands to specify 806 Therefore, Texinfo uses separate commands to specify the node
851 the node structure for the Info file and the section structure for the 807 structure for the Info file and the section structure for the printed
852 printed output.@refill 808 output.@refill
853 809
854 Generally, you enter an Info file through a node that by convention is 810 Generally, you enter an Info file through a node that by convention is
855 named `Top'. This node normally contains just a brief summary of the 811 called @samp{Top}. This node normally contains just a brief summary
856 file's purpose, and a large menu through which the rest of the file is 812 of the file's purpose, and a large menu through which the rest of the
857 reached. From this node, you can either traverse the file 813 file is reached. From this node, you can either traverse the file
858 systematically by going from node to node, or you can go to a specific 814 systematically by going from node to node, or you can go to a specific
859 node listed in the main menu, or you can search the index menus and then 815 node listed in the main menu, or you can search the index menus and
860 go directly to the node that has the information you want. Alternatively, 816 then go directly to the node that has the information you want.@refill
861 with the standalone Info program, you can specify specific menu items on 817 @c !!! With the standalone Info system you may go to specific nodes
862 the command line (@pxref{Top,,, info, Info}). 818 @c directly..
863 819
864 If you want to read through an Info file in sequence, as if it were a 820 If you want to read through an Info file in sequence, as if it were a
865 printed manual, you can hit @key{SPC} repeatedly, or you get the whole 821 printed manual, you can get the whole file with the advanced Info
866 file with the advanced Info command @kbd{g *}. (@inforef{Expert, 822 command @kbd{g* @key{RET}}. (@inforef{Expert, Advanced Info commands,
867 Advanced Info commands, info}.)@refill 823 info}.)@refill
868 824
869 @c !!! dir file may be located in one of many places: 825 @c !!! dir file may be located in one of many places:
870 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH 826 @c /usr/local/emacs/info mentioned in info.c DEFAULT_INFOPATH
871 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH 827 @c /usr/local/lib/emacs/info mentioned in info.c DEFAULT_INFOPATH
872 @c /usr/gnu/info mentioned in info.c DEFAULT_INFOPATH 828 @c /usr/gnu/info mentioned in info.c DEFAULT_INFOPATH
873 @c /usr/local/info 829 @c /usr/local/info
874 @c /usr/local/lib/info 830 @c /usr/local/lib/info
875 The @file{dir} file in the @file{info} directory serves as the 831 The @file{dir} file in the @file{info} directory serves as the
876 departure point for the whole Info system. From it, you can reach the 832 departure point for the whole Info system. From it, you can reach the
877 `Top' nodes of each of the documents in a complete Info system.@refill 833 `Top' nodes of each of the documents in a complete Info system.@refill
878 834
879 @node Printed Books, Formatting Commands, Info Files, Overview 835 @node Printed Books, Formatting Commands, Info Files, Overview
883 @cindex Manual characteristics, printed 839 @cindex Manual characteristics, printed
884 @cindex Book characteristics, printed 840 @cindex Book characteristics, printed
885 @cindex Texinfo printed book characteristics 841 @cindex Texinfo printed book characteristics
886 @cindex Characteristics, printed books or manuals 842 @cindex Characteristics, printed books or manuals
887 843
888 @cindex Knuth, Donald
889 A Texinfo file can be formatted and typeset as a printed book or manual. 844 A Texinfo file can be formatted and typeset as a printed book or manual.
890 To do this, you need @TeX{}, a powerful, sophisticated typesetting 845 To do this, you need @TeX{}, a powerful, sophisticated typesetting
891 program written by Donald Knuth.@footnote{You can also use the 846 program written by Donald Knuth.@footnote{You can also use the
892 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is 847 @code{texi2roff} program if you do not have @TeX{}; since Texinfo is
893 designed for use with @TeX{}, @code{texi2roff} is not described here. 848 designed for use with @TeX{}, @code{texi2roff} is not described here.
894 @code{texi2roff} is not part of the standard GNU distribution.} 849 @code{texi2roff} is part of the standard GNU distribution.}@refill
895 850
896 A Texinfo-based book is similar to any other typeset, printed work: it 851 A Texinfo-based book is similar to any other typeset, printed work: it
897 can have a title page, copyright page, table of contents, and preface, 852 can have a title page, copyright page, table of contents, and preface,
898 as well as chapters, numbered or unnumbered sections and subsections, 853 as well as chapters, numbered or unnumbered sections and subsections,
899 page headers, cross references, footnotes, and indices.@refill 854 page headers, cross references, footnotes, and indices.@refill
908 file called @file{texinfo.tex} that contains information (definitions or 863 file called @file{texinfo.tex} that contains information (definitions or
909 @dfn{macros}) that @TeX{} uses when it typesets a Texinfo file. 864 @dfn{macros}) that @TeX{} uses when it typesets a Texinfo file.
910 (@file{texinfo.tex} tells @TeX{} how to convert the Texinfo @@-commands 865 (@file{texinfo.tex} tells @TeX{} how to convert the Texinfo @@-commands
911 to @TeX{} commands, which @TeX{} can then process to create the typeset 866 to @TeX{} commands, which @TeX{} can then process to create the typeset
912 document.) @file{texinfo.tex} contains the specifications for printing 867 document.) @file{texinfo.tex} contains the specifications for printing
913 a document.@refill 868 a document.@refill
914 869
915 Most often, documents are printed on 8.5 inch by 11 inch 870 Most often, documents are printed on 8.5 inch by 11 inch
916 pages (216@dmn{mm} by 280@dmn{mm}; this is the default size), but you 871 pages (216@dmn{mm} by 280@dmn{mm}; this is the default size), but you
917 can also print for 7 inch by 9.25 inch pages (178@dmn{mm} by 872 can also print for 7 inch by 9.25 inch pages (178@dmn{mm} by
918 235@dmn{mm}; the @code{@@smallbook} size) or on European A4 size paper 873 235@dmn{mm}; the @code{@@smallbook} size) or on European A4 size paper
925 sizes and fonts used, the amount of indentation for each paragraph, the 880 sizes and fonts used, the amount of indentation for each paragraph, the
926 degree to which words are hyphenated, and the like. By changing the 881 degree to which words are hyphenated, and the like. By changing the
927 specifications, you can make a book look dignified, old and serious, or 882 specifications, you can make a book look dignified, old and serious, or
928 light-hearted, young and cheery.@refill 883 light-hearted, young and cheery.@refill
929 884
930 @TeX{} is freely distributable. It is written in a superset of Pascal 885 @TeX{} is freely distributable. It is written in a dialect of Pascal
931 called WEB and can be compiled either in Pascal or (by using a 886 called WEB and can be compiled either in Pascal or (by using a
932 conversion program that comes with the @TeX{} distribution) in C. 887 conversion program that comes with the @TeX{} distribution) in C.
933 (@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information 888 (@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information
934 about @TeX{}.)@refill 889 about @TeX{}.)@refill
935 890
1030 @section General Syntactic Conventions 985 @section General Syntactic Conventions
1031 @cindex General syntactic conventions 986 @cindex General syntactic conventions
1032 @cindex Syntactic conventions 987 @cindex Syntactic conventions
1033 @cindex Conventions, syntactic 988 @cindex Conventions, syntactic
1034 989
1035 All printable @sc{ascii} characters except @samp{@@}, @samp{@{} and 990 All @sc{ascii} printing characters except @samp{@@}, @samp{@{} and
1036 @samp{@}} can appear in a Texinfo file and stand for themselves. 991 @samp{@}} can appear in a Texinfo file and stand for themselves.
1037 @samp{@@} is the escape character which introduces commands. 992 @samp{@@} is the escape character which introduces commands.
1038 @samp{@{} and @samp{@}} should be used only to surround arguments to 993 @samp{@{} and @samp{@}} should be used only to surround arguments to
1039 certain commands. To put one of these special characters into the 994 certain commands. To put one of these special characters into the
1040 document, put an @samp{@@} character in front of it, like this: 995 document, put an @samp{@@} character in front of it, like this:
1052 It is customary in @TeX{} to use doubled single-quote characters to 1007 It is customary in @TeX{} to use doubled single-quote characters to
1053 begin and end quotations: @w{@tt{ `` }} and @w{@tt{ '' }}. This 1008 begin and end quotations: @w{@tt{ `` }} and @w{@tt{ '' }}. This
1054 convention should be followed in Texinfo files. @TeX{} converts 1009 convention should be followed in Texinfo files. @TeX{} converts
1055 doubled single-quote characters to left- and right-hand doubled 1010 doubled single-quote characters to left- and right-hand doubled
1056 quotation marks, ``like this'', and Info converts doubled single-quote 1011 quotation marks, ``like this'', and Info converts doubled single-quote
1057 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and 1012 characters to @sc{ascii} double-quotes: @w{@tt{ `` }} and
1058 @w{@tt{ '' }} to @w{@tt{ " }}.@refill 1013 @w{@tt{ '' }} to @w{@tt{ " }}.@refill
1059 @end iftex 1014 @end iftex
1060 1015
1061 Use three hyphens in a row, @samp{---}, for a dash---like this. In 1016 Use three hyphens in a row, @samp{---}, for a dash---like this. In
1062 @TeX{}, a single or double hyphen produces a printed dash that is 1017 @TeX{}, a single or even a double hyphen produces a printed dash that
1063 shorter than the usual typeset dash. Info reduces three hyphens to two 1018 is shorter than the usual typeset dash. Info reduces three hyphens to two for
1064 for display on the screen. 1019 display on the screen.@refill
1065 1020
1066 To prevent a paragraph from being indented in the printed manual, put 1021 To prevent a paragraph from being indented in the printed manual, put
1067 the command @code{@@noindent} on a line by itself before the 1022 the command @code{@@noindent} on a line by itself before the
1068 paragraph.@refill 1023 paragraph.@refill
1069 1024
1070 If you mark off a region of the Texinfo file with the @code{@@iftex} 1025 If you mark off a region of the Texinfo file with the @code{@@iftex}
1071 and @w{@code{@@end iftex}} commands, that region will appear only in 1026 and @w{@code{@@end iftex}} commands, that region will appear only in
1072 the printed copy; in that region, you can use certain commands 1027 the printed copy; in that region, you can use certain commands
1073 borrowed from plain @TeX{} that you cannot use in Info. Likewise, if 1028 borrowed from Plain@TeX{} that you cannot use in Info. Likewise, if
1074 you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo} 1029 you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo}
1075 commands, that region will appear only in the Info file; in that 1030 commands, that region will appear only in the Info file; in that
1076 region, you can use Info commands that you cannot use in @TeX{}. 1031 region, you can use Info commands that you cannot use in @TeX{}.
1077 Similarly for @code{@@ifhtml @dots{} @@end ifhtml}, 1032 (@xref{Conditionals}.)
1078 @code{@@ifnothtml @dots{} @@end ifnothtml},
1079 @code{@@ifnotinfo @dots{} @@end ifnotinfo},
1080 @code{@@ifnottex @dots{} @@end ifnottex},
1081 @xref{Conditionals}.
1082 1033
1083 @cindex Tabs; don't use! 1034 @cindex Tabs; don't use!
1084 @quotation 1035 @quotation
1085 @strong{Caution:} Do not use tabs in a Texinfo file! @TeX{} uses 1036 @strong{Caution:} Do not use tabs in a Texinfo file! @TeX{} uses
1086 variable-width fonts, which means that it cannot predefine a tab to work 1037 variable-width fonts, which means that it cannot predefine a tab to work
1087 in all circumstances. Consequently, @TeX{} treats tabs like single 1038 in all circumstances. Consequently, @TeX{} treats tabs like single
1088 spaces, and that is not what they look like. Furthermore, 1039 spaces, and that is not what they look like.@refill
1089 @code{makeinfo} does nothing special with tabs, and thus a tab character
1090 in your input file may appear differently in the output.
1091 1040
1092 @noindent 1041 @noindent
1093 To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple 1042 To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple
1094 spaces when you press the @key{TAB} key.@refill 1043 spaces when you press the @key{TAB} key.@refill
1095 1044
1096 @noindent 1045 @noindent
1097 Also, you can run @code{untabify} in Emacs to convert tabs in a region 1046 Also, you can run @code{untabify} in Emacs to convert tabs in a region
1098 to multiple spaces.@refill 1047 to multiple spaces.@refill
1099
1100 @noindent
1101 Don't use tabs.
1102 @end quotation 1048 @end quotation
1103 1049
1104 @node Comments, Minimum, Conventions, Overview 1050 @node Comments, Minimum, Conventions, Overview
1105 @comment node-name, next, previous, up 1051 @comment node-name, next, previous, up
1106 @section Comments 1052 @section Comments
1109 either the Info file or the printed manual by using the 1055 either the Info file or the printed manual by using the
1110 @code{@@comment} command (which may be abbreviated to @code{@@c}). 1056 @code{@@comment} command (which may be abbreviated to @code{@@c}).
1111 Such comments are for the person who reads the Texinfo file. All the 1057 Such comments are for the person who reads the Texinfo file. All the
1112 text on a line that follows either @code{@@comment} or @code{@@c} is a 1058 text on a line that follows either @code{@@comment} or @code{@@c} is a
1113 comment; the rest of the line does not appear in either the Info file 1059 comment; the rest of the line does not appear in either the Info file
1114 or the printed manual. (Often, you can write the @code{@@comment} or 1060 or the printed manual. (Often, you can write the @code{@@comment} or
1115 @code{@@c} in the middle of a line, and only the text that follows after 1061 @code{@@c} in the middle of a line, and only the text that follows after
1116 the @code{@@comment} or @code{@@c} command does not appear; but some 1062 the @code{@@comment} or @code{@@c} command does not appear; but some
1117 commands, such as @code{@@settitle} and @code{@@setfilename}, work on a 1063 commands, such as @code{@@settitle} and @code{@@setfilename}, work on a
1118 whole line. You cannot use @code{@@comment} or @code{@@c} in a line 1064 whole line. You cannot use @code{@@comment} or @code{@@c} in a line
1119 beginning with such a command.)@refill 1065 beginning with such a command.)@refill
1157 extensions @file{.texinfo}, @file{.texi}, or @file{.tex}. The longer 1103 extensions @file{.texinfo}, @file{.texi}, or @file{.tex}. The longer
1158 extension is preferred since it describes more clearly to a human 1104 extension is preferred since it describes more clearly to a human
1159 reader the nature of the file. The shorter extensions are for 1105 reader the nature of the file. The shorter extensions are for
1160 operating systems that cannot handle long file names.@refill 1106 operating systems that cannot handle long file names.@refill
1161 1107
1162 In order to be made into a printed manual and an Info file, a Texinfo 1108 In order to be made into a printed manual and an Info file, a
1163 file @strong{must} begin with lines like this:@refill 1109 Texinfo file @strong{must} begin with lines like this:@refill
1164 1110
1165 @example 1111 @example
1166 @group 1112 @group
1167 \input texinfo 1113 \input texinfo
1168 @@setfilename @var{info-file-name} 1114 @@setfilename @var{info-file-name}
1182 @noindent 1128 @noindent
1183 The @samp{\input texinfo} line tells @TeX{} to use the 1129 The @samp{\input texinfo} line tells @TeX{} to use the
1184 @file{texinfo.tex} file, which tells @TeX{} how to translate the Texinfo 1130 @file{texinfo.tex} file, which tells @TeX{} how to translate the Texinfo
1185 @@-commands into @TeX{} typesetting commands. (Note the use of the 1131 @@-commands into @TeX{} typesetting commands. (Note the use of the
1186 backslash, @samp{\}; this is correct for @TeX{}.) The 1132 backslash, @samp{\}; this is correct for @TeX{}.) The
1187 @samp{@@setfilename} line provides a name for the Info file and tells 1133 @samp{@@setfilename} line provides a name for the Info file and the
1188 @TeX{} to open auxiliary files. The @samp{@@settitle} line specifies a 1134 @samp{@@settitle} line specifies a title for the page headers (or
1189 title for the page headers (or footers) of the printed manual.@refill 1135 footers) of the printed manual.@refill
1190 1136
1191 The @code{@@bye} line at the end of the file on a line of its own tells 1137 The @code{@@bye} line at the end of the file on a line of its own tells
1192 the formatters that the file is ended and to stop formatting.@refill 1138 the formatters that the file is ended and to stop formatting.@refill
1193 1139
1194 Usually, you will not use quite such a spare format, but will include 1140 Usually, you will not use quite such a spare format, but will include
1205 @end group 1151 @end group
1206 @end example 1152 @end example
1207 1153
1208 @noindent 1154 @noindent
1209 In the first line, @samp{-*-texinfo-*-} causes Emacs to switch into 1155 In the first line, @samp{-*-texinfo-*-} causes Emacs to switch into
1210 Texinfo mode when you edit the file. 1156 Texinfo mode when you edit the file.
1211 1157
1212 The @code{@@c} lines which surround the @samp{@@setfilename} and 1158 The @code{@@c} lines which surround the @samp{@@setfilename} and
1213 @samp{@@settitle} lines are optional, but you need them in order to 1159 @samp{@@settitle} lines are optional, but you need them in order to
1214 run @TeX{} or Info on just part of the file. (@xref{Start of Header}, 1160 run @TeX{} or Info on just part of the file. (@xref{Start of Header},
1215 for more information.)@refill 1161 for more information.)@refill
1236 and contains the copyright notice and copying permissions for the Info 1182 and contains the copyright notice and copying permissions for the Info
1237 file. The segment must be enclosed between @code{@@ifinfo} and 1183 file. The segment must be enclosed between @code{@@ifinfo} and
1238 @code{@@end ifinfo} commands so that the formatters place it only in the Info 1184 @code{@@end ifinfo} commands so that the formatters place it only in the Info
1239 file.@refill 1185 file.@refill
1240 1186
1241 @item 3. Title and Copyright 1187 @item 3. Title and Copyright
1242 The @dfn{Title and Copyright} segment contains the title and copyright pages 1188 The @dfn{Title and Copyright} segment contains the title and copyright pages
1243 and copying permissions for the printed manual. The segment must be 1189 and copying permissions for the printed manual. The segment must be
1244 enclosed between @code{@@titlepage} and @code{@@end titlepage} commands. 1190 enclosed between @code{@@titlepage} and @code{@@end titlepage} commands.
1245 The title and copyright page appear only in the printed @w{manual}.@refill 1191 The title and copyright page appear only in the printed @w{manual}.@refill
1246 1192
1261 @node Short Sample, Acknowledgements, Six Parts, Overview 1207 @node Short Sample, Acknowledgements, Six Parts, Overview
1262 @comment node-name, next, previous, up 1208 @comment node-name, next, previous, up
1263 @section A Short Sample Texinfo File 1209 @section A Short Sample Texinfo File
1264 @cindex Sample Texinfo file 1210 @cindex Sample Texinfo file
1265 1211
1266 Here is a complete but very short Texinfo file, in six parts. The first 1212 Here is a complete but very short Texinfo file, in 6 parts. The first
1267 three parts of the file, from @samp{\input texinfo} through to 1213 three parts of the file, from @samp{\input texinfo} through to
1268 @samp{@@end titlepage}, look more intimidating than they are. Most of 1214 @samp{@@end titlepage}, look more intimidating than they are. Most of
1269 the material is standard boilerplate; when you write a manual, simply 1215 the material is standard boilerplate; when you write a manual, simply
1270 insert the names for your own manual in this segment. (@xref{Beginning a 1216 insert the names for your own manual in this segment. (@xref{Beginning a
1271 File}.)@refill 1217 File}.)@refill
1272 1218
1273 @noindent 1219 @noindent
1274 In the following, the sample text is @emph{indented}; comments on it are 1220 In the following, the sample text is @emph{indented}; comments on it are
1275 not. The complete file, without any comments, is shown in 1221 not. The complete file, without any comments, is shown in
1276 @ref{Sample Texinfo File}. 1222 @ref{Sample Texinfo File}.
1277 1223
1278 @subheading Part 1: Header 1224 @subheading Part 1: Header
1279 1225
1280 @noindent 1226 @noindent
1281 The header does not appear in either the Info file or the 1227 The header does not appear in either the Info file or the@*
1282 printed output. It sets various parameters, including the 1228 printed output. It sets various parameters, including the@*
1283 name of the Info file and the title used in the header. 1229 name of the Info file and the title used in the header.
1284 1230
1285 @example 1231 @example
1286 @group 1232 @group
1287 \input texinfo @@c -*-texinfo-*- 1233 \input texinfo @@c -*-texinfo-*-
1288 @@c %**start of header 1234 @@c %**start of header
1289 @@setfilename sample.info 1235 @@setfilename sample.info
1290 @@settitle Sample Document 1236 @@settitle Sample Document
1291 @@c %**end of header 1237 @@c %**end of header
1292 1238
1295 @end example 1241 @end example
1296 1242
1297 @subheading Part 2: Summary Description and Copyright 1243 @subheading Part 2: Summary Description and Copyright
1298 1244
1299 @noindent 1245 @noindent
1300 The summary description and copyright segment does not 1246 The summary description and copyright segment does not@*
1301 appear in the printed document. 1247 appear in the printed document.
1302 1248
1303 @example 1249 @example
1304 @group 1250 @group
1305 @@ifinfo 1251 @@ifinfo
1333 @end example 1279 @end example
1334 1280
1335 @subheading Part 4: `Top' Node and Master Menu 1281 @subheading Part 4: `Top' Node and Master Menu
1336 1282
1337 @noindent 1283 @noindent
1338 The `Top' node contains the master menu for the Info file. 1284 The `Top' node contains the master menu for the Info file.@*
1339 Since a printed manual uses a table of contents rather than 1285 Since a printed manual uses a table of contents rather than@*
1340 a menu, the master menu appears only in the Info file. 1286 a menu, the master menu appears only in the Info file.
1341 1287
1342 @example 1288 @example
1343 @group 1289 @group
1344 @@node Top, First Chapter, , (dir) 1290 @@node Top, First Chapter, (dir), (dir)
1345 @@comment node-name, next, previous, up 1291 @@comment node-name, next, previous, up
1346 @end group 1292 @end group
1347 @end example 1293 @end example
1348 1294
1349 @example 1295 @example
1350 @group 1296 @group
1351 @@menu 1297 @@menu
1352 * First Chapter:: The first chapter is the 1298 * First Chapter:: The first chapter is the
1353 only chapter in this sample. 1299 only chapter in this sample.
1354 * Concept Index:: This index has two entries. 1300 * Concept Index:: This index has two entries.
1355 @@end menu 1301 @@end menu
1356 @end group 1302 @end group
1357 @end example 1303 @end example
1370 @@chapter First Chapter 1316 @@chapter First Chapter
1371 @@cindex Sample index entry 1317 @@cindex Sample index entry
1372 @end group 1318 @end group
1373 1319
1374 @group 1320 @group
1375 This is the contents of the first chapter. 1321 This is the contents of the first chapter.
1376 @@cindex Another sample index entry 1322 @@cindex Another sample index entry
1377 @end group 1323 @end group
1378 1324
1379 @group 1325 @group
1380 Here is a numbered list. 1326 Here is a numbered list.
1388 @@end enumerate 1334 @@end enumerate
1389 @end group 1335 @end group
1390 1336
1391 @group 1337 @group
1392 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@} 1338 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@}
1393 commands transform a Texinfo file such as this into 1339 commands transform a Texinfo file such as this into
1394 an Info file; and @@TeX@{@} typesets it for a printed 1340 an Info file; and @@TeX@{@} typesets it for a printed
1395 manual. 1341 manual.
1396 @end group 1342 @end group
1397 @end example 1343 @end example
1398 1344
1399 @subheading Part 6: The End of the Document 1345 @subheading Part 6: The End of the Document
1424 Here is what the contents of the first chapter of the sample look like: 1370 Here is what the contents of the first chapter of the sample look like:
1425 1371
1426 @sp 1 1372 @sp 1
1427 @need 700 1373 @need 700
1428 @quotation 1374 @quotation
1429 This is the contents of the first chapter. 1375 This is the contents of the first chapter.
1430 1376
1431 Here is a numbered list. 1377 Here is a numbered list.
1432 1378
1433 @enumerate 1379 @enumerate
1434 @item 1380 @item
1436 1382
1437 @item 1383 @item
1438 This is the second item. 1384 This is the second item.
1439 @end enumerate 1385 @end enumerate
1440 1386
1441 The @code{makeinfo} and @code{texinfo-format-buffer} 1387 The @code{makeinfo} and @code{texinfo-format-buffer}
1442 commands transform a Texinfo file such as this into 1388 commands transform a Texinfo file such as this into
1443 an Info file; and @TeX{} typesets it for a printed 1389 an Info file; and @TeX{} typesets it for a printed
1444 manual. 1390 manual.
1445 @end quotation 1391 @end quotation
1446 1392
1447 @node Acknowledgements, , Short Sample, Overview 1393 @node Acknowledgements, , Short Sample, Overview
1448 @comment node-name, next, previous, up 1394 @comment node-name, next, previous, up
1449 @section Acknowledgements 1395 @section Acknowledgements
1450 1396
1451 @cindex Stallman, Richard M. 1397 Richard M.@: Stallman wrote Edition 1.0 of this manual.
1452 @cindex Chassell, Robert J. 1398 @w{Robert J.@: Chassell} revised and extended it,
1453 @cindex Berry, Karl 1399 starting with Edition 1.1.
1454 Richard M.@: Stallman wrote Edition 1.0 of this manual. @w{Robert J.@: 1400
1455 Chassell} revised and extended it, starting with Edition 1.1. Karl
1456 Berry made updates for the Texinfo 3.8 and subsequent releases, starting
1457 with Edition 2.22.
1458
1459 @cindex Pinard, Fran@,{c}ois
1460 @cindex Zuhn, David D.
1461 @cindex Weisshaus, Melissa
1462 Our thanks go out to all who helped improve this work, particularly to 1401 Our thanks go out to all who helped improve this work, particularly to
1463 Fran@,{c}ois Pinard and @w{David D.@: Zuhn}, who tirelessly recorded and 1402 @w{Francois Pinard} and @w{David D.@: Zuhn}, who tirelessly recorded
1464 reported mistakes and obscurities; our special thanks go to Melissa 1403 and reported mistakes and obscurities; our special thanks go to
1465 Weisshaus for her frequent and often tedious reviews of nearly similar 1404 @w{Melissa Weisshaus} for her frequent and often tedious reviews of
1466 editions. Our mistakes are our own. 1405 nearly similar editions. Our mistakes are our own.
1467 1406
1407 @c ignore until mailing lists set up
1408 @ignore
1468 Please send suggestions and corrections to: 1409 Please send suggestions and corrections to:
1469 1410
1470 @example 1411 @example
1471 @group 1412 @group
1472 @r{Internet address:} 1413 @r{Internet address:}
1473 bug-texinfo@@prep.ai.mit.edu 1414 bug-texinfo@@prep.ai.mit.edu
1474 @end group 1415
1475 @end example 1416 @r{UUCP path:}
1476 1417 mit-eddie!prep.ai.mit.edu!bug-texinfo
1477 @noindent 1418 @end group
1478 Please include the manual's edition number and update date in your messages. 1419 @end example
1420
1421 @noindent
1422 Please include the manual's edition number in your messages.
1423 @end ignore
1479 1424
1480 @node Texinfo Mode, Beginning a File, Overview, Top 1425 @node Texinfo Mode, Beginning a File, Overview, Top
1481 @comment node-name, next, previous, up 1426 @comment node-name, next, previous, up
1482 @chapter Using Texinfo Mode 1427 @chapter Using Texinfo Mode
1483 @cindex Texinfo mode 1428 @cindex Texinfo mode
1499 1444
1500 @menu 1445 @menu
1501 * Texinfo Mode Overview:: How Texinfo mode can help you. 1446 * Texinfo Mode Overview:: How Texinfo mode can help you.
1502 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general 1447 * Emacs Editing:: Texinfo mode adds to GNU Emacs' general
1503 purpose editing features. 1448 purpose editing features.
1504 * Inserting:: How to insert frequently used @@-commands. 1449 * Inserting:: How to insert frequently used @@-commands.
1505 * Showing the Structure:: How to show the structure of a file. 1450 * Showing the Structure:: How to show the structure of a file.
1506 * Updating Nodes and Menus:: How to update or create new nodes and menus. 1451 * Updating Nodes and Menus:: How to update or create new nodes and menus.
1507 * Info Formatting:: How to format for Info. 1452 * Info Formatting:: How to format for Info.
1508 * Printing:: How to format and print part or all of a file. 1453 * Printing:: How to format and print part or all of a file.
1509 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands. 1454 * Texinfo Mode Summary:: Summary of all the Texinfo mode commands.
1510 @end menu 1455 @end menu
1511 1456
1512 @node Texinfo Mode Overview, Emacs Editing, Texinfo Mode, Texinfo Mode 1457 @node Texinfo Mode Overview, Emacs Editing, Texinfo Mode, Texinfo Mode
1513 @ifinfo 1458 @ifinfo
1514 @heading Texinfo Mode Overview 1459 @heading Texinfo Mode Overview
1515 @end ifinfo 1460 @end ifinfo
1516 1461
1517 Texinfo mode provides special features for working with Texinfo 1462 Texinfo mode provides special features for working with Texinfo
1518 files:@refill 1463 files:@refill
1519 1464
1520 @itemize @bullet 1465 @itemize @bullet
1521 @item 1466 @item
1522 Insert frequently used @@-commands. @refill 1467 Insert frequently used @@-commands. @refill
1523 1468
1524 @item 1469 @item
1525 Automatically create @code{@@node} lines. 1470 Automatically create @code{@@node} lines.
1526 1471
1527 @item 1472 @item
1528 Show the structure of a Texinfo source file.@refill 1473 Show the structure of a Texinfo source file.@refill
1529 1474
1530 @item 1475 @item
1531 Automatically create or update the `Next', 1476 Automatically create or update the `Next',@*
1532 `Previous', and `Up' pointers of a node. 1477 `Previous', and `Up' pointers of a node.
1533 1478
1534 @item 1479 @item
1535 Automatically create or update menus.@refill 1480 Automatically create or update menus.@refill
1536 1481
1537 @item 1482 @item
1538 Automatically create a master menu.@refill 1483 Automatically create a master menu.@refill
1539 1484
1540 @item 1485 @item
1541 Format a part or all of a file for Info.@refill 1486 Format a part or all of a file for Info.@refill
1542 1487
1543 @item 1488 @item
1544 Typeset and print part or all of a file.@refill 1489 Typeset and print part or all of a file.@refill
1545 @end itemize 1490 @end itemize
1546 1491
1547 Perhaps the two most helpful features are those for inserting frequently 1492 Perhaps the two most helpful features are those for inserting frequently
1548 used @@-commands and for creating node pointers and menus.@refill 1493 used @@-commands and for creating node pointers and menus.@refill
1549 1494
1550 @node Emacs Editing, Inserting, Texinfo Mode Overview, Texinfo Mode 1495 @node Emacs Editing, Inserting, Texinfo Mode Overview, Texinfo Mode
1551 @section The Usual GNU Emacs Editing Commands 1496 @section The Usual GNU Emacs Editing Commands
1552 1497
1553 In most cases, the usual Text mode commands work the same in Texinfo 1498 In most cases, the usual Text mode commands work the same in Texinfo
1554 mode as they do in Text mode. Texinfo mode adds new editing commands 1499 mode as they do in Text mode. Texinfo mode adds new editing commands
1555 and tools to GNU Emacs' general purpose editing features. The major 1500 and tools to GNU Emacs' general purpose editing features. The major
1556 difference concerns filling. In Texinfo mode, the paragraph 1501 difference concerns filling. In Texinfo mode, the paragraph
1574 end a Texinfo file name with one of the three extensions 1519 end a Texinfo file name with one of the three extensions
1575 @file{.texinfo}, @file{.texi}, or @file{.tex}. A longer extension is 1520 @file{.texinfo}, @file{.texi}, or @file{.tex}. A longer extension is
1576 preferred, since it is explicit, but a shorter extension may be 1521 preferred, since it is explicit, but a shorter extension may be
1577 necessary for operating systems that limit the length of file names. 1522 necessary for operating systems that limit the length of file names.
1578 GNU Emacs automatically enters Texinfo mode when you visit a file with 1523 GNU Emacs automatically enters Texinfo mode when you visit a file with
1579 a @file{.texinfo} or @file{.texi} 1524 a @file{.texinfo} or @file{.texi}
1580 extension. Also, Emacs switches to Texinfo mode 1525 extension. Also, Emacs switches to Texinfo mode
1581 when you visit a 1526 when you visit a
1582 file that has @samp{-*-texinfo-*-} in its first line. If ever you are 1527 file that has @samp{-*-texinfo-*-} in its first line. If ever you are
1583 in another mode and wish to switch to Texinfo mode, type @code{M-x 1528 in another mode and wish to switch to Texinfo mode, type @code{M-x
1584 texinfo-mode}.@refill 1529 texinfo-mode}.@refill
1585 1530
1586 Like all other Emacs features, you can customize or enhance Texinfo 1531 Like all other Emacs features, you can customize or enhance Texinfo
1607 @itemx M-x texinfo-insert-@@code 1552 @itemx M-x texinfo-insert-@@code
1608 @findex texinfo-insert-@@code 1553 @findex texinfo-insert-@@code
1609 Insert @code{@@code@{@}} and put the 1554 Insert @code{@@code@{@}} and put the
1610 cursor between the braces.@refill 1555 cursor between the braces.@refill
1611 1556
1612 @item C-c C-c d 1557 @item C-c C-c d
1613 @itemx M-x texinfo-insert-@@dfn 1558 @itemx M-x texinfo-insert-@@dfn
1614 @findex texinfo-insert-@@dfn 1559 @findex texinfo-insert-@@dfn
1615 Insert @code{@@dfn@{@}} and put the 1560 Insert @code{@@dfn@{@}} and put the
1616 cursor between the braces.@refill 1561 cursor between the braces.@refill
1617 1562
1618 @item C-c C-c e 1563 @item C-c C-c e
1619 @itemx M-x texinfo-insert-@@end 1564 @itemx M-x texinfo-insert-@@end
1620 @findex texinfo-insert-@@end 1565 @findex texinfo-insert-@@end
1621 Insert @code{@@end} and attempt to insert the correct following word, 1566 Insert @code{@@end} and attempt to insert the correct following word,
1622 such as @samp{example} or @samp{table}. (This command does not handle 1567 such as @samp{example} or @samp{table}. (This command does not handle
1623 nested lists correctly, but inserts the word appropriate to the 1568 nested lists correctly, but inserts the word appropriate to the
1624 immediately preceding list.)@refill 1569 immediately preceding list.)@refill
1625 1570
1626 @item C-c C-c i 1571 @item C-c C-c i
1627 @itemx M-x texinfo-insert-@@item 1572 @itemx M-x texinfo-insert-@@item
1628 @findex texinfo-insert-@@item 1573 @findex texinfo-insert-@@item
1629 Insert @code{@@item} and put the 1574 Insert @code{@@item} and put the
1630 cursor at the beginning of the next line.@refill 1575 cursor at the beginning of the next line.@refill
1631 1576
1633 @itemx M-x texinfo-insert-@@kbd 1578 @itemx M-x texinfo-insert-@@kbd
1634 @findex texinfo-insert-@@kbd 1579 @findex texinfo-insert-@@kbd
1635 Insert @code{@@kbd@{@}} and put the 1580 Insert @code{@@kbd@{@}} and put the
1636 cursor between the braces.@refill 1581 cursor between the braces.@refill
1637 1582
1638 @item C-c C-c n 1583 @item C-c C-c n
1639 @itemx M-x texinfo-insert-@@node 1584 @itemx M-x texinfo-insert-@@node
1640 @findex texinfo-insert-@@node 1585 @findex texinfo-insert-@@node
1641 Insert @code{@@node} and a comment line 1586 Insert @code{@@node} and a comment line
1642 listing the sequence for the `Next', 1587 listing the sequence for the `Next',
1643 `Previous', and `Up' nodes. 1588 `Previous', and `Up' nodes.
1644 Leave point after the @code{@@node}.@refill 1589 Leave point after the @code{@@node}.@refill
1645 1590
1646 @item C-c C-c o 1591 @item C-c C-c o
1647 @itemx M-x texinfo-insert-@@noindent 1592 @itemx M-x texinfo-insert-@@noindent
1656 cursor between the braces.@refill 1601 cursor between the braces.@refill
1657 1602
1658 @item C-c C-c t 1603 @item C-c C-c t
1659 @itemx M-x texinfo-insert-@@table 1604 @itemx M-x texinfo-insert-@@table
1660 @findex texinfo-insert-@@table 1605 @findex texinfo-insert-@@table
1661 Insert @code{@@table} followed by a @key{SPC} 1606 Insert @code{@@table} followed by a @key{SPC}
1662 and leave the cursor after the @key{SPC}.@refill 1607 and leave the cursor after the @key{SPC}.@refill
1663 1608
1664 @item C-c C-c v 1609 @item C-c C-c v
1665 @itemx M-x texinfo-insert-@@var 1610 @itemx M-x texinfo-insert-@@var
1666 @findex texinfo-insert-@@var 1611 @findex texinfo-insert-@@var
1671 @itemx M-x texinfo-insert-@@example 1616 @itemx M-x texinfo-insert-@@example
1672 @findex texinfo-insert-@@example 1617 @findex texinfo-insert-@@example
1673 Insert @code{@@example} and put the 1618 Insert @code{@@example} and put the
1674 cursor at the beginning of the next line.@refill 1619 cursor at the beginning of the next line.@refill
1675 1620
1676 @c M-@{ was the binding for texinfo-insert-braces; 1621 @c M-@{ was the binding for texinfo-insert-braces;
1677 @c in Emacs 19, backward-paragraph will take this binding. 1622 @c in Emacs 19, backward-paragraph will take this binding.
1678 @item C-c C-c @{ 1623 @item C-c C-c @{
1679 @itemx M-x texinfo-insert-braces 1624 @itemx M-x texinfo-insert-braces
1680 @findex texinfo-insert-braces 1625 @findex texinfo-insert-braces
1681 Insert @code{@{@}} and put the cursor between the braces.@refill 1626 Insert @code{@{@}} and put the cursor between the braces.@refill
1692 1637
1693 To put a command such as @w{@code{@@code@{@dots{}@}}} around an 1638 To put a command such as @w{@code{@@code@{@dots{}@}}} around an
1694 @emph{existing} word, position the cursor in front of the word and type 1639 @emph{existing} word, position the cursor in front of the word and type
1695 @kbd{C-u 1 C-c C-c c}. This makes it easy to edit existing plain text. 1640 @kbd{C-u 1 C-c C-c c}. This makes it easy to edit existing plain text.
1696 The value of the prefix argument tells Emacs how many words following 1641 The value of the prefix argument tells Emacs how many words following
1697 point to include between braces---@samp{1} for one word, @samp{2} for 1642 point to include between braces---1 for one word, 2 for two words, and
1698 two words, and so on. Use a negative argument to enclose the previous 1643 so on. Use a negative argument to enclose the previous word or words.
1699 word or words. If you do not specify a prefix argument, Emacs inserts 1644 If you do not specify a prefix argument, Emacs inserts the @@-command
1700 the @@-command string and positions the cursor between the braces. This 1645 string and positions the cursor between the braces. This feature works
1701 feature works only for those @@-commands that operate on a word or words 1646 only for those @@-commands that operate on a word or words within one
1702 within one line, such as @code{@@kbd} and @code{@@var}.@refill 1647 line, such as @code{@@kbd} and @code{@@var}.@refill
1703 1648
1704 This set of insert commands was created after analyzing the frequency 1649 This set of insert commands was created after analyzing the frequency
1705 with which different @@-commands are used in the @cite{GNU Emacs 1650 with which different @@-commands are used in the @cite{GNU Emacs
1706 Manual} and the @cite{GDB Manual}. If you wish to add your own insert 1651 Manual} and the @cite{GDB Manual}. If you wish to add your own insert
1707 commands, you can bind a keyboard macro to a key, use abbreviations, 1652 commands, you can bind a keyboard macro to a key, use abbreviations,
1751 the cursor over one of the lines and use the @kbd{C-c C-c} command 1696 the cursor over one of the lines and use the @kbd{C-c C-c} command
1752 (@code{occur-mode-goto-occurrence}), to jump to the corresponding spot 1697 (@code{occur-mode-goto-occurrence}), to jump to the corresponding spot
1753 in the Texinfo file.@refill 1698 in the Texinfo file.@refill
1754 1699
1755 @table @kbd 1700 @table @kbd
1756 @item C-c C-s 1701 @item C-c C-s
1757 @itemx M-x texinfo-show-structure 1702 @itemx M-x texinfo-show-structure
1758 @findex texinfo-show-structure 1703 @findex texinfo-show-structure
1759 Show the @code{@@chapter}, @code{@@section}, and such lines of a 1704 Show the @code{@@chapter}, @code{@@section}, and such lines of a
1760 Texinfo file.@refill 1705 Texinfo file.@refill
1761 1706
1784 @code{texinfo-show-structure} will work on only that region. To see 1729 @code{texinfo-show-structure} will work on only that region. To see
1785 the whole buffer again, use @w{@kbd{C-x n w}} (@code{widen}). 1730 the whole buffer again, use @w{@kbd{C-x n w}} (@code{widen}).
1786 (@xref{Narrowing, , , emacs, The GNU Emacs Manual}, for more 1731 (@xref{Narrowing, , , emacs, The GNU Emacs Manual}, for more
1787 information about the narrowing commands.)@refill 1732 information about the narrowing commands.)@refill
1788 1733
1789 @vindex page-delimiter 1734 @vindex page-delimiter
1790 @cindex Page delimiter in Texinfo mode 1735 @cindex Page delimiter in Texinfo mode
1791 In addition to providing the @code{texinfo-show-structure} command, 1736 In addition to providing the @code{texinfo-show-structure} command,
1792 Texinfo mode sets the value of the page delimiter variable to match 1737 Texinfo mode sets the value of the page delimiter variable to match
1793 the chapter-level @@-commands. This enables you to use the @kbd{C-x 1738 the chapter-level @@-commands. This enables you to use the @kbd{C-x
1794 ]} (@code{forward-page}) and @kbd{C-x [} (@code{backward-page}) 1739 ]} (@code{forward-page}) and @kbd{C-x [} (@code{backward-page})
1801 @comment node-name, next, previous, up 1746 @comment node-name, next, previous, up
1802 @section Updating Nodes and Menus 1747 @section Updating Nodes and Menus
1803 @cindex Updating nodes and menus 1748 @cindex Updating nodes and menus
1804 @cindex Create nodes, menus automatically 1749 @cindex Create nodes, menus automatically
1805 @cindex Insert nodes, menus automatically 1750 @cindex Insert nodes, menus automatically
1806 @cindex Automatically insert nodes, menus 1751 @cindex Automatically insert nodes, menus
1807 1752
1808 Texinfo mode provides commands for automatically creating or updating 1753 Texinfo mode provides commands for automatically creating or updating
1809 menus and node pointers. The commands are called ``update'' commands 1754 menus and node pointers. The commands are called ``update'' commands
1810 because their most frequent use is for updating a Texinfo file after 1755 because their most frequent use is for updating a Texinfo file after
1811 you have worked on it; but you can use them to insert the `Next', 1756 you have worked on it; but you can use them to insert the `Next',
1953 1898
1954 @item C-c C-u C-a 1899 @item C-c C-u C-a
1955 @itemx M-x texinfo-all-menus-update 1900 @itemx M-x texinfo-all-menus-update
1956 @findex texinfo-all-menus-update 1901 @findex texinfo-all-menus-update
1957 Create or update all the menus in the buffer. With an argument 1902 Create or update all the menus in the buffer. With an argument
1958 (@kbd{C-u} as prefix argument, if interactive), first insert 1903 (@kbd{C-u} as prefix argument, if interactive), first insert
1959 or update all the node 1904 or update all the node
1960 pointers before working on the menus.@refill 1905 pointers before working on the menus.@refill
1961 1906
1962 If a master menu exists, the @code{texinfo-all-menus-update} command 1907 If a master menu exists, the @code{texinfo-all-menus-update} command
1963 updates it; but the command does not create a new master menu if none 1908 updates it; but the command does not create a new master menu if none
1967 When working on a document that does not merit a master menu, you can 1912 When working on a document that does not merit a master menu, you can
1968 type the following: 1913 type the following:
1969 1914
1970 @example 1915 @example
1971 C-u C-c C-u C-a 1916 C-u C-c C-u C-a
1972 @exdent or 1917 @exdent or
1973 C-u M-x texinfo-all-menus-update 1918 C-u M-x texinfo-all-menus-update
1974 @end example 1919 @end example
1975 1920
1976 @noindent 1921 @noindent
1977 This updates all the nodes and menus.@refill 1922 This updates all the nodes and menus.@refill
1997 @subsection Updating Requirements 1942 @subsection Updating Requirements
1998 @cindex Updating requirements 1943 @cindex Updating requirements
1999 @cindex Requirements for updating commands 1944 @cindex Requirements for updating commands
2000 1945
2001 To use the updating commands, you must organize the Texinfo file 1946 To use the updating commands, you must organize the Texinfo file
2002 hierarchically with chapters, sections, subsections, and the like. 1947 hierarchically with chapters, sections, subsections, and the like.
2003 When you construct the hierarchy of the manual, do not `jump down' 1948 When you construct the hierarchy of the manual, do not `jump down'
2004 more than one level at a time: you can follow the `Top' node with a 1949 more than one level at a time: you can follow the `Top' node with a
2005 chapter, but not with a section; you can follow a chapter with a 1950 chapter, but not with a section; you can follow a chapter with a
2006 section, but not with a subsection. However, you may `jump up' any 1951 section, but not with a subsection. However, you may `jump up' any
2007 number of levels at one time---for example, from a subsection to a 1952 number of levels at one time---for example, from a subsection to a
2122 Insert the names of the nodes immediately following and preceding the 2067 Insert the names of the nodes immediately following and preceding the
2123 current node as the `Next' or `Previous' pointers regardless of those 2068 current node as the `Next' or `Previous' pointers regardless of those
2124 nodes' hierarchical level. This means that the `Next' node of a 2069 nodes' hierarchical level. This means that the `Next' node of a
2125 subsection may well be the next chapter. Sequentially ordered nodes are 2070 subsection may well be the next chapter. Sequentially ordered nodes are
2126 useful for novels and other documents that you read through 2071 useful for novels and other documents that you read through
2127 sequentially. (However, in Info, the @kbd{g *} command lets 2072 sequentially. (However, in Info, the @code{g* @key{RET}} command lets
2128 you look through the file sequentially, so sequentially ordered nodes 2073 you look through the file sequentially, so sequentially ordered nodes
2129 are not strictly necessary.) With an argument (prefix argument, if 2074 are not strictly necessary.) With an argument (prefix argument, if
2130 interactive), the @code{texinfo-sequential-node-update} command 2075 interactive), the @code{texinfo-sequential-node-update} command
2131 sequentially updates all the nodes in the region.@refill 2076 sequentially updates all the nodes in the region.@refill
2132 @end table 2077 @end table
2183 C-c C-m C-b 2128 C-c C-m C-b
2184 @exdent or 2129 @exdent or
2185 M-x makeinfo-buffer 2130 M-x makeinfo-buffer
2186 @end example 2131 @end example
2187 2132
2188 For @TeX{} or the Info formatting commands to work, the file @emph{must} 2133 For the Info formatting commands to work, the file @emph{must} include
2189 include a line that has @code{@@setfilename} in its header.@refill 2134 a line that has @code{@@setfilename} in its header.@refill
2135
2136 Not all systems support the @code{makeinfo}-based formatting commands.@refill
2190 2137
2191 @xref{Create an Info File}, for details about Info formatting.@refill 2138 @xref{Create an Info File}, for details about Info formatting.@refill
2192 2139
2193 @node Printing, Texinfo Mode Summary, Info Formatting, Texinfo Mode 2140 @node Printing, Texinfo Mode Summary, Info Formatting, Texinfo Mode
2194 @comment node-name, next, previous, up 2141 @comment node-name, next, previous, up
2198 @cindex Region formatting and printing 2145 @cindex Region formatting and printing
2199 @cindex Buffer formatting and printing 2146 @cindex Buffer formatting and printing
2200 @cindex Part of file formatting and printing 2147 @cindex Part of file formatting and printing
2201 2148
2202 Typesetting and printing a Texinfo file is a multi-step process in which 2149 Typesetting and printing a Texinfo file is a multi-step process in which
2203 you first create a file for printing (called a DVI file), and then 2150 you first create a file for printing (called a @sc{dvi} file), and then
2204 print the file. Optionally, you may also create indices. To do this, 2151 print the file. Optionally, you may also create indices. To do this,
2205 you must run the @code{texindex} command after first running the 2152 you must run the @code{texindex} command after first running the
2206 @code{tex} typesetting command; and then you must run the @code{tex} 2153 @code{tex} typesetting command; and then you must run the @code{tex}
2207 command again. Or else run the @code{texi2dvi} command which 2154 command again. Or else run the @code{texi2dvi} command which
2208 automatically creates indices as needed.@refill 2155 automatically creates indices as needed.@refill
2233 not run @code{texindex} automatically; it only runs the @code{tex} 2180 not run @code{texindex} automatically; it only runs the @code{tex}
2234 typesetting command. You must run the @code{texinfo-tex-region} command 2181 typesetting command. You must run the @code{texinfo-tex-region} command
2235 a second time after sorting the raw index files with the @code{texindex} 2182 a second time after sorting the raw index files with the @code{texindex}
2236 command. (Usually, you do not format an index when you format a region, 2183 command. (Usually, you do not format an index when you format a region,
2237 only when you format a buffer. Now that the @code{texi2dvi} command 2184 only when you format a buffer. Now that the @code{texi2dvi} command
2238 exists, there is little or no need for this command.)@refill 2185 exists, there is no little need for this command.)@refill
2239 2186
2240 @item C-c C-t C-p 2187 @item C-c C-t C-p
2241 @itemx M-x texinfo-tex-print 2188 @itemx M-x texinfo-tex-print
2242 @findex texinfo-tex-print 2189 @findex texinfo-tex-print
2243 Print the file (or the part of the file) previously formatted with 2190 Print the file (or the part of the file) previously formatted with
2258 @comment node-name, next, previous, up 2205 @comment node-name, next, previous, up
2259 @section Texinfo Mode Summary 2206 @section Texinfo Mode Summary
2260 2207
2261 In Texinfo mode, each set of commands has default keybindings that 2208 In Texinfo mode, each set of commands has default keybindings that
2262 begin with the same keys. All the commands that are custom-created 2209 begin with the same keys. All the commands that are custom-created
2263 for Texinfo mode begin with @kbd{C-c}. The keys are somewhat 2210 for Texinfo mode begin with @kbd{C-c}. The keys are somewhat
2264 mnemonic.@refill 2211 mnemonic.@refill
2265 2212
2266 @subheading Insert Commands 2213 @subheading Insert Commands
2267 2214
2268 The insert commands are invoked by typing @kbd{C-c} twice and then the 2215 The insert commands are invoked by typing @kbd{C-c} twice and then the
2339 @example 2286 @example
2340 C-c C-u C-m @r{Make or update a menu.} 2287 C-c C-u C-m @r{Make or update a menu.}
2341 2288
2342 @group 2289 @group
2343 C-c C-u C-a @r{Make or update all} 2290 C-c C-u C-a @r{Make or update all}
2344 @r{menus in a buffer.} 2291 @r{menus in a buffer.}
2345 @end group 2292 @end group
2346 2293
2347 @group 2294 @group
2348 C-u C-c C-u C-a @r{With @kbd{C-u} as a prefix argument,} 2295 C-u C-c C-u C-a @r{With @kbd{C-u} as a prefix argument,}
2349 @r{first create or update all nodes and} 2296 @r{first create or update all nodes and}
2392 2339
2393 @example 2340 @example
2394 C-c C-t C-r @r{Run @TeX{} on the region.} 2341 C-c C-t C-r @r{Run @TeX{} on the region.}
2395 C-c C-t C-b @r{Run} @code{texi2dvi} @r{on the buffer.} 2342 C-c C-t C-b @r{Run} @code{texi2dvi} @r{on the buffer.}
2396 C-c C-t C-i @r{Run} @code{texindex}. 2343 C-c C-t C-i @r{Run} @code{texindex}.
2397 C-c C-t C-p @r{Print the DVI file.} 2344 C-c C-t C-p @r{Print the @sc{dvi} file.}
2398 C-c C-t C-q @r{Show the print queue.} 2345 C-c C-t C-q @r{Show the print queue.}
2399 C-c C-t C-d @r{Delete a job from the print queue.} 2346 C-c C-t C-d @r{Delete a job from the print queue.}
2400 C-c C-t C-k @r{Kill the current @TeX{} formatting job.} 2347 C-c C-t C-k @r{Kill the current @TeX{} formatting job.}
2401 C-c C-t C-x @r{Quit a currently stopped @TeX{} formatting job.} 2348 C-c C-t C-x @r{Quit a currently stopped @TeX{} formatting job.}
2402 C-c C-t C-l @r{Recenter the output buffer.} 2349 C-c C-t C-l @r{Recenter the output buffer.}
2462 @end ifinfo 2409 @end ifinfo
2463 2410
2464 Generally, the beginning of a Texinfo file has four parts:@refill 2411 Generally, the beginning of a Texinfo file has four parts:@refill
2465 2412
2466 @enumerate 2413 @enumerate
2467 @item 2414 @item
2468 The header, delimited by special comment lines, that includes the 2415 The header, delimited by special comment lines, that includes the
2469 commands for naming the Texinfo file and telling @TeX{} what 2416 commands for naming the Texinfo file and telling @TeX{} what
2470 definitions file to use when processing the Texinfo file.@refill 2417 definitions' file to use when processing the Texinfo file.@refill
2471 2418
2472 @item 2419 @item
2473 A short statement of what the file is about, with a copyright notice 2420 A short statement of what the file is about, with a copyright notice
2474 and copying permissions. This is enclosed in @code{@@ifinfo} and 2421 and copying permissions. This is enclosed in @code{@@ifinfo} and
2475 @code{@@end ifinfo} commands so that the formatters place it only 2422 @code{@@end ifinfo} commands so that the formatters place it only
2476 in the Info file.@refill 2423 in the Info file.@refill
2477 2424
2478 @item 2425 @item
2479 A title page and copyright page, with a copyright notice and copying 2426 A title page and copyright page, with a copyright notice and copying
2480 permissions. This is enclosed between @code{@@titlepage} and 2427 permissions. This is enclosed between @code{@@titlepage} and
2481 @code{@@end titlepage} commands. The title and copyright page appear 2428 @code{@@end titlepage} commands. The title and copyright page appear
2482 only in the printed @w{manual}.@refill 2429 only in the printed @w{manual}.@refill
2483 2430
2531 @@subtitle @var{second-subtitle} 2478 @@subtitle @var{second-subtitle}
2532 @@author @var{author} 2479 @@author @var{author}
2533 @end group 2480 @end group
2534 2481
2535 @group 2482 @group
2536 @@c The following two commands 2483 @@c The following two commands
2537 @@c start the copyright page. 2484 @@c start the copyright page.
2538 @@page 2485 @@page
2539 @@vskip 0pt plus 1filll 2486 @@vskip 0pt plus 1filll
2540 Copyright @@copyright@{@} @var{year} @var{copyright-owner} 2487 Copyright @@copyright@{@} @var{year} @var{copyright-owner}
2541 @end group 2488 @end group
2543 Published by @dots{} 2490 Published by @dots{}
2544 2491
2545 Permission is granted to @dots{} 2492 Permission is granted to @dots{}
2546 @@end titlepage 2493 @@end titlepage
2547 2494
2548 @@node Top, Overview, , (dir) 2495 @@node Top, Overview, (dir), (dir)
2549 2496
2550 @@ifinfo 2497 @@ifinfo
2551 This document describes @dots{} 2498 This document describes @dots{}
2552 2499
2553 This document applies to version @dots{} 2500 This document applies to version @dots{}
2554 of the program named @dots{} 2501 of the program named @dots{}
2555 @@end ifinfo 2502 @@end ifinfo
2556 2503
2557 @group 2504 @group
2558 @@menu 2505 @@menu
2588 2535
2589 Thus, the beginning of a Texinfo file looks like this: 2536 Thus, the beginning of a Texinfo file looks like this:
2590 2537
2591 @example 2538 @example
2592 @group 2539 @group
2593 \input texinfo @@c -*-texinfo-*- 2540 \input texinfo @@c -*-texinfo-*-
2594 @@setfilename sample.info 2541 @@setfilename sample.info
2595 @@settitle Sample Document 2542 @@settitle Sample Document
2596 @end group 2543 @end group
2597 @end example 2544 @end example
2598 2545
2599 @noindent 2546 @noindent
2600 or else like this: 2547 or else like this:
2601 2548
2602 @example 2549 @example
2603 @group 2550 @group
2604 \input texinfo @@c -*-texinfo-*- 2551 \input texinfo @@c -*-texinfo-*-
2605 @@c %**start of header 2552 @@c %**start of header
2606 @@setfilename sample.info 2553 @@setfilename sample.info
2607 @@settitle Sample Document 2554 @@settitle Sample Document
2608 @@c %**end of header 2555 @@c %**end of header
2609 @end group 2556 @end group
2610 @end example 2557 @end example
2611 2558
2612 @menu 2559 @menu
2613 * First Line:: The first line of a Texinfo file. 2560 * First Line:: The first line of a Texinfo file.
2614 * Start of Header:: Formatting a region requires this. 2561 * Start of Header:: Formatting a region requires this.
2615 * setfilename:: Tell Info the name of the Info file. 2562 * setfilename:: Tell Info the name of the Info file.
2616 * settitle:: Create a title for the printed work. 2563 * settitle:: Create a title for the printed work.
2617 * setchapternewpage:: Start chapters on right-hand pages. 2564 * setchapternewpage:: Start chapters on right-hand pages.
2618 * paragraphindent:: An option to specify paragraph indentation. 2565 * paragraphindent:: An option to specify paragraph indentation.
2635 2582
2636 @noindent 2583 @noindent
2637 This line serves two functions: 2584 This line serves two functions:
2638 2585
2639 @enumerate 2586 @enumerate
2640 @item 2587 @item
2641 When the file is processed by @TeX{}, the @samp{\input texinfo} command 2588 When the file is processed by @TeX{}, the @code{\input texinfo} command
2642 tells @TeX{} to load the macros needed for processing a Texinfo file. 2589 tells @TeX{} to load the macros needed for processing a Texinfo file.
2643 These are in a file called @file{texinfo.tex}, which is usually located 2590 These are in a file called @file{texinfo.tex}, which is usually located
2644 in the @file{/usr/lib/tex/macros} directory. @TeX{} uses the backslash, 2591 in the @file{/usr/lib/tex/macros} directory. @TeX{} uses the backslash,
2645 @samp{\}, to mark the beginning of a command, just as Texinfo uses 2592 @samp{\}, to mark the beginning of a command, just as Texinfo uses
2646 @samp{@@}. The @file{texinfo.tex} file causes the switch from @samp{\} 2593 @code{@@}. The @file{texinfo.tex} file causes the switch from @samp{\}
2647 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which 2594 to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which
2648 is why it appears at the beginning of the file.@refill 2595 is why it appears at the beginning of the file.@refill
2649 2596
2650 @item 2597 @item
2651 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode 2598 When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode
2652 specification tells Emacs to use Texinfo mode.@refill 2599 specification tells Emacs to use Texinfo mode.@refill
2653 @end enumerate 2600 @end enumerate
2654 2601
2655 @node Start of Header, setfilename, First Line, Header 2602 @node Start of Header, setfilename, First Line, Header
2679 @comment node-name, next, previous, up 2626 @comment node-name, next, previous, up
2680 @subsection @code{@@setfilename} 2627 @subsection @code{@@setfilename}
2681 @cindex Info file requires @code{@@setfilename} 2628 @cindex Info file requires @code{@@setfilename}
2682 @findex setfilename 2629 @findex setfilename
2683 2630
2684 In order to serve as the primary input file for either @code{makeinfo} 2631 In order to be made into an Info file, a Texinfo file must contain a line
2685 or @TeX{}, a Texinfo file must contain a line that looks like this: 2632 that looks like this:@refill
2686 2633
2687 @example 2634 @example
2688 @@setfilename @var{info-file-name} 2635 @@setfilename @var{info-file-name}
2689 @end example 2636 @end example
2690 2637
2691 Write the @code{@@setfilename} command at the beginning of a line and 2638 Write the @code{@@setfilename} command at the beginning of a line and
2692 follow it on the same line by the Info file name. Do not write anything 2639 follow it on the same line by the Info file name. Do not write
2693 else on the line; anything on the line after the command is considered 2640 anything else on the line; anything on the line after the command is
2694 part of the file name, including what would otherwise be a 2641 considered part of the file name, including a comment.@refill
2695 comment.
2696 2642
2697 The @code{@@setfilename} line specifies the name of the Info file to be 2643 The @code{@@setfilename} line specifies the name of the Info file to be
2698 generated. This name should be different from the name of the Texinfo 2644 generated. This name should be different from the name of the Texinfo
2699 file. There are two conventions for choosing the name: you can either 2645 file. The convention is to write a name with a @samp{.info} extension,
2700 remove the @samp{.texi} extension from the input file name, or replace 2646 to produce an Info file name such as @file{texinfo.info}.@refill
2701 it with the @samp{.info} extension.
2702 2647
2703 Some operating systems cannot handle long file names. You can run into 2648 Some operating systems cannot handle long file names. You can run into
2704 a problem even when the file name you specify is itself short enough. 2649 a problem even when the file name you specify is itself short enough.
2705 This occurs because the Info formatters split a long Info file into 2650 This occurs because the Info formatters split a long Info file into
2706 short indirect subfiles, and name them by appending @samp{-1}, 2651 short indirect subfiles, and name them by appending `-1', `-2', @dots{},
2707 @samp{-2}, @dots{}, @samp{-10}, @samp{-11}, and so on, to the original 2652 `-10', `-11', and so on, to the original file name. (@xref{Tag and
2708 file name. (@xref{Tag and Split Files, , Tag Files and Split Files}.) 2653 Split Files, , Tag Files and Split Files}.) The subfile name
2709 The subfile name @file{texinfo.info-10}, for example, is too long for 2654 @file{texinfo.info-10}, for example, is too long for some systems; so
2710 some systems; so the Info file name for this document is @file{texinfo} 2655 the Info file name for this document is actually @file{texinfo} rather than
2711 rather than @file{texinfo.info}. 2656 @file{texinfo.info}.@refill
2712 2657
2713 @cindex Ignored before @code{@@setfilename}
2714 The Info formatting commands ignore everything written before the 2658 The Info formatting commands ignore everything written before the
2715 @code{@@setfilename} line, which is why the very first line of 2659 @code{@@setfilename} line, which is why the very first line of
2716 the file (the @code{\input} line) does not show up in the output. 2660 the file (the @code{\input} line) does not need to be commented out.
2717 2661 The @code{@@setfilename} line is ignored when you typeset a printed
2718 @pindex texinfo.cnf 2662 manual.@refill
2719 The @code{@@setfilename} line produces no output when you typeset a
2720 manual with @TeX{}, but it nevertheless is essential: it opens the
2721 index, cross-reference, and other auxiliary files used by Texinfo, and
2722 also reads @file{texinfo.cnf} if that file is present on your system
2723 (@pxref{Preparing for TeX,, Preparing to Use @TeX{}}).
2724
2725 2663
2726 @node settitle, setchapternewpage, setfilename, Header 2664 @node settitle, setchapternewpage, setfilename, Header
2727 @comment node-name, next, previous, up 2665 @comment node-name, next, previous, up
2728 @subsection @code{@@settitle} 2666 @subsection @code{@@settitle}
2729 @findex settitle 2667 @findex settitle
2883 @item 2821 @item
2884 If the value of @var{indent} is @samp{asis}, the Info formatting 2822 If the value of @var{indent} is @samp{asis}, the Info formatting
2885 commands do not change the existing indentation.@refill 2823 commands do not change the existing indentation.@refill
2886 2824
2887 @item 2825 @item
2888 If the value of @var{indent} is zero, the Info formatting commands delete 2826 If the value of @var{indent} is 0, the Info formatting commands delete
2889 existing indentation.@refill 2827 existing indentation.@refill
2890 2828
2891 @item 2829 @item
2892 If the value of @var{indent} is greater than zero, the Info formatting 2830 If the value of @var{indent} is greater than 0, the Info formatting
2893 commands indent the paragraph by that number of spaces.@refill 2831 commands indent the paragraph by that number of spaces.@refill
2894 @end itemize 2832 @end itemize
2895 2833
2896 The default value of @var{indent} is @samp{asis}.@refill 2834 The default value of @var{indent} is @samp{asis}.@refill
2897 2835
2906 @xref{Refilling Paragraphs}, for a detailed description of what goes 2844 @xref{Refilling Paragraphs}, for a detailed description of what goes
2907 on.@refill 2845 on.@refill
2908 2846
2909 @node End of Header, , paragraphindent, Header 2847 @node End of Header, , paragraphindent, Header
2910 @comment node-name, next, previous, up 2848 @comment node-name, next, previous, up
2911 @subsection End of Header 2849 @subsection End of Header
2912 @cindex End of header line 2850 @cindex End of header line
2913 2851
2914 Follow the header lines with an @w{end-of-header} line. 2852 Follow the header lines with an @w{end-of-header} line.
2915 An end-of-header line looks like this:@refill 2853 An end-of-header line looks like this:@refill
2916 2854
3006 Start the material for the title page and following copyright page 2944 Start the material for the title page and following copyright page
3007 with @code{@@titlepage} on a line by itself and end it with 2945 with @code{@@titlepage} on a line by itself and end it with
3008 @code{@@end titlepage} on a line by itself.@refill 2946 @code{@@end titlepage} on a line by itself.@refill
3009 2947
3010 The @code{@@end titlepage} command starts a new page and turns on page 2948 The @code{@@end titlepage} command starts a new page and turns on page
3011 numbering. (@xref{Headings, , Page Headings}, for details about how to 2949 numbering. (@xref{Headings, , Page Headings}, for details about how to
3012 generate page headings.) All the material that you want to 2950 generate of page headings.) All the material that you want to
3013 appear on unnumbered pages should be put between the 2951 appear on unnumbered pages should be put between the
3014 @code{@@titlepage} and @code{@@end titlepage} commands. By using the 2952 @code{@@titlepage} and @code{@@end titlepage} commands. By using the
3015 @code{@@page} command you can force a page break within the region 2953 @code{@@page} command you can force a page break within the region
3016 delineated by the @code{@@titlepage} and @code{@@end titlepage} 2954 delineated by the @code{@@titlepage} and @code{@@end titlepage}
3017 commands and thereby create more than one unnumbered page. This is 2955 commands and thereby create more than one unnumbered page. This is
3032 words.} for the manual. This helps readers keep track of which manual 2970 words.} for the manual. This helps readers keep track of which manual
3033 is for which version of the program. (The `Top' node 2971 is for which version of the program. (The `Top' node
3034 should also contain this information; see @ref{makeinfo top, , 2972 should also contain this information; see @ref{makeinfo top, ,
3035 @code{@@top}}.)@refill 2973 @code{@@top}}.)@refill
3036 2974
3037 Texinfo provides two main methods for creating a title page. One method 2975 Texinfo provides two methods for creating a title page. One method
3038 uses the @code{@@titlefont}, @code{@@sp}, and @code{@@center} commands 2976 uses the @code{@@titlefont}, @code{@@sp}, and @code{@@center} commands
3039 to generate a title page in which the words on the page are 2977 to generate a title page in which the words on the page are
3040 centered.@refill 2978 centered.@refill
3041 2979
3042 The second method uses the @code{@@title}, @code{@@subtitle}, and 2980 The second method uses the @code{@@title}, @code{@@subtitle}, and
3044 the title and author lines and the subtitle text set flush to the 2982 the title and author lines and the subtitle text set flush to the
3045 right hand side of the page. With this method, you do not specify any 2983 right hand side of the page. With this method, you do not specify any
3046 of the actual formatting of the title page. You specify the text 2984 of the actual formatting of the title page. You specify the text
3047 you want, and Texinfo does the formatting. You may use either 2985 you want, and Texinfo does the formatting. You may use either
3048 method.@refill 2986 method.@refill
3049
3050 @findex shorttitlepage
3051 For extremely simple applications, Texinfo also provides a command
3052 @code{@@shorttitlepage} which takes a single argument as the title.
3053 The argument is typeset on a page by itself and followed by a blank
3054 page.
3055
3056 2987
3057 @node titlefont center sp, title subtitle author, titlepage, Titlepage & Copyright Page 2988 @node titlefont center sp, title subtitle author, titlepage, Titlepage & Copyright Page
3058 @comment node-name, next, previous, up 2989 @comment node-name, next, previous, up
3059 @subsection @code{@@titlefont}, @code{@@center}, and @code{@@sp} 2990 @subsection @code{@@titlefont}, @code{@@center}, and @code{@@sp}
3060 @findex titlefont 2991 @findex titlefont
3122 @findex subtitle 3053 @findex subtitle
3123 @findex author 3054 @findex author
3124 3055
3125 You can use the @code{@@title}, @code{@@subtitle}, and @code{@@author} 3056 You can use the @code{@@title}, @code{@@subtitle}, and @code{@@author}
3126 commands to create a title page in which the vertical and horizontal 3057 commands to create a title page in which the vertical and horizontal
3127 spacing is done for you automatically. This contrasts with the method 3058 spacing is done for you automatically. This contrasts with the method
3128 described in 3059 described in
3129 the previous section, in which the @code{@@sp} command is needed to 3060 the previous section, in which the @code{@@sp} command is needed to
3130 adjust vertical spacing.@refill 3061 adjust vertical spacing.@refill
3131 3062
3132 Write the @code{@@title}, @code{@@subtitle}, or @code{@@author} 3063 Write the @code{@@title}, @code{@@subtitle}, or @code{@@author}
3268 @node end titlepage, headings on off, Copyright & Permissions, Titlepage & Copyright Page 3199 @node end titlepage, headings on off, Copyright & Permissions, Titlepage & Copyright Page
3269 @comment node-name, next, previous, up 3200 @comment node-name, next, previous, up
3270 @subsection Heading Generation 3201 @subsection Heading Generation
3271 @findex end titlepage 3202 @findex end titlepage
3272 @cindex Headings, page, begin to appear 3203 @cindex Headings, page, begin to appear
3273 @cindex Titlepage end starts headings 3204 @cindex Titlepage end starts headings
3274 @cindex End titlepage starts headings 3205 @cindex End titlepage starts headings
3275 3206
3276 An @code{@@end titlepage} command on a line by itself not only marks 3207 An @code{@@end titlepage} command on a line by itself not only marks
3277 the end of the title and copyright pages, but also causes @TeX{} to start 3208 the end of the title and copyright pages, but also causes @TeX{} to start
3278 generating page headings and page numbers. 3209 generating page headings and page numbers.
3279 3210
3280 To repeat what is said elsewhere, Texinfo has two standard page heading 3211 To repeat what is said elsewhere, Texinfo has two standard page heading
3281 formats, one for documents which are printed on one side of each sheet of paper 3212 formats, one for documents which are printed on one side of each sheet of paper
3282 (single-sided printing), and the other for documents which are printed on both 3213 (single-sided printing), and the other for documents which are printed on both
3283 sides of each sheet (double-sided printing). 3214 sides of each sheet (double-sided printing).
3284 (@xref{setchapternewpage, ,@code{@@setchapternewpage}}.) 3215 (@xref{setchapternewpage, ,@code{@@setchapternewpage}}.)
3285 You can specify these formats in different ways:@refill 3216 You can specify these formats in different ways:@refill
3286 3217
3287 @itemize @bullet 3218 @itemize @bullet
3288 @item 3219 @item
3320 @code{@@headings} command only if the @code{@@setchapternewpage} command 3251 @code{@@headings} command only if the @code{@@setchapternewpage} command
3321 does not do what you want, or if you want to turn off pre-defined page 3252 does not do what you want, or if you want to turn off pre-defined page
3322 headings prior to defining your own. Write an @code{@@headings} command 3253 headings prior to defining your own. Write an @code{@@headings} command
3323 immediately after the @code{@@end titlepage} command.@refill 3254 immediately after the @code{@@end titlepage} command.@refill
3324 3255
3325 You can use @code{@@headings} as follows:@refill 3256 There are four ways to use the @code{@@headings} command:@refill
3326 3257
3327 @table @code 3258 @table @code
3328 @item @@headings off 3259 @item @@headings off
3329 Turn off printing of page headings.@refill 3260 Turn off printing of page headings.@refill
3330 3261
3331 @item @@headings single 3262 @item @@headings single
3332 Turn on page headings appropriate for single-sided printing. 3263 Turn on page headings appropriate for single-sided printing.
3333 @refill 3264 @refill
3334 3265
3335 @item @@headings double 3266 @item @@headings double
3267 @itemx @@headings on
3336 Turn on page headings appropriate for double-sided printing. The two 3268 Turn on page headings appropriate for double-sided printing. The two
3337 commands, @code{@@headings on} and @code{@@headings double}, are 3269 commands, @code{@@headings on} and @code{@@headings double}, are
3338 synonymous.@refill 3270 synonymous.@refill
3339
3340 @item @@headings singleafter
3341 @itemx @@headings doubleafter
3342 Turn on @code{single} or @code{double} headings, respectively, after the
3343 current page is output.
3344
3345 @item @@headings on
3346 Turn on page headings: @code{single} if @samp{@@setchapternewpage
3347 on}, @code{double} otherwise.
3348 @end table 3271 @end table
3349 3272
3350 For example, suppose you write @code{@@setchapternewpage off} before the 3273 For example, suppose you write @code{@@setchapternewpage off} before the
3351 @code{@@titlepage} command to tell @TeX{} to start a new chapter on the 3274 @code{@@titlepage} command to tell @TeX{} to start a new chapter on the
3352 same page as the end of the last chapter. This command also causes 3275 same page as the end of the last chapter. This command also causes
3379 @cindex Node, `Top' 3302 @cindex Node, `Top'
3380 3303
3381 The `Top' node is the node from which you enter an Info file.@refill 3304 The `Top' node is the node from which you enter an Info file.@refill
3382 3305
3383 A `Top' node should contain a brief description of the Info file and an 3306 A `Top' node should contain a brief description of the Info file and an
3384 extensive, master menu for the whole Info file. 3307 extensive, master menu for the whole Info file.
3385 This helps the reader understand what the Info file is 3308 This helps the reader understand what the Info file is
3386 about. Also, you should write the version number of the program to 3309 about. Also, you should write the version number of the program to
3387 which the Info file applies; or, at least, the edition number.@refill 3310 which the Info file applies; or, at least, the edition number.@refill
3388 3311
3389 The contents of the `Top' node should appear only in the Info file; none 3312 The contents of the `Top' node should appear only in the Info file; none
3417 @group 3340 @group
3418 @dots{} 3341 @dots{}
3419 @@end titlepage 3342 @@end titlepage
3420 3343
3421 @@ifinfo 3344 @@ifinfo
3422 @@node Top, Copying, , (dir) 3345 @@node Top, Copying, (dir), (dir)
3423 @@top Texinfo 3346 @@top Texinfo
3424 3347
3425 Texinfo is a documentation system@dots{} 3348 Texinfo is a documentation system@dots{}
3426 @end group 3349 @end group
3427 3350
3431 @@end ifinfo 3354 @@end ifinfo
3432 @end group 3355 @end group
3433 3356
3434 @group 3357 @group
3435 @@menu 3358 @@menu
3436 * Copying:: Texinfo is freely 3359 * Copying:: Texinfo is freely
3437 redistributable. 3360 redistributable.
3438 * Overview:: What is Texinfo? 3361 * Overview:: What is Texinfo?
3439 @dots{} 3362 @dots{}
3440 @end group 3363 @end group
3441 @@end menu 3364 @@end menu
3472 The third and subsequent parts contain a listing of the other, lower 3395 The third and subsequent parts contain a listing of the other, lower
3473 level nodes, often ordered by chapter. This way, rather than go 3396 level nodes, often ordered by chapter. This way, rather than go
3474 through an intermediary menu, an inquirer can go directly to a 3397 through an intermediary menu, an inquirer can go directly to a
3475 particular node when searching for specific information. These menu 3398 particular node when searching for specific information. These menu
3476 items are not required; add them if you think they are a 3399 items are not required; add them if you think they are a
3477 convenience. If you do use them, put @code{@@detailmenu} before the 3400 convenience.@refill
3478 first one, and @code{@@end detailmenu} after the last; otherwise,
3479 @code{makeinfo} will get confused.
3480 @end itemize 3401 @end itemize
3481 3402
3482 Each section in the menu can be introduced by a descriptive line. So 3403 Each section in the menu can be introduced by a descriptive line. So
3483 long as the line does not begin with an asterisk, it will not be 3404 long as the line does not begin with an asterisk, it will not be
3484 treated as a menu entry. (@xref{Writing a Menu}, for more 3405 treated as a menu entry. (@xref{Writing a Menu}, for more
3488 (but has many more entries):@refill 3409 (but has many more entries):@refill
3489 3410
3490 @example 3411 @example
3491 @group 3412 @group
3492 @@menu 3413 @@menu
3493 * Copying:: Texinfo is freely 3414 * Copying:: Texinfo is freely
3494 redistributable. 3415 redistributable.
3495 * Overview:: What is Texinfo? 3416 * Overview:: What is Texinfo?
3496 * Texinfo Mode:: Special features in GNU Emacs. 3417 * Texinfo Mode:: Special features in GNU Emacs.
3497 @dots{} 3418 @dots{}
3498 @dots{} 3419 @dots{}
3499 @end group 3420 @end group
3500 @group 3421 @group
3501 * Command and Variable Index:: 3422 * Command and Variable Index::
3502 An entry for each @@-command. 3423 An entry for each @@-command.
3503 * Concept Index:: An entry for each concept. 3424 * Concept Index:: An entry for each concept.
3504 @end group 3425 @end group
3505 3426
3506 @group 3427 @group
3507 @@detailmenu
3508 --- The Detailed Node Listing --- 3428 --- The Detailed Node Listing ---
3509 3429
3510 Overview of Texinfo 3430 Overview of Texinfo
3511 3431
3512 * Info Files:: What is an Info file? 3432 * Info Files:: What is an Info file?
3513 * Printed Manuals:: Characteristics of 3433 * Printed Manuals:: Characteristics of
3514 a printed manual. 3434 a printed manual.
3515 @dots{} 3435 @dots{}
3516 @dots{} 3436 @dots{}
3517 @end group 3437 @end group
3518 3438
3519 @group 3439 @group
3520 Using Texinfo Mode 3440 Using Texinfo Mode
3521 3441
3522 * Info on a Region:: Formatting part of a file 3442 * Info on a Region:: Formatting part of a file
3523 for Info. 3443 for Info.
3524 @dots{} 3444 @dots{}
3525 @dots{} 3445 @dots{}
3526 @@end detailmenu
3527 @@end menu 3446 @@end menu
3528 @end group 3447 @end group
3529 @end example 3448 @end example
3530 3449
3531 @node Software Copying Permissions, , The Top Node, Beginning a File 3450 @node Software Copying Permissions, , The Top Node, Beginning a File
3583 @@contents 3502 @@contents
3584 @@bye 3503 @@bye
3585 @end example 3504 @end example
3586 3505
3587 @menu 3506 @menu
3588 * Printing Indices & Menus:: How to print an index in hardcopy and 3507 * Printing Indices & Menus:: How to print an index in hardcopy and
3589 generate index menus in Info. 3508 generate index menus in Info.
3590 * Contents:: How to create a table of contents. 3509 * Contents:: How to create a table of contents.
3591 * File End:: How to mark the end of a file. 3510 * File End:: How to mark the end of a file.
3592 @end menu 3511 @end menu
3593 3512
3679 @noindent 3598 @noindent
3680 (Readers often prefer that the concept index come last in a book, 3599 (Readers often prefer that the concept index come last in a book,
3681 since that makes it easiest to find.)@refill 3600 since that makes it easiest to find.)@refill
3682 3601
3683 @ignore 3602 @ignore
3684 @c TeX can do sorting, just not conveniently enough to handle sorting
3685 @c Texinfo indexes. --karl, 5may97.
3686 In @TeX{}, the @code{@@printindex} command needs a sorted index file 3603 In @TeX{}, the @code{@@printindex} command needs a sorted index file
3687 to work from. @TeX{} does not know how to do sorting; this is a 3604 to work from. @TeX{} does not know how to do sorting; this is a
3688 deficiency. @TeX{} writes output files of raw index data; use the 3605 deficiency. @TeX{} writes output files of raw index data; use the
3689 @code{texindex} program to convert these files to sorted index files. 3606 @code{texindex} program to convert these files to sorted index files.
3690 (@xref{Format/Print Hardcopy}, for more information.)@refill 3607 (@xref{Format/Print Hardcopy}, for more information.)@refill
3691 @end ignore 3608 @end ignore
3692 3609 @node Contents, File End, Printing Indices & Menus, Ending a File
3693
3694 @node Contents, File End, Printing Indices & Menus, Ending a File
3695 @comment node-name, next, previous, up 3610 @comment node-name, next, previous, up
3696 @section Generating a Table of Contents 3611 @section Generating a Table of Contents
3697 @cindex Table of contents 3612 @cindex Table of contents
3698 @cindex Contents, Table of 3613 @cindex Contents, Table of
3699 @findex contents 3614 @findex contents
3700 @findex summarycontents 3615 @findex summarycontents
3701 @findex shortcontents 3616 @findex shortcontents
3702 3617
3703 The @code{@@chapter}, @code{@@section}, and other structuring commands 3618 The @code{@@chapter}, @code{@@section}, and other structuring commands
3836 ------------------------------------- 3751 -------------------------------------
3837 | | | 3752 | | |
3838 Chapter 1 Chapter 2 Chapter 3 3753 Chapter 1 Chapter 2 Chapter 3
3839 | | | 3754 | | |
3840 -------- -------- -------- 3755 -------- -------- --------
3841 | | | | | | 3756 | | | | | |
3842 Section Section Section Section Section Section 3757 Section Section Section Section Section Section
3843 1.1 1.2 2.1 2.2 3.1 3.2 3758 1.1 1.2 2.1 2.2 3.1 3.2
3844 3759
3845 @end group 3760 @end group
3846 @end example 3761 @end example
3859 follow; the @code{@@node} and @code{@@menu} commands are described in 3774 follow; the @code{@@node} and @code{@@menu} commands are described in
3860 following chapters. (@xref{Nodes}, and see @ref{Menus}.)@refill 3775 following chapters. (@xref{Nodes}, and see @ref{Menus}.)@refill
3861 3776
3862 @node Structuring Command Types, makeinfo top, Tree Structuring, Structuring 3777 @node Structuring Command Types, makeinfo top, Tree Structuring, Structuring
3863 @comment node-name, next, previous, up 3778 @comment node-name, next, previous, up
3864 @section Types of Structuring Commands 3779 @section Types of Structuring Command
3865 3780
3866 The chapter structuring commands fall into four groups or series, each 3781 The chapter structuring commands fall into four groups or series, each
3867 of which contains structuring commands corresponding to the 3782 of which contains structuring commands corresponding to the
3868 hierarchical levels of chapters, sections, subsections, and 3783 hierarchical levels of chapters, sections, subsections, and
3869 subsubsections.@refill 3784 subsubsections.@refill
3957 @example 3872 @example
3958 @group 3873 @group
3959 @r{No new pages} 3874 @r{No new pages}
3960 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered} 3875 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered}
3961 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents} 3876 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents}
3962 3877
3963 @@top @@majorheading 3878 @@top @@majorheading
3964 @@chapter @@unnumbered @@appendix @@chapheading 3879 @@chapter @@unnumbered @@appendix @@chapheading
3965 @@section @@unnumberedsec @@appendixsec @@heading 3880 @@section @@unnumberedsec @@appendixsec @@heading
3966 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading 3881 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading
3967 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading 3882 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading
3977 @smallexample 3892 @smallexample
3978 @group 3893 @group
3979 @r{No new pages} 3894 @r{No new pages}
3980 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered} 3895 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered}
3981 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents} 3896 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents}
3982 3897
3983 @@top @@majorheading 3898 @@top @@majorheading
3984 @@chapter @@unnumbered @@appendix @@chapheading 3899 @@chapter @@unnumbered @@appendix @@chapheading
3985 @@section @@unnumberedsec @@appendixsec @@heading 3900 @@section @@unnumberedsec @@appendixsec @@heading
3986 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading 3901 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading
3987 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading 3902 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading
3994 @smallexample 3909 @smallexample
3995 @group 3910 @group
3996 @r{No new pages} 3911 @r{No new pages}
3997 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered} 3912 @r{Numbered} @r{Unnumbered} @r{Lettered and numbered} @r{Unnumbered}
3998 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents} 3913 @r{In contents} @r{In contents} @r{In contents} @r{Not in contents}
3999 3914
4000 @@top @@majorheading 3915 @@top @@majorheading
4001 @@chapter @@unnumbered @@appendix @@chapheading 3916 @@chapter @@unnumbered @@appendix @@chapheading
4002 @@section @@unnumberedsec @@appendixsec @@heading 3917 @@section @@unnumberedsec @@appendixsec @@heading
4003 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading 3918 @@subsection @@unnumberedsubsec @@appendixsubsec @@subheading
4004 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading 3919 @@subsubsection @@unnumberedsubsubsec @@appendixsubsubsec @@subsubheading
4007 @end iftex 3922 @end iftex
4008 @end ignore 3923 @end ignore
4009 3924
4010 @node makeinfo top, chapter, Structuring Command Types, Structuring 3925 @node makeinfo top, chapter, Structuring Command Types, Structuring
4011 @comment node-name, next, previous, up 3926 @comment node-name, next, previous, up
4012 @section @code{@@top} 3927 @section @code{@@top}
4013 3928
4014 The @code{@@top} command is a special sectioning command that you use 3929 The @code{@@top} command is a special sectioning command that you use
4015 only after an @samp{@@node Top} line at the beginning of a Texinfo file. 3930 only after an @code{@@node Top} line at the beginning of a Texinfo file.
4016 The @code{@@top} command tells the @code{makeinfo} formatter 3931 The @code{@@top} command tells the @code{makeinfo} formatter
4017 which node is the `Top' 3932 which node is the `Top'
4018 node. It has the same typesetting effect as @code{@@unnumbered} 3933 node. It has the same typesetting effect as @code{@@unnumbered}
4019 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}). 3934 (@pxref{unnumbered & appendix, , @code{@@unnumbered}, @code{@@appendix}}).
4020 For detailed information, see 3935 For detailed information, see
4021 @ref{makeinfo top command, , The @code{@@top} Command}.@refill 3936 @ref{makeinfo top command, , The @code{@@top} Command}.@refill
4047 @example 3962 @example
4048 Chapter Structuring 3963 Chapter Structuring
4049 ******************* 3964 *******************
4050 @end example 3965 @end example
4051 3966
4052 @findex centerchap
4053 Texinfo also provides a command @code{@@centerchap}, which is analogous
4054 to @code{@@unnumbered}, but centers its argument in the printed output.
4055 This kind of stylistic choice is not usually offered by Texinfo.
4056 @c but the Hacker's Dictionary wanted it ...
4057
4058
4059 @node unnumbered & appendix, majorheading & chapheading, chapter, Structuring 3967 @node unnumbered & appendix, majorheading & chapheading, chapter, Structuring
4060 @comment node-name, next, previous, up 3968 @comment node-name, next, previous, up
4061 @section @code{@@unnumbered}, @code{@@appendix} 3969 @section @code{@@unnumbered}, @code{@@appendix}
4062 @findex unnumbered 3970 @findex unnumbered
4063 @findex appendix 3971 @findex appendix
4074 3982
4075 To create an appendix or an unnumbered chapter, write an 3983 To create an appendix or an unnumbered chapter, write an
4076 @code{@@appendix} or @code{@@unnumbered} command at the beginning of a 3984 @code{@@appendix} or @code{@@unnumbered} command at the beginning of a
4077 line and follow it on the same line by the title, as you would if you 3985 line and follow it on the same line by the title, as you would if you
4078 were creating a chapter.@refill 3986 were creating a chapter.@refill
4079
4080 3987
4081 @node majorheading & chapheading, section, unnumbered & appendix, Structuring 3988 @node majorheading & chapheading, section, unnumbered & appendix, Structuring
4082 @section @code{@@majorheading}, @code{@@chapheading} 3989 @section @code{@@majorheading}, @code{@@chapheading}
4083 @findex majorheading 3990 @findex majorheading
4084 @findex chapheading 3991 @findex chapheading
4198 In a printed manual, subsections are listed in the table of contents 4105 In a printed manual, subsections are listed in the table of contents
4199 and are numbered three levels deep.@refill 4106 and are numbered three levels deep.@refill
4200 4107
4201 @node unnumberedsubsec appendixsubsec subheading, subsubsection, subsection, Structuring 4108 @node unnumberedsubsec appendixsubsec subheading, subsubsection, subsection, Structuring
4202 @comment node-name, next, previous, up 4109 @comment node-name, next, previous, up
4203 @section The @code{@@subsection}-like Commands 4110 @section The @code{@@subsection}-like Commands
4204 @cindex Subsection-like commands 4111 @cindex Subsection-like commands
4205 @findex unnumberedsubsec 4112 @findex unnumberedsubsec
4206 @findex appendixsubsec 4113 @findex appendixsubsec
4207 @findex subheading 4114 @findex subheading
4208 4115
4209 The @code{@@unnumberedsubsec}, @code{@@appendixsubsec}, and 4116 The @code{@@unnumberedsubsec}, @code{@@appendixsubsec}, and
4222 contents.@refill 4129 contents.@refill
4223 4130
4224 @node subsubsection, Raise/lower sections, unnumberedsubsec appendixsubsec subheading, Structuring 4131 @node subsubsection, Raise/lower sections, unnumberedsubsec appendixsubsec subheading, Structuring
4225 @comment node-name, next, previous, up 4132 @comment node-name, next, previous, up
4226 @section The `subsub' Commands 4133 @section The `subsub' Commands
4227 @cindex Subsub commands 4134 @cindex Subsub commands
4228 @findex subsubsection 4135 @findex subsubsection
4229 @findex unnumberedsubsubsec 4136 @findex unnumberedsubsubsec
4230 @findex appendixsubsubsec 4137 @findex appendixsubsubsec
4231 @findex subsubheading 4138 @findex subsubheading
4232 4139
4257 a small heading that will not appear in the table of contents. In 4164 a small heading that will not appear in the table of contents. In
4258 Info, subsubheadings look exactly like ordinary subsubsection 4165 Info, subsubheadings look exactly like ordinary subsubsection
4259 headings.@refill 4166 headings.@refill
4260 @end table 4167 @end table
4261 4168
4262 In Info, `subsub' titles are underlined with periods. 4169 In Info, `subsub' titles are underlined with periods.
4263 For example,@refill 4170 For example,@refill
4264 4171
4265 @example 4172 @example
4266 @@subsubsection This is a subsubsection 4173 @@subsubsection This is a subsubsection
4267 @end example 4174 @end example
4277 @end example 4184 @end example
4278 4185
4279 @node Raise/lower sections, , subsubsection, Structuring 4186 @node Raise/lower sections, , subsubsection, Structuring
4280 @comment node-name, next, previous, up 4187 @comment node-name, next, previous, up
4281 @section @code{@@raisesections} and @code{@@lowersections} 4188 @section @code{@@raisesections} and @code{@@lowersections}
4282 @findex raisesections 4189 @findex @@raisesections
4283 @findex lowersections 4190 @findex @@lowersections
4284 @cindex Raising and lowering sections 4191 @cindex Raising and lowering sections
4285 @cindex Sections, raising and lowering 4192 @cindex Sections, raising and lowering
4286 4193
4287 The @code{@@raisesections} and @code{@@lowersections} commands raise and 4194 The @code{@@raisesections} and @code{@@lowersections} commands raise and
4288 lower the hierarchical level of chapters, sections, subsections and the 4195 lower the hierarchical level of chapters, sections, subsections and the
4289 like. The @code{@@raisesections} command changes sections to chapters, 4196 like. The @code{@@raisesections} command changes sections to chapters,
4290 subsections to sections, and so on. The @code{@@lowersections} command 4197 subsections to sections, and so on. The @code{@@lowersections} command
4291 changes chapters to sections, sections to subsections, and so on. 4198 changes chapters to sections, sections to subsections, and so on.
4292 4199
4293 @cindex Include files, and section levels
4294 An @code{@@lowersections} command is useful if you wish to include text 4200 An @code{@@lowersections} command is useful if you wish to include text
4295 that is written as an outer or standalone Texinfo file in another 4201 that is written as an outer or standalone Texinfo file in another
4296 Texinfo file as an inner, included file. If you write the command at 4202 Texinfo file as an inner, included file. If you write the command at
4297 the beginning of the file, all your @code{@@chapter} commands are 4203 the beginning of the file, all your @code{@@chapter} commands are
4298 formatted as if they were @code{@@section} commands, all your 4204 formatted as if they were @code{@@section} commands, all your
4333 those structuring commands that follow the command in the Texinfo file. 4239 those structuring commands that follow the command in the Texinfo file.
4334 Write an @code{@@raisesections} or @code{@@lowersections} command on a 4240 Write an @code{@@raisesections} or @code{@@lowersections} command on a
4335 line of its own. 4241 line of its own.
4336 4242
4337 An @code{@@lowersections} command cancels an @code{@@raisesections} 4243 An @code{@@lowersections} command cancels an @code{@@raisesections}
4338 command, and vice versa. Typically, the commands are used like this: 4244 command, and vice versa.
4339
4340 @example
4341 @@lowersections
4342 @@include somefile.texi
4343 @@raisesections
4344 @end example
4345
4346 Without the @code{@@raisesections}, all the subsequent sections in your
4347 document will be lowered.
4348 4245
4349 Repeated use of the commands continue to raise or lower the hierarchical 4246 Repeated use of the commands continue to raise or lower the hierarchical
4350 level a step at a time. 4247 level a step at a time.
4351 4248
4352 An attempt to raise above `chapters' reproduces chapter commands; an 4249 An attempt to raise above `chapters' reproduces chapter commands; an
4365 pointers and menus provide structure for Info files just as chapters, 4262 pointers and menus provide structure for Info files just as chapters,
4366 sections, subsections, and the like, provide structure for printed 4263 sections, subsections, and the like, provide structure for printed
4367 books.@refill 4264 books.@refill
4368 4265
4369 @menu 4266 @menu
4370 * Two Paths:: Different commands to structure 4267 * Two Paths:: Different commands to structure
4371 Info output and printed output. 4268 Info output and printed output.
4372 * Node Menu Illustration:: A diagram, and sample nodes and menus. 4269 * Node Menu Illustration:: A diagram, and sample nodes and menus.
4373 * node:: How to write a node, in detail. 4270 * node:: How to write a node, in detail.
4374 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}. 4271 * makeinfo Pointer Creation:: How to create node pointers with @code{makeinfo}.
4375 @end menu 4272 @end menu
4427 ------------------------------------- 4324 -------------------------------------
4428 | | | 4325 | | |
4429 Chapter 1 Chapter 2 Chapter 3 4326 Chapter 1 Chapter 2 Chapter 3
4430 | | | 4327 | | |
4431 -------- -------- -------- 4328 -------- -------- --------
4432 | | | | | | 4329 | | | | | |
4433 Section Section Section Section Section Section 4330 Section Section Section Section Section Section
4434 1.1 1.2 2.1 2.2 3.1 3.2 4331 1.1 1.2 2.1 2.2 3.1 3.2
4435 4332
4436 @end group 4333 @end group
4437 @end example 4334 @end example
4469 4366
4470 @example 4367 @example
4471 @group 4368 @group
4472 @@menu 4369 @@menu
4473 * Sect. 2.1:: Description of this section. 4370 * Sect. 2.1:: Description of this section.
4474 * Sect. 2.2:: 4371 * Sect. 2.2::
4475 @@end menu 4372 @@end menu
4476 @end group 4373 @end group
4477 @end example 4374 @end example
4478 4375
4479 Write the node for Sect. 2.1 like this:@refill 4376 Write the node for Sect. 2.1 like this:@refill
4542 about nodes in Info.)@refill 4439 about nodes in Info.)@refill
4543 4440
4544 Usually, you write one of the chapter-structuring command lines 4441 Usually, you write one of the chapter-structuring command lines
4545 immediately after an @code{@@node} line---for example, an 4442 immediately after an @code{@@node} line---for example, an
4546 @code{@@section} or @code{@@subsection} line. (@xref{Structuring 4443 @code{@@section} or @code{@@subsection} line. (@xref{Structuring
4547 Command Types, , Types of Structuring Commands}.)@refill 4444 Command Types, , Types of Structuring Command}.)@refill
4548 4445
4549 @quotation 4446 @quotation
4550 @strong{Please note:} The GNU Emacs Texinfo mode updating commands work 4447 @strong{Please note:} The GNU Emacs Texinfo mode updating commands work
4551 only with Texinfo files in which @code{@@node} lines are followed by chapter 4448 only with Texinfo files in which @code{@@node} lines are followed by chapter
4552 structuring lines. @xref{Updating Requirements}.@refill 4449 structuring lines. @xref{Updating Requirements}.@refill
4563 * Node Names:: How to choose node and pointer names. 4460 * Node Names:: How to choose node and pointer names.
4564 * Writing a Node:: How to write an @code{@@node} line. 4461 * Writing a Node:: How to write an @code{@@node} line.
4565 * Node Line Tips:: Keep names short. 4462 * Node Line Tips:: Keep names short.
4566 * Node Line Requirements:: Keep names unique, without @@-commands. 4463 * Node Line Requirements:: Keep names unique, without @@-commands.
4567 * First Node:: How to write a `Top' node. 4464 * First Node:: How to write a `Top' node.
4568 * makeinfo top command:: How to use the @code{@@top} command. 4465 * makeinfo top command:: How to use the @code{@@top} command.
4569 * Top Node Summary:: Write a brief description for readers. 4466 * Top Node Summary:: Write a brief description for readers.
4570 @end menu 4467 @end menu
4571 4468
4572 @node Node Names, Writing a Node, node, node 4469 @node Node Names, Writing a Node, node, node
4573 @ifinfo 4470 @ifinfo
4629 @@node @var{node-name}, @var{next}, @var{previous}, @var{up} 4526 @@node @var{node-name}, @var{next}, @var{previous}, @var{up}
4630 @end example 4527 @end example
4631 4528
4632 If you wish, you can ignore @code{@@node} lines altogether in your first 4529 If you wish, you can ignore @code{@@node} lines altogether in your first
4633 draft and then use the @code{texinfo-insert-node-lines} command to 4530 draft and then use the @code{texinfo-insert-node-lines} command to
4634 create @code{@@node} lines for you. However, we do not 4531 create @code{@@node} lines for you. However, we do not
4635 recommend this practice. It is better to name the node itself 4532 recommend this practice. It is better to name the node itself
4636 at the same time that you 4533 at the same time that you
4637 write a segment so you can easily make cross references. A large number 4534 write a segment so you can easily make cross references. A large number
4638 of cross references are an especially important feature of a good Info 4535 of cross references are an especially important feature of a good Info
4639 file.@refill 4536 file.@refill
4640 4537
4715 @@findex chapter 4612 @@findex chapter
4716 @end group 4613 @end group
4717 @end smallexample 4614 @end smallexample
4718 4615
4719 @cindex Comma in nodename 4616 @cindex Comma in nodename
4617 @cindex Colon in nodename
4720 @cindex Apostrophe in nodename 4618 @cindex Apostrophe in nodename
4721 @item 4619 @item
4722 You cannot use commas or apostrophes within a node name; these 4620 You cannot use commas, colons, or apostrophes within a node name; these
4723 confuse @TeX{} or the Info formatters.@refill 4621 confuse @TeX{} or the Info formatters.@refill
4724 4622
4725 @need 700 4623 @need 700
4726 For example, the following is a section title: 4624 For example, the following is a section title:
4727 4625
4728 @smallexample 4626 @smallexample
4729 @@code@{@@@@unnumberedsec@}, @@code@{@@@@appendixsec@}, @@code@{@@@@heading@} 4627 @@code@{@@@@unnumberedsec@}, @@code@{@@@@appendixsec@}, @@code@{@@@@heading@}
4730 @end smallexample 4628 @end smallexample
4731 4629
4732 @noindent 4630 @noindent
4733 The corresponding node name is: 4631 The corresponding node name is:
4734 4632
4739 @cindex Case in nodename 4637 @cindex Case in nodename
4740 @item 4638 @item
4741 Case is significant. 4639 Case is significant.
4742 @end itemize 4640 @end itemize
4743 4641
4744
4745 @node First Node, makeinfo top command, Node Line Requirements, node 4642 @node First Node, makeinfo top command, Node Line Requirements, node
4746 @comment node-name, next, previous, up 4643 @comment node-name, next, previous, up
4747 @subsection The First Node 4644 @subsection The First Node
4748 @cindex Top node is first 4645 @cindex @samp{@r{Top}} node is first
4749 @cindex First node 4646 @cindex First node
4750 4647
4751 The first node of a Texinfo file is the @dfn{Top} node, except in an 4648 The first node of a Texinfo file is the `Top' node, except in an
4752 included file (@pxref{Include Files}). The Top node contains the main 4649 included file (@pxref{Include Files}).
4753 or master menu for the document, and a short summary of the document 4650
4754 (@pxref{Top Node Summary}). 4651 The `Top' node (which must be named @samp{top} or @samp{Top}) should
4755 4652 have as its `Up' and `Previous' nodes the name of a node in another
4756 @cindex Up node of Top node 4653 file, where there is a menu that leads to this file. Specify the file
4757 @cindex (dir) as Up node of Top node 4654 name in parentheses. If the file is to be installed directly in the
4758 The Top node (which must be named @samp{top} or @samp{Top}) should have 4655 Info directory file, use @samp{(dir)} as the parent of the `Top' node;
4759 as its `Up' node the name of a node in another file, where there is a 4656 this is short for @samp{(dir)top}, and specifies the `Top' node in the
4760 menu that leads to this file. Specify the file name in parentheses. If 4657 @file{dir} file, which contains the main menu for Info. For example,
4761 the file is to be installed directly in the Info directory file, use 4658 the @code{@@node Top} line of this manual looks like this:@refill
4762 @samp{(dir)} as the parent of the Top node; this is short for 4659
4763 @samp{(dir)top}, and specifies the Top node in the @file{dir} file, 4660 @example
4764 which contains the main menu for the Info system as a whole. For 4661 @@node Top, Overview, (dir), (dir)
4765 example, the @code{@@node Top} line of this manual looks like this: 4662 @end example
4766 4663
4767 @example 4664 @noindent
4768 @@node Top, Copying, , (dir) 4665 (You may use the Texinfo updating commands or the @code{makeinfo}
4769 @end example 4666 utility to insert these `Next' and @samp{(dir)} pointers
4770 4667 automatically.)@refill
4771 @noindent
4772 (You can use the Texinfo updating commands or the @code{makeinfo}
4773 utility to insert these pointers automatically.)
4774
4775 @cindex Previous node of Top node
4776 Do not define the `Previous' node of the Top node to be @samp{(dir)}, as
4777 it causes confusing behavior for users: if you are in the Top node and
4778 hits @key{DEL} to go backwards, you wind up in the middle of the
4779 some other entry in the @file{dir} file, which has nothing to do with
4780 what you were reading.
4781 4668
4782 @xref{Install an Info File}, for more information about installing 4669 @xref{Install an Info File}, for more information about installing
4783 an Info file in the @file{info} directory. 4670 an Info file in the @file{info} directory.@refill
4784 4671
4672 The `Top' node contains the main or master menu for the document.
4785 4673
4786 @node makeinfo top command, Top Node Summary, First Node, node 4674 @node makeinfo top command, Top Node Summary, First Node, node
4787 @comment node-name, next, previous, up 4675 @comment node-name, next, previous, up
4788 @subsection The @code{@@top} Sectioning Command 4676 @subsection The @code{@@top} Sectioning Command
4789 @findex top @r{(@@-command)} 4677 @findex top @r{(@@-command)}
4806 nothing special with it. You can use @code{@@chapter} or 4694 nothing special with it. You can use @code{@@chapter} or
4807 @code{@@unnumbered} after the @code{@@node Top} line when you use 4695 @code{@@unnumbered} after the @code{@@node Top} line when you use
4808 these formatters. Also, you can use @code{@@chapter} or 4696 these formatters. Also, you can use @code{@@chapter} or
4809 @code{@@unnumbered} when you use the Texinfo updating commands to 4697 @code{@@unnumbered} when you use the Texinfo updating commands to
4810 create or update pointers and menus.@refill 4698 create or update pointers and menus.@refill
4811
4812 4699
4813 @node Top Node Summary, , makeinfo top command, node 4700 @node Top Node Summary, , makeinfo top command, node
4814 @subsection The `Top' Node Summary 4701 @subsection The `Top' Node Summary
4815 @cindex @samp{@r{Top}} node summary 4702 @cindex @samp{@r{Top}} node summary
4816 4703
4945 * Menu Location:: Put a menu in a short node. 4832 * Menu Location:: Put a menu in a short node.
4946 * Writing a Menu:: What is a menu? 4833 * Writing a Menu:: What is a menu?
4947 * Menu Parts:: A menu entry has three parts. 4834 * Menu Parts:: A menu entry has three parts.
4948 * Less Cluttered Menu Entry:: Two part menu entry. 4835 * Less Cluttered Menu Entry:: Two part menu entry.
4949 * Menu Example:: Two and three part entries. 4836 * Menu Example:: Two and three part entries.
4950 * Other Info Files:: How to refer to a different 4837 * Other Info Files:: How to refer to a different
4951 Info file. 4838 Info file.
4952 @@end menu 4839 @@end menu
4953 4840
4954 @@node Menu Location, Writing a Menu, , Menus 4841 @@node Menu Location, Writing a Menu, , Menus
4955 @@ifinfo 4842 @@ifinfo
4956 @@heading Menus Need Short Nodes 4843 @@heading Menus Need Short Nodes
4957 @@end ifinfo 4844 @@end ifinfo
4958 @end group 4845 @end group
4959 @end example 4846 @end example
4978 @group 4865 @group
4979 @@menu 4866 @@menu
4980 Larger Units of Text 4867 Larger Units of Text
4981 4868
4982 * Files:: All about handling files. 4869 * Files:: All about handling files.
4983 * Multiples: Buffers. Multiple buffers; editing 4870 * Multiples: Buffers. Multiple buffers; editing
4984 several files at once. 4871 several files at once.
4985 @@end menu 4872 @@end menu
4986 @end group 4873 @end group
4987 @end example 4874 @end example
4988 4875
4999 @section The Parts of a Menu 4886 @section The Parts of a Menu
5000 @cindex Parts of a menu 4887 @cindex Parts of a menu
5001 @cindex Menu parts 4888 @cindex Menu parts
5002 @cindex @code{@@menu} parts 4889 @cindex @code{@@menu} parts
5003 4890
5004 A menu entry has three parts, only the second of which is required: 4891 A menu entry has three parts, only the second of which is
4892 required:@refill
5005 4893
5006 @enumerate 4894 @enumerate
5007 @item 4895 @item
5008 The menu entry name (optional). 4896 The menu entry name.
5009 4897
5010 @item 4898 @item
5011 The name of the node (required). 4899 The name of the node (required).
5012 4900
5013 @item 4901 @item
5014 A description of the item (optional). 4902 A description of the item.
5015 @end enumerate 4903 @end enumerate
5016 4904
5017 The template for a menu entry looks like this:@refill 4905 The template for a menu entry looks like this:@refill
5018 4906
5019 @example 4907 @example
5025 4913
5026 In Info, a user selects a node with the @kbd{m} (@code{Info-menu}) 4914 In Info, a user selects a node with the @kbd{m} (@code{Info-menu})
5027 command. The menu entry name is what the user types after the @kbd{m} 4915 command. The menu entry name is what the user types after the @kbd{m}
5028 command.@refill 4916 command.@refill
5029 4917
5030 The third part of a menu entry is a descriptive phrase or sentence. 4918 The third part of a menu entry is a descriptive phrase or
5031 Menu entry names and node names are often short; the description 4919 sentence. Menu entry names and node names are often short; the
5032 explains to the reader what the node is about. A useful description 4920 description explains to the reader what the node is about. The
5033 complements the node name rather than repeats it. The description, 4921 description, which is optional, can spread over two or more lines. A
5034 which is optional, can spread over two or more lines; if it does, some 4922 useful description complements the node name rather than repeats
5035 authors prefer to indent the second line while others prefer to align it 4923 it.@refill
5036 with the first (and all others). It's up to you.
5037
5038 4924
5039 @node Less Cluttered Menu Entry, Menu Example, Menu Parts, Menus 4925 @node Less Cluttered Menu Entry, Menu Example, Menu Parts, Menus
5040 @comment node-name, next, previous, up 4926 @comment node-name, next, previous, up
5041 @section Less Cluttered Menu Entry 4927 @section Less Cluttered Menu Entry
5042 @cindex Two part menu entry 4928 @cindex Two part menu entry
5104 @group 4990 @group
5105 @@menu 4991 @@menu
5106 Larger Units of Text 4992 Larger Units of Text
5107 4993
5108 * Files:: All about handling files. 4994 * Files:: All about handling files.
5109 * Multiples: Buffers. Multiple buffers; editing 4995 * Multiples: Buffers. Multiple buffers; editing
5110 several files at once. 4996 several files at once.
5111 @@end menu 4997 @@end menu
5112 @end group 4998 @end group
5113 @end example 4999 @end example
5114 5000
5120 @group 5006 @group
5121 * menu: 5007 * menu:
5122 Larger Units of Text 5008 Larger Units of Text
5123 5009
5124 * Files:: All about handling files. 5010 * Files:: All about handling files.
5125 * Multiples: Buffers. Multiple buffers; editing 5011 * Multiples: Buffers. Multiple buffers; editing
5126 several files at once. 5012 several files at once.
5127 @end group 5013 @end group
5128 @end example 5014 @end example
5129 5015
5130 In this example, the menu has two entries. @samp{Files} is both a menu 5016 In this example, the menu has two entries. @samp{Files} is both a menu
5169 menu like this:@refill 5055 menu like this:@refill
5170 5056
5171 @example 5057 @example
5172 @group 5058 @group
5173 @@menu 5059 @@menu
5174 * Outlining: (emacs)Outline Mode. The major mode for 5060 * Outlining: (emacs)Outline Mode. The major mode for
5175 editing outlines. 5061 editing outlines.
5176 * Rebinding: (emacs)Rebinding. How to redefine the 5062 * Rebinding: (emacs)Rebinding. How to redefine the
5177 meaning of a key. 5063 meaning of a key.
5178 @@end menu 5064 @@end menu
5179 @end group 5065 @end group
5180 @end example 5066 @end example
5181 5067
5190 For example: 5076 For example:
5191 5077
5192 @example 5078 @example
5193 @group 5079 @group
5194 * Info: (info). Documentation browsing system. 5080 * Info: (info). Documentation browsing system.
5195 * Emacs: (emacs). The extensible, self-documenting 5081 * Emacs: (emacs). The extensible, self-documenting
5196 text editor. 5082 text editor.
5197 @end group 5083 @end group
5198 @end example 5084 @end example
5199 5085
5200 @noindent 5086 @noindent
5224 * xref:: Begin a reference with `See' @dots{} 5110 * xref:: Begin a reference with `See' @dots{}
5225 * Top Node Naming:: How to refer to the beginning of another file. 5111 * Top Node Naming:: How to refer to the beginning of another file.
5226 * ref:: A reference for the last part of a sentence. 5112 * ref:: A reference for the last part of a sentence.
5227 * pxref:: How to write a parenthetical cross reference. 5113 * pxref:: How to write a parenthetical cross reference.
5228 * inforef:: How to refer to an Info-only file. 5114 * inforef:: How to refer to an Info-only file.
5229 * uref:: How to refer to a uniform resource locator.
5230 @end menu 5115 @end menu
5231 5116
5232 @node References, Cross Reference Commands, Cross References, Cross References 5117 @node References, Cross Reference Commands, Cross References, Cross References
5233 @ifinfo 5118 @ifinfo
5234 @heading What References Are For 5119 @heading What References Are For
5258 5143
5259 The various cross reference commands use nodes to define cross 5144 The various cross reference commands use nodes to define cross
5260 reference locations. This is evident in Info, in which a cross 5145 reference locations. This is evident in Info, in which a cross
5261 reference takes you to the specified node. @TeX{} also uses nodes to 5146 reference takes you to the specified node. @TeX{} also uses nodes to
5262 define cross reference locations, but the action is less obvious. When 5147 define cross reference locations, but the action is less obvious. When
5263 @TeX{} generates a DVI file, it records nodes' page numbers and 5148 @TeX{} generates a @sc{dvi} file, it records nodes' page numbers and
5264 uses the page numbers in making references. Thus, if you are writing 5149 uses the page numbers in making references. Thus, if you are writing
5265 a manual that will only be printed, and will not be used on-line, you 5150 a manual that will only be printed, and will not be used on-line, you
5266 must nonetheless write @code{@@node} lines to name the places to which 5151 must nonetheless write @code{@@node} lines to name the places to which
5267 you make cross references.@refill 5152 you make cross references.@refill
5268 5153
5336 @need 700 5221 @need 700
5337 Here is an example of a full five-part cross reference:@refill 5222 Here is an example of a full five-part cross reference:@refill
5338 5223
5339 @example 5224 @example
5340 @group 5225 @group
5341 @@xref@{Node name, Cross Reference Name, Particular Topic, 5226 @@xref@{Node name, Cross Reference Name, Particular Topic,
5342 info-file-name, A Printed Manual@}, for details. 5227 info-file-name, A Printed Manual@}, for details.
5343 @end group 5228 @end group
5344 @end example 5229 @end example
5345 5230
5346 @noindent 5231 @noindent
5370 node provides the page reference only for references within the same 5255 node provides the page reference only for references within the same
5371 document.@refill 5256 document.@refill
5372 5257
5373 @item 5258 @item
5374 The cross reference name for the Info reference, if it is to be different 5259 The cross reference name for the Info reference, if it is to be different
5375 from the node name. If you include this argument, it becomes 5260 from the node name. If you include this argument, it argument becomes
5376 the first part of the cross reference. It is usually omitted.@refill 5261 the first part of the cross reference. It is usually omitted.@refill
5377 5262
5378 @item 5263 @item
5379 A topic description or section name. Often, this is the title of the 5264 A topic description or section name. Often, this is the title of the
5380 section. This is used as the name of the reference in the printed 5265 section. This is used as the name of the reference in the printed
5381 manual. If omitted, the node name is used.@refill 5266 manual. If omitted, the node name is used.@refill
5382 5267
5383 @item 5268 @item
5384 The name of the Info file in which the reference is located, if it is 5269 The name of the Info file in which the reference is located, if it is
5385 different from the current file. You need not include any @samp{.info} 5270 different from the current file.@refill
5386 suffix on the file name, since Info readers try appending it
5387 automatically.
5388 5271
5389 @item 5272 @item
5390 The name of a printed manual from a different Texinfo file.@refill 5273 The name of a printed manual from a different Texinfo file.@refill
5391 @end enumerate 5274 @end enumerate
5392 5275
5579 @example 5462 @example
5580 *Note Lightning: Electrical Effects. 5463 *Note Lightning: Electrical Effects.
5581 @end example 5464 @end example
5582 5465
5583 @noindent 5466 @noindent
5584 and 5467 and
5585 5468
5586 @quotation 5469 @quotation
5587 See Section 5.2 [Electrical Effects], page 57. 5470 See Section 5.2 [Electrical Effects], page 57.
5588 @end quotation 5471 @end quotation
5589 5472
5602 @example 5485 @example
5603 *Note Lightning: Electrical Effects, for more info. 5486 *Note Lightning: Electrical Effects, for more info.
5604 @end example 5487 @end example
5605 5488
5606 @noindent 5489 @noindent
5607 and 5490 and
5608 5491
5609 @quotation 5492 @quotation
5610 See Section 5.2 [Electrical Effects], page 57, for more info. 5493 See Section 5.2 [Electrical Effects], page 57, for more info.
5611 @end quotation 5494 @end quotation
5612 5495
5699 As a practical matter, it is often best to write cross references with 5582 As a practical matter, it is often best to write cross references with
5700 just the first argument if the node name and the section title are the 5583 just the first argument if the node name and the section title are the
5701 same, and with the first and third arguments if the node name and title 5584 same, and with the first and third arguments if the node name and title
5702 are different.@refill 5585 are different.@refill
5703 5586
5704 Here are several examples from @cite{The GNU Awk User's Guide}:@refill 5587 Here are several examples from @cite{The GAWK Manual}:@refill
5705 5588
5706 @smallexample 5589 @smallexample
5707 @@xref@{Sample Program@}. 5590 @@xref@{Sample Program@}.
5708 @@xref@{Glossary@}. 5591 @@xref@{Glossary@}.
5709 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}. 5592 @@xref@{Case-sensitivity, ,Case-sensitivity in Matching@}.
5710 @@xref@{Close Output, , Closing Output Files and Pipes@}, 5593 @@xref@{Close Output, , Closing Output Files and Pipes@},
5711 for more information. 5594 for more information.
5712 @@xref@{Regexp, , Regular Expressions as Patterns@}. 5595 @@xref@{Regexp, , Regular Expressions as Patterns@}.
5713 @end smallexample 5596 @end smallexample
5714 5597
5715 @node Four and Five Arguments, , Three Arguments, xref 5598 @node Four and Five Arguments, , Three Arguments, xref
5737 @need 700 5620 @need 700
5738 @noindent 5621 @noindent
5739 For example, 5622 For example,
5740 5623
5741 @example 5624 @example
5742 @@xref@{Electrical Effects, Lightning, Thunder and Lightning, 5625 @@xref@{Electrical Effects, Lightning, Thunder and Lightning,
5743 weather, An Introduction to Meteorology@}, for details. 5626 weather, An Introduction to Meteorology@}, for details.
5744 @end example 5627 @end example
5745 5628
5746 @noindent 5629 @noindent
5747 produces 5630 produces
5796 @need 700 5679 @need 700
5797 @noindent 5680 @noindent
5798 For example, 5681 For example,
5799 5682
5800 @example 5683 @example
5801 @@xref@{Electrical Effects, , Thunder and Lightning, 5684 @@xref@{Electrical Effects, , Thunder and Lightning,
5802 weather, An Introduction to Meteorology@}, for details. 5685 weather, An Introduction to Meteorology@}, for details.
5803 @end example 5686 @end example
5804 5687
5805 @noindent 5688 @noindent
5806 produces 5689 produces
6036 Also, parenthetical cross references look best at the ends of sentences. 5919 Also, parenthetical cross references look best at the ends of sentences.
6037 Although you may write them in the middle of a sentence, that location 5920 Although you may write them in the middle of a sentence, that location
6038 breaks up the flow of text.@refill 5921 breaks up the flow of text.@refill
6039 @end quotation 5922 @end quotation
6040 5923
6041 @node inforef, uref, pxref, Cross References 5924 @node inforef, , pxref, Cross References
5925 @comment node-name, next, previous, up
6042 @section @code{@@inforef} 5926 @section @code{@@inforef}
6043 @cindex Cross references using @code{@@inforef} 5927 @cindex Cross references using @code{@@inforef}
6044 @cindex References using @code{@@inforef} 5928 @cindex References using @code{@@inforef}
6045 @findex inforef 5929 @findex inforef
6046 5930
6132 @end quotation 6016 @end quotation
6133 6017
6134 The converse of @code{@@inforef} is @code{@@cite}, which is used to 6018 The converse of @code{@@inforef} is @code{@@cite}, which is used to
6135 refer to printed works for which no Info form exists. @xref{cite, , 6019 refer to printed works for which no Info form exists. @xref{cite, ,
6136 @code{@@cite}}.@refill 6020 @code{@@cite}}.@refill
6137
6138
6139 @node uref, , inforef, Cross References
6140 @section @code{@@uref@{@var{url}[, @var{displayed-text}]@}}
6141 @findex uref
6142 @cindex Uniform resource locator, referring to
6143 @cindex URL, referring to
6144
6145 @code{@@uref} produces a reference to a uniform resource locator (URL).
6146 It takes one mandatory argument, the URL, and one optional argument, the
6147 text to display (the default is the URL itself). In HTML output,
6148 @code{@@uref} produces a link you can follow. For example:
6149
6150 @example
6151 The official GNU ftp site is
6152 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu@}
6153 @end example
6154
6155 @noindent produces (in text):
6156 @display
6157 The official GNU ftp site is
6158 @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu}
6159 @end display
6160
6161 @noindent whereas
6162 @example
6163 The official
6164 @@uref@{ftp://ftp.gnu.ai.mit.edu/pub/gnu,
6165 GNU ftp site@} holds programs and texts.
6166 @end example
6167
6168 @noindent produces (in text):
6169 @display
6170 The official @uref{ftp://ftp.gnu.ai.mit.edu/pub/gnu, GNU ftp site} holds
6171 programs and texts.
6172 @end display
6173
6174 @noindent and (in HTML):
6175 @example
6176 The official <A HREF="ftp://ftp.gnu.ai.mit.edu/pub/gnu">GNU ftp
6177 site</A> holds programs and texts.
6178 @end example
6179
6180 To merely indicate a URL, use @code{@@url} (@pxref{url, @code{@@url}}).
6181
6182 6021
6183 @node Marking Text, Quotations and Examples, Cross References, Top 6022 @node Marking Text, Quotations and Examples, Cross References, Top
6184 @comment node-name, next, previous, up 6023 @comment node-name, next, previous, up
6185 @chapter Marking Words and Phrases 6024 @chapter Marking Words and Phrases
6186 @cindex Paragraph, marking text within 6025 @cindex Paragraph, marking text within
6212 labelled by commands that tell what kind of object they are, it is easy 6051 labelled by commands that tell what kind of object they are, it is easy
6213 to change the way the Texinfo formatters prepare such text. (Texinfo is 6052 to change the way the Texinfo formatters prepare such text. (Texinfo is
6214 an @emph{intentional} formatting language rather than a @emph{typesetting} 6053 an @emph{intentional} formatting language rather than a @emph{typesetting}
6215 formatting language.)@refill 6054 formatting language.)@refill
6216 6055
6217 For example, in a printed manual, 6056 For example, in a printed manual,
6218 code is usually illustrated in a typewriter font; 6057 code is usually illustrated in a typewriter font;
6219 @code{@@code} tells @TeX{} to typeset this text in this font. But it 6058 @code{@@code} tells @TeX{} to typeset this text in this font. But it
6220 would be easy to change the way @TeX{} highlights code to use another 6059 would be easy to change the way @TeX{} highlights code to use another
6221 font, and this change would not effect how keystroke examples are 6060 font, and this change would not effect how keystroke examples are
6222 highlighted. If straight typesetting commands were used in the body 6061 highlighted. If straight typesetting commands were used in the body
6232 * samp:: How to show a literal sequence of characters. 6071 * samp:: How to show a literal sequence of characters.
6233 * var:: How to indicate a metasyntactic variable. 6072 * var:: How to indicate a metasyntactic variable.
6234 * file:: How to indicate the name of a file. 6073 * file:: How to indicate the name of a file.
6235 * dfn:: How to specify a definition. 6074 * dfn:: How to specify a definition.
6236 * cite:: How to refer to a book that is not in Info. 6075 * cite:: How to refer to a book that is not in Info.
6237 * url:: How to indicate a world wide web reference.
6238 * email:: How to indicate an electronic mail address.
6239 @end menu 6076 @end menu
6240 6077
6241 @node Useful Highlighting, code, Indicating, Indicating 6078 @node Useful Highlighting, code, Indicating, Indicating
6242 @ifinfo 6079 @ifinfo
6243 @subheading Highlighting Commands are Useful 6080 @subheading Highlighting Commands are Useful
6267 Indicate text that is a literal example of a sequence of characters.@refill 6104 Indicate text that is a literal example of a sequence of characters.@refill
6268 6105
6269 @item @@var@{@var{metasyntactic-variable}@} 6106 @item @@var@{@var{metasyntactic-variable}@}
6270 Indicate a metasyntactic variable.@refill 6107 Indicate a metasyntactic variable.@refill
6271 6108
6272 @item @@url@{@var{uniform-resource-locator}@}
6273 Indicate a uniform resource locator for the World Wide Web.
6274
6275 @item @@file@{@var{file-name}@} 6109 @item @@file@{@var{file-name}@}
6276 Indicate the name of a file.@refill 6110 Indicate the name of a file.@refill
6277
6278 @item @@email@{@var{email-address}[, @var{displayed-text}]@}
6279 Indicate an electronic mail address.
6280 6111
6281 @item @@dfn@{@var{term}@} 6112 @item @@dfn@{@var{term}@}
6282 Indicate the introductory or defining use of a term.@refill 6113 Indicate the introductory or defining use of a term.@refill
6283 6114
6284 @item @@cite@{@var{reference}@} 6115 @item @@cite@{@var{reference}@}
6308 6139
6309 Use @code{@@code} for environment variables such as @code{TEXINPUTS}, 6140 Use @code{@@code} for environment variables such as @code{TEXINPUTS},
6310 and other variables.@refill 6141 and other variables.@refill
6311 6142
6312 Use @code{@@code} for command names in command languages that 6143 Use @code{@@code} for command names in command languages that
6313 resemble programming languages, such as Texinfo or the shell. 6144 resemble programming languages, such as Texinfo or the shell.
6314 For example, @code{@@code} and @code{@@samp} are produced by writing 6145 For example, @code{@@code} and @code{@@samp} are produced by writing
6315 @samp{@@code@{@@@@code@}} and @samp{@@code@{@@@@samp@}} in the Texinfo 6146 @samp{@@code@{@@@@code@}} and @samp{@@code@{@@@@samp@}} in the Texinfo
6316 source, respectively.@refill 6147 source, respectively.@refill
6317 6148
6318 Note, however, that you should not use @code{@@code} for shell options 6149 Note, however, that you should not use @code{@@code} for shell options
6372 @example 6203 @example
6373 Use `diff' to compare two files. 6204 Use `diff' to compare two files.
6374 @end example 6205 @end example
6375 @end iftex 6206 @end iftex
6376 6207
6377
6378 @node kbd, key, code, Indicating 6208 @node kbd, key, code, Indicating
6209 @comment node-name, next, previous, up
6379 @subsection @code{@@kbd}@{@var{keyboard-characters}@} 6210 @subsection @code{@@kbd}@{@var{keyboard-characters}@}
6380 @findex kbd 6211 @findex kbd
6381 @cindex keyboard input
6382 6212
6383 Use the @code{@@kbd} command for characters of input to be typed by 6213 Use the @code{@@kbd} command for characters of input to be typed by
6384 users. For example, to refer to the characters @kbd{M-a}, 6214 users. For example, to refer to the characters @kbd{M-a},
6385 write@refill 6215 write@refill
6386 6216
6393 6223
6394 @example 6224 @example
6395 @@kbd@{M-x shell@} 6225 @@kbd@{M-x shell@}
6396 @end example 6226 @end example
6397 6227
6398 @cindex user input
6399 @cindex slanted typewriter font, for @code{@@kbd}
6400 The @code{@@kbd} command has the same effect as @code{@@code} in Info, 6228 The @code{@@kbd} command has the same effect as @code{@@code} in Info,
6401 but by default produces a different font (slanted typewriter instead of 6229 but may produce a different font in a printed manual.@refill
6402 normal typewriter) in the printed manual, so users can distinguish the
6403 characters they are supposed to type from those the computer outputs.
6404
6405 @findex kbdinputstyle
6406 Since the usage of @code{@@kbd} varies from manual to manual, you can
6407 control the font switching with the @code{@@kbdinputstyle} command.
6408 This command has no effect on Info output. Write this command at the
6409 beginning of a line with a single word as an argument, one of the
6410 following:
6411 @vindex distinct@r{, arg to @@kbdinputstyle}
6412 @vindex example@r{, arg to @@kbdinputstyle}
6413 @vindex code@r{, arg to @@kbdinputstyle}
6414 @table @samp
6415 @item code
6416 Always use the same font for @code{@@kbd} as @code{@@code}.
6417 @item example
6418 Use the distinguishing font for @code{@@kbd} only in @code{@@example}
6419 and similar environments.
6420 @item example
6421 (the default) Always use the distinguishing font for @code{@@kbd}.
6422 @end table
6423 6230
6424 You can embed another @@-command inside the braces of an @code{@@kbd} 6231 You can embed another @@-command inside the braces of an @code{@@kbd}
6425 command. Here, for example, is the way to describe a command that 6232 command. Here, for example, is the way to describe a command that
6426 would be described more verbosely as ``press an @samp{r} and then 6233 would be described more verbosely as ``press an @samp{r} and then
6427 press the @key{RET} key'':@refill 6234 press the @key{RET} key'':@refill
6428 6235
6429 @example 6236 @example
6430 @@kbd@{r @@key@{RET@}@} 6237 @@kbd@{r @@key@{RET@}@}
6431 @end example 6238 @end example
6432 6239
6433 @noindent 6240 @noindent
6434 This produces: @kbd{r @key{RET}} 6241 This produces: @kbd{r @key{RET}}
6435 6242
6436 You also use the @code{@@kbd} command if you are spelling out the letters 6243 You also use the @code{@@kbd} command if you are spelling out the letters
6437 you type; for example:@refill 6244 you type; for example:@refill
6438 6245
6439 @example 6246 @example
6440 To give the @@code@{logout@} command, 6247 To give the @@code@{logout@} command,
6441 type the characters @@kbd@{l o g o u t @@key@{RET@}@}. 6248 type the characters @@kbd@{l o g o u t @@key@{RET@}@}.
6442 @end example 6249 @end example
6443 6250
6444 @noindent 6251 @noindent
6445 This produces: 6252 This produces:
6446 6253
6447 @quotation 6254 @quotation
6448 To give the @code{logout} command, 6255 To give the @code{logout} command,
6449 type the characters @kbd{l o g o u t @key{RET}}. 6256 type the characters @kbd{l o g o u t @key{RET}}.
6450 @end quotation 6257 @end quotation
6451 6258
6452 (Also, this example shows that you can add spaces for clarity. If you 6259 (Also, this example shows that you can add spaces for clarity. If you
6453 really want to mention a space character as one of the characters of 6260 really want to mention a space character as one of the characters of
6454 input, write @kbd{@@key@{SPC@}} for it.)@refill 6261 input, write @kbd{@@key@{SPC@}} for it.)@refill
6455 6262
6456
6457 @node key, samp, kbd, Indicating 6263 @node key, samp, kbd, Indicating
6458 @comment node-name, next, previous, up 6264 @comment node-name, next, previous, up
6459 @subsection @code{@@key}@{@var{key-name}@} 6265 @subsection @code{@@key}@{@var{key-name}@}
6460 @findex key 6266 @findex key
6461 6267
6475 6281
6476 @example 6282 @example
6477 @@kbd@{C-x @@key@{ESC@}@} 6283 @@kbd@{C-x @@key@{ESC@}@}
6478 @end example 6284 @end example
6479 6285
6480 Here is a list of the recommended names for keys: 6286 @c bob: this next sentence looks weird, having a semi-colon followed by
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
6481 @cindex Recommended names for keys 6290 @cindex Recommended names for keys
6482 @cindex Keys, recommended names 6291 @cindex Keys, recommended names
6483 @cindex Names recommended for keys 6292 @cindex Names recommended for keys
6484 @cindex Abbreviations for keys 6293 @cindex Abbreviations for keys
6485 6294
6488 @item SPC 6297 @item SPC
6489 Space 6298 Space
6490 @item RET 6299 @item RET
6491 Return 6300 Return
6492 @item LFD 6301 @item LFD
6493 Linefeed (however, since most keyboards nowadays do not have a Linefeed key, 6302 Linefeed
6494 it might be better to call this character @kbd{C-j}.
6495 @item TAB 6303 @item TAB
6496 Tab 6304 Tab
6497 @item BS 6305 @item BS
6498 Backspace 6306 Backspace
6499 @item ESC 6307 @item ESC
6500 Escape 6308 Escape
6501 @item DEL 6309 @item DEL
6502 Delete 6310 Delete
6503 @item SHIFT 6311 @item SFT
6504 Shift 6312 Shift
6505 @item CTRL 6313 @item CTL
6506 Control 6314 Control
6507 @item META 6315 @item META
6508 Meta 6316 Meta
6509 @end table 6317 @end table
6510 @end quotation 6318 @end quotation
6511 6319
6320 There are subtleties to handling words like `meta' or `ctl' that are
6321 names of shift keys. When mentioning a character in which the shift
6322 key is used, such as @kbd{Meta-a}, use the @code{@@kbd} command alone;
6323 do 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,
6325 write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and
6326 @samp{@@key@{META@}} to produce @key{META}. This is because
6327 @kbd{Meta-a} refers to keys that you press on a keyboard, but
6328 @key{META} refers to a key without implying that you press it. In
6329 short, use @code{@@kbd} for what you do, and use @code{@@key} for what
6330 you talk about: ``Press @code{@@kbd@{M-a@}} to move point to the
6331 beginning of the sentence. The @code{@@key@{META@}} key is often in the
6332 lower left of the keyboard.''@refill
6512 @cindex META key 6333 @cindex META key
6513 There are subtleties to handling words like `meta' or `ctrl' that are
6514 names of modifier keys. When mentioning a character in which the
6515 modifier key is used, such as @kbd{Meta-a}, use the @code{@@kbd} command
6516 alone; do not use the @code{@@key} command; but when you are referring
6517 to the modifier key in isolation, use the @code{@@key} command. For
6518 example, write @samp{@@kbd@{Meta-a@}} to produce @kbd{Meta-a} and
6519 @samp{@@key@{META@}} to produce @key{META}.
6520
6521 @c I don't think this is a good explanation.
6522 @c I think it will puzzle readers more than it clarifies matters. -- rms.
6523 @c In other words, use @code{@@kbd} for what you do, and use @code{@@key}
6524 @c for what you talk about: ``Press @code{@@kbd@{M-a@}} to move point to
6525 @c the beginning of the sentence. The @code{@@key@{META@}} key is often in
6526 @c the lower left of the keyboard.''@refill
6527 6334
6528 @node samp, var, key, Indicating 6335 @node samp, var, key, Indicating
6529 @comment node-name, next, previous, up 6336 @comment node-name, next, previous, up
6530 @subsection @code{@@samp}@{@var{text}@} 6337 @subsection @code{@@samp}@{@var{text}@}
6531 @findex samp 6338 @findex samp
6535 Enclose the text in braces. The argument appears within single 6342 Enclose the text in braces. The argument appears within single
6536 quotation marks in both the Info file and the printed manual; in 6343 quotation marks in both the Info file and the printed manual; in
6537 addition, it is printed in a fixed-width font.@refill 6344 addition, it is printed in a fixed-width font.@refill
6538 6345
6539 @example 6346 @example
6540 To match @@samp@{foo@} at the end of the line, 6347 To match @@samp@{foo@} at the end of the line,
6541 use the regexp @@samp@{foo$@}. 6348 use the regexp @@samp@{foo$@}.
6542 @end example 6349 @end example
6543 6350
6544 @noindent 6351 @noindent
6545 produces 6352 produces
6548 To match @samp{foo} at the end of the line, use the regexp 6355 To match @samp{foo} at the end of the line, use the regexp
6549 @samp{foo$}.@refill 6356 @samp{foo$}.@refill
6550 @end quotation 6357 @end quotation
6551 6358
6552 Any time you are referring to single characters, you should use 6359 Any time you are referring to single characters, you should use
6553 @code{@@samp} unless @code{@@kbd} or @code{@@key} is more appropriate. 6360 @code{@@samp} unless @code{@@kbd} is more appropriate. Use
6554 Use @code{@@samp} for the names of command-line options (except in an 6361 @code{@@samp} for the names of command-line options. Also, you may use
6555 @code{@@table}, where @code{@@code} seems to read more easily). Also, 6362 @code{@@samp} for entire statements in C and for entire shell
6556 you may use @code{@@samp} for entire statements in C and for entire 6363 commands---in this case, @code{@@samp} often looks better than
6557 shell commands---in this case, @code{@@samp} often looks better than
6558 @code{@@code}. Basically, @code{@@samp} is a catchall for whatever is 6364 @code{@@code}. Basically, @code{@@samp} is a catchall for whatever is
6559 not covered by @code{@@code}, @code{@@kbd}, or @code{@@key}.@refill 6365 not covered by @code{@@code}, @code{@@kbd}, or @code{@@key}.@refill
6560 6366
6561 Only include punctuation marks within braces if they are part of the 6367 Only include punctuation marks within braces if they are part of the
6562 string you are specifying. Write punctuation marks outside the braces 6368 string you are specifying. Write punctuation marks outside the braces
6564 the string. In the following sentence, for example, the commas and 6370 the string. In the following sentence, for example, the commas and
6565 period are outside of the braces:@refill 6371 period are outside of the braces:@refill
6566 6372
6567 @example 6373 @example
6568 @group 6374 @group
6569 In English, the vowels are @@samp@{a@}, @@samp@{e@}, 6375 In English, the vowels are @@samp@{a@}, @@samp@{e@},
6570 @@samp@{i@}, @@samp@{o@}, @@samp@{u@}, and sometimes 6376 @@samp@{i@}, @@samp@{o@}, @@samp@{u@}, and sometimes
6571 @@samp@{y@}. 6377 @@samp@{y@}.
6572 @end group 6378 @end group
6573 @end example 6379 @end example
6574 6380
6575 @noindent 6381 @noindent
6576 This produces: 6382 This produces:
6577 6383
6578 @quotation 6384 @quotation
6579 In English, the vowels are @samp{a}, @samp{e}, 6385 In English, the vowels are @samp{a}, @samp{e},
6580 @samp{i}, @samp{o}, @samp{u}, and sometimes 6386 @samp{i}, @samp{o}, @samp{u}, and sometimes
6581 @samp{y}. 6387 @samp{y}.
6582 @end quotation 6388 @end quotation
6583 6389
6584 @node var, file, samp, Indicating 6390 @node var, file, samp, Indicating
6585 @comment node-name, next, previous, up 6391 @comment node-name, next, previous, up
6592 documentation of a function to describe the arguments that are passed 6398 documentation of a function to describe the arguments that are passed
6593 to that function.@refill 6399 to that function.@refill
6594 6400
6595 Do not use @code{@@var} for the names of particular variables in 6401 Do not use @code{@@var} for the names of particular variables in
6596 programming languages. These are specific names from a program, so 6402 programming languages. These are specific names from a program, so
6597 @code{@@code} is correct for them. For example, the Emacs Lisp variable 6403 @code{@@code} is correct for them. For example, the Lisp variable
6598 @code{texinfo-tex-command} is not a metasyntactic variable; it is 6404 @code{texinfo-tex-command} is not a metasyntactic variable; it is
6599 properly formatted using @code{@@code}.@refill 6405 properly formatted using @code{@@code}.@refill
6600 6406
6601 The effect of @code{@@var} in the Info file is to change the case of 6407 The effect of @code{@@var} in the Info file is to change the case of
6602 the argument to all upper case; in the printed manual, to italicize it. 6408 the argument to all upper case; in the printed manual, to italicize it.
6603 6409
6604 @need 700 6410 @need 700
6605 For example, 6411 For example,
6606 6412
6607 @example 6413 @example
6608 To delete file @@var@{filename@}, 6414 To delete file @@var@{filename@},
6609 type @@code@{rm @@var@{filename@}@}. 6415 type @@code@{rm @@var@{filename@}@}.
6610 @end example 6416 @end example
6611 6417
6612 @noindent 6418 @noindent
6613 produces 6419 produces
6668 6474
6669 Currently, @code{@@file} is equivalent to @code{@@samp} in its effects. 6475 Currently, @code{@@file} is equivalent to @code{@@samp} in its effects.
6670 For example,@refill 6476 For example,@refill
6671 6477
6672 @example 6478 @example
6673 The @@file@{.el@} files are in 6479 The @@file@{.el@} files are in
6674 the @@file@{/usr/local/emacs/lisp@} directory. 6480 the @@file@{/usr/local/emacs/lisp@} directory.
6675 @end example 6481 @end example
6676 6482
6677 @noindent 6483 @noindent
6678 produces 6484 produces
6679 6485
6680 @quotation 6486 @quotation
6681 The @file{.el} files are in 6487 The @file{.el} files are in
6682 the @file{/usr/local/emacs/lisp} directory. 6488 the @file{/usr/local/emacs/lisp} directory.
6683 @end quotation 6489 @end quotation
6684 6490
6685 @node dfn, cite, file, Indicating 6491 @node dfn, cite, file, Indicating
6686 @comment node-name, next, previous, up 6492 @comment node-name, next, previous, up
6709 As a general rule, a sentence containing the defining occurrence of a 6515 As a general rule, a sentence containing the defining occurrence of a
6710 term should be a definition of the term. The sentence does not need 6516 term should be a definition of the term. The sentence does not need
6711 to say explicitly that it is a definition, but it should contain the 6517 to say explicitly that it is a definition, but it should contain the
6712 information of a definition---it should make the meaning clear. 6518 information of a definition---it should make the meaning clear.
6713 6519
6714 @node cite, url, dfn, Indicating 6520 @node cite, , dfn, Indicating
6715 @comment node-name, next, previous, up 6521 @comment node-name, next, previous, up
6716 @subsection @code{@@cite}@{@var{reference}@} 6522 @subsection @code{@@cite}@{@var{reference}@}
6717 @findex cite 6523 @findex cite
6718 6524
6719 Use the @code{@@cite} command for the name of a book that lacks a 6525 Use the @code{@@cite} command for the name of a book that lacks a
6721 manual, and quotation marks in the Info file.@refill 6527 manual, and quotation marks in the Info file.@refill
6722 6528
6723 (If a book is written in Texinfo, it is better to use a cross reference 6529 (If a book is written in Texinfo, it is better to use a cross reference
6724 command since a reader can easily follow such a reference in Info. 6530 command since a reader can easily follow such a reference in Info.
6725 @xref{xref, , @code{@@xref}}.)@refill 6531 @xref{xref, , @code{@@xref}}.)@refill
6726
6727 @ignore 6532 @ignore
6728 @c node ctrl, , cite, Indicating 6533
6534 @c node ctrl, , cite, Indicating
6729 @comment node-name, next, previous, up 6535 @comment node-name, next, previous, up
6730 @c subsection @code{@@ctrl}@{@var{ctrl-char}@} 6536 @c subsection @code{@@ctrl}@{@var{ctrl-char}@}
6731 @findex ctrl 6537 @findex ctrl
6732 6538
6733 The @code{@@ctrl} command is seldom used. It describes an @sc{ascii} 6539 The @code{@@ctrl} command is seldom used. It describes an @sc{ascii}
6734 control character by inserting the actual character into the Info 6540 control character by inserting the actual character into the Info
6735 file. 6541 file.
6736 6542
6737 Usually, in Texinfo, you talk what you type as keyboard entry by 6543 Usually, in Texinfo, you talk what you type as keyboard entry by
6738 describing it with @code{@@kbd}: thus, @samp{@@kbd@{C-a@}} for 6544 describing it with @code{@@kbd}: thus, @samp{@@kbd@{C-a@}} for
6739 @kbd{C-a}. Use @code{@@kbd} in this way when talking about a control 6545 @kbd{C-a}. Use @code{@@kbd} in this way when talking about a control
6740 character that is typed on the keyboard by the user. When talking 6546 character that is typed on the keyboard by the user. When talking
6771 In a printed manual, @code{@@ctrl} generates text to describe or 6577 In a printed manual, @code{@@ctrl} generates text to describe or
6772 identify that control character: an uparrow followed by the character 6578 identify that control character: an uparrow followed by the character
6773 @var{ch}.@refill 6579 @var{ch}.@refill
6774 @end ignore 6580 @end ignore
6775 6581
6776
6777 @node url, email, cite, Indicating
6778 @subsection @code{@@url}@{@var{uniform-resource-locator}@}
6779 @findex url
6780 @cindex Uniform resource locator, indicating
6781 @cindex URL, indicating
6782
6783 Use the @code{@@url} to indicate a uniform resource locator on the World
6784 Wide Web. This is analogous to @code{@@file}, @code{@@var}, etc., and
6785 is purely for markup purposes. It does not produce a link you can
6786 follow in HTML output (the @code{@@uref} command does, @pxref{uref,,
6787 @code{@@uref}}). It is useful for example URL's which do not actually
6788 exist. For example:
6789
6790 @c Two lines because one is too long for smallbook format.
6791 @example
6792 For example, the url might be
6793 @@url@{http://host.domain.org/path@}.
6794 @end example
6795
6796
6797 @node email, , url, Indicating
6798 @subsection @code{@@email}@{@var{email-address}[, @var{displayed-text}]@}
6799 @findex email
6800
6801 Use the @code{@@email} command to indicate an electronic mail address.
6802 It takes one mandatory argument, the address, and one optional argument, the
6803 text to display (the default is the address itself).
6804
6805 @cindex mailto link
6806 In Info and @TeX{}, the address is shown in angle brackets, preceded by
6807 the text to display if any. In HTML output, @code{@@email} produces a
6808 @samp{mailto} link that usually brings up a mail composition window.
6809 For example:
6810
6811 @example
6812 Send bug reports to @@email@{bug-texinfo@@@@prep.ai.mit.edu@}.
6813 Send suggestions to the @@email@{bug-texinfo@@@@prep.ai.mit.edu, same place@}.
6814 @end example
6815 @noindent produces
6816 @example
6817 Send bug reports to @email{bug-texinfo@@prep.ai.mit.edu}.
6818 Send suggestions to the @email{bug-texinfo@@prep.ai.mit.edu, same place}.
6819 @end example
6820
6821
6822 @node Emphasis, , Indicating, Marking Text 6582 @node Emphasis, , Indicating, Marking Text
6823 @comment node-name, next, previous, up 6583 @comment node-name, next, previous, up
6824 @section Emphasizing Text 6584 @section Emphasizing Text
6825 @cindex Emphasizing text 6585 @cindex Emphasizing text
6826 6586
6856 For example, 6616 For example,
6857 6617
6858 @example 6618 @example
6859 @group 6619 @group
6860 @@quotation 6620 @@quotation
6861 @@strong@{Caution:@} @@samp@{rm * .[^.]*@} removes @@emph@{all@} 6621 @@strong@{Caution:@} @@code@{rm * .[^.]*@} removes @@emph@{all@}
6862 files in the directory. 6622 files in the directory.
6863 @@end quotation 6623 @@end quotation
6864 @end group 6624 @end group
6865 @end example 6625 @end example
6866 6626
6867 @iftex 6627 @iftex
6868 @noindent 6628 @noindent
6869 produces the following in printed output: 6629 produces the following in printed output:
6870 6630
6871 @quotation 6631 @quotation
6872 @strong{Caution}: @code{rm * .[^.]*} removes @emph{all} 6632 @strong{Caution}: @code{rm * .[^.]*} removes @emph{all}
6873 files in the directory. 6633 files in the directory.
6874 @end quotation 6634 @end quotation
6875 6635
6876 @noindent 6636 @noindent
6877 and the following in Info: 6637 and the following in Info:
6880 @noindent 6640 @noindent
6881 produces: 6641 produces:
6882 @end ifinfo 6642 @end ifinfo
6883 6643
6884 @example 6644 @example
6885 *Caution*: `rm * .[^.]*' removes *all* 6645 *Caution*: `rm * .[^.]*' removes *all*
6886 files in the directory. 6646 files in the directory.
6887 @end example 6647 @end example
6888 6648
6889 The @code{@@strong} command is seldom used except to mark what is, in 6649 The @code{@@strong} command is seldom used except to mark what is, in
6890 effect, a typographical element, such as the word `Caution' in the 6650 effect, a typographical element, such as the word `Caution' in the
6999 language.@refill 6759 language.@refill
7000 6760
7001 @node Customized Highlighting, , Fonts, Emphasis 6761 @node Customized Highlighting, , Fonts, Emphasis
7002 @comment node-name, next, previous, up 6762 @comment node-name, next, previous, up
7003 @subsection Customized Highlighting 6763 @subsection Customized Highlighting
6764 @findex @@definfoenclose
6765 @cindex `Enclosure' command for Info
7004 @cindex Highlighting, customized 6766 @cindex Highlighting, customized
7005 @cindex Customized highlighting 6767 @cindex Customized highlighting
7006 6768
7007 @c I think this whole section is obsolete with the advent of macros
7008 @c --karl, 15sep96.
7009 You can use regular @TeX{} commands inside of @code{@@iftex} @dots{} 6769 You can use regular @TeX{} commands inside of @code{@@iftex} @dots{}
7010 @code{@@end iftex} to create your own customized highlighting commands 6770 @code{@@end iftex} to create your own customized highlighting commands
7011 for Texinfo. The easiest way to do this is to equate your customized 6771 for Texinfo. The easiest way to do this is to equate your customized
7012 commands with pre-existing commands, such as those for italics. Such 6772 commands with pre-existing commands, such as those for italics. Such
7013 new commands work only with @TeX{}.@refill 6773 new commands work only with @TeX{}.@refill
7014 6774
7015 @findex definfoenclose
7016 @cindex Enclosure command for Info
7017 You can use the @code{@@definfoenclose} command inside of 6775 You can use the @code{@@definfoenclose} command inside of
7018 @code{@@ifinfo} @dots{} @code{@@end ifinfo} to define commands for Info 6776 @code{@@ifinfo} @dots{} @code{@@end ifinfo} to define commands for Info
7019 with the same names as new commands for @TeX{}. 6777 with the same names as new commands for @TeX{}.
7020 @code{@@definfoenclose} creates new commands for Info that mark text by 6778 @code{@@definfoenclose} creates new commands for Info that mark text by
7021 enclosing it in strings that precede and follow the text. 6779 enclosing it in strings that precede and follow the text.
7041 6799
7042 @noindent 6800 @noindent
7043 This defines @code{@@phoo} as a command that causes @TeX{} to typeset 6801 This defines @code{@@phoo} as a command that causes @TeX{} to typeset
7044 the argument to @code{@@phoo} in italics. @code{@@global@@let} tells 6802 the argument to @code{@@phoo} in italics. @code{@@global@@let} tells
7045 @TeX{} to equate the next argument with the argument that follows the 6803 @TeX{} to equate the next argument with the argument that follows the
7046 equals sign. 6804 equals sign.
7047 6805
7048 @need 1300 6806 @need 1300
7049 For Info, write the following to tell the Info formatters to enclose the 6807 For Info, write the following to tell the Info formatters to enclose the
7050 argument between @samp{//} and @samp{\\}: 6808 argument between @samp{//} and @samp{\\}:
7051 6809
7058 @end example 6816 @end example
7059 6817
7060 @noindent 6818 @noindent
7061 Write the @code{@@definfoenclose} command on a line and follow it with 6819 Write the @code{@@definfoenclose} command on a line and follow it with
7062 three arguments separated by commas (commas are used as separators in an 6820 three arguments separated by commas (commas are used as separators in an
7063 @code{@@node} line in the same way).@refill 6821 @code{@@node} line in the same way).@refill
7064 6822
7065 @itemize @bullet 6823 @itemize @bullet
7066 @item 6824 @item
7067 The first argument to @code{@@definfoenclose} is the @@-command name 6825 The first argument to @code{@@definfoenclose} is the @@-command name
7068 @strong{without} the @samp{@@}; 6826 @strong{without} the @samp{@@};
7069 6827
7070 @item 6828 @item
7071 the second argument is the Info start delimiter string; and, 6829 the second argument is the Info start delimiter string; and,
7072 6830
7073 @item 6831 @item
7074 the third argument is the Info end delimiter string. 6832 the third argument is the Info end delimiter string.
7075 @end itemize 6833 @end itemize
7076 6834
7077 @noindent 6835 @noindent
7078 The latter two arguments enclose the highlighted text in the Info file. 6836 The latter two arguments enclose the highlighted text in the Info file.
7079 A delimiter string may contain spaces. Neither the start nor end 6837 A delimiter string may contain spaces. Neither the start nor end
7094 6852
7095 Note that each definition applies to its own formatter: one for @TeX{}, 6853 Note that each definition applies to its own formatter: one for @TeX{},
7096 the other for Info. 6854 the other for Info.
7097 6855
7098 @need 1200 6856 @need 1200
7099 Here is another example: 6857 Here is another example:
7100 6858
7101 @example 6859 @example
7102 @group 6860 @group
7103 @@ifinfo 6861 @@ifinfo
7104 @@definfoenclose headword, , : 6862 @@definfoenclose headword, , :
7130 @code{@@end example} on a line by itself, at the beginning of that 6888 @code{@@end example} on a line by itself, at the beginning of that
7131 line.@refill 6889 line.@refill
7132 @findex end 6890 @findex end
7133 6891
7134 @menu 6892 @menu
7135 * Block Enclosing Commands:: Use different constructs for 6893 * Block Enclosing Commands:: Use different constructs for
7136 different purposes. 6894 different purposes.
7137 * quotation:: How to write a quotation. 6895 * quotation:: How to write a quotation.
7138 * example:: How to write an example in a fixed-width font. 6896 * example:: How to write an example in a fixed-width font.
7139 * noindent:: How to prevent paragraph indentation. 6897 * noindent:: How to prevent paragraph indentation.
7140 * Lisp Example:: How to illustrate Lisp code. 6898 * Lisp Example:: How to illustrate Lisp code.
7160 @item @@example 6918 @item @@example
7161 Illustrate code, commands, and the like. The text is printed 6919 Illustrate code, commands, and the like. The text is printed
7162 in a fixed-width font, and indented but not filled.@refill 6920 in a fixed-width font, and indented but not filled.@refill
7163 6921
7164 @item @@lisp 6922 @item @@lisp
7165 Illustrate Lisp code. The text is printed in a fixed-width font, 6923 Illustrate Lisp code. The text is printed in a fixed-width font,
7166 and indented but not filled.@refill 6924 and indented but not filled.@refill
7167 6925
7168 @item @@smallexample 6926 @item @@smallexample
7169 Illustrate code, commands, and the like. Similar to 6927 Illustrate code, commands, and the like. Similar to
7170 @code{@@example}, except that in @TeX{} this command typesets text in 6928 @code{@@example}, except that in @TeX{} this command typesets text in
7184 Print illustrative text. The text is not indented and not filled 6942 Print illustrative text. The text is not indented and not filled
7185 and no font is specified (so, by default, the font is roman).@refill 6943 and no font is specified (so, by default, the font is roman).@refill
7186 @end table 6944 @end table
7187 6945
7188 The @code{@@exdent} command is used within the above constructs to 6946 The @code{@@exdent} command is used within the above constructs to
7189 undo the indentation of a line. 6947 undo the indentation of a line.
7190 6948
7191 The @code{@@flushleft} and @code{@@flushright} commands are used to line 6949 The @code{@@flushleft} and @code{@@flushright} commands are used to line
7192 up the left or right margins of unfilled text.@refill 6950 up the left or right margins of unfilled text.@refill
7193 6951
7194 The @code{@@noindent} command may be used after one of the above 6952 The @code{@@noindent} command may be used after one of the above
7261 not part of the running text, such as computer input or output.@refill 7019 not part of the running text, such as computer input or output.@refill
7262 7020
7263 @example 7021 @example
7264 @group 7022 @group
7265 This is an example of text written between an 7023 This is an example of text written between an
7266 @code{@@example} command 7024 @code{@@example} command
7267 and an @code{@@end example} command. 7025 and an @code{@@end example} command.
7268 The text is indented but not filled. 7026 The text is indented but not filled.
7269 @end group 7027 @end group
7270 7028
7271 @group 7029 @group
7343 @group 7101 @group
7344 @@example 7102 @@example
7345 This is an example 7103 This is an example
7346 @@end example 7104 @@end example
7347 7105
7348 @@noindent 7106 @@noindent
7349 This line is not indented. As you can see, the 7107 This line is not indented. As you can see, the
7350 beginning of the line is fully flush left with the line 7108 beginning of the line is fully flush left with the line
7351 that follows after it. (This whole example is between 7109 that follows after it. (This whole example is between
7352 @@code@{@@@@display@} and @@code@{@@@@end display@}.) 7110 @@code@{@@@@display@} and @@code@{@@@@end display@}.)
7353 @end group 7111 @end group
7395 @lisp 7153 @lisp
7396 This is an example of text written between an 7154 This is an example of text written between an
7397 @code{@@lisp} command and an @code{@@end lisp} command. 7155 @code{@@lisp} command and an @code{@@end lisp} command.
7398 @end lisp 7156 @end lisp
7399 7157
7400 Use @code{@@lisp} instead of @code{@@example} to preserve information 7158 Use @code{@@lisp} instead of @code{@@example} so as to preserve
7401 regarding the nature of the example. This is useful, for example, if 7159 information regarding the nature of the example. This is useful, for
7402 you write a function that evaluates only and all the Lisp code in a 7160 example, if you write a function that evaluates only and all the Lisp
7403 Texinfo file. Then you can use the Texinfo file as a Lisp 7161 code in a Texinfo file. Then you can use the Texinfo file as a Lisp
7404 library.@footnote{It would be straightforward to extend Texinfo to work 7162 library.@footnote{It would be straightforward to extend Texinfo to
7405 in a similar fashion for C, Fortran, or other languages.}@refill 7163 work in a similar fashion for C, @sc{fortran}, or other languages.}@refill
7406 7164
7407 Mark the end of @code{@@lisp} with @code{@@end lisp} on a line by 7165 Mark the end of @code{@@lisp} with @code{@@end lisp} on a line by
7408 itself.@refill 7166 itself.@refill
7409 7167
7410 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples 7168 @node smallexample & smalllisp, display, Lisp Example, Quotations and Examples
7411 @comment node-name, next, previous, up 7169 @comment node-name, next, previous, up
7412 @section @code{@@smallexample} and @code{@@smalllisp} 7170 @section @code{@@smallexample} and @code{@@smalllisp}
7413 @cindex Small book example 7171 @cindex Small book example
7414 @cindex Example for a small book 7172 @cindex Example for a small book
7415 @cindex Lisp example for a small book 7173 @cindex Lisp example for a small book
7416 @findex smallexample 7174 @findex smallexample
7417 @findex smalllisp 7175 @findex smalllisp
7418 7176
7448 @ifclear smallbook 7206 @ifclear smallbook
7449 @display 7207 @display
7450 @tex 7208 @tex
7451 % Remove extra vskip; this is a kludge to counter the effect of display 7209 % Remove extra vskip; this is a kludge to counter the effect of display
7452 \vskip-3\baselineskip 7210 \vskip-3\baselineskip
7453 {\ninett 7211 {\ninett
7454 \dots{} to make sure that you have the freedom to 7212 \dots{} to make sure that you have the freedom to
7455 distribute copies of free software (and charge for 7213 distribute copies of free software (and charge for
7456 this service if you wish), that you receive source 7214 this service if you wish), that you receive source
7457 code or can get it if you want it, that you can 7215 code or can get it if you want it, that you can
7458 change the software or use pieces of it in new free 7216 change the software or use pieces of it in new free
7459 programs; and that you know you can do these things.} 7217 programs; and that you know you can do these things.}
7460 @end tex 7218 @end tex
7461 @end display 7219 @end display
7462 @end ifclear 7220 @end ifclear
7463 @end iftex 7221 @end iftex
7522 fixed-width font and does not narrow the margins.@refill 7280 fixed-width font and does not narrow the margins.@refill
7523 7281
7524 @format 7282 @format
7525 This is an example of text written between an @code{@@format} command 7283 This is an example of text written between an @code{@@format} command
7526 and an @code{@@end format} command. As you can see 7284 and an @code{@@end format} command. As you can see
7527 from this example, 7285 from this example,
7528 the @code{@@format} command does not fill the text. 7286 the @code{@@format} command does not fill the text.
7529 @end format 7287 @end format
7530 7288
7531 @node exdent, flushleft & flushright, format, Quotations and Examples 7289 @node exdent, flushleft & flushright, format, Quotations and Examples
7532 @section @code{@@exdent}: Undoing a Line's Indentation 7290 @section @code{@@exdent}: Undoing a Line's Indentation
7584 For example, 7342 For example,
7585 7343
7586 @example 7344 @example
7587 @group 7345 @group
7588 @@flushleft 7346 @@flushleft
7589 This text is 7347 This text is
7590 written flushleft. 7348 written flushleft.
7591 @@end flushleft 7349 @@end flushleft
7592 @end group 7350 @end group
7593 @end example 7351 @end example
7594 7352
7595 @noindent 7353 @noindent
7596 produces 7354 produces
7597 7355
7598 @quotation 7356 @quotation
7599 @flushleft 7357 @flushleft
7600 This text is 7358 This text is
7601 written flushleft. 7359 written flushleft.
7602 @end flushleft 7360 @end flushleft
7603 @end quotation 7361 @end quotation
7604 7362
7605 7363
7606 @code{@@flushright} produces the type of indentation often used in the 7364 Flushright produces the type of indentation often used in the return
7607 return address of letters. For example, 7365 address of letters.@refill
7366
7367 @need 1500
7368 @noindent
7369 For example,
7608 7370
7609 @example 7371 @example
7610 @group 7372 @group
7611 @@flushright 7373 @@flushright
7612 Here is an example of text written 7374 Here is an example of text written
7613 flushright. The @@code@{@@flushright@} command 7375 flushright. The @@code@{@@flushright@} command
7614 right justifies every line but leaves the 7376 right justifies every line but leaves the
7615 left end ragged. 7377 left end ragged.
7616 @@end flushright 7378 @@end flushright
7617 @end group 7379 @end group
7618 @end example 7380 @end example
7640 7402
7641 The @code{@@cartouche} command affects only the printed manual; it has 7403 The @code{@@cartouche} command affects only the printed manual; it has
7642 no effect in the Info file.@refill 7404 no effect in the Info file.@refill
7643 7405
7644 @need 1500 7406 @need 1500
7645 For example, 7407 For example,
7646 7408
7647 @example 7409 @example
7648 @group 7410 @group
7649 @@example 7411 @@example
7650 @@cartouche 7412 @@cartouche
7651 % pwd 7413 % pwd
7652 /usr/local/share/emacs 7414 /usr/local/lib/emacs/info
7653 @@end cartouche 7415 @@end cartouche
7654 @@end example 7416 @@end example
7655 @end group 7417 @end group
7656 @end example 7418 @end example
7657 7419
7670 @end cartouche 7432 @end cartouche
7671 @end group 7433 @end group
7672 @end example 7434 @end example
7673 @end iftex 7435 @end iftex
7674 7436
7675
7676 @node Lists and Tables, Indices, Quotations and Examples, Top 7437 @node Lists and Tables, Indices, Quotations and Examples, Top
7677 @chapter Lists and Tables 7438 @comment node-name, next, previous, up
7439 @chapter Making Lists and Tables
7678 @cindex Making lists and tables 7440 @cindex Making lists and tables
7679 @cindex Lists and tables, making 7441 @cindex Lists and tables, making them
7680 @cindex Tables and lists, making 7442 @cindex Tables and lists, making them
7681 7443
7682 Texinfo has several ways of making lists and tables. Lists can be 7444 Texinfo has several ways of making lists and two-column tables. Lists can
7683 bulleted or numbered; two-column tables can highlight the items in 7445 be bulleted or numbered, while two-column tables can highlight the items in
7684 the first column; multi-column tables are also supported. 7446 the first column.@refill
7685 7447
7686 @menu 7448 @menu
7687 * Introducing Lists:: Texinfo formats lists for you. 7449 * Introducing Lists:: Texinfo formats lists for you.
7688 * itemize:: How to construct a simple list. 7450 * itemize:: How to construct a simple list.
7689 * enumerate:: How to construct a numbered list. 7451 * enumerate:: How to construct a numbered list.
7690 * Two-column Tables:: How to construct a two-column table. 7452 * Two-column Tables:: How to construct a two-column table.
7691 * Multi-column Tables:: How to construct generalized tables.
7692 @end menu 7453 @end menu
7693 7454
7694 @ifinfo 7455 @ifinfo
7695 @node Introducing Lists, itemize, Lists and Tables, Lists and Tables 7456 @node Introducing Lists, itemize, Lists and Tables, Lists and Tables
7696 @heading Introducing Lists 7457 @heading Introducing Lists
7719 @sp 1 7480 @sp 1
7720 @noindent 7481 @noindent
7721 Here is an itemized list of the different kinds of table and lists:@refill 7482 Here is an itemized list of the different kinds of table and lists:@refill
7722 7483
7723 @itemize @bullet 7484 @itemize @bullet
7724 @item 7485 @item
7725 Itemized lists with and without bullets. 7486 Itemized lists with and without bullets.
7726 7487
7727 @item 7488 @item
7728 Enumerated lists, using numbers or letters. 7489 Enumerated lists, using numbers or letters.
7729 7490
7730 @item 7491 @item
7731 Two-column tables with highlighting. 7492 Two-column tables with highlighting.
7732 @end itemize 7493 @end itemize
7733 7494
7734 @sp 1 7495 @sp 1
7735 @noindent 7496 @noindent
7736 Here is an enumerated list with the same items:@refill 7497 Here is an enumerated list with the same items:@refill
7737 7498
7738 @enumerate 7499 @enumerate
7739 @item 7500 @item
7740 Itemized lists with and without bullets. 7501 Itemized lists with and without bullets.
7741 7502
7742 @item 7503 @item
7743 Enumerated lists, using numbers or letters. 7504 Enumerated lists, using numbers or letters.
7744 7505
7745 @item 7506 @item
7746 Two-column tables with highlighting. 7507 Two-column tables with highlighting.
7747 @end enumerate 7508 @end enumerate
7748 7509
7749 @sp 1 7510 @sp 1
7750 @noindent 7511 @noindent
7759 Enumerated lists, using numbers or letters. 7520 Enumerated lists, using numbers or letters.
7760 7521
7761 @item @@table 7522 @item @@table
7762 @itemx @@ftable 7523 @itemx @@ftable
7763 @itemx @@vtable 7524 @itemx @@vtable
7764 Two-column tables with indexing. 7525 Two-column tables with highlighting.
7765 @end table 7526 @end table
7766 7527
7767 @node itemize, enumerate, Introducing Lists, Lists and Tables 7528 @node itemize, enumerate, Introducing Lists, Lists and Tables
7768 @comment node-name, next, previous, up 7529 @comment node-name, next, previous, up
7769 @section Making an Itemized List 7530 @section Making an Itemized List
7770 @cindex Itemization 7531 @cindex Itemization
7771 @findex itemize 7532 @findex itemize
7772 7533
7773 The @code{@@itemize} command produces sequences of indented 7534 The @code{@@itemize} command produces sequences of indented
7774 paragraphs, with a bullet or other mark inside the left margin 7535 paragraphs, with a bullet or other mark inside the left margin
7775 at the beginning of each paragraph for which such a mark is desired.@refill 7536 at the beginning of each paragraph for which such a mark is desired.@refill
7776 7537
7777 Begin an itemized list by writing @code{@@itemize} at the beginning of 7538 Begin an itemized list by writing @code{@@itemize} at the beginning of
7778 a line. Follow the command, on the same line, with a character or a 7539 a line. Follow the command, on the same line, with a character or a
7779 Texinfo command that generates a mark. Usually, you will write 7540 Texinfo command that generates a mark. Usually, you will write
7876 @comment node-name, next, previous, up 7637 @comment node-name, next, previous, up
7877 @section Making a Numbered or Lettered List 7638 @section Making a Numbered or Lettered List
7878 @cindex Enumeration 7639 @cindex Enumeration
7879 @findex enumerate 7640 @findex enumerate
7880 7641
7881 @code{@@enumerate} is like @code{@@itemize} (@pxref{itemize,, 7642 @code{@@enumerate} is like @code{@@itemize} except that the marks in
7882 @code{@@itemize}}), except that the labels on the items are 7643 the left margin contain successive integers or letters.
7883 successive integers or letters instead of bullets. 7644 (@xref{itemize, , @code{@@itemize}}.)@refill
7884 7645
7885 Write the @code{@@enumerate} command at the beginning of a line. The 7646 Write the @code{@@enumerate} command at the beginning of a line.
7886 command does not require an argument, but accepts either a number or a 7647 The command does not require an argument, but accepts either a number or
7887 letter as an option. Without an argument, @code{@@enumerate} starts the 7648 a letter as an option.
7888 list with the number @samp{1}. With a numeric argument, such as 7649 Without an argument, @code{@@enumerate} starts the list
7889 @samp{3}, the command starts the list with that number. With an upper 7650 with the number 1. With a numeric argument, such as 3,
7890 or lower case letter, such as @samp{a} or @samp{A}, the command starts 7651 the command starts the list with that number.
7891 the list with that letter.@refill 7652 With an upper or lower case letter, such as @kbd{a} or @kbd{A},
7653 the command starts the list with that letter.@refill
7892 7654
7893 Write the text of the enumerated list in the same way you write an 7655 Write the text of the enumerated list in the same way you write an
7894 itemized list: put @code{@@item} on a line of its own before the start 7656 itemized list: put @code{@@item} on a line of its own before the start of
7895 of each paragraph that you want enumerated. Do not write any other text 7657 each paragraph that you want enumerated. Do not write any other text on
7896 on the line beginning with @code{@@item}.@refill 7658 the line beginning with @code{@@item}.@refill
7897 7659
7898 You should put a blank line between entries in the list. 7660 You should put a blank line between entries in the list.
7899 This generally makes it easier to read the Info file.@refill 7661 This generally makes it easier to read the Info file.@refill
7900 7662
7901 @need 1500 7663 @need 1500
7957 @sp 1 7719 @sp 1
7958 Here is a brief summary of the alternatives. The summary is constructed 7720 Here is a brief summary of the alternatives. The summary is constructed
7959 using @code{@@enumerate} with an argument of @kbd{a}.@refill 7721 using @code{@@enumerate} with an argument of @kbd{a}.@refill
7960 @sp 1 7722 @sp 1
7961 @enumerate a 7723 @enumerate a
7962 @item 7724 @item
7963 @code{@@enumerate} 7725 @code{@@enumerate}
7964 7726
7965 Without an argument, produce a numbered list, starting with the number 7727 Without an argument, produce a numbered list, starting with the number
7966 1.@refill 7728 1.@refill
7967 7729
7968 @item 7730 @item
7969 @code{@@enumerate @var{positive-integer}} 7731 @code{@@enumerate @var{positive-integer}}
7970 7732
7971 With a (positive) numeric argument, start a numbered list with that 7733 With a (positive) numeric argument, start a numbered list with that
7972 number. You can use this to continue a list that you interrupted with 7734 number. You can use this to continue a list that you interrupted with
7973 other text.@refill 7735 other text.@refill
7974 7736
7975 @item 7737 @item
7976 @code{@@enumerate @var{upper-case-letter}} 7738 @code{@@enumerate @var{upper-case-letter}}
7977 7739
7978 With an upper case letter as argument, start a list 7740 With an upper case letter as argument, start a list
7979 in which each item is marked 7741 in which each item is marked
7980 by a letter, beginning with that upper case letter.@refill 7742 by a letter, beginning with that upper case letter.@refill
7981 7743
7982 @item 7744 @item
7983 @code{@@enumerate @var{lower-case-letter}} 7745 @code{@@enumerate @var{lower-case-letter}}
7984 7746
7985 With a lower case letter as argument, start a list 7747 With a lower case letter as argument, start a list
7986 in which each item is marked by 7748 in which each item is marked by
7987 a letter, beginning with that lower case letter.@refill 7749 a letter, beginning with that lower case letter.@refill
7988 @end enumerate 7750 @end enumerate
7989 7751
7990 You can also nest enumerated lists, as in an outline.@refill 7752 You can also nest enumerated lists, as in an outline.@refill
7991 7753
7992 @node Two-column Tables, Multi-column Tables, enumerate, Lists and Tables 7754 @node Two-column Tables, , enumerate, Lists and Tables
7755 @comment node-name, next, previous, up
7993 @section Making a Two-column Table 7756 @section Making a Two-column Table
7994 @cindex Tables, making two-column 7757 @cindex Tables, making two-column
7995 @findex table 7758 @findex table
7996 7759
7997 @code{@@table} is similar to @code{@@itemize} (@pxref{itemize,, 7760 @code{@@table} is similar to @code{@@itemize}, but the command allows
7998 @code{@@itemize}}), but allows you to specify a name or heading line for 7761 you to specify a name or heading line for each item. (@xref{itemize,
7999 each item. The @code{@@table} command is used to produce two-column 7762 , @code{@@itemize}}.) The @code{@@table} command is used to produce
8000 tables, and is especially useful for glossaries, explanatory 7763 two-column tables, and is especially useful for glossaries and
8001 exhibits, and command-line option summaries. 7764 explanatory exhibits.@refill
8002 7765
8003 @menu 7766 @menu
8004 * table:: How to construct a two-column table. 7767 * table:: How to construct a two-column table.
8005 * ftable vtable:: Automatic indexing for two-column tables. 7768 * ftable vtable:: How to construct a two-column table
7769 with automatic indexing.
8006 * itemx:: How to put more entries in the first column. 7770 * itemx:: How to put more entries in the first column.
8007 @end menu 7771 @end menu
8008 7772
8009 @ifinfo 7773 @ifinfo
8010 @node table, ftable vtable, Two-column Tables, Two-column Tables 7774 @node table, ftable vtable, Two-column Tables, Two-column Tables
8012 7776
8013 Use the @code{@@table} command to produce two-column tables.@refill 7777 Use the @code{@@table} command to produce two-column tables.@refill
8014 @end ifinfo 7778 @end ifinfo
8015 7779
8016 Write the @code{@@table} command at the beginning of a line and follow 7780 Write the @code{@@table} command at the beginning of a line and follow
8017 it on the same line with an argument that is a Texinfo ``indicating'' 7781 it on the same line with an argument that is a Texinfo command such as
8018 command such as @code{@@code}, @code{@@samp}, @code{@@var}, or 7782 @code{@@code}, @code{@@samp}, @code{@@var}, or @code{@@kbd}.
8019 @code{@@kbd} (@pxref{Indicating}). Although these commands are usually 7783 Although these commands are usually followed by arguments in braces,
8020 followed by arguments in braces, in this case you use the command name 7784 in this case you use the command name without an argument because
8021 without an argument because @code{@@item} will supply the argument. 7785 @code{@@item} will supply the argument. This command will be applied
8022 This command will be applied to the text that goes into the first column 7786 to the text that goes into the first column of each item and
8023 of each item and determines how it will be highlighted. For example, 7787 determines how it will be highlighted. For example, @code{@@samp}
8024 @code{@@code} will cause the text in the first column to be highlighted 7788 will cause the text in the first column to be highlighted with an
8025 with an @code{@@code} command. (We recommend @code{@@code} for 7789 @code{@@samp} command.@refill
8026 @code{@@table}'s of command-line options.) 7790
8027
8028 @findex asis
8029 You may also choose to use the @code{@@asis} command as an argument to 7791 You may also choose to use the @code{@@asis} command as an argument to
8030 @code{@@table}. @code{@@asis} is a command that does nothing; if you 7792 @code{@@table}. @code{@@asis} is a command that does nothing; if you use this
8031 use this command after @code{@@table}, @TeX{} and the Info formatting 7793 command after @code{@@table}, @TeX{} and the Info formatting commands
8032 commands output the first column entries without added highlighting 7794 output the first column entries without added highlighting (`as
8033 (``as is'').@refill 7795 is').@refill
8034 7796
8035 (The @code{@@table} command may work with other commands besides those 7797 (The @code{@@table} command may work with other commands besides those
8036 listed here. However, you can only use commands that normally take 7798 listed here. However, you can only use commands
8037 arguments in braces.)@refill 7799 that normally take arguments in braces.)@refill
8038 7800
8039 Begin each table entry with an @code{@@item} command at the beginning 7801 Begin each table entry with an @code{@@item} command at the beginning
8040 of a line. Write the first column text on the same line as the 7802 of a line. Write the first column text on the same line as the
8041 @code{@@item} command. Write the second column text on the line 7803 @code{@@item} command. Write the second column text on the line
8042 following the @code{@@item} line and on subsequent lines. (You do not 7804 following the @code{@@item} line and on subsequent lines. (You do not
8082 text, use the @code{@@itemx} command. (@xref{itemx, , 7844 text, use the @code{@@itemx} command. (@xref{itemx, ,
8083 @code{@@itemx}}.)@refill 7845 @code{@@itemx}}.)@refill
8084 7846
8085 @node ftable vtable, itemx, table, Two-column Tables 7847 @node ftable vtable, itemx, table, Two-column Tables
8086 @comment node-name, next, previous, up 7848 @comment node-name, next, previous, up
8087 @subsection @code{@@ftable} and @code{@@vtable} 7849 @subsection @code{@@ftable} and @code{@@vtable}
8088 @cindex Tables with indexes 7850 @cindex Tables with indexes
8089 @cindex Indexing table entries automatically 7851 @cindex Indexing table entries automatically
8090 @findex ftable 7852 @findex ftable
8091 @findex vtable 7853 @findex vtable
8092 7854
8105 line by an argument that is a Texinfo command such as @code{@@code}, 7867 line by an argument that is a Texinfo command such as @code{@@code},
8106 exactly as you would for an @code{@@table} command; and end the table 7868 exactly as you would for an @code{@@table} command; and end the table
8107 with an @code{@@end ftable} or @code{@@end vtable} command on a line by 7869 with an @code{@@end ftable} or @code{@@end vtable} command on a line by
8108 itself. 7870 itself.
8109 7871
8110 See the example for @code{@@table} in the previous section.
8111
8112 @node itemx, , ftable vtable, Two-column Tables 7872 @node itemx, , ftable vtable, Two-column Tables
8113 @comment node-name, next, previous, up 7873 @comment node-name, next, previous, up
8114 @subsection @code{@@itemx} 7874 @subsection @code{@@itemx}
8115 @cindex Two named items for @code{@@table} 7875 @cindex Two named items for @code{@@table}
8116 @findex itemx 7876 @findex itemx
8117 7877
8118 Use the @code{@@itemx} command inside a table when you have two or more 7878 Use the @code{@@itemx} command inside a table when you have two or
8119 first column entries for the same item, each of which should appear on a 7879 more first column entries for the same item, each of which should
8120 line of its own. Use @code{@@itemx} for all but the first entry; 7880 appear on a line of its own. Use @code{@@itemx} for all but the first
8121 @code{@@itemx} should always follow an @code{@@item} command. The 7881 entry. The @code{@@itemx} command works exactly like @code{@@item}
8122 @code{@@itemx} command works exactly like @code{@@item} except that it 7882 except that it does not generate extra vertical space above the first
8123 does not generate extra vertical space above the first column text. 7883 column text.@refill
8124 7884
8125 @need 1000 7885 @need 1000
8126 For example, 7886 For example,
8127 7887
8128 @example 7888 @example
8149 @end table 7909 @end table
8150 7910
8151 @noindent 7911 @noindent
8152 (Note also that this example illustrates multi-line supporting text in 7912 (Note also that this example illustrates multi-line supporting text in
8153 a two-column table.)@refill 7913 a two-column table.)@refill
8154
8155
8156 @node Multi-column Tables, , Two-column Tables, Lists and Tables
8157 @section Multi-column Tables
8158 @cindex Tables, making multi-column
8159 @findex multitable
8160
8161 @code{@@multitable} allows you to construct tables with any number of
8162 columns, with each column having any width you like.
8163
8164 You define the column widths on the @code{@@multitable} line itself, and
8165 write each row of the actual table following an @code{@@item} command,
8166 with columns separated by an @code{@@tab} command. Finally, @code{@@end
8167 multitable} completes the table. Details in the sections below.
8168
8169 @menu
8170 * Multitable Column Widths:: Defining multitable column widths.
8171 * Multitable Rows:: Defining multitable rows, with examples.
8172 @end menu
8173
8174 @node Multitable Column Widths, Multitable Rows, Multi-column Tables, Multi-column Tables
8175 @subsection Multitable Column Widths
8176 @cindex Multitable column widths
8177 @cindex Column widths, defining for multitables
8178 @cindex Widths, defining multitable column
8179
8180 You can define the column widths for a multitable in two ways: as
8181 fractions of the line length; or with a prototype row. Mixing the two
8182 methods is not supported. In either case, the widths are defined
8183 entirely on the same line as the @code{@@multitable} command.
8184
8185 @enumerate
8186 @item
8187 @findex columnfractions
8188 @cindex Line length, column widths as fraction of
8189 To specify column widths as fractions of the line length, write
8190 @code{@@columnfractions} and the decimal numbers (presumably less than
8191 1) after the @code{@@multitable} command, as in:
8192
8193 @example
8194 @@multitable @@columnfractions .33 .33 .33
8195 @end example
8196
8197 @noindent The fractions need not add up exactly to 1.0, as these do
8198 not. This allows you to produce tables that do not need the full line
8199 length.
8200
8201 @item
8202 @cindex Prototype row, column widths defined by
8203 To specify a prototype row, write the longest entry for each column
8204 enclosed in braces after the @code{@@multitable} command. For example:
8205
8206 @example
8207 @@multitable @{some text for column one@} @{for column two@}
8208 @end example
8209
8210 @noindent
8211 The first column will then have the width of the typeset `some text for
8212 column one', and the second column the width of `for column two'.
8213
8214 The prototype entries need not appear in the table itself.
8215
8216 Although we used simple text in this example, the prototype entries can
8217 contain Texinfo commands; markup commands such as @code{@@code} are
8218 particularly likely to be useful.
8219
8220 @end enumerate
8221
8222
8223 @node Multitable Rows, , Multitable Column Widths, Multi-column Tables
8224 @subsection Multitable Rows
8225 @cindex Multitable rows
8226 @cindex Rows, of a multitable
8227
8228 @findex item
8229 @cindex tab
8230 After the @code{@@multitable} command defining the column widths (see
8231 the previous section), you begin each row in the body of a multitable
8232 with @code{@@item}, and separate the column entries with @code{@@tab}.
8233 Line breaks are not special within the table body, and you may break
8234 input lines in your source file as necessary.
8235
8236 Here is a complete example of a multi-column table (the text is from
8237 @cite{The GNU Emacs Manual}, @pxref{Split Window,, Splitting Windows,
8238 emacs, The GNU Emacs Manual}):
8239
8240 @example
8241 @@multitable @@columnfractions .15 .45 .4
8242 @@item Key @@tab Command @@tab Description
8243 @@item C-x 2
8244 @@tab @@code@{split-window-vertically@}
8245 @@tab Split the selected window into two windows,
8246 with one above the other.
8247 @@item C-x 3
8248 @@tab @@code@{split-window-horizontally@}
8249 @@tab Split the selected window into two windows
8250 positioned side by side.
8251 @@item C-Mouse-2
8252 @@tab
8253 @@tab In the mode line or scroll bar of a window,
8254 split that window.
8255 @@end multitable
8256 @end example
8257
8258 @noindent produces:
8259
8260 @multitable @columnfractions .15 .45 .4
8261 @item Key @tab Command @tab Description
8262 @item C-x 2
8263 @tab @code{split-window-vertically}
8264 @tab Split the selected window into two windows,
8265 with one above the other.
8266 @item C-x 3
8267 @tab @code{split-window-horizontally}
8268 @tab Split the selected window into two windows
8269 positioned side by side.
8270 @item C-Mouse-2
8271 @tab
8272 @tab In the mode line or scroll bar of a window,
8273 split that window.
8274 @end multitable
8275
8276 7914
8277 @node Indices, Insertions, Lists and Tables, Top 7915 @node Indices, Insertions, Lists and Tables, Top
8278 @comment node-name, next, previous, up 7916 @comment node-name, next, previous, up
8279 @chapter Creating Indices 7917 @chapter Creating Indices
8280 @cindex Indices 7918 @cindex Indices
8435 printed with the usual Texinfo commands, such as @code{@@file} for 8073 printed with the usual Texinfo commands, such as @code{@@file} for
8436 file names and @code{@@emph} for emphasis (@pxref{Marking 8074 file names and @code{@@emph} for emphasis (@pxref{Marking
8437 Text}).@refill 8075 Text}).@refill
8438 @cindex Index font types 8076 @cindex Index font types
8439 8077
8440 @cindex Predefined indexing commands 8078 @cindex Predefined indexing commands
8441 @cindex Indexing commands, predefined 8079 @cindex Indexing commands, predefined
8442 The six indexing commands for predefined indices are: 8080 The six indexing commands for predefined indices are:
8443 8081
8444 @table @code 8082 @table @code
8445 @item @@cindex @var{concept} 8083 @item @@cindex @var{concept}
8446 @findex cindex 8084 @findex cindex
8610 8248
8611 @xref{Printing Indices & Menus}, for information about printing an index 8249 @xref{Printing Indices & Menus}, for information about printing an index
8612 at the end of a book or creating an index menu in an Info file.@refill 8250 at the end of a book or creating an index menu in an Info file.@refill
8613 8251
8614 @node New Indices, , Combining Indices, Indices 8252 @node New Indices, , Combining Indices, Indices
8615 @section Defining New Indices 8253 @section Defining New Indices
8616 @cindex Defining new indices 8254 @cindex Defining new indices
8617 @cindex Indices, defining new 8255 @cindex Indices, defining new
8618 @cindex New index defining 8256 @cindex New index defining
8619 @findex defindex 8257 @findex defindex
8620 @findex defcodeindex 8258 @findex defcodeindex
8621 8259
8622 In addition to the predefined indices, you may use the 8260 In addition to the predefined indices, you may use the
8676 8314
8677 You should define new indices within or right after the end-of-header 8315 You should define new indices within or right after the end-of-header
8678 line of a Texinfo file, before any @code{@@synindex} or 8316 line of a Texinfo file, before any @code{@@synindex} or
8679 @code{@@syncodeindex} commands (@pxref{Header}).@refill 8317 @code{@@syncodeindex} commands (@pxref{Header}).@refill
8680 8318
8681 @node Insertions, Breaks, Indices, Top 8319 @node Insertions, Glyphs, Indices, Top
8682 @comment node-name, next, previous, up 8320 @comment node-name, next, previous, up
8683 @chapter Special Insertions 8321 @chapter Special Insertions
8684 @cindex Inserting special characters and symbols 8322 @cindex Inserting special characters and symbols
8685 @cindex Special insertions 8323 @cindex Special insertions
8686 8324
8687 Texinfo provides several commands for inserting characters that have 8325 Texinfo provides several commands for formatting dimensions, for
8688 special meaning in Texinfo, such as braces, and for other graphic 8326 inserting single characters that have special meaning in Texinfo, such
8689 elements that do not correspond to simple characters you can type. 8327 as braces, and for inserting special graphic symbols that do not
8328 correspond to characters, such as dots and bullets.@refill
8690 8329
8691 @iftex 8330 @iftex
8692 These are: 8331 These are:
8693 8332
8694 @itemize @bullet 8333 @itemize @bullet
8695 @item Braces, @samp{@@} and periods. 8334 @item
8696 @item Whitespace within and around a sentence. 8335 Braces, @samp{@@} and periods.
8697 @item Accents. 8336
8698 @item Dots and bullets. 8337 @item
8699 @item The @TeX{} logo and the copyright symbol. 8338 Format a dimension, such as @samp{12@dmn{pt}}.
8700 @item Mathematical expressions. 8339
8340 @item
8341 Dots and bullets.
8342
8343 @item
8344 The @TeX{} logo and the copyright symbol.
8345
8346 @item
8347 A minus sign.
8701 @end itemize 8348 @end itemize
8702 @end iftex 8349 @end iftex
8703 8350
8704 @menu 8351 @menu
8705 * Braces Atsigns:: How to insert braces, @samp{@@}. 8352 * Braces Atsigns Periods:: How to insert braces, @samp{@@} and periods.
8706 * Inserting Space:: How to insert the right amount of space 8353 * dmn:: How to format a dimension.
8707 within a sentence.
8708 * Inserting Accents:: How to insert accents and special characters.
8709 * Dots Bullets:: How to insert dots and bullets. 8354 * Dots Bullets:: How to insert dots and bullets.
8710 * TeX and copyright:: How to insert the @TeX{} logo 8355 * TeX and copyright:: How to insert the @TeX{} logo
8711 and the copyright symbol. 8356 and the copyright symbol.
8712 * pounds:: How to insert the pounds currency symbol.
8713 * minus:: How to insert a minus sign. 8357 * minus:: How to insert a minus sign.
8714 * math:: How to format a mathematical expression. 8358 * math:: How to format a mathematical expression.
8715 * Glyphs:: How to indicate results of evaluation,
8716 expansion of macros, errors, etc.
8717 * Images:: How to include graphics.
8718 @end menu 8359 @end menu
8719 8360
8720 8361 @node Braces Atsigns Periods, dmn, Insertions, Insertions
8721 @node Braces Atsigns, Inserting Space, Insertions, Insertions 8362 @comment node-name, next, previous, up
8722 @section Inserting @@ and Braces 8363 @section Inserting @samp{@@}, Braces, and Periods
8723 @cindex Inserting @@, braces 8364 @cindex Inserting @@, braces, and periods
8724 @cindex Braces, inserting 8365 @cindex Braces, inserting
8725 @cindex Special characters, commands to insert 8366 @cindex Periods, inserting
8726 @cindex Commands to insert special characters 8367 @cindex Single characters, commands to insert
8727 8368 @cindex Commands to insert single characters
8728 @samp{@@} and curly braces are special characters in Texinfo. To insert 8369
8729 these characters so they appear in text, you must put an @samp{@@} in 8370 @samp{@@} and curly braces are special characters in Texinfo. To
8730 front of these characters to prevent Texinfo from misinterpreting 8371 insert these characters so they appear in text, you must put an @samp{@@} in front
8731 them. 8372 of these characters to prevent Texinfo from misinterpreting them.@refill
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
8732 8384
8733 Do not put braces after any of these commands; they are not 8385 Do not put braces after any of these commands; they are not
8734 necessary. 8386 necessary.@refill
8735 8387
8736 @menu 8388 @menu
8737 * Inserting An Atsign:: How to insert @samp{@@}. 8389 * Inserting An Atsign::
8738 * Inserting Braces:: How to insert @samp{@{} and @samp{@}}. 8390 * 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.
8739 @end menu 8393 @end menu
8740 8394
8741 @node Inserting An Atsign, Inserting Braces, Braces Atsigns, Braces Atsigns 8395 @node Inserting An Atsign, Inserting Braces, Braces Atsigns Periods, Braces Atsigns Periods
8396 @comment node-name, next, previous, up
8742 @subsection Inserting @samp{@@} with @@@@ 8397 @subsection Inserting @samp{@@} with @@@@
8743 @findex @@ @r{(single @samp{@@})} 8398 @findex @@ @r{(single @samp{@@})}
8744 8399
8745 @code{@@@@} stands for a single @samp{@@} in either printed or Info 8400 @code{@@@@} stands for a single @samp{@@} in either printed or Info
8746 output. 8401 output.@refill
8747 8402
8748 Do not put braces after an @code{@@@@} command. 8403 Do not put braces after an @code{@@@@} command.@refill
8749 8404
8750 @node Inserting Braces, , Inserting An Atsign, Braces Atsigns 8405 @node Inserting Braces, Controlling Spacing, Inserting An Atsign, Braces Atsigns Periods
8406 @comment node-name, next, previous, up
8751 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@} 8407 @subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@}
8752 @findex @{ @r{(single @samp{@{})} 8408 @findex @{ @r{(single @samp{@{})}
8753 @findex @} @r{(single @samp{@}})} 8409 @findex @} @r{(single @samp{@}})}
8754 8410
8755 @code{@@@{} stands for a single @samp{@{} in either printed or Info 8411 @code{@@@{} stands for a single @samp{@{} in either printed or Info
8756 output. 8412 output.@refill
8757 8413
8758 @code{@@@}} stands for a single @samp{@}} in either printed or Info 8414 @code{@@@}} stands for a single @samp{@}} in either printed or Info
8759 output. 8415 output.@refill
8760 8416
8761 Do not put braces after either an @code{@@@{} or an @code{@@@}} 8417 Do not put braces after either an @code{@@@{} or an @code{@@@}}
8762 command. 8418 command.@refill
8763 8419
8764 8420 @node Controlling Spacing, , Inserting Braces, Braces Atsigns Periods
8765 @node Inserting Space, Inserting Accents, Braces Atsigns, Insertions 8421 @comment node-name, next, previous, up
8766 @section Inserting Space 8422 @subsection Spacing After Colons and Periods
8767
8768 @cindex Inserting space
8769 @cindex Spacing, inserting
8770 @cindex Whitespace, inserting
8771 The following sections describe commands that control spacing of various
8772 kinds within and after sentences.
8773
8774 @menu
8775 * Not Ending a Sentence:: Sometimes a . doesn't end a sentence.
8776 * Ending a Sentence:: Sometimes it does.
8777 * Multiple Spaces:: Inserting multiple spaces.
8778 * dmn:: How to format a dimension.
8779 @end menu
8780
8781 @node Not Ending a Sentence, Ending a Sentence, Inserting Space, Inserting Space
8782 @subsection Not Ending a Sentence
8783
8784 @cindex Not ending a sentence
8785 @cindex Sentence non-ending punctuation
8786 @cindex Periods, inserting
8787 Depending on whether a period or exclamation point or question mark is
8788 inside or at the end of a sentence, less or more space is inserted after
8789 a period in a typeset manual. Since it is not always possible for
8790 Texinfo to determine when a period ends a sentence and when it is used
8791 in an abbreviation, special commands are needed in some circumstances.
8792 (Usually, Texinfo can guess how to handle periods, so you do not need to
8793 use the special commands; you just enter a period as you would if you
8794 were using a typewriter, which means you put two spaces after the
8795 period, question mark, or exclamation mark that ends a sentence.)
8796
8797 @findex : @r{(suppress widening)} 8423 @findex : @r{(suppress widening)}
8424
8798 Use the @code{@@:}@: command after a period, question mark, 8425 Use the @code{@@:}@: command after a period, question mark,
8799 exclamation mark, or colon that should not be followed by extra space. 8426 exclamation mark, or colon that should not be followed by extra space.
8800 For example, use @code{@@:}@: after periods that end abbreviations 8427 For example, use @code{@@:}@: after periods that end abbreviations
8801 which are not at the ends of sentences. 8428 which are not at the ends of sentences. @code{@@:}@: has no effect on
8429 the Info file output.@refill
8802 8430
8803 @need 700 8431 @need 700
8804 For example, 8432 For example,
8805 8433
8806 @example 8434 @example
8822 The s.o.p.@: has three parts @dots{}@* 8450 The s.o.p.@: has three parts @dots{}@*
8823 The s.o.p. has three parts @dots{} 8451 The s.o.p. has three parts @dots{}
8824 @end quotation 8452 @end quotation
8825 8453
8826 @noindent 8454 @noindent
8827 (Incidentally, @samp{s.o.p.} is an abbreviation for ``Standard Operating 8455 @kbd{@@:} has no effect on the Info output. (@samp{s.o.p} is an acronym
8828 Procedure''.) 8456 for ``Standard Operating Procedure''.)
8829 8457
8830 @code{@@:} has no effect on the Info output. Do not put braces after 8458 @findex . @r{(true end of sentence)}
8831 @code{@@:}. 8459 Use @code{@@.}@: instead of a period at the end of a sentence that
8832 8460 ends with a single capital letter. Otherwise, @TeX{} will think the
8833 8461 letter is an abbreviation and will not insert the correct
8834 @node Ending a Sentence, Multiple Spaces, Not Ending a Sentence, Inserting Space 8462 end-of-sentence spacing. Here is an example:@refill
8835 @subsection Ending a Sentence
8836
8837 @cindex Ending a Sentence
8838 @cindex Sentence ending punctuation
8839
8840 @findex . @r{(end of sentence)}
8841 @findex ! @r{(end of sentence)}
8842 @findex ? @r{(end of sentence)}
8843 Use @code{@@.}@: instead of a period, @code{@@!}@: instead of an
8844 exclamation point, and @code{@@?}@: instead of a question mark at the end
8845 of a sentence that ends with a single capital letter. Otherwise, @TeX{}
8846 will think the letter is an abbreviation and will not insert the correct
8847 end-of-sentence spacing. Here is an example:
8848 8463
8849 @example 8464 @example
8850 Give it to M.I.B. and to M.E.W@@. Also, give it to R.J.C@@. 8465 Give it to M.I.B. and to M.E.W@@. Also, give it to R.J.C@@.
8851 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.
8852 @end example 8467 @end example
8856 produces 8471 produces
8857 @end ifinfo 8472 @end ifinfo
8858 @iftex 8473 @iftex
8859 produces the following. If you look carefully at this printed output, 8474 produces the following. If you look carefully at this printed output,
8860 you will see a little more whitespace after the @samp{W} in the first 8475 you will see a little more whitespace after the @samp{W} in the first
8861 line. 8476 line.@refill
8862 @end iftex 8477 @end iftex
8863 8478
8864 @quotation 8479 @quotation
8865 Give it to M.I.B. and to M.E.W@. Also, give it to R.J.C@.@* 8480 Give it to M.I.B. and to M.E.W@. Also, give it to R.J.C@.@*
8866 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.
8867 @end quotation 8482 @end quotation
8868 8483
8869 In the Info file output, @code{@@.}@: is equivalent to a simple 8484 In the Info file output, @code{@@.}@: is equivalent to a simple
8870 @samp{.}; likewise for @code{@@!}@: and @code{@@?}@:. 8485 @samp{.}.@refill
8871 8486
8872 The meanings of @code{@@:} and @code{@@.}@: in Texinfo are designed to 8487 The meanings of @code{@@:}@: and @code{@@.}@: in Texinfo are designed
8873 work well with the Emacs sentence motion commands (@pxref{Sentences,,, 8488 to work well with the Emacs sentence motion commands. This made it
8874 emacs, The GNU Emacs Manual}). This made it necessary for them to be 8489 necessary for them to be incompatible with some other formatting
8875 incompatible with some other formatting systems that use @@-commands. 8490 systems that use @@-commands.@refill
8876 8491
8877 Do not put braces after any of these commands. 8492 Do not put braces after either an @code{@@:} or an @code{@@.} command.@refill
8878 8493
8879 8494 @node dmn, Dots Bullets, Braces Atsigns Periods, Insertions
8880 @node Multiple Spaces, dmn, Ending a Sentence, Inserting Space 8495 @section @code{@@dmn}@{@var{dimension}@}: Format a Dimension
8881 @subsection Multiple Spaces
8882
8883 @cindex Multiple spaces
8884 @cindex Whitespace, inserting
8885 @findex (space)
8886 @findex (tab)
8887 @findex (newline)
8888
8889 Ordinarily, @TeX{} collapses multiple whitespace characters (space, tab,
8890 and newline) into a single space. Info output, on the other hand,
8891 preserves whitespace as you type it, except for changing a newline into
8892 a space; this is why it is important to put two spaces at the end of
8893 sentences in Texinfo documents.
8894
8895 Occasionally, you may want to actually insert several consecutive
8896 spaces, either for purposes of example (what your program does with
8897 multiple spaces as input), or merely for purposes of appearance in
8898 headings or lists. Texinfo supports three commands:
8899 @code{@@@kbd{SPACE}}, @code{@@@kbd{TAB}}, and @code{@@@kbd{NL}}, all of
8900 which insert a single space into the output. (Here,
8901 @code{@@@kbd{SPACE}} represents an @samp{@@} character followed by a
8902 space, i.e., @samp{@@ }, and @kbd{TAB} and @kbd{NL} represent the tab
8903 character and end-of-line, i.e., when @samp{@@} is the last character on
8904 a line.)
8905
8906 For example,
8907 @example
8908 Spacey@@ @@ @@ @@
8909 example.
8910 @end example
8911
8912 @noindent produces
8913
8914 @example
8915 Spacey@ @ @ @
8916 example.
8917 @end example
8918
8919 Other possible uses of @code{@@@kbd{SPACE}} have been subsumed by
8920 @code{@@multitable} (@pxref{Multi-column Tables}).
8921
8922 Do not follow any of these commands with braces.
8923
8924
8925 @node dmn, , Multiple Spaces, Inserting Space
8926 @subsection @code{@@dmn}@{@var{dimension}@}: Format a Dimension
8927 @cindex Thin space between number, dimension 8496 @cindex Thin space between number, dimension
8928 @cindex Dimension formatting 8497 @cindex Dimension formatting
8929 @cindex Format a dimension 8498 @cindex Format a dimension
8930 @findex dmn 8499 @findex dmn
8931 8500
8936 for proper typesetting; the Info formatting commands insert no space 8505 for proper typesetting; the Info formatting commands insert no space
8937 at all, since the Info file does not require it.@refill 8506 at all, since the Info file does not require it.@refill
8938 8507
8939 To use the @code{@@dmn} command, write the number and then follow it 8508 To use the @code{@@dmn} command, write the number and then follow it
8940 immediately, with no intervening space, by @code{@@dmn}, and then by 8509 immediately, with no intervening space, by @code{@@dmn}, and then by
8941 the dimension within braces. For example, 8510 the dimension within braces.@refill
8511
8512 @need 700
8513 @noindent
8514 For example,
8942 8515
8943 @example 8516 @example
8944 A4 paper is 8.27@@dmn@{in@} wide. 8517 A4 paper is 8.27@@dmn@{in@} wide.
8945 @end example 8518 @end example
8946 8519
8949 8522
8950 @quotation 8523 @quotation
8951 A4 paper is 8.27@dmn{in} wide. 8524 A4 paper is 8.27@dmn{in} wide.
8952 @end quotation 8525 @end quotation
8953 8526
8954 Not everyone uses this style. Some people prefer @w{@samp{8.27 in.@@:}} 8527 Not everyone uses this style. Instead of writing
8955 or @w{@samp{8.27 inches}} to @samp{8.27@@dmn@{in@}} in the Texinfo file. 8528 @w{@samp{8.27@@dmn@{in@}}} in the Texinfo file, you may write
8956 In these cases, however, the formatters may insert a line break between 8529 @w{@samp{8.27 in.}} or @w{@samp{8.27 inches}}. (In these cases, the
8957 the number and the dimension, so use @code{@@w} (@pxref{w}). Also, if 8530 formatters may insert a line break between the number and the
8958 you write a period after an abbreviation within a sentence, you should 8531 dimension. Also, if you write a period after an abbreviation within a
8959 write @samp{@@:} after the period to prevent @TeX{} from inserting extra 8532 sentence, you should write @samp{@@:} after the period to prevent
8960 whitespace, as shown here. @xref{Inserting Space}. 8533 @TeX{} from inserting extra whitespace. @xref{Controlling Spacing, ,
8961 8534 Spacing After Colons and Periods}.)@refill
8962 8535
8963 @node Inserting Accents, Dots Bullets, Inserting Space, Insertions 8536 @node Dots Bullets, TeX and copyright, dmn, Insertions
8964 @section Inserting Accents 8537 @comment node-name, next, previous, up
8965
8966 @cindex Inserting accents
8967 @cindex Accents, inserting
8968 @cindex Floating accents, inserting
8969
8970 Here is a table with the commands Texinfo provides for inserting
8971 floating accents. The commands with non-alphabetic names do not take
8972 braces around their argument (which is taken to be the next character).
8973 (Exception: @code{@@,} @emph{does} take braces around its argument.)
8974 This is so as to make the source as convenient to type and read as
8975 possible, since accented characters are very common in some languages.
8976
8977 @findex "
8978 @cindex Umlaut accent
8979 @findex '
8980 @cindex Acute accent
8981 @findex =
8982 @cindex Macron accent
8983 @findex ^
8984 @cindex Circumflex accent
8985 @findex `
8986 @cindex Grave accent
8987 @findex ~
8988 @cindex Tilde accent
8989 @findex ,
8990 @cindex Cedilla accent
8991 @findex dotaccent
8992 @cindex Dot accent
8993 @findex H
8994 @cindex Hungariam umlaut accent
8995 @findex ringaccent
8996 @cindex Ring accent
8997 @findex tieaccent
8998 @cindex Tie-after accent
8999 @findex u
9000 @cindex Breve accent
9001 @findex ubaraccent
9002 @cindex Underbar accent
9003 @findex udotaccent
9004 @cindex Underdot accent
9005 @findex v
9006 @cindex Check accent
9007 @multitable {@@questiondown@{@}} {Output} {macron/overbar accent}
9008 @item Command @tab Output @tab What
9009 @item @t{@@"o} @tab @"o @tab umlaut accent
9010 @item @t{@@'o} @tab @'o @tab acute accent
9011 @item @t{@@,@{c@}} @tab @,{c} @tab cedilla accent
9012 @item @t{@@=o} @tab @=o @tab macron/overbar accent
9013 @item @t{@@^o} @tab @^o @tab circumflex accent
9014 @item @t{@@`o} @tab @`o @tab grave accent
9015 @item @t{@@~o} @tab @~o @tab tilde accent
9016 @item @t{@@dotaccent@{o@}} @tab @dotaccent{o} @tab overdot accent
9017 @item @t{@@H@{o@}} @tab @H{o} @tab long Hungarian umlaut
9018 @item @t{@@ringaccent@{o@}} @tab @ringaccent{o} @tab ring accent
9019 @item @t{@@tieaccent@{oo@}} @tab @tieaccent{oo} @tab tie-after accent
9020 @item @t{@@u@{o@}} @tab @u{o} @tab breve accent
9021 @item @t{@@ubaraccent@{o@}} @tab @ubaraccent{o} @tab underbar accent
9022 @item @t{@@udotaccent@{o@}} @tab @udotaccent{o} @tab underdot accent
9023 @item @t{@@v@{o@}} @tab @v{o} @tab hacek or check accent
9024 @end multitable
9025
9026 This table lists the Texinfo commands for inserting other characters
9027 commonly used in languages other than English.
9028
9029 @findex questiondown
9030 @cindex @questiondown{}
9031 @findex exclamdown
9032 @cindex @exclamdown{}
9033 @findex aa
9034 @cindex @aa{}
9035 @findex AA
9036 @cindex @AA{}
9037 @findex ae
9038 @cindex @ae{}
9039 @findex AE
9040 @cindex @AE{}
9041 @findex dotless
9042 @cindex @dotless{i}
9043 @cindex @dotless{j}
9044 @cindex Dotless i, j
9045 @findex l
9046 @cindex @l{}
9047 @findex L
9048 @cindex @L{}
9049 @findex o
9050 @cindex @o{}
9051 @findex O
9052 @cindex @O{}
9053 @findex oe
9054 @cindex @oe{}
9055 @findex OE
9056 @cindex @OE{}
9057 @findex ss
9058 @cindex @ss{}
9059 @cindex Es-zet
9060 @cindex Sharp S
9061 @cindex German S
9062 @multitable {@@questiondown@{@}} {oe,OE} {es-zet or sharp S}
9063 @item @t{@@exclamdown@{@}} @tab @exclamdown{} @tab upside-down !
9064 @item @t{@@questiondown@{@}} @tab @questiondown{} @tab upside-down ?
9065 @item @t{@@aa@{@},@@AA@{@}} @tab @aa{},@AA{} @tab A,a with circle
9066 @item @t{@@ae@{@},@@AE@{@}} @tab @ae{},@AE{} @tab ae,AE ligatures
9067 @item @t{@@dotless@{i@}} @tab @dotless{i} @tab dotless i
9068 @item @t{@@dotless@{j@}} @tab @dotless{j} @tab dotless j
9069 @item @t{@@l@{@},@@L@{@}} @tab @l{},@L{} @tab suppressed-L,l
9070 @item @t{@@o@{@},@@O@{@}} @tab @o{},@O{} @tab O,o with slash
9071 @item @t{@@oe@{@},@@OE@{@}} @tab @oe{},@OE{} @tab OE,oe ligatures
9072 @item @t{@@ss@{@}} @tab @ss{} @tab es-zet or sharp S
9073 @end multitable
9074
9075
9076 @node Dots Bullets, TeX and copyright, Inserting Accents, Insertions
9077 @section Inserting Ellipsis, Dots, and Bullets 8538 @section Inserting Ellipsis, Dots, and Bullets
9078 @cindex Dots, inserting 8539 @cindex Dots, inserting
9079 @cindex Bullets, inserting 8540 @cindex Bullets, inserting
9080 @cindex Ellipsis, inserting 8541 @cindex Ellipsis, inserting
9081 @cindex Inserting ellipsis 8542 @cindex Inserting ellipsis
9095 @menu 8556 @menu
9096 * dots:: How to insert dots @dots{} 8557 * dots:: How to insert dots @dots{}
9097 * bullet:: How to insert a bullet. 8558 * bullet:: How to insert a bullet.
9098 @end menu 8559 @end menu
9099 8560
9100
9101 @node dots, bullet, Dots Bullets, Dots Bullets 8561 @node dots, bullet, Dots Bullets, Dots Bullets
9102 @subsection @code{@@dots}@{@} (@dots{}) 8562 @comment node-name, next, previous, up
8563 @subsection @code{@@dots}@{@}
9103 @findex dots 8564 @findex dots
9104 @cindex Inserting dots 8565 @cindex Inserting dots
9105 @cindex Dots, inserting 8566 @cindex Dots, inserting
9106 8567
9107 Use the @code{@@dots@{@}} command to generate an ellipsis, which is 8568 Use the @code{@@dots@{@}} command to generate an ellipsis, which is
9108 three dots in a row, appropriately spaced, like this: `@dots{}'. Do 8569 three dots in a row, appropriately spaced, like this: `@dots{}'. Do
9109 not simply write three periods in the input file; that would work for 8570 not simply write three periods in the input file; that would work for
9110 the Info file output, but would produce the wrong amount of space 8571 the Info file output, but would produce the wrong amount of space
9111 between the periods in the printed manual. 8572 between the periods in the printed manual.@refill
9112 8573
9113 Similarly, the @code{@@enddots@{@}} command generates an 8574 Similarly, the @code{@@enddots@{@}} command helps you correctly set an
9114 end-of-sentence ellipsis (four dots) @enddots{} 8575 end-of-sentence ellipsis (four dots).
9115 8576
9116 @iftex 8577 @iftex
9117 Here is an ellipsis: @dots{} 8578 Here is an ellipsis: @dots{}
8579
9118 Here are three periods in a row: ... 8580 Here are three periods in a row: ...
9119 8581
9120 In printed output, the three periods in a row are closer together than 8582 In printed output, the three periods in a row are closer together than
9121 the dots in the ellipsis. 8583 the dots in the ellipsis.
9122 @end iftex 8584 @end iftex
9123 8585
9124
9125 @node bullet, , dots, Dots Bullets 8586 @node bullet, , dots, Dots Bullets
9126 @subsection @code{@@bullet}@{@} (@bullet{}) 8587 @comment node-name, next, previous, up
8588 @subsection @code{@@bullet}@{@}
9127 @findex bullet 8589 @findex bullet
9128 8590
9129 Use the @code{@@bullet@{@}} command to generate a large round dot, or 8591 Use the @code{@@bullet@{@}} command to generate a large round dot, or
9130 the closest possible thing to one. In Info, an asterisk is used.@refill 8592 the closest possible thing to one. In Info, an asterisk is used.@refill
9131 8593
9132 Here is a bullet: @bullet{} 8594 Here is a bullet: @bullet{}
9133 8595
9134 When you use @code{@@bullet} in @code{@@itemize}, you do not need to 8596 When you use @code{@@bullet} in @code{@@itemize}, you do not need to
9135 type the braces, because @code{@@itemize} supplies them. 8597 type the braces, because @code{@@itemize} supplies them.
9136 (@xref{itemize, , @code{@@itemize}}.)@refill 8598 (@xref{itemize, , @code{@@itemize}}.)@refill
9137 8599
9138 8600 @node TeX and copyright, minus, Dots Bullets, Insertions
9139 @node TeX and copyright, pounds, Dots Bullets, Insertions 8601 @comment node-name, next, previous, up
9140 @section Inserting @TeX{} and the Copyright Symbol 8602 @section Inserting @TeX{} and the Copyright Symbol
9141 8603
9142 The logo `@TeX{}' is typeset in a special fashion and it needs an 8604 The logo `@TeX{}' is typeset in a special fashion and it needs an
9143 @@-command. The copyright symbol, `@copyright{}', is also special. 8605 @@-command. The copyright symbol, `@copyright{}', is also special.
9144 Each of these commands is followed by a pair of braces, @samp{@{@}}, 8606 Each of these commands is followed by a pair of braces, @samp{@{@}},
9148 @menu 8610 @menu
9149 * tex:: How to insert the @TeX{} logo. 8611 * tex:: How to insert the @TeX{} logo.
9150 * copyright symbol:: How to use @code{@@copyright}@{@}. 8612 * copyright symbol:: How to use @code{@@copyright}@{@}.
9151 @end menu 8613 @end menu
9152 8614
9153
9154 @node tex, copyright symbol, TeX and copyright, TeX and copyright 8615 @node tex, copyright symbol, TeX and copyright, TeX and copyright
9155 @subsection @code{@@TeX}@{@} (@TeX{}) 8616 @comment node-name, next, previous, up
8617 @subsection @code{@@TeX}@{@}
9156 @findex tex (command) 8618 @findex tex (command)
9157 8619
9158 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed 8620 Use the @code{@@TeX@{@}} command to generate `@TeX{}'. In a printed
9159 manual, this is a special logo that is different from three ordinary 8621 manual, this is a special logo that is different from three ordinary
9160 letters. In Info, it just looks like @samp{TeX}. The 8622 letters. In Info, it just looks like @samp{TeX}. The
9161 @code{@@TeX@{@}} command is unique among Texinfo commands in that the 8623 @code{@@TeX@{@}} command is unique among Texinfo commands in that the
9162 @kbd{T} and the @kbd{X} are in upper case.@refill 8624 @key{T} and the @key{X} are in upper case.@refill
9163
9164 8625
9165 @node copyright symbol, , tex, TeX and copyright 8626 @node copyright symbol, , tex, TeX and copyright
9166 @subsection @code{@@copyright}@{@} (@copyright{}) 8627 @comment node-name, next, previous, up
8628 @subsection @code{@@copyright}@{@}
9167 @findex copyright 8629 @findex copyright
9168 8630
9169 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In 8631 Use the @code{@@copyright@{@}} command to generate `@copyright{}'. In
9170 a printed manual, this is a @samp{c} inside a circle, and in Info, 8632 a printed manual, this is a @samp{c} inside a circle, and in Info,
9171 this is @samp{(C)}.@refill 8633 this is @samp{(C)}.@refill
9172 8634
9173 8635 @node minus, math, TeX and copyright, Insertions
9174 @node pounds, minus, TeX and copyright, Insertions 8636 @section @code{@@minus}@{@}: Inserting a Minus Sign
9175 @section @code{@@pounds}@{@} (@pounds{}): Pounds Sterling
9176 @findex pounds
9177
9178 Use the @code{@@pounds@{@}} command to generate `@pounds{}'. In a
9179 printed manual, this is the symbol for the currency pounds sterling.
9180 In Info, it is a @samp{#}. Other currency symbols are unfortunately not
9181 available.
9182
9183
9184 @node minus, math, pounds, Insertions
9185 @section @code{@@minus}@{@} (@minus{}): Inserting a Minus Sign
9186 @findex minus 8637 @findex minus
9187 8638
9188 Use the @code{@@minus@{@}} command to generate a minus sign. In a 8639 Use the @code{@@minus@{@}} command to generate a minus sign. In a
9189 fixed-width font, this is a single hyphen, but in a proportional font, 8640 fixed-width font, this is a single hyphen, but in a proportional font,
9190 the symbol is the customary length for a minus sign---a little longer 8641 the symbol is the customary length for a minus sign---a little longer
9191 than a hyphen, shorter than an em-dash: 8642 than a hyphen.@refill
8643
8644 You can compare the two forms:
9192 8645
9193 @display 8646 @display
9194 @samp{@minus{}} is a minus sign generated with @samp{@@minus@{@}}, 8647 @samp{@minus{}} is a minus sign generated with @samp{@@minus@{@}},
9195 8648
9196 `-' is a hyphen generated with the character @samp{-}, 8649 `-' is a hyphen generated with the character @samp{-}.
9197
9198 `---' is an em-dash for text.
9199 @end display 8650 @end display
9200 8651
9201 @noindent 8652 @noindent
9202 In the fixed-width font used by Info, @code{@@minus@{@}} is the same 8653 In the fixed-width font used by Info, @code{@@minus@{@}} is the same
9203 as a hyphen. 8654 as a hyphen.@refill
9204 8655
9205 You should not use @code{@@minus@{@}} inside @code{@@code} or 8656 You should not use @code{@@minus@{@}} inside @code{@@code} or
9206 @code{@@example} because the width distinction is not made in the 8657 @code{@@example} because the width distinction is not made in the
9207 fixed-width font they use. 8658 fixed-width font they use.@refill
9208 8659
9209 When you use @code{@@minus} to specify the mark beginning each entry in 8660 When you use @code{@@minus} to specify the mark beginning each entry in
9210 an itemized list, you do not need to type the braces 8661 an itemized list, you do not need to type the braces
9211 (@pxref{itemize, , @code{@@itemize}}.) 8662 (@pxref{itemize, , @code{@@itemize}}.)@refill
9212 8663
9213 8664 @node math, , minus, Insertions
9214 @node math, Glyphs, minus, Insertions 8665 @comment node-name, next, previous, up
9215 @section @code{@@math}: Inserting Mathematical Expressions 8666 @section @code{@@math}: Inserting Mathematical Expressions
9216 @findex math 8667 @findex math
9217 @cindex Mathematical expressions 8668 @cindex Mathematical expressions
9218 8669
9219 You can write a short mathematical expression with the @code{@@math} 8670 You can write a short mathematical expression with the @code{@@math}
9242 8693
9243 @example 8694 @example
9244 (a + b)(a + b) = a^2 + 2ab + b^2 8695 (a + b)(a + b) = a^2 + 2ab + b^2
9245 @end example 8696 @end example
9246 8697
9247 Thus, the @code{@@math} command has no effect on the Info output. 8698 The @code{@@math} command has no effect on the Info output. Currently,
9248 8699 it has limited effect on typeset output. However, this may change since
9249 For complex mathematical expressions, you can also use @TeX{} directly 8700 @TeX{} itself is designed for mathematical typesetting and does a
9250 (@pxref{Raw Formatter Commands}). When you use @TeX{} directly, 8701 splendid job.
9251 remember to write the mathematical expression between one or two 8702
9252 @samp{$} (dollar-signs) as appropriate. 8703 Certainly, for complex mathematical expressions, you could use @TeX{}
9253 8704 directly. @xref{Using Ordinary TeX Commands, , Using Ordinary @TeX{}
9254 8705 Commands}. When you use @TeX{} directly, remember to write the
9255 @node Glyphs, Images, math, Insertions 8706 mathematical expression between one or two @samp{$} (dollar-signs) as
9256 @section Glyphs for Examples 8707 appropriate.
8708
8709 @node Glyphs, Breaks, Insertions, Top
8710 @comment node-name, next, previous, up
8711 @chapter Glyphs for Examples
9257 @cindex Glyphs 8712 @cindex Glyphs
9258 8713
9259 In Texinfo, code is often illustrated in examples that are delimited 8714 In Texinfo, code is often illustrated in examples that are delimited
9260 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and 8715 by @code{@@example} and @code{@@end example}, or by @code{@@lisp} and
9261 @code{@@end lisp}. In such examples, you can indicate the results of 8716 @code{@@end lisp}. In such examples, you can indicate the results of
9262 evaluation or an expansion using @samp{@result{}} or 8717 evaluation or an expansion using @samp{@result{}} or
9263 @samp{@expansion{}}. Likewise, there are commands to insert glyphs 8718 @samp{@expansion{}}. Likewise, there are commands to insert glyphs
9264 to indicate 8719 to indicate
9265 printed output, error messages, equivalence of expressions, and the 8720 printed output, error messages, equivalence of expressions, and the
9266 location of point.@refill 8721 location of point.@refill
9267 8722
9268 The glyph-insertion commands do not need to be used within an example, but 8723 The glyph-insertion commands do not need to be used within an example, but
9279 * Point Glyph:: How to indicate the location of point. 8734 * Point Glyph:: How to indicate the location of point.
9280 @end menu 8735 @end menu
9281 8736
9282 @node Glyphs Summary, result, Glyphs, Glyphs 8737 @node Glyphs Summary, result, Glyphs, Glyphs
9283 @ifinfo 8738 @ifinfo
9284 @subheading Glyphs Summary 8739 @heading Glyphs Summary
9285 8740
9286 Here are the different glyph commands:@refill 8741 Here are the different glyph commands:@refill
9287 @end ifinfo 8742 @end ifinfo
9288 8743
9289 @table @asis 8744 @table @asis
9305 8760
9306 @item @point{} 8761 @item @point{}
9307 @code{@@point@{@}} shows the location of point.@refill 8762 @code{@@point@{@}} shows the location of point.@refill
9308 @end table 8763 @end table
9309 8764
9310
9311 @menu
9312 * result::
9313 * expansion::
9314 * Print Glyph::
9315 * Error Glyph::
9316 * Equivalence::
9317 * Point Glyph::
9318 @end menu
9319
9320 @node result, expansion, Glyphs Summary, Glyphs 8765 @node result, expansion, Glyphs Summary, Glyphs
9321 @subsection @code{@@result@{@}} (@result{}): Indicating Evaluation 8766 @section @result{}: Indicating Evaluation
9322 @cindex Result of an expression 8767 @cindex Result of an expression
9323 @cindex Indicating evaluation 8768 @cindex Indicating evaluation
9324 @cindex Evaluation glyph 8769 @cindex Evaluation glyph
9325 @cindex Value of an expression, indicating 8770 @cindex Value of an expression, indicating
9326 8771
9344 @end lisp 8789 @end lisp
9345 8790
9346 @noindent 8791 @noindent
9347 may be read as ``@code{(cdr '(1 2 3))} evaluates to @code{(2 3)}''. 8792 may be read as ``@code{(cdr '(1 2 3))} evaluates to @code{(2 3)}''.
9348 8793
9349
9350 @node expansion, Print Glyph, result, Glyphs 8794 @node expansion, Print Glyph, result, Glyphs
9351 @subsection @code{@@expansion@{@}} (@expansion{}): Indicating an Expansion 8795 @section @expansion{}: Indicating an Expansion
9352 @cindex Expansion, indicating it 8796 @cindex Expansion, indicating it
9353 8797
9354 When an expression is a macro call, it expands into a new expression. 8798 When an expression is a macro call, it expands into a new expression.
9355 You can indicate the result of the expansion with the 8799 You can indicate the result of the expansion with the
9356 @code{@@expansion@{@}} command.@refill 8800 @code{@@expansion@{@}} command.@refill
9387 @result{} c 8831 @result{} c
9388 @end group 8832 @end group
9389 @end lisp 8833 @end lisp
9390 8834
9391 @noindent 8835 @noindent
9392 which may be read as: 8836 which may be read as:
9393 8837
9394 @quotation 8838 @quotation
9395 @code{(third '(a b c))} expands to @code{(car (cdr (cdr '(a b c))))}; 8839 @code{(third '(a b c))} expands to @code{(car (cdr (cdr '(a b c))))};
9396 the result of evaluating the expression is @code{c}. 8840 the result of evaluating the expression is @code{c}.
9397 @end quotation 8841 @end quotation
9399 @noindent 8843 @noindent
9400 Often, as in this case, an example looks better if the 8844 Often, as in this case, an example looks better if the
9401 @code{@@expansion@{@}} and @code{@@result@{@}} commands are indented 8845 @code{@@expansion@{@}} and @code{@@result@{@}} commands are indented
9402 five spaces.@refill 8846 five spaces.@refill
9403 8847
9404
9405 @node Print Glyph, Error Glyph, expansion, Glyphs 8848 @node Print Glyph, Error Glyph, expansion, Glyphs
9406 @subsection @code{@@print@{@}} (@print{}): Indicating Printed Output 8849 @section @print{}: Indicating Printed Output
9407 @cindex Printed output, indicating it 8850 @cindex Printed output, indicating it
9408 8851
9409 Sometimes an expression will print output during its execution. You 8852 Sometimes an expression will print output during its execution. You
9410 can indicate the printed output with the @code{@@print@{@}} command.@refill 8853 can indicate the printed output with the @code{@@print@{@}} command.@refill
9411 8854
9444 @@result@{@} bar 8887 @@result@{@} bar
9445 @@end lisp 8888 @@end lisp
9446 @end group 8889 @end group
9447 @end lisp 8890 @end lisp
9448 8891
9449
9450 @node Error Glyph, Equivalence, Print Glyph, Glyphs 8892 @node Error Glyph, Equivalence, Print Glyph, Glyphs
9451 @subsection @code{@@error@{@}} (@error{}): Indicating an Error Message 8893 @section @error{}: Indicating an Error Message
9452 @cindex Error message, indicating it 8894 @cindex Error message, indicating it
9453 8895
9454 A piece of code may cause an error when you evaluate it. You can 8896 A piece of code may cause an error when you evaluate it. You can
9455 designate the error message with the @code{@@error@{@}} command.@refill 8897 designate the error message with the @code{@@error@{@}} command.@refill
9456 8898
9487 8929
9488 @lisp 8930 @lisp
9489 Wrong type argument: integer-or-marker-p, x 8931 Wrong type argument: integer-or-marker-p, x
9490 @end lisp 8932 @end lisp
9491 8933
9492 @samp{@error{}} itself is not part of the error message. 8934 Note that @samp{@error{}} itself is not part of the error
9493 8935 message.
9494 8936
9495 @node Equivalence, Point Glyph, Error Glyph, Glyphs 8937 @node Equivalence, Point Glyph, Error Glyph, Glyphs
9496 @subsection @code{@@equiv@{@}} (@equiv{}): Indicating Equivalence 8938 @section @equiv{}: Indicating Equivalence
9497 @cindex Equivalence, indicating it 8939 @cindex Equivalence, indicating it
9498 8940
9499 Sometimes two expressions produce identical results. You can indicate the 8941 Sometimes two expressions produce identical results. You can indicate the
9500 exact equivalence of two forms with the @code{@@equiv@{@}} command.@refill 8942 exact equivalence of two forms with the @code{@@equiv@{@}} command.@refill
9501 8943
9525 8967
9526 @noindent 8968 @noindent
9527 This indicates that evaluating @code{(make-sparse-keymap)} produces 8969 This indicates that evaluating @code{(make-sparse-keymap)} produces
9528 identical results to evaluating @code{(list 'keymap)}. 8970 identical results to evaluating @code{(list 'keymap)}.
9529 8971
9530 8972 @c Cannot write point command here because it causes trouble with TOC.
9531 @node Point Glyph, , Equivalence, Glyphs 8973 @node Point Glyph, , Equivalence, Glyphs
9532 @subsection @code{@@point@{@}} (@point{}): Indicating Point in a Buffer 8974 @section Indicating Point in a Buffer
9533 @cindex Point, indicating it in a buffer 8975 @cindex Point, indicating it in a buffer
9534 8976
9535 Sometimes you need to show an example of text in an Emacs buffer. In 8977 Sometimes you need to show an example of text in an Emacs buffer. In
9536 such examples, the convention is to include the entire contents of the 8978 such examples, the convention is to include the entire contents of the
9537 buffer in question between two lines of dashes containing the buffer 8979 buffer in question between two lines of dashes containing the buffer
9588 This is the changed @@point@{@}contents of foo. 9030 This is the changed @@point@{@}contents of foo.
9589 ---------- Buffer: foo ---------- 9031 ---------- Buffer: foo ----------
9590 @@end example 9032 @@end example
9591 @end example 9033 @end example
9592 9034
9593 9035 @node Breaks, Definition Commands, Glyphs, Top
9594 @c this should be described with figures when we have them 9036 @comment node-name, next, previous, up
9595 @c perhaps in the quotation/example chapter.
9596 @node Images, , Glyphs, Insertions
9597 @section Inserting Images
9598
9599 @cindex Images, inserting
9600 @cindex Pictures, inserting
9601 @findex image
9602
9603 You can insert an image in an external file with the @code{@@image}
9604 command:
9605
9606 @example
9607 @@image@{@var{filename}, @r{[}@var{width}@r{]}, @r{[}@var{height}@r{]}@}
9608 @end example
9609
9610 @cindex Formats for images
9611 @cindex Image formats
9612 The @var{filename} argument is mandatory, and must not have an
9613 extension, because the different processors support different formats:
9614 @TeX{} reads the file @file{@var{filename}.eps} (Encapsulated PostScript
9615 format); @code{makeinfo} uses @file{@var{filename}.txt} verbatim for
9616 Info output (more or less as if it was an @code{@@example}). HTML
9617 output requires @file{@var{filename}.jpg}.
9618
9619 @cindex Width of images
9620 @cindex Height of images
9621 @cindex Aspect ratio of images
9622 @cindex Distorting images
9623 The optional @var{width} and @var{height} arguments specify the size to
9624 scale the image to (they are ignored for Info output). If they are both
9625 specified, the image is presented in its natural size (given in the
9626 file); if only one is specified, the other is scaled proportionately;
9627 and if both are specified, both are respected, thus possibly distorting
9628 the original image by changing its aspect ratio.
9629
9630 @cindex Dimensions and image sizes
9631 The @var{width} and @var{height} may be specified using any valid @TeX{}
9632 dimension, namely:
9633
9634 @table @asis
9635 @item pt
9636 @cindex Points (dimension)
9637 point (72.27pt = 1in)
9638 @item pc
9639 @cindex Picas
9640 pica (1pc = 12pt)
9641 @item bp
9642 @cindex Big points
9643 big point (72bp = 1in)
9644 @item in
9645 @cindex Inches
9646 inch
9647 @item cm
9648 @cindex Centimeters
9649 centimeter (2.54cm = 1in)
9650 @item mm
9651 @cindex Millimeters
9652 millimeter (10mm = 1cm)
9653 @item dd
9654 @cindex Did@^ot points
9655 did@^ot point (1157dd = 1238pt)
9656 @item cc
9657 @cindex Ciceros
9658 cicero (1cc = 12dd)
9659 @item sp
9660 @cindex Scaled points
9661 scaled point (65536sp = 1pt)
9662 @end table
9663
9664 @pindex ridt.eps
9665 For example, the following will scale a file @file{ridt.eps} to one
9666 inch vertically, with the width scaled proportionately:
9667
9668 @example
9669 @@image@{ridt,,1in@}
9670 @end example
9671
9672 @pindex epsf.tex
9673 For @code{@@image} to work with @TeX{}, the file @file{epsf.tex} must be
9674 installed somewhere that @TeX{} can find it. This file is included in
9675 the Texinfo distribution and is available from
9676 @uref{ftp://ftp.tug.org/tex/epsf.tex}.
9677
9678
9679 @node Breaks, Definition Commands, Insertions, Top
9680 @chapter Making and Preventing Breaks 9037 @chapter Making and Preventing Breaks
9681 @cindex Making line and page breaks 9038 @cindex Making line and page breaks
9682 @cindex Preventing line and page breaks 9039 @cindex Preventing line and page breaks
9683 9040
9684 Usually, a Texinfo file is processed both by @TeX{} and by one of the 9041 Usually, a Texinfo file is processed both by @TeX{} and by one of the
9696 commands.@refill 9053 commands.@refill
9697 9054
9698 @menu 9055 @menu
9699 * Break Commands:: Cause and prevent splits. 9056 * Break Commands:: Cause and prevent splits.
9700 * Line Breaks:: How to force a single line to use two lines. 9057 * Line Breaks:: How to force a single line to use two lines.
9701 * - and hyphenation:: How to tell TeX about hyphenation points. 9058 * w:: How to prevent unwanted line breaks.
9702 * w:: How to prevent unwanted line breaks.
9703 * sp:: How to insert blank lines. 9059 * sp:: How to insert blank lines.
9704 * page:: How to force the start of a new page. 9060 * page:: How to force the start of a new page.
9705 * group:: How to prevent unwanted page breaks. 9061 * group:: How to prevent unwanted page breaks.
9706 * need:: Another way to prevent unwanted page breaks. 9062 * need:: Another way to prevent unwanted page breaks.
9707 @end menu 9063 @end menu
9712 @end ifinfo 9068 @end ifinfo
9713 @iftex 9069 @iftex
9714 @sp 1 9070 @sp 1
9715 @end iftex 9071 @end iftex
9716 9072
9717 The break commands create or allow line and paragraph breaks:@refill 9073 The break commands create line and paragraph breaks:@refill
9718 9074
9719 @table @code 9075 @table @code
9720 @item @@* 9076 @item @@*
9721 Force a line break. 9077 Force a line break.
9722 9078
9723 @item @@sp @var{n} 9079 @item @@sp @var{n}
9724 Skip @var{n} blank lines.@refill 9080 Skip @var{n} blank lines.@refill
9725
9726 @item @@-
9727 Insert a discretionary hyphen.
9728
9729 @item @@hyphenation@{@var{hy-phen-a-ted words}@}
9730 Define hyphen points in @var{hy-phen-a-ted words}.
9731 @end table 9081 @end table
9082 @iftex
9083 @sp 1
9084 @end iftex
9732 9085
9733 The line-break-prevention command holds text together all on one 9086 The line-break-prevention command holds text together all on one
9734 line:@refill 9087 line:@refill
9735 9088
9736 @table @code 9089 @table @code
9753 9106
9754 @item @@need @var{mils} 9107 @item @@need @var{mils}
9755 Start a new printed page if not enough space on this one.@refill 9108 Start a new printed page if not enough space on this one.@refill
9756 @end table 9109 @end table
9757 9110
9758 @node Line Breaks, - and hyphenation, Break Commands, Breaks 9111 @node Line Breaks, w, Break Commands, Breaks
9759 @comment node-name, next, previous, up 9112 @comment node-name, next, previous, up
9760 @section @code{@@*}: Generate Line Breaks 9113 @section @code{@@*}: Generate Line Breaks
9761 @findex * @r{(force line break)} 9114 @findex * @r{(force line break)}
9762 @cindex Line breaks 9115 @cindex Line breaks
9763 @cindex Breaks in a line 9116 @cindex Breaks in a line
9809 containing an @code{@@*} command; it will cause the paragraph to be 9162 containing an @code{@@*} command; it will cause the paragraph to be
9810 refilled after the line break occurs, negating the effect of the line 9163 refilled after the line break occurs, negating the effect of the line
9811 break.@refill 9164 break.@refill
9812 @end quotation 9165 @end quotation
9813 9166
9814 @node - and hyphenation, w, Line Breaks, Breaks 9167 @node w, sp, Line Breaks, Breaks
9815 @section @code{@@-} and @code{@@hyphenation}: Helping @TeX{} hyphenate
9816
9817 @findex -
9818 @findex hyphenation
9819 @cindex Hyphenation, helping @TeX{} do
9820 @cindex Fine-tuning, and hyphenation
9821
9822 Although @TeX{}'s hyphenation algorithm is generally pretty good, it
9823 does miss useful hyphenation points from time to time. (Or, far more
9824 rarely, insert an incorrect hyphenation.) So, for documents with an
9825 unusual vocabulary or when fine-tuning for a printed edition, you may
9826 wish to help @TeX{} out. Texinfo supports two commands for this:
9827
9828 @table @code
9829 @item @@-
9830 Insert a discretionary hyphen, i.e., a place where @TeX{} can (but does
9831 not have to) hyphenate. This is especially useful when you notice
9832 an overfull hbox is due to @TeX{} missing a hyphenation (@pxref{Overfull
9833 hboxes}). @TeX{} will not insert any hyphenation points in a word
9834 containing @code{@@-}.
9835
9836 @item @@hyphenation@{@var{hy-phen-a-ted words}@}
9837 Tell @TeX{} how to hyphenate @var{hy-phen-a-ted words}. As shown, you
9838 put a @samp{-} at each hyphenation point. For example:
9839 @example
9840 @@hyphenation@{man-u-script man-u-scripts@}
9841 @end example
9842 @noindent @TeX{} only uses the specified hyphenation points when the
9843 words match exactly, so give all necessary variants.
9844 @end table
9845
9846 Info output is not hyphenated, so these commands have no effect there.
9847
9848 @node w, sp, - and hyphenation, Breaks
9849 @comment node-name, next, previous, up 9168 @comment node-name, next, previous, up
9850 @section @code{@@w}@{@var{text}@}: Prevent Line Breaks 9169 @section @code{@@w}@{@var{text}@}: Prevent Line Breaks
9851 @findex w @r{(prevent line break)} 9170 @findex w @r{(prevent line break)}
9852 @cindex Line breaks, preventing 9171 @cindex Line breaks, preventing
9853 @cindex Hyphenation, preventing
9854 9172
9855 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks 9173 @code{@@w@{@var{text}@}} outputs @var{text} and prohibits line breaks
9856 within @var{text}.@refill 9174 within @var{text}.@refill
9857 9175
9858 You can use the @code{@@w} command to prevent @TeX{} from automatically 9176 You can use the @code{@@w} command to prevent @TeX{} from automatically
9859 hyphenating a long name or phrase that happens to fall near the end of a 9177 hyphenating a long name or phrase that accidentally falls near the end
9860 line.@refill 9178 of a line.@refill
9861 9179
9862 @example 9180 @example
9863 You can copy GNU software from @@w@{@@samp@{ftp.gnu.ai.mit.edu@}@}. 9181 You can copy GNU software from @@w@{@@file@{prep.ai.mit.edu@}@}.
9864 @end example 9182 @end example
9865 9183
9866 @noindent 9184 @noindent
9867 produces 9185 produces
9868 9186
9869 @quotation 9187 @quotation
9870 You can copy GNU software from @w{@samp{ftp.gnu.ai.mit.edu}}. 9188 You can copy GNU software from @w{@file{prep.ai.mit.edu}}.
9871 @end quotation 9189 @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
9872 9193
9873 @quotation 9194 @quotation
9874 @strong{Caution:} Do not write an @code{@@refill} command at the end 9195 @strong{Caution:} Do not write an @code{@@refill} command at the end
9875 of a paragraph containing an @code{@@w} command; it will cause the 9196 of a paragraph containing an @code{@@w} command; it will cause the
9876 paragraph to be refilled and may thereby negate the effect of the 9197 paragraph to be refilled and may thereby negate the effect of the
9893 @example 9214 @example
9894 @@sp 2 9215 @@sp 2
9895 @end example 9216 @end example
9896 9217
9897 @noindent 9218 @noindent
9898 generates two blank lines. 9219 generates two blank lines.
9899 9220
9900 The @code{@@sp} command is most often used in the title page.@refill 9221 The @code{@@sp} command is most often used in the title page.@refill
9901 9222
9902 @ignore 9223 @ignore
9903 @c node br, page, sp, Breaks 9224 @c node br, page, sp, Breaks
9926 @noindent 9247 @noindent
9927 produces 9248 produces
9928 9249
9929 @example 9250 @example
9930 @group 9251 @group
9931 This line 9252 This line
9932 9253
9933 contains and is ended by paragraph breaks 9254 contains and is ended by paragraph breaks
9934 9255
9935 and is followed by another line. 9256 and is followed by another line.
9936 @end group 9257 @end group
10099 For example, 9420 For example,
10100 9421
10101 @example 9422 @example
10102 @group 9423 @group
10103 @@deffn Command forward-word count 9424 @@deffn Command forward-word count
10104 This command moves point forward @@var@{count@} words 9425 This command moves point forward @@var@{count@} words
10105 (or backward if @@var@{count@} is negative). @dots{} 9426 (or backward if @@var@{count@} is negative). @dots{}
10106 @@end deffn 9427 @@end deffn
10107 @end group 9428 @end group
10108 @end example 9429 @end example
10109 9430
10121 category contains spaces, as in the phrase `Interactive Command', 9442 category contains spaces, as in the phrase `Interactive Command',
10122 write braces around it. For example:@refill 9443 write braces around it. For example:@refill
10123 9444
10124 @example 9445 @example
10125 @group 9446 @group
10126 @@deffn @{Interactive Command@} isearch-forward 9447 @@deffn @{Interactive Command@} isearch-forward
10127 @dots{} 9448 @dots{}
10128 @@end deffn 9449 @@end deffn
10129 @end group 9450 @end group
10130 @end example 9451 @end example
10131 9452
10132 @noindent 9453 @noindent
10138 for functions and the like---for entities that may take arguments. When 9459 for functions and the like---for entities that may take arguments. When
10139 you use this command, you specify the category to which the entity 9460 you use this command, you specify the category to which the entity
10140 belongs. The @code{@@deffn} command possesses three predefined, 9461 belongs. The @code{@@deffn} command possesses three predefined,
10141 specialized variations, @code{@@defun}, @code{@@defmac}, and 9462 specialized variations, @code{@@defun}, @code{@@defmac}, and
10142 @code{@@defspec}, that specify the category for you: ``Function'', 9463 @code{@@defspec}, that specify the category for you: ``Function'',
10143 ``Macro'', and ``Special Form'' respectively. (In Lisp, a special form 9464 ``Macro'', and ``Special Form'' respectively. The @code{@@defvr}
10144 is an entity much like a function.) The @code{@@defvr} command also is 9465 command also is accompanied by several predefined, specialized
10145 accompanied by several predefined, specialized variations for describing 9466 variations for describing particular kinds of variables.@refill
10146 particular kinds of variables.@refill
10147 9467
10148 The template for a specialized definition, such as @code{@@defun}, is 9468 The template for a specialized definition, such as @code{@@defun}, is
10149 similar to the template for a generalized definition, except that you 9469 similar to the template for a generalized definition, except that you
10150 do not need to specify the category:@refill 9470 do not need to specify the category:@refill
10151 9471
10152 @example 9472 @example
10153 @group 9473 @group
10154 @@defun @var{name} @var{arguments}@dots{} 9474 @@defun @var{name} @var{arguments}@dots{}
10155 @var{body-of-definition} 9475 @var{body-of-definition}
10156 @@end defun 9476 @@end defun
10157 @end group 9477 @end group
10158 @end example 9478 @end example
10159 9479
10160 @noindent 9480 @noindent
10161 Thus, 9481 Thus,
10162 9482
10163 @example 9483 @example
10164 @group 9484 @group
10165 @@defun buffer-end flag 9485 @@defun buffer-end flag
10166 This function returns @@code@{(point-min)@} if @@var@{flag@} 9486 This function returns @@code@{(point-min)@} if @@var@{flag@}
10167 is less than 1, @@code@{(point-max)@} otherwise. 9487 is less than 1, @@code@{(point-max)@} otherwise.
10168 @dots{} 9488 @dots{}
10169 @@end defun 9489 @@end defun
10170 @end group 9490 @end group
10171 @end example 9491 @end example
10172 9492
10173 @noindent 9493 @noindent
10204 9524
10205 @iftex 9525 @iftex
10206 An argument enclosed within square brackets is optional. 9526 An argument enclosed within square brackets is optional.
10207 Thus, the phrase 9527 Thus, the phrase
10208 @samp{@code{@r{[}@var{optional-arg}@r{]}}} means that 9528 @samp{@code{@r{[}@var{optional-arg}@r{]}}} means that
10209 @var{optional-arg} is optional. 9529 @var{optional-arg} is optional.
10210 An argument followed by an ellipsis is optional 9530 An argument followed by an ellipsis is optional
10211 and may be repeated more than once. 9531 and may be repeated more than once.
10212 @c This is consistent with Emacs Lisp Reference manual 9532 @c This is consistent with Emacs Lisp Reference manual
10213 Thus, @samp{@var{repeated-args}@dots{}} stands for zero or more arguments. 9533 Thus, @samp{@var{repeated-args}@dots{}} stands for zero or more arguments.
10214 Parentheses are used when several arguments are grouped 9534 Parentheses are used when several arguments are grouped
10215 into additional levels of list structure in Lisp. 9535 into additional levels of list structure in Lisp.
10216 @end iftex 9536 @end iftex
10217 @c The following looks better in Info (no `r', `samp' and `code'): 9537 @c The following looks better in Info (no `r', `samp' and `code'):
10218 @ifinfo 9538 @ifinfo
10219 An argument enclosed within square brackets is optional. 9539 An argument enclosed within square brackets is optional.
10220 Thus, [@var{optional-arg}] means that @var{optional-arg} is optional. 9540 Thus, [@var{optional-arg}] means that @var{optional-arg} is optional.
10221 An argument followed by an ellipsis is optional 9541 An argument followed by an ellipsis is optional
10222 and may be repeated more than once. 9542 and may be repeated more than once.
10223 @c This is consistent with Emacs Lisp Reference manual 9543 @c This is consistent with Emacs Lisp Reference manual
10224 Thus, @var{repeated-args}@dots{} stands for zero or more arguments. 9544 Thus, @var{repeated-args}@dots{} stands for zero or more arguments.
10225 Parentheses are used when several arguments are grouped 9545 Parentheses are used when several arguments are grouped
10226 into additional levels of list structure in Lisp. 9546 into additional levels of list structure in Lisp.
10227 @end ifinfo 9547 @end ifinfo
10228 9548
10229 Here is the @code{@@defspec} line of an example of an imaginary 9549 Here is the @code{@@defspec} line of an example of an imaginary
10276 @need 1000 9596 @need 1000
10277 For example, 9597 For example,
10278 9598
10279 @example 9599 @example
10280 @group 9600 @group
10281 @@deffn @{Interactive Command@} isearch-forward 9601 @@deffn @{Interactive Command@} isearch-forward
10282 @@deffnx @{Interactive Command@} isearch-backward 9602 @@deffnx @{Interactive Command@} isearch-backward
10283 These two search commands are similar except @dots{} 9603 These two search commands are similar except @dots{}
10284 @@end deffn 9604 @@end deffn
10285 @end group 9605 @end group
10286 @end example 9606 @end example
10287 9607
10288 @noindent 9608 @noindent
10289 produces 9609 produces
10290 9610
10291 @deffn {Interactive Command} isearch-forward 9611 @deffn {Interactive Command} isearch-forward
10292 @deffnx {Interactive Command} isearch-backward 9612 @deffnx {Interactive Command} isearch-backward
10293 These two search commands are similar except @dots{} 9613 These two search commands are similar except @dots{}
10294 @end deffn 9614 @end deffn
10295 9615
10296 Each of the other definition commands has an `x' form: @code{@@defunx}, 9616 Each of the other definition commands has an `x' form: @code{@@defunx},
10297 @code{@@defvrx}, @code{@@deftypefunx}, etc. 9617 @code{@@defvrx}, @code{@@deftypefunx}, etc.
10298 9618
10344 @need 750 9664 @need 750
10345 For example, here is a definition: 9665 For example, here is a definition:
10346 9666
10347 @example 9667 @example
10348 @group 9668 @group
10349 @@deffn Command forward-char nchars 9669 @@deffn Command forward-char nchars
10350 Move point forward @@var@{nchars@} characters. 9670 Move point forward @@var@{nchars@} characters.
10351 @@end deffn 9671 @@end deffn
10352 @end group 9672 @end group
10353 @end example 9673 @end example
10354 9674
10366 The template for @code{@@deffn} is: 9686 The template for @code{@@deffn} is:
10367 9687
10368 @example 9688 @example
10369 @group 9689 @group
10370 @@deffn @var{category} @var{name} @var{arguments}@dots{} 9690 @@deffn @var{category} @var{name} @var{arguments}@dots{}
10371 @var{body-of-definition} 9691 @var{body-of-definition}
10372 @@end deffn 9692 @@end deffn
10373 @end group 9693 @end group
10374 @end example 9694 @end example
10375 9695
10376 @findex defun 9696 @findex defun
10401 9721
10402 The template is: 9722 The template is:
10403 9723
10404 @example 9724 @example
10405 @group 9725 @group
10406 @@defun @var{function-name} @var{arguments}@dots{} 9726 @@defun @var{function-name} @var{arguments}@dots{}
10407 @var{body-of-definition} 9727 @var{body-of-definition}
10408 @@end defun 9728 @@end defun
10409 @end group 9729 @end group
10410 @end example 9730 @end example
10411 9731
10418 works like @code{@@defun}.@refill 9738 works like @code{@@defun}.@refill
10419 9739
10420 @findex defspec 9740 @findex defspec
10421 @item @@defspec @var{name} @var{arguments}@dots{} 9741 @item @@defspec @var{name} @var{arguments}@dots{}
10422 The @code{@@defspec} command is the definition command for special 9742 The @code{@@defspec} command is the definition command for special
10423 forms. (In Lisp, a special form is an entity much like a function, 9743 forms. (In Lisp, a special form is an entity much like a function.)
10424 @pxref{Special Forms,,, elisp, GNU Emacs Lisp Reference Manual}.)
10425 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@} 9744 @code{@@defspec} is equivalent to @samp{@@deffn @{Special Form@}
10426 @dots{}} and works like @code{@@defun}.@refill 9745 @dots{}} and works like @code{@@defun}.@refill
10427 @end table 9746 @end table
10428 9747
10429 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail 9748 @node Variables Commands, Typed Functions, Functions Commands, Def Cmds in Detail
10441 example, ``Variable'' could be used if the entity is a variable. 9760 example, ``Variable'' could be used if the entity is a variable.
10442 Write the @code{@@defvr} command at the beginning of a line and 9761 Write the @code{@@defvr} command at the beginning of a line and
10443 followed it on the same line by the category of the entity and the 9762 followed it on the same line by the category of the entity and the
10444 name of the entity.@refill 9763 name of the entity.@refill
10445 9764
10446 Capitalize the category name like a title. If the name of the category 9765 Capitalize the category name like a title. If the name of the
10447 contains spaces, as in the name ``User Option'', enclose it in braces. 9766 category contains spaces, as in the name `User Option', write braces
10448 Otherwise, the second word will be mistaken for the name of the entity. 9767 around it. Otherwise, the second word will be mistaken for the name
10449 For example, 9768 of the entity, for example:
10450 9769
10451 @example 9770 @example
10452 @group 9771 @group
10453 @@defvr @{User Option@} fill-column 9772 @@defvr @{User Option@} fill-column
10454 This buffer-local variable specifies 9773 This buffer-local variable specifies
10455 the maximum width of filled lines. 9774 the maximum width of filled lines.
10456 @dots{} 9775 @dots{}
10457 @@end defvr 9776 @@end defvr
10458 @end group 9777 @end group
10459 @end example 9778 @end example
10460 9779
10461 Terminate the definition with @code{@@end defvr} on a line of its 9780 Terminate the definition with @code{@@end defvr} on a line of its
10463 9782
10464 The template is: 9783 The template is:
10465 9784
10466 @example 9785 @example
10467 @group 9786 @group
10468 @@defvr @var{category} @var{name} 9787 @@defvr @var{category} @var{name}
10469 @var{body-of-definition} 9788 @var{body-of-definition}
10470 @@end defvr 9789 @@end defvr
10471 @end group 9790 @end group
10472 @end example 9791 @end example
10473 9792
10474 @code{@@defvr} creates an entry in the index of variables for @var{name}. 9793 @code{@@defvr} creates an entry in the index of variables for @var{name}.
10482 @need 750 9801 @need 750
10483 For example: 9802 For example:
10484 9803
10485 @example 9804 @example
10486 @group 9805 @group
10487 @@defvar kill-ring 9806 @@defvar kill-ring
10488 @dots{} 9807 @dots{}
10489 @@end defvar 9808 @@end defvar
10490 @end group 9809 @end group
10491 @end example 9810 @end example
10492 9811
10493 The template is: 9812 The template is:
10494 9813
10495 @example 9814 @example
10496 @group 9815 @group
10497 @@defvar @var{name} 9816 @@defvar @var{name}
10498 @var{body-of-definition} 9817 @var{body-of-definition}
10499 @@end defvar 9818 @@end defvar
10500 @end group 9819 @end group
10501 @end example 9820 @end example
10502 9821
10503 @code{@@defvar} creates an entry in the index of variables for 9822 @code{@@defvar} creates an entry in the index of variables for
10504 @var{name}.@refill 9823 @var{name}.@refill
10505 9824
10506 @findex defopt 9825 @findex defopt
10507 @item @@defopt @var{name} 9826 @item @@defopt @var{name}
10508 @cindex User options, marking 9827 The @code{@@defopt} command is the definition command for user
10509 The @code{@@defopt} command is the definition command for @dfn{user 9828 options. @code{@@defopt} is equivalent to @samp{@@defvr @{User
10510 options}, i.e., variables intended for users to change according to
10511 taste; Emacs has many such (@pxref{Variables,,, emacs, The GNU Emacs
10512 Manual}). @code{@@defopt} is equivalent to @samp{@@defvr @{User
10513 Option@} @dots{}} and works like @code{@@defvar}.@refill 9829 Option@} @dots{}} and works like @code{@@defvar}.@refill
10514 @end table 9830 @end table
10515 9831
10516
10517 @node Typed Functions, Typed Variables, Variables Commands, Def Cmds in Detail 9832 @node Typed Functions, Typed Variables, Variables Commands, Def Cmds in Detail
10518 @subsection Functions in Typed Languages 9833 @subsection Functions in Typed Languages
10519 9834
10520 The @code{@@deftypefn} command and its variations are for describing 9835 The @code{@@deftypefn} command and its variations are for describing
10521 functions in languages in which you must declare types of variables and 9836 functions in C or any other language in which you must declare types
10522 functions, such as C and C++. 9837 of variables and functions.@refill
10523 9838
10524 @table @code 9839 @table @code
10525 @findex deftypefn 9840 @findex deftypefn
10526 @item @@deftypefn @var{category} @var{data-type} @var{name} @var{arguments}@dots{} 9841 @item @@deftypefn @var{category} @var{data-type} @var{name} @var{arguments}@dots{}
10527 The @code{@@deftypefn} command is the general definition command for 9842 The @code{@@deftypefn} command is the general definition command for
10535 @noindent 9850 @noindent
10536 For example, 9851 For example,
10537 9852
10538 @example 9853 @example
10539 @group 9854 @group
10540 @@deftypefn @{Library Function@} int foobar 9855 @@deftypefn @{Library Function@} int foobar
10541 (int @@var@{foo@}, float @@var@{bar@}) 9856 (int @@var@{foo@}, float @@var@{bar@})
10542 @dots{} 9857 @dots{}
10543 @@end deftypefn 9858 @@end deftypefn
10544 @end group 9859 @end group
10545 @end example 9860 @end example
10601 @noindent 9916 @noindent
10602 For example: 9917 For example:
10603 9918
10604 @example 9919 @example
10605 @group 9920 @group
10606 @@deftypefn stacks private push 9921 @@deftypefn stacks private push
10607 (@@var@{s@}:in out stack; 9922 (@@var@{s@}:in out stack;
10608 @@var@{n@}:in integer) 9923 @@var@{n@}:in integer)
10609 @dots{} 9924 @dots{}
10610 @@end deftypefn 9925 @@end deftypefn
10611 @end group 9926 @end group
10612 @end example 9927 @end example
10621 is @code{push}, and its arguments are @var{s} and @var{n}.)@refill 9936 is @code{push}, and its arguments are @var{s} and @var{n}.)@refill
10622 9937
10623 @code{@@deftypefn} creates an entry in the index of functions for 9938 @code{@@deftypefn} creates an entry in the index of functions for
10624 @var{name}.@refill 9939 @var{name}.@refill
10625 9940
9941 @findex deftypefun
10626 @item @@deftypefun @var{data-type} @var{name} @var{arguments}@dots{} 9942 @item @@deftypefun @var{data-type} @var{name} @var{arguments}@dots{}
10627 @findex deftypefun
10628 The @code{@@deftypefun} command is the specialized definition command 9943 The @code{@@deftypefun} command is the specialized definition command
10629 for functions in typed languages. The command is equivalent to 9944 for functions in typed languages. The command is equivalent to
10630 @samp{@@deftypefn Function @dots{}}.@refill 9945 @samp{@@deftypefn Function @dots{}}.@refill
10631 9946
10632 @need 800 9947 @need 800
10674 @end group 9989 @end group
10675 @end example 9990 @end example
10676 9991
10677 @code{@@deftypefun} creates an entry in the index of functions for 9992 @code{@@deftypefun} creates an entry in the index of functions for
10678 @var{name}.@refill 9993 @var{name}.@refill
10679
10680 @item @@deftypemethod @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
10681 @findex deftypefun
10682 The @code{@@deftypemethod} command is the definition command for methods
10683 in object-oriented typed languages, such as C++ and Java. It is similar
10684 to the @code{@@deftypefn} with the addition of the @var{class} parameter
10685 to specify the class containing the method.
10686
10687 @end table 9994 @end table
10688
10689 9995
10690 @node Typed Variables, Abstract Objects, Typed Functions, Def Cmds in Detail 9996 @node Typed Variables, Abstract Objects, Typed Functions, Def Cmds in Detail
10691 @subsection Variables in Typed Languages 9997 @subsection Variables in Typed Languages
10692 9998
10693 Variables in typed languages are handled in a manner similar to 9999 Variables in typed languages are handled in a manner similar to
10877 @code{@@defivar} creates an entry in the index of variables. 10183 @code{@@defivar} creates an entry in the index of variables.
10878 10184
10879 @findex defop 10185 @findex defop
10880 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{} 10186 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{}
10881 The @code{@@defop} command is the general definition command for 10187 The @code{@@defop} command is the general definition command for
10882 entities that may resemble methods in object-oriented programming. 10188 entities that may resemble methods in object-oriented programming.
10883 These entities take arguments, as functions do, but are associated 10189 These entities take arguments, as functions do, but are associated
10884 with particular classes of objects.@refill 10190 with particular classes of objects.@refill
10885 10191
10886 For example, some systems have constructs called @dfn{wrappers} that 10192 For example, some systems have constructs called @dfn{wrappers} that
10887 are associated with classes as methods are, but that act more like 10193 are associated with classes as methods are, but that act more like
10926 @end example 10232 @end example
10927 10233
10928 @code{@@defop} creates an entry, such as `@code{expose} on 10234 @code{@@defop} creates an entry, such as `@code{expose} on
10929 @code{windows}', in the index of functions.@refill 10235 @code{windows}', in the index of functions.@refill
10930 10236
10237 @findex defmethod
10931 @item @@defmethod @var{class} @var{name} @var{arguments}@dots{} 10238 @item @@defmethod @var{class} @var{name} @var{arguments}@dots{}
10932 @findex defmethod
10933 The @code{@@defmethod} command is the definition command for methods 10239 The @code{@@defmethod} command is the definition command for methods
10934 in object-oriented programming. A method is a kind of function that 10240 in object-oriented programming. A method is a kind of function that
10935 implements an operation for a particular class of objects and its 10241 implements an operation for a particular class of objects and its
10936 subclasses. In the Lisp Machine, methods actually were functions, but 10242 subclasses. In the Lisp Machine, methods actually were functions, but
10937 they were usually defined with @code{defmethod}. 10243 they were usually defined with @code{defmethod}.
10967 @end group 10273 @end group
10968 @end example 10274 @end example
10969 10275
10970 @code{@@defmethod} creates an entry, such as `@code{bar-method} on 10276 @code{@@defmethod} creates an entry, such as `@code{bar-method} on
10971 @code{bar-class}', in the index of functions.@refill 10277 @code{bar-class}', in the index of functions.@refill
10972
10973 @item @@deftypemethod @var{class} @var{data-type} @var{name} @var{arguments}@dots{}
10974 @findex defmethod
10975 The @code{@@deftypemethod} command is the definition command for methods
10976 in object-oriented typed languages, such as C++ and Java. It is similar
10977 to the @code{@@defmethod} command with the addition of the
10978 @var{data-type} parameter to specify the return type of the method.
10979
10980 @end table 10278 @end table
10981
10982 10279
10983 @node Data Types, , Abstract Objects, Def Cmds in Detail 10280 @node Data Types, , Abstract Objects, Def Cmds in Detail
10984 @subsection Data Types 10281 @subsection Data Types
10985 10282
10986 Here is the command for data types:@refill 10283 Here is the command for data types:@refill
11047 A function definition uses the @code{@@defun} and @code{@@end defun} 10344 A function definition uses the @code{@@defun} and @code{@@end defun}
11048 commands. The name of the function follows immediately after the 10345 commands. The name of the function follows immediately after the
11049 @code{@@defun} command and it is followed, on the same line, by the 10346 @code{@@defun} command and it is followed, on the same line, by the
11050 parameter list.@refill 10347 parameter list.@refill
11051 10348
11052 Here is a definition from @ref{Calling Functions,,, elisp, The GNU Emacs 10349 Here is a definition from @cite{The GNU Emacs Lisp Reference Manual}.
11053 Lisp Reference Manual}. 10350 (@xref{Calling Functions, , Calling Functions, elisp, The GNU Emacs
10351 Lisp Reference Manual}.)
11054 10352
11055 @quotation 10353 @quotation
11056 @defun apply function &rest arguments 10354 @defun apply function &rest arguments
11057 @code{apply} calls @var{function} with @var{arguments}, just 10355 @code{apply} calls @var{function} with @var{arguments}, just
11058 like @code{funcall} but with one difference: the last of 10356 like @code{funcall} but with one difference: the last of
11135 Index under @code{apply}.@refill 10433 Index under @code{apply}.@refill
11136 10434
11137 Ordinary variables and user options are described using a format like 10435 Ordinary variables and user options are described using a format like
11138 that for functions except that variables do not take arguments. 10436 that for functions except that variables do not take arguments.
11139 10437
11140
11141 @node Footnotes, Conditionals, Definition Commands, Top 10438 @node Footnotes, Conditionals, Definition Commands, Top
10439 @comment node-name, next, previous, up
11142 @chapter Footnotes 10440 @chapter Footnotes
11143 @cindex Footnotes 10441 @cindex Footnotes
11144 @findex footnote 10442 @findex footnote
11145 10443
11146 A @dfn{footnote} is for a reference that documents or elucidates the 10444 A @dfn{footnote} is for a reference that documents or elucidates the
11148 the primary text, but a reader should not need to read a footnote to 10446 the primary text, but a reader should not need to read a footnote to
11149 understand the primary text. For a thorough discussion of footnotes, 10447 understand the primary text. For a thorough discussion of footnotes,
11150 see @cite{The Chicago Manual of Style}, which is published by the 10448 see @cite{The Chicago Manual of Style}, which is published by the
11151 University of Chicago Press.}@refill 10449 University of Chicago Press.}@refill
11152 10450
11153 @menu
11154 * Footnote Commands:: How to write a footnote in Texinfo.
11155 * Footnote Styles:: Controlling how footnotes appear in Info.
11156 @end menu
11157
11158 @node Footnote Commands, Footnote Styles, Footnotes, Footnotes
11159 @section Footnote Commands
11160
11161 In Texinfo, footnotes are created with the @code{@@footnote} command. 10451 In Texinfo, footnotes are created with the @code{@@footnote} command.
11162 This command is followed immediately by a left brace, then by the text 10452 This command is followed immediately by a left brace, then by the text
11163 of the footnote, and then by a terminating right brace. Footnotes may 10453 of the footnote, and then by a terminating right brace. The template
11164 be of any length (they will be broken across pages if necessary), but 10454 is:
11165 are usually short. The template is: 10455
11166 10456 @example
11167 @example 10457 @@footnote@{@var{text}@}
11168 ordinary text@@footnote@{@var{text of footnote}@} 10458 @end example
11169 @end example 10459
11170 10460 Footnotes may be of any length, but are usually short.@refill
11171 As shown here, the @code{@@footnote} command should come right after the
11172 text being footnoted, with no intervening space; otherwise, the
11173 formatters the footnote mark might end up starting up a line.
11174 10461
11175 For example, this clause is followed by a sample 10462 For example, this clause is followed by a sample
11176 footnote@footnote{Here is the sample footnote.}; in the Texinfo 10463 footnote@footnote{Here is the sample footnote.}; in the Texinfo
11177 source, it looks like this:@refill 10464 source, it looks like this:@refill
11178 10465
11179 @example 10466 @example
11180 @dots{}a sample footnote@@footnote@{Here is the sample 10467 @dots{}a sample footnote @@footnote@{Here is the sample
11181 footnote.@}; in the Texinfo source@dots{} 10468 footnote.@}; in the Texinfo source@dots{}
11182 @end example 10469 @end example
11183 10470
11184 @strong{Warning:} Don't use footnotes in the argument of the
11185 @code{@@item} command for a @code{@@table} table. This doesn't work, and
11186 because of limitations of @TeX{}, there is no way to fix it. You must
11187 put the footnote into the body text of the table.
11188
11189 In a printed manual or book, the reference mark for a footnote is a 10471 In a printed manual or book, the reference mark for a footnote is a
11190 small, superscripted number; the text of the footnote appears at the 10472 small, superscripted number; the text of the footnote is written at
11191 bottom of the page, below a horizontal line.@refill 10473 the bottom of the page, below a horizontal line.@refill
11192 10474
11193 In Info, the reference mark for a footnote is a pair of parentheses 10475 In Info, the reference mark for a footnote is a pair of parentheses
11194 with the footnote number between them, like this: @samp{(1)}.@refill 10476 with the footnote number between them, like this: @samp{(1)}.@refill
11195 10477
11196
11197 @node Footnote Styles, , Footnote Commands, Footnotes
11198 @section Footnote Styles
11199
11200 Info has two footnote styles, which determine where the text of the 10478 Info has two footnote styles, which determine where the text of the
11201 footnote is located:@refill 10479 footnote is located:@refill
11202 10480
11203 @itemize @bullet 10481 @itemize @bullet
11204 @cindex @samp{@r{End}} node footnote style 10482 @cindex @samp{@r{End}} node footnote style
11205 @item 10483 @item
11206 In the `End' node style, all the footnotes for a single node 10484 In the `End' node style, all the footnotes for a single node
11207 are placed at the end of that node. The footnotes are separated from 10485 are placed at the end of that node. The footnotes are separated from
11208 the rest of the node by a line of dashes with the word 10486 the rest of the node by a line of dashes with the word
11209 @samp{Footnotes} within it. Each footnote begins with an 10487 @samp{Footnotes} within it. Each footnote begins with an
11210 @samp{(@var{n})} reference mark.@refill 10488 @samp{(@var{n})} reference mark.@refill
11220 (1) Here is a sample footnote. 10498 (1) Here is a sample footnote.
11221 @end group 10499 @end group
11222 @end example 10500 @end example
11223 10501
11224 @cindex @samp{@r{Separate}} footnote style 10502 @cindex @samp{@r{Separate}} footnote style
11225 @item 10503 @item
11226 In the `Separate' node style, all the footnotes for a single 10504 In the `Separate' node style, all the footnotes for a single
11227 node are placed in an automatically constructed node of 10505 node are placed in an automatically constructed node of
11228 their own. In this style, a ``footnote reference'' follows 10506 their own. In this style, a ``footnote reference'' follows
11229 each @samp{(@var{n})} reference mark in the body of the 10507 each @samp{(@var{n})} reference mark in the body of the
11230 node. The footnote reference is actually a cross reference 10508 node. The footnote reference is actually a cross reference
11243 10521
11244 @smallexample 10522 @smallexample
11245 @group 10523 @group
11246 File: texinfo.info Node: Overview-Footnotes, Up: Overview 10524 File: texinfo.info Node: Overview-Footnotes, Up: Overview
11247 10525
11248 (1) Note that the first syllable of "Texinfo" is 10526 (1) Note that the first syllable of "Texinfo" is
11249 pronounced like "speck", not "hex". @dots{} 10527 pronounced like "speck", not "hex". @dots{}
11250 @end group 10528 @end group
11251 @end smallexample 10529 @end smallexample
11252 @end itemize 10530 @end itemize
11253 10531
11256 10534
11257 @findex footnotestyle 10535 @findex footnotestyle
11258 Use the @code{@@footnotestyle} command to specify an Info file's 10536 Use the @code{@@footnotestyle} command to specify an Info file's
11259 footnote style. Write this command at the beginning of a line followed 10537 footnote style. Write this command at the beginning of a line followed
11260 by an argument, either @samp{end} for the end node style or 10538 by an argument, either @samp{end} for the end node style or
11261 @samp{separate} for the separate node style. 10539 @samp{separate} for the separate node style.
11262 10540
11263 @need 700 10541 @need 700
11264 For example, 10542 For example,
11265 10543
11266 @example 10544 @example
11318 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer} 10596 you use the @kbd{M-x makeinfo-region} or @kbd{M-x makeinfo-buffer}
11319 command in Emacs.@refill 10597 command in Emacs.@refill
11320 @end ignore 10598 @end ignore
11321 This chapter contains two footnotes.@refill 10599 This chapter contains two footnotes.@refill
11322 10600
11323 10601 @node Conditionals, Format/Print Hardcopy, Footnotes, Top
11324 @node Conditionals, Macros, Footnotes, Top
11325 @comment node-name, next, previous, up 10602 @comment node-name, next, previous, up
11326 @chapter Conditionally Visible Text 10603 @chapter Conditionally Visible Text
11327 @cindex Conditionally visible text 10604 @cindex Conditionally visible text
11328 @cindex Text, conditionally visible 10605 @cindex Text, conditionally visible
11329 @cindex Visibility of conditional text 10606 @cindex Visibility of conditional text
11330 @cindex If text conditionally visible 10607 @cindex If text conditionally visible
10608 @findex ifinfo
10609 @findex iftex
11331 10610
11332 Sometimes it is good to use different text for a printed manual and 10611 Sometimes it is good to use different text for a printed manual and
11333 its corresponding Info file. In this case, you can use the 10612 its corresponding Info file. In this case, you can use the
11334 @dfn{conditional commands} to specify which text is for the printed manual 10613 @dfn{conditional commands} to specify which text is for the printed manual
11335 and which is for the Info file.@refill 10614 and which is for the Info file.@refill
11336 10615
11337 @menu 10616 @menu
11338 * Conditional Commands:: Specifying text for HTML, Info, or @TeX{}. 10617 * Conditional Commands:: How to specify text for Info or @TeX{}.
11339 * Conditional Not Commands:: Specifying text for not HTML, Info, or @TeX{}. 10618 * Using Ordinary TeX Commands:: You can use any and all @TeX{} commands.
11340 * Raw Formatter Commands:: Using raw @TeX{} or HTML commands. 10619 * set clear value:: How to designate which text to format (for
11341 * set clear value:: Designating which text to format (for 10620 both Info and @TeX{}); and how to set a
11342 all output formats); and how to set a
11343 flag to a string that you can insert. 10621 flag to a string that you can insert.
11344 @end menu 10622 @end menu
11345 10623
11346 @node Conditional Commands, Conditional Not Commands, Conditionals, Conditionals 10624 @node Conditional Commands, Using Ordinary TeX Commands, Conditionals, Conditionals
11347 @ifinfo 10625 @ifinfo
11348 @heading Conditional Commands 10626 @heading Using @code{@@ifinfo} and @code{@@iftex}
11349 @end ifinfo 10627 @end ifinfo
11350 10628
11351 @findex ifinfo 10629 @code{@@ifinfo} begins segments of text that should be ignored
11352 @code{@@ifinfo} begins segments of text that should be ignored
11353 by @TeX{} when it 10630 by @TeX{} when it
11354 typesets the printed manual. The segment of text appears only 10631 typesets the printed manual. The segment of text appears only
11355 in the Info file. 10632 in the Info file.
11356 The @code{@@ifinfo} command should appear on a line by itself; end 10633 The @code{@@ifinfo} command should appear on a line by itself; end
11357 the Info-only text with a line containing @code{@@end ifinfo} by 10634 the Info-only text with a line containing @code{@@end ifinfo} by
11358 itself. At the beginning of a Texinfo file, the Info permissions are 10635 itself. At the beginning of a Texinfo file, the Info permissions are
11359 contained within a region marked by @code{@@ifinfo} and @code{@@end 10636 contained within a region marked by @code{@@ifinfo} and @code{@@end
11360 ifinfo}. (@xref{Info Summary and Permissions}.)@refill 10637 ifinfo}. (@xref{Info Summary and Permissions}.)@refill
11361 10638
11362 @findex iftex
11363 @findex ifhtml
11364 The @code{@@iftex} and @code{@@end iftex} commands are similar to the 10639 The @code{@@iftex} and @code{@@end iftex} commands are similar to the
11365 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they 10640 @code{@@ifinfo} and @code{@@end ifinfo} commands, except that they
11366 specify text that will appear in the printed manual but not in the Info 10641 specify text that will appear in the printed manual but not in the Info
11367 file. Likewise for @code{@@ifhtml} and @code{@@end ifhtml}, which 10642 file.@refill
11368 specify text to appear only in HTML output.@refill 10643
11369 10644 @need 700
11370 For example, 10645 For example,
11371 10646
11372 @example 10647 @example
11373 @@iftex 10648 @@iftex
11374 This text will appear only in the printed manual. 10649 This text will appear only in the printed manual.
11375 @@end iftex 10650 @@end iftex
10651
11376 @@ifinfo 10652 @@ifinfo
11377 However, this text will appear only in Info. 10653 However, this text will appear only in Info.
11378 @@end ifinfo 10654 @@end ifinfo
11379 @end example 10655 @end example
11380 10656
11381 @noindent 10657 @noindent
11382 The preceding example produces the following line: 10658 The preceding example produces the following line:
10659
11383 @iftex 10660 @iftex
11384 This text will appear only in the printed manual. 10661 This text will appear only in the printed manual.
11385 @end iftex 10662 @end iftex
10663
11386 @ifinfo 10664 @ifinfo
11387 However, this text will appear only in Info. 10665 However, this text will appear only in Info.
11388 @end ifinfo 10666 @end ifinfo
11389 10667
11390 @noindent 10668 @noindent
11392 are reading the Info version or the printed version of this 10670 are reading the Info version or the printed version of this
11393 manual.@refill 10671 manual.@refill
11394 10672
11395 The @code{@@titlepage} command is a special variant of @code{@@iftex} that 10673 The @code{@@titlepage} command is a special variant of @code{@@iftex} that
11396 is used for making the title and copyright pages of the printed 10674 is used for making the title and copyright pages of the printed
11397 manual. (@xref{titlepage, , @code{@@titlepage}}.) @refill 10675 manual. (@xref{titlepage, , @code{@@titlepage}}.) @refill
11398 10676
11399 10677 @node Using Ordinary TeX Commands, set clear value, Conditional Commands, Conditionals
11400 @node Conditional Not Commands, Raw Formatter Commands, Conditional Commands, Conditionals 10678 @comment node-name, next, previous, up
11401 @section Conditional Not Commands 10679 @section Using Ordinary @TeX{} Commands
11402 @findex ifnothtml
11403 @findex ifnotinfo
11404 @findex ifnottex
11405
11406 You can specify text to be included in any output format @emph{other}
11407 than some given one with the @code{@@ifnot@dots{}} commands:
11408 @example
11409 @@ifnothtml @dots{} @@end ifnothtml
11410 @@ifnotinfo @dots{} @@end ifnotinfo
11411 @@ifnottex @dots{} @@end ifnottex
11412 @end example
11413 @noindent
11414 (The @code{@@ifnot@dots{}} command and the @code{@@end} command must
11415 actually appear on lines by themselves.)
11416
11417 If the output file is not being made for the given format, the region is
11418 included. Otherwise, it is ignored.
11419
11420 The regions delimited by these commands are ordinary Texinfo source as
11421 with @code{@@iftex}, not raw formatter source as with @code{@@tex}.
11422
11423
11424 @node Raw Formatter Commands, set clear value, Conditional Not Commands, Conditionals
11425 @section Raw Formatter Commands
11426 @cindex @TeX{} commands, using ordinary 10680 @cindex @TeX{} commands, using ordinary
11427 @cindex HTML commands, using ordinary
11428 @cindex Raw formatter commands
11429 @cindex Ordinary @TeX{} commands, using 10681 @cindex Ordinary @TeX{} commands, using
11430 @cindex Ordinary HTML commands, using 10682 @cindex Commands using ordinary @TeX{}
11431 @cindex Commands using raw @TeX{} 10683 @cindex Plain@TeX{}
11432 @cindex Commands using raw HTML 10684
11433 @cindex plain @TeX{} 10685 Inside a region delineated by @code{@@iftex} and @code{@@end iftex},
11434 10686 you can embed some Plain@TeX{} commands. Info will ignore these
11435 Inside a region delineated by @code{@@iftex} and @code{@@end iftex}, you 10687 commands since they are only in that part of the file which is seen by
11436 can embed some raw @TeX{} commands. Info will ignore these commands 10688 @TeX{}. You can write the @TeX{} commands as you would write them in
11437 since they are only in that part of the file which is seen by @TeX{}. 10689 a normal @TeX{} file, except that you must replace the @samp{\} used
11438 You can write the @TeX{} commands as you would write them in a normal 10690 by @TeX{} with an @samp{@@}. For example, in the @code{@@titlepage}
11439 @TeX{} file, except that you must replace the @samp{\} used by @TeX{} 10691 section of a Texinfo file, you can use the @TeX{} command
11440 with an @samp{@@}. For example, in the @code{@@titlepage} section of a 10692 @code{@@vskip} to format the copyright page. (The @code{@@titlepage}
11441 Texinfo file, you can use the @TeX{} command @code{@@vskip} to format 10693 command causes Info to ignore the region automatically, as it does
11442 the copyright page. (The @code{@@titlepage} command causes Info to 10694 with the @code{@@iftex} command.)@refill
11443 ignore the region automatically, as it does with the @code{@@iftex} 10695
11444 command.) 10696 However, many features of Plain@TeX{} will not work, as they are
11445 10697 overridden by features of Texinfo.
11446 However, many features of plain @TeX{} will not work, as they are
11447 overridden by Texinfo features.
11448 10698
11449 @findex tex 10699 @findex tex
11450 You can enter plain @TeX{} completely, and use @samp{\} in the @TeX{} 10700 You can enter Plain@TeX{} completely, and use @samp{\} in the @TeX{}
11451 commands, by delineating a region with the @code{@@tex} and @code{@@end 10701 commands, by delineating a region with the @code{@@tex} and @code{@@end
11452 tex} commands. (The @code{@@tex} command also causes Info to ignore the 10702 tex} commands. (The @code{@@tex} command also causes Info to ignore the
11453 region, like the @code{@@iftex} command.) The sole exception is that 10703 region, like the @code{@@iftex}
11454 @code{@@} chracter still introduces a command, so that @code{@@end tex} 10704 command.)@refill
11455 can be recognized properly.
11456 10705
11457 @cindex Mathematical expressions 10706 @cindex Mathematical expressions
11458 For example, here is a mathematical expression written in 10707 For example, here is a mathematical expression written in
11459 plain @TeX{}: 10708 Plain@TeX{}:@refill
11460 10709
11461 @example 10710 @example
11462 @@tex 10711 @@tex
11463 $$ \chi^2 = \sum_@{i=1@}^N 10712 $$ \chi^2 = \sum_@{i=1@}^N
11464 \left (y_i - (a + b x_i) 10713 \left (y_i - (a + b x_i)
11465 \over \sigma_i\right)^2 $$ 10714 \over \sigma_i\right)^2 $$
11466 @@end tex 10715 @@end tex
11467 @end example 10716 @end example
11468 10717
11469 @noindent 10718 @noindent
11470 The output of this example will appear only in a printed manual. If 10719 The output of this example will appear only in a printed manual. If
11471 you are reading this in Info, you will not see the equation that appears 10720 you are reading this in Info, you will not see anything after this
11472 in the printed manual. 10721 paragraph.
11473 @iftex 10722 @iftex
11474 In a printed manual, the above expression looks like 10723 In a printed manual, the above expression looks like
11475 this: 10724 this:
11476 @end iftex 10725 @end iftex
11477 10726
11478 @tex 10727 @tex
11479 $$ \chi^2 = \sum_{i=1}^N 10728 $$ \chi^2 = \sum_{i=1}^N
11480 \left(y_i - (a + b x_i) 10729 \left(y_i - (a + b x_i)
11481 \over \sigma_i\right)^2 $$ 10730 \over \sigma_i\right)^2 $$
11482 @end tex 10731 @end tex
11483 10732
11484 @findex ifhtml 10733 @node set clear value, , Using Ordinary TeX Commands, Conditionals
11485 @findex html
11486 Analogously, you can use @code{@@ifhtml @dots{} @@end ifhtml} to delimit
11487 a region to be included in HTML output only, and @code{@@html @dots{}
11488 @@end ifhtml} for a region of raw HTML (again, except that @code{@@} is
11489 still the escape character, so the @code{@@end} command can be
11490 recognized.)
11491
11492
11493 @node set clear value, , Raw Formatter Commands, Conditionals
11494 @comment node-name, next, previous, up 10734 @comment node-name, next, previous, up
11495 @section @code{@@set}, @code{@@clear}, and @code{@@value} 10735 @section @code{@@set}, @code{@@clear}, and @code{@@value}
11496 10736
11497 You can direct the Texinfo formatting commands to format or ignore parts 10737 You can direct the Texinfo formatting commands to format or ignore parts
11498 of a Texinfo file with the @code{@@set}, @code{@@clear}, @code{@@ifset}, 10738 of a Texinfo file with the @code{@@set}, @code{@@clear}, @code{@@ifset},
11504 @code{@@set}, for example, to set a date and use @code{@@value} to 10744 @code{@@set}, for example, to set a date and use @code{@@value} to
11505 insert the date in several places in the Texinfo file.@refill 10745 insert the date in several places in the Texinfo file.@refill
11506 10746
11507 @menu 10747 @menu
11508 * ifset ifclear:: Format a region if a flag is set. 10748 * ifset ifclear:: Format a region if a flag is set.
11509 * value:: Replace a flag with a string. 10749 * value:: Replace a flag with a string.
11510 * value Example:: An easy way to update edition information. 10750 * value Example:: An easy way to update edition information.
11511 @end menu 10751 @end menu
11512
11513 10752
11514 @node ifset ifclear, value, set clear value, set clear value 10753 @node ifset ifclear, value, set clear value, set clear value
11515 @subsection @code{@@ifset} and @code{@@ifclear} 10754 @subsection @code{@@ifset} and @code{@@ifclear}
11516 10755
11517 @findex ifset 10756 @findex ifset
11522 10761
11523 Use the @code{@@set @var{flag}} command to turn on, or @dfn{set}, a 10762 Use the @code{@@set @var{flag}} command to turn on, or @dfn{set}, a
11524 @var{flag}; a @dfn{flag} can be any single word. The format for the 10763 @var{flag}; a @dfn{flag} can be any single word. The format for the
11525 command looks like this:@refill 10764 command looks like this:@refill
11526 @findex set 10765 @findex set
11527 10766
11528 @example 10767 @example
11529 @@set @var{flag} 10768 @@set @var{flag}
11530 @end example 10769 @end example
11531 10770
11532 Write the conditionally formatted text between @code{@@ifset @var{flag}} 10771 Write the conditionally formatted text between @code{@@ifset @var{flag}}
11542 10781
11543 For example, you can create one document that has two variants, such as 10782 For example, you can create one document that has two variants, such as
11544 a manual for a `large' and `small' model:@refill 10783 a manual for a `large' and `small' model:@refill
11545 10784
11546 @example 10785 @example
11547 You can use this machine to dig up shrubs 10786 You can use this machine to dig up shrubs
11548 without hurting them. 10787 without hurting them.
11549 10788
11550 @@set large 10789 @@set large
11551 10790
11552 @@ifset large 10791 @@ifset large
11615 the text up to the following @code{@@end ifset} command.@refill 10854 the text up to the following @code{@@end ifset} command.@refill
11616 10855
11617 If @var{flag} is cleared, tell the Texinfo formatting commands to 10856 If @var{flag} is cleared, tell the Texinfo formatting commands to
11618 ignore text up to the following @code{@@end ifset} command.@refill 10857 ignore text up to the following @code{@@end ifset} command.@refill
11619 10858
11620 @item @@ifclear @var{flag} 10859 @item @@ifclear @var{flag}
11621 If @var{flag} is set, tell the Texinfo formatting commands to ignore 10860 If @var{flag} is set, tell the Texinfo formatting commands to ignore
11622 the text up to the following @code{@@end ifclear} command.@refill 10861 the text up to the following @code{@@end ifclear} command.@refill
11623 10862
11624 If @var{flag} is cleared, tell the Texinfo formatting commands to 10863 If @var{flag} is cleared, tell the Texinfo formatting commands to
11625 format the text up to the following @code{@@end ifclear} 10864 format the text up to the following @code{@@end ifclear}
11709 10948
11710 @node value Example, , value, set clear value 10949 @node value Example, , value, set clear value
11711 @subsection @code{@@value} Example 10950 @subsection @code{@@value} Example
11712 10951
11713 You can use the @code{@@value} command to limit the number of places you 10952 You can use the @code{@@value} command to limit the number of places you
11714 need to change when you record an update to a manual. 10953 need to change when you record an update to a manual.
11715 Here is how it is done in @cite{The GNU Make Manual}: 10954 Here is how it is done in @cite{The GNU Make Manual}:
11716 10955
11717 @need 1000 10956 @need 1000
11718 @noindent 10957 @noindent
11719 Set the flags: 10958 Set the flags:
11732 Write text for the first @code{@@ifinfo} section, for people reading the 10971 Write text for the first @code{@@ifinfo} section, for people reading the
11733 Texinfo file: 10972 Texinfo file:
11734 10973
11735 @example 10974 @example
11736 @group 10975 @group
11737 This is Edition @@value@{EDITION@}, 10976 This is Edition @@value@{EDITION@},
11738 last updated @@value@{UPDATED@}, 10977 last updated @@value@{UPDATED@},
11739 of @@cite@{The GNU Make Manual@}, 10978 of @@cite@{The GNU Make Manual@},
11740 for @@code@{make@}, Version @@value@{VERSION@}. 10979 for @@code@{make@}, Version @@value@{VERSION@}.
11741 @end group 10980 @end group
11742 @end example 10981 @end example
11743 10982
11744 @need 1000 10983 @need 1000
11764 @noindent 11003 @noindent
11765 Write text for the Top node, for people reading the Info file: 11004 Write text for the Top node, for people reading the Info file:
11766 11005
11767 @example 11006 @example
11768 @group 11007 @group
11769 This is Edition @@value@{EDITION@} 11008 This is Edition @@value@{EDITION@}
11770 of the @@cite@{GNU Make Manual@}, 11009 of the @@cite@{GNU Make Manual@},
11771 last updated @@value@{UPDATED@} 11010 last updated @@value@{UPDATED@}
11772 for @@code@{make@} Version @@value@{VERSION@}. 11011 for @@code@{make@} Version @@value@{VERSION@}.
11773 @end group 11012 @end group
11774 @end example 11013 @end example
11777 After you format the manual, the text in the first @code{@@ifinfo} 11016 After you format the manual, the text in the first @code{@@ifinfo}
11778 section looks like this: 11017 section looks like this:
11779 11018
11780 @example 11019 @example
11781 @group 11020 @group
11782 This is Edition 0.35 Beta, last updated 14 August 1992, 11021 This is Edition 0.35 Beta, last updated 14 August 1992,
11783 of `The GNU Make Manual', for `make', Version 3.63 Beta. 11022 of `The GNU Make Manual', for `make', Version 3.63 Beta.
11784 @end group 11023 @end group
11785 @end example 11024 @end example
11786 11025
11787 When you update the manual, change only the values of the flags; you do 11026 When you update the manual, change only the values of the flags; you do
11788 not need to rewrite the three sections. 11027 not need to rewrite the three sections.
11789 11028
11790 11029 @node Format/Print Hardcopy, Create an Info File, Conditionals, Top
11791 @node Macros, Format/Print Hardcopy, Conditionals, Top
11792 @chapter Macros: Defining New Texinfo Commands
11793 @cindex Macros
11794 @cindex Defining new Texinfo commands
11795 @cindex New Texinfo commands, defining
11796 @cindex Texinfo commands, defining new
11797 @cindex User-defined Texinfo commands
11798
11799 A Texinfo @dfn{macro} allows you to define a new Texinfo command as any
11800 sequence of text and/or existing commands (including other macros). The
11801 macro can have any number of @dfn{parameters}---text you supply each
11802 time you use the macro. (This has nothing to do with the
11803 @code{@@defmac} command, which is for documenting macros in the subject
11804 of the manual; @pxref{Def Cmd Template}.)
11805
11806 @menu
11807 * Defining Macros:: Both defining and undefining new commands.
11808 * Invoking Macros:: Using a macro, once you've defined it.
11809 @end menu
11810
11811
11812 @node Defining Macros, Invoking Macros, Macros, Macros
11813 @section Defining Macros
11814 @cindex Defining macros
11815 @cindex Macro definitions
11816
11817 @findex macro
11818 You use the Texinfo @code{@@macro} command to define a macro. For example:
11819
11820 @example
11821 @@macro @var{macro-name}@{@var{param1}, @var{param2}, @dots{}@}
11822 @var{text} @dots{} \@var{param1}\ @dots{}
11823 @@end macro
11824 @end example
11825
11826 The @dfn{parameters} @var{param1}, @var{param2}, @dots{} correspond to
11827 arguments supplied when the macro is subsequently used in the document
11828 (see the next section).
11829
11830 If a macro needs no parameters, you can define it either with an empty
11831 list (@samp{@@macro foo @{@}}) or with no braces at all (@samp{@@macro
11832 foo}).
11833
11834 @cindex Body of a macro
11835 @cindex Mutually recursive macros
11836 @cindex Recursion, mutual
11837 The definition or @dfn{body} of the macro can contain any Texinfo
11838 commands, including previously-defined macros. (It is not possible to
11839 have mutually recursive Texinfo macros.) In the body, instances of a
11840 parameter name surrounded by backslashes, as in @samp{\@var{param1}\} in
11841 the example above, are replaced by the corresponding argument from the
11842 macro invocation.
11843
11844 @findex unmacro
11845 @cindex Macros, undefining
11846 @cindex Undefining macros
11847 You can undefine a macro @var{foo} with @code{@@unmacro @var{foo}}.
11848 It is not an error to undefine a macro that is already undefined.
11849 For example:
11850
11851 @example
11852 @@unmacro foo
11853 @end example
11854
11855
11856 @node Invoking Macros, , Defining Macros, Macros
11857 @section Invoking Macros
11858 @cindex Invoking macros
11859 @cindex Macro invocation
11860
11861 After a macro is defined (see the previous section), you can use
11862 (@dfn{invoke}) it in your document like this:
11863
11864 @example
11865 @@@var{macro-name} @{@var{arg1}, @var{arg2}, @dots{}@}
11866 @end example
11867
11868 @noindent and the result will be just as if you typed the body of
11869 @var{macro-name} at that spot. For example:
11870
11871 @example
11872 @@macro foo @{p, q@}
11873 Together: \p\ & \q\.
11874 @@end macro
11875 @@foo@{a, b@}
11876 @end example
11877
11878 @noindent produces:
11879
11880 @display
11881 Together: a & b.
11882 @end display
11883
11884 @cindex Backslash, and macros
11885 Thus, the arguments and parameters are separated by commas and delimited
11886 by braces; any whitespace after (but not before) a comma is ignored. To
11887 insert a comma, brace, or backslash in an argument, prepend a backslash,
11888 as in
11889
11890 @example
11891 @@@var{macro-name} @{\\\@{\@}\,@}
11892 @end example
11893
11894 @noindent
11895 which will pass the (almost certainly error-producing) argument
11896 @samp{\@{@},} to @var{macro-name}.
11897
11898 If the macro is defined to take a single argument, and is invoked
11899 without any braces, the entire rest of the line after the macro name is
11900 supplied as the argument. For example:
11901
11902 @example
11903 @@macro bar @{p@}
11904 Twice: \p\, \p\.
11905 @@end macro
11906 @@bar aah
11907 @end example
11908
11909 @noindent produces:
11910
11911 @display
11912 Twice: aah, aah.
11913 @end display
11914
11915
11916 @node Format/Print Hardcopy, Create an Info File, Macros, Top
11917 @comment node-name, next, previous, up 11030 @comment node-name, next, previous, up
11918 @chapter Format and Print Hardcopy 11031 @chapter Format and Print Hardcopy
11919 @cindex Format and print hardcopy 11032 @cindex Format and print hardcopy
11920 @cindex Hardcopy, printing it 11033 @cindex Hardcopy, printing it
11921 @cindex Making a printed manual 11034 @cindex Making a printed manual
11922 @cindex Sorting indices 11035 @cindex Sorting indices
11923 @cindex Indices, sorting 11036 @cindex Indices, sorting
11924 @cindex @TeX{} index sorting 11037 @cindex @TeX{} index sorting
11925 @pindex texindex 11038 @findex texindex
11926 11039
11927 There are three major shell commands for making a printed manual from a 11040 There are three major shell commands for making a printed manual from a
11928 Texinfo file: one for converting the Texinfo file into a file that will be 11041 Texinfo file: one for converting the Texinfo file into a file that will be
11929 printed, a second for sorting indices, and a third for printing the 11042 printed, a second for sorting indices, and a third for printing the
11930 formatted document. When you use the shell commands, you can either 11043 formatted document. When you use the shell commands, you can either
11959 @heading Use @TeX{} 11072 @heading Use @TeX{}
11960 @end ifinfo 11073 @end ifinfo
11961 11074
11962 The typesetting program called @TeX{} is used for formatting a Texinfo 11075 The typesetting program called @TeX{} is used for formatting a Texinfo
11963 file. @TeX{} is a very powerful typesetting program and, if used right, 11076 file. @TeX{} is a very powerful typesetting program and, if used right,
11964 does an exceptionally good job. (@xref{Obtaining TeX, , How to Obtain 11077 does an exceptionally good job. @xref{Obtaining TeX, , How to Obtain
11965 @TeX{}}, for information on how to obtain @TeX{}.) 11078 @TeX{}}, for information on how to obtain @TeX{}.@refill
11966 11079
11967 The @code{makeinfo}, @code{texinfo-format-region}, and 11080 The @code{makeinfo}, @code{texinfo-format-region}, and
11968 @code{texinfo-format-buffer} commands read the very same @@-commands 11081 @code{texinfo-format-buffer} commands read the very same @@-commands
11969 in the Texinfo file as does @TeX{}, but process them differently to 11082 in the Texinfo file as does @TeX{}, but process them differently to
11970 make an Info file; see @ref{Create an Info File}.@refill 11083 make an Info file; see @ref{Create an Info File}.@refill
11975 @cindex Shell formatting with @code{tex} and @code{texindex} 11088 @cindex Shell formatting with @code{tex} and @code{texindex}
11976 @cindex Formatting with @code{tex} and @code{texindex} 11089 @cindex Formatting with @code{tex} and @code{texindex}
11977 @cindex DVI file 11090 @cindex DVI file
11978 11091
11979 Format the Texinfo file with the shell command @code{tex} followed by 11092 Format the Texinfo file with the shell command @code{tex} followed by
11980 the name of the Texinfo file. For example: 11093 the name of the Texinfo file. This command produces a formatted
11981 11094 @sc{dvi} file as well as several auxiliary files containing indices,
11982 @example 11095 cross references, etc. The @sc{dvi} file (for @dfn{DeVice Independent}
11983 tex foo.texi 11096 file) can be printed on a wide variety of printers.@refill
11984 @end example 11097
11985
11986 @noindent @TeX{} will produce a @dfn{DVI file} as well as several auxiliary
11987 files containing information for indices, cross references, etc. The
11988 DVI file (for @dfn{DeVice Independent} file) can be printed on virtually
11989 any printe (see the following sections).
11990
11991 @pindex texindex
11992 The @code{tex} formatting command itself does not sort the indices; it 11098 The @code{tex} formatting command itself does not sort the indices; it
11993 writes an output file of unsorted index data. (The @code{texi2dvi} 11099 writes an output file of unsorted index data. This is a misfeature of
11994 command automatically generates indices; see @ref{Format with texi2dvi,, 11100 @TeX{}. (The @code{texi2dvi} command automatically generates indices;
11995 Format using @code{texi2dvi}}.) To generate a printed index after 11101 see @ref{Format with texi2dvi, , Format using @code{texi2dvi}}.) To
11996 running the @code{tex} command, you first need a sorted index to work 11102 generate a printed index after running the @code{tex} command, you first
11997 from. The @code{texindex} command sorts indices. (The source file 11103 need a sorted index to work from. The @code{texindex} command sorts
11998 @file{texindex.c} comes as part of the standard Texinfo distribution, 11104 indices. (The source file @file{texindex.c} comes as part of the
11999 among other places.)@refill 11105 standard GNU distribution and is usually installed when Emacs is
12000 11106 installed.)@refill
12001 @cindex Names of index files 11107 @findex texindex
11108 @ignore
11109 Usage: texindex [-k] [-T tempdir] infile [-o outfile] ...
11110
11111 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
11113 `s' (for `sorted') appended is used for the outfile.
11114
11115 -T dir is the directory to put temp files in, instead of /tmp.
11116 -k means `keep tempfiles', for debugging.
11117 @end ignore
11118
12002 The @code{tex} formatting command outputs unsorted index files under 11119 The @code{tex} formatting command outputs unsorted index files under
12003 names that obey a standard convention: the name of your main input file 11120 names that obey a standard convention. These names are the name of
12004 with any @samp{.tex} (or similar, @pxref{tex invocation,,, web2c, 11121 your main input file to the @code{tex} formatting command, with
12005 Web2c}) extension removed, followed by the two letter names of indices. 11122 everything after the first period thrown away, and the two letter
12006 For example, the raw index output files for the input file 11123 names of indices added at the end. For example, the raw index output
12007 @file{foo.texinfo} would be @file{foo.cp}, @file{foo.vr}, @file{foo.fn}, 11124 files for the input file @file{foo.texinfo} would be @file{foo.cp},
12008 @file{foo.tp}, @file{foo.pg} and @file{foo.ky}. Those are exactly the 11125 @file{foo.vr}, @file{foo.fn}, @file{foo.tp}, @file{foo.pg} and
12009 arguments to give to @code{texindex}.@refill 11126 @file{foo.ky}. Those are exactly the arguments to give to
11127 @code{texindex}.@refill
12010 11128
12011 @need 1000 11129 @need 1000
12012 @cindex Wildcards 11130 Or else, you can use @samp{??} as ``wild-cards'' and give the command in
12013 @cindex Globbing 11131 this form:@refill
12014 Instead of specifying all the unsorted index file names explicitly, you
12015 can use @samp{??} as shell wildcards and give the command in this
12016 form:@refill
12017 11132
12018 @example 11133 @example
12019 texindex foo.?? 11134 texindex foo.??
12020 @end example 11135 @end example
12021 11136
12027 that are not index files, such as @samp{foo.el}. The @code{texindex} 11142 that are not index files, such as @samp{foo.el}. The @code{texindex}
12028 command reports but otherwise ignores such files.)@refill 11143 command reports but otherwise ignores such files.)@refill
12029 11144
12030 For each file specified, @code{texindex} generates a sorted index file 11145 For each file specified, @code{texindex} generates a sorted index file
12031 whose name is made by appending @samp{s} to the input file name. The 11146 whose name is made by appending @samp{s} to the input file name. The
12032 @code{@@printindex} command knows to look for a file of that name 11147 @code{@@printindex} command knows to look for a file of that name.
12033 (@pxref{Printing Indices & Menus}). @code{texindex} does not alter the 11148 @code{texindex} does not alter the raw index output file.@refill
12034 raw index output file.@refill
12035 11149
12036 After you have sorted the indices, you need to rerun the @code{tex} 11150 After you have sorted the indices, you need to rerun the @code{tex}
12037 formatting command on the Texinfo file. This regenerates the DVI file, 11151 formatting command on the Texinfo file. This regenerates a formatted
12038 this time with up-to-date index entries. 11152 @sc{dvi} file with up-to-date index entries.@footnote{If you use more
12039 11153 than one index and have cross references to an index other than the
12040 Finally, you may need to run @code{tex} one more time, to get the page 11154 first, you must run @code{tex} @emph{three times} to get correct output:
12041 numbers in the cross-references correct. 11155 once to generate raw index data; again (after @code{texindex}) to output
12042 11156 the text of the indices and determine their true page numbers; and a
12043 To summarize, this is a four step process: 11157 third time to output correct page numbers in cross references to them.
12044 11158 However, cross references to indices are rare.}@refill
11159
11160 To summarize, this is a three step process:
11161
12045 @enumerate 11162 @enumerate
12046 @item 11163 @item
12047 Run @code{tex} on your Texinfo file. This generates a DVI file (with 11164 Run the @code{tex} formatting command on the Texinfo file. This
12048 undefined cross-references and no indices), and the raw index files 11165 generates the formatted @sc{dvi} file as well as the raw index files
12049 (with two letter extensions). 11166 with two letter extensions.@refill
12050 11167
12051 @item 11168 @item
12052 Run @code{texindex} on the raw index files. This creates the 11169 Run the shell command @code{texindex} on the raw index files to sort
12053 corresponding sorted index files (with three letter extensions). 11170 them. This creates the corresponding sorted index files.@refill
12054 11171
12055 @item 11172 @item
12056 Run @code{tex} again on your Texinfo file. This regenerates the DVI 11173 Rerun the @code{tex} formatting command on the Texinfo file. This
12057 file, this time with indices and defined cross-references, but with page 11174 regenerates a formatted @sc{dvi} file with the index entries in the
12058 numbers for the cross-references from last time, generally incorrect. 11175 correct order. This second run also corrects the page numbers for
12059 11176 the cross references. (The tables of contents are always correct.)@refill
12060 @item
12061 Run @code{tex} one last time. This time the correct page numbers are
12062 written for the cross-references.
12063 @end enumerate 11177 @end enumerate
12064 11178
12065 @pindex texi2dvi 11179 You need not run @code{texindex} each time after you run the
12066 Alternatively, it's a one-step process: run @code{texi2dvi}. 11180 @code{tex} formatting. If you do not, on the next run, the @code{tex}
12067 11181 formatting command will use whatever sorted index files happen to
12068 You need not run @code{texindex} each time after you run @code{tex}. If 11182 exist from the previous use of @code{texindex}. This is usually
12069 you do not, on the next run, the @code{tex} formatting command will use 11183 @sc{ok} while you are debugging.@refill
12070 whatever sorted index files happen to exist from the previous use of
12071 @code{texindex}. This is usually ok while you are
12072 debugging.@refill
12073 11184
12074 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy 11185 @node Format with texi2dvi, Print with lpr, Format with tex/texindex, Format/Print Hardcopy
12075 @comment node-name, next, previous, up 11186 @comment node-name, next, previous, up
12076 @section Format using @code{texi2dvi} 11187 @section Format using @code{texi2dvi}
12077 @pindex texi2dvi @r{(shell script)} 11188 @findex texi2dvi @r{(shell script)}
12078 11189
12079 The @code{texi2dvi} command is a shell script that automatically runs 11190 The @code{texi2dvi} command is a shell script that automatically runs
12080 both @code{tex} and @code{texindex} as many times as necessary to 11191 both @code{tex} and @code{texindex} as needed to produce a @sc{dvi} file
12081 produce a DVI file with up-to-date, sorted indices. It simplifies the 11192 with up-to-date, sorted indices. It simplifies the
12082 @code{tex}---@code{texindex}---@code{tex} sequence described in the 11193 @code{tex}---@code{texindex}---@code{tex} sequence described in the
12083 previous section. 11194 previous section.
12084 11195
12085 @need 1000 11196 @need 1000
12086 The syntax for @code{texi2dvi} is like this (where @samp{prompt$} is the 11197 The syntax for @code{texi2dvi} is like this (where @samp{%} is the
12087 shell prompt):@refill 11198 shell prompt):@refill
12088 11199
12089 @example 11200 @example
12090 prompt$ @kbd{texi2dvi @var{filename}@dots{}} 11201 % texi2dvi @var{filename}@dots{}
12091 @end example 11202 @end example
12092 11203
12093 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy 11204 @node Print with lpr, Within Emacs, Format with texi2dvi, Format/Print Hardcopy
12094 @comment node-name, next, previous, up 11205 @comment node-name, next, previous, up
12095 @section Shell Print Using @code{lpr -d} 11206 @section Shell Print Using @code{lpr -d}
12096 @pindex lpr @r{(DVI print command)} 11207 @findex lpr @r{(@sc{dvi} print command)}
12097 11208
12098 The precise command to print a DVI file depends on your system 11209 You can print a @sc{dvi} file with the @sc{dvi} print command. The
12099 installation, but @samp{lpr -d} is common. The command may require the 11210 precise printing command to use depends on your system; @samp{lpr -d} is
12100 DVI file name without any extension or with a @samp{.dvi} 11211 common. The @sc{dvi} print command may require a file name without any
12101 extension. (If it is @samp{lpr}, you must include the @samp{.dvi}.) 11212 extension or with a @samp{.dvi} extension.@refill
12102 11213
12103 The following commands, for example, will (probably) suffice to sort the 11214 @need 1200
12104 indices, format, and print the @cite{Bison Manual}: 11215 The following commands, for example, sort the indices, format, and
12105 11216 print the @cite{Bison Manual} (where @samp{%} is the shell
12106 @example 11217 prompt):@refill
12107 @group 11218
12108 tex bison.texinfo 11219 @example
12109 texindex bison.?? 11220 @group
12110 tex bison.texinfo 11221 % tex bison.texinfo
12111 lpr -d bison.dvi 11222 % texindex bison.??
11223 % tex bison.texinfo
11224 % lpr -d bison.dvi
12112 @end group 11225 @end group
12113 @end example 11226 @end example
12114 11227
12115 @noindent 11228 @noindent
12116 (Remember that the shell commands may be different at your site; but 11229 (Remember that the shell commands may be different at your site; but
12119 @need 1000 11232 @need 1000
12120 Using the @code{texi2dvi} shell script, you simply need type:@refill 11233 Using the @code{texi2dvi} shell script, you simply need type:@refill
12121 11234
12122 @example 11235 @example
12123 @group 11236 @group
12124 texi2dvi bison.texinfo 11237 % texi2dvi bison.texinfo
12125 lpr -d bison.dvi 11238 % lpr -d bison.dvi
12126 @end group 11239 @end group
12127 @end example 11240 @end example
12128 11241
12129 @node Within Emacs, Texinfo Mode Printing, Print with lpr, Format/Print Hardcopy 11242 @node Within Emacs, Texinfo Mode Printing, Print with lpr, Format/Print Hardcopy
12130 @comment node-name, next, previous, up 11243 @comment node-name, next, previous, up
12131 @section From an Emacs Shell 11244 @section From an Emacs Shell @dots{}
12132 @cindex Print, format from Emacs shell 11245 @cindex Print, format from Emacs shell
12133 @cindex Format, print from Emacs shell 11246 @cindex Format, print from Emacs shell
12134 @cindex Shell, format, print from 11247 @cindex Shell, format, print from
12135 @cindex Emacs shell, format, print from 11248 @cindex Emacs shell, format, print from
12136 @cindex GNU Emacs shell, format, print from 11249 @cindex GNU Emacs shell, format, print from
12144 running and do other editing. If you are formatting a long document 11257 running and do other editing. If you are formatting a long document
12145 on a slow machine, this can be very convenient.@refill 11258 on a slow machine, this can be very convenient.@refill
12146 11259
12147 You can also use @code{texi2dvi} from an Emacs shell. For example, 11260 You can also use @code{texi2dvi} from an Emacs shell. For example,
12148 here is how to use @code{texi2dvi} to format and print @cite{Using and 11261 here is how to use @code{texi2dvi} to format and print @cite{Using and
12149 Porting GNU CC} from a shell within Emacs: 11262 Porting GNU CC} from a shell within Emacs (where @samp{%} is the shell
12150 11263 prompt):@refill
12151 @example 11264
12152 @group 11265 @example
12153 texi2dvi gcc.texinfo 11266 @group
12154 lpr -d gcc.dvi 11267 % texi2dvi gcc.texinfo
11268 % lpr -d gcc.dvi
12155 @end group 11269 @end group
12156 @end example 11270 @end example
12157 @ifinfo 11271 @ifinfo
12158 11272
12159 @xref{Texinfo Mode Printing}, for more information about formatting 11273 @xref{Texinfo Mode Printing}, for more information about formatting
12175 @table @kbd 11289 @table @kbd
12176 @item C-c C-t C-b 11290 @item C-c C-t C-b
12177 @itemx M-x texinfo-tex-buffer 11291 @itemx M-x texinfo-tex-buffer
12178 Run @code{texi2dvi} on the current buffer.@refill 11292 Run @code{texi2dvi} on the current buffer.@refill
12179 11293
12180 @item C-c C-t C-r 11294 @item C-c C-t C-r
12181 @itemx M-x texinfo-tex-region 11295 @itemx M-x texinfo-tex-region
12182 Run @TeX{} on the current region.@refill 11296 Run @TeX{} on the current region.@refill
12183 11297
12184 @item C-c C-t C-i 11298 @item C-c C-t C-i
12185 @itemx M-x texinfo-texindex 11299 @itemx M-x texinfo-texindex
12186 Sort the indices of a Texinfo file formatted with 11300 Sort the indices of a Texinfo file formatted with
12187 @code{texinfo-tex-region}.@refill 11301 @code{texinfo-tex-region}.@refill
12188 11302
12189 @item C-c C-t C-p 11303 @item C-c C-t C-p
12190 @itemx M-x texinfo-tex-print 11304 @itemx M-x texinfo-tex-print
12191 Print a DVI file that was made with @code{texinfo-tex-region} or 11305 Print a @sc{dvi} file that was made with @code{texinfo-tex-region} or
12192 @code{texinfo-tex-buffer}.@refill 11306 @code{texinfo-tex-buffer}.@refill
12193 11307
12194 @item C-c C-t C-q 11308 @item C-c C-t C-q
12195 @itemx M-x tex-show-print-queue 11309 @itemx M-x tex-show-print-queue
12196 Show the print queue.@refill 11310 Show the print queue.@refill
12224 follows (with comments to the right):@refill 11338 follows (with comments to the right):@refill
12225 11339
12226 @example 11340 @example
12227 @group 11341 @group
12228 C-c C-t C-b @r{Run @code{texi2dvi} on the buffer.} 11342 C-c C-t C-b @r{Run @code{texi2dvi} on the buffer.}
12229 C-c C-t C-p @r{Print the DVI file.} 11343 C-c C-t C-p @r{Print the @sc{dvi} file.}
12230 C-c C-t C-q @r{Display the printer queue.} 11344 C-c C-t C-q @r{Display the printer queue.}
12231 @end group 11345 @end group
12232 @end example 11346 @end example
12233 11347
12234 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs 11348 The Texinfo mode @TeX{} formatting commands start a subshell in Emacs
12235 called the @file{*tex-shell*}. The @code{texinfo-tex-command}, 11349 called the @file{*tex-shell*}. The @code{texinfo-tex-command},
12236 @code{texinfo-texindex-command}, and @code{tex-dvi-print-command} 11350 @code{texinfo-texindex-command}, and @code{tex-dvi-print-command}
12237 commands are all run in this shell. 11351 commands are all run in this shell.
12238 11352
12239 You can watch the commands operate in the @samp{*tex-shell*} buffer, 11353 You can watch the commands operate in the @samp{*tex-shell*} buffer,
12240 and you can switch to and from and use the @samp{*tex-shell*} buffer 11354 and you can switch to and from and use the @samp{*tex-shell*} buffer
12241 as you would any other shell buffer.@refill 11355 as you would any other shell buffer.@refill
12242 11356
12283 For example, at the end of the @file{gdb.texinfo} file, after the 11397 For example, at the end of the @file{gdb.texinfo} file, after the
12284 @code{@@bye}, you could put the following:@refill 11398 @code{@@bye}, you could put the following:@refill
12285 11399
12286 @example 11400 @example
12287 @group 11401 @group
12288 Local Variables: 11402 @@c Local Variables:
12289 compile-command: "texi2dvi gdb.texinfo" 11403 @@c compile-command: "texi2dvi gdb.texinfo"
12290 End: 11404 @@c End:
12291 @end group 11405 @end group
12292 @end example 11406 @end example
12293 11407
12294 @noindent 11408 @noindent
12295 This technique is most often used by programmers who also compile programs 11409 This technique is most often used by programmers who also compile programs
12296 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill 11410 this way; see @ref{Compilation, , , emacs, The GNU Emacs Manual}.@refill
12297 11411
12298
12299 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy 11412 @node Requirements Summary, Preparing for TeX, Compile-Command, Format/Print Hardcopy
12300 @comment node-name, next, previous, up 11413 @comment node-name, next, previous, up
12301 @section @TeX{} Formatting Requirements Summary 11414 @section @TeX{} Formatting Requirements Summary
12302 @cindex Requirements for formatting 11415 @cindex Requirements for formatting
12303 @cindex Minimal requirements for formatting
12304 @cindex Formatting requirements 11416 @cindex Formatting requirements
12305 11417
12306 Every Texinfo file that is to be input to @TeX{} must begin with a 11418 Every Texinfo file that is to be input to @TeX{} must begin with a
12307 @code{\input} command and must contain an @code{@@setfilename} command: 11419 @code{\input} command and contain an @code{@@settitle} command:@refill
12308 11420
12309 @example 11421 @example
12310 \input texinfo 11422 \input texinfo
12311 @@setfilename @var{arg-not-used-by-@TeX{}} 11423 @@settitle @var{name-of-manual}
12312 @end example 11424 @end example
12313 11425
12314 @noindent 11426 @noindent
12315 The first command instructs @TeX{} to load the macros it needs to 11427 The first command instructs @TeX{} to load the macros it needs to
12316 process a Texinfo file and the second command opens auxiliary files. 11428 process a Texinfo file and the second command specifies the title of
12317 11429 printed manual.@refill
12318 Every Texinfo file must end with a line that terminates @TeX{}'s 11430
12319 processing and forces out unfinished pages: 11431 @need 1000
11432 Every Texinfo file must end with a line that terminates @TeX{}
11433 processing and forces out unfinished pages:@refill
12320 11434
12321 @example 11435 @example
12322 @@bye 11436 @@bye
12323 @end example 11437 @end example
12324 11438
12325 Strictly speaking, these lines are all a Texinfo file needs to be 11439 Strictly speaking, these three lines are all a Texinfo file needs for
12326 processed successfully by @TeX{}. 11440 @TeX{}, besides the body. (The @code{@@setfilename} line is the only
12327 11441 line that a Texinfo file needs for Info formatting.)@refill
12328 Usually, however, the beginning includes an @code{@@settitle} command to 11442
12329 define the title of the printed manual, an @code{@@setchapternewpage} 11443 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
11445 file. In addition, the beginning usually includes an
11446 @code{@@setfilename} for Info formatting, an @code{@@setchapternewpage}
12330 command, a title page, a copyright page, and permissions. Besides an 11447 command, a title page, a copyright page, and permissions. Besides an
12331 @code{@@bye}, the end of a file usually includes indices and a table of 11448 @code{@@bye}, the end of a file usually includes indices and a table of
12332 contents. (And of course most manuals contain a body of text as well.) 11449 contents.@refill
12333 11450
12334 @iftex 11451 @iftex
12335 For more information, see 11452 For more information, see
12336 @ref{settitle, , @code{@@settitle}},
12337 @ref{setchapternewpage, , @code{@@setchapternewpage}}, 11453 @ref{setchapternewpage, , @code{@@setchapternewpage}},
12338 @ref{Headings, ,Page Headings}, 11454 @ref{Headings, ,Page Headings},
12339 @ref{Titlepage & Copyright Page}, 11455 @ref{Titlepage & Copyright Page},
12340 @ref{Printing Indices & Menus}, and 11456 @ref{Printing Indices & Menus}, and
12341 @ref{Contents}. 11457 @ref{Contents}.
12342 @end iftex 11458 @end iftex
12343 @noindent 11459 @noindent
12344 @ifinfo 11460 @ifinfo
12345 For more information, see@* 11461 For more information, see@*
12346 @ref{settitle, , @code{@@settitle}},@*
12347 @ref{setchapternewpage, , @code{@@setchapternewpage}},@* 11462 @ref{setchapternewpage, , @code{@@setchapternewpage}},@*
12348 @ref{Headings, ,Page Headings},@* 11463 @ref{Headings, ,Page Headings},@*
12349 @ref{Titlepage & Copyright Page},@* 11464 @ref{Titlepage & Copyright Page},@*
12350 @ref{Printing Indices & Menus}, and@* 11465 @ref{Printing Indices & Menus}, and@*
12351 @ref{Contents}. 11466 @ref{Contents}.
12352 @end ifinfo 11467 @end ifinfo
12353
12354 11468
12355 @node Preparing for TeX, Overfull hboxes, Requirements Summary, Format/Print Hardcopy 11469 @node Preparing for TeX, Overfull hboxes, Requirements Summary, Format/Print Hardcopy
12356 @comment node-name, next, previous, up 11470 @comment node-name, next, previous, up
12357 @section Preparing to Use @TeX{} 11471 @section Preparing to Use @TeX{}
12358 @cindex Preparing to use @TeX{} 11472 @cindex Preparing to use @TeX{}
12361 @vindex TEXINPUTS 11475 @vindex TEXINPUTS
12362 @cindex @b{.profile} initialization file 11476 @cindex @b{.profile} initialization file
12363 @cindex @b{.cshrc} initialization file 11477 @cindex @b{.cshrc} initialization file
12364 @cindex Initialization file for @TeX{} input 11478 @cindex Initialization file for @TeX{} input
12365 11479
12366 @TeX{} needs to know where to find the @file{texinfo.tex} file that you 11480 @TeX{} needs to know where to find the @file{texinfo.tex} file
12367 have told it to input with the @samp{\input texinfo} command at the 11481 that you have told it to input with the @samp{\input texinfo} command
12368 beginning of the first line. The @file{texinfo.tex} file tells @TeX{} 11482 at the beginning of the first line. The @file{texinfo.tex} file tells
12369 how to handle @@-commands; it is included in all standard GNU 11483 @TeX{} how to handle @@-commands. (@file{texinfo.tex} is
12370 distributions. 11484 included in the standard GNU distributions.)@refill
12371 11485
12372 @pindex texinfo.tex@r{, installing} 11486 Usually, the @file{texinfo.tex} file is put in the default directory
12373 Usually, the @file{texinfo.tex} file is put under the default directory 11487 that contains @TeX{} macros (the @file{/usr/lib/tex/macros}
12374 that contains @TeX{} macros 11488 directory) when GNU Emacs or other GNU software is installed.
12375 (@file{/usr/local/share/texmf/tex/texinfo/texinfo.tex} by default) when 11489 In this case, @TeX{} will
12376 GNU Emacs or other GNU software is installed. In this case, @TeX{} will
12377 find the file and you do not need to do anything special. 11490 find the file and you do not need to do anything special.
12378 Alternatively, you can put @file{texinfo.tex} in the current directory 11491 Alternatively, you can put @file{texinfo.tex} in the directory in
12379 when you run @TeX{}, and @TeX{} will find it there. 11492 which the Texinfo source file is located, and @TeX{} will find it
12380 11493 there.@refill
12381 @pindex epsf.tex@r{, installing} 11494
12382 Also, you should install @file{epsf.tex} in the same place as 11495 However, you may want to specify the location of the @code{\input} file
12383 @file{texinfo.tex}, if it is not already installed from another 11496 yourself. One way to do this is to write the complete path for the file
12384 distribution. This file is needed to support the @code{@@image} command 11497 after the @code{\input} command. Another way is to set the
12385 (@pxref{Images}). 11498 @code{TEXINPUTS} environment variable in your @file{.cshrc} or
12386 11499 @file{.profile} file. The @code{TEXINPUTS} environment variable will tell
12387 @pindex texinfo.cnf @r{installation} 11500 @TeX{} where to find the @file{texinfo.tex} file and any other file that
12388 @cindex Customizing of @TeX{} for Texinfo 11501 you might want @TeX{} to use.@refill
12389 @cindex Site-wide Texinfo configuration file 11502
12390 Optionally, you may create an additional @file{texinfo.cnf}, and install 11503 Whether you use a @file{.cshrc} or @file{.profile} file depends on
12391 it as well. This file is read by @TeX{} at the @code{@@setfilename} 11504 whether you use @code{csh}, @code{sh}, or @code{bash} for your shell
12392 command (@pxref{setfilename,, @code{@@setfilename}}). You can put any 11505 command interpreter. When you use @code{csh}, it looks to the
12393 commands you like there according to local site-wide conventions, and 11506 @file{.cshrc} file for initialization information, and when you use
12394 they will be read by @TeX{} when processing any Texinfo document. For 11507 @code{sh} or @code{bash}, it looks to the @file{.profile} file.@refill
12395 example, if @file{texinfo.cnf} contains the a single line 11508
12396 @samp{@@afourpaper} (@pxref{A4 Paper}), then all Texinfo documents will 11509 @need 1000
12397 be processed with that page size in effect. If you have nothing to put
12398 in @file{texinfo.cnf}, you do not need to create it.
12399
12400 @vindex TEXINPUTS
12401 If neither of the above locations for these system files suffice for
12402 you, you can specify the directories explicitly. For
12403 @file{texinfo.tex}, you can do this by writing the complete path for the
12404 file after the @code{\input} command. Another way, that works for both
12405 @file{texinfo.tex} and @file{texinfo.cnf} (and any other file @TeX{}
12406 might read), is to set the @code{TEXINPUTS} environment variable in your
12407 @file{.cshrc} or @file{.profile} file.
12408
12409 Which you use of @file{.cshrc} or @file{.profile} depends on
12410 whether you use a Bourne shell-compatible (@code{sh}, @code{bash},
12411 @code{ksh}, @dots{}) or C shell-compatible (@code{csh}, @code{tcsh})
12412 command interpreter. The latter read the @file{.cshrc} file for
12413 initialization information, and the former read @file{.profile}.
12414
12415 In a @file{.cshrc} file, you could use the following @code{csh} command 11510 In a @file{.cshrc} file, you could use the following @code{csh} command
12416 sequence: 11511 sequence:@refill
12417 11512
12418 @example 11513 @example
12419 setenv TEXINPUTS .:/home/me/mylib:/usr/lib/tex/macros 11514 setenv TEXINPUTS .:/usr/me/mylib:/usr/lib/tex/macros
12420 @end example 11515 @end example
12421 11516
12422 @need 1000 11517 @need 1000
12423 In a @file{.profile} file, you could use the following @code{sh} command 11518 In a @file{.profile} file, you could use the following @code{sh} command
12424 sequence: 11519 sequence:
12425 11520
12426 @example 11521 @example
12427 @group 11522 @group
12428 TEXINPUTS=.:/home/me/mylib:/usr/lib/tex/macros 11523 TEXINPUTS=.:/usr/me/mylib:/usr/lib/tex/macros
12429 export TEXINPUTS 11524 export TEXINPUTS
12430 @end group 11525 @end group
12431 @end example 11526 @end example
12432 11527
12433 @noindent 11528 @noindent
12434 This would cause @TeX{} to look for @file{\input} file first in the current 11529 This would cause @TeX{} to look for @file{\input} file first in the current
12435 directory, indicated by the @samp{.}, then in a hypothetical user's 11530 directory, indicated by the @samp{.}, then in a hypothetical user's
12436 @file{me/mylib} directory, and finally in a system directory. 11531 @file{me/mylib} directory, and finally in the system library.@refill
12437
12438 11532
12439 @node Overfull hboxes, smallbook, Preparing for TeX, Format/Print Hardcopy 11533 @node Overfull hboxes, smallbook, Preparing for TeX, Format/Print Hardcopy
12440 @comment node-name, next, previous, up 11534 @comment node-name, next, previous, up
12441 @section Overfull ``hboxes'' 11535 @section Overfull ``hboxes''
12442 @cindex Overfull @samp{hboxes} 11536 @cindex Overfull @samp{hboxes}
12457 (In @TeX{}, lines are in ``horizontal boxes'', hence the term, ``hbox''. 11551 (In @TeX{}, lines are in ``horizontal boxes'', hence the term, ``hbox''.
12458 The backslash, @samp{\}, is the @TeX{} equivalent of @samp{@@}.)@refill 11552 The backslash, @samp{\}, is the @TeX{} equivalent of @samp{@@}.)@refill
12459 11553
12460 @TeX{} also provides the line number in the Texinfo source file and 11554 @TeX{} also provides the line number in the Texinfo source file and
12461 the text of the offending line, which is marked at all the places that 11555 the text of the offending line, which is marked at all the places that
12462 @TeX{} knows how to hyphenate words. 11556 @TeX{} knows how to hyphenate words.
12463 @xref{Debugging with TeX, , Catching Errors with @TeX{} Formatting}, 11557 @xref{Debugging with TeX, , Catching Errors with @TeX{} Formatting},
12464 for more information about typesetting errors.@refill 11558 for more information about typesetting errors.@refill
12465 11559
12466 If the Texinfo file has an overfull hbox, you can rewrite the sentence 11560 If the Texinfo file has an overfull hbox, you can rewrite the sentence
12467 so the overfull hbox does not occur, or you can decide to leave it. A 11561 so the overfull hbox does not occur, or you can decide to leave it. A
12469 even be noticeable.@refill 11563 even be noticeable.@refill
12470 11564
12471 @cindex Black rectangle in hardcopy 11565 @cindex Black rectangle in hardcopy
12472 @cindex Rectangle, ugly, black in hardcopy 11566 @cindex Rectangle, ugly, black in hardcopy
12473 However, unless told otherwise, @TeX{} will print a large, ugly, black 11567 However, unless told otherwise, @TeX{} will print a large, ugly, black
12474 rectangle beside the line that contains the overfull hbox. This is so 11568 rectangle beside the line that contains the overful hbox. This is so
12475 you will notice the location of the problem if you are correcting a 11569 you will notice the location of the problem if you are correcting a
12476 draft.@refill 11570 draft.@refill
12477 11571
12478 @need 1000 11572 @need 1000
12479 @findex finalout 11573 @findex finalout
12518 The Free Software Foundation distributes printed copies of @cite{The GNU 11612 The Free Software Foundation distributes printed copies of @cite{The GNU
12519 Emacs Manual} and other manuals in the ``small'' book size. 11613 Emacs Manual} and other manuals in the ``small'' book size.
12520 @xref{smallexample & smalllisp, , @code{@@smallexample} and 11614 @xref{smallexample & smalllisp, , @code{@@smallexample} and
12521 @code{@@smalllisp}}, for information about commands that make it easier 11615 @code{@@smalllisp}}, for information about commands that make it easier
12522 to produce examples for a smaller manual.@refill 11616 to produce examples for a smaller manual.@refill
12523
12524 Alternatively, to avoid embedding this physical paper size in your
12525 document, use @code{texi2dvi} to format your document (@pxref{Format
12526 with texi2dvi}), and supply @samp{-t @@smallbook} as an argument. Then
12527 other people do not have to change the document source file to format it
12528 differently.
12529
12530 11617
12531 @node A4 Paper, Cropmarks and Magnification, smallbook, Format/Print Hardcopy 11618 @node A4 Paper, Cropmarks and Magnification, smallbook, Format/Print Hardcopy
12532 @comment node-name, next, previous, up 11619 @comment node-name, next, previous, up
12533 @section Printing on A4 Paper 11620 @section Printing on A4 Paper
12534 @cindex A4 paper, printing on 11621 @cindex A4 paper, printing on
12555 @@end iftex 11642 @@end iftex
12556 @@c %**end of header 11643 @@c %**end of header
12557 @end group 11644 @end group
12558 @end example 11645 @end example
12559 11646
12560 Alternatively, to avoid embedding this physical paper size in your
12561 document, use @code{texi2dvi} to format your document (@pxref{Format
12562 with texi2dvi}), and supply @samp{-t @@afourpaper} as an argument. Then
12563 other people do not have to change the document source file to format it
12564 differently.
12565
12566 @pindex texinfo.cnf
12567 Another alternative: put the @code{@@afourpaper} command in the file
12568 @file{texinfo.cnf} that @TeX{} will read. (No need for @code{@@iftex}
12569 there.) This will automatically typeset all the Texinfo documents at
12570 your site with that paper size in effect.
12571
12572
12573 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy 11647 @node Cropmarks and Magnification, , A4 Paper, Format/Print Hardcopy
12574 @comment node-name, next, previous, up 11648 @comment node-name, next, previous, up
12575 @section Cropmarks and Magnification 11649 @section Cropmarks and Magnification
12576 11650
12577 @findex cropmarks 11651 @findex cropmarks
12578 @cindex Cropmarks for printing 11652 @cindex Cropmarks for printing
12579 @cindex Printing cropmarks 11653 @cindex Printing cropmarks
12580 You can attempt to direct @TeX{} to print cropmarks at the corners of 11654 You can attempt to direct @TeX{} to print cropmarks at the corners of
12581 pages with the @code{@@cropmarks} command. Write the @code{@@cropmarks} 11655 pages with the @code{@@cropmarks} command. Write the @code{@@cropmarks}
12582 command on a line by itself between @code{@@iftex} and @code{@@end 11656 command on a line by itself between @code{@@iftex} and @code{@@end
12605 @cindex Larger or smaller pages 11679 @cindex Larger or smaller pages
12606 You can attempt to direct @TeX{} to typeset pages larger or smaller than 11680 You can attempt to direct @TeX{} to typeset pages larger or smaller than
12607 usual with the @code{\mag} @TeX{} command. Everything that is typeset 11681 usual with the @code{\mag} @TeX{} command. Everything that is typeset
12608 is scaled proportionally larger or smaller. (@code{\mag} stands for 11682 is scaled proportionally larger or smaller. (@code{\mag} stands for
12609 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a 11683 ``magnification''.) This is @emph{not} a Texinfo @@-command, but is a
12610 plain @TeX{} command that is prefixed with a backslash. You have to 11684 Plain@TeX{} command that is prefixed with a backslash. You have to
12611 write this command between @code{@@tex} and @code{@@end tex} 11685 write this command between @code{@@tex} and @code{@@end tex}
12612 (@pxref{Raw Formatter Commands}). 11686 (@pxref{Using Ordinary TeX Commands, , Using Ordinary @TeX{}
11687 Commands}).@refill
12613 11688
12614 Follow the @code{\mag} command with an @samp{=} and then a number that 11689 Follow the @code{\mag} command with an @samp{=} and then a number that
12615 is 1000 times the magnification you desire. For example, to print pages 11690 is 1000 times the magnification you desire. For example, to print pages
12616 at 1.2 normal size, write the following near the beginning of the 11691 at 1.2 normal size, write the following near the beginning of the
12617 Texinfo file, before the title page:@refill 11692 Texinfo file, before the title page:@refill
12639 11714
12640 @code{makeinfo} is a utility that converts a Texinfo file into an Info 11715 @code{makeinfo} is a utility that converts a Texinfo file into an Info
12641 file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are 11716 file; @code{texinfo-format-region} and @code{texinfo-format-buffer} are
12642 GNU Emacs functions that do the same.@refill 11717 GNU Emacs functions that do the same.@refill
12643 11718
12644 A Texinfo file must contain an @code{@@setfilename} line near its 11719 A Texinfo file must possess an @code{@@setfilename} line near its
12645 beginning, otherwise the Info formatting commands will fail. 11720 beginning, otherwise the Info formatting commands will fail.@refill
12646 11721
12647 For information on installing the Info file in the Info system, see 11722 For information on installing the Info file in the Info system, see
12648 @ref{Install an Info File}.@refill 11723 @ref{Install an Info File}.@refill
12649 11724
12650 @menu 11725 @menu
12652 * Invoking makeinfo:: How to run @code{makeinfo} from a shell. 11727 * Invoking makeinfo:: How to run @code{makeinfo} from a shell.
12653 * makeinfo options:: Specify fill-column and other options. 11728 * makeinfo options:: Specify fill-column and other options.
12654 * Pointer Validation:: How to check that pointers point somewhere. 11729 * Pointer Validation:: How to check that pointers point somewhere.
12655 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs. 11730 * makeinfo in Emacs:: How to run @code{makeinfo} from Emacs.
12656 * texinfo-format commands:: Two Info formatting commands written 11731 * texinfo-format commands:: Two Info formatting commands written
12657 in Emacs Lisp are an alternative 11732 in Emacs Lisp are an alternative
12658 to @code{makeinfo}. 11733 to @code{makeinfo}.
12659 * Batch Formatting:: How to format for Info in Emacs Batch mode. 11734 * Batch Formatting:: How to format for Info in Emacs Batch mode.
12660 * Tag and Split Files:: How tagged and split files help Info 11735 * Tag and Split Files:: How tagged and split files help Info
12661 to run better. 11736 to run better.
12662 @end menu 11737 @end menu
12663 11738
12664 @node makeinfo advantages, Invoking makeinfo, Create an Info File, Create an Info File 11739 @node makeinfo advantages, Invoking makeinfo, Create an Info File, Create an Info File
12665 @ifinfo 11740 @ifinfo
12684 @node Invoking makeinfo, makeinfo options, makeinfo advantages, Create an Info File 11759 @node Invoking makeinfo, makeinfo options, makeinfo advantages, Create an Info File
12685 @section Running @code{makeinfo} from a Shell 11760 @section Running @code{makeinfo} from a Shell
12686 11761
12687 To create an Info file from a Texinfo file, type @code{makeinfo} 11762 To create an Info file from a Texinfo file, type @code{makeinfo}
12688 followed by the name of the Texinfo file. Thus, to create the Info 11763 followed by the name of the Texinfo file. Thus, to create the Info
12689 file for Bison, type the following to the shell: 11764 file for Bison, type the following at the shell prompt (where @samp{%}
12690 is the prompt):@refill 11765 is the prompt):@refill
12691 11766
12692 @example 11767 @example
12693 makeinfo bison.texinfo 11768 % makeinfo bison.texinfo
12694 @end example 11769 @end example
12695 11770
12696 (You can run a shell inside Emacs by typing @kbd{M-x shell}.)@refill 11771 (You can run a shell inside Emacs by typing @kbd{M-x
11772 shell}.)@refill
12697 11773
12698 @ifinfo 11774 @ifinfo
12699 Sometimes you will want to specify options. For example, if you wish 11775 Sometimes you will want to specify options. For example, if you wish
12700 to discover which version of @code{makeinfo} you are using, 11776 to discover which version of @code{makeinfo} you are using,
12701 type:@refill 11777 type:@refill
12702 11778
12703 @example 11779 @example
12704 makeinfo --version 11780 % makeinfo --version
12705 @end example 11781 @end example
12706 11782
12707 @xref{makeinfo options}, for more information. 11783 @xref{makeinfo options}, for more information.
12708 @end ifinfo 11784 @end ifinfo
12709
12710 11785
12711 @node makeinfo options, Pointer Validation, Invoking makeinfo, Create an Info File 11786 @node makeinfo options, Pointer Validation, Invoking makeinfo, Create an Info File
12712 @comment node-name, next, previous, up 11787 @comment node-name, next, previous, up
12713 @section Options for @code{makeinfo} 11788 @section Options for @code{makeinfo}
12714 @cindex @code{makeinfo} options 11789 @cindex @code{makeinfo} options
12715 @cindex Options for @code{makeinfo} 11790 @cindex Options for @code{makeinfo}
12716 11791
12717 The @code{makeinfo} command takes a number of options. Most often, 11792 The @code{makeinfo} command takes a number of options. Most often,
12718 options are used to set the value of the fill column and specify the 11793 options are used to set the value of the fill column and specify the
12719 footnote style. Each command line option is a word preceded by 11794 footnote style. Each command line option is a word preceded by
12720 @samp{--} or a letter preceded by @samp{-}. You can use abbreviations 11795 @samp{--}@footnote{@samp{--} has replaced @samp{+}, the old introductory
12721 for the long option names as long as they are unique.@refill 11796 character, to maintain POSIX.2 compatibility without losing long-named
12722 11797 options.} or a letter preceded by @samp{-}. You can use abbreviations
12723 For example, you could use the following shell command to create an Info 11798 for the option names as long as they are unique.@refill
11799
11800 For example, you could use the following command to create an Info
12724 file for @file{bison.texinfo} in which each line is filled to only 68 11801 file for @file{bison.texinfo} in which each line is filled to only 68
12725 columns:@refill 11802 columns (where @samp{%} is the prompt):@refill
12726 11803
12727 @example 11804 @example
12728 makeinfo --fill-column=68 bison.texinfo 11805 % makeinfo --fill-column=68 bison.texinfo
12729 @end example 11806 @end example
12730 11807
12731 You can write two or more options in sequence, like this:@refill 11808 You can write two or more options in sequence, like this:@refill
12732 11809
12733 @example 11810 @example
12734 makeinfo --no-split --fill-column=70 @dots{} 11811 % makeinfo --no-split --fill-column=70 @dots{}
12735 @end example 11812 @end example
12736 11813
12737 @noindent 11814 @noindent
12738 This would keep the Info file together as one possibly very long 11815 This would keep the Info file together as one possibly very long
12739 file and would also set the fill column to 70.@refill 11816 file and would also set the fill column to 70.@refill
12740 11817
12741 The options are: 11818 @iftex
12742 11819 If you wish to discover which version of @code{makeinfo}
11820 you are using, type:@refill
11821
11822 @example
11823 % makeinfo --version
11824 @end example
11825 @end iftex
11826
11827 The options are:@refill
11828
11829 @need 100
12743 @table @code 11830 @table @code
12744
12745 @item -D @var{var} 11831 @item -D @var{var}
12746 @opindex -D @var{var} 11832 Cause @var{var} to be defined. This is equivalent to
12747 Cause the variable @var{var} to be defined. This is equivalent to 11833 @code{@@set @var{var}} in the Texinfo file.
12748 @code{@@set @var{var}} in the Texinfo file (@pxref{set clear value}). 11834
12749 11835 @need 150
12750 @item --error-limit=@var{limit} 11836 @item --error-limit @var{limit}
12751 @opindex --error-limit=@var{limit}
12752 Set the maximum number of errors that @code{makeinfo} will report 11837 Set the maximum number of errors that @code{makeinfo} will report
12753 before exiting (on the assumption that continuing would be useless); 11838 before exiting (on the assumption that continuing would be useless).
12754 default 100. 11839 The default number of errors that can be reported before
11840 @code{makeinfo} gives up is 100.@refill
12755 11841
12756 @need 150 11842 @need 150
12757 @item --fill-column=@var{width} 11843 @item --fill-column @var{width}
12758 @opindex --fill-column=@var{width}
12759 Specify the maximum number of columns in a line; this is the right-hand 11844 Specify the maximum number of columns in a line; this is the right-hand
12760 edge of a line. Paragraphs that are filled will be filled to this 11845 edge of a line. Paragraphs that are filled will be filled to this
12761 width. (Filling is the process of breaking up and connecting lines so 11846 width. (Filling is the process of breaking up and connecting lines so
12762 that lines are the same length as or shorter than the number specified 11847 that lines are the same length as or shorter than the number specified
12763 as the fill column. Lines are broken between words.) The default value 11848 as the fill column. Lines are broken between words.) The default value
12764 is 72. 11849 for @code{fill-column} is 72.
12765 11850 @refill
12766 @item --footnote-style=@var{style} 11851
12767 @opindex --footnote-style=@var{style} 11852 @item --footnote-style @var{style}
12768 Set the footnote style to @var{style}, either @samp{end} for the end 11853 Set the footnote style to @var{style}, either @samp{end} for the end
12769 node style (the default) or @samp{separate} for the separate node style. 11854 node style or @samp{separate} for the separate node style. The value
12770 The value set by this option overrides the value set in a Texinfo file 11855 set by this option overrides the value set in a Texinfo file by an
12771 by an @code{@@footnotestyle} command (@pxref{Footnotes}). When the 11856 @code{@@footnotestyle} command. When the footnote style is
12772 footnote style is @samp{separate}, @code{makeinfo} makes a new node 11857 @samp{separate}, @code{makeinfo} makes a new node containing the
12773 containing the footnotes found in the current node. When the footnote 11858 footnotes found in the current node. When the footnote style is
12774 style is @samp{end}, @code{makeinfo} places the footnote references at 11859 @samp{end}, @code{makeinfo} places the footnote references at the end
12775 the end of the current node. 11860 of the current node.@refill
12776 11861
12777 @item --force 11862 @need 150
12778 @opindex --force
12779 Ordinarily, if the input file has errors, the output files are not
12780 created. With this option, they are preserved.
12781
12782 @item --help
12783 @opindex --help
12784 Print a usage message listing all available options, then exit successfully.
12785
12786 @item -I @var{dir} 11863 @item -I @var{dir}
12787 @opindex -I @var{dir}
12788 Add @code{dir} to the directory search list for finding files that are 11864 Add @code{dir} to the directory search list for finding files that are
12789 included using the @code{@@include} command. By default, 11865 included using the @code{@@include} command. By default,
12790 @code{makeinfo} searches only the current directory. 11866 @code{makeinfo} searches only the current directory.
12791 11867
11868 @need 150
12792 @item --no-headers 11869 @item --no-headers
12793 @opindex --no-headers
12794 Do not include menus or node lines in the output. This results in an 11870 Do not include menus or node lines in the output. This results in an
12795 @sc{ascii} file that you cannot read in Info since it does not contain 11871 @sc{ascii} file that you cannot read in Info since it does not contain
12796 the requisite nodes or menus. It is primarily useful to extract certain 11872 the requisite nodes or menus; but you can print such a file in a
12797 pieces of a manual into separate files to be included in a distribution, 11873 single, typewriter-like font and produce acceptable output.
12798 such as @file{INSTALL} files. 11874
12799 11875 @need 150
12800 @item --no-split 11876 @item --no-split
12801 @opindex --no-split 11877 Suppress the splitting stage of @code{makeinfo}. Normally, large
12802 Suppress the splitting stage of @code{makeinfo}. By default, large
12803 output files (where the size is greater than 70k bytes) are split into 11878 output files (where the size is greater than 70k bytes) are split into
12804 smaller subfiles, each one approximately 50k bytes. 11879 smaller subfiles, each one approximately 50k bytes. If you specify
12805 11880 @samp{--no-split}, @code{makeinfo} will not split up the output
11881 file.@refill
11882
11883 @need 100
12806 @item --no-pointer-validate 11884 @item --no-pointer-validate
12807 @itemx --no-validate 11885 @item --no-validate
12808 @opindex --no-pointer-validate
12809 @opindex --no-validate
12810 Suppress the pointer-validation phase of @code{makeinfo}. Normally, 11886 Suppress the pointer-validation phase of @code{makeinfo}. Normally,
12811 after a Texinfo file is processed, some consistency checks are made to 11887 after a Texinfo file is processed, some consistency checks are made to
12812 ensure that cross references can be resolved, etc. 11888 ensure that cross references can be resolved, etc.
12813 @xref{Pointer Validation}.@refill 11889 @xref{Pointer Validation}.@refill
12814 11890
11891 @need 150
12815 @item --no-warn 11892 @item --no-warn
12816 @opindex --no-warn 11893 Suppress the output of warning messages. This does @emph{not}
12817 Suppress warning messages (but @emph{not} error messages). You might 11894 suppress the output of error messages, only warnings. You might
12818 want this if the file you are creating has examples of Texinfo cross 11895 want this if the file you are creating has examples of Texinfo cross
12819 references within it, and the nodes that are referenced do not actually 11896 references within it, and the nodes that are referenced do not actually
12820 exist. 11897 exist.@refill
12821 11898
12822 @item --no-number-footnotes 11899 @item --no-number-footnotes
12823 @opindex --no-number-footnotes
12824 Suppress automatic footnote numbering. By default, @code{makeinfo} 11900 Suppress automatic footnote numbering. By default, @code{makeinfo}
12825 numbers each footnote sequentially in a single node, resetting the 11901 numbers each footnote sequentially in a single node, resetting the
12826 current footnote number to 1 at the start of each node. 11902 current footnote number to 1 at the start of each node.
12827 11903
12828 @item --output=@var{file} 11904 @need 150
11905 @item --output @var{file}
12829 @itemx -o @var{file} 11906 @itemx -o @var{file}
12830 @opindex --output=@var{file}
12831 @opindex -o @var{file}
12832 Specify that the output should be directed to @var{file} and not to the 11907 Specify that the output should be directed to @var{file} and not to the
12833 file name specified in the @code{@@setfilename} command found in the 11908 file name specified in the @code{@@setfilename} command found in the Texinfo
12834 Texinfo source (@pxref{setfilename}). If @var{file} is @samp{-}, output 11909 source. @var{file} can be the special token @samp{-}, which specifies
12835 goes to standard output and @samp{--no-split} is implied. 11910 standard output.
12836 11911
12837 @item -P @var{dir} 11912 @need 150
12838 @opindex -P @var{dir} 11913 @item --paragraph-indent @var{indent}
12839 Prepend @code{dir} to the directory search list for @code{@@include}.
12840 See @samp{-I} for more details.
12841
12842 @item --paragraph-indent=@var{indent}
12843 @opindex --paragraph-indent=@var{indent}
12844 Set the paragraph indentation style to @var{indent}. The value set by 11914 Set the paragraph indentation style to @var{indent}. The value set by
12845 this option overrides the value set in a Texinfo file by an 11915 this option overrides the value set in a Texinfo file by an
12846 @code{@@paragraphindent} command (@pxref{paragraphindent}). The value 11916 @code{@@paragraphindent} command. The value of @var{indent} is
12847 of @var{indent} is interpreted as follows: 11917 interpreted as follows:@refill
12848 11918
12849 @table @asis 11919 @itemize @bullet
12850 @item @samp{asis} 11920 @item
12851 Preserve any existing indentation at the starts of paragraphs. 11921 If the value of @var{indent} is @samp{asis}, do not change the
12852 11922 existing indentation at the starts of paragraphs.@refill
12853 @item @samp{0} or @samp{none} 11923
12854 Delete any existing indentation. 11924 @item
12855 11925 If the value of @var{indent} is zero, delete any existing
12856 @item @var{num} 11926 indentation.@refill
12857 Indent each paragraph by that number of spaces. 11927
12858 @end table 11928 @item
12859 11929 If the value of @var{indent} is greater than zero, indent each
12860 @item --reference-limit=@var{limit} 11930 paragraph by that number of spaces.@refill
12861 @opindex --reference-limit=@var{limit} 11931 @end itemize
11932
11933 @need 100
11934 @item --reference-limit @var{limit}
12862 Set the value of the number of references to a node that 11935 Set the value of the number of references to a node that
12863 @code{makeinfo} will make without reporting a warning. If a node has more 11936 @code{makeinfo} will make without reporting a warning. If a node has more
12864 than this number of references in it, @code{makeinfo} will make the 11937 than this number of references in it, @code{makeinfo} will make the
12865 references but also report a warning. The default is 1000. 11938 references but also report a warning.@refill
12866 11939
11940 @need 150
12867 @item -U @var{var} 11941 @item -U @var{var}
12868 Cause @var{var} to be undefined. This is equivalent to 11942 Cause @var{var} to be undefined. This is equivalent to
12869 @code{@@clear @var{var}} in the Texinfo file (@pxref{set clear value}). 11943 @code{@@clear @var{var}} in the Texinfo file.
12870 11944
11945 @need 100
12871 @item --verbose 11946 @item --verbose
12872 @opindex --verbose
12873 Cause @code{makeinfo} to display messages saying what it is doing. 11947 Cause @code{makeinfo} to display messages saying what it is doing.
12874 Normally, @code{makeinfo} only outputs messages if there are errors or 11948 Normally, @code{makeinfo} only outputs messages if there are errors or
12875 warnings. 11949 warnings.@refill
12876 11950
11951 @need 100
12877 @item --version 11952 @item --version
12878 @opindex --version 11953 Report the version number of this copy of @code{makeinfo}.@refill
12879 Print the version number, then exit successfully.
12880
12881 @end table 11954 @end table
12882
12883 11955
12884 @node Pointer Validation, makeinfo in Emacs, makeinfo options, Create an Info File 11956 @node Pointer Validation, makeinfo in Emacs, makeinfo options, Create an Info File
12885 @section Pointer Validation 11957 @section Pointer Validation
12886 @cindex Pointer validation with @code{makeinfo} 11958 @cindex Pointer validation with @code{makeinfo}
12887 @cindex Validation of pointers 11959 @cindex Validation of pointers
12896 If a `Next', `Previous', or `Up' node reference is a reference to a 11968 If a `Next', `Previous', or `Up' node reference is a reference to a
12897 node in the current file and is not an external reference such as to 11969 node in the current file and is not an external reference such as to
12898 @file{(dir)}, then the referenced node must exist.@refill 11970 @file{(dir)}, then the referenced node must exist.@refill
12899 11971
12900 @item 11972 @item
12901 In every node, if the `Previous' node is different from the `Up' node, 11973 In every node, if the `Previous' node is different from the `Up' node,
12902 then the `Previous' node must also be pointed to by a `Next' node.@refill 11974 then the `Previous' node must also be pointed to by a `Next' node.@refill
12903 11975
12904 @item 11976 @item
12905 Every node except the `Top' node must have an `Up' pointer.@refill 11977 Every node except the `Top' node must have an `Up' pointer.@refill
12906 11978
12941 @end table 12013 @end table
12942 12014
12943 When you invoke either @code{makeinfo-region} or 12015 When you invoke either @code{makeinfo-region} or
12944 @code{makeinfo-buffer}, Emacs prompts for a file name, offering the 12016 @code{makeinfo-buffer}, Emacs prompts for a file name, offering the
12945 name of the visited file as the default. You can edit the default 12017 name of the visited file as the default. You can edit the default
12946 file name in the minibuffer if you wish, before pressing @key{RET} to 12018 file name in the minibuffer if you wish, before typing @key{RET} to
12947 start the @code{makeinfo} process.@refill 12019 start the @code{makeinfo} process.@refill
12948 12020
12949 The Emacs @code{makeinfo-region} and @code{makeinfo-buffer} commands 12021 The Emacs @code{makeinfo-region} and @code{makeinfo-buffer} commands
12950 run the @code{makeinfo} program in a temporary shell buffer. If 12022 run the @code{makeinfo} program in a temporary shell buffer. If
12951 @code{makeinfo} finds any errors, Emacs displays the error messages in 12023 @code{makeinfo} finds any errors, Emacs displays the error messages in
12991 12063
12992 For example, you could write the following in your @file{.emacs} file:@refill 12064 For example, you could write the following in your @file{.emacs} file:@refill
12993 12065
12994 @example 12066 @example
12995 @group 12067 @group
12996 (setq makeinfo-options 12068 (setq makeinfo-options
12997 "--paragraph-indent=0 --no-split 12069 "--paragraph-indent=0 --no-split
12998 --fill-column=70 --verbose") 12070 --fill-column=70 --verbose")
12999 @end group 12071 @end group
13000 @end example 12072 @end example
13001 12073
13002 @c If you write these three cross references using xref, you see 12074 @c If you write these three cross references using xref, you see
13062 You can format Texinfo files for Info using @code{batch-texinfo-format} 12134 You can format Texinfo files for Info using @code{batch-texinfo-format}
13063 and Emacs Batch mode. You can run Emacs in Batch mode from any shell, 12135 and Emacs Batch mode. You can run Emacs in Batch mode from any shell,
13064 including a shell inside of Emacs. (@xref{Command Switches, , Command 12136 including a shell inside of Emacs. (@xref{Command Switches, , Command
13065 Line Switches and Arguments, emacs, The GNU Emacs Manual}.)@refill 12137 Line Switches and Arguments, emacs, The GNU Emacs Manual}.)@refill
13066 12138
13067 Here is a shell command to format all the files that end in 12139 Here is the command to format all the files that end in @file{.texinfo}
13068 @file{.texinfo} in the current directory: 12140 in the current directory (where @samp{%} is the shell prompt):@refill
13069 12141
13070 @example 12142 @example
13071 emacs -batch -funcall batch-texinfo-format *.texinfo 12143 % emacs -batch -funcall batch-texinfo-format *.texinfo
13072 @end example 12144 @end example
13073 12145
13074 @noindent 12146 @noindent
13075 Emacs processes all the files listed on the command line, even if an 12147 Emacs processes all the files listed on the command line, even if an
13076 error occurs while attempting to format some of them.@refill 12148 error occurs while attempting to format some of them.@refill
13172 Info-validate} node-checking command on indirect files. For 12244 Info-validate} node-checking command on indirect files. For
13173 information on how to prevent files from being split and how to 12245 information on how to prevent files from being split and how to
13174 validate the structure of the nodes, see @ref{Using 12246 validate the structure of the nodes, see @ref{Using
13175 Info-validate}.@refill 12247 Info-validate}.@refill
13176 12248
13177
13178 @node Install an Info File, Command List, Create an Info File, Top 12249 @node Install an Info File, Command List, Create an Info File, Top
13179 @comment node-name, next, previous, up 12250 @comment node-name, next, previous, up
13180 @chapter Installing an Info File 12251 @chapter Installing an Info File
13181 @cindex Installing an Info file 12252 @cindex Installing an Info file
13182 @cindex Info file installation 12253 @cindex Info file installation
13187 into Emacs. (@inforef{Top, info, info}, for an introduction to Info.) 12258 into Emacs. (@inforef{Top, info, info}, for an introduction to Info.)
13188 12259
13189 @menu 12260 @menu
13190 * Directory file:: The top level menu for all Info files. 12261 * Directory file:: The top level menu for all Info files.
13191 * New Info File:: Listing a new info file. 12262 * New Info File:: Listing a new info file.
13192 * Other Info Directories:: How to specify Info files that are 12263 * Other Info Directories:: How to specify Info files that are
13193 located in other directories. 12264 located in other directories.
13194 * Installing Dir Entries:: How to specify what menu entry to add
13195 to the Info directory.
13196 * Invoking install-info:: @code{install-info} options.
13197 @end menu 12265 @end menu
13198 12266
13199 @node Directory file, New Info File, Install an Info File, Install an Info File 12267 @node Directory file, New Info File, Install an Info File, Install an Info File
13200 @ifinfo 12268 @ifinfo
13201 @heading The @file{dir} File 12269 @heading The @file{dir} File
13216 * Menu: 12284 * Menu:
13217 12285
13218 * Info: (info). Documentation browsing system. 12286 * Info: (info). Documentation browsing system.
13219 * Emacs: (emacs). The extensible, self-documenting 12287 * Emacs: (emacs). The extensible, self-documenting
13220 text editor. 12288 text editor.
13221 * Texinfo: (texinfo). With one source file, make 12289 * Texinfo: (texinfo). With one source file, make
13222 either a printed manual using 12290 either a printed manual using
13223 TeX or an Info file. 12291 TeX or an Info file.
13224 @dots{} 12292 @dots{}
13225 @end group 12293 @end group
13226 @end example 12294 @end example
13227 12295
13246 @noindent 12314 @noindent
13247 (Note that in this case, the @file{dir} file name is written in upper 12315 (Note that in this case, the @file{dir} file name is written in upper
13248 case letters---it can be written in either upper or lower case. Info 12316 case letters---it can be written in either upper or lower case. Info
13249 has a feature that it will change the case of the file name to lower 12317 has a feature that it will change the case of the file name to lower
13250 case if it cannot find the name as written.)@refill 12318 case if it cannot find the name as written.)@refill
13251 @c !!! Can any file name be written in upper or lower case, 12319
12320 @c !!! Can any file name be written in upper or lower case,
13252 @c or is dir a special case? 12321 @c or is dir a special case?
13253 @c Yes, apparently so, at least with Gillespie's Info. --rjc 24mar92 12322 @c Yes, apparently so, at least with Gillespie's Info. --rjc 24mar92
13254 12323 @c
13255
13256 @node New Info File, Other Info Directories, Directory file, Install an Info File 12324 @node New Info File, Other Info Directories, Directory file, Install an Info File
13257 @section Listing a New Info File 12325 @section Listing a New Info File
13258 @cindex Adding a new info file 12326 @cindex Adding a new info file
13259 @cindex Listing a new info file 12327 @cindex Listing a new info file
13260 @cindex New info file, listing it in @file{dir} file 12328 @cindex New info file, listing it in @file{dir} file
13261 @cindex Info file, listing new one 12329 @cindex Info file, listing new one
13262 @cindex @file{dir} file listing 12330 @cindex @file{dir} file listing
13263 12331
13264 To add a new Info file to your system, you must write a menu entry to 12332 To add a new Info file to your system, write a menu entry for it in the
13265 add to the menu in the @file{dir} file in the @file{info} directory. 12333 menu in the @file{dir} file in the @file{info} directory. Also, move
13266 For example, if you were adding documentation for GDB, you would write 12334 the new Info file itself to the @file{info} directory. For example, if
13267 the following new entry:@refill 12335 you were adding documentation for GDB, you would write the following new
12336 entry:@refill
13268 12337
13269 @example 12338 @example
13270 * GDB: (gdb). The source-level C debugger. 12339 * GDB: (gdb). The source-level C debugger.
13271 @end example 12340 @end example
13272 12341
13273 @noindent 12342 @noindent
13274 The first part of the menu entry is the menu entry name, followed by a 12343 The first part of the menu entry is the menu entry name, followed by a
13275 colon. The second part is the name of the Info file, in parentheses, 12344 colon. The second part is the name of the Info file, in parentheses,
13276 followed by a period. The third part is the description. 12345 followed by a period. The third part is the description.@refill
13277 12346
13278 The name of an Info file often has a @file{.info} extension. Thus, the 12347 Conventionally, the name of an Info file has a @file{.info} extension.
13279 Info file for GDB might be called either @file{gdb} or @file{gdb.info}. 12348 Thus, you might list the name of the file like this:
13280 The Info reader programs automatically try the file name both with and 12349
13281 without @file{.info}; so it is better to avoid clutter and not to write 12350 @example
13282 @samp{.info} explicitly in the menu entry. For example, the GDB menu 12351 * GDB: (gdb.info). The source-level C debugger.
13283 entry should use just @samp{gdb} for the file name, not @samp{gdb.info}. 12352 @end example
13284 12353
13285 12354 @noindent
13286 @node Other Info Directories, Installing Dir Entries, New Info File, Install an Info File 12355 However, Info will look for a file with a @file{.info} extension if it
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
13287 @comment node-name, next, previous, up 12361 @comment node-name, next, previous, up
13288 @section Info Files in Other Directories 12362 @section Info Files in Other Directories
13289 @cindex Installing Info in another directory 12363 @cindex Installing Info in another directory
13290 @cindex Info installed in another directory 12364 @cindex Info installed in another directory
13291 @cindex Another Info directory 12365 @cindex Another Info directory
13302 If you are using Emacs, list the name of the file in a second @file{dir} 12376 If you are using Emacs, list the name of the file in a second @file{dir}
13303 file, in its directory; and then add the name of that directory to the 12377 file, in its directory; and then add the name of that directory to the
13304 @code{Info-directory-list} variable in your personal or site 12378 @code{Info-directory-list} variable in your personal or site
13305 initialization file. 12379 initialization file.
13306 12380
13307 This tells Emacs where to look for @file{dir} files. Emacs merges the 12381 This tells Emacs's Info reader reader where to look for @file{dir}
13308 files named @file{dir} from each of the listed directories. (In Emacs 12382 files. Emacs merges the files named @file{dir} from each of the listed
13309 version 18, you can set the @code{Info-directory} variable to the name 12383 directories. (In Emacs Version 18, you can set the
13310 of only one directory.)@refill 12384 @code{Info-directory} variable to the name of only one
12385 directory.)@refill
13311 12386
13312 @item 12387 @item
13313 Specify the Info directory name in the @code{INFOPATH} environment 12388 Specify the @file{info} directory name in an environment variable in
13314 variable in your @file{.profile} or @file{.cshrc} initialization file. 12389 your @file{.profile} or @file{.cshrc} initialization file. (Only you
13315 (Only you and others who set this environment variable will be able to 12390 and others who set this environment variable will be able to find Info
13316 find Info files whose location is specified this way.)@refill 12391 files whose location is specified this way.)@refill
13317 @end itemize 12392 @end itemize
13318 12393
13319 For example, to reach a test file in the @file{/home/bob/manuals} 12394 For example, to reach a test file in the @file{~bob/manuals}
13320 directory, you could add an entry like this to the menu in the 12395 directory, you could add an entry like this to the menu in the
13321 @file{dir} file:@refill 12396 @file{dir} file:@refill
13322 12397
13323 @example 12398 @example
13324 * Test: (/home/bob/manuals/info-test). Bob's own test file. 12399 * Test: (/usr/bob/manuals/info-test). Bob's own test file.
13325 @end example 12400 @end example
13326 12401
13327 @noindent 12402 @noindent
13328 In this case, the absolute file name of the @file{info-test} file is 12403 In this case, the absolute file name of the @file{info-test} file is
13329 written as the second part of the menu entry.@refill 12404 written as the second part of the menu entry.@refill
13330 12405
13331 @vindex Info-directory-list 12406 @vindex Info-directory-list
13332 Alternatively, you could write the following in your @file{.emacs} 12407 Alternatively, you could write the following in your @file{.emacs}
13333 file:@refill 12408 file:@refill
13334 12409
13335 @example 12410 @example
13336 @group 12411 @group
13337 (setq Info-directory-list 12412 (setq Info-directory-list
13338 '("/home/bob/manuals" 12413 '("/usr/bob/manuals"
13339 "/usr/local/info")) 12414 "/usr/local/emacs/info"))
13340 @end group 12415 @end group
13341 @end example 12416 @end example
13342 12417
13343 @c reworded to avoid overfill hbox 12418 @c reworded to avoid overfill hbox
13344 This tells Emacs to merge the @file{dir} file from the 12419 This tells Emacs to merge the @file{dir} file from the
13345 @file{/home/bob/manuals} directory with the @file{dir} file from the 12420 @file{/usr/bob/manuals} directory with the @file{dir} file from the
13346 @file{/usr/local/info} directory. Info will list the 12421 @file{"/usr/local/emacs/info}" directory. Info will list the
13347 @file{/home/bob/manuals/info-test} file as a menu entry in the 12422 @file{/usr/bob/manuals/info-test} file as a menu entry in the
13348 @file{/home/bob/manuals/dir} file.@refill 12423 @file{/usr/bob/manuals/dir} file.@refill
13349 12424
13350 @vindex INFOPATH 12425 @vindex INFOPATH
13351 Finally, you can tell Info where to look by setting the @code{INFOPATH} 12426 Finally, you can tell Info where to look by setting the
13352 environment variable in your @file{.cshrc} or @file{.profile} file. If 12427 @code{INFOPATH} environment variable in your @file{.cshrc} or
13353 you use a Bourne-compatible shell such as @code{sh} or @code{bash} for 12428 @file{.profile} file.@refill
13354 your shell command interpreter, you set the @code{INFOPATH} environment 12429
13355 variable in the @file{.profile} initialization file; but if you use 12430 If you use @code{sh} or @code{bash} for your shell command interpreter,
13356 @code{csh} or @code{tcsh}, you must set the variable in the 12431 you must set the @code{INFOPATH} environment variable in the
13357 @file{.cshrc} initialization file. The two types of shells use 12432 @file{.profile} initialization file; but if you use @code{csh}, you must
13358 different syntax. 12433 set the variable in the @file{.cshrc} initialization file. The two
12434 files require slightly different command formats.@refill
13359 12435
13360 @itemize @bullet 12436 @itemize @bullet
13361 @item 12437 @item
13362 In a @file{.cshrc} file, you could set the @code{INFOPATH} 12438 In a @file{.cshrc} file, you could set the @code{INFOPATH}
13363 variable as follows:@refill 12439 variable as follows:@refill
13364 12440
13365 @smallexample 12441 @smallexample
13366 setenv INFOPATH .:~/manuals:/usr/local/emacs/info 12442 setenv INFOPATH .:~bob/manuals:/usr/local/emacs/info
13367 @end smallexample 12443 @end smallexample
13368 12444
13369 @item 12445 @item
13370 In a @file{.profile} file, you would achieve the same effect by 12446 In a @file{.profile} file, you would achieve the same effect by
13371 writing:@refill 12447 writing:@refill
13372 12448
13373 @smallexample 12449 @smallexample
13374 INFOPATH=.:$HOME/manuals:/usr/local/emacs/info 12450 INFOPATH=.:~bob/manuals:/usr/local/emacs/info
13375 export INFOPATH 12451 export INFOPATH
13376 @end smallexample 12452 @end smallexample
13377 @end itemize 12453 @end itemize
13378 12454
13379 @noindent 12455 @noindent
13380 The @samp{.} indicates the current directory as usual. Emacs uses the 12456 The @samp{.} indicates the current directory. Emacs uses the
13381 @code{INFOPATH} environment variable to initialize the value of Emacs's 12457 @code{INFOPATH} environment variable to initialize the value of Emacs's
13382 own @code{Info-directory-list} variable. 12458 own @code{Info-directory-list} variable.
13383 12459
13384 @cindex @samp{:} @r{last in @code{INFOPATH}} 12460 @c ================ Appendix starts here ================
13385 However you set @code{INFOPATH}, if its last character is a colon, this
13386 is replaced by the default (compiled-in) path. This gives you a way to
13387 augment the default path with new directories without having to list all
13388 the standard places. For example (using @code{sh} syntax:
13389
13390 @example
13391 INFOPATH=/local/info:
13392 export INFOPATH
13393 @end example
13394
13395 @noindent
13396 will search @file{/local/info} first, then the standard directories.
13397 Leading or doubled colons are not treated specially.
13398
13399
13400 @node Installing Dir Entries, Invoking install-info, Other Info Directories, Install an Info File
13401 @section Installing Info Directory Files
13402
13403 When you install an Info file onto your system, you can use the program
13404 @code{install-info} to update the Info directory file @file{dir}.
13405 Normally the makefile for the package runs @code{install-info}, just
13406 after copying the Info file into its proper installed location.
13407
13408 @findex dircategory
13409 @findex direntry
13410 In order for the Info file to work with @code{install-info}, you should
13411 use the commands @code{@@dircategory} and @code{@@direntry} in the
13412 Texinfo source file. Use @code{@@direntry} to specify the menu entry to
13413 add to the Info directory file, and use @code{@@dircategory} to specify
13414 which part of the Info directory to put it in. Here is how these
13415 commands are used in this manual:
13416
13417 @smallexample
13418 @@dircategory Texinfo documentation system
13419 @@direntry
13420 * Texinfo: (texinfo). The GNU documentation format.
13421 * install-info: (texinfo)Invoking install-info. @dots{}
13422 @dots{}
13423 @@end direntry
13424 @end smallexample
13425
13426 Here's what this produces in the Info file:
13427
13428 @smallexample
13429 INFO-DIR-SECTION Texinfo documentation system
13430 START-INFO-DIR-ENTRY
13431 * Texinfo: (texinfo). The GNU documentation format.
13432 * install-info: (texinfo)Invoking install-info. @dots{}
13433 @dots{}
13434 END-INFO-DIR-ENTRY
13435 @end smallexample
13436
13437 @noindent
13438 The @code{install-info} program sees these lines in the Info file, and
13439 that is how it knows what to do.
13440
13441 Always use the @code{@@direntry} and @code{@@dircategory} commands near
13442 the beginning of the Texinfo input, before the first @code{@@node}
13443 command. If you use them later on in the input, @code{install-info}
13444 will not notice them.
13445
13446 If you use @code{@@dircategory} more than once in the Texinfo source,
13447 each usage specifies one category; the new menu entry is added to the
13448 Info directory file in each of the categories you specify. If you use
13449 @code{@@direntry} more than once, each usage specifies one menu entry;
13450 each of these menu entries is added to the directory in each of the
13451 specified categories.
13452
13453
13454 @node Invoking install-info, , Installing Dir Entries, Install an Info File
13455 @section Invoking install-info
13456
13457 @pindex install-info
13458
13459 @code{install-info} inserts menu entries from an Info file into the
13460 top-level @file{dir} file in the Info system (see the previous sections
13461 for an explanation of how the @file{dir} file works). It's most often
13462 run as part of software installation, or when constructing a dir file
13463 for all manuals on a system. Synopsis:
13464
13465 @example
13466 install-info [@var{option}]@dots{} [@var{info-file} [@var{dir-file}]]
13467 @end example
13468
13469 If @var{info-file} or @var{dir-file} are not specified, the various
13470 options (described below) that define them must be. There are no
13471 compile-time defaults, and standard input is never used.
13472 @code{install-info} can read only one info file and write only one dir
13473 file per invocation.
13474
13475 @cindex @file{dir}, created by @code{install-info}
13476 If @var{dir-file} (however specified) does not exist,
13477 @code{install-info} creates it if possible (with no entries).
13478
13479 Options:
13480
13481 @table @code
13482 @item --delete
13483 @opindex --delete
13484 Delete the entries in @var{info-file} from @var{dir-file}. The file
13485 name in the entry in @var{dir-file} must be @var{info-file} (except for
13486 an optional @samp{.info} in either one). Don't insert any new entries.
13487
13488 @item --dir-file=@var{name}
13489 @opindex --dir-file=@var{name}
13490 Specify file name of the Info directory file. This is equivalent to
13491 using the @var{dir-file} argument.
13492
13493 @item --entry=@var{text}
13494 @opindex --entry=@var{text}
13495 Insert @var{text} as an Info directory entry; @var{text} should have the
13496 form of an Info menu item line plus zero or more extra lines starting
13497 with whitespace. If you specify more than one entry, they are all
13498 added. If you don't specify any entries, they are determined from
13499 information in the Info file itself.
13500
13501 @item --help
13502 @opindex --help
13503 Display a usage message listing basic usage and all available options,
13504 then exit successfully.
13505
13506 @item --info-file=@var{file}
13507 @opindex --info-file=@var{file}
13508 Specify Info file to install in the directory.
13509 This is equivalent to using the @var{info-file} argument.
13510
13511 @item --info-dir=@var{dir}
13512 @opindex --info-dir=@var{dir}
13513 Equivalent to @samp{--dir-file=@var{dir}/dir}.
13514
13515 @item --item=@var{text}
13516 @opindex --item=@var{text}
13517 Same as @samp{--entry=@var{text}}. An Info directory entry is actually
13518 a menu item.
13519
13520 @item --quiet
13521 @opindex --quiet
13522 Suppress warnings.
13523
13524 @item --remove
13525 @opindex --remove
13526 Same as @samp{--delete}.
13527
13528 @item --section=@var{sec}
13529 @opindex --section=@var{sec}
13530 Put this file's entries in section @var{sec} of the directory. If you
13531 specify more than one section, all the entries are added in each of the
13532 sections. If you don't specify any sections, they are determined from
13533 information in the Info file itself.
13534
13535 @item --version
13536 @opindex --version
13537 @cindex version number, finding
13538 Display version information and exit successfully.
13539
13540 @end table
13541
13542 12461
13543 @node Command List, Tips, Install an Info File, Top 12462 @node Command List, Tips, Install an Info File, Top
13544 @appendix @@-Command List 12463 @appendix @@-Command List
13545 @cindex Alphabetical @@-command list 12464 @cindex Alphabetical @@-command list
13546 @cindex List of @@-commands 12465 @cindex List of @@-commands
13550 brackets, @t{[}@w{ }@t{]}, indicate optional arguments; an ellipsis, 12469 brackets, @t{[}@w{ }@t{]}, indicate optional arguments; an ellipsis,
13551 @samp{@dots{}}, indicates repeated text.@refill 12470 @samp{@dots{}}, indicates repeated text.@refill
13552 12471
13553 @sp 1 12472 @sp 1
13554 @table @code 12473 @table @code
13555 @item @@@var{whitespace}
13556 An @code{@@} followed by a space, tab, or newline produces a normal,
13557 stretchable, interword space. @xref{Multiple Spaces}.
13558
13559 @item @@!
13560 Generate an exclamation point that really does end a sentence (usually
13561 after an end-of-sentence capital letter). @xref{Ending a Sentence}.
13562
13563 @item @@"
13564 @itemx @@'
13565 Generate an umlaut or acute accent, respectively, over the next
13566 character, as in @"o and @'o. @xref{Inserting Accents}.
13567
13568 @item @@* 12474 @item @@*
13569 Force a line break. Do not end a paragraph that uses @code{@@*} with 12475 Force a line break. Do not end a paragraph that uses @code{@@*} with
13570 an @code{@@refill} command. @xref{Line Breaks}.@refill 12476 an @code{@@refill} command. @xref{Line Breaks}.@refill
13571 12477
13572 @item @@,@{@var{c}@}
13573 Generate a cedilla accent under @var{c}, as in @,{c}. @xref{Inserting
13574 Accents}.
13575
13576 @item @@-
13577 Insert a discretionary hyphenation point. @xref{- and hyphenation}.
13578
13579 @item @@. 12478 @item @@.
13580 Produce a period that really does end a sentence (usually after an 12479 Stands for a period that really does end a sentence (usually after an
13581 end-of-sentence capital letter). @xref{Ending a Sentence}. 12480 end-of-sentence capital letter). @xref{Controlling Spacing}.@refill
13582 12481
13583 @item @@: 12482 @item @@:
13584 Indicate to @TeX{} that an immediately preceding period, question 12483 Indicate to @TeX{} that an immediately preceding period, question
13585 mark, exclamation mark, or colon does not end a sentence. Prevent 12484 mark, exclamation mark, or colon does not end a sentence. Prevent
13586 @TeX{} from inserting extra whitespace as it does at the end of a 12485 @TeX{} from inserting extra whitespace as it does at the end of a
13587 sentence. The command has no effect on the Info file output. 12486 sentence. The command has no effect on the Info file output.
13588 @xref{Not Ending a Sentence}.@refill 12487 @xref{Controlling Spacing}.@refill
13589
13590 @item @@=
13591 Generate a macro (bar) accent over the next character, as in @=o.
13592 @xref{Inserting Accents}.
13593
13594 @item @@?
13595 Generate a question mark that really does end a sentence (usually after
13596 an end-of-sentence capital letter). @xref{Ending a Sentence}.
13597 12488
13598 @item @@@@ 12489 @item @@@@
13599 Stands for an at sign, @samp{@@}. 12490 Stands for @samp{@@}. @xref{Braces Atsigns Periods, , Inserting
13600 @xref{Braces Atsigns, , Inserting @@ and braces}. 12491 @samp{@@}}.@refill
13601
13602 @item @@^
13603 @itemx @@`
13604 Generate a circumflex (hat) or grave accent, respectively, over the next
13605 character, as in @^o.
13606 @xref{Inserting Accents}.
13607 12492
13608 @item @@@{ 12493 @item @@@{
13609 Stands for a left brace, @samp{@{}. 12494 Stands for a left-hand brace, @samp{@{}.@*
13610 @xref{Braces Atsigns, , Inserting @@ and braces}. 12495 @xref{Braces Atsigns Periods, , Inserting @@ braces and periods}.@refill
13611 12496
13612 @item @@@} 12497 @item @@@}
13613 Stands for a right-hand brace, @samp{@}}.@* 12498 Stands for a right-hand brace, @samp{@}}.@*
13614 @xref{Braces Atsigns, , Inserting @@ and braces}. 12499 @xref{Braces Atsigns Periods, , Inserting @@ braces and periods}.@refill
13615
13616 @item @@=
13617 Generate a tilde accent over the next character, as in @~N.
13618 @xref{Inserting Accents}.
13619
13620 @item @@AA@{@}
13621 @itemx @@aa@{@}
13622 Generate the uppercase and lowercase Scandinavian A-ring letters,
13623 respectively: @AA{}, @aa{}. @xref{Inserting Accents}.
13624
13625 @item @@AE@{@}
13626 @itemx @@ae@{@}
13627 Generate the uppercase and lowercase AE ligatures, respectively:
13628 @AE{}, @ae{}. @xref{Inserting Accents}.
13629
13630 @item @@afourpaper
13631 Change page dimensions for the A4 paper size.
13632 Only allowed inside @code{@@iftex} @dots{} @code{@@end iftex}.
13633 @xref{A4 Paper}.
13634 12500
13635 @item @@appendix @var{title} 12501 @item @@appendix @var{title}
13636 Begin an appendix. The title appears in the table 12502 Begin an appendix. The title appears in the table
13637 of contents of a printed manual. In Info, the title is 12503 of contents of a printed manual. In Info, the title is
13638 underlined with asterisks. @xref{unnumbered & appendix, , The 12504 underlined with asterisks. @xref{unnumbered & appendix, , The
13651 in the table of contents of a printed manual. In Info, the title is 12517 in the table of contents of a printed manual. In Info, the title is
13652 underlined with hyphens. @xref{unnumberedsubsec appendixsubsec 12518 underlined with hyphens. @xref{unnumberedsubsec appendixsubsec
13653 subheading, , Subsection Commands}.@refill 12519 subheading, , Subsection Commands}.@refill
13654 12520
13655 @item @@appendixsubsubsec @var{title} 12521 @item @@appendixsubsubsec @var{title}
13656 Begin an appendix subsubsection within an appendix subsection. The 12522 Begin an appendix subsubsection within a subappendix. The title
13657 title appears in the table of contents of a printed manual. In Info, 12523 appears in the table of contents of a printed manual. In Info, the
13658 the title is underlined with periods. @xref{subsubsection,, The 12524 title is underlined with periods. @xref{subsubsection,, The `subsub'
13659 `subsub' Commands}.@refill 12525 Commands}.@refill
13660 12526
13661 @item @@asis 12527 @item @@asis
13662 Used following @code{@@table}, @code{@@ftable}, and @code{@@vtable} to 12528 Used following @code{@@table}, @code{@@ftable}, and @code{@@vtable} to
13663 print the table's first column without highlighting (``as is''). 12529 print the table's first column without highlighting (``as is'').
13664 @xref{Two-column Tables, , Making a Two-column Table}.@refill 12530 @xref{Two-column Tables, , Making a Two-column Table}.@refill
13697 12563
13698 @item @@center @var{line-of-text} 12564 @item @@center @var{line-of-text}
13699 Center the line of text following the command. 12565 Center the line of text following the command.
13700 @xref{titlefont center sp, , @code{@@center}}.@refill 12566 @xref{titlefont center sp, , @code{@@center}}.@refill
13701 12567
13702 @item @@centerchap @var{line-of-text} 12568 @item @@lowersections
13703 Like @code{@@chapter}, but centers the chapter title. @xref{chapter,, 12569 Change subsequent chapters to sections, sections to subsections, and so
13704 @code{@@chapter}}. 12570 on. @xref{Raise/lower sections, , @code{@@raisesections} and
12571 @code{@@lowersections}}.@refill
13705 12572
13706 @item @@chapheading @var{title} 12573 @item @@chapheading @var{title}
13707 Print a chapter-like heading in the text, but not in the table of 12574 Print a chapter-like heading in the text, but not in the table of
13708 contents of a printed manual. In Info, the title is underlined with 12575 contents of a printed manual. In Info, the title is underlined with
13709 asterisks. @xref{majorheading & chapheading, , @code{@@majorheading} 12576 asterisks. @xref{majorheading & chapheading, , @code{@@majorheading}
13725 @item @@clear @var{flag} 12592 @item @@clear @var{flag}
13726 Unset @var{flag}, preventing the Texinfo formatting commands from 12593 Unset @var{flag}, preventing the Texinfo formatting commands from
13727 formatting text between subsequent pairs of @code{@@ifset @var{flag}} 12594 formatting text between subsequent pairs of @code{@@ifset @var{flag}}
13728 and @code{@@end ifset} commands, and preventing 12595 and @code{@@end ifset} commands, and preventing
13729 @code{@@value@{@var{flag}@}} from expanding to the value to which 12596 @code{@@value@{@var{flag}@}} from expanding to the value to which
13730 @var{flag} is set. 12597 @var{flag} is set.
13731 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 12598 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
13732 12599
13733 @item @@code@{@var{sample-code}@} 12600 @item @@code@{@var{sample-code}@}
13734 Highlight text that is an expression, a syntactically complete token 12601 Highlight text that is an expression, a syntactically complete token
13735 of a program, or a program name. @xref{code, , @code{@@code}}.@refill 12602 of a program, or a program name. @xref{code, , @code{@@code}}.@refill
13758 Define a new index and its indexing command. Print entries in an 12625 Define a new index and its indexing command. Print entries in an
13759 @code{@@code} font. @xref{New Indices, , Defining New 12626 @code{@@code} font. @xref{New Indices, , Defining New
13760 Indices}.@refill 12627 Indices}.@refill
13761 12628
13762 @item @@defcv @var{category} @var{class} @var{name} 12629 @item @@defcv @var{category} @var{class} @var{name}
13763 @itemx @@defcvx @var{category} @var{class} @var{name}
13764 Format a description for a variable associated with a class in 12630 Format a description for a variable associated with a class in
13765 object-oriented programming. Takes three arguments: the category of 12631 object-oriented programming. Takes three arguments: the category of
13766 thing being defined, the class to which it belongs, and its name. 12632 thing being defined, the class to which it belongs, and its name.
13767 @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}. 12633 @xref{Definition Commands}.@refill
13768 12634
13769 @item @@deffn @var{category} @var{name} @var{arguments}@dots{} 12635 @item @@deffn @var{category} @var{name} @var{arguments}@dots{}
13770 @itemx @@deffnx @var{category} @var{name} @var{arguments}@dots{}
13771 Format a description for a function, interactive command, or similar 12636 Format a description for a function, interactive command, or similar
13772 entity that may take arguments. @code{@@deffn} takes as arguments the 12637 entity that may take arguments. @code{@@deffn} takes as arguments the
13773 category of entity being described, the name of this particular 12638 category of entity being described, the name of this particular
13774 entity, and its arguments, if any. @xref{Definition Commands}.@refill 12639 entity, and its arguments, if any. @xref{Definition Commands}.@refill
13775 12640
13776 @item @@defindex @var{index-name} 12641 @item @@defindex @var{index-name}
13777 Define a new index and its indexing command. Print entries in a roman 12642 Define a new index and its indexing command. Print entries in a roman
13778 font. @xref{New Indices, , Defining New Indices}.@refill 12643 font. @xref{New Indices, , Defining New Indices}.@refill
13779 12644
13780 @c Unused so far as I can see and unsupported by makeinfo -- karl, 15sep96.
13781 @item @@definfoenclose @var{new-command}, @var{before}, @var{after}, 12645 @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
13782 Create new @@-command for Info that marks text by enclosing it in 12646 Create new @@-command for Info that marks text by enclosing it in
13783 strings that precede and follow the text. Write definition inside of 12647 strings that precede and follow the text. Write definition inside of
13784 @code{@@ifinfo} @dots{} @code{@@end ifinfo}. @xref{Customized 12648 @code{@@ifinfo} @dots{} @code{@@end ifinfo}. @xref{Customized
13785 Highlighting}.@refill 12649 Highlighting}.@refill
13786 12650
13787 @item @@defivar @var{class} @var{instance-variable-name} 12651 @item @@defivar @var{class} @var{instance-variable-name}
13788 @itemx @@defivarx @var{class} @var{instance-variable-name}
13789 This command formats a description for an instance variable in 12652 This command formats a description for an instance variable in
13790 object-oriented programming. The command is equivalent to @samp{@@defcv 12653 object-oriented programming. The command is equivalent to @samp{@@defcv
13791 @{Instance Variable@} @dots{}}. @xref{Definition Commands}, and 12654 @{Instance Variable@} @dots{}}. @xref{Definition Commands}.@refill
13792 @ref{deffnx,, Def Cmds in Detail}.
13793 12655
13794 @item @@defmac @var{macro-name} @var{arguments}@dots{} 12656 @item @@defmac @var{macro-name} @var{arguments}@dots{}
13795 @itemx @@defmacx @var{macro-name} @var{arguments}@dots{}
13796 Format a description for a macro. The command is equivalent to 12657 Format a description for a macro. The command is equivalent to
13797 @samp{@@deffn Macro @dots{}}. @xref{Definition Commands}, and 12658 @samp{@@deffn Macro @dots{}}. @xref{Definition Commands}.@refill
13798 @ref{deffnx,, Def Cmds in Detail}.
13799 12659
13800 @item @@defmethod @var{class} @var{method-name} @var{arguments}@dots{} 12660 @item @@defmethod @var{class} @var{method-name} @var{arguments}@dots{}
13801 @itemx @@defmethodx @var{class} @var{method-name} @var{arguments}@dots{}
13802 Format a description for a method in object-oriented programming. The 12661 Format a description for a method in object-oriented programming. The
13803 command is equivalent to @samp{@@defop Method @dots{}}. Takes as 12662 command is equivalent to @samp{@@defop Method @dots{}}. Takes as
13804 arguments the name of the class of the method, the name of the 12663 arguments the name of the class of the method, the name of the
13805 method, and its arguments, if any. @xref{Definition Commands}, and 12664 method, and its arguments, if any. @xref{Definition Commands}.@refill
13806 @ref{deffnx,, Def Cmds in Detail}.
13807 12665
13808 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{} 12666 @item @@defop @var{category} @var{class} @var{name} @var{arguments}@dots{}
13809 @itemx @@defopx @var{category} @var{class} @var{name} @var{arguments}@dots{}
13810 Format a description for an operation in object-oriented programming. 12667 Format a description for an operation in object-oriented programming.
13811 @code{@@defop} takes as arguments the overall name of the category of 12668 @code{@@defop} takes as arguments the overall name of the category of
13812 operation, the name of the class of the operation, the name of the 12669 operation, the name of the class of the operation, the name of the
13813 operation, and its arguments, if any. @xref{Definition 12670 operation, and its arguments, if any. @xref{Definition
13814 Commands}, and @ref{deffnx,, Def Cmds in Detail}. 12671 Commands}.@refill
13815 12672
12673 @need 100
13816 @item @@defopt @var{option-name} 12674 @item @@defopt @var{option-name}
13817 @itemx @@defoptx @var{option-name}
13818 Format a description for a user option. The command is equivalent to 12675 Format a description for a user option. The command is equivalent to
13819 @samp{@@defvr @{User Option@} @dots{}}. @xref{Definition Commands}, and 12676 @samp{@@defvr @{User Option@} @dots{}}. @xref{Definition Commands}.@refill
13820 @ref{deffnx,, Def Cmds in Detail}. 12677
13821 12678 @need 100
13822 @item @@defspec @var{special-form-name} @var{arguments}@dots{} 12679 @item @@defspec @var{special-form-name} @var{arguments}@dots{}
13823 @itemx @@defspecx @var{special-form-name} @var{arguments}@dots{}
13824 Format a description for a special form. The command is equivalent to 12680 Format a description for a special form. The command is equivalent to
13825 @samp{@@deffn @{Special Form@} @dots{}}. @xref{Definition Commands}, 12681 @samp{@@deffn @{Special Form@} @dots{}}. @xref{Definition Commands}.@refill
13826 and @ref{deffnx,, Def Cmds in Detail}. 12682
13827 12683 @need 200
13828 @item @@deftp @var{category} @var{name-of-type} @var{attributes}@dots{} 12684 @item @@deftp @var{category} @var{name-of-type} @var{attributes}@dots{}
13829 @itemx @@deftpx @var{category} @var{name-of-type} @var{attributes}@dots{} 12685 Format a description for a data type. @code{@@deftp} takes as
13830 Format a description for a data type. @code{@@deftp} takes as arguments 12686 arguments the category, the name of the type (which is a word like
13831 the category, the name of the type (which is a word like @samp{int} or 12687 @samp{int} or @samp{float}), and then the names of attributes of
13832 @samp{float}), and then the names of attributes of objects of that type. 12688 objects of that
13833 @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}. 12689 type. @xref{Definition Commands}.@refill
13834 12690
13835 @item @@deftypefn @var{classification} @var{data-type} @var{name} @var{arguments}@dots{} 12691 @item @@deftypefn @var{classification} @var{data-type} @var{name} @var{arguments}@dots{}
13836 @itemx @@deftypefnx @var{classification} @var{data-type} @var{name} @var{arguments}@dots{}
13837 Format a description for a function or similar entity that may take 12692 Format a description for a function or similar entity that may take
13838 arguments and that is typed. @code{@@deftypefn} takes as arguments the 12693 arguments and that is typed. @code{@@deftypefn} takes as arguments
13839 classification of entity being described, the type, the name of the 12694 the classification of entity being described, the type, the name of
13840 entity, and its arguments, if any. @xref{Definition Commands}, and 12695 the entity, and its arguments, if any. @xref{Definition
13841 @ref{deffnx,, Def Cmds in Detail}. 12696 Commands}.@refill
13842 12697
13843 @item @@deftypefun @var{data-type} @var{function-name} @var{arguments}@dots{} 12698 @item @@deftypefun @var{data-type} @var{function-name} @var{arguments}@dots{}
13844 @itemx @@deftypefunx @var{data-type} @var{function-name} @var{arguments}@dots{}
13845 Format a description for a function in a typed language. 12699 Format a description for a function in a typed language.
13846 The command is equivalent to @samp{@@deftypefn Function @dots{}}. 12700 The command is equivalent to @samp{@@deftypefn Function @dots{}}.
13847 @xref{Definition Commands}, 12701 @xref{Definition Commands}.@refill
13848 and @ref{deffnx,, Def Cmds in Detail}.
13849
13850 @item @@deftypemethod @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
13851 @itemx @@deftypemethodx @var{class} @var{data-type} @var{method-name} @var{arguments}@dots{}
13852 Format a description for a typed method in object-oriented programming.
13853 Takes as arguments the name of the class of the method, the return type
13854 of the method, the name of the method, and its arguments, if any.
13855 @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
13856 12702
13857 @item @@deftypevr @var{classification} @var{data-type} @var{name} 12703 @item @@deftypevr @var{classification} @var{data-type} @var{name}
13858 @itemx @@deftypevrx @var{classification} @var{data-type} @var{name}
13859 Format a description for something like a variable in a typed 12704 Format a description for something like a variable in a typed
13860 language---an entity that records a value. Takes as arguments the 12705 language---an entity that records a value. Takes as arguments the
13861 classification of entity being described, the type, and the name of the 12706 classification of entity being described, the type, and the name of
13862 entity. @xref{Definition Commands}, and @ref{deffnx,, Def Cmds in 12707 the entity. @xref{Definition Commands}.@refill
13863 Detail}.
13864 12708
13865 @item @@deftypevar @var{data-type} @var{variable-name} 12709 @item @@deftypevar @var{data-type} @var{variable-name}
13866 @itemx @@deftypevarx @var{data-type} @var{variable-name}
13867 Format a description for a variable in a typed language. The command is 12710 Format a description for a variable in a typed language. The command is
13868 equivalent to @samp{@@deftypevr Variable @dots{}}. @xref{Definition 12711 equivalent to @samp{@@deftypevr Variable @dots{}}. @xref{Definition
13869 Commands}, and @ref{deffnx,, Def Cmds in Detail}. 12712 Commands}.@refill
13870 12713
13871 @item @@defun @var{function-name} @var{arguments}@dots{} 12714 @item @@defun @var{function-name} @var{arguments}@dots{}
13872 @itemx @@defunx @var{function-name} @var{arguments}@dots{}
13873 Format a description for functions. The command is equivalent to 12715 Format a description for functions. The command is equivalent to
13874 @samp{@@deffn Function @dots{}}. @xref{Definition Commands}, and 12716 @samp{@@deffn Function @dots{}}. @xref{Definition Commands}.@refill
13875 @ref{deffnx,, Def Cmds in Detail}.
13876 12717
13877 @item @@defvar @var{variable-name} 12718 @item @@defvar @var{variable-name}
13878 @itemx @@defvarx @var{variable-name}
13879 Format a description for variables. The command is equivalent to 12719 Format a description for variables. The command is equivalent to
13880 @samp{@@defvr Variable @dots{}}. @xref{Definition Commands}, and 12720 @samp{@@defvr Variable @dots{}}. @xref{Definition Commands}.@refill
13881 @ref{deffnx,, Def Cmds in Detail}.
13882 12721
13883 @item @@defvr @var{category} @var{name} 12722 @item @@defvr @var{category} @var{name}
13884 @itemx @@defvrx @var{category} @var{name}
13885 Format a description for any kind of variable. @code{@@defvr} takes 12723 Format a description for any kind of variable. @code{@@defvr} takes
13886 as arguments the category of the entity and the name of the entity. 12724 as arguments the category of the entity and the name of the entity.
13887 @xref{Definition Commands}, 12725 @xref{Definition Commands}.@refill
13888 and @ref{deffnx,, Def Cmds in Detail}.
13889
13890 @item @@detailmenu@{@}
13891 Avoid @code{makeinfo} confusion stemming from the detailed node listing
13892 in a master menu. @xref{Master Menu Parts}.
13893 12726
13894 @item @@dfn@{@var{term}@} 12727 @item @@dfn@{@var{term}@}
13895 Highlight the introductory or defining use of a term. 12728 Highlight the introductory or defining use of a term.
13896 @xref{dfn, , @code{@@dfn}}.@refill 12729 @xref{dfn, , @code{@@dfn}}.@refill
13897
13898 @item @@dircategory @var{dirpart}
13899 Specify a part of the Info directory menu where this file's entry should
13900 go. @xref{Installing Dir Entries}.
13901
13902 @item @@direntry
13903 Begin the Info directory menu entry for this file.
13904 @xref{Installing Dir Entries}.
13905 12730
13906 @need 100 12731 @need 100
13907 @item @@display 12732 @item @@display
13908 Begin a kind of example. Indent text, do not fill, do not select a 12733 Begin a kind of example. Indent text, do not fill, do not select a
13909 new font. Pair with @code{@@end display}. @xref{display, , 12734 new font. Pair with @code{@@end display}. @xref{display, ,
13910 @code{@@display}}.@refill 12735 @code{@@display}}.@refill
13911 12736
12737 @need 100
13912 @item @@dmn@{@var{dimension}@} 12738 @item @@dmn@{@var{dimension}@}
13913 Format a unit of measure, as in 12@dmn{pt}. Causes @TeX{} to insert a 12739 Format a dimension. Cause @TeX{} to insert a narrow space before
13914 thin space before @var{dimension}. No effect in Info. 12740 @var{dimension}. No effect in Info. Use for writing a number
13915 @xref{dmn, , @code{@@dmn}}.@refill 12741 followed by an abbreviation of a dimension name, such as
13916 12742 @samp{12@dmn{pt}}, written as @samp{12@@dmn@{pt@}}, with no space
13917 @item @@dotaccent@{@var{c}@} 12743 between the number and the @code{@@dmn} command. @xref{dmn, ,
13918 Generate a dot accent over the character @var{c}, as in @dotaccent{oo}. 12744 @code{@@dmn}}.@refill
13919 @xref{Inserting Accents}. 12745
13920 12746 @need 100
13921 @item @@dots@{@} 12747 @item @@dots@{@}
13922 Insert an ellipsis: @samp{@dots{}}. 12748 Insert an ellipsis: @samp{@dots{}}.
13923 @xref{dots, , @code{@@dots}}.@refill 12749 @xref{dots, , @code{@@dots}}.@refill
13924 12750
13925 @item @@email@{@var{address}[, @var{displayed-text}]@}
13926 Indicate an electronic mail address.
13927 @xref{email, , @code{@@email}}.@refill
13928
13929 @need 100 12751 @need 100
13930 @item @@emph@{@var{text}@} 12752 @item @@emph@{@var{text}@}
13931 Highlight @var{text}; text is displayed in @emph{italics} in printed 12753 Highlight @var{text}; text is displayed in @emph{italics} in printed
13932 output, and surrounded by asterisks in Info. @xref{Emphasis, , 12754 output, and surrounded by asterisks in Info. @xref{Emphasis, , Emphasizing Text}.@refill
13933 Emphasizing Text}.
13934
13935 @item @@end @var{environment}
13936 Ends @var{environment}, as in @samp{@@end example}. @xref{Formatting
13937 Commands,,@@-commands}.
13938
13939 @item @@enddots@{@}
13940 Generate an end-of-sentence of ellipsis, like this @enddots{}
13941 @xref{dots,,@code{@@dots@{@}}}.
13942 12755
13943 @need 100 12756 @need 100
13944 @item @@enumerate [@var{number-or-letter}] 12757 @item @@enumerate [@var{number-or-letter}]
13945 Begin a numbered list, using @code{@@item} for each entry. 12758 Begin a numbered list, using @code{@@item} for each entry.
13946 Optionally, start list with @var{number-or-letter}. Pair with 12759 Optionally, start list with @var{number-or-letter}. Pair with
13954 12767
13955 @item @@error@{@} 12768 @item @@error@{@}
13956 Indicate to the reader with a glyph that the following text is 12769 Indicate to the reader with a glyph that the following text is
13957 an error message: @samp{@error{}}. @xref{Error Glyph}.@refill 12770 an error message: @samp{@error{}}. @xref{Error Glyph}.@refill
13958 12771
13959 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 12772 @item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13960 @itemx @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 12773 Specify page footings for even-numbered (left-hand) pages. Not relevant to
13961 Specify page footings resp.@: headings for even-numbered (left-hand) 12774 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill
13962 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, , 12775
13963 How to Make Your Own Headings}.@refill 12776 @item @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
12777 Specify page headings for even-numbered (left-hand) pages. Not relevant to
12778 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill
13964 12779
13965 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 12780 @item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
13966 @itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 12781 Specify page footings for every page. Not relevant to Info. @xref{Custom
13967 Specify page footings resp.@: headings for every page. Not relevant to 12782 Headings, , How to Make Your Own Headings}.@refill
13968 Info. @xref{Custom 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
13969 12787
13970 @item @@example 12788 @item @@example
13971 Begin an example. Indent text, do not fill, and select fixed-width font. 12789 Begin an example. Indent text, do not fill, and select fixed-width font.
13972 Pair with @code{@@end example}. @xref{example, , 12790 Pair with @code{@@end example}. @xref{example, ,
13973 @code{@@example}}.@refill 12791 @code{@@example}}.@refill
13974 12792
13975 @item @@exclamdown@{@}
13976 Produce an upside-down exclamation point. @xref{Inserting Accents}.
13977
13978 @item @@exdent @var{line-of-text} 12793 @item @@exdent @var{line-of-text}
13979 Remove any indentation a line might have. @xref{exdent, , 12794 Remove any indentation a line might have. @xref{exdent, ,
13980 Undoing the Indentation of a Line}.@refill 12795 Undoing the Indentation of a Line}.@refill
13981 12796
13982 @item @@expansion@{@} 12797 @item @@expansion@{@}
13983 Indicate the result of a macro expansion to the reader with a special 12798 Indicate the result of a macro expansion to the reader with a special
13984 glyph: @samp{@expansion{}}. 12799 glyph: @samp{@expansion{}}.
13985 @xref{expansion, , @expansion{} Indicating an Expansion}.@refill 12800 @xref{expansion, , @expansion{} Indicating an Expansion}.@refill
13986 12801
13987 @item @@file@{@var{filename}@} 12802 @item @@file@{@var{filename}@}
13988 Highlight the name of a file, buffer, node, or directory. @xref{file, , 12803 Highlight the name of a file, buffer, node, or directory. @xref{file, ,
13989 @code{@@file}}.@refill 12804 @code{@@file}}.@refill
13997 Add @var{entry} to the index of functions. @xref{Index Entries, , 12812 Add @var{entry} to the index of functions. @xref{Index Entries, ,
13998 Defining the Entries of an Index}.@refill 12813 Defining the Entries of an Index}.@refill
13999 12814
14000 @need 200 12815 @need 200
14001 @item @@flushleft 12816 @item @@flushleft
14002 @itemx @@flushright
14003 Left justify every line but leave the right end ragged. 12817 Left justify every line but leave the right end ragged.
14004 Leave font as is. Pair with @code{@@end flushleft}. 12818 Leave font as is. Pair with @code{@@end flushleft}.
14005 @code{@@flushright} analogous. 12819 @xref{flushleft & flushright, , @code{@@flushleft} and
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}.
14006 @xref{flushleft & flushright, , @code{@@flushleft} and 12826 @xref{flushleft & flushright, , @code{@@flushleft} and
14007 @code{@@flushright}}.@refill 12827 @code{@@flushright}}.@refill
14008 12828
14009 @need 200 12829 @need 200
14010 @item @@footnote@{@var{text-of-footnote}@} 12830 @item @@footnote@{@var{text-of-footnote}@}
14033 @item @@group 12853 @item @@group
14034 Hold text together that must appear on one printed page. Pair with 12854 Hold text together that must appear on one printed page. Pair with
14035 @code{@@end group}. Not relevant to Info. @xref{group, , 12855 @code{@@end group}. Not relevant to Info. @xref{group, ,
14036 @code{@@group}}.@refill 12856 @code{@@group}}.@refill
14037 12857
14038 @item @@H@{@var{c}@}
14039 Generate the long Hungarian umlaut accent over @var{c}, as in @H{o}.
14040
14041 @item @@heading @var{title} 12858 @item @@heading @var{title}
14042 Print an unnumbered section-like heading in the text, but not in the 12859 Print an unnumbered section-like heading in the text, but not in the
14043 table of contents of a printed manual. In Info, the title is 12860 table of contents of a printed manual. In Info, the title is
14044 underlined with equal signs. @xref{unnumberedsec appendixsec heading, 12861 underlined with equal signs. @xref{unnumberedsec appendixsec heading,
14045 , Section Commands}.@refill 12862 , Section Commands}.@refill
14046 12863
14047 @item @@headings @var{on-off-single-double} 12864 @item @@headings @var{on-off-single-double}
14048 Turn page headings on or off, and/or specify single-sided or double-sided 12865 Turn page headings on or off, or specify single-sided or double-sided
14049 page headings for printing. @xref{headings on off, , The 12866 page headings for printing. @code{@@headings on} is synonymous with
14050 @code{@@headings} Command}. 12867 @code{@@headings double}. @xref{headings on off, , The
14051 12868 @code{@@headings} Command}.@refill
14052 @item @@html
14053 Enter HTML completely. Pair with @code{@@end html}. @xref{Raw
14054 Formatter Commands}.
14055
14056 @item @@hyphenation@{@var{hy-phen-a-ted words}@}
14057 Explicitly define hyphenation points. @xref{- and hyphenation,,
14058 @code{@@-} and @code{@@hyphenation}}.
14059 12869
14060 @item @@i@{@var{text}@} 12870 @item @@i@{@var{text}@}
14061 Print @var{text} in @i{italic} font. No effect in Info. 12871 Print @var{text} in @i{italic} font. No effect in Info.
14062 @xref{Fonts}.@refill 12872 @xref{Fonts}.@refill
14063 12873
14065 If @var{flag} is cleared, the Texinfo formatting commands format text 12875 If @var{flag} is cleared, the Texinfo formatting commands format text
14066 between @code{@@ifclear @var{flag}} and the following @code{@@end 12876 between @code{@@ifclear @var{flag}} and the following @code{@@end
14067 ifclear} command. 12877 ifclear} command.
14068 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 12878 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
14069 12879
14070 @item @@ifhtml 12880 @item @@ifinfo
14071 @itemx @@ifinfo 12881 Begin a stretch of text that will be ignored by @TeX{} when it
14072 Begin a stretch of text that will be ignored by @TeX{} when it typesets 12882 typesets the printed manual. The text appears only in the Info file.
14073 the printed manual. The text appears only in the HTML resp.@: Info 12883 Pair with @code{@@end ifinfo}. @xref{Conditionals, , Conditionally
14074 file. Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}. 12884 Visible Text}.@refill
14075 @xref{Conditionals}.
14076
14077 @item @@ifnothtml
14078 @itemx @@ifnotinfo
14079 @itemx @@ifnottex
14080 Begin a stretch of text that will be ignored in one output format but
14081 not the others. The text appears only in the format not specified.
14082 Pair with @code{@@end ifnothtml} resp.@: @code{@@end ifnotinfo} resp.@:
14083 @code{@@end ifnotinfo}. @xref{Conditionals}.
14084 12885
14085 @item @@ifset @var{flag} 12886 @item @@ifset @var{flag}
14086 If @var{flag} is set, the Texinfo formatting commands format text 12887 If @var{flag} is set, the Texinfo formatting commands format text
14087 between @code{@@ifset @var{flag}} and the following @code{@@end ifset} 12888 between @code{@@ifset @var{flag}} and the following @code{@@end ifset}
14088 command. 12889 command.
14096 @item @@ignore 12897 @item @@ignore
14097 Begin a stretch of text that will not appear in either the Info file 12898 Begin a stretch of text that will not appear in either the Info file
14098 or the printed output. Pair with @code{@@end ignore}. 12899 or the printed output. Pair with @code{@@end ignore}.
14099 @xref{Comments, , Comments and Ignored Text}.@refill 12900 @xref{Comments, , Comments and Ignored Text}.@refill
14100 12901
14101 @item @@image@{@var{filename}, [@var{width}], [@var{height}]@}
14102 Include graphics image in external @var{filename} scaled to the given
14103 @var{width} and/or @var{height}. @xref{Images}.
14104
14105 @item @@include @var{filename} 12902 @item @@include @var{filename}
14106 Incorporate the contents of the file @var{filename} into the Info file 12903 Incorporate the contents of the file @var{filename} into the Info file
14107 or printed document. @xref{Include Files}.@refill 12904 or printed document. @xref{Include Files}.@refill
14108 12905
14109 @item @@inforef@{@var{node-name}, [@var{entry-name}], @var{info-file-name}@} 12906 @item @@inforef@{@var{node-name}, [@var{entry-name}], @var{info-file-name}@}
14113 12910
14114 @item \input @var{macro-definitions-file} 12911 @item \input @var{macro-definitions-file}
14115 Use the specified macro definitions file. This command is used only 12912 Use the specified macro definitions file. This command is used only
14116 in the first line of a Texinfo file to cause @TeX{} to make use of the 12913 in the first line of a Texinfo file to cause @TeX{} to make use of the
14117 @file{texinfo} macro definitions file. The backslash in @code{\input} 12914 @file{texinfo} macro definitions file. The backslash in @code{\input}
14118 is used instead of an @code{@@} because @TeX{} does not 12915 is used instead of an @code{@@} because @TeX{} does not properly
14119 recognize @code{@@} until after it has read the definitions file. 12916 recognize @code{@@} until after it has read the definitions file.
14120 @xref{Header, , The Texinfo File Header}.@refill 12917 @xref{Header, , The Texinfo File Header}.@refill
14121 12918
14122 @item @@item 12919 @item @@item
14123 Indicate the beginning of a marked paragraph for @code{@@itemize} and 12920 Indicate the beginning of a marked paragraph for @code{@@itemize} and
14133 @item @@itemx 12930 @item @@itemx
14134 Like @code{@@item} but do not generate extra vertical space above the 12931 Like @code{@@item} but do not generate extra vertical space above the
14135 item text. @xref{itemx, , @code{@@itemx}}.@refill 12932 item text. @xref{itemx, , @code{@@itemx}}.@refill
14136 12933
14137 @item @@kbd@{@var{keyboard-characters}@} 12934 @item @@kbd@{@var{keyboard-characters}@}
14138 Indicate text that is characters of input to be typed by 12935 Indicate text that consists of characters of input to be typed by
14139 users. @xref{kbd, , @code{@@kbd}}.@refill 12936 users. @xref{kbd, , @code{@@kbd}}.@refill
14140 12937
14141 @item @@kbdinputstyle @var{style}
14142 Specify when @code{@@kbd} should use a font distinct from @code{@@code}.
14143 @xref{kbd, , @code{@@kbd}}.@refill
14144
14145 @item @@key@{@var{key-name}@} 12938 @item @@key@{@var{key-name}@}
14146 Indicate a name for a key on a keyboard. 12939 Highlight @var{key-name}, a conventional name for a key on a keyboard.
14147 @xref{key, , @code{@@key}}.@refill 12940 @xref{key, , @code{@@key}}.@refill
14148 12941
14149 @item @@kindex @var{entry} 12942 @item @@kindex @var{entry}
14150 Add @var{entry} to the index of keys. 12943 Add @var{entry} to the index of keys. @xref{Index Entries, , Defining the
14151 @xref{Index Entries, , Defining the Entries of an Index}.@refill 12944 Entries of an Index}.@refill
14152 12945
14153 @item @@L@{@} 12946 @item @@global@@let@var{new-command}=@var{existing-command}
14154 @itemx @@l@{@} 12947 Equate a new highlighting command with an existing one. Only for
14155 Generate the uppercase and lowercase Polish suppressed-L letters, 12948 @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end
14156 respectively: @L{}, @l{}. 12949 iftex}. @xref{Customized Highlighting}.@refill
14157
14158 @c Possibly this can be tossed now that we have macros. --karl, 16sep96.
14159 @c Yes, let's toss it, it's pretty weird. --karl, 15jun97.
14160 @c @item @@global@@let@var{new-command}=@var{existing-command}
14161 @c Equate a new highlighting command with an existing one. Only for
14162 @c @TeX{}. Write definition inside of @code{@@iftex} @dots{} @code{@@end
14163 @c iftex}. @xref{Customized Highlighting}.@refill
14164 12950
14165 @item @@lisp 12951 @item @@lisp
14166 Begin an example of Lisp code. Indent text, do not fill, and select 12952 Begin an example of Lisp code. Indent text, do not fill, and select
14167 fixed-width font. Pair with @code{@@end lisp}. @xref{Lisp Example, , 12953 fixed-width font. Pair with @code{@@end lisp}. @xref{Lisp Example, ,
14168 @code{@@lisp}}.@refill 12954 @code{@@lisp}}.@refill
14169 12955
14170 @item @@lowersections 12956 @item @@majorheading @var{title}
14171 Change subsequent chapters to sections, sections to subsections, and so
14172 on. @xref{Raise/lower sections, , @code{@@raisesections} and
14173 @code{@@lowersections}}.@refill
14174
14175 @item @@macro @var{macro-name} @{@var{params}@}
14176 Define a new Texinfo command @code{@@@var{macro-name}@{@var{params}@}}.
14177 Only supported by @code{makeinfo} and @code{texi2dvi}. @xref{Defining
14178 Macros}.
14179
14180 @item @@majorheading @var{title}
14181 Print a chapter-like heading in the text, but not in the table of 12957 Print a chapter-like heading in the text, but not in the table of
14182 contents of a printed manual. Generate more vertical whitespace before 12958 contents of a printed manual. Generate more vertical whitespace before
14183 the heading than the @code{@@chapheading} command. In Info, the chapter 12959 the heading than the @code{@@chapheading} command. In Info, the chapter
14184 heading line is underlined with asterisks. @xref{majorheading & 12960 heading line is underlined with asterisks. @xref{majorheading &
14185 chapheading, , @code{@@majorheading} and @code{@@chapheading}}.@refill 12961 chapheading, , @code{@@majorheading} and @code{@@chapheading}}.@refill
14191 @item @@menu 12967 @item @@menu
14192 Mark the beginning of a menu of nodes in Info. No effect in a printed 12968 Mark the beginning of a menu of nodes in Info. No effect in a printed
14193 manual. Pair with @code{@@end menu}. @xref{Menus}.@refill 12969 manual. Pair with @code{@@end menu}. @xref{Menus}.@refill
14194 12970
14195 @item @@minus@{@} 12971 @item @@minus@{@}
14196 Generate a minus sign, `@minus{}'. @xref{minus, , @code{@@minus}}.@refill 12972 Generate a minus sign. @xref{minus, , @code{@@minus}}.@refill
14197
14198 @item @@multitable @var{column-width-spec}
14199 Begin a multi-column table. Pair with @code{@@end multitable}.
14200 @xref{Multitable Column Widths}.
14201 12973
14202 @item @@need @var{n} 12974 @item @@need @var{n}
14203 Start a new page in a printed manual if fewer than @var{n} mils 12975 Start a new page in a printed manual if fewer than @var{n} mils
14204 (thousandths of an inch) remain on the current page. @xref{need, , 12976 (thousandths of an inch) remain on the current page. @xref{need, ,
14205 @code{@@need}}.@refill 12977 @code{@@need}}.@refill
14206 12978
14207 @item @@node @var{name, next, previous, up} 12979 @item @@node @var{name, next, previous, up}
14208 Define the beginning of a new node in Info, and serve as a locator for 12980 Define the beginning of a new node in Info, and serve as a locator for
14209 references for @TeX{}. @xref{node, , @code{@@node}}.@refill 12981 references for @TeX{}. @xref{node, , @code{@@node}}.@refill
14210 12982
12983 @need 200
14211 @item @@noindent 12984 @item @@noindent
14212 Prevent text from being indented as if it were a new paragraph. 12985 Prevent text from being indented as if it were a new paragraph.
14213 @xref{noindent, , @code{@@noindent}}.@refill 12986 @xref{noindent, , @code{@@noindent}}.@refill
14214 12987
14215 @item @@O@{@} 12988 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}]
14216 @itemx @@o@{@} 12989 Specify page footings for odd-numbered (right-hand) pages. Not relevant to
14217 Generate the uppercase and lowercase O-with-slash letters, respectively: 12990 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill
14218 @O{}, @o{}. 12991
14219 12992 @item @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}]
14220 @item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 12993 Specify page headings for odd-numbered (right-hand) pages. Not relevant to
14221 @itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 12994 Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill
14222 Specify page footings resp.@: headings for odd-numbered (right-hand)
14223 pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, ,
14224 How to Make Your Own Headings}.@refill
14225
14226 @item @@OE@{@}
14227 @itemx @@oe@{@}
14228 Generate the uppercase and lowercase OE ligatures, respectively:
14229 @OE{}, @oe{}. @xref{Inserting Accents}.
14230 12995
14231 @item @@page 12996 @item @@page
14232 Start a new page in a printed manual. No effect in Info. 12997 Start a new page in a printed manual. No effect in Info.
14233 @xref{page, , @code{@@page}}.@refill 12998 @xref{page, , @code{@@page}}.@refill
14234 12999
14245 @item @@point@{@} 13010 @item @@point@{@}
14246 Indicate the position of point in a buffer to the reader with a 13011 Indicate the position of point in a buffer to the reader with a
14247 glyph: @samp{@point{}}. @xref{Point Glyph, , Indicating 13012 glyph: @samp{@point{}}. @xref{Point Glyph, , Indicating
14248 Point in a Buffer}.@refill 13013 Point in a Buffer}.@refill
14249 13014
14250 @item @@pounds@{@}
14251 Generate the pounds sterling currency sign.
14252 @xref{pounds,,@code{@@pounds@{@}}}.
14253
14254 @item @@print@{@} 13015 @item @@print@{@}
14255 Indicate printed output to the reader with a glyph: 13016 Indicate printed output to the reader with a glyph:
14256 @samp{@print{}}. @xref{Print Glyph}.@refill 13017 @samp{@print{}}. @xref{Print Glyph}.@refill
14257 13018
14258 @item @@printindex @var{index-name} 13019 @item @@printindex @var{index-name}
14261 Indices & Menus}.@refill 13022 Indices & Menus}.@refill
14262 13023
14263 @item @@pxref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@} 13024 @item @@pxref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@}
14264 Make a reference that starts with a lower case `see' in a printed 13025 Make a reference that starts with a lower case `see' in a printed
14265 manual. Use within parentheses only. Do not follow command with a 13026 manual. Use within parentheses only. Do not follow command with a
14266 punctuation mark---the Info formatting commands automatically insert 13027 punctuation mark. The Info formatting commands automatically insert
14267 terminating punctuation as needed. Only the first argument is mandatory. 13028 terminating punctuation as needed, which is why you do not need to
13029 insert punctuation. Only the first argument is mandatory.
14268 @xref{pxref, , @code{@@pxref}}.@refill 13030 @xref{pxref, , @code{@@pxref}}.@refill
14269
14270 @item @@questiondown@{@}
14271 Generate an upside-down question mark. @xref{Inserting Accents}.
14272 13031
14273 @item @@quotation 13032 @item @@quotation
14274 Narrow the margins to indicate text that is quoted from another real 13033 Narrow the margins to indicate text that is quoted from another real
14275 or imaginary work. Write command on a line of its own. Pair with 13034 or imaginary work. Write command on a line of its own. Pair with
14276 @code{@@end quotation}. @xref{quotation, , 13035 @code{@@end quotation}. @xref{quotation, ,
14302 @need 300 13061 @need 300
14303 @item @@result@{@} 13062 @item @@result@{@}
14304 Indicate the result of an expression to the reader with a special 13063 Indicate the result of an expression to the reader with a special
14305 glyph: @samp{@result{}}. @xref{result, , @code{@@result}}.@refill 13064 glyph: @samp{@result{}}. @xref{result, , @code{@@result}}.@refill
14306 13065
14307 @item @@ringaccent@{@var{c}@}
14308 Generate a ring accent over the next character, as in @ringaccent{o}.
14309 @xref{Inserting Accents}.
14310
14311 @item @@samp@{@var{text}@} 13066 @item @@samp@{@var{text}@}
14312 Highlight @var{text} that is a literal example of a sequence of 13067 Highlight @var{text} that is a literal example of a sequence of
14313 characters. Used for single characters, for statements, and often for 13068 characters. Used for single characters, for statements, and often for
14314 entire shell commands. @xref{samp, , @code{@@samp}}.@refill 13069 entire shell commands. @xref{samp, , @code{@@samp}}.@refill
14315 13070
14334 @item @@setchapternewpage @var{on-off-odd} 13089 @item @@setchapternewpage @var{on-off-odd}
14335 Specify whether chapters start on new pages, and if so, whether on 13090 Specify whether chapters start on new pages, and if so, whether on
14336 odd-numbered (right-hand) new pages. @xref{setchapternewpage, , 13091 odd-numbered (right-hand) new pages. @xref{setchapternewpage, ,
14337 @code{@@setchapternewpage}}.@refill 13092 @code{@@setchapternewpage}}.@refill
14338 13093
13094 @c awkward wording prevents overfull hbox
14339 @item @@setfilename @var{info-file-name} 13095 @item @@setfilename @var{info-file-name}
14340 Provide a name to be used by the Info file. This command is essential 13096 Provide a name to be used by the Info file. @xref{setfilename, ,
14341 for @TeX{} formatting as well, even though it produces no output. 13097 @code{@@setfilename}}.@refill
14342 @xref{setfilename, , @code{@@setfilename}}.@refill
14343 13098
14344 @item @@settitle @var{title} 13099 @item @@settitle @var{title}
14345 Provide a title for page headers in a printed manual. 13100 Provide a title for page headers in a printed manual.
14346 @xref{settitle, , @code{@@settitle}}.@refill 13101 @xref{settitle, , @code{@@settitle}}.@refill
14347 13102
14348 @item @@shortcontents 13103 @item @@shortcontents
14349 Print a short table of contents. Not relevant to Info, which uses 13104 Print a short table of contents. Not relevant to Info, which uses
14350 menus rather than tables of contents. A synonym for 13105 menus rather than tables of contents. A synonym for
14351 @code{@@summarycontents}. @xref{Contents, , Generating a Table of 13106 @code{@@summarycontents}. @xref{Contents, , Generating a Table of
14352 Contents}.@refill 13107 Contents}.@refill
14353
14354 @item @@shorttitlepage@{@var{title}@}
14355 Generate a minimal title page. @xref{titlepage,,@code{@@titlepage}}.
14356 13108
14357 @need 400 13109 @need 400
14358 @item @@smallbook 13110 @item @@smallbook
14359 Cause @TeX{} to produce a printed manual in a 7 by 9.25 inch format 13111 Cause @TeX{} to produce a printed manual in a 7 by 9.25 inch format
14360 rather than the regular 8.5 by 11 inch format. @xref{smallbook, , 13112 rather than the regular 8.5 by 11 inch format. @xref{smallbook, ,
14378 13130
14379 @need 700 13131 @need 700
14380 @item @@sp @var{n} 13132 @item @@sp @var{n}
14381 Skip @var{n} blank lines. @xref{sp, , @code{@@sp}}.@refill 13133 Skip @var{n} blank lines. @xref{sp, , @code{@@sp}}.@refill
14382 13134
14383 @item @@ss@{@}
14384 Generate the German sharp-S es-zet letter, @ss{}. @xref{Inserting Accents}.
14385
14386 @need 700 13135 @need 700
14387 @item @@strong @var{text} 13136 @item @@strong @var{text}
14388 Emphasize @var{text} by typesetting it in a @strong{bold} font for the 13137 Emphasize @var{text} by typesetting it in a @strong{bold} font for the
14389 printed manual and by surrounding it with asterisks for Info. 13138 printed manual and by surrounding it with asterisks for Info.
14390 @xref{emph & strong, , Emphasizing Text}.@refill 13139 @xref{emph & strong, , Emphasizing Text}.@refill
14391 13140
14392 @item @@subheading @var{title} 13141 @item @@subheading @var{title}
14440 13189
14441 @need 100 13190 @need 100
14442 @item @@t@{@var{text}@} 13191 @item @@t@{@var{text}@}
14443 Print @var{text} in a @t{fixed-width}, typewriter-like font. 13192 Print @var{text} in a @t{fixed-width}, typewriter-like font.
14444 No effect in Info. @xref{Fonts}.@refill 13193 No effect in Info. @xref{Fonts}.@refill
14445
14446 @item @@tab
14447 Separate columns in a multitable. @xref{Multitable Rows}.
14448 13194
14449 @need 400 13195 @need 400
14450 @item @@table @var{formatting-command} 13196 @item @@table @var{formatting-command}
14451 Begin a two-column table, using @code{@@item} for each entry. Write 13197 Begin a two-column table, using @code{@@item} for each entry. Write
14452 each first column entry on the same line as @code{@@item}. First 13198 each first column entry on the same line as @code{@@item}. First
14453 column entries are printed in the font resulting from 13199 column entries are printed in the font resulting from
14454 @var{formatting-command}. Pair with @code{@@end table}. 13200 @var{formatting-command}. Pair with @code{@@end table}.
14455 @xref{Two-column Tables, , Making a Two-column Table}. 13201 @xref{Two-column Tables, , Making a Two-column Table}.
14456 Also see @ref{ftable vtable, , @code{@@ftable} and @code{@@vtable}}, 13202 Also see @ref{ftable vtable, , @code{@@ftable} and @code{@@vtable}},
14457 and @ref{itemx, , @code{@@itemx}}.@refill 13203 and @ref{itemx, , @code{@@itemx}}.@refill
14458 13204
14459 @item @@TeX@{@} 13205 @item @@TeX@{@}
14460 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{} 13206 Insert the logo @TeX{}. @xref{TeX and copyright, , Inserting @TeX{}
14461 and @copyright{}}.@refill 13207 and @copyright{}}.@refill
14462 13208
14463 @item @@tex 13209 @item @@tex
14464 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Raw 13210 Enter @TeX{} completely. Pair with @code{@@end tex}. @xref{Using
14465 Formatter Commands}. 13211 Ordinary TeX Commands, , Using Ordinary @TeX{} Commands}.@refill
14466 13212
14467 @item @@thischapter 13213 @item @@thischapter
14468 @itemx @@thischaptername 13214 In a heading or footing, stands for the number and name of the current
14469 @itemx @@thisfile 13215 chapter, in the format `Chapter 1: Title'. @xref{Custom
14470 @itemx @@thispage 13216 Headings, , How to Make Your Own Headings}.@refill
14471 @itemx @@thistitle 13217
14472 Only allowed in a heading or footing. Stands for the number and name of 13218 @item @@thischaptername
14473 the current chapter (in the format `Chapter 1: Title'), the chapter name 13219 In a heading or footing, stands for the name of the current chapter.
14474 only, the filename, the current page number, and the title of the 13220 @xref{Custom Headings, , How to Make Your Own Headings}.@refill
14475 document, respectively. @xref{Custom Headings, , How to Make Your Own 13221
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
14476 Headings}.@refill 13226 Headings}.@refill
14477 13227
14478 @item @@tieaccent@{@var{cc}@} 13228 @item @@thispage
14479 Generate a tie-after accent over the next two characters @var{cc}, as in 13229 In a heading or footing, stands for the current page number.
14480 `@tieaccent{oo}'. @xref{Inserting Accents}. 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
14481 13242
14482 @item @@tindex @var{entry} 13243 @item @@tindex @var{entry}
14483 Add @var{entry} to the index of data types. @xref{Index Entries, , 13244 Add @var{entry} to the index of data types. @xref{Index Entries, ,
14484 Defining the Entries of an Index}.@refill 13245 Defining the Entries of an Index}.@refill
14485 13246
14518 line normally should be enclosed by @code{@@ifinfo} and @code{@@end 13279 line normally should be enclosed by @code{@@ifinfo} and @code{@@end
14519 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} 13280 ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top}
14520 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo 13281 command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo
14521 Pointer Creation, , Creating Pointers with @code{makeinfo}}. 13282 Pointer Creation, , Creating Pointers with @code{makeinfo}}.
14522 13283
14523 @item @@u@{@var{c}@}
14524 @itemx @@ubaraccent@{@var{c}@}
14525 @itemx @@udotaccent@{@var{c}@}
14526 Generate a breve, underbar, or underdot accent, respectively, over or
14527 under the character @var{c}, as in @u{o}, @ubaraccent{o},
14528 @udotaccent{o}. @xref{Inserting Accents}.
14529
14530 @item @@unnumbered @var{title} 13284 @item @@unnumbered @var{title}
14531 In a printed manual, begin a chapter that appears without chapter 13285 In a printed manual, begin a chapter that appears without chapter
14532 numbers of any kind. The title appears in the table of contents of a 13286 numbers of any kind. The title appears in the table of contents of a
14533 printed manual. In Info, the title is underlined with asterisks. 13287 printed manual. In Info, the title is underlined with asterisks.
14534 @xref{unnumbered & appendix, , @code{@@unnumbered} and 13288 @xref{unnumbered & appendix, , @code{@@unnumbered} and
14551 @item @@unnumberedsubsubsec @var{title} 13305 @item @@unnumberedsubsubsec @var{title}
14552 In a printed manual, begin an unnumbered subsubsection within a 13306 In a printed manual, begin an unnumbered subsubsection within a
14553 chapter. The title appears in the table of contents of a printed 13307 chapter. The title appears in the table of contents of a printed
14554 manual. In Info, the title is underlined with periods. 13308 manual. In Info, the title is underlined with periods.
14555 @xref{subsubsection, , The `subsub' Commands}.@refill 13309 @xref{subsubsection, , The `subsub' Commands}.@refill
14556
14557 @item @@uref@{@var{url}[, @var{displayed-text}@}
14558 Define a cross reference to an external uniform resource locator for the
14559 World Wide Web. @xref{url, , @code{@@url}}.@refill
14560
14561 @item @@url@{@var{url}@}
14562 Indicate text that is a uniform resource locator for the World Wide
14563 Web. @xref{url, , @code{@@url}}.@refill
14564
14565 @item @@v@{@var{c}@}
14566 Generate check accent over the character @var{c}, as in @v{o}.
14567 @xref{Inserting Accents}.
14568 13310
14569 @item @@value@{@var{flag}@} 13311 @item @@value@{@var{flag}@}
14570 Replace @var{flag} with the value to which it is set by @code{@@set 13312 Replace @var{flag} with the value to which it is set by @code{@@set
14571 @var{flag}}. 13313 @var{flag}}.
14572 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 13314 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
14600 13342
14601 @need 400 13343 @need 400
14602 @item @@w@{@var{text}@} 13344 @item @@w@{@var{text}@}
14603 Prevent @var{text} from being split across two lines. Do not end a 13345 Prevent @var{text} from being split across two lines. Do not end a
14604 paragraph that uses @code{@@w} with an @code{@@refill} command. 13346 paragraph that uses @code{@@w} with an @code{@@refill} command.
13347 In the Texinfo file, keep @var{text} on one line.
14605 @xref{w, , @code{@@w}}.@refill 13348 @xref{w, , @code{@@w}}.@refill
14606 13349
14607 @need 400 13350 @need 400
14608 @item @@xref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@} 13351 @item @@xref@{@var{node-name}, [@var{entry}], [@var{topic-or-title}], [@var{info-file}], [@var{manual}]@}
14609 Make a reference that starts with `See' in a printed manual. Follow 13352 Make a reference that starts with `See' in a printed manual. Follow
14610 command with a punctuation mark. Only the first argument is 13353 command with a punctuation mark. Only the first argument is
14611 mandatory. @xref{xref, , @code{@@xref}}.@refill 13354 mandatory. @xref{xref, , @code{@@xref}}.@refill
14612 @end table 13355 @end table
14613 13356
14614
14615 @node Tips, Sample Texinfo File, Command List, Top 13357 @node Tips, Sample Texinfo File, Command List, Top
13358 @comment node-name, next, previous, up
14616 @appendix Tips and Hints 13359 @appendix Tips and Hints
14617 13360
14618 Here are some tips for writing Texinfo documentation:@refill 13361 Here are some tips for writing Texinfo documentation:@refill
14619 13362
14620 @cindex Tips 13363 @cindex Tips
14633 13376
14634 @item 13377 @item
14635 Include a copyright notice and copying permissions. 13378 Include a copyright notice and copying permissions.
14636 @end itemize 13379 @end itemize
14637 13380
14638 @subsubheading Index, Index, Index! 13381 @subsubheading Index, index, index!
14639 13382
14640 Write many index entries, in different ways. 13383 Write many index entries, in different ways.
14641 Readers like indices; they are helpful and convenient. 13384 Readers like indices; they are helpful and convenient.
14642 13385
14643 Although it is easiest to write index entries as you write the body of 13386 Although it is easiest to write index entries as you write the body of
14649 Here are more hints we have found valuable: 13392 Here are more hints we have found valuable:
14650 13393
14651 @itemize @bullet 13394 @itemize @bullet
14652 @item 13395 @item
14653 Write each index entry differently, so each entry refers to a different 13396 Write each index entry differently, so each entry refers to a different
14654 place in the document. 13397 place in the document. The index of an Info file lists only one
13398 location for each entry.
14655 13399
14656 @item 13400 @item
14657 Write index entries only where a topic is discussed significantly. For 13401 Write index entries only where a topic is discussed significantly. For
14658 example, it is not useful to index ``debugging information'' in a 13402 example, it is not useful to index ``debugging information'' in a
14659 chapter on reporting bugs. Someone who wants to know about debugging 13403 chapter on reporting bugs. Someone who wants to know about debugging
14670 Always capitalize or use upper case for those words in an index for 13414 Always capitalize or use upper case for those words in an index for
14671 which this is proper, such as names of countries or acronyms. Always 13415 which this is proper, such as names of countries or acronyms. Always
14672 use the appropriate case for case-sensitive names, such as those in C or 13416 use the appropriate case for case-sensitive names, such as those in C or
14673 Lisp. 13417 Lisp.
14674 13418
14675 @item 13419 @item
14676 Write the indexing commands that refer to a whole section immediately 13420 Write the indexing commands that refer to a whole section immediately
14677 after the section command, and write the indexing commands that refer to 13421 after the section command, and write the indexing commands that refer to
14678 the paragraph before the paragraph. 13422 the paragraph before the paragraph.
14679 13423
14680 @need 1000 13424 @need 1000
14699 (Note that the example shows entries for the same concept that are 13443 (Note that the example shows entries for the same concept that are
14700 written in different ways---@samp{Lazy dog}, and @samp{Dog, lazy}---so 13444 written in different ways---@samp{Lazy dog}, and @samp{Dog, lazy}---so
14701 readers can look up the concept in different ways.) 13445 readers can look up the concept in different ways.)
14702 @end itemize 13446 @end itemize
14703 13447
14704 @subsubheading Blank Lines 13448 @subsubheading Blank lines
14705 13449
14706 @itemize @bullet 13450 @itemize @bullet
14707 @item 13451 @item
14708 Insert a blank line between a sectioning command and the first following 13452 Insert a blank line between a sectioning command and the first following
14709 sentence or paragraph, or between the indexing commands associated with 13453 sentence or paragraph, or between the indexing commands associated with
14712 paragraph together. 13456 paragraph together.
14713 13457
14714 @item 13458 @item
14715 Always insert a blank line before an @code{@@table} command and after an 13459 Always insert a blank line before an @code{@@table} command and after an
14716 @code{@@end table} command; but never insert a blank line after an 13460 @code{@@end table} command; but never insert a blank line after an
14717 @code{@@table} command or before an @code{@@end table} command. 13461 @code{@@table} command or before an @code{@@end table} command.
14718 13462
14719 @need 1000 13463 @need 1000
14720 For example, 13464 For example,
14721 13465
14722 @example 13466 @example
14743 Insert blank lines before and after @code{@@itemize} @dots{} @code{@@end 13487 Insert blank lines before and after @code{@@itemize} @dots{} @code{@@end
14744 itemize} and @code{@@enumerate} @dots{} @code{@@end enumerate} in the 13488 itemize} and @code{@@enumerate} @dots{} @code{@@end enumerate} in the
14745 same way. 13489 same way.
14746 @end itemize 13490 @end itemize
14747 13491
14748 @subsubheading Complete Phrases 13492 @subsubheading Complete phrases
14749 13493
14750 Complete phrases are easier to read than @dots{} 13494 Complete phrases are easier to read than @dots{}
14751 13495
14752 @itemize @bullet 13496 @itemize @bullet
14753 @item 13497 @item
14759 Write the prefatory sentence or phrase for a multi-item list or table as 13503 Write the prefatory sentence or phrase for a multi-item list or table as
14760 a complete expression. Do not write ``You can set:''; instead, write 13504 a complete expression. Do not write ``You can set:''; instead, write
14761 ``You can set these variables:''. The former expression sounds cut off. 13505 ``You can set these variables:''. The former expression sounds cut off.
14762 @end itemize 13506 @end itemize
14763 13507
14764 @subsubheading Editions, Dates and Versions 13508 @subsubheading Editions, dates and versions
14765 13509
14766 Write the edition and version numbers and date in three places in every 13510 Write the edition and version numbers and date in three places in every
14767 manual: 13511 manual:
14768 13512
14769 @enumerate 13513 @enumerate
14786 For example: 13530 For example:
14787 13531
14788 @example 13532 @example
14789 @group 13533 @group
14790 @@c ===> NOTE! <== 13534 @@c ===> NOTE! <==
14791 @@c Specify the edition and version numbers and date 13535 @@c Specify the edition and version numbers and date
14792 @@c in *three* places: 13536 @@c in *three* places:
14793 @@c 1. First ifinfo section 2. title page 3. top node 13537 @@c 1. First ifinfo section 2. title page 3. top node
14794 @@c To find the locations, search for !!set 13538 @@c To find the locations, search for !!set
14795 @end group 13539 @end group
14796 13540
14797 @group 13541 @group
14798 @@ifinfo 13542 @@ifinfo
14799 @@c !!set edition, date, version 13543 @@c !!set edition, date, version
14800 This is Edition 4.03, January 1992, 13544 This is Edition 4.03, January 1992,
14801 of the @@cite@{GDB Manual@} for GDB Version 4.3. 13545 of the @@cite@{GDB Manual@} for GDB Version 4.3.
14802 @dots{} 13546 @dots{}
14803 @end group 13547 @end group
14804 @end example 13548 @end example
14805 13549
14806 @noindent 13550 @noindent
14807 ---or use @code{@@set} and @code{@@value} 13551 ---or use @code{@@set} and @code{@@value}
14808 (@pxref{value Example, , @code{@@value} Example}). 13552 (@pxref{value Example, , @code{@@value} Example}).
14809 13553
14810 @subsubheading Definition Commands 13554 @subsubheading Definition Commands
14811 13555
14812 Definition commands are @code{@@deffn}, @code{@@defun}, 13556 Definition commands are @code{@@deffn}, @code{@@defun},
14815 13559
14816 @itemize @bullet 13560 @itemize @bullet
14817 @item 13561 @item
14818 Write just one definition command for each entity you define with a 13562 Write just one definition command for each entity you define with a
14819 definition command. The automatic indexing feature creates an index 13563 definition command. The automatic indexing feature creates an index
14820 entry that leads the reader to the definition. 13564 entry that leads the reader to the definition.
14821 13565
14822 @item 13566 @item
14823 Use @code{@@table} @dots{} @code{@@end table} in an appendix that 13567 Use @code{@@table} @dots{} @code{@@end table} in an appendix that
14824 contains a summary of functions, not @code{@@deffn} or other definition 13568 contains a summary of functions, not @code{@@deffn} or other definition
14825 commands. 13569 commands.
14827 13571
14828 @subsubheading Capitalization 13572 @subsubheading Capitalization
14829 13573
14830 @itemize @bullet 13574 @itemize @bullet
14831 @item 13575 @item
14832 Capitalize ``Texinfo''; it is a name. Do not write the @samp{x} or 13576 Capitalize @samp{Texinfo}; it is a name. Do not write the @samp{x} or
14833 @samp{i} in upper case. 13577 @samp{i} in upper case.
14834 13578
14835 @item 13579 @item
14836 Capitalize ``Info''; it is a name. 13580 Capitalize @samp{Info}; it is a name.
14837 13581
14838 @item 13582 @item
14839 Write @TeX{} using the @code{@@TeX@{@}} command. Note the uppercase 13583 Write @TeX{} using the @code{@@TeX@{@}} command. Note the uppercase
14840 @samp{T} and @samp{X}. This command causes the formatters to 13584 @samp{T} and @samp{X}. This command causes the formatters to
14841 typeset the name according to the wishes of Donald Knuth, who wrote 13585 typeset the name according to the wishes of Donald Knuth, who wrote
14852 13596
14853 @example 13597 @example
14854 @group 13598 @group
14855 @@kbd@{C-x v@} 13599 @@kbd@{C-x v@}
14856 @@kbd@{M-x vc-next-action@} 13600 @@kbd@{M-x vc-next-action@}
14857 Perform the next logical operation 13601 Perform the next logical operation
14858 on the version-controlled file 13602 on the version-controlled file
14859 corresponding to the current buffer. 13603 corresponding to the current buffer.
14860 @end group 13604 @end group
14861 @end example 13605 @end example
14862 13606
14887 13631
14888 @itemize @bullet 13632 @itemize @bullet
14889 @item 13633 @item
14890 Use @code{@@code} around Lisp symbols, including command names. 13634 Use @code{@@code} around Lisp symbols, including command names.
14891 For example, 13635 For example,
14892 13636
14893 @example 13637 @example
14894 The main function is @@code@{vc-next-action@}, @dots{} 13638 The main function is @@code@{vc-next-action@}, @dots{}
14895 @end example 13639 @end example
14896 13640
14897 @item 13641 @item
14903 around them. 13647 around them.
14904 13648
14905 @item 13649 @item
14906 Use three hyphens in a row, @samp{---}, to indicate a long dash. @TeX{} 13650 Use three hyphens in a row, @samp{---}, to indicate a long dash. @TeX{}
14907 typesets these as a long dash and the Info formatters reduce three 13651 typesets these as a long dash and the Info formatters reduce three
14908 hyphens to two. 13652 hyphens to two.
14909 @end itemize 13653 @end itemize
14910 13654
14911 @subsubheading Periods Outside of Quotes 13655 @subsubheading Periods Outside of Quotes
14912 13656
14913 Place periods and other punctuation marks @emph{outside} of quotations, 13657 Place periods and other punctuation marks @emph{outside} of quotations,
14914 unless the punctuation is part of the quotation. This practice goes 13658 unless the punctuation is part of the quotation. This practice goes against
14915 against publishing conventions in the United States, but enables the 13659 convention, but enables the reader to distinguish between the contents
14916 reader to distinguish between the contents of the quotation and the 13660 of the quotation and the whole passage.
14917 whole passage.
14918 13661
14919 For example, you should write the following sentence with the period 13662 For example, you should write the following sentence with the period
14920 outside the end quotation marks: 13663 outside the end quotation marks:
14921 13664
14922 @example 13665 @example
14929 13672
14930 @subsubheading Introducing New Terms 13673 @subsubheading Introducing New Terms
14931 13674
14932 @itemize @bullet 13675 @itemize @bullet
14933 @item 13676 @item
14934 Introduce new terms so that a reader who does not know them can 13677 Introduce new terms so that a user who does not know them can understand
14935 understand them from context; or write a definition for the term. 13678 them from context; or write a definition for the term.
14936 13679
14937 For example, in the following, the terms ``check in'', ``register'' and 13680 For example, in the following, the terms ``check in'', ``register'' and
14938 ``delta'' are all appearing for the first time; the example sentence should be 13681 ``delta'' are all appearing for the first time; the example sentence should be
14939 rewritten so they are understandable. 13682 rewritten so they are understandable.
14940 13683
14944 it as deltas. 13687 it as deltas.
14945 @end quotation 13688 @end quotation
14946 13689
14947 @item 13690 @item
14948 Use the @code{@@dfn} command around a word being introduced, to indicate 13691 Use the @code{@@dfn} command around a word being introduced, to indicate
14949 that the reader should not expect to know the meaning already, and 13692 that the user should not expect to know the meaning already, and should
14950 should expect to learn the meaning from this passage. 13693 expect to learn the meaning from this passage.
14951 @end itemize 13694 @end itemize
14952 13695
14953 @subsubheading @@pxref 13696 @subsubheading @@pxref
14954 13697
14955 @c !!! maybe include this in the tips on pxref 13698 @c !!! maybe include this in the tips on pxref
14956 @ignore 13699 @ignore
14957 By the way, it is okay to use pxref with something else in front of 13700 By the way, it is okay to use pxref with something else in front of
14958 it within the parens, as long as the pxref is followed by the close 13701 it within the parens, as long as the pxref is followed by the close
14959 paren, and the material inside the parens is not part of a larger 13702 paren, and the material inside the parents is not part of a larger
14960 sentence. Also, you can use xref inside parens as part of a complete 13703 sentence. Also, you can use xref inside parens as part of a complete
14961 sentence so long as you terminate the cross reference with punctuation. 13704 sentence so long as you terminate the cross reference with punctuation.
14962 @end ignore 13705 @end ignore
14963 Absolutely never use @code{@@pxref} except in the special context for 13706 Absolutely never use @code{@@pxref} except in the special context for
14964 which it is designed: inside parentheses, with the closing parenthesis 13707 which it is designed: inside parentheses, with the closing parenthesis
14967 means that the output looks right both in printed output and in an Info 13710 means that the output looks right both in printed output and in an Info
14968 file, but only when the command is used inside parentheses. 13711 file, but only when the command is used inside parentheses.
14969 13712
14970 @subsubheading Invoking from a Shell 13713 @subsubheading Invoking from a Shell
14971 13714
14972 You can invoke programs such as Emacs, GCC, and @code{gawk} from a 13715 You can invoke programs such as Emacs, GCC, and GAWK from a shell.
14973 shell. The documentation for each program should contain a section that 13716 The documentation for each program should contain a section that
14974 describes this. Unfortunately, if the node names and titles for these 13717 describes this. Unfortunately, if the node names and titles for these
14975 sections are all different, readers find it hard to search for the 13718 sections are all different, readers find it hard to search for the
14976 section.@refill 13719 section.@refill
14977 13720
14978 Name such sections with a phrase beginning with the word 13721 Name such sections with a phrase beginning with the word
14979 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way 13722 @w{`Invoking @dots{}'}, as in `Invoking Emacs'; this way
14980 users can find the section easily. 13723 users can find the section easily.
14981 13724
14982 @subsubheading ANSI C Syntax 13725 @subsubheading @sc{ansi c} Syntax
14983 13726
14984 When you use @code{@@example} to describe a C function's calling 13727 When you use @code{@@example} to describe a C function's calling
14985 conventions, use the ANSI C syntax, like this:@refill 13728 conventions, use the @sc{ansi c} syntax, like this:@refill
14986 13729
14987 @example 13730 @example
14988 void dld_init (char *@@var@{path@}); 13731 void dld_init (char *@@var@{path@});
14989 @end example 13732 @end example
14990 13733
15017 13760
15018 In this example, say, `` @dots{} you must @code{@@dfn}@{check 13761 In this example, say, `` @dots{} you must @code{@@dfn}@{check
15019 in@} the new version.'' That flows better. 13762 in@} the new version.'' That flows better.
15020 13763
15021 @quotation 13764 @quotation
15022 When you are done editing the file, you must perform a 13765 When you are done editing the file, you must perform a
15023 @code{@@dfn}@{check in@}. 13766 @code{@@dfn}@{check in@}.
15024 @end quotation 13767 @end quotation
15025 13768
15026 In the following example, say, ``@dots{} makes a unified interface such as VC 13769 In the following example, say, ``@dots{} makes a unified interface such as VC
15027 mode possible.'' 13770 mode possible.''
15043 13786
15044 @itemize @bullet 13787 @itemize @bullet
15045 @item 13788 @item
15046 Pronounce @TeX{} as if the @samp{X} were a Greek `chi', as the last 13789 Pronounce @TeX{} as if the @samp{X} were a Greek `chi', as the last
15047 sound in the name `Bach'. But pronounce Texinfo as in `speck': 13790 sound in the name `Bach'. But pronounce Texinfo as in `speck':
15048 ``teckinfo''. 13791 @samp{teckinfo}.
15049 13792
15050 @item 13793 @item
15051 Write notes for yourself at the very end of a Texinfo file after the 13794 Write notes for yourself at the very end of a Texinfo file after the
15052 @code{@@bye}. None of the formatters process text after the 13795 @code{@@bye}. None of the formatters process text after the
15053 @code{@@bye}; it is as if the text were within @code{@@ignore} @dots{} 13796 @code{@@bye}; it is as if the text were within @code{@@ignore} @dots{}
15054 @code{@@end ignore}. 13797 @code{@@end ignore}.
15055 @end itemize 13798 @end itemize
15056 13799
15057
15058 @node Sample Texinfo File, Sample Permissions, Tips, Top 13800 @node Sample Texinfo File, Sample Permissions, Tips, Top
13801 @comment node-name, next, previous, up
15059 @appendix A Sample Texinfo File 13802 @appendix A Sample Texinfo File
15060 @cindex Sample Texinfo file, no comments 13803 @cindex Sample Texinfo file, no comments
15061 13804
15062 Here is a complete, short sample Texinfo file, without any commentary. 13805 Here is a complete, short sample Texinfo file, without any commentary.
15063 You can see this file, with comments, in the first chapter. 13806 You can see this file, with comments, in the first chapter.
15064 @xref{Short Sample, , A Short Sample Texinfo File}. 13807 @xref{Short Sample, , A Short Sample Texinfo File}.
15065 13808
15066 @sp 1 13809 @sp 1
15067 @example 13810 @example
15068 \input texinfo @@c -*-texinfo-*- 13811 \input texinfo @@c -*-texinfo-*-
15069 @@c %**start of header 13812 @@c %**start of header
15070 @@setfilename sample.info 13813 @@setfilename sample.info
15071 @@settitle Sample Document 13814 @@settitle Sample Document
15072 @@c %**end of header 13815 @@c %**end of header
15073 13816
15088 @@page 13831 @@page
15089 @@vskip 0pt plus 1filll 13832 @@vskip 0pt plus 1filll
15090 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc. 13833 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc.
15091 @@end titlepage 13834 @@end titlepage
15092 13835
15093 @@node Top, First Chapter, , (dir) 13836 @@node Top, First Chapter, (dir), (dir)
15094 @@comment node-name, next, previous, up 13837 @@comment node-name, next, previous, up
15095 13838
15096 @@menu 13839 @@menu
15097 * First Chapter:: The first chapter is the 13840 * First Chapter:: The first chapter is the
15098 only chapter in this sample. 13841 only chapter in this sample.
15099 * Concept Index:: This index has two entries. 13842 * Concept Index:: This index has two entries.
15100 @@end menu 13843 @@end menu
15101 13844
15102 @@node First Chapter, Concept Index, Top, Top 13845 @@node First Chapter, Concept Index, Top, Top
15103 @@comment node-name, next, previous, up 13846 @@comment node-name, next, previous, up
15104 @@chapter First Chapter 13847 @@chapter First Chapter
15105 @@cindex Sample index entry 13848 @@cindex Sample index entry
15106 13849
15107 This is the contents of the first chapter. 13850 This is the contents of the first chapter.
15108 @@cindex Another sample index entry 13851 @@cindex Another sample index entry
15109 13852
15110 Here is a numbered list. 13853 Here is a numbered list.
15111 13854
15112 @@enumerate 13855 @@enumerate
15116 @@item 13859 @@item
15117 This is the second item. 13860 This is the second item.
15118 @@end enumerate 13861 @@end enumerate
15119 13862
15120 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@} 13863 The @@code@{makeinfo@} and @@code@{texinfo-format-buffer@}
15121 commands transform a Texinfo file such as this into 13864 commands transform a Texinfo file such as this into
15122 an Info file; and @@TeX@{@} typesets it for a printed 13865 an Info file; and @@TeX@{@} typesets it for a printed
15123 manual. 13866 manual.
15124 13867
15125 @@node Concept Index, , First Chapter, Top 13868 @@node Concept Index, , First Chapter, Top
15126 @@comment node-name, next, previous, up 13869 @@comment node-name, next, previous, up
15127 @@unnumbered Concept Index 13870 @@unnumbered Concept Index
15129 @@printindex cp 13872 @@printindex cp
15130 13873
15131 @@contents 13874 @@contents
15132 @@bye 13875 @@bye
15133 @end example 13876 @end example
15134
15135 13877
15136 @node Sample Permissions, Include Files, Sample Texinfo File, Top 13878 @node Sample Permissions, Include Files, Sample Texinfo File, Top
15137 @appendix Sample Permissions 13879 @appendix Sample Permissions
15138 @cindex Permissions 13880 @cindex Permissions
15139 @cindex Copying permissions 13881 @cindex Copying permissions
15211 Software Foundation permission notice reads as follows:@refill 13953 Software Foundation permission notice reads as follows:@refill
15212 13954
15213 @example 13955 @example
15214 This file documents @dots{} 13956 This file documents @dots{}
15215 13957
15216 Copyright 1997 Free Software Foundation, Inc. 13958 Copyright 1992 Free Software Foundation, Inc.
15217 13959
15218 Permission is granted to make and distribute verbatim 13960 Permission is granted to make and distribute verbatim
15219 copies of this manual provided the copyright notice and 13961 copies of this manual provided the copyright notice and
15220 this permission notice are preserved on all copies. 13962 this permission notice are preserved on all copies.
15221 13963
15222 @@ignore 13964 @@ignore
15223 Permission is granted to process this file through TeX 13965 Permission is granted to process this file through TeX
15224 and print the results, provided the printed document 13966 and print the results, provided the printed document
15225 carries a copying permission notice identical to this 13967 carries a copying permission notice identical to this
15226 one except for the removal of this paragraph (this 13968 one except for the removal of this paragraph (this
15227 paragraph not being relevant to the printed manual). 13969 paragraph not being relevant to the printed manual).
15235 that the entire resulting derived work is distributed 13977 that the entire resulting derived work is distributed
15236 under the terms of a permission notice identical to this 13978 under the terms of a permission notice identical to this
15237 one. 13979 one.
15238 13980
15239 Permission is granted to copy and distribute 13981 Permission is granted to copy and distribute
15240 translations of this manual into another language, 13982 translations of this manual into another language,
15241 under the above conditions for modified versions, 13983 under the above conditions for modified versions,
15242 except that this permission notice may be stated in a 13984 except that this permission notice may be stated in a
15243 translation approved by the Free Software Foundation. 13985 translation approved by the Free Software Foundation.
15244 @end example 13986 @end example
15245 13987
15246 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions 13988 @node Titlepage Permissions, , ifinfo Permissions, Sample Permissions
15266 that the entire resulting derived work is distributed 14008 that the entire resulting derived work is distributed
15267 under the terms of a permission notice identical to this 14009 under the terms of a permission notice identical to this
15268 one. 14010 one.
15269 14011
15270 Permission is granted to copy and distribute 14012 Permission is granted to copy and distribute
15271 translations of this manual into another language, 14013 translations of this manual into another language,
15272 under the above conditions for modified versions, 14014 under the above conditions for modified versions,
15273 except that this permission notice may be stated in a 14015 except that this permission notice may be stated in a
15274 translation approved by the Free Software Foundation. 14016 translation approved by the Free Software Foundation.
15275 @end example 14017 @end example
15276 14018
15277
15278 @node Include Files, Headings, Sample Permissions, Top 14019 @node Include Files, Headings, Sample Permissions, Top
14020 @comment node-name, next, previous, up
15279 @appendix Include Files 14021 @appendix Include Files
15280 @cindex Include files 14022 @cindex Include files
15281 14023
15282 When @TeX{} or an Info formatting command sees an @code{@@include} 14024 When @TeX{} or an Info formatting command sees an @code{@@include}
15283 command in a Texinfo file, it processes the contents of the file named 14025 command in a Texinfo file, it processes the contents of the file named
15284 by the command and incorporates them into the DVI or Info file being 14026 by the command and incorporates them into the @sc{dvi} or Info file being
15285 created. Index entries from the included file are incorporated into 14027 created. Index entries from the included file are incorporated into
15286 the indices of the output file.@refill 14028 the indices of the output file.@refill
15287 14029
15288 Include files let you keep a single large document as a collection of 14030 Include files let you keep a single large document as a collection of
15289 conveniently small parts.@refill 14031 conveniently small parts.@refill
15298 * Include Files Evolution:: How use of the @code{@@include} command 14040 * Include Files Evolution:: How use of the @code{@@include} command
15299 has changed over time. 14041 has changed over time.
15300 @end menu 14042 @end menu
15301 14043
15302 @node Using Include Files, texinfo-multiple-files-update, Include Files, Include Files 14044 @node Using Include Files, texinfo-multiple-files-update, Include Files, Include Files
15303 @appendixsec How to Use Include Files 14045 @appendixsec How to Use Include Files
15304 @findex include 14046 @findex include
15305 14047
15306 To include another file within a Texinfo file, write the 14048 To include another file within a Texinfo file, write the
15307 @code{@@include} command at the beginning of a line and follow it on 14049 @code{@@include} command at the beginning of a line and follow it on
15308 the same line by the name of a file to be included. For 14050 the same line by the name of a file to be included. For
15471 @end group 14213 @end group
15472 14214
15473 @group 14215 @group
15474 @@page 14216 @@page
15475 @@vskip 0pt plus 1filll 14217 @@vskip 0pt plus 1filll
15476 Copyright @@copyright@{@} 1997 Free Software Foundation, Inc. 14218 Copyright @@copyright@{@} 1990 Free Software Foundation, Inc.
15477 @@end titlepage 14219 @@end titlepage
15478 @end group 14220 @end group
15479 14221
15480 @group 14222 @group
15481 @@ifinfo 14223 @@ifinfo
15482 @@node Top, First, , (dir) 14224 @@node Top, First, (dir), (dir)
15483 @@top Master Menu 14225 @@top Master Menu
15484 @@end ifinfo 14226 @@end ifinfo
15485 @end group 14227 @end group
15486 14228
15487 @group 14229 @group
15538 memory for the small Info file that contained the particular 14280 memory for the small Info file that contained the particular
15539 information sought. This way, Emacs could avoid wasting memory.@refill 14281 information sought. This way, Emacs could avoid wasting memory.@refill
15540 14282
15541 References from one file to another were made by referring to the file 14283 References from one file to another were made by referring to the file
15542 name as well as the node name. (@xref{Other Info Files, , Referring to 14284 name as well as the node name. (@xref{Other Info Files, , Referring to
15543 Other Info Files}. Also, see @ref{Four and Five Arguments, , 14285 Other Info Files}. Also, see @ref{Four and Five Arguments, ,
15544 @code{@@xref} with Four and Five Arguments}.)@refill 14286 @code{@@xref} with Four and Five Arguments}.)@refill
15545 14287
15546 Include files were designed primarily as a way to create a single, 14288 Include files were designed primarily as a way to create a single,
15547 large printed manual out of several smaller Info files. In a printed 14289 large printed manual out of several smaller Info files. In a printed
15548 manual, all the references were within the same document, so @TeX{} 14290 manual, all the references were within the same document, so @TeX{}
15564 with the @code{@@include} command so as to create a single large Info 14306 with the @code{@@include} command so as to create a single large Info
15565 file that is split into smaller files if necessary. This means that 14307 file that is split into smaller files if necessary. This means that
15566 you can write menus and cross references without naming the different 14308 you can write menus and cross references without naming the different
15567 Texinfo files.@refill 14309 Texinfo files.@refill
15568 14310
15569
15570 @node Headings, Catching Mistakes, Include Files, Top 14311 @node Headings, Catching Mistakes, Include Files, Top
14312 @comment node-name, next, previous, up
15571 @appendix Page Headings 14313 @appendix Page Headings
15572 @cindex Headings 14314 @cindex Headings
15573 @cindex Footings 14315 @cindex Footings
15574 @cindex Page numbering 14316 @cindex Page numbering
15575 @cindex Page headings 14317 @cindex Page headings
15590 @node Headings Introduced, Heading Format, Headings, Headings 14332 @node Headings Introduced, Heading Format, Headings, Headings
15591 @ifinfo 14333 @ifinfo
15592 @heading Headings Introduced 14334 @heading Headings Introduced
15593 @end ifinfo 14335 @end ifinfo
15594 14336
15595 Texinfo provides standard page heading formats for manuals that are 14337 Texinfo provides standard page heading formats for manuals that are printed
15596 printed on one side of each sheet of paper and for manuals that are 14338 on one side of each sheet of paper and for manuals that are printed on
15597 printed on both sides of the paper. Typically, you will use these 14339 both sides of the paper. Usually, you will use one or other of these
15598 formats, but you can specify your own format if you wish.@refill 14340 formats, but you can specify your own format, if you wish.@refill
15599 14341
15600 In addition, you can specify whether chapters should begin on a new 14342 In addition, you can specify whether chapters should begin on a new
15601 page, or merely continue the same page as the previous chapter; and if 14343 page, or merely continue the same page as the previous chapter; and if
15602 chapters begin on new pages, you can specify whether they must be 14344 chapters begin on new pages, you can specify whether they must be
15603 odd-numbered pages.@refill 14345 odd-numbered pages.@refill
15687 14429
15688 @end group 14430 @end group
15689 @end example 14431 @end example
15690 14432
15691 @noindent 14433 @noindent
15692 The chapter name is preceded by the word ``Chapter'', the chapter number 14434 The chapter name is preceded by the word @samp{Chapter}, the chapter
15693 and a colon. This makes it easier to keep track of where you are in the 14435 number and a colon. This makes it easier to keep track of where you
15694 manual.@refill 14436 are in the manual.@refill
15695 14437
15696 @node Heading Choice, Custom Headings, Heading Format, Headings 14438 @node Heading Choice, Custom Headings, Heading Format, Headings
15697 @comment node-name, next, previous, up 14439 @comment node-name, next, previous, up
15698 @appendixsec Specifying the Type of Heading 14440 @appendixsec Specifying the Type of Heading
15699 14441
15707 14449
15708 @need 1000 14450 @need 1000
15709 There are four possibilities:@refill 14451 There are four possibilities:@refill
15710 14452
15711 @table @asis 14453 @table @asis
15712 @item No @code{@@setchapternewpage} command 14454 @item No @code{@@setchapternewpage} command
15713 Cause @TeX{} to specify the single-sided heading format, with chapters 14455 Cause @TeX{} to specify the single-sided heading format, with chapters
15714 on new pages. This is the same as @code{@@setchapternewpage on}.@refill 14456 on new pages. This is the same as @code{@@setchapternewpage on}.@refill
15715 14457
15716 @item @code{@@setchapternewpage on} 14458 @item @code{@@setchapternewpage on}
15717 Specify the single-sided heading format, with chapters on new pages.@refill 14459 Specify the single-sided heading format, with chapters on new pages.@refill
15718 14460
15719 @item @code{@@setchapternewpage off} 14461 @item @code{@@setchapternewpage off}
15720 Cause @TeX{} to start a new chapter on the same page as the last page of 14462 Cause @TeX{} to start a new chapter on the same page as the last page of
15721 the preceding chapter, after skipping some vertical whitespace. Also 14463 the preceding chapter, after skipping some vertical whitespace. Also
15722 cause @TeX{} to typeset for single-sided printing. (You can override 14464 cause @TeX{} to typeset for single-sided printing. (You can override
15723 the headers format with the @code{@@headings double} command; see 14465 the headers format with the @code{@@headings double} command; see
15724 @ref{headings on off, , The @code{@@headings} Command}.)@refill 14466 @ref{headings on off, , The @code{@@headings} Command}.)@refill
15725 14467
15726 @item @code{@@setchapternewpage odd} 14468 @item @code{@@setchapternewpage odd}
15727 Specify the double-sided heading format, with chapters on new pages.@refill 14469 Specify the double-sided heading format, with chapters on new pages.@refill
15728 @end table 14470 @end table
15729 14471
15730 @noindent 14472 @noindent
15731 Texinfo lacks an @code{@@setchapternewpage even} command.@refill 14473 Texinfo lacks an @code{@@setchapternewpage even} command.@refill
15733 @node Custom Headings, , Heading Choice, Headings 14475 @node Custom Headings, , Heading Choice, Headings
15734 @comment node-name, next, previous, up 14476 @comment node-name, next, previous, up
15735 @appendixsec How to Make Your Own Headings 14477 @appendixsec How to Make Your Own Headings
15736 14478
15737 You can use the standard headings provided with Texinfo or specify 14479 You can use the standard headings provided with Texinfo or specify
15738 your own. By default, Texinfo has no footers, so if you specify them, 14480 your own.@refill
15739 the available page size for the main text will be slightly reduced.
15740 14481
15741 @c Following paragraph is verbose to prevent overfull hboxes. 14482 @c Following paragraph is verbose to prevent overfull hboxes.
15742 Texinfo provides six commands for specifying headings and 14483 Texinfo provides six commands for specifying headings and
15743 footings. The @code{@@everyheading} command and 14484 footings. The @code{@@everyheading} command and
15744 @code{@@everyfooting} command generate page headers and footers 14485 @code{@@everyfooting} command generate page headers and footers
15771 @end group 14512 @end group
15772 @end example 14513 @end example
15773 14514
15774 @noindent 14515 @noindent
15775 You need to divide the left part from the central part and the central 14516 You need to divide the left part from the central part and the central
15776 part from the right part by inserting @samp{@@|} between parts. 14517 part from the right had part by inserting @samp{@@|} between parts.
15777 Otherwise, the specification command will not be able to tell where 14518 Otherwise, the specification command will not be able to tell where
15778 the text for one part ends and the next part begins.@refill 14519 the text for one part ends and the next part begins.@refill
15779 14520
15780 Each part can contain text or @@-commands. The text 14521 Each part can contain text or @@-commands. The text
15781 is printed as if the part were within an ordinary paragraph in the 14522 is printed as if the part were within an ordinary paragraph in the
15807 @itemx @@evenfooting @var{left} @@| @var{center} @@| @var{right} 14548 @itemx @@evenfooting @var{left} @@| @var{center} @@| @var{right}
15808 @itemx @@oddfooting @var{left} @@| @var{center} @@| @var{right} 14549 @itemx @@oddfooting @var{left} @@| @var{center} @@| @var{right}
15809 14550
15810 The `even' and `odd' commands specify the format for even-numbered 14551 The `even' and `odd' commands specify the format for even-numbered
15811 pages and odd-numbered pages. These commands are for books and 14552 pages and odd-numbered pages. These commands are for books and
15812 manuals that are printed on both sides of each sheet of paper. 14553 manuals that are printed on both sides of each sheet of paper.@refill
15813 @end table 14554 @end table
15814 14555
15815 Use the @samp{@@this@dots{}} series of @@-commands to 14556 Use the @samp{@@this@dots{}} series of @@-commands to
15816 provide the names of chapters 14557 provide the names of chapters
15817 and sections and the page number. You can use the 14558 and sections and the page number. You can use the
15824 14565
15825 @table @code 14566 @table @code
15826 @findex thispage 14567 @findex thispage
15827 @item @@thispage 14568 @item @@thispage
15828 Expands to the current page number.@refill 14569 Expands to the current page number.@refill
15829 @c !!! Karl Berry says that `thissection' can fail on page breaks. 14570 @c !!! Karl Berry says that `thissection' fails on page breaks.
15830 @ignore 14571 @ignore
15831 @item @@thissection 14572 @item @@thissection
15832 Expands to the name of the current section.@refill 14573 Expands to the name of the current section.@refill
15833 @end ignore 14574 @end ignore
15834 14575
15840 @item @@thischapter 14581 @item @@thischapter
15841 Expands to the number and name of the current 14582 Expands to the number and name of the current
15842 chapter, in the format `Chapter 1: Title'.@refill 14583 chapter, in the format `Chapter 1: Title'.@refill
15843 14584
15844 @findex thistitle 14585 @findex thistitle
15845 @item @@thistitle 14586 @item @@thistitle
15846 Expands to the name of the document, as specified by the 14587 Expands to the name of the document, as specified by the
15847 @code{@@settitle} command.@refill 14588 @code{@@settitle} command.@refill
15848 14589
15849 @findex thisfile 14590 @findex thisfile
15850 @item @@thisfile 14591 @item @@thisfile
15851 For @code{@@include} files only: expands to the name of the current 14592 For @code{@@include} files only: expands to the name of the current
15852 @code{@@include} file. If the current Texinfo source file is not an 14593 @code{@@include} file. If the current Texinfo source file is not an
15853 @code{@@include} file, this command has no effect. This command does 14594 @code{@@include} file, this command has no effect. This command does
15854 @emph{not} provide the name of the current Texinfo source file unless 14595 @emph{not} provide the name of the current Texinfo source file unless
15855 it is an @code{@@include} file. (@xref{Include Files}, for more 14596 it is an @code{@@include} file. (@xref{Include Files}, for more
15876 @end example 14617 @end example
15877 14618
15878 Beware of overlong titles: they may overlap another part of the 14619 Beware of overlong titles: they may overlap another part of the
15879 header or footer and blot it out.@refill 14620 header or footer and blot it out.@refill
15880 14621
15881
15882 @node Catching Mistakes, Refilling Paragraphs, Headings, Top 14622 @node Catching Mistakes, Refilling Paragraphs, Headings, Top
14623 @comment node-name, next, previous, up
15883 @appendix Formatting Mistakes 14624 @appendix Formatting Mistakes
15884 @cindex Structure, catching mistakes in 14625 @cindex Structure, catching mistakes in
15885 @cindex Nodes, catching mistakes 14626 @cindex Nodes, catching mistakes
15886 @cindex Catching mistakes 14627 @cindex Catching mistakes
15887 @cindex Correcting mistakes 14628 @cindex Correcting mistakes
15904 For finding problems with the structure of nodes and chapters, you can use 14645 For finding problems with the structure of nodes and chapters, you can use
15905 @kbd{C-c C-s} (@code{texinfo-show-structure}) and the related @code{occur} 14646 @kbd{C-c C-s} (@code{texinfo-show-structure}) and the related @code{occur}
15906 command and you can use the @kbd{M-x Info-validate} command.@refill 14647 command and you can use the @kbd{M-x Info-validate} command.@refill
15907 14648
15908 @menu 14649 @menu
15909 * makeinfo Preferred:: @code{makeinfo} finds errors. 14650 * makeinfo preferred:: @code{makeinfo} finds errors.
15910 * Debugging with Info:: How to catch errors with Info formatting. 14651 * Debugging with Info:: How to catch errors with Info formatting.
15911 * Debugging with TeX:: How to catch errors with @TeX{} formatting. 14652 * Debugging with TeX:: How to catch errors with @TeX{} formatting.
15912 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}. 14653 * Using texinfo-show-structure:: How to use @code{texinfo-show-structure}.
15913 * Using occur:: How to list all lines containing a pattern. 14654 * Using occur:: How to list all lines containing a pattern.
15914 * Running Info-Validate:: How to find badly referenced nodes. 14655 * Running Info-Validate:: How to find badly referenced nodes.
15915 @end menu 14656 @end menu
15916 14657
15917 @node makeinfo Preferred, Debugging with Info, Catching Mistakes, Catching Mistakes 14658 @node makeinfo preferred, Debugging with Info, Catching Mistakes, Catching Mistakes
15918 @ifinfo 14659 @ifinfo
15919 @heading @code{makeinfo} Find Errors 14660 @heading @code{makeinfo} Find Errors
15920 @end ifinfo 14661 @end ifinfo
15921 14662
15922 The @code{makeinfo} program does an excellent job of catching errors 14663 The @code{makeinfo} program does an excellent job of catching errors
15931 @code{makeinfo-buffer}) to format your file and check for other 14672 @code{makeinfo-buffer}) to format your file and check for other
15932 errors. This is the best way to work with Texinfo. But if you 14673 errors. This is the best way to work with Texinfo. But if you
15933 cannot use @code{makeinfo}, or your problem is very puzzling, then you 14674 cannot use @code{makeinfo}, or your problem is very puzzling, then you
15934 may want to use the tools described in this appendix.@refill 14675 may want to use the tools described in this appendix.@refill
15935 14676
15936 @node Debugging with Info, Debugging with TeX, makeinfo Preferred, Catching Mistakes 14677 @node Debugging with Info, Debugging with TeX, makeinfo preferred, Catching Mistakes
15937 @comment node-name, next, previous, up 14678 @comment node-name, next, previous, up
15938 @appendixsec Catching Errors with Info Formatting 14679 @appendixsec Catching Errors with Info Formatting
15939 @cindex Catching errors with Info formatting 14680 @cindex Catching errors with Info formatting
15940 @cindex Debugging with Info formatting 14681 @cindex Debugging with Info formatting
15941 14682
15971 @example 14712 @example
15972 @group 14713 @group
15973 ---------- Buffer: *Info Region* ---------- 14714 ---------- Buffer: *Info Region* ----------
15974 * Menu: 14715 * Menu:
15975 14716
15976 * Using texinfo-show-structure:: How to use 14717 * Using texinfo-show-structure:: How to use
15977 `texinfo-show-structure' 14718 `texinfo-show-structure'
15978 to catch mistakes. 14719 to catch mistakes.
15979 * Running Info-Validate:: How to check for 14720 * Running Info-Validate:: How to check for
15980 unreferenced nodes. 14721 unreferenced nodes.
15981 @@end menus 14722 @@end menus
15982 @point{} 14723 @point{}
15983 ---------- Buffer: *Info Region* ---------- 14724 ---------- Buffer: *Info Region* ----------
15984 @end group 14725 @end group
16049 14790
16050 @c node Using the Emacs Lisp Debugger 14791 @c node Using the Emacs Lisp Debugger
16051 @c appendixsubsec Using the Emacs Lisp Debugger 14792 @c appendixsubsec Using the Emacs Lisp Debugger
16052 @c index Using the Emacs Lisp debugger 14793 @c index Using the Emacs Lisp debugger
16053 @c index Emacs Lisp debugger 14794 @c index Emacs Lisp debugger
16054 @c index Debugger, using the Emacs Lisp 14795 @c index Debugger, using the Emacs Lisp
16055 14796
16056 If an error is especially elusive, you can turn on the Emacs Lisp 14797 If an error is especially elusive, you can turn on the Emacs Lisp
16057 debugger and look at the backtrace; this tells you where in the 14798 debugger and look at the backtrace; this tells you where in the
16058 @code{texinfo-format-region} function the problem occurred. You can 14799 @code{texinfo-format-region} function the problem occurred. You can
16059 turn on the debugger with the command:@refill 14800 turn on the debugger with the command:@refill
16152 @TeX{} produced the following output, after which it stopped:@refill 14893 @TeX{} produced the following output, after which it stopped:@refill
16153 14894
16154 @example 14895 @example
16155 ---------- Buffer: *tex-shell* ---------- 14896 ---------- Buffer: *tex-shell* ----------
16156 Runaway argument? 14897 Runaway argument?
16157 @{sorting indices, for more information about sorting 14898 @{sorting indices, for more information about sorting
16158 indices.) @@refill @@ETC. 14899 indices.) @@refill @@ETC.
16159 ! Paragraph ended before @@xref was complete. 14900 ! Paragraph ended before @@xref was complete.
16160 <to be read again> 14901 <to be read again>
16161 @@par 14902 @@par
16162 l.27 14903 l.27
16163 14904
16164 ? 14905 ?
16165 ---------- Buffer: *tex-shell* ---------- 14906 ---------- Buffer: *tex-shell* ----------
16166 @end example 14907 @end example
16167 14908
16168 In this case, @TeX{} produced an accurate and 14909 In this case, @TeX{} produced an accurate and
16169 understandable error message: 14910 understandable error message:
16170 14911
16171 @example 14912 @example
16172 Paragraph ended before @@xref was complete. 14913 Paragraph ended before @@xref was complete.
16173 @end example 14914 @end example
16174 14915
16187 @enumerate 14928 @enumerate
16188 @item 14929 @item
16189 You can tell @TeX{} to continue running and ignore just this error by 14930 You can tell @TeX{} to continue running and ignore just this error by
16190 typing @key{RET} at the @samp{?} prompt.@refill 14931 typing @key{RET} at the @samp{?} prompt.@refill
16191 14932
16192 @item 14933 @item
16193 You can tell @TeX{} to continue running and to ignore all errors as best 14934 You can tell @TeX{} to continue running and to ignore all errors as best
16194 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill 14935 it can by typing @kbd{r @key{RET}} at the @samp{?} prompt.@refill
16195 14936
16196 This is often the best thing to do. However, beware: the one error 14937 This is often the best thing to do. However, beware: the one error
16197 may produce a cascade of additional error messages as its consequences 14938 may produce a cascade of additional error messages as its consequences
16198 are felt through the rest of the file. To stop @TeX{} when it is 14939 are felt through the rest of the file. (To stop @TeX{} when it is
16199 producing such an avalanche of error messages, type @kbd{C-c} (or 14940 producing such an avalanche of error messages, type @kbd{C-d} (or
16200 @kbd{C-c C-c}, if you are running a shell inside Emacs). 14941 @kbd{C-c C-d}, if you are running a shell inside Emacs.))@refill
16201 14942
16202 @item 14943 @item
16203 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}} 14944 You can tell @TeX{} to stop this run by typing @kbd{x @key{RET}}
16204 at the @samp{?} prompt.@refill 14945 at the @samp{?} prompt.@refill
16205 @end enumerate 14946 @end enumerate
16206 14947
16207 Please note that if you are running @TeX{} inside Emacs, you need to 14948 Please note that if you are running @TeX{} inside Emacs, you need to
16208 switch to the shell buffer and line at which @TeX{} offers the @samp{?} 14949 switch to the shell buffer and line at which @TeX{} offers the @samp{?}
16210 14951
16211 Sometimes @TeX{} will format a file without producing error messages even 14952 Sometimes @TeX{} will format a file without producing error messages even
16212 though there is a problem. This usually occurs if a command is not ended 14953 though there is a problem. This usually occurs if a command is not ended
16213 but @TeX{} is able to continue processing anyhow. For example, if you fail 14954 but @TeX{} is able to continue processing anyhow. For example, if you fail
16214 to end an itemized list with the @code{@@end itemize} command, @TeX{} will 14955 to end an itemized list with the @code{@@end itemize} command, @TeX{} will
16215 write a DVI file that you can print out. The only error message that 14956 write a @sc{dvi} file that you can print out. The only error message that
16216 @TeX{} will give you is the somewhat mysterious comment that@refill 14957 @TeX{} will give you is the somewhat mysterious comment that@refill
16217 14958
16218 @example 14959 @example
16219 (@@end occurred inside a group at level 1) 14960 (@@end occurred inside a group at level 1)
16220 @end example 14961 @end example
16221 14962
16222 @noindent 14963 @noindent
16223 However, if you print the DVI file, you will find that the text 14964 However, if you print the @sc{dvi} file, you will find that the text
16224 of the file that follows the itemized list is entirely indented as if 14965 of the file that follows the itemized list is entirely indented as if
16225 it were part of the last item in the itemized list. The error message 14966 it were part of the last item in the itemized list. The error message
16226 is the way @TeX{} says that it expected to find an @code{@@end} 14967 is the way @TeX{} says that it expected to find an @code{@@end}
16227 command somewhere in the file; but that it could not determine where 14968 command somewhere in the file; but that it could not determine where
16228 it was needed.@refill 14969 it was needed.@refill
16236 @TeX{} may stop in the 14977 @TeX{} may stop in the
16237 beginning of its run and display output that looks like the following. 14978 beginning of its run and display output that looks like the following.
16238 The @samp{*} indicates that @TeX{} is waiting for input.@refill 14979 The @samp{*} indicates that @TeX{} is waiting for input.@refill
16239 14980
16240 @example 14981 @example
16241 This is TeX, Version 3.14159 (Web2c 7.0) 14982 This is TeX, Version 2.0 for Berkeley UNIX
14983 (preloaded format=plain-cm 87.10.25)
16242 (test.texinfo [1]) 14984 (test.texinfo [1])
16243 * 14985 *
16244 @end example 14986 @end example
16245 14987
16246 @noindent 14988 @noindent
16262 15004
16263 In GNU Emacs, in Texinfo mode, the @code{texinfo-show-structure} 15005 In GNU Emacs, in Texinfo mode, the @code{texinfo-show-structure}
16264 command lists all the lines that begin with the @@-commands that 15006 command lists all the lines that begin with the @@-commands that
16265 specify the structure: @code{@@chapter}, @code{@@section}, 15007 specify the structure: @code{@@chapter}, @code{@@section},
16266 @code{@@appendix}, and so on. With an argument (@w{@kbd{C-u}} 15008 @code{@@appendix}, and so on. With an argument (@w{@kbd{C-u}}
16267 as prefix argument, if interactive), 15009 as prefix argument, if interactive),
16268 the command also shows the @code{@@node} lines. The 15010 the command also shows the @code{@@node} lines. The
16269 @code{texinfo-show-structure} command is bound to @kbd{C-c C-s} in 15011 @code{texinfo-show-structure} command is bound to @kbd{C-c C-s} in
16270 Texinfo mode, by default.@refill 15012 Texinfo mode, by default.@refill
16271 15013
16272 The lines are displayed in a buffer called the @samp{*Occur*} buffer, 15014 The lines are displayed in a buffer called the @samp{*Occur*} buffer,
16274 produced by running @code{texinfo-show-structure} on this manual:@refill 15016 produced by running @code{texinfo-show-structure} on this manual:@refill
16275 15017
16276 @example 15018 @example
16277 @group 15019 @group
16278 Lines matching "^@@\\(chapter \\|sect\\|subs\\|subh\\| 15020 Lines matching "^@@\\(chapter \\|sect\\|subs\\|subh\\|
16279 unnum\\|major\\|chapheading \\|heading \\|appendix\\)" 15021 unnum\\|major\\|chapheading \\|heading \\|appendix\\)"
16280 in buffer texinfo.texi. 15022 in buffer texinfo.texi.
16281 @dots{} 15023 @dots{}
16282 4177:@@chapter Nodes 15024 4177:@@chapter Nodes
16283 4198: @@heading Two Paths 15025 4198: @@heading Two Paths
16284 4231: @@section Node and Menu Illustration 15026 4231: @@section Node and Menu Illustration
16323 or left out a section, you can correct the mistake.@refill 15065 or left out a section, you can correct the mistake.@refill
16324 15066
16325 @node Using occur, Running Info-Validate, Using texinfo-show-structure, Catching Mistakes 15067 @node Using occur, Running Info-Validate, Using texinfo-show-structure, Catching Mistakes
16326 @comment node-name, next, previous, up 15068 @comment node-name, next, previous, up
16327 @appendixsec Using @code{occur} 15069 @appendixsec Using @code{occur}
16328 @cindex Occurrences, listing with @code{@@occur} 15070 @cindex Occurrences, listing with @code{@@occur}
16329 @findex occur 15071 @findex occur
16330 15072
16331 Sometimes the @code{texinfo-show-structure} command produces too much 15073 Sometimes the @code{texinfo-show-structure} command produces too much
16332 information. Perhaps you want to remind yourself of the overall structure 15074 information. Perhaps you want to remind yourself of the overall structure
16333 of a Texinfo file, and are overwhelmed by the detailed list produced by 15075 of a Texinfo file, and are overwhelmed by the detailed list produced by
16336 15078
16337 @example 15079 @example
16338 @kbd{M-x occur} 15080 @kbd{M-x occur}
16339 @end example 15081 @end example
16340 15082
16341 @noindent 15083 @noindent
16342 and then, when prompted, type a @dfn{regexp}, a regular expression for 15084 and then, when prompted, type a @dfn{regexp}, a regular expression for
16343 the pattern you want to match. (@xref{Regexps, , Regular Expressions, 15085 the pattern you want to match. (@xref{Regexps, , Regular Expressions,
16344 emacs, The GNU Emacs Manual}.) The @code{occur} command works from 15086 emacs, The GNU Emacs Manual}.) The @code{occur} command works from
16345 the current location of the cursor in the buffer to the end of the 15087 the current location of the cursor in the buffer to the end of the
16346 buffer. If you want to run @code{occur} on the whole buffer, place 15088 buffer. If you want to run @code{occur} on the whole buffer, place
16368 @findex Info-validate 15110 @findex Info-validate
16369 @cindex Nodes, checking for badly referenced 15111 @cindex Nodes, checking for badly referenced
16370 @cindex Checking for badly referenced nodes 15112 @cindex Checking for badly referenced nodes
16371 @cindex Looking for badly referenced nodes 15113 @cindex Looking for badly referenced nodes
16372 @cindex Finding badly referenced nodes 15114 @cindex Finding badly referenced nodes
16373 @cindex Badly referenced nodes 15115 @cindex Badly referenced nodes
16374 15116
16375 You can use the @code{Info-validate} command to check whether any of 15117 You can use the @code{Info-validate} command to check whether any of
16376 the `Next', `Previous', `Up' or other node pointers fail to point to a 15118 the `Next', `Previous', `Up' or other node pointers fail to point to a
16377 node. This command checks that every node pointer points to an 15119 node. This command checks that every node pointer points to an
16378 existing node. The @code{Info-validate} command works only on Info 15120 existing node. The @code{Info-validate} command works only on Info
16497 @example 15239 @example
16498 M-x Info-tagify 15240 M-x Info-tagify
16499 @end example 15241 @end example
16500 15242
16501 @noindent 15243 @noindent
16502 (Note the upper case @samp{I} in @code{Info-tagify}.) This creates an 15244 (Note the upper case @key{I} in @code{Info-tagify}.) This creates an
16503 Info file with a tag table that you can validate.@refill 15245 Info file with a tag table that you can validate.@refill
16504 15246
16505 The third step is to validate the Info file:@refill 15247 The third step is to validate the Info file:@refill
16506 15248
16507 @example 15249 @example
16508 M-x Info-validate 15250 M-x Info-validate
16509 @end example 15251 @end example
16510 15252
16511 @noindent 15253 @noindent
16512 (Note the upper case @samp{I} in @code{Info-validate}.) 15254 (Note the upper case @key{I} in @code{Info-validate}.)
16513 In brief, the steps are:@refill 15255 In brief, the steps are:@refill
16514 15256
16515 @example 15257 @example
16516 @group 15258 @group
16517 C-u M-x texinfo-format-buffer 15259 C-u M-x texinfo-format-buffer
16574 by appending @samp{-} and a number to the original file name.@refill 15316 by appending @samp{-} and a number to the original file name.@refill
16575 15317
16576 The primary file still functions as an Info file, but it contains just 15318 The primary file still functions as an Info file, but it contains just
16577 the tag table and a directory of subfiles.@refill 15319 the tag table and a directory of subfiles.@refill
16578 15320
16579
16580 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top 15321 @node Refilling Paragraphs, Command Syntax, Catching Mistakes, Top
15322 @comment node-name, next, previous, up
16581 @appendix Refilling Paragraphs 15323 @appendix Refilling Paragraphs
16582 @cindex Refilling paragraphs 15324 @cindex Refilling paragraphs
16583 @cindex Filling paragraphs 15325 @cindex Filling paragraphs
16584 @findex refill 15326 @findex refill
16585 15327
16586 The @code{@@refill} command refills and, optionally, indents the first 15328 The @code{@@refill} command refills and, optionally, indents the first
16587 line of a paragraph.@footnote{Perhaps the command should have been 15329 line of a paragraph.@footnote{Perhaps the command should have been
16588 called the @code{@@refillandindent} command, but @code{@@refill} is 15330 called the @code{@@refillandindent} command, but @code{@@refill} is
16613 commands now automatically append @code{@@refill} to the end of each 15355 commands now automatically append @code{@@refill} to the end of each
16614 paragraph that should be filled. They do not append @code{@@refill} to 15356 paragraph that should be filled. They do not append @code{@@refill} to
16615 the ends of paragraphs that contain @code{@@*} or @w{@code{@@w@{ @dots{}@}}} 15357 the ends of paragraphs that contain @code{@@*} or @w{@code{@@w@{ @dots{}@}}}
16616 and therefore do not refill or indent them.@refill 15358 and therefore do not refill or indent them.@refill
16617 15359
16618
16619 @node Command Syntax, Obtaining TeX, Refilling Paragraphs, Top 15360 @node Command Syntax, Obtaining TeX, Refilling Paragraphs, Top
16620 @comment node-name, next, previous, up 15361 @comment node-name, next, previous, up
16621 @appendix @@-Command Syntax 15362 @appendix @@-Command Syntax
16622 @cindex @@-command syntax 15363 @cindex @@-command syntax
16623 15364
16624 The character @samp{@@} is used to start special Texinfo commands. 15365 The character @samp{@@} is used to start special Texinfo commands.
16625 (It has the same meaning that @samp{\} has in plain @TeX{}.) Texinfo 15366 (It has the same meaning that @samp{\} has in Plain@TeX{}.) Texinfo
16626 has four types of @@-command:@refill 15367 has four types of @@-command:@refill
16627 15368
16628 @table @asis 15369 @table @asis
16629 @item 1. Non-alphabetic commands. 15370 @item 1. Non-alphabetic commands.
16630 These commands consist of an @@ followed by a punctuation mark or other 15371 These commands consist of an @@ followed by a punctuation mark or other
16631 character that is not part of the alphabet. Non-alphabetic commands are 15372 character that is not part of the alphabet. Non-alphabetic commands
16632 almost always part of the text within a paragraph, and never take any 15373 are almost always part of the text within a paragraph, and never take
16633 argument. The two characters (@@ and the other one) are complete in 15374 any argument. The two characters (@@ and the other one) are complete
16634 themselves; none is followed by braces. The non-alphabetic commands 15375 in themselves; none is followed by braces. The non-alphabetic
16635 are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@kbd{SPACE}}, 15376 commands are: @code{@@.}, @code{@@:}, @code{@@*}, @code{@@@@},
16636 @code{@@@kbd{TAB}}, @code{@@@kbd{NL}}, @code{@@@@}, @code{@@@{}, and 15377 @code{@@@{}, and @code{@@@}}.@refill
16637 @code{@@@}}.@refill
16638 15378
16639 @item 2. Alphabetic commands that do not require arguments. 15379 @item 2. Alphabetic commands that do not require arguments.
16640 These commands start with @@ followed by a word followed by left- and 15380 These commands start with @@ followed by a word followed by left- and
16641 right-hand braces. These commands insert special symbols in the 15381 right-hand braces. These commands insert special symbols in the
16642 document; they do not require arguments. For example, 15382 document; they do not require arguments. For example,
16677 or other punctuation character. @code{@@refill} takes no argument and 15417 or other punctuation character. @code{@@refill} takes no argument and
16678 does @emph{not} require braces. @code{@@refill} never confuses the 15418 does @emph{not} require braces. @code{@@refill} never confuses the
16679 Emacs paragraph commands because it cannot appear at the beginning of 15419 Emacs paragraph commands because it cannot appear at the beginning of
16680 a line.@refill 15420 a line.@refill
16681 15421
16682 15422 @node Obtaining TeX, New Features, Command Syntax, Top
16683 @node Obtaining TeX, Command and Variable Index, Command Syntax, Top
16684 @appendix How to Obtain @TeX{} 15423 @appendix How to Obtain @TeX{}
16685 @cindex Obtaining @TeX{} 15424 @cindex Obtaining @TeX{}
16686 @cindex @TeX{}, how to obtain 15425 @cindex @TeX{}, how to obtain
16687 15426
16688 @c !!! Here is information about obtaining TeX. Update it whenever. 15427 @c !!! Here is information about obtaining TeX. Update it whenever.
16689 @c !!! Also consider updating TeX.README on prep. 15428 @c Last updated by RJC on 1 March 1995, conversation with Mackay.
16690 @c Updated by RJC on 1 March 1995, conversation with MacKay.
16691 @c Updated by kb@cs.umb.edu on 29 July 1996.
16692 @c Updated by kb@cs.umb.edu on 25 April 1997.
16693 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix 15429 @TeX{} is freely redistributable. You can obtain @TeX{} for Unix
16694 systems via anonymous ftp or on physical media. The core material 15430 systems via anonymous ftp or on tape or CD-ROM. The core material
16695 consists of the Web2c @TeX{} distribution (@uref{http://www.tug.org/web2c}). 15431 consists of Karl Berry's @code{web2c} @TeX{} package.
16696 15432
16697 Instructions for retrieval by anonymous ftp and information on other 15433 On-line retrieval instructions are in @code{ftp.cs.umb.edu}
16698 available distributions: 15434 @t{[158.121.104.33]} in @file{pub/tex/unixtex.ftp}
16699 @example 15435
16700 @uref{ftp://ftp.tug.org/tex/unixtex.ftp} 15436 The Free Software Foundation provides a core distribution on its
16701 @uref{http://www.tug.org/unixtex.ftp} 15437 Source Code CD-ROM; the University of Washington maintains and
16702 @end example 15438 supports a tape distribution.
16703 15439
16704 The Free Software Foundation provides a core distribution on its Source
16705 Code CD-ROM suitable for printing Texinfo manuals; the University of
16706 Washington maintains and supports a tape distribution; the @TeX{} Users
16707 Group co-sponsors a complete CD-ROM @TeX{} distribution.
16708
16709 @itemize @bullet
16710
16711 @item
16712 For the FSF Source Code CD-ROM, please contact: 15440 For the FSF Source Code CD-ROM, please contact:
16713 15441
16714 @iftex 15442 @iftex
16715 @display 15443 @display
16716 @group 15444 @group
16717 Free Software Foundation, Inc. 15445 Free Software Foundation, Inc.
16718 59 Temple Place Suite 330 15446 59 Temple Place Suite 330
16719 Boston, MA @ @ 02111-1307 15447 Boston, MA @w{ } 02111-1307
16720 USA 15448 USA
15449
16721 Telephone: @w{@t{+}1--617--542--5942} 15450 Telephone: @w{@t{+}1--617--542--5942}
16722 Fax: (including Japan) @w{@t{+}1--617--542--2652} 15451 Fax: (including Japan) @w{@t{+}1--617--542--2652}
16723 Free Dial Fax (in Japan): 15452 Free Dial Fax (in Japan):
16724 @w{ } @w{ } @w{ } 0031--13--2473 (KDD) 15453 @w{ } @w{ } @w{ } 0031--13--2473 (KDD)
16725 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC) 15454 @w{ } @w{ } @w{ } 0066--3382--0158 (IDC)
16726 Electronic mail: @code{gnu@@prep.ai.mit.edu} 15455 Electronic mail: @code{gnu@@prep.ai.mit.edu}
16727 @end group 15456 @end group
16728 @end display 15457 @end display
16729 @end iftex 15458 @end iftex
16730 @ifinfo 15459 @ifinfo
16731 @display 15460 @display
16738 Telephone: @w{@t{+}1-617-542-5942} 15467 Telephone: @w{@t{+}1-617-542-5942}
16739 Fax: (including Japan) @w{@t{+}1-617-542-2652} 15468 Fax: (including Japan) @w{@t{+}1-617-542-2652}
16740 Free Dial Fax (in Japan): 15469 Free Dial Fax (in Japan):
16741 @w{ } @w{ } @w{ } 0031-13-2473 (KDD) 15470 @w{ } @w{ } @w{ } 0031-13-2473 (KDD)
16742 @w{ } @w{ } @w{ } 0066-3382-0158 (IDC) 15471 @w{ } @w{ } @w{ } 0066-3382-0158 (IDC)
16743 Electronic mail: @code{gnu@@prep.ai.mit.edu} 15472 Electronic mail: @code{gnu@@prep.ai.mit.edu}
16744 @end group 15473 @end group
16745 @end display 15474 @end display
16746 @end ifinfo 15475 @end ifinfo
16747 15476
16748 @item 15477 To order a full distribution from the University of Washington on either a
16749 To order a complete distribution on CD-ROM, please see 15478 1/4@dmn{inch} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge, send
16750 @uref{http://www.tug.org/tex-live.html}. (This distribution is also 15479 $210.00 to:
16751 available by FTP; see the URL's above.) 15480
16752 15481 @iftex
16753 @item
16754 To order a full distribution from the University of Washington on either
16755 a 1/4@dmn{in} 4-track QIC-24 cartridge or a 4@dmn{mm} DAT cartridge,
16756 send $210 to:
16757
16758 @display 15482 @display
16759 @group 15483 @group
16760 Pierre A. MacKay 15484 Pierre A. MacKay
16761 Denny Hall, Mail Stop DH-10 15485 Department of Classics
15486 DH-10, Denny Hall 218
16762 University of Washington 15487 University of Washington
16763 Seattle, WA @w{ } 98195 15488 Seattle, WA @w{ } 98195
16764 USA 15489 USA
15490
16765 Telephone: @t{+}1--206--543--2268 15491 Telephone: @t{+}1--206--543--2268
16766 Electronic mail: @code{mackay@@cs.washington.edu} 15492 Electronic mail: @code{mackay@@cs.washington.edu}
16767 @end group 15493 @end group
16768 @end display 15494 @end display
16769 15495 @end iftex
16770 @noindent Please make checks payable to the University of Washington. 15496 @ifinfo
16771 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank. Overseas 15497 @display
16772 sites: please add to the base cost, if desired, $20.00 for shipment via 15498 @group
16773 air parcel post, or $30.00 for shipment via courier. 15499 Pierre A. MacKay
16774 15500 Department of Classics
16775 @end itemize 15501 DH-10, Denny Hall 218
16776 15502 University of Washington
16777 Many other @TeX{} distributions are available; see 15503 Seattle, WA @w{ } 98195
16778 @uref{http://www.tug.org/}. 15504 USA
16779 15505
16780 15506 Telephone: @t{+}1-206-543-2268
16781 @c These are no longer ``new'', and the explanations 15507 Electronic mail: @code{mackay@@cs.washington.edu}
16782 @c are all given elsewhere anyway, I think. --karl, 25apr97. 15508 @end group
16783 @ignore (the entire appendix) 15509 @end display
16784 @c node New Features, Command and Variable Index, Obtaining TeX, Top 15510 @end ifinfo
16785 @c appendix Second Edition Features 15511
15512 Please make checks payable to the University of Washington.
15513 Checks must be in U.S.@: dollars, drawn on a U.S.@: bank.
15514
15515 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
15517 via air parcel post, or $30.00 for shipment via courier.
15518
15519 Please check with the above for current prices and formats.
15520
15521 @node New Features, Command and Variable Index, Obtaining TeX, Top
15522 @appendix Second Edition Features
16786 15523
16787 @tex 15524 @tex
16788 % Widen the space for the first column so three control-character 15525 % Widen the space for the first column so three control-character
16789 % strings fit in the first column. Switched back to default .8in 15526 % strings fit in the first column. Switched back to default .8in
16790 % value at end of chapter. 15527 % value at end of chapter.
16801 @menu 15538 @menu
16802 * New Texinfo Mode Commands:: The updating commands are especially useful. 15539 * New Texinfo Mode Commands:: The updating commands are especially useful.
16803 * New Commands:: Many newly described @@-commands. 15540 * New Commands:: Many newly described @@-commands.
16804 @end menu 15541 @end menu
16805 15542
16806 @c node New Texinfo Mode Commands, New Commands, Obtaining TeX, Obtaining TeX 15543 @node New Texinfo Mode Commands, New Commands, New Features, New Features
16807 @c appendixsec New Texinfo Mode Commands 15544 @appendixsec New Texinfo Mode Commands
16808 15545
16809 Texinfo mode provides commands and features especially designed for 15546 Texinfo mode provides commands and features especially designed for
16810 working with Texinfo files. More than 20 new commands have been 15547 working with Texinfo files. More than 20 new commands have been
16811 added, including commands for automatically creating and updating 15548 added, including commands for automatically creating and updating
16812 both nodes and menus. This is a tedious task when done by hand.@refill 15549 both nodes and menus. This is a tedious task when done by hand.@refill
16813 15550
16814 The keybindings are intended to be somewhat mnemonic.@refill 15551 The keybindings are intended to be somewhat mnemonic.@refill
16815 15552
16816 @c subheading Update all nodes and menus 15553 @subheading Update all nodes and menus
16817 15554
16818 The @code{texinfo-master-menu} command is the primary command: 15555 The @code{texinfo-master-menu} command is the primary command:
16819 15556
16820 @table @kbd 15557 @table @kbd
16821 @item C-c C-u m 15558 @item C-c C-u m
16824 With @kbd{C-u} as a prefix argument, 15561 With @kbd{C-u} as a prefix argument,
16825 first create or update all nodes 15562 first create or update all nodes
16826 and regular menus. 15563 and regular menus.
16827 @end table 15564 @end table
16828 15565
16829 @c subheading Update Pointers 15566 @subheading Update Pointers
16830 15567
16831 @noindent 15568 @noindent
16832 Create or update `Next', `Previous', and `Up' node pointers.@refill 15569 Create or update `Next', `Previous', and `Up' node pointers.@refill
16833 15570
16834 @noindent 15571 @noindent
16842 @item C-c C-u C-e 15579 @item C-c C-u C-e
16843 @itemx M-x texinfo-every-node-update 15580 @itemx M-x texinfo-every-node-update
16844 Update every node in the buffer. 15581 Update every node in the buffer.
16845 @end table 15582 @end table
16846 15583
16847 @c subheading Update Menus 15584 @subheading Update Menus
16848 15585
16849 @noindent 15586 @noindent
16850 Create or update menus.@refill 15587 Create or update menus.@refill
16851 15588
16852 @noindent 15589 @noindent
16862 Make or update all the menus in a buffer. 15599 Make or update all the menus in a buffer.
16863 With @kbd{C-u} as a prefix argument, 15600 With @kbd{C-u} as a prefix argument,
16864 first update all the nodes. 15601 first update all the nodes.
16865 @end table 15602 @end table
16866 15603
16867 @c subheading Insert Title as Description 15604 @subheading Insert Title as Description
16868 15605
16869 @noindent 15606 @noindent
16870 Insert a node's chapter or section title in the space for the 15607 Insert a node's chapter or section title in the space for the
16871 description in a menu entry line; position point so you can edit the 15608 description in a menu entry line; position point so you can edit the
16872 insert. (This command works somewhat differently than the other 15609 insert. (This command works somewhat differently than the other
16878 @table @kbd 15615 @table @kbd
16879 @item C-c C-c C-d 15616 @item C-c C-c C-d
16880 Insert title. 15617 Insert title.
16881 @end table 15618 @end table
16882 15619
16883 @c subheading Format for Info 15620 @subheading Format for Info
16884 15621
16885 @noindent 15622 @noindent
16886 Provide keybindings both for the Info formatting commands that are 15623 Provide keybindings both for the Info formatting commands that are
16887 written in Emacs Lisp and for @code{makeinfo} that is written in 15624 written in Emacs Lisp and for @code{makeinfo} that is written in
16888 C.@refill 15625 C.@refill
16916 15653
16917 @item C-c C-m C-k 15654 @item C-c C-m C-k
16918 Kill the @code{makeinfo} formatting job. 15655 Kill the @code{makeinfo} formatting job.
16919 @end table 15656 @end table
16920 15657
16921 @c subheading Typeset and Print 15658 @subheading Typeset and Print
16922 15659
16923 @noindent 15660 @noindent
16924 Typeset and print Texinfo documents from within Emacs.@refill 15661 Typeset and print Texinfo documents from within Emacs.@refill
16925 15662
16926 @ifinfo 15663 @ifinfo
16941 15678
16942 @item C-c C-t C-i 15679 @item C-c C-t C-i
16943 Run @code{texindex}. 15680 Run @code{texindex}.
16944 15681
16945 @item C-c C-t C-p 15682 @item C-c C-t C-p
16946 Print the DVI file. 15683 Print the @sc{dvi} file.
16947 15684
16948 @item C-c C-t C-q 15685 @item C-c C-t C-q
16949 Show the print queue. 15686 Show the print queue.
16950 15687
16951 @item C-c C-t C-d 15688 @item C-c C-t C-d
16959 15696
16960 @item C-c C-t C-l 15697 @item C-c C-t C-l
16961 Recenter the output buffer. 15698 Recenter the output buffer.
16962 @end table 15699 @end table
16963 15700
16964 @c subheading Other Updating Commands 15701 @subheading Other Updating Commands
16965 15702
16966 @noindent 15703 @noindent
16967 The ``other updating commands'' do not have standard keybindings because 15704 The ``other updating commands'' do not have standard keybindings because
16968 they are used less frequently.@refill 15705 they are used less frequently.@refill
16969 15706
16987 15724
16988 @item M-x texinfo-sequential-node-update 15725 @item M-x texinfo-sequential-node-update
16989 Insert node pointers in strict sequence. 15726 Insert node pointers in strict sequence.
16990 @end table 15727 @end table
16991 15728
16992 @c node New Commands, , New Texinfo Mode Commands, Obtaining TeX 15729 @node New Commands, , New Texinfo Mode Commands, New Features
16993 @c appendixsec New Texinfo @@-Commands 15730 @appendixsec New Texinfo @@-Commands
16994 15731
16995 The second edition of the Texinfo manual describes more than 50 15732 The second edition of the Texinfo manual describes more than 50
16996 commands that were not described in the first edition. A third or so 15733 commands that were not described in the first edition. A third or so
16997 of these commands existed in Texinfo but were not documented in the 15734 of these commands existed in Texinfo but were not documented in the
16998 manual; the others are new. Here is a listing, with brief 15735 manual; the others are new. Here is a listing, with brief
16999 descriptions of them:@refill 15736 descriptions of them:@refill
17000 15737
17001 @c subheading Indexing 15738 @subheading Indexing
17002 15739
17003 @noindent 15740 @noindent
17004 Create your own index, and merge indices.@refill 15741 Create your own index, and merge indices.@refill
17005 15742
17006 @noindent 15743 @noindent
17009 @table @kbd 15746 @table @kbd
17010 @item @@defindex @var{index-name} 15747 @item @@defindex @var{index-name}
17011 Define a new index and its indexing command. 15748 Define a new index and its indexing command.
17012 See also the @code{@@defcodeindex} command. 15749 See also the @code{@@defcodeindex} command.
17013 15750
17014 @c written verbosely to avoid overfull hbox 15751 @c written verbosely to avoid overful hbox
17015 @item @@synindex @var{from-index} @var{into-index} 15752 @item @@synindex @var{from-index} @var{into-index}
17016 Merge the @var{from-index} index into the @var{into-index} index. 15753 Merge the @var{from-index} index into the @var{into-index} index.
17017 See also the @code{@@syncodeindex} command. 15754 See also the @code{@@syncodeindex} command.
17018 @end table 15755 @end table
17019 15756
17020 @c subheading Definitions 15757 @subheading Definitions
17021 15758
17022 @noindent 15759 @noindent
17023 Describe functions, variables, macros, 15760 Describe functions, variables, macros,
17024 commands, user options, special forms, and other such artifacts in a 15761 commands, user options, special forms, and other such artifacts in a
17025 uniform format.@refill 15762 uniform format.@refill
17034 15771
17035 @item @@defvr, @@defop, @dots{} 15772 @item @@defvr, @@defop, @dots{}
17036 15 other related commands. 15773 15 other related commands.
17037 @end table 15774 @end table
17038 15775
17039 @c subheading Glyphs 15776 @subheading Glyphs
17040 15777
17041 @noindent 15778 @noindent
17042 Indicate the results of evaluation, expansion, 15779 Indicate the results of evaluation, expansion,
17043 printed output, an error message, equivalence of expressions, and the 15780 printed output, an error message, equivalence of expressions, and the
17044 location of point.@refill 15781 location of point.@refill
17045 15782
17046 @noindent 15783 @noindent
17047 @xref{Glyphs}. 15784 @xref{Glyphs}.
17048 15785
17049 @table @kbd 15786 @table @kbd
17050 @item @@equiv@{@} 15787 @item @@equiv@{@}
17051 @itemx @equiv{} 15788 @itemx @equiv{}
17052 Equivalence: 15789 Equivalence:
17053 15790
17054 @item @@error@{@} 15791 @item @@error@{@}
17055 @itemx @error{} 15792 @itemx @error{}
17056 Error message 15793 Error message
17057 15794
17058 @item @@expansion@{@} 15795 @item @@expansion@{@}
17059 @itemx @expansion{} 15796 @itemx @expansion{}
17060 Macro expansion 15797 Macro expansion
17061 15798
17062 @item @@point@{@} 15799 @item @@point@{@}
17063 @itemx @point{} 15800 @itemx @point{}
17064 Position of point 15801 Position of point
17065 15802
17066 @item @@print@{@} 15803 @item @@print@{@}
17067 @itemx @print{} 15804 @itemx @print{}
17068 Printed output 15805 Printed output
17069 15806
17070 @item @@result@{@} 15807 @item @@result@{@}
17071 @itemx @result{} 15808 @itemx @result{}
17072 Result of an expression 15809 Result of an expression
17073 @end table 15810 @end table
17074 15811
17075 @c subheading Page Headings 15812 @subheading Page Headings
17076 15813
17077 @noindent 15814 @noindent
17078 Customize page headings. 15815 Customize page headings.
17079 15816
17080 @noindent 15817 @noindent
17088 Footings for even-numbered (left-hand) pages. 15825 Footings for even-numbered (left-hand) pages.
17089 15826
17090 @item @@evenheading, @@everyheading, @@oddheading, @dots{} 15827 @item @@evenheading, @@everyheading, @@oddheading, @dots{}
17091 Five other related commands. 15828 Five other related commands.
17092 15829
17093 @item @@thischapter 15830 @item @@thischapter
17094 Insert name of chapter and chapter number. 15831 Insert name of chapter and chapter number.
17095 15832
17096 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage 15833 @item @@thischaptername, @@thisfile, @@thistitle, @@thispage
17097 Related commands. 15834 Related commands.
17098 @end table 15835 @end table
17099 15836
17100 @c subheading Formatting 15837 @subheading Formatting
17101 15838
17102 @noindent 15839 @noindent
17103 Format blocks of text. 15840 Format blocks of text.
17104 15841
17105 @noindent 15842 @noindent
17114 Enumerate a list with letters or numbers. 15851 Enumerate a list with letters or numbers.
17115 15852
17116 @item @@exdent @var{line-of-text} 15853 @item @@exdent @var{line-of-text}
17117 Remove indentation. 15854 Remove indentation.
17118 15855
17119 @item @@flushleft 15856 @item @@flushleft
17120 Left justify. 15857 Left justify.
17121 15858
17122 @item @@flushright 15859 @item @@flushright
17123 Right justify. 15860 Right justify.
17124 15861
17125 @item @@format 15862 @item @@format
17126 Do not narrow nor change font. 15863 Do not narrow nor change font.
17127 15864
17128 @item @@ftable @var{formatting-command} 15865 @item @@ftable @var{formatting-command}
17129 @itemx @@vtable @var{formatting-command} 15866 @itemx @@vtable @var{formatting-command}
17130 Two-column table with indexing. 15867 Two-column table with indexing.
17131 15868
17132 @item @@lisp 15869 @item @@lisp
17133 For an example of Lisp code. 15870 For an example of Lisp code.
17134 15871
17135 @item @@smallexample 15872 @item @@smallexample
17136 @itemx @@smalllisp 15873 @itemx @@smalllisp
17137 Like @@table and @@lisp @r{but for} @@smallbook. 15874 Like @@table and @@lisp @r{but for} @@smallbook.
17138 @end table 15875 @end table
17139 15876
17140 @c subheading Conditionals 15877 @subheading Conditionals
17141 15878
17142 @noindent 15879 @noindent
17143 Conditionally format text. 15880 Conditionally format text.
17144 15881
17145 @noindent 15882 @noindent
17146 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 15883 @xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill
17147 15884
17148 @table @kbd 15885 @table @kbd
17149 @item @@set @var{flag} [@var{string}] 15886 @item @@set @var{flag} [@var{string}]
17150 Set a flag. Optionally, set value 15887 Set a flag. Optionally, set value
17151 of @var{flag} to @var{string}. 15888 of @var{flag} to @var{string}.
17152 15889
17153 @item @@clear @var{flag} 15890 @item @@clear @var{flag}
17154 Clear a flag. 15891 Clear a flag.
17161 15898
17162 @item @@ifclear @var{flag} 15899 @item @@ifclear @var{flag}
17163 Ignore, if @var{flag} is set. 15900 Ignore, if @var{flag} is set.
17164 @end table 15901 @end table
17165 15902
17166 @c subheading @@heading series for Titles 15903 @subheading @@heading series for Titles
17167 15904
17168 @noindent 15905 @noindent
17169 Produce unnumbered headings that do not appear in a table of contents. 15906 Produce unnumbered headings that do not appear in a table of contents.
17170 15907
17171 @noindent 15908 @noindent
17174 @table @kbd 15911 @table @kbd
17175 @item @@heading @var{title} 15912 @item @@heading @var{title}
17176 Unnumbered section-like heading not listed 15913 Unnumbered section-like heading not listed
17177 in the table of contents of a printed manual. 15914 in the table of contents of a printed manual.
17178 15915
17179 @item @@chapheading, @@majorheading, @@c subheading, @@subsubheading 15916 @item @@chapheading, @@majorheading, @@subheading, @@subsubheading
17180 Related commands. 15917 Related commands.
17181 @end table 15918 @end table
17182 15919
17183 @need 1000 15920 @need 1000
17184 @c subheading Font commands 15921 @subheading Font commands
17185 15922
17186 @need 1000 15923 @need 1000
17187 @noindent 15924 @noindent
17188 @xref{Smallcaps}, and @* 15925 @xref{Smallcaps}, and @*
17189 @ref{Fonts}. 15926 @ref{Fonts}.
17190 15927
17191 @table @kbd 15928 @table @kbd
17192 @item @@r@{@var{text}@} 15929 @item @@r@{@var{text}@}
17193 Print in roman font. 15930 Print in roman font.
17194 15931
17195 @item @@sc@{@var{text}@} 15932 @item @@sc@{@var{text}@}
17196 Print in @sc{small caps} font. 15933 Print in @sc{small caps} font.
17197 @end table 15934 @end table
17198 15935
17199 @c subheading Miscellaneous 15936 @subheading Miscellaneous
17200 15937
17201 @noindent 15938 @noindent
17202 See @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author} Commands},@* 15939 See @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author} Commands},@*
17203 see @ref{Customized Highlighting},@* 15940 see @ref{Customized Highlighting},@*
17204 see @ref{Overfull hboxes},@* 15941 see @ref{Overfull hboxes},@*
17210 see @ref{paragraphindent, , Paragraph Indenting},@* 15947 see @ref{paragraphindent, , Paragraph Indenting},@*
17211 see @ref{Cross Reference Commands},@* 15948 see @ref{Cross Reference Commands},@*
17212 see @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author}}, and@* 15949 see @ref{title subtitle author, , @code{@@title} @code{@@subtitle} and @code{@@author}}, and@*
17213 see @ref{Custom Headings, , How to Make Your Own Headings}. 15950 see @ref{Custom Headings, , How to Make Your Own Headings}.
17214 15951
15952 @need 700
17215 @table @kbd 15953 @table @kbd
17216 @item @@author @var{author} 15954 @item @@author @var{author}
17217 Typeset author's name. 15955 Typeset author's name.
17218 15956
17219 @c @item @@definfoenclose @var{new-command}, @var{before}, @var{after}, 15957 @item @@definfoenclose @var{new-command}, @var{before}, @var{after},
17220 @c Define a highlighting command for Info. (Info only.) 15958 Define a highlighting command for Info. (Info only.)
17221 15959
17222 @item @@finalout 15960 @item @@finalout
17223 Produce cleaner printed output. 15961 Produce cleaner printed output.
17224 15962
17225 @item @@footnotestyle @var{end-or-separate} 15963 @item @@footnotestyle @var{end-or-separate}
17248 15986
17249 @item @@ref@{@var{node-name}, @r{[}@var{entry}@r{]}, @r{[}@var{topic-or-title}@r{]}, @r{[}@var{info-file}@r{]}, @r{[}@var{manual}@r{]}@} 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{]}@}
17250 Make a reference. In the printed manual, the 15988 Make a reference. In the printed manual, the
17251 reference does not start with the word `see'. 15989 reference does not start with the word `see'.
17252 15990
17253 @item @@title @var{title} 15991 @item @@title @var{title}
17254 Typeset @var{title} in the alternative 15992 Typeset @var{title} in the alternative
17255 title page format. 15993 title page format.
17256 15994
17257 @item @@subtitle @var{subtitle} 15995 @item @@subtitle @var{subtitle}
17258 Typeset @var{subtitle} in the alternative 15996 Typeset @var{subtitle} in the alternative
17263 @end table 16001 @end table
17264 @tex 16002 @tex
17265 % Switch width of first column of tables back to default value 16003 % Switch width of first column of tables back to default value
17266 \global\tableindent=.8in 16004 \global\tableindent=.8in
17267 @end tex 16005 @end tex
17268 @end ignore 16006
17269 16007 @node Command and Variable Index, Concept Index, New Features, Top
17270 @node Command and Variable Index, Concept Index, Obtaining TeX, Top
17271 @comment node-name, next, previous, up 16008 @comment node-name, next, previous, up
17272 @unnumbered Command and Variable Index 16009 @unnumbered Command and Variable Index
17273 16010
17274 This is an alphabetical list of all the @@-commands, assorted Emacs Lisp 16011 This is an alphabetical list of all the @@-commands and several
17275 functions, and several variables. To make the list easier to use, the 16012 variables. To make the list easier to use, the commands are listed
17276 commands are listed without their preceding @samp{@@}.@refill 16013 without their preceding @samp{@@}.@refill
17277 16014
17278 @printindex fn 16015 @printindex fn
17279 16016
17280
17281 @node Concept Index, , Command and Variable Index, Top 16017 @node Concept Index, , Command and Variable Index, Top
16018 @comment node-name, next, previous, up
17282 @unnumbered Concept Index 16019 @unnumbered Concept Index
17283 16020
17284 @printindex cp 16021 @printindex cp
17285
17286 16022
17287 @summarycontents 16023 @summarycontents
17288 @contents 16024 @contents
17289 @bye 16025 @bye