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