|
|
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: Top, Next: License, Prev: (dir), Up: (dir) ! 29: ! 30: * Menu: ! 31: ! 32: * License:: Licensing information. ! 33: * Overview:: What is Texinfo? ! 34: * Texinfo Mode:: Special features in GNU Emacs. ! 35: * Beginning a File:: What to put at the beginning of a Texinfo file. ! 36: * Ending a File:: What to put at the end of a Texinfo file. ! 37: * Structuring:: How to make nodes and chapters. ! 38: * Quotations and Examples:: How to insert quotations and examples. ! 39: * Lists and Tables:: How to make lists and tables. ! 40: * Cross References:: How to make cross references. ! 41: * Formatting Paragraphs:: How to format paragraphs. ! 42: * Marking Text:: How to mark code, definitions, variables etc. ! 43: * Conditionals:: Putting text in only Info or the printed work. ! 44: * Printing Hardcopy:: How to print a hardcopy of the manual. ! 45: * Creating an Info File:: How to create an on-line Info file. ! 46: * Catching Mistakes:: How to find problems. ! 47: ! 48: Indices, nodes containing large menus ! 49: ! 50: * Command Index:: An item for each @-command. ! 51: * Concept Index:: An item for each concept. ! 52: ! 53: A detailed node listing ! 54: ! 55: Overview ! 56: * Info File:: Characteristics of the Info file. ! 57: * Printed Manual:: Characteristics of the printed manual. ! 58: * Conventions:: General syntactic conventions. ! 59: * Short Sample:: A short sample Texinfo file. ! 60: ! 61: Using Texinfo Mode ! 62: * Info on a Region:: Formatting a region for Info. ! 63: * Showing the Structure:: Showing the structure of a file. ! 64: * Inserting:: Inserting frequently used commands. ! 65: ! 66: Beginning a Texinfo File. ! 67: * First Line:: The first line of a Texinfo file. ! 68: * Start-of-Header:: Identifying the start of the header. ! 69: * Setfilename:: Specifying the name of the Info file. ! 70: * Settitle:: Specifying the title used by the headings. ! 71: * Setchapternewpage:: Starting chapters on odd numbered pages. ! 72: * Titlepage:: The title and copyright page. ! 73: * Center:: Centering a line. ! 74: * Copyright & Printed Permissions:: Ensuring free distributability. ! 75: * Top Node:: The master menu. ! 76: * License and Distribution:: Your are free to copy and distribute this. ! 77: ! 78: Ending a Texinfo File ! 79: * Contents:: Generating tables of contents. ! 80: * Indices:: Generating indices. ! 81: * Index Entries:: Defining the entries of an index. ! 82: * Combining Indices:: Putting two or more indices together. ! 83: * Printing Indices & Menus:: Printing an index and generating menus. ! 84: ! 85: Node and Chapter Structuring ! 86: * Chapter:: Creating a chapter. ! 87: * Unnumbered and Appendix:: Chapter-like parts. ! 88: * Section:: Creating sections ! 89: * Subsection:: Creating subsections. ! 90: * Subsubsection:: Creating subsubsections. ! 91: ! 92: * Node:: Creating nodes. ! 93: * Menu:: Creating menus. ! 94: ! 95: ! 96: Making quotations and examples ! 97: * Quotation:: Inserting long quotations. ! 98: * Example:: Inserting examples of code and the like. ! 99: * Display:: Inserting displayed text. ! 100: ! 101: Making lists and two column tables ! 102: * Itemize:: Creating itemized lists. ! 103: * Enumerate:: Creating enumerated lists. ! 104: * Table:: Creating two column tables. ! 105: * Itemx:: Putting an extra item in the ! 106: first column of a table. ! 107: ! 108: Making Cross References ! 109: * Xref:: Making a regular cross reference. ! 110: * Pxref:: Making a parenthetical cross reference. ! 111: * Inforef:: Making a cross reference to an Info file. ! 112: ! 113: ! 114: Formatting Paragraphs ! 115: * Refilling & Noindent:: Refilling paragraphs ! 116: and preventing indentation ! 117: * Refill:: Using the `@refill' command. ! 118: * Noindent:: Using the `@noindent' command. ! 119: ! 120: ! 121: Breaks, Blank Lines and Groups ! 122: * Line Breaks:: Inserting line breaks in TeX. ! 123: * Sp:: Inserting blank lines. ! 124: * Br:: Inserting paragraph breaks. ! 125: * W:: Preventing line breaks. ! 126: * Page:: Starting new pages. ! 127: * Group:: Holding text together on one page. ! 128: * Need:: Keeping text together. ! 129: ! 130: Marking Text Within a Paragraph ! 131: * Code:: A literal example of a piece of a program. ! 132: * Samp:: A literal example of a sequence of characters. ! 133: * File:: The name of a file. ! 134: * Kbd:: The names of keys or else characters you type. ! 135: * Key:: The conventional name for a key on a keyboard. ! 136: * Ctrl:: Indicates the ASCII control character. ! 137: * Var:: A variable. ! 138: * Dfn:: The introductory or defining use of a term. ! 139: * Cite:: The name of a book. ! 140: ! 141: Inserting Braces, `@' and Periods ! 142: * Braces Atsigns Periods:: Inserting braces, `@' and periods. ! 143: * Dots Bullets Tex:: Inserting dots, bullets and the TeX logo ! 144: * Emphasis:: Emphasizing text. ! 145: ! 146: Emphasizing Text ! 147: * Emph and Strong:: Emphasizing text. ! 148: * Fonts:: Selecting italic, bold or typewriter fonts. ! 149: ! 150: Creating an Info File ! 151: * Installing an Info File:: Putting the Info file in the ! 152: `info' directory. ! 153: ! 154: Catching Mistakes ! 155: * Debugging with Info:: Catching errors with info formatting. ! 156: * Using the Emacs Lisp Debugger:: Using the Emacs Lisp Debugger ! 157: * Debugging with Tex:: Catching errors with TeX formatting. ! 158: * Using texinfo-show-structure:: Using `texinfo-show-structure' ! 159: to catch mistakes. ! 160: * Using Occur:: Using `occur' to catch mistakes. ! 161: * Running Info-Validate:: Checking for unreferenced nodes. ! 162: ! 163: Finding badly referenced nodes ! 164: * Info-Validating a Large File:: Running `Info-validate' ! 165: on a large file. ! 166: * Splitting:: Splitting a file manually. ! 167: ! 168: Appendices ! 169: * Command Syntax:: Details about the syntax. ! 170: * Include Files:: Making one printed file out of ! 171: several Info files. ! 172: * TeX Input:: Where TeX finds its `\input' file. ! 173: * Sample Permissions:: You may copy GNU Software. ! 174: * Ifinfo Permissions:: What to put in the `ifinfo' section. ! 175: * Titlepage Permissions:: What to put in the `@titlepage' section. ! 176: ! 177: ! 178: ! 179: File: texinfo, Node: License, Next: Overview, Prev: Top, Up: Top ! 180: ! 181: Licensing Information ! 182: ********************* ! 183: ! 184: The programs currently being distributed that relate to Texinfo ! 185: include two portions of GNU Emacs, plus two other separate programs ! 186: (`texindex' and `texinfo.tex'). These programs are "free"; this ! 187: means that everyone is free to use them and free to redistribute them ! 188: on a free basis. The Texinfo related programs are not in the public ! 189: domain; they are copyrighted and there are restrictions on their ! 190: distribution, but these restrictions are designed to permit ! 191: everything that a good cooperating citizen would want to do. What is ! 192: not allowed is to try to prevent others from further sharing any ! 193: version of these programs that they might get from you. ! 194: ! 195: Specifically, we want to make sure that you have the right to give ! 196: away copies of the programs that relate to Texinfo, that you receive ! 197: source code or else can get it if you want it, that you can change ! 198: these programs or use pieces of them in new free programs, and that ! 199: you know you can do these things. ! 200: ! 201: To make sure that everyone has such rights, we have to forbid you to ! 202: deprive anyone else of these rights. For example, if you distribute ! 203: copies of the Texinfo related programs, you must give the recipients ! 204: all the rights that you have. You must make sure that they, too, ! 205: receive or can get the source code. And you must tell them their ! 206: rights. ! 207: ! 208: Also, for our own protection, we must make certain that everyone ! 209: finds out that there is no warranty for the programs that relate to ! 210: Texinfo. If these programs are modified by someone else and passed ! 211: on, we want their recipients to know that what they have is not what ! 212: we distributed, so that any problems introduced by others will not ! 213: reflect on our reputation. ! 214: ! 215: The precise conditions of the licenses for the programs currently ! 216: being distributed that relate to Texinfo are found in the General ! 217: Public Licenses that accompany them. The programs that are part of ! 218: GNU Emacs are covered by the GNU Emacs copying terms (*note : ! 219: (emacs)License.), and other programs are covered by licenses that are ! 220: contained in their source files. ! 221: ! 222: ! 223: ! 224: File: texinfo, Node: Overview, Next: Texinfo Mode, Prev: License, Up: Top ! 225: ! 226: Overview of Texinfo ! 227: ******************* ! 228: ! 229: Texinfo is a documentation system that uses a single source file for ! 230: both on-line help and a printed manual. This means that instead of ! 231: writing two different documents, one for the on-line help and the ! 232: other for the printed manual, only one document needs to be written. ! 233: When the system is revised, only one file has to be revised. ! 234: ! 235: Using Texinfo, you can create a document with the normal features of ! 236: a book such as chapters, sections, cross references and indices. The ! 237: chapters and sections of the printed manual can be made to correspond ! 238: to the nodes of the on-line help. The cross references and indices ! 239: can be used in both the on-line help and in the printed document. ! 240: Indices are generated semi-automatically. The ``GNU Emacs Manual'' ! 241: is a good example of a Texinfo file. ! 242: ! 243: To make the printed manual, the Texinfo source file is processed by ! 244: the TeX typesetting program; the resulting DVI file can be typeset ! 245: and printed as a book. To make the on-line help, the Texinfo source ! 246: file is by processed the `M-x texinfo-format-buffer' command; the ! 247: resulting Info file is installed in the `info' directory. ! 248: ! 249: Since the Texinfo source file is used for a dual task--to create both ! 250: the on-line help and the printed manual--it must be written in a ! 251: special format that uses @-commands (words preceded by an `@') to ! 252: indicate chapters, sections, nodes, examples, index entries and the ! 253: like. ! 254: ! 255: Before writing a Texinfo source file, you should be familiar with the ! 256: on-line Info documentation reading program. (*note info: (info)Info, ! 257: for more information.) If you are writing a document that will be ! 258: both on-line and printed, you will need both Info and TeX. ! 259: ! 260: To make an Info file, you use the `M-x texinfo-format-buffer' command ! 261: in GNU Emacs. ! 262: ! 263: To make a printed manual, you need to use TeX, a powerful, ! 264: sophisticated typesetting program written by Donald Knuth. TeX is ! 265: freely distributable. It is written in a dialect of Pascal called WEB ! 266: and can be compiled either in Pascal or (by using a conversion ! 267: program that comes with the TeX distribution) in C. (For information ! 268: about getting TeX, *note : (emacs)TeX Mode.) ! 269: ! 270: When TeX processes a Texinfo source file, TeX makes use of a macro ! 271: definitions file called `texinfo.tex' that comes with the GNU Emacs ! 272: distribution in the `emacs/man' sources directory. (The first line ! 273: of every Texinfo file has a command that says `\input texinfo'; this ! 274: tells TeX to use the `texinfo.tex' file.) ! 275: ! 276: If the `texinfo.tex' file has not already been copied to the ! 277: directory which contains the other TeX macro definition files when ! 278: Emacs was installed, you will probably want to copy it to that ! 279: directory. Usually, this is the `/usr/lib/tex/macros' directory. ! 280: For more information, *note @TeX{} Input Initialization: TeX Input. ! 281: ! 282: Documentation for GNU utilities and libraries should be written in ! 283: Texinfo format. ! 284: ! 285: * Menu: ! 286: ! 287: * Info File:: Characteristics of the Info file. ! 288: * Printed Manual:: Characteristics of the Printed Manual. ! 289: * Conventions:: General Syntactic Conventions. ! 290: * Short Sample:: A short sample Texinfo file. ! 291: ! 292: ! 293: ! 294: File: texinfo, Node: Info File, Next: Printed Manual, Up: Overview ! 295: ! 296: Characteristics of the Info file ! 297: ================================ ! 298: ! 299: A Texinfo file can be transformed into a printed manual and an ! 300: on-line Info file. ! 301: ! 302: An on-line Info file is a file formatted so that the Info ! 303: documentation reading program can operate on it. Info files are ! 304: divided into pieces called "nodes", each of which contains the ! 305: discussion of one topic. Each node has a name, and contains both ! 306: text for the user to read and pointers to other nodes, which are ! 307: identified by their names. The Info program displays one node at a ! 308: time, and provides commands with which the user can move to the other ! 309: nodes to which the current node points. ! 310: ! 311: *note info: (info)Info, for more information about using Info. ! 312: ! 313: Normally, most of the nodes are arranged in a tree which branches down. ! 314: Each node may have any number of child nodes that describe subtopics ! 315: of the node's topic. The names of these child nodes, if any, are ! 316: listed in a "menu" within the parent node; this allows certain Info ! 317: commands to be used to move to one of the child nodes. Each child ! 318: node records the parent node name, as its `Up' pointer. Thus, if a ! 319: node were at the logical level of a `chapter', its child nodes would ! 320: be `sections'; likewise, the child nodes of a section would be ! 321: subsections. ! 322: ! 323: The root of the tree is the top node of the file, through which users ! 324: enter the file from the Info directory. By convention, this node is ! 325: always called `Top'. This node normally contains just a brief ! 326: summary of the file's purpose, and a large menu through which the ! 327: rest of the file is reached. ! 328: ! 329: Generally you enter the Info file from the top; then you can either ! 330: traverse the file systematically by going from node to node or you ! 331: can search large menus that correspond to indices and go directly to ! 332: the node that has the information you want. ! 333: ! 334: If you want to read through an Info file in sequence, as if it were a ! 335: printed manual, you can get the whole file with the advanced Info ! 336: command `g *'. (*note info: (info)Expert.) ! 337: ! 338: All the children of any one parent are linked together in a ! 339: bidirectional chain of `Next' and `Previous' pointers. This means ! 340: that all the nodes that are logically parallel to sections within a ! 341: chapter are all linked together. Normally the order in this chain is ! 342: the same as the order of the children in the parent's menu. The last ! 343: child has no `Next' pointer, and the first child normally has the ! 344: parent as its `Previous' pointer (as well as its `Up' pointer, of ! 345: course). ! 346: ! 347: Structuring the nodes in a tree is a matter of convention, not a ! 348: requirement. In fact, the `Up', `Previous' and `Next' pointers of a ! 349: node can point to any other nodes, and the menu can contain any other ! 350: nodes. The structure of nodes can be any directed graph. But it is ! 351: usually more comprehensible to make it a tree. Info provides another ! 352: kind of pointer between nodes, called a reference, that can be ! 353: sprinkled through the text of a node. This is usually the best way ! 354: to represent links that do not fit the tree structure. ! 355: ! 356: Most often the nodes fall into a strict tree structure that ! 357: corresponds to the structure of chapters and sections in the printed ! 358: manual. But there are times when this is not right for the material ! 359: being discussed. Therefore, Texinfo uses separate commands to ! 360: specify the node structure of the Info file and the section structure ! 361: of the printed manual. Also, Texinfo requires that you specify menus ! 362: explicitly, rather than generate them automatically based on an ! 363: assumed tree structure. ! 364: ! 365: ! 366: ! 367: File: texinfo, Node: Printed Manual, Next: Conventions, Prev: Info File, Up: Top ! 368: ! 369: Characteristics of the Printed Manual ! 370: ===================================== ! 371: ! 372: A Texinfo file can be formatted and typeset as a printed manual. The ! 373: printed manual will be the same as any other book; it will have a ! 374: title page, copyright page, table of contents, and preface as you ! 375: would expect, as well as chapters, numbered or unnumbered sections ! 376: and subsections, not to mention page headers, cross references and ! 377: indices. ! 378: ! 379: Texinfo can be used for writing a book without ever having the ! 380: intention of converting it into on-line help. Texinfo can be used ! 381: for writing a novel; and it can even be used to write a memo, ! 382: although this application is not recommended since electronic mail is ! 383: so much easier. ! 384: ! 385: Texinfo uses the formatting language called TeX for typesetting. A ! 386: file called `texinfo.tex' contains information (definitions or ! 387: "macros") that TeX uses when it typesets a Texinfo file. (The macros ! 388: tell TeX how to convert the Texinfo @-commands to TeX commands which ! 389: TeX can then process to create the typeset document.) `texinfo.tex' ! 390: contains the specifications for printing a document, either with 7 ! 391: inch by 9.25 inch pages or with 8.5 inch by 11 inch pages. (This is ! 392: 178 mm by 235 mm or else 216 mm by 280 mm.) Also, by changing the ! 393: parameters in `texinfo.tex' you can easily change the size of the ! 394: printed document. In addition, you can readily change the style in ! 395: which the printed document is formatted; for example, you can change ! 396: the sizes and fonts used, the amount of indentation for each ! 397: paragraph, the degree to which words are hyphenated, and the like. ! 398: By changing the specifications, you can make a book look dignified, ! 399: old and serious, or light-hearted, young and cheery. ! 400: ! 401: TeX is very powerful and has a great many features. Because a ! 402: Texinfo file must be able to present information both on a ! 403: character-only terminal in Info form and in a typeset book, the ! 404: commands that Texinfo supports are necessarily limited. ! 405: ! 406: ! 407: ! 408: File: texinfo, Node: Conventions, Next: Short Sample, Prev: Printed Manual, Up: Overview ! 409: ! 410: General Syntactic Conventions ! 411: ============================= ! 412: ! 413: Texinfo files contain a strictly limited set of constructs. The ! 414: strict limits make it possible for Texinfo files to be understood ! 415: both by TeX and by the code which converts them into Info files. ! 416: ! 417: All ASCII printing characters except `@', `{' and `}' can appear in ! 418: body text in a Texinfo file and stand for themselves. `@' is the ! 419: escape character which introduces commands. `{' and `}' should be ! 420: used only to surround arguments to certain commands. `{' and `}' ! 421: appearing anywhere else will be treated by TeX as a grouping but ! 422: treated by the code that produces an Info file as themselves; this ! 423: inconsistency is undesirable, so don't let it occur. To put one of ! 424: these special characters into the document, put an `@' character in ! 425: front of it. For example, you would insert `@@', `@{', and `@}'. ! 426: ! 427: It is customary in TeX to use doubled single-quote characters to ! 428: begin and end quotations, ```' like these `'''. This convention ! 429: should be followed in Texinfo files. Also, three hyphens in a row, ! 430: `--', are used for a dash--like this. In TeX, a single or even a ! 431: double hyphen produces a dash that is shorter than you want. ! 432: ! 433: TeX ignores the line-breaks in the input text, except for blank ! 434: lines, which separate paragraphs. Info generally preserves the line ! 435: breaks that are present in the input file. Therefore, break the ! 436: lines in the Texinfo file the way you want them to appear in the ! 437: output Info file, and let TeX take care of itself. ! 438: ! 439: Since Info does not normally refill paragraphs when it processes ! 440: them, a line with @-commands in it will sometimes look bad after Info ! 441: has run on it. To cause Info to refill the paragraph after finishing ! 442: with the other processing, you need to put the command `@refill' at ! 443: the end of the paragraph. (*Note Refilling paragraphs and Preventing ! 444: indentation: Refilling & Noindent.) ! 445: ! 446: To prevent a paragraph from being indented in the printed manual, put ! 447: the command `@noindent' on a line by itself before the start of the ! 448: text that should not be indented. ! 449: ! 450: If you mark off a region of the Texinfo file with the `@iftex' and ! 451: `@end iftex' commands so that the region will appear only in the ! 452: printed copy, you can use TeX commands that cannot be used in the ! 453: Info file. ! 454: ! 455: In order to be made into a printed manual, a Texinfo file *must* ! 456: begin with lines that looks like ! 457: ! 458: \input texinfo @c -*-texinfo-*- ! 459: @setfilename INFO-FILE-NAME ! 460: @settitle NAME OF MANUAL ! 461: ! 462: The `\input texinfo' line tells TeX to use the `texinfo.tex' file. ! 463: This line is usually followed by a start-of-header line (not shown ! 464: here) and then by the `@setfilename INFO-FILE-NAME' and `@settitle ! 465: NAME OF MANUAL' lines. These two lines are needed to provide a name ! 466: for the Info file and to specify the name used on the left-hand page ! 467: headers of the printed manual. ! 468: ! 469: The two lines that contain the `@setfilename' and `@settitle' ! 470: commands usually are sandwiched between the start-of-header line and ! 471: the end-of-header line. (*Note Start-of-Header::, for more ! 472: information.) The start-of-header and end-of-header lines are needed ! 473: if you are going to run TeX or Info on just part of a file. ! 474: ! 475: ! 476: ! 477: File: texinfo, Node: Short Sample, Prev: Conventions, Up: Overview ! 478: ! 479: A Short Sample Texinfo File ! 480: =========================== ! 481: ! 482: A Texinfo file looks like the following, which is a complete but very ! 483: short Texinfo file. The `@comment' command introduces comments that ! 484: will not appear in either the Info file or the printed manual; they ! 485: are for the person who reads the Texinfo file. ! 486: ! 487: The first part of the file, from `\input texinfo' through to `@end ! 488: titlepage', looks more intimidating than it is. Most of the material ! 489: is standard boilerplate; when you write a manual, you just put in the ! 490: name of your own manual in this section. ! 491: ! 492: All the commands that tell TeX how to typeset the printed manual and ! 493: tell `texinfo-format-buffer' how to create an Info file are preceded ! 494: by `@'; thus, `@node' indicates a node and `@chapter' indicates the ! 495: start of a chapter. ! 496: ! 497: \input texinfo @c -*-texinfo-*- ! 498: @setfilename name-of-texinfo-file ! 499: @settitle Name of Manual ! 500: @setchapternewpage odd ! 501: ! 502: @ifinfo ! 503: @comment The following line inserts the copyright notice ! 504: @comment into the Info file. ! 505: Copyright @copyright{} 1988 Free Software Foundation, Inc. ! 506: @end ifinfo ! 507: ! 508: @comment The titlepage section does not appear in the Info file. ! 509: @titlepage ! 510: @sp 10 ! 511: @comment The title is printed in a large font. ! 512: @center @titlefont{Sample Title} ! 513: ! 514: @comment The following two commands start the copyright page ! 515: @comment for the printed manual. This will not appear in the Info file. ! 516: @page ! 517: @vskip 0pt plus 1filll ! 518: Copyright @copyright{} year copyright-owner ! 519: @end titlepage ! 520: ! 521: @comment The Top node contains the master menu for the Info file. ! 522: @comment This appears only in the Info file, not the printed manual. ! 523: ! 524: @node Top, First Chapter, (dir), (dir) ! 525: @comment node-name, next, previous, up ! 526: ! 527: @menu ! 528: * First Chapter:: The first chapter is the ! 529: only chapter in this sample. ! 530: @end menu ! 531: ! 532: @node First Chapter, , Top, Top ! 533: @comment node-name, next, previous, up ! 534: @chapter First Chapter ! 535: @cindex Reference to First Chapter ! 536: ! 537: This is the contents of the first chapter. ! 538: ! 539: Here is a numbered list. ! 540: ! 541: @enumerate ! 542: @item ! 543: This is the first item. ! 544: ! 545: @item ! 546: This is the second item. ! 547: @end enumerate ! 548: ! 549: The @kbd{M-x texinfo-format-buffer} command transforms a Texinfo file ! 550: like this into an Info file; and @TeX{} typesets it for a printed ! 551: manual. ! 552: ! 553: @node Concept Index, , Previous Node, Top ! 554: @comment node-name, next, previous, up ! 555: @unnumbered Concept Index ! 556: ! 557: @printindex cp ! 558: ! 559: @contents ! 560: @bye ! 561: ! 562: Here is what the contents of the first chapter of the sample look like: ! 563: ! 564: This is the contents of the first chapter. ! 565: ! 566: Here is a numbered list. ! 567: ! 568: 1. This is the first item. ! 569: ! 570: 2. This is the second item. ! 571: ! 572: The `M-x texinfo-format-buffer' command transforms a Texinfo ! 573: file like this into an Info file; and TeX typesets it for a ! 574: printed manual. ! 575: ! 576: ! 577: ! 578: File: texinfo, Node: Texinfo Mode, Next: Beginning a File, Prev: Overview, Up: Top ! 579: ! 580: Using Texinfo Mode ! 581: ****************** ! 582: ! 583: In GNU Emacs, Texinfo mode is a major mode for editing Texinfo files. ! 584: This means that Emacs has commands and features especially designed ! 585: for working with Texinfo files. Like all other Emacs features, you ! 586: can customize or enhance these as you wish. In particular, the ! 587: keybindings are very easy to change. The keybindings described here ! 588: are the default or standard ones. ! 589: ! 590: The major features of Texinfo mode are: ! 591: ! 592: * Paragraph filling control. ! 593: ! 594: * A command to show the structure of the file. ! 595: ! 596: * Pre-defined keystroke commands to insert commonly used strings ! 597: of text. ! 598: ! 599: * Formatting a part of a file for Info, rather than the whole file. ! 600: ! 601: In general, in Texinfo mode, the GNU Emacs editing commands are like ! 602: those in text-mode. The major difference is that the paragraph ! 603: separation variable and syntax table are set up so expression ! 604: commands skip Texinfo bracket groups. This means, for example, that ! 605: the `M-q' (`fill-paragraph') command will refill a paragraph but not ! 606: the @-command on a line adjacent to it. ! 607: ! 608: By convention, the Texinfo file name shall end with the extension ! 609: `.texinfo' so that Emacs knows to use Texinfo mode for editing it. ! 610: ! 611: * Menu: ! 612: ! 613: * Info on a Region:: Formatting part of a file for Info. ! 614: * Showing the Structure:: Showing the structure of a file. ! 615: * Inserting:: Inserting frequently used commands. ! 616: ! 617: ! 618: ! 619: File: texinfo, Node: Info on a Region, Next: Showing the Structure, Prev: Texinfo Mode, Up: Texinfo Mode ! 620: ! 621: Formatting a Region for Info ! 622: ============================ ! 623: ! 624: To see what part of a Texinfo file will look like after it has been ! 625: transformed into an Info file, use the command `C-c C-f' ! 626: (`texinfo-format-region'). This command formats the current region ! 627: of the Texinfo file for Info and writes it to a temporary buffer ! 628: called `*Info Region*'. ! 629: ! 630: For `texinfo-format-region' to work, the file *must* include a line ! 631: that has `@setfilename' in its header. ! 632: ! 633: The command is: ! 634: ! 635: `C-c C-f' ! 636: texinfo-format-region ! 637: ! 638: ! 639: ! 640: File: texinfo, Node: Showing the Structure, Next: Inserting, Prev: Info on a Region, Up: Texinfo Mode ! 641: ! 642: Showing the Structure of a File ! 643: =============================== ! 644: ! 645: You can show the structure of a Texinfo file by using the `C-c C-s' ! 646: command (`texinfo-show-structure'). This command shows the structure ! 647: of a Texinfo file by listing the lines with the @-commands for ! 648: `@node', `@chapter', `@section' and the like. These lines are ! 649: displayed in another window called the `*Occur*' window. In that ! 650: window, you can position the cursor over one of the lines and use the ! 651: `C-c C-c' command (`occur-mode-goto-occurrence'), to jump to the ! 652: corresponding spot in the Texinfo file. ! 653: ! 654: The two commands are: ! 655: ! 656: `C-c C-s' ! 657: texinfo-show-structure ! 658: ! 659: `C-c C-c' ! 660: occur-mode-goto-occurrence ! 661: ! 662: Often, when you are working on a manual, you will be interested only ! 663: in the structure of the current chapter. In this case, you can mark ! 664: off the region of the buffer that you are interested in with the `C-x ! 665: n' (`narrow-to-region') command and `texinfo-show-structure' will ! 666: work on only that region. (To see the whole buffer again, use `C-x ! 667: w' (`widen').) ! 668: ! 669: ! 670: ! 671: File: texinfo, Node: Inserting, Prev: Showing the Structure, Up: Texinfo Mode ! 672: ! 673: Inserting Frequently Used Commands ! 674: ================================== ! 675: ! 676: Texinfo mode provides commands that insert various frequently used ! 677: @-commands into the buffer. You can use these commands to save ! 678: keystrokes. And you can insert balanced curly braces with the `M-{' ! 679: command, (`texinfo-insert-braces') and later use the `M-}' command ! 680: (`up-list') to move forward past the closing brace. ! 681: ! 682: The special commands are invoked by typing `C-c' twice and then the ! 683: first letter of the @-command. ! 684: ! 685: `C-c C-c c' ! 686: texinfo-insert-@code ! 687: ! 688: `C-c C-c d' ! 689: texinfo-insert-@dfn ! 690: ! 691: `C-c C-c e' ! 692: texinfo-insert-@end ! 693: ! 694: `C-c C-c i' ! 695: texinfo-insert-@item ! 696: ! 697: `C-c C-c n' ! 698: texinfo-insert-@node ! 699: ! 700: `C-c C-c s' ! 701: texinfo-insert-@samp ! 702: ! 703: `C-c C-c v' ! 704: texinfo-insert-@var ! 705: ! 706: `M-{' ! 707: texinfo-insert-braces ! 708: ! 709: `M-}' ! 710: up-list ! 711: ! 712: This list was generated by analyzing the frequency with which ! 713: commands were used in the ``GNU Emacs Manual'' and the ``GDB ! 714: Manual''. If you wish to add your own insert commands, you can bind ! 715: a keyboard macro to a key, use abbreviations or extend the code in ! 716: `texinfo.el'. ! 717: ! 718: ! 719: ! 720: File: texinfo, Node: Beginning a File, Next: Ending a File, Prev: Texinfo Mode, Up: Top ! 721: ! 722: Beginning a Texinfo File ! 723: ************************ ! 724: ! 725: Various pieces of information have to be provided to Texinfo at the ! 726: beginning of a Texinfo file, such as the name of the file, the title ! 727: of the document and the like. Generally, the beginning of a Texinfo ! 728: file has four parts: ! 729: ! 730: 1. The header, marked by start-of-header and end-of-header lines, ! 731: that includes the commands for naming the Texinfo file and ! 732: telling TeX what definitions' file to use when processing the ! 733: file. ! 734: ! 735: 2. A section, marked by the `@ifinfo' and `@end ifinfo' commands, ! 736: that contains a short statement of what the file is about, the ! 737: copyright notice and copying permissions. This section appears ! 738: only in the Info file. ! 739: ! 740: 3. A section, marked by the `@titlepage' and `@end titlepage' ! 741: commands, that contains the title page, the copyright page and ! 742: copying permissions. This section appears only in the printed ! 743: manual. ! 744: ! 745: 4. The `Top' node that contains an extensive menu for the whole ! 746: Info file. The contents of this node only appear in the Info ! 747: file. ! 748: ! 749: If the Texinfo file has a section containing licensing information ! 750: and a warranty disclaimer, that section usually follows the `Top' ! 751: node. The licensing section will be followed by a preface or else by ! 752: the first chapter of the manual. ! 753: ! 754: Since the copyright notice and the copying permissions are in ! 755: sections that appear only in the Info file or only in the printed ! 756: manual, this information has to be repeated twice. ! 757: ! 758: The following sample shows what is needed. ! 759: ! 760: \input texinfo @c -*-texinfo-*- ! 761: @comment %**start of header (This is for running Texinfo on a region.) ! 762: @setfilename name-of-texinfo-file ! 763: @settitle Name of Manual ! 764: @setchapternewpage odd ! 765: @comment %**end of header (This is for running Texinfo on a region.) ! 766: ! 767: @ifinfo ! 768: This file documents ... ! 769: ! 770: Copyright @copyright{} year copyright-owner ! 771: ! 772: Permission is granted to ... ! 773: @end ifinfo ! 774: ! 775: @titlepage ! 776: @sp 10 ! 777: @center @titlefont{Name of Manual When Printed} ! 778: @sp 2 ! 779: @center Subtitle, If Any ! 780: @sp 2 ! 781: @center Author ! 782: ! 783: @comment The following two commands start the copyright page. ! 784: @page ! 785: @vskip 0pt plus 1filll ! 786: Copyright @copyright{} year copyright-owner ! 787: ! 788: Published by ... ! 789: ! 790: Permission is granted to ... ! 791: @end titlepage ! 792: ! 793: ! 794: @node Top, Overview, (dir), (dir) ! 795: ! 796: @menu ! 797: * First Chapter:: The first chapter is usually an overview. ! 798: * Second Chapter:: ... ! 799: <many more menu items here> ! 800: @end menu ! 801: ! 802: @node First Chapter, Second Chapter, top, top ! 803: @comment node-name, next, previous, up ! 804: @chapter First Chapter ! 805: @cindex Reference to First Chapter ! 806: ! 807: * Menu: ! 808: ! 809: * Header:: Necessary first lines. ! 810: * Permissions for Info:: Copyright notice and copying permissions. ! 811: * Titlepage & Copyright Page:: Printed title and copyright pages. ! 812: * Top Node:: The top node and master menu. ! 813: * License and Distribution:: The importance of the license. ! 814: ! 815: ! 816: ! 817: File: texinfo, Node: Header, Next: Permissions for Info, Prev: Beginning a File, Up: Beginning a File ! 818: ! 819: The Texinfo File Header ! 820: ======================= ! 821: ! 822: Texinfo files start with at least three lines that provide Info and ! 823: TeX with necessary information. If you want to run TeX on just a ! 824: part of the Texinfo File, you also have to mark these heading lines ! 825: with start-of-header and end-of-header lines. ! 826: ! 827: * Menu: ! 828: ! 829: * First Line:: The first line of a Texinfo file. ! 830: * Start-of-Header:: Identifying the start of the header. ! 831: * Setfilename:: Specifying the name of the Info file. ! 832: * Settitle:: Specifying the title used by the headings. ! 833: * Setchapternewpage:: Starting chapters on odd numbered pages. ! 834: * End-of-Header:: Identifying the end of the header. ! 835: ! 836: ! 837: ! 838: File: texinfo, Node: First Line, Next: Start-of-Header, Prev: Header, Up: Header ! 839: ! 840: The First Line of a Texinfo File ! 841: -------------------------------- ! 842: ! 843: Every Texinfo file that is to be the top-level input to TeX must ! 844: begin with a line that looks like this: ! 845: ! 846: \input texinfo @c -*-texinfo-*- ! 847: ! 848: The line serves two functions: ! 849: ! 850: 1. When the file is processed by TeX, it loads the macros needed ! 851: for processing a Texinfo file. These are in a file called ! 852: `texinfo.tex' which is usually located in the ! 853: `/usr/lib/tex/macros' directory. ! 854: ! 855: 2. When the file is edited in GNU Emacs, it causes Texinfo mode to ! 856: be used. ! 857: ! 858: The `\input texinfo' line should be followed by the start-of-header ! 859: line. This makes it possible for the command for running TeX on a ! 860: part of the Texinfo file (`texinfo-hardcopy-region') to operate. The ! 861: reason for this is that the `texinfo-hardcopy-region' command will ! 862: look on the line preceding the start-of-header line for the `\input ! 863: texinfo' line. ! 864: ! 865: ! 866: ! 867: File: texinfo, Node: Start-of-Header, Next: Setfilename, Prev: First Line, Up: Header ! 868: ! 869: `start-of-header' ! 870: ----------------- ! 871: ! 872: The start-of-header line should immediately follow the first line of ! 873: the Texinfo file. ! 874: ! 875: The `texinfo-hardcopy-region' command will look at the line preceding ! 876: the start-of-header line to find the `\input texinfo' line. ! 877: ! 878: Usually, the start-of-header line looks like this: ! 879: ! 880: @comment %**start of header (This is for running Texinfo on a region.) ! 881: ! 882: The reason for the odd string of characters (`%**') is so that the ! 883: `texinfo-hardcopy-region' command does not accidently find something ! 884: that it shouldn't when it is looking for the header. ! 885: ! 886: In the default configuration, the phrase `(This is for running ! 887: Texinfo on a region.)' is not needed and is just included to make it ! 888: easier for someone reading the Texinfo file. ! 889: ! 890: The start-of-header line and the end-of-header line are Texinfo mode ! 891: variables that you can change. ! 892: ! 893: ! 894: ! 895: File: texinfo, Node: Setfilename, Next: Settitle, Prev: Start-of-Header, Up: Header ! 896: ! 897: @setfilename ! 898: ------------ ! 899: ! 900: In order to be made into an Info file, a Texinfo file must contain a ! 901: line that looks like this: ! 902: ! 903: @setfilename INFO-FILE-NAME ! 904: ! 905: This line specifies the name of the Info file to be generated. In ! 906: fact, there can be other things in the file before this line, but ! 907: they are ignored in the generation of an Info file. The ! 908: `@setfilename' line is ignored when a printed manual is generated. ! 909: ! 910: ! 911: ! 912: File: texinfo, Node: Settitle, Next: Setchapternewpage, Prev: Setfilename, Up: Header ! 913: ! 914: @settitle ! 915: --------- ! 916: ! 917: In order to be made into a printed manual file, a Texinfo file must ! 918: contain a line that specifies the title of the manual. Texinfo uses ! 919: this information during printing to put the title on every other page ! 920: as a heading; Texinfo puts the current chapter title on the other ! 921: pages. Texinfo can find the name of the chapter title from the ! 922: information provided by the `@chapter' command, but you must tell it ! 923: the manual title with `@settitle': ! 924: ! 925: @settitle TITLE ! 926: ! 927: This command, on a line by itself, causes TITLE to be used for the ! 928: headings. Usually, you will use the same words for the title on the ! 929: title page and for the title specified by this command for the ! 930: headings, but the two could be different. For example, the title on ! 931: the title page may be longer than the title specified by the ! 932: `settitle' command. ! 933: ! 934: The `@settitle' command should precede everything that generates ! 935: actual output. ! 936: ! 937: ! 938: ! 939: File: texinfo, Node: Setchapternewpage, Next: End-of-Header, Prev: Settitle, Up: Header ! 940: ! 941: @setchapternewpage ! 942: ------------------ ! 943: ! 944: Conventionally, chapters start on the page on the right hand side of ! 945: a book; and the right hand page has an odd number. To make sure that ! 946: Texinfo does this, you can use the command `@setchapternewpage'. For ! 947: example, to cause each chapter to start on a fresh odd-numbered page: ! 948: ! 949: @setchapternewpage odd ! 950: ! 951: Page numbering is turned on by the `@end titlepage' command, so the ! 952: `@setchapternewpage' should come before it. Although it can occur ! 953: anywhere in the beginning of the file, it is most convenient to put ! 954: it in this location. ! 955: ! 956: ! 957: ! 958: File: texinfo, Node: End-of-Header, Prev: Setchapternewpage, Up: Header ! 959: ! 960: `end-of-header' ! 961: --------------- ! 962: ! 963: The end-of-header line should follow the line containing the ! 964: `@setchapternewpage' command. ! 965: ! 966: Usually, the end-of-header line looks like this: ! 967: ! 968: @comment %**end of header (This is for running Texinfo on a region.) ! 969: ! 970: In the default configuration, the phrase `(This is for running ! 971: Texinfo on a region.)' is not needed and is just included to make it ! 972: easier for someone reading the Texinfo file. ! 973: ! 974: The reason for the odd string of characters (`%**') is so that the ! 975: `texinfo-hardcopy-region' command does not accidently find something ! 976: that it shouldn't when it is looking for the header. ! 977: ! 978: The start-of-header line and the end-of-header line are Texinfo mode ! 979: variables that you can change. ! 980: ! 981: ! 982: ! 983: File: texinfo, Node: Permissions for Info, Next: Titlepage & Copyright Page, Prev: Header, Up: Beginning a File ! 984: ! 985: Copying Permissions for Info ! 986: ============================ ! 987: ! 988: Since the title page and the copyright page appear only in the ! 989: printed copy of the manual, the same information has to inserted in a ! 990: section that appears only in the Info file. This section usually ! 991: contains a brief description of the contents of the Info file, a ! 992: copyright notice and copying permissions. ! 993: ! 994: The copyright notice should read: ! 995: ! 996: Copyright YEAR COPYRIGHT-OWNER ! 997: ! 998: and be put on a line by itself. ! 999: ! 1000: Standard text for the copyright permissions is contained in the ! 1001: appendix. *Note Ifinfo Permissions::, for the complete text. ! 1002: ! 1003: ! 1004: ! 1005: File: texinfo, Node: Titlepage & Copyright Page, Next: Top Node, Prev: Permissions for Info, Up: Beginning a File ! 1006: ! 1007: The Title and Copyright Pages ! 1008: ============================= ! 1009: ! 1010: The title and copyright pages appear in the printed manual, but not ! 1011: in the Info file. Because of this, it is possible to use a couple of ! 1012: slightly obscure TeX typesetting commands that could not be used in ! 1013: an Info file. In addition, this part of the beginning of a Texinfo ! 1014: file contains the text of the copying permissions that will appear in ! 1015: the printed manual. ! 1016: ! 1017: * Menu: ! 1018: ! 1019: * Titlepage:: Creating a title page for the printed manual. ! 1020: * Center:: Centering a line. ! 1021: * Copyright & Printed Permissions:: Inserting the copyright notice ! 1022: and printed permissions. ! 1023: ! 1024: ! 1025: ! 1026: File: texinfo, Node: Titlepage, Next: Center, Prev: Setchapternewpage, Up: Titlepage & Copyright Page ! 1027: ! 1028: @titlepage ! 1029: ---------- ! 1030: ! 1031: Start the material for the title page and following copyright page ! 1032: with `@titlepage' on a line by itself and end it with `@end ! 1033: titlepage' on a line by itself. The title page and copyright page ! 1034: material appears only in the printed manual, not in the Info file. ! 1035: ! 1036: Also, the `@end titlepage' command starts a new page and turns on ! 1037: page numbering (generation of headings). Therefore, all the material ! 1038: that you want to appear on unnumbered pages should be put between the ! 1039: `@titlepage' and `@end titlepage' commands. By using the `@page' ! 1040: command you can force a page break within the region delineated by ! 1041: the `@titlepage' and `@end titlepage' commands and create more than ! 1042: one unnumbered page. This is how the copyright page is produced. ! 1043: ! 1044: To select a large font suitable for the title itself, you can use the ! 1045: command `@titlefont'. For example: ! 1046: ! 1047: @center @titlefont{Texinfo} ! 1048: ! 1049: Also, you can use `@sp' commands to adjust vertical spacing. For ! 1050: example: ! 1051: ! 1052: @sp 2 ! 1053: ! 1054: In the sample, the spacing was chosen to fit an 8 1/2 by 11 inch ! 1055: manual. ! 1056: ! 1057: ! 1058: ! 1059: File: texinfo, Node: Center, Next: Titlepage, Prev: Copyright & Printed Permissions, Up: Titlepage & Copyright Page ! 1060: ! 1061: @center ! 1062: ------- ! 1063: ! 1064: A line containing `@center TEXT' produces a line of output containing ! 1065: TEXT, centered between the margins. ! 1066: ! 1067: ! 1068: ! 1069: File: texinfo, Node: Copyright & Printed Permissions, Next: Center, Up: Titlepage & Copyright Page ! 1070: ! 1071: The Copyright Page and Printed Permissions ! 1072: ------------------------------------------ ! 1073: ! 1074: By international treaty, the copyright notice for a book should ! 1075: either be on the title page or on the back of the title page. Other ! 1076: locations in a book are not official and do not provide copyright ! 1077: protection. The copyright notice should include the year followed by ! 1078: the name of the person or organization who has the copyright. ! 1079: ! 1080: When the copyright notice is on the back of the title page, the page ! 1081: is not numbered. Therefore, in Texinfo, the information on the ! 1082: copyright page should be within the region delineated by the ! 1083: `@titlepage' and `@end titlepage' commands. ! 1084: ! 1085: To cause a page break, the `@page' command is used. In the sample, ! 1086: the `@page' command is followed by the somewhat mysterious line that ! 1087: reads: `@vskip 0pt plus 1filll'. This is a line that uses TeX ! 1088: commands to push the copyright notice and the other text on the ! 1089: copyright page towards the bottom of the page. The `@vskip' command ! 1090: means to skip lines and put in white space. The `0pt plus 1filll' ! 1091: means to put in zero points of mandatory white space, and as much ! 1092: optional white space as needed. Note the use of three `l's in the ! 1093: word `filll'; this is the correct use in TeX. ! 1094: ! 1095: The `@copyright{}' command generates a `c' inside a circle. The ! 1096: copyright notice itself has the following legally defined sequence: ! 1097: ! 1098: Copyright (C) YEAR COPYRIGHT-OWNER ! 1099: ! 1100: It is customary to put information on how to get a manual after the ! 1101: copyright notice (the address of the Free Software Foundation, for ! 1102: example) and the permissions. ! 1103: ! 1104: Note that the permissions have to be repeated here as well as in the ! 1105: `ifinfo' section that immediately follows the header since this ! 1106: section appears only in the printed manual and the `ifinfo' section ! 1107: appears only in the Info file. ! 1108: ! 1109: Standard text for the permissions appears in the appendix. *Note ! 1110: Sample Permissions::. ! 1111: ! 1112: ! 1113: ! 1114: File: texinfo, Node: Top Node, Next: License and Distribution, Prev: Titlepage & Copyright Page, Up: Beginning a File ! 1115: ! 1116: The Top Node and Master Menu ! 1117: ============================ ! 1118: ! 1119: The `Top' node contains an extensive, master menu for the whole Info ! 1120: file. The contents of this node appear only in the Info file. ! 1121: Nothing in this node should appear in the printed file. Since a node ! 1122: line by itself and a menu by itself are not printed, the contents of ! 1123: this node do not have to be within a region delineated by `@ifinfo' ! 1124: and `@end ifinfo' commands. However, any text within the node should ! 1125: be marked off in that manner. You may want to put a short summary ! 1126: before the master menu inside a region delineated by `@ifinfo' and ! 1127: `@end ifinfo' commands. Usually, the `Previous' and `Up' nodes refer ! 1128: to the top level directory of the whole Info system, with pointers to ! 1129: `(dir)'. ! 1130: ! 1131: Generally, the top menu is divided into parts. ! 1132: ! 1133: * The first part contains the major nodes in the Texinfo file: the ! 1134: nodes for the chapters, chapter-like sections and the major ! 1135: appendices. ! 1136: ! 1137: * The second part contains entries for the indices. In an Info ! 1138: file, it is very useful to have indices here at the beginning of ! 1139: the file in the top node rather than at the end, as in a printed ! 1140: book. ! 1141: ! 1142: * The third and subsequent parts contain a listing of the other, ! 1143: lower level nodes, often ordered by chapter. This way, an ! 1144: inquirer can go directly to a particular node if he or she is ! 1145: searching for specific information. (These nodes are not ! 1146: required; use them if you think they are a convenience.) ! 1147: ! 1148: Each section in the menu can be introduced a descriptive line. So ! 1149: long as the line does not begin with an asterisk, it will not be ! 1150: treated as a menu item. (*Note Making Menus: Menu, for more ! 1151: information.) ! 1152: ! 1153: For example, the Top node of this manual looks like this (but with ! 1154: many more entries): ! 1155: ! 1156: @node Top, Overview, (dir), (dir) ! 1157: ! 1158: @menu ! 1159: * Overview:: What is Texinfo? ! 1160: * Texinfo Mode:: Special features in GNU Emacs. ! 1161: ... ! 1162: ! 1163: Indices, nodes containing large menus ! 1164: ! 1165: * Command Index:: An item for each @-command. ! 1166: * Concept Index:: An item for each concept. ! 1167: ! 1168: A detailed node listing ! 1169: ! 1170: Overview ! 1171: * Info File:: Characteristics of the Info file. ! 1172: * Printed Manual:: Characteristics of the printed manual. ! 1173: ! 1174: Using Texinfo Mode ! 1175: * Info on a Region:: Formatting a region for Info. ! 1176: * Showing the Structure:: Showing the structure of a file. ! 1177: ... ! 1178: ... ! 1179: ! 1180: ! 1181: ! 1182: File: texinfo, Node: License and Distribution, Prev: Top Node, Up: Beginning a File ! 1183: ! 1184: Licensing and Distribution Information ! 1185: ====================================== ! 1186: ! 1187: If the Texinfo file has a section containing the ``General Public ! 1188: License'' and the distribution information and a warranty disclaimer, ! 1189: this section usually follows the `Top' node. The licensing and ! 1190: distribution information and the disclaimer are followed by a preface ! 1191: or else by the first chapter of the manual. ! 1192: ! 1193: The licensing agreement is very important to Project GNU ! 1194: documentation and software. Without it, you may find that you can no ! 1195: longer get the software or its documentation. This sounds ! 1196: paradoxical, but the state of the world is such that documentation ! 1197: and software that does not have a ``restrictive'' license to make ! 1198: them freely distributable may be lost to the public. This has ! 1199: happened. ! 1200: ! 1201: For a good example of the text that could be used for the ! 1202: Distribution, General Public License and NO WARRANTY sections of your ! 1203: document, see the latest version of the ``GNU Emacs Manual''. ! 1204: ! 1205: Although a preface is not a required part of a Texinfo file, it is ! 1206: very helpful. Ideally, it should state clearly and concisely what ! 1207: the file is about and who would be interested in reading it. In ! 1208: general, the preface would follow the licensing and distribution ! 1209: information, although sometimes people put it earlier in the ! 1210: document. Usually, a preface is put in an `@unnumbered' section. ! 1211: (*Note Unnumbered and Appendix::.) ! 1212: ! 1213: ! 1214: ! 1215: File: texinfo, Node: Ending a File, Next: Structuring, Prev: Beginning a File, Up: Top ! 1216: ! 1217: Ending a Texinfo File ! 1218: ********************* ! 1219: ! 1220: The end of a Texinfo file should include the indices, the commands to ! 1221: generate detailed and summary tables of contents and the @-command ! 1222: that tells TeX that it has reached the end of the file. ! 1223: ! 1224: For example, a Texinfo file might be ended as follows: ! 1225: ! 1226: @node Concept Index, , Previous Node, Top ! 1227: @comment node-name, next, previous, up ! 1228: @unnumbered Concept Index ! 1229: ! 1230: @printindex cp ! 1231: ! 1232: @contents ! 1233: @bye ! 1234: ! 1235: The `@bye' command should be on a line by itself and every Texinfo ! 1236: file must end with such a line. This command terminates TeX ! 1237: processing and forces out unfinished pages. ! 1238: ! 1239: * Menu: ! 1240: ! 1241: * Contents:: Generating a table of contents ! 1242: * Indices:: Generating, sorting and printing indices ! 1243: ! 1244: ! 1245: ! 1246: File: texinfo, Node: Contents, Next: Indices, Up: Ending a File ! 1247: ! 1248: Generating a Table of Contents ! 1249: ============================== ! 1250: ! 1251: The commands `@chapter', `@section', etc., supply the information to ! 1252: make up a table of contents, but they do not cause an actual table to ! 1253: be generated. To do this, you must use the commands `@contents' and ! 1254: `@summarycontents'. ! 1255: ! 1256: `@contents' ! 1257: The table of contents command outputs (into a printed manual) a ! 1258: complete table of contents, based on the `@chapter', ! 1259: `@unnumbered' and other sectioning commands. This command ! 1260: should be used on a line by itself. ! 1261: ! 1262: `@summarycontents' ! 1263: The summary contents command generates a summary table of ! 1264: contents that lists only the chapters (and appendices and ! 1265: unnumbered chapters); sections, subsections and subsubsections ! 1266: are omitted. This command should be used on a line by itself. ! 1267: Only large manuals need a summary table of contents. ! 1268: ! 1269: You can use either one of these commands, or both. Each command ! 1270: automatically generates a chapter-like heading at the top of the page. ! 1271: Tables of contents should be generated at the very end of the manual, ! 1272: just before the `@bye' command; the tables of contents commands ! 1273: should follow any indices that are output, so that the indices will ! 1274: appear in the contents. ! 1275: ! 1276: INDICES... ! 1277: @summarycontents ! 1278: @contents ! 1279: @bye ! 1280: ! 1281: The commands `@contents' and `@summarycontents' are ignored when an ! 1282: Info file is being generated. ! 1283: ! 1284:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.