|
|
1.1 ! root 1: Info file ../info/texinfo, produced by Makeinfo, -*- Text -*- from ! 2: input file texinfo.texinfo. ! 3: ! 4: This file documents Texinfo, a documentation system that uses a ! 5: single source file to produce both on-line help and a printed manual. ! 6: ! 7: This is edition 1.1 of the Texinfo documentation, and is for the ! 8: Texinfo that is distributed as part of Version 18 of GNU Emacs. ! 9: ! 10: Copyright (C) 1988 Free Software Foundation, Inc. ! 11: ! 12: Permission is granted to make and distribute verbatim copies of this ! 13: manual provided the copyright notice and this permission notice are ! 14: preserved on all copies. ! 15: ! 16: Permission is granted to copy and distribute modified versions of ! 17: this manual under the conditions for verbatim copying, provided that ! 18: the entire resulting derived work is distributed under the terms of a ! 19: permission notice identical to this one. ! 20: ! 21: Permission is granted to copy and distribute translations of this ! 22: manual into another language, under the above conditions for modified ! 23: versions, except that this permission notice may be stated in a ! 24: translation approved by the Foundation. ! 25: ! 26: ! 27: ! 28: File: texinfo, Node: Indices, Prev: Contents, Up: Ending a File ! 29: ! 30: Creating Indices ! 31: ================ ! 32: ! 33: Using Texinfo, you can generate printed indices and Info file menus ! 34: without having to sort and collate entries manually. Texinfo will do ! 35: this for you automatically. Each index covers a certain kind of ! 36: entry (functions, or variables, or concepts, etc.) and lists all of ! 37: those entries in alphabetical order, together with information on how ! 38: to find the discussion of each entry. In a printed manual, this ! 39: information consists of page numbers. In an Info file, it consists ! 40: of a menu item leading to the first node referenced. ! 41: ! 42: When you are making index entries, it is good practice to think of ! 43: the different categories under which people may look for something. ! 44: Different people *do not* think of the same words when they look ! 45: something up. They think of different words. A helpful index will ! 46: have items indexed under all the different words that people may use. ! 47: For example, someone might think it obvious that the two letter names ! 48: for indices should be listed under ``Indices, two letter names'', ! 49: since the word ``Index'' is the general concept. But another reader ! 50: may remember the specific concept of two letter names and search for ! 51: the entry listed as ``Two letter names for indices''. A good index ! 52: will have both entries and will help both kinds of user. ! 53: ! 54: Like typesetting, the construction of an index is a highly skilled, ! 55: professional art, the subtleties of which are not appreciated until ! 56: you have to do it yourself. ! 57: ! 58: Normally, six indices are provided for: ! 59: ! 60: * A "program index" listing names of programs and leading to the ! 61: places where those programs are documented. ! 62: ! 63: * A "function index" listing functions (such as, entry points of ! 64: libraries). ! 65: ! 66: * A "variables index" listing variables (such as, external ! 67: variables of libraries). ! 68: ! 69: * A "data type index" listing data types (such as, structures ! 70: defined in header files). ! 71: ! 72: * A "keystroke index" listing keyboard commands. ! 73: ! 74: * A "concept index" listing concepts that are discussed. ! 75: ! 76: Not every manual needs all of these. This manual has two indices: a ! 77: concept index and an @-command index (that uses the function index ! 78: but is called a command index in the chapter heading). Two or more ! 79: indices can be combined into one using the `@synindex' command. ! 80: *Note Combining Indices::. ! 81: ! 82: * Menu: ! 83: ! 84: * Index Entries:: Defining the entries of an index ! 85: * Combining Indices:: ! 86: * Printing Indices & Menus:: ! 87: ! 88: ! 89: ! 90: File: texinfo, Node: Index Entries, Next: Combining Indices, Up: Indices ! 91: ! 92: Defining the Entries of an Index ! 93: -------------------------------- ! 94: ! 95: The data to make an index comes from many individual commands ! 96: scattered throughout the Texinfo source file. Each command says to ! 97: add one entry to a particular index; after processing, it will give ! 98: the current page number or node name as the reference. ! 99: ! 100: `@cindex CONCEPT' ! 101: Make an entry in the concept index for CONCEPT, referring to the ! 102: current page or node. ! 103: ! 104: `@findex FUNCTION' ! 105: Make an entry in the function index for FUNCTION, referring to ! 106: the current page or node. ! 107: ! 108: `@vindex VARIABLE' ! 109: Make an entry in the variable index for VARIABLE, referring to ! 110: the current page or node. ! 111: ! 112: `@pindex PROGRAM' ! 113: Make an entry in the program index for PROGRAM, referring to the ! 114: current page or node. ! 115: ! 116: `@kindex KEY' ! 117: Make an entry in the key index for KEY, referring to the current ! 118: page or node. ! 119: ! 120: `@tindex DATA TYPE' ! 121: Make an entry in the data type index for DATA TYPE, referring to ! 122: the current page or node. ! 123: ! 124: If the same name is indexed on several pages, all the pages are ! 125: listed in the printed manual's index. However, *only* the *first* ! 126: node referenced will appear in the index of an Info file. This means ! 127: that it is best to write indices in which each entry will refer to ! 128: only one place in the Texinfo file. Fortunately, this constraint is ! 129: a feature rather than loss since it means that the index will be easy ! 130: to use. Otherwise, it can be easy to create an index which has many ! 131: pages listed for an entry and you don't know which one you need. ! 132: ! 133: You are not actually required to use indices for their canonical ! 134: purposes. For example, you might wish to index some C preprocessor ! 135: macros. You could put them in the function index along with actual ! 136: functions, just by writing `@findex' commands for them; then, when ! 137: you print the ``function index'', you could give it the title ! 138: `Function and Macro Index' and all will be consistent for the reader. ! 139: Or you could put the macros in with the data types by writing ! 140: `@tindex' commands for them, and give that index a suitable title so ! 141: the reader will understand. ! 142: ! 143: ! 144: ! 145: File: texinfo, Node: Combining Indices, Next: Printing Indices & Menus, Prev: Index Entries, Up: Indices ! 146: ! 147: Combining Indices ! 148: ----------------- ! 149: ! 150: Sometimes you will want to combine two disparate indices such as ! 151: functions and variables, perhaps because you have few enough of one ! 152: of them that a separate index for them would look silly. ! 153: ! 154: You could put variables into the function index by writing `@findex' ! 155: commands for them instead of `@vindex' commands, and produce a ! 156: consistent manual by printing the function index with the title ! 157: `Function and Variable Index' and not printing the `Variable Index' ! 158: at all; but this is not a robust procedure. It works only as long as ! 159: your document is never included in part of or together with another ! 160: document that is designed to have a separate variable index; if you ! 161: did that, the variables from your document and those from the other ! 162: would not end up together. ! 163: ! 164: What you should do instead when you want functions and variables in ! 165: one index is to index the variables with `@vindex' as they should be, ! 166: but use the `@synindex' command to redirect these `@vindex' commands ! 167: to the function index. `@synindex' takes two arguments: the name of ! 168: an index to redirect, and the name of an index to redirect it to. ! 169: For this purpose, the indices are given two-letter names: ! 170: ! 171: `cp' ! 172: the concept index ! 173: ! 174: `vr' ! 175: the variable index ! 176: ! 177: `fn' ! 178: the function index ! 179: ! 180: `ky' ! 181: the key index ! 182: ! 183: `pg' ! 184: the program index ! 185: ! 186: `tp' ! 187: the data type index ! 188: ! 189: Thus, `@synindex vr fn' at the front of a Texinfo file will cause all ! 190: entries designated for the variable index to go to the function index ! 191: instead. ! 192: ! 193: ! 194: ! 195: File: texinfo, Node: Printing Indices & Menus, Prev: Combining Indices, Up: Indices ! 196: ! 197: Printing an Index and Generating Menus ! 198: -------------------------------------- ! 199: ! 200: To print an index means to include it as part of a manual or Info file. ! 201: This does not happen automatically just because you use `@cindex' or ! 202: other index-entry generating commands in the Texinfo file; those just ! 203: cause the raw data for the index to be accumulated. To print an ! 204: index, you must include the `@printindex' command at the place in the ! 205: document where you want the index to appear. Also, for the case of ! 206: the printed manual, you must run a program called `texindex' to sort ! 207: the raw data to produce a sorted index file, which is what will ! 208: actually be used to print the index. ! 209: ! 210: The Texinfo command that is used to print indices is `@printindex'. ! 211: It takes the two-letter index name (*note Combining Indices::.) as an ! 212: argument without braces, and reads the corresponding sorted index ! 213: file and formats it appropriately into an index. ! 214: ! 215: The two-letter index names are: ! 216: ! 217: `cp' ! 218: the concept index. ! 219: ! 220: `vr' ! 221: the variable index. ! 222: ! 223: `fn' ! 224: the function index. ! 225: ! 226: `ky' ! 227: the key index. ! 228: ! 229: `pg' ! 230: the program index. ! 231: ! 232: `tp' ! 233: the data type index. ! 234: ! 235: `@printindex' does not generate a chapter heading for the index. ! 236: Consequently, you should precede the command with a suitable section ! 237: or chapter command (usually `@unnumbered') to supply the chapter ! 238: heading and put the index into the table of contents. And before ! 239: that, you will probably put a `@node' command. For example, ! 240: ! 241: @node Variables Index, Concept Index, Function Index, Top ! 242: @comment node-name, next, previous, up ! 243: @unnumbered Variable Index ! 244: ! 245: @printindex vr ! 246: ! 247: @node Concept Index, , Variables Index, Top ! 248: @comment node-name, next, previous, up ! 249: @unnumbered Concept Index ! 250: ! 251: @printindex cp ! 252: ! 253: @summarycontents ! 254: @contents ! 255: @bye ! 256: ! 257: In TeX, `@printindex' needs a sorted index file to work from. TeX ! 258: does not know how to do sorting; this is one of the main deficiencies ! 259: of TeX. You must invoke the program `texindex' to do so, giving it ! 260: the names of the raw index files to be sorted as arguments. You do ! 261: not have to run `texindex' on all of them; only the ones you are ! 262: going to print. (*Note Printing Hardcopy::, for more information.) ! 263: ! 264: ! 265: ! 266: File: texinfo, Node: Structuring, Next: Quotations and Examples, Prev: Ending a File, Up: Top ! 267: ! 268: Node and Chapter Structuring ! 269: **************************** ! 270: ! 271: The chapter structuring commands divide a document into a hierarchy ! 272: of chapters, sections, subsections and subsubsections. These ! 273: commands generate large headings. ! 274: ! 275: In a printed manual, the table of contents is based on the ! 276: information specified by the chapter structuring commands. ! 277: ! 278: Although the chapter structuring commands used for creating a printed ! 279: document are entirely different from the node commands for ! 280: structuring an Info file, you are likely to use the two kinds of ! 281: command together since the single Texinfo file is usually designed to ! 282: be read both as an Info file and as a printed manual. The only time ! 283: you are likely to use the chapter structuring commands without using ! 284: the node structuring commands is if you are writing a document that ! 285: will never be put into Info format, for example, a novel, a letter, ! 286: an article or a memorandum. ! 287: ! 288: It is unlikely that you will ever write a Texinfo file that is only ! 289: intended as an on-line Info file and not as a printable document. ! 290: However, Texinfo is flexible enough so that you can do this if you ! 291: wish. ! 292: ! 293: Although a Texinfo file can be structured in a variety of ways, it is ! 294: usually structured like a book with chapters, sections, subsections ! 295: and the like. This structure can also be visualized as a tree (or ! 296: rather as an upside down tree) with the root at the top and each ! 297: level corresponding to chapters or sections or whatnot. In Info ! 298: format, you reach the nodes on each level by using the the `Next' and ! 299: `Previous' pointers in the node line. For example, you go from one ! 300: chapter to the next or previous chapter by using the the pointers to ! 301: the next and previous chapters. In Info, you go the level above by ! 302: using an `Up' pointer and you go to the level below through a `Menu'. ! 303: In the printed manual, cross references are indicated by page and ! 304: section numbers; in the on-line file, cross references are specified ! 305: by inline menu items. ! 306: ! 307: Here is a diagram that shows a Texinfo file with three chapters; ! 308: each chapter has two sections. ! 309: ! 310: top ! 311: | ! 312: | ! 313: -------------------------------------------- ! 314: | | | ! 315: | | | ! 316: Chapter 1 Chapter 2 Chapter 3 ! 317: | | | ! 318: | | | ! 319: --------- --------- --------- ! 320: | | | | | | ! 321: Sect. 1.1 Sect. 1.2 Sect. 2.1 Sect. 2.2 Sect. 3.1 Sect. 3.2 ! 322: ! 323: ! 324: In this structure, the node for Chapter 2 looks like this: ! 325: ! 326: @node Chapter 2, Chapter 3, Chapter 1, top ! 327: @comment node-name, next, previous, up ! 328: ! 329: To get to Sections 2.1 and 2.2, you need a menu inside of Chapter 2 ! 330: that says: ! 331: ! 332: @menu ! 333: * Sect. 2.1:: Description of this section. ! 334: * Sect. 2.2:: ! 335: @end menu ! 336: ! 337: This menu is located inside Chapter 2, after the beginning of the ! 338: chapter, just before Section 2.1. ! 339: ! 340: Note that a menu entry has three parts: the menu item name, the name ! 341: of the node and, optionally, a description of the item (in that ! 342: order). If the menu item name and the name of the node are the same, ! 343: you can put two colons after the item name, as is shown in the ! 344: example. (If the second part is different from the first, the first ! 345: part is terminated by a colon and the second part terminated by a ! 346: tab, newline, comma or period.) (*Note Menu::.) ! 347: ! 348: The node for Sect. 2.1 will look like this: ! 349: ! 350: @node Sect. 2.1, Sect. 2.2, , Chapter 2 ! 351: @comment node-name, next, previous, up ! 352: ! 353: This node does not have a `Previous' node. ! 354: ! 355: Usually, an `@node' command and a chapter structuring command are ! 356: used in sequence, along with indexing commands. For example, the ! 357: node for the chapter on ending a file looks like this: ! 358: ! 359: @node Ending a File, Structuring, Beginning a File, Top ! 360: @comment node-name, next, previous, up ! 361: @chapter Ending a Texinfo File ! 362: @cindex Ending a Texinfo file ! 363: @cindex Texinfo file ending ! 364: @cindex File ending ! 365: ! 366: The chapter structuring commands fall into four groups that have the ! 367: characteristics of chapters, sections, subsections and subsubsections. ! 368: The groups are: ! 369: ! 370: `@chapter' ! 371: `@unnumbered' ! 372: `@appendix' ! 373: For chapters and chapter-like parts of a document. ! 374: ! 375: `@section' ! 376: `@unnumberedsec' ! 377: `@appendixsec' ! 378: For sections and section-like parts of a document. ! 379: ! 380: `@subsection' ! 381: `@unnumberedsubsec' ! 382: `@appendixsubsec' ! 383: For subsections and subsection-like parts of a document. ! 384: ! 385: `@subsubsection' ! 386: `@unnumberedsubsubsec' ! 387: `@appendixsubsubsec' ! 388: For subsubsections and subsubsection-like parts of a document. ! 389: ! 390: In the sections that follow, the chapter structuring commands are ! 391: described first and then the `@node' and `@menu' commands. ! 392: ! 393: * Menu: ! 394: ! 395: * Chapter:: ! 396: * Unnumbered and Appendix:: ! 397: * Section:: ! 398: * Subsection:: ! 399: * Subsubsection:: ! 400: * Node:: ! 401: * Menu:: ! 402: ! 403: ! 404: ! 405: File: texinfo, Node: Chapter, Next: Unnumbered and Appendix, Up: Structuring ! 406: ! 407: @chapter ! 408: ======== ! 409: ! 410: `@chapter' identifies a chapter in the document. It is followed by a ! 411: single argument which is the rest of the line, as in ! 412: ! 413: @chapter Node and Chapter Structuring ! 414: ! 415: In TeX, it creates a chapter in the document, specifying the chapter ! 416: title. ! 417: ! 418: In the Info file, `@chapter' causes its argument to appear on a line ! 419: by itself, with a line of asterisks inserted underneath. Thus, the ! 420: above example produces the following output: ! 421: ! 422: Node and Chapter Structuring ! 423: **************************** ! 424: ! 425: ! 426: ! 427: File: texinfo, Node: Unnumbered and Appendix, Next: Section, Prev: Chapter, Up: Structuring ! 428: ! 429: @unnumbered, @appendix ! 430: ====================== ! 431: ! 432: These commands are equivalent to `@chapter' for Info file output. ! 433: (*Note Chapter::.) In a printed manual, they generate chapters that ! 434: are numbered differently in the table of contents. `@unnumbered' ! 435: chapters appear without chapter numbers of any kind, and `@appendix' ! 436: chapters are given a letter instead of a number. ! 437: ! 438: ! 439: ! 440: File: texinfo, Node: Section, Next: Subsection, Prev: Unnumbered and Appendix, Up: Structuring ! 441: ! 442: @section ! 443: ======== ! 444: ! 445: `@section' is like `@chapter' except that in TeX it makes a section ! 446: rather than a chapter. (*Note Chapter::.) Sections go within ! 447: chapters. In the Info file, `@chapter' and `@section' differ only in ! 448: that `@section' underlines with `='. For example, ! 449: ! 450: This is a section ! 451: ================= ! 452: ! 453: @unnumberedsec, @appendixsec ! 454: ============================ ! 455: ! 456: Use these constructs for sections within chapters made by ! 457: `@unnumbered' or `@appendix'. (*Note Section::.) ! 458: ! 459: ! 460: ! 461: File: texinfo, Node: Subsection, Next: Subsubsection, Prev: Section, Up: Structuring ! 462: ! 463: @subsection ! 464: =========== ! 465: ! 466: Subsections are to sections as sections are to chapters. (*Note ! 467: Section::.) They are underlined with `-'. For example, ! 468: ! 469: This is a subsection ! 470: ------------------- ! 471: ! 472: @unnumberedsubsec, @appendixsubsec ! 473: ================================== ! 474: ! 475: Use these constructs for subsections within sections within chapters ! 476: made by `@unnumberedsec' or `@appendixsec'. (*Note Subsection::.) ! 477: ! 478: ! 479: ! 480: File: texinfo, Node: Subsubsection, Next: Node, Prev: Subsection, Up: Structuring ! 481: ! 482: @subsubsection, @unnumberedsubsubsec, @appendixsubsubsec ! 483: ======================================================== ! 484: ! 485: Subsubsections are to subsections as subsections are to sections. ! 486: (*Note Subsection::.) They are underlined with periods. The ! 487: equivalent commands for `@unnumberedsubsec' and `@appendixsubsec' are ! 488: `@unnumberedsubsubsec' and `@appendixsubsubsec'. For example, ! 489: ! 490: This is a subsubsection ! 491: ....................... ! 492: ! 493: ! 494: ! 495: File: texinfo, Node: Node, Next: Menu, Prev: Subsubsection, Up: Structuring ! 496: ! 497: @node ! 498: ===== ! 499: ! 500: `@node' defines the beginning of a new node in the Info output file ! 501: (*note info: (info)Top.). It is followed by four arguments, ! 502: separated by commas, that make up the rest of the line. Since it is ! 503: often hard to remember the order in which are arguments are listed, ! 504: `texinfo-mode' provides the `C-c C-c n' command ! 505: (`texinfo-insert-@node') which automatically inserts a comment line ! 506: listing the arguments. For example, ! 507: ! 508: @node Texinfo Mode, Beginning a File, Overview, Top ! 509: @comment node-name, next, previous, up ! 510: ! 511: defines a node named `Texinfo Mode', whose `Next' pointer is to node ! 512: `Beginning a File', whose `Previous' pointer is to node `Overview', ! 513: and whose `Up' pointer is to node `Top'. What this means is that ! 514: Texinfo changes `@node ARGS' into the special text string necessary ! 515: to separate Info nodes and to identify the node that is starting and ! 516: say what nodes it points to. ! 517: ! 518: The pointer names should be the names of nodes defined elsewhere. ! 519: For this example, nodes named `Beginning a File', `Overview' and ! 520: `Top' should be defined elsewhere in the file with other `@node' ! 521: commands. It does not matter whether they are before or after the ! 522: node that refers to them. ! 523: ! 524: Normally, a node's `Up' pointer should point at the node whose menu ! 525: mentions that node. The node's `Next' pointer should point at the ! 526: node that follows that node and its `Previous' pointer should point ! 527: at the node that precedes it in that menu. ! 528: ! 529: In TeX, `@node' is nearly ignored. It generates no text. Its only ! 530: function is to identify the name to use for cross-references to the ! 531: chapter or section which follows the `@node' command and which which ! 532: makes up the body of the node. (Cross references are made with ! 533: `@xref'. *Note Cross References::.) ! 534: ! 535: `@node' should be followed immediately by a chapter-structuring ! 536: command such as `@chapter', `@section', `@subsection' or ! 537: `@subsubsection'. ! 538: ! 539: The easiest way to write a node is to use the Texinfo mode keyboard ! 540: command `C-c C-c n' to insert `@node' and a comment line listing the ! 541: names of each of the pointers in their proper order. This way you ! 542: won't lose track of which arguments are for which pointers. The ! 543: template is especially useful if you are not familiar with Texinfo. ! 544: It is important to pick a suitable node name. Generally, these begin ! 545: with an uppercase letter as if the node name were a heading for a ! 546: chapter or section. Do not use any of the Texinfo @-commands in the ! 547: name; these commands confuse Info. The node name should be ! 548: informative. Unfortunately, long names will not fit onto the line, ! 549: which can be awkward. Sometimes it is better to use long but ! 550: informative names rather than short ones. ! 551: ! 552: Some people insert the names of the `Next', `Previous' and `Up' ! 553: pointers at the same time they insert the node's own name. This is ! 554: because it is easier to keep track of the node structure as you ! 555: create a document than it is to sort it out after you have dozens of ! 556: nodes. Others wait to insert the `Next', `Previous' and `Up' ! 557: pointers until they have a nearly final version of the document. ! 558: This is because they expect to change the organization of the ! 559: document while they write it and insert or delete sections and move ! 560: them around. The command `texinfo-show-structure' can be used to ! 561: find the `Next', `Previous' and `Up' pointers of a node. (See *Note ! 562: Using texinfo-show-structure::.) ! 563: ! 564: However you do it, it is best to name the node whenever you write the ! 565: section so you can easily make cross references to the section. A ! 566: large number of cross references are an especially important feature ! 567: of a good Info file. ! 568: ! 569: After you have inserted the node-line, you should immediately write ! 570: an @-command for the chapter or section and insert its name. Next, ! 571: (and this is important!), put in several index entries. Usually, you ! 572: will find at least two and often as many as four or five ways of ! 573: referring to the node in the index. Use them all. This will make it ! 574: much easier for people to find the node. ! 575: ! 576: The top node of the file, named `Top', should have as its parent the ! 577: name of a node in another file, where there is a menu that leads to ! 578: this file. Specify the file name in parentheses. If the file is to ! 579: be installed directly in the Info directory file, use `(dir)' as the ! 580: parent of the top node; this is short for `(dir)top', the node `top' ! 581: in the file `dir', which is the main menu of Info. For example, ! 582: ! 583: @node Top, Overview, (dir), (dir) ! 584: @comment node-name, next, previous, up ! 585: ! 586: For more information about installing an Info file in the `info' ! 587: directory, *note Installing an Info File::. ! 588: ! 589: ! 590: ! 591: File: texinfo, Node: Menu, Prev: Node, Up: Structuring ! 592: ! 593: @menu ! 594: ===== ! 595: ! 596: Info file nodes can contain "menus" which point to other nodes. You ! 597: must type the menus in by hand, and surround them with lines ! 598: containing `@menu' and `@end menu'. In Info, the `@menu' line ! 599: changes into `* Menu:', which indicates the beginning of a menu to ! 600: the Info program. Otherwise, the contents are unchanged by Texinfo, ! 601: except for the processing of any other @-commands within. The entire ! 602: menu construct has no effect in the printed manual and will not ! 603: appear there. ! 604: ! 605: By convention, a menu is put at the end of a node. This way, it is ! 606: easy for someone using Info to find the menu, using the `M->' ! 607: (`end-of-buffer') command. ! 608: ! 609: In a menu, every line that begins with a `*' lists a single topic. A ! 610: line that does not start with a `*' will also appear in the menu and ! 611: can be used as a comment. ! 612: ! 613: A menu item has three parts: ! 614: ! 615: 1. The menu item name. ! 616: ! 617: 2. The name of the node. ! 618: ! 619: 3. A description of the item. ! 620: ! 621: Only the first part is required. This part is the name of the ! 622: topic--the name of the menu item that the user must give to the `m' ! 623: command to select this topic when using Info. The first part comes ! 624: right after the asterisk and a space, and is followed by a colon, ! 625: spaces and tabs, and then the name of the node which discusses that ! 626: topic. The name of the node is terminated by a tab, comma, newline ! 627: or period. If the node name and topic name are the same, rather than ! 628: give the name twice, put two colons after the name instead. For ! 629: example, `* Name::'. (You should do this whenever possible, since it ! 630: reduces visual clutter in the menu). ! 631: ! 632: If the second part is present, it may be terminated with a tab, ! 633: comma, or newline; or with a period. ! 634: ! 635: For example, ! 636: ! 637: @menu ! 638: A Section on Foo and Switches ! 639: * Foo:: The node named Foo tells you how to go fooing. ! 640: * Sw: Switches. Type @code{m Sw} to see node @code{Switches} ! 641: which describes the switches available here. ! 642: @end menu ! 643: ! 644: produces ! 645: ! 646: * menu: ! 647: ! 648: A Section on Foo and Switches ! 649: * Foo:: The node named foo tells you how to go fooing. ! 650: * Sw: Switches. Type `m Sw' to see node `Switches' ! 651: which describes the switches available here. ! 652: ! 653: In this example, the menu has two items. `Foo' is both a menu item ! 654: name and the name of the node referred to by that item. `Sw' is the ! 655: other menu item name, and it refers to the node named `Switches'. ! 656: Since no file name is specified with `Foo' or `Switches', they must ! 657: be the names of other nodes in the same Info file. ! 658: ! 659: Nodes in other Info files can be referred to by putting the file name ! 660: in parentheses at the beginning of the node name. For example, ! 661: ! 662: @menu ! 663: * Outlining: (emacs) Outline Mode. The major mode for editing outlines. ! 664: * Rebinding: (emacs) Rebinding. How to redefine the meaning of a key. ! 665: @end menu ! 666: ! 667: When this is done, the item has to have at least two parts: the first ! 668: part is the menu item name and the second part is the name of the node. ! 669: ! 670: ! 671: ! 672: File: texinfo, Node: Quotations and Examples, Next: Lists and Tables, Prev: Structuring, Up: Top ! 673: ! 674: Making Quotations and Examples ! 675: ****************************** ! 676: ! 677: Quotations and examples are blocks of text, consisting of one or more ! 678: whole paragraphs that are set off from the bulk of the text and ! 679: treated differently. They are usually indented. ! 680: ! 681: In Texinfo, an insertion is always begun by writing an @-command on a ! 682: line by itself, and ended by writing an `@end' command that is also ! 683: on a line by itself. For instance, an "example" is a kind of ! 684: insertion that is begun with `@example' and ended with `@end example'. ! 685: ! 686: There are three commands for quotations and examples: ! 687: ! 688: `@quotation' ! 689: Used to indicated text that is quoted. ! 690: ! 691: `@example' ! 692: Used to illustrate code, commands and the like in a fixed width ! 693: font without filling. ! 694: ! 695: `@display' ! 696: Used for illustrative text. ! 697: ! 698: * Menu: ! 699: ! 700: * Quotation:: ! 701: * Example:: ! 702: * Display:: ! 703: ! 704: ! 705: ! 706: File: texinfo, Node: Quotation, Next: Example, Up: Quotations and Examples ! 707: ! 708: @quotation ! 709: ========== ! 710: ! 711: `@quotation' is used to indicate text that is excerpted from another ! 712: (real or hypothetical) printed work. The inside of a quotation is ! 713: processed normally except that ! 714: ! 715: 1. The margins are narrower. ! 716: ! 717: 2. Paragraphs are not indented. ! 718: ! 719: 3. Interline spacing and interparagraph spacing are reduced. ! 720: ! 721: Thus, the input ! 722: ! 723: @quotation ! 724: This is ! 725: a foo. ! 726: @end quotation ! 727: ! 728: produces in the printed manual ! 729: ! 730: This is a foo. ! 731: ! 732: and in the Info file ! 733: ! 734: This is ! 735: a foo. ! 736: ! 737: ! 738: ! 739: File: texinfo, Node: Example, Next: Display, Prev: Quotation, Up: Quotations and Examples ! 740: ! 741: @example ! 742: ======== ! 743: ! 744: `@example' is used to indicate an example that is not part of the ! 745: running text. In the printed manual, this is done by switching to a ! 746: fixed width font, turning off filling, and making extra spaces and ! 747: blank lines significant. In the Info file, an analogous result is ! 748: obtained by indenting each line with five extra spaces. ! 749: ! 750: `@example' should appear on a line by itself; this line will ! 751: disappear from the output. Mark the end of the example with a line ! 752: containing `@end example', which will likewise disappear. For example: ! 753: ! 754: @example ! 755: mv foo bar ! 756: @end example ! 757: ! 758: produces ! 759: ! 760: mv foo bar ! 761: ! 762: Since the lines containing `@example' and `@end example' will ! 763: disappear, you will want to put a blank line before the `@example' ! 764: and another blank line after the `@end example'. (Remember that ! 765: blank lines between the beginning `@example' and the ending `@end ! 766: example' will appear in the output.) ! 767: ! 768: Don't use tabs in lines of an example! TeX has trouble with tabs: ! 769: it treats them like single spaces, and that is not what they look like. ! 770: ! 771: ! 772: ! 773: File: texinfo, Node: Display, Prev: Example, Up: Quotations and Examples ! 774: ! 775: @display ! 776: ======== ! 777: ! 778: `@display' is just like `@example' except that, in the printed ! 779: manual, `@display' does not select the fixed-width font. In fact, it ! 780: does not specify the font at all, so that the text appears in the ! 781: same font it would have appeared in without the `@display'. ! 782: ! 783: ! 784: ! 785: File: texinfo, Node: Lists and Tables, Next: Cross References, Prev: Quotations and Examples, Up: Top ! 786: ! 787: Making Lists and Tables ! 788: *********************** ! 789: ! 790: Texinfo has several ways of making lists and two-column tables. ! 791: Lists can be bulleted or numbered while two-column tables can ! 792: highlight the items in the first column. ! 793: ! 794: For example, this is an enumerated list: ! 795: ! 796: 1. This is a numbered item. ! 797: ! 798: 2. This is the second item in this list. ! 799: ! 800: 3. This is the third item on this list. ! 801: ! 802: Texinfo will automatically indent the text in lists or tables and ! 803: number an enumerated list. This last feature is useful if you are ! 804: reordering the list, since you do not have to renumber it yourself. ! 805: ! 806: Lists or tables are always begun by an @-command on a line by itself ! 807: and ended with an `@end' command on a line by itself. For example, ! 808: an enumerated list begins with the command `@enumerate' and ends with ! 809: the command `@end enumerate'; and an itemized list begins with the ! 810: command `@itemize' and ends with the command `@end itemize'. ! 811: ! 812: The elements of a list are begun with the `@item' command. ! 813: ! 814: Here is an itemized list of the different kinds of table and lists: ! 815: ! 816: * Itemized lists with or without bullets. ! 817: ! 818: * Numbered lists. ! 819: ! 820: * two-column tables with highlighting. ! 821: ! 822: * Menu: ! 823: ! 824: * Itemize:: ! 825: * Enumerate:: ! 826: * Table:: ! 827: ! 828: ! 829: ! 830: File: texinfo, Node: Itemize, Next: Enumerate, Up: Lists and Tables ! 831: ! 832: @itemize ! 833: ======== ! 834: ! 835: `@itemize' is used to produce sequences of indented paragraphs, with ! 836: a mark inside the left margin at the beginning of each paragraph. ! 837: The rest of the line that starts with `@itemize' should contain the ! 838: character or Texinfo commands to generate such a mark. Usually, it ! 839: is the @-command `@bullet'. Whatever mark you choose, ultimately, it ! 840: should result in a single character in the Texinfo file, or the ! 841: indentation will come out wrong. When you write the command, omit ! 842: the `{}' after the command if you use just one command and nothing ! 843: else. ! 844: ! 845: The text of the indented paragraphs themselves come after the ! 846: `@itemize', up to another line that says `@end itemize'. ! 847: ! 848: Before each paragraph for which a mark in the margin is desired, ! 849: place a line that says just `@item'. Don't put any other text on ! 850: this line. ! 851: ! 852: Info indents the lines in an itemized list by five columns, but it ! 853: does not fill them. This can produce lines in the Info file that are ! 854: too wide. You can either write shorter lines in the Texinfo file by ! 855: setting the fill column to five columns less than it is normally, or ! 856: else you can tell Info to refill the paragraphs by adding the ! 857: @-command `@refill' to the end of the paragraph. (*Note Refill::, for ! 858: more information about the use of the `@refill' command.) ! 859: ! 860: Usually, you should put a blank line before an `@item'. This puts a ! 861: blank like in the Info file. Except when the entries are very brief, ! 862: a blank line looks better. ! 863: ! 864: Here is an example of the use of `@itemize', followed by the output ! 865: it produces. Note that `@bullet' produces a `*' in Texinfo and a ! 866: round dot in TeX. ! 867: ! 868: @itemize @bullet ! 869: @item ! 870: Some text for foo. ! 871: ! 872: @item ! 873: Some text ! 874: for bar. ! 875: @end itemize ! 876: ! 877: produces ! 878: ! 879: * Some text for foo. ! 880: ! 881: * Some text for bar. ! 882: ! 883: ! 884: ! 885: File: texinfo, Node: Enumerate, Next: Table, Prev: Itemize, Up: Lists and Tables ! 886: ! 887: @enumerate ! 888: ========== ! 889: ! 890: `@enumerate' is like `@itemize' except that the marks in the left ! 891: margin contain successive integers starting with 1. (*Note ! 892: Itemize::.) Do not put any argument on the same line as `@enumerate'. ! 893: ! 894: @enumerate ! 895: @item ! 896: Some text for foo. ! 897: @item ! 898: Some text ! 899: for bar. ! 900: @end enumerate ! 901: ! 902: produces ! 903: ! 904: 1. Some text for foo. ! 905: ! 906: 2. Some text for bar. ! 907: ! 908: If you want, you can put a blank line between the entries in the list. ! 909: This often makes it easier to read the Info file. For example, ! 910: ! 911: @enumerate ! 912: @item ! 913: This is the first item. ! 914: ! 915: @item ! 916: This is the second item. ! 917: @end enumerate ! 918: ! 919: Info indents the lines of the enumerated list by five columns, but it ! 920: does not fill them. As a result, the lines in the Info file may be ! 921: too wide. To prevent this, you can either write shorter lines in the ! 922: Texinfo file file by setting the fill column to five columns less ! 923: than it is normally, or else you can tell Info to refill the ! 924: paragraphs by adding the @-command `@refill' to the end of the ! 925: paragraph. (*Note Refill::, for more information about the use of ! 926: the `@refill' command.) ! 927: ! 928: ! 929: ! 930: File: texinfo, Node: Table, Prev: Enumerate, Up: Lists and Tables ! 931: ! 932: @table ! 933: ====== ! 934: ! 935: `@table' is similar to `@itemize', but allows you to specify a name ! 936: or heading line for each item. (*Note Itemize::.) The command is ! 937: used to produce two-column tables, and is especially useful for ! 938: glossaries and explanatory exhibits. ! 939: ! 940: You must follow each use of `@item' inside of `@table' with text to ! 941: serve as the heading line for that item. This text is put on the ! 942: same line as the `@item' command. Each heading line is put into the ! 943: first column of the table and the supporting text, which you put on ! 944: the line following the line beginning with `@item', goes into the ! 945: second column. ! 946: ! 947: Also, `@table' itself must be followed by an argument that is a ! 948: Texinfo command such as `@code', `@var', `@kbd' or `@asis'. Although ! 949: these commands are usually followed by arguments in braces, in this ! 950: case you use the command name without an argument. (`@item' supplies ! 951: the argument.) This command will be applied to the text that goes ! 952: into the first column of each item and determines how it will be ! 953: highlighted. For example, `@samp' will cause the text in the first ! 954: column to be highlighted as if it were acted on by an `@samp' command. ! 955: ! 956: `@asis' is a command that does nothing; in that case, each item will ! 957: come out without highlighting, unless that particular piece of text ! 958: contains @-commands for highlighting. ! 959: ! 960: (Various other command names might work with `@table'. However, only ! 961: commands that normally take arguments in braces may be used.) ! 962: ! 963: Usually, you should put a blank line before an `@item'. This puts a ! 964: blank like in the Info file. Except when the entries are very brief, ! 965: a blank line looks better. ! 966: ! 967: The following table, for example, highlights the text in the first ! 968: column as if each item were acted on by an `@samp' command: ! 969: ! 970: @table @samp ! 971: @item foo ! 972: This is the text for ! 973: @samp{foo}. ! 974: ! 975: @item bar ! 976: Text for @samp{bar}. ! 977: @end table ! 978: ! 979: produces ! 980: ! 981: `foo' ! 982: This is the text for `foo'. ! 983: ! 984: `bar' ! 985: Text for `bar'. ! 986: ! 987: Info indents the lines of text in the second column, but does not ! 988: fill them. As a result, the lines in the Info file may be too wide. ! 989: To prevent this, cause Info to refill the paragraphs after processing ! 990: by adding the @-command `@refill' to the end of the paragraph. (*Note ! 991: Refill::, for more information about the use of the `@refill' command.) ! 992: ! 993: If you want to list two or more named items with a single block of ! 994: text, use the `@itemx' command. ! 995: ! 996: * Menu: ! 997: ! 998: * Itemx:: ! 999: ! 1000: ! 1001: ! 1002: File: texinfo, Node: Itemx, Prev: Table, Up: Table ! 1003: ! 1004: @itemx ! 1005: ------ ! 1006: ! 1007: `@itemx' is used inside a `@table' when you have two or more named ! 1008: items for the same block of text. Use `@itemx' for all but the first ! 1009: of the items. It works exactly like `@item' except that it does not ! 1010: generate extra vertical space above the item text. For example, ! 1011: ! 1012: @table @code ! 1013: @item upcase ! 1014: @itemx downcase ! 1015: These two functions accept a character or a string as argument, ! 1016: and return the corresponding upper case (lower case) character ! 1017: or string. @refill ! 1018: @end table ! 1019: ! 1020: produces ! 1021: ! 1022: `upcase' ! 1023: `downcase' ! 1024: These two functions accept a character or a string as ! 1025: argument, and return the corresponding upper case (lower ! 1026: case) character or string. ! 1027: ! 1028: A more complicated example of the use of `@itemx' comes from the ! 1029: chapter on structuring commands. Here is how the list showing how ! 1030: the chapter structuring commands fall into four groups was constructed. ! 1031: (*Note Chapter Structuring Commands: Structuring.) ! 1032: ! 1033: @table @code ! 1034: @item @@chapter ! 1035: @itemx @@unnumbered ! 1036: @itemx @@appendix ! 1037: For chapters and chapter-like parts of a document. ! 1038: ! 1039: @item @@section ! 1040: @itemx @@unnumberedsec ! 1041: @itemx @@appendixsec ! 1042: For sections and section-like parts of a document. ! 1043: ! 1044: @item @@subsection ! 1045: @itemx @@unnumberedsubsec ! 1046: @itemx @@appendixsubsec ! 1047: For subsections and subsection-like parts of a document. ! 1048: ! 1049: @item @@subsubsection ! 1050: @itemx @@unnumberedsubsubsec ! 1051: @itemx @@appendixsubsubsec ! 1052: For subsubsections and similar parts of a document. ! 1053: @end table ! 1054: ! 1055: and this is what the resulting table looks like: ! 1056: ! 1057: `@chapter' ! 1058: `@unnumbered' ! 1059: `@appendix' ! 1060: For chapters and chapter-like parts of a document. ! 1061: ! 1062: `@section' ! 1063: `@unnumberedsec' ! 1064: `@appendixsec' ! 1065: For sections and section-like parts of a document. ! 1066: ! 1067: `@subsection' ! 1068: `@unnumberedsubsec' ! 1069: `@appendixsubsec' ! 1070: For subsections and subsection-like parts of a document. ! 1071: ! 1072: `@subsubsection' ! 1073: `@unnumberedsubsubsec' ! 1074: `@appendixsubsubsec' ! 1075: For subsubsections and similar parts of a document. ! 1076: ! 1077: Also, either column of a table can be empty. ! 1078: ! 1079: ! 1080: ! 1081: File: texinfo, Node: Cross References, Next: Formatting Paragraphs, Prev: Lists and Tables, Up: Top ! 1082: ! 1083: Making Cross References ! 1084: *********************** ! 1085: ! 1086: Cross references are used to refer the reader to other parts of the ! 1087: same or different Texinfo files. In Texinfo, "nodes" are the points ! 1088: to which cross-references can refer. ! 1089: ! 1090: In general, a document should be designed so that it can be read ! 1091: sequentially. People soon tire of flipping back and forth to find ! 1092: information that should be presented to them as they need it. ! 1093: However, there will be information (often too detailed for whatever ! 1094: the current context may be) that is related to whatever is presented ! 1095: and to which reference should be made. More important, in an on-line ! 1096: help system or in a reference manual, readers do *not* read ! 1097: everything in sequence from beginning to end. Instead, they look up ! 1098: what they need. For this reason, such creations should contain many ! 1099: cross references to help the reader find other information that he or ! 1100: she may not have read. ! 1101: ! 1102: Although nodes are not a fundamental concept in a printed manual, ! 1103: they still serve to define a cross-reference point and the variants ! 1104: of `@xref' still serve to make references. Thus, if you are writing ! 1105: a manual that will only be printed, and will not be used on-line, you ! 1106: continue to use the `@node' command for when you make cross references. ! 1107: ! 1108: There are several kinds of cross reference command. ! 1109: ! 1110: `@xref' ! 1111: Used to start a sentence in the printed manual saying, `See ...' ! 1112: or an entry in the Info file saying `*note ...'. ! 1113: ! 1114: `@pxref' ! 1115: Used to make a reference that starts with a lowercase `see' ! 1116: and is usually contained within parentheses. ! 1117: ! 1118: `@inforef' ! 1119: Used to make a reference to an Info file for which there is no ! 1120: printed manual. ! 1121: ! 1122: * Menu: ! 1123: ! 1124: * Xref:: ! 1125: * Pxref:: ! 1126: * Inforef:: ! 1127: ! 1128: ! 1129: ! 1130: File: texinfo, Node: Xref, Next: Pxref, Prev: Cross References, Up: Cross References ! 1131: ! 1132: @xref ! 1133: ===== ! 1134: ! 1135: `@xref' generates a cross-reference. In Texinfo, it turns into an ! 1136: Info cross-reference which the Info `f' command can use to go ! 1137: directly to another node. In TeX, it turns into a sentence of the form ! 1138: ! 1139: See section SECTION [TOPIC], page PAGE ! 1140: ! 1141: but does not generate a period to end it. ! 1142: ! 1143: `@xref' must refer to an Info node created by `@node', by the node's ! 1144: name. ! 1145: ! 1146: `@xref' is followed by an argument inside braces; but actually the ! 1147: text inside the braces is treated as several arguments, separated by ! 1148: commas. Whitespace after these commas is ignored. A period or comma ! 1149: *must* follow the closing brace of an `@xref'. It is required to ! 1150: terminate the cross reference. This period or comma will appear in ! 1151: the output, both in the Info file and in the printed manual. ! 1152: ! 1153: The simplest form of `@xref' takes one argument, the name of another ! 1154: node in the same Info file. Here we show the input text, followed by ! 1155: a blank line and then the output text for Info files and the output ! 1156: text for printed manuals. ! 1157: ! 1158: @xref{node-name}, for more info. ! 1159: ! 1160: *note node-name::, for more info. ! 1161: ! 1162: See section NNN [node-name], page PPP, for more info. ! 1163: ! 1164: With two arguments, the second one is used as the name of the Info ! 1165: cross-reference, while the first argument is still the node that the ! 1166: cross-reference points to: ! 1167: ! 1168: @xref{node-name, name-for-note}, for more info. ! 1169: ! 1170: *note name-for-note: node-name, for more info. ! 1171: ! 1172: See section NNN [node-name], page PPP, for more info. ! 1173: ! 1174: A third argument replaces the node name when it actually appears in ! 1175: the TeX output. It should state the topic discussed by the section ! 1176: being referenced. Often, you will want to use initial uppercase ! 1177: letters so it will be easier to read when the reference is printed. ! 1178: Use a third argument when the node name is unsuitable because of ! 1179: syntax, grammar or diction. ! 1180: ! 1181: @xref{node-name, name-for-note, Topic Description}, for more info. ! 1182: ! 1183: *note name-for-note: node-name, for more info. ! 1184: ! 1185: See section NNN [Topic Description], page PPP, for more info. ! 1186: ! 1187: If a third argument is given and the second one is empty, then the ! 1188: third argument serves both purposes: ! 1189: ! 1190: @xref{node-name, , Topic Description}, for more info. ! 1191: ! 1192: *note Topic Description: node-name, for more info. ! 1193: ! 1194: See section NNN [Topic Description], page PPP, for more info. ! 1195: ! 1196: A fourth argument specifies the name of the Info file in which the ! 1197: referenced node is located, assuming it is not the one in which the ! 1198: reference appears. `@xref' with only four arguments is used when the ! 1199: reference is not within one Info file, but is within a single printed ! 1200: manual--when multiple Texinfo files are incorporated into the same ! 1201: TeX run but make separate Info files. (This is seldom the case and ! 1202: usually you will use five arguments if you are making a reference ! 1203: that is outside the current Info file.) ! 1204: ! 1205: @xref{node-name, name-for-note, Topic, info-file-name}, ! 1206: for more info. ! 1207: ! 1208: *note name-for-note: (info-file-name) node-name, for more info. ! 1209: ! 1210: See section NNN [Topic], page PPP, for more info. ! 1211: ! 1212: A fifth argument is used when you are making a reference to another ! 1213: Info file which is also part of another printed manual. Write the ! 1214: title of the manual in this slot. Since a different manual is made ! 1215: during a different TeX run, the printed reference will not have a ! 1216: page number. ! 1217: ! 1218: Whenever you refer to another manual, use this version of `@xref' ! 1219: with five arguments. ! 1220: ! 1221: @xref{node-name, name-for-note, Topic, info-file-name, A Printed Manual}, ! 1222: for more info. ! 1223: ! 1224: *note name-for-note: (info-file-name) node-name, for more info. ! 1225: ! 1226: See section Topic of A Printed Manual, for more info. ! 1227: ! 1228: The name of the printed manual will be typeset in italics. ! 1229: ! 1230: Often, you will leave out the second argument when you use the long ! 1231: version of `@xref'. In this case, the third argument, the topic ! 1232: description, will replace the node name: ! 1233: ! 1234: @xref{node-name, , Topic Description, info-file-name, A Printed Manual}, ! 1235: for more info. ! 1236: ! 1237: *note Topic Description: (info-file-name) node-name, for more info. ! 1238: ! 1239: See section Topic Description of A Printed Manual, for more info. ! 1240: ! 1241: ! 1242: ! 1243: File: texinfo, Node: Pxref, Next: Inforef, Prev: Xref, Up: Cross References ! 1244: ! 1245: @pxref ! 1246: ====== ! 1247: ! 1248: `@pxref' is nearly the same as `@xref'; it differs in only two ways: ! 1249: ! 1250: 1. The output starts with lower case `see' rather than `See'. ! 1251: ! 1252: 2. A period is generated automatically in the Info file output to ! 1253: end the Info cross-reference, but no period is generated for the ! 1254: printed manual. ! 1255: ! 1256: The purpose of `@pxref' is to be used inside parentheses as part of ! 1257: another sentence. In the printed manual, no period is needed after ! 1258: the cross reference text itself (within the parentheses), but a ! 1259: period is needed after the cross reference text in the Info file ! 1260: because only thus can Info recognize the end of the cross-reference. ! 1261: `@pxref' spares you the need to use complicated methods to put a ! 1262: period into one form of the output and not the other. ! 1263: ! 1264: `@pxref' can be used with up to five arguments just like `@xref'. ! 1265: (*Note Xref::.) ! 1266: ! 1267: ! 1268: ! 1269: File: texinfo, Node: Inforef, Prev: Pxref, Up: Cross References ! 1270: ! 1271: @inforef ! 1272: ======== ! 1273: ! 1274: `@inforef' is used for cross-references to Info files for which there ! 1275: are no printed manuals. Even in a printed manual, `@inforef' ! 1276: generates a reference directing the user to look in an Info file. ! 1277: `@inforef' takes exactly three arguments. The syntax is ! 1278: `@inforef{NODE, NAME, FILE}'. ! 1279: ! 1280: @inforef{node-name, name-for-note, info-file-name}, for more information. ! 1281: ! 1282: *note name-for-note: (info-file-name) node-name, for more information. ! 1283: ! 1284: See Info file `info-file-name', node `node-name', for more ! 1285: information. ! 1286: ! 1287: ! 1288: ! 1289: File: texinfo, Node: Formatting Paragraphs, Next: Marking Text, Prev: Cross References, Up: Top ! 1290: ! 1291: Formatting Paragraphs ! 1292: ********************* ! 1293: ! 1294: Usually, a Texinfo file will be processed both by TeX and by the `M-x ! 1295: texinfo-format-buffer' command. Consequently, you must make sure ! 1296: that text will come out looking right both in the printed manual and ! 1297: in the on-line help. ! 1298: ! 1299: For example, unless told otherwise, `M-x texinfo-format-buffer' will ! 1300: not refill a paragraph after processing it although TeX will. This ! 1301: means that a paragraph with numerous or large @-commands may not look ! 1302: properly filled after processing by Info. The @-commands are removed ! 1303: from the text but the lines are not refilled so some are much shorter ! 1304: than they were. To cause the `M-x texinfo-format-buffer' command to ! 1305: refill such a paragraph, put `@refill' at the end of the paragraph. ! 1306: ! 1307: TeX may also format a document improperly. For example, page breaks ! 1308: may occur in the ``wrong place''; to control this, text can be held ! 1309: together by a group command that keeps the text within the group from ! 1310: being split across two pages. ! 1311: ! 1312: * Menu: ! 1313: ! 1314: * Refilling & Noindent:: Refilling paragraphs & preventing indentation ! 1315: * Breaks Blank-Lines Groups:: Line and paragraph breaks, blank lines, grouping ! 1316: ! 1317: ! 1318: ! 1319: File: texinfo, Node: Refilling & Noindent, Next: Breaks Blank-Lines Groups, Prev: Formatting Paragraphs, Up: Formatting Paragraphs ! 1320: ! 1321: Refilling Paragraphs and Preventing Indentation ! 1322: =============================================== ! 1323: ! 1324: The `@refill' and `@noindent' commands are used just after or just ! 1325: before paragraphs which, after processing by either Info or TeX, ! 1326: might look bad. The `@refill' command refills a paragraph in the ! 1327: Info file after all the other processing has been done. In the ! 1328: printed manual, the `@noindent' command prevents a piece of text that ! 1329: is a continuation of the preceding paragraph from being indented as ! 1330: if it were a new paragraph. ! 1331: ! 1332: * Menu: ! 1333: ! 1334: * Refill:: Refilling an info paragraph after other processing. ! 1335: * Noindent:: Preventing paragraph indentation in continuation text. ! 1336: ! 1337: ! 1338: ! 1339: File: texinfo, Node: Refill, Next: Noindent, Prev: Refilling & Noindent, Up: Refilling & Noindent ! 1340: ! 1341: @refill ! 1342: ------- ! 1343: ! 1344: If a paragraph contains sizable @-constructs, it may look badly ! 1345: filled after `texinfo-format-buffer' is through with it. ! 1346: ! 1347: Put `@refill' at the end of the paragraph to tell ! 1348: `texinfo-format-buffer' to refill the paragraph after finishing all ! 1349: other processing on it. `@refill' has no effect on TeX, which always ! 1350: fills everything that ought to be filled. For example, ! 1351: ! 1352: To use @code{foo}, pass @samp{xx%$} and @var{flag} and type @kbd{x} ! 1353: after running @code{make-foo}.@refill ! 1354: ! 1355: produces (in the Info file) ! 1356: ! 1357: To use `foo', pass `xx%$' and FLAG and type `x' after running `make-foo'. ! 1358: ! 1359: whereas without the `@refill' it would produce ! 1360: ! 1361: To use `foo', pass `xx%$' and FLAG and type `x' ! 1362: after running `make-foo'. ! 1363: ! 1364: with the line broken at the same place as in the Texinfo input file. ! 1365: ! 1366: Do not put a space before `@refill'; otherwise the command might be ! 1367: put at the beginning of the line when you refill the paragraph in the ! 1368: Texinfo file with `M-q' (`fill-paragraph'). If this were to happen, ! 1369: the `@refill' command might fail to work ! 1370: ! 1371: ! 1372: ! 1373: File: texinfo, Node: Noindent, Prev: Refill, Up: Refilling & Noindent ! 1374: ! 1375: @noindent ! 1376: --------- ! 1377: ! 1378: If you have text following an `@example' or other similar ``special ! 1379: paragraph'' that reads as a continuation of the text before the ! 1380: `@example', it is good to prevent this text from being indented as a ! 1381: new paragraph. To accomplish this, put `@noindent' on a line by ! 1382: itself before the start of the text that should not be indented. For ! 1383: example, ! 1384: ! 1385: @example ! 1386: This is an example ! 1387: @end example ! 1388: ! 1389: @noindent ! 1390: This line will not be indented. ! 1391: ! 1392: produces ! 1393: ! 1394: This is an example ! 1395: ! 1396: This line will not be indented. ! 1397: ! 1398: To adjust the number of blank lines properly in the Info file output, ! 1399: remember that the line containing `@noindent' does not generate a ! 1400: blank line, and neither does the `@end example' line. ! 1401: ! 1402: In the Texinfo source file for this documentation, each of the lines ! 1403: that says `produces' is preceded by a line containing `@noindent'. ! 1404: ! 1405:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.