texinfo.txi (93139) | texinfo.txi (100513) |
---|---|
1\input texinfo.tex @c -*-texinfo-*- | 1\input texinfo.tex @c -*-texinfo-*- |
2@c $Id: texinfo.txi,v 1.192 2002/03/04 14:52:52 karl Exp $ | 2@c $Id: texinfo.txi,v 1.219 2002/03/28 16:36:00 karl Exp $ 3@c Ordinarily Texinfo files have the extension .texi. But texinfo.texi 4@c clashes with texinfo.tex on 8.3 filesystems, so we use texinfo.txi. 5 6@c Everything between the start/end of header lines will be passed by 7@c Emacs's {texinfo,makeinfo}-format region commands. See the `start of 8@c header' node for more info. |
3@c %**start of header 4 | 9@c %**start of header 10 |
5@c All text is ignored before the setfilename. | 11@c makeinfo and texinfo.tex ignore all text before @setfilename. 12@c 13@c Ordinarily the setfilename argument ends with .info. But 14@c texinfo.info-13 is too long for 14-character filesystems. |
6@setfilename texinfo 7 | 15@setfilename texinfo 16 |
17@c Automake automatically updates version.texi to @set VERSION and 18@c @set UPDATED to appropriate values. |
|
8@include version.texi | 19@include version.texi |
9@settitle Texinfo @value{VERSION} | 20@settitle GNU Texinfo @value{VERSION} |
10 11@c Define a new index for options. 12@defcodeindex op 13@c Put everything except function (command, in this case) names in one 14@c index (arbitrarily chosen to be the concept index). 15@syncodeindex op cp 16@syncodeindex vr cp 17@syncodeindex pg cp 18 19@footnotestyle separate 20@paragraphindent 2 21@c finalout 22 23@comment %**end of header 24 | 21 22@c Define a new index for options. 23@defcodeindex op 24@c Put everything except function (command, in this case) names in one 25@c index (arbitrarily chosen to be the concept index). 26@syncodeindex op cp 27@syncodeindex vr cp 28@syncodeindex pg cp 29 30@footnotestyle separate 31@paragraphindent 2 32@c finalout 33 34@comment %**end of header 35 |
36@copying 37This manual is for GNU Texinfo (version @value{VERSION}, @value{UPDATED}), 38a documentation system that can produce both online information and a 39printed manual from a single source. 40 41Copyright (C) 1988, 90, 91, 92, 93, 95, 96, 97, 98, 99, 2000, 01, 02 42Free Software Foundation, Inc. 43 44@quotation 45Permission is granted to copy, distribute and/or modify this document 46under the terms of the GNU Free Documentation License, Version 1.1 or 47any later version published by the Free Software Foundation; with no 48Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' 49and with the Back-Cover Texts as in (a) below. A copy of the license is 50included in the section entitled ``GNU Free Documentation License.'' 51 52(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify 53this GNU Manual, like GNU software. Copies published by the Free 54Software Foundation raise funds for GNU development.'' 55@end quotation 56@end copying 57 |
|
25@dircategory Texinfo documentation system 26@direntry 27* Texinfo: (texinfo). The GNU documentation format. 28* install-info: (texinfo)Invoking install-info. Update info/dir entries. 29* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents. 30* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files. 31* makeinfo: (texinfo)Invoking makeinfo. Translate Texinfo source. 32@end direntry --- 4 unchanged lines hidden (view full) --- 37@c Set smallbook if printing in smallbook format so the example of the 38@c smallbook font is actually written using smallbook; in bigbook, a kludge 39@c is used for TeX output. Do this through the -t option to texi2dvi, 40@c so this same source can be used for other paper sizes as well. 41@c smallbook 42@c set smallbook 43@c @@clear smallbook 44 | 58@dircategory Texinfo documentation system 59@direntry 60* Texinfo: (texinfo). The GNU documentation format. 61* install-info: (texinfo)Invoking install-info. Update info/dir entries. 62* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents. 63* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files. 64* makeinfo: (texinfo)Invoking makeinfo. Translate Texinfo source. 65@end direntry --- 4 unchanged lines hidden (view full) --- 70@c Set smallbook if printing in smallbook format so the example of the 71@c smallbook font is actually written using smallbook; in bigbook, a kludge 72@c is used for TeX output. Do this through the -t option to texi2dvi, 73@c so this same source can be used for other paper sizes as well. 74@c smallbook 75@c set smallbook 76@c @@clear smallbook 77 |
45@c If you like blank pages. Can add through texi2dvi -t. | 78@c If you like blank pages, add through texi2dvi -t. |
46@c setchapternewpage odd 47 48@c Currently undocumented command, 5 December 1993: 49@c nwnode (Same as node, but no warnings; for `makeinfo'.) 50 | 79@c setchapternewpage odd 80 81@c Currently undocumented command, 5 December 1993: 82@c nwnode (Same as node, but no warnings; for `makeinfo'.) 83 |
51@ifinfo 52This file documents Texinfo, a documentation system that can produce 53both online information and a printed manual from a single source. This 54edition is for Texinfo version @value{VERSION}, @value{UPDATED}. | |
55 | 84 |
56Copyright (C) 1988, 90, 91, 92, 93, 95, 96, 97, 98, 99, 2000, 01, 02 57Free Software Foundation, Inc. 58 59Permission is granted to copy, distribute and/or modify this document 60under the terms of the GNU Free Documentation License, Version 1.1 or 61any later version published by the Free Software Foundation; with the 62Invariant Section being ``History'', with no Front-Cover Texts, and with 63no Back-Cover Texts. A copy of the license is included in the section 64entitled ``GNU Free Documentation License''. 65@end ifinfo 66 67 | |
68@shorttitlepage Texinfo 69 70@titlepage 71@title Texinfo 72@subtitle The GNU Documentation Format 73@subtitle for Texinfo version @value{VERSION}, @value{UPDATED} 74 75@author Robert J. Chassell 76@author Richard M. Stallman 77 78@c Include the Distribution inside the titlepage so 79@c that headings are turned off. 80 81@page 82@vskip 0pt plus 1filll | 85@shorttitlepage Texinfo 86 87@titlepage 88@title Texinfo 89@subtitle The GNU Documentation Format 90@subtitle for Texinfo version @value{VERSION}, @value{UPDATED} 91 92@author Robert J. Chassell 93@author Richard M. Stallman 94 95@c Include the Distribution inside the titlepage so 96@c that headings are turned off. 97 98@page 99@vskip 0pt plus 1filll |
83Copyright @copyright{} 1988, 90, 91, 92, 93, 95, 96, 97, 98, 99, 2000, 01, 02 84Free Software Foundation, Inc. | 100@insertcopying |
85 | 101 |
86This manual is for Texinfo version @value{VERSION}, @value{UPDATED}. 87 | |
88Published by the Free Software Foundation @* 8959 Temple Place Suite 330 @* 90Boston, MA 02111-1307 @* 91USA @* 92ISBN 1-882114-67-1 @c for version 4.0, September 1999. | 102Published by the Free Software Foundation @* 10359 Temple Place Suite 330 @* 104Boston, MA 02111-1307 @* 105USA @* 106ISBN 1-882114-67-1 @c for version 4.0, September 1999. |
93@c ISBN 1-882114-65-5 @c for version 3.12, March 1998. 94@c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995 | 107@c ISBN 1-882114-65-5 is for version 3.12, March 1998. |
95@c ISBN 1-882114-64-7 is for edition 2.24 of November 1996. | 108@c ISBN 1-882114-64-7 is for edition 2.24 of November 1996. |
109@c ISBN 1-882114-63-9 is for edition 2.20 of 28 February 1995 |
|
96 97Cover art by Etienne Suvasa. | 110 111Cover art by Etienne Suvasa. |
98 99Permission is granted to copy, distribute and/or modify this document 100under the terms of the GNU Free Documentation License, Version 1.1 or 101any later version published by the Free Software Foundation; with the 102Invariant Section being ``History'', with no Front-Cover Texts, and with 103no Back-Cover Texts. A copy of the license is included in the section 104entitled ``GNU Free Documentation License''. 105 | |
106@end titlepage 107 | 112@end titlepage 113 |
114 |
|
108@summarycontents 109@contents 110 | 115@summarycontents 116@contents 117 |
118 |
|
111@ifnottex 112@node Top 113@top Texinfo 114 | 119@ifnottex 120@node Top 121@top Texinfo 122 |
115Texinfo is a documentation system that uses a single source to produce 116both online information and printed output. | 123@insertcopying |
117 118The first part of this master menu lists the major nodes in this Info 119document, including the @@-command and concept indices. The rest of 120the menu lists all the lower level nodes in the document. 121 | 124 125The first part of this master menu lists the major nodes in this Info 126document, including the @@-command and concept indices. The rest of 127the menu lists all the lower level nodes in the document. 128 |
122This is Edition @value{VERSION} of the Texinfo manual, updated @value{UPDATED}. | |
123@end ifnottex 124 125@menu | 129@end ifnottex 130 131@menu |
126* Copying:: Your rights. | 132* Copying Conditions:: Your rights. |
127* Overview:: Texinfo in brief. 128* Texinfo Mode:: How to use Texinfo mode. 129* Beginning a File:: What is at the beginning of a Texinfo file? 130* Ending a File:: What is at the end of a Texinfo file? 131* Structuring:: How to create chapters, sections, subsections, 132 appendices, and other parts. 133* Nodes:: How to write nodes. 134* Menus:: How to write menus. --- 11 unchanged lines hidden (view full) --- 146* Conditionals:: How to specify text for either @TeX{} or Info. 147* Internationalization:: 148* Defining New Texinfo Commands:: 149* Hardcopy:: How to convert a Texinfo file to a file 150 for printing and how to print that file. 151* Creating and Installing Info Files:: 152* Command List:: All the Texinfo @@-commands. 153* Tips:: Hints on how to write a Texinfo document. | 133* Overview:: Texinfo in brief. 134* Texinfo Mode:: How to use Texinfo mode. 135* Beginning a File:: What is at the beginning of a Texinfo file? 136* Ending a File:: What is at the end of a Texinfo file? 137* Structuring:: How to create chapters, sections, subsections, 138 appendices, and other parts. 139* Nodes:: How to write nodes. 140* Menus:: How to write menus. --- 11 unchanged lines hidden (view full) --- 152* Conditionals:: How to specify text for either @TeX{} or Info. 153* Internationalization:: 154* Defining New Texinfo Commands:: 155* Hardcopy:: How to convert a Texinfo file to a file 156 for printing and how to print that file. 157* Creating and Installing Info Files:: 158* Command List:: All the Texinfo @@-commands. 159* Tips:: Hints on how to write a Texinfo document. |
154* Sample Texinfo File:: A sample Texinfo file to look at. | 160* Sample Texinfo Files:: Complete examples, including full texts. |
155* Include Files:: How to incorporate other Texinfo files. 156* Headings:: How to write page headings and footings. 157* Catching Mistakes:: How to find formatting mistakes. 158* Refilling Paragraphs:: All about paragraph refilling. 159* Command Syntax:: A description of @@-Command syntax. 160* Obtaining TeX:: How to Obtain @TeX{}. | 161* Include Files:: How to incorporate other Texinfo files. 162* Headings:: How to write page headings and footings. 163* Catching Mistakes:: How to find formatting mistakes. 164* Refilling Paragraphs:: All about paragraph refilling. 165* Command Syntax:: A description of @@-Command syntax. 166* Obtaining TeX:: How to Obtain @TeX{}. |
161* Documentation Copying:: The GNU Free Documentation License. | 167* Copying This Manual:: The GNU Free Documentation License. |
162* Command and Variable Index:: A menu containing commands and variables. 163* Concept Index:: A menu covering many topics. 164 165@detailmenu 166 --- The Detailed Node Listing --- 167 168Overview of Texinfo 169 --- 27 unchanged lines hidden (view full) --- 197* Updating Requirements:: How to structure a Texinfo file for 198 using the updating command. 199* Other Updating Commands:: How to indent descriptions, insert 200 missing nodes lines, and update 201 nodes in sequence. 202 203Beginning a Texinfo File 204 | 168* Command and Variable Index:: A menu containing commands and variables. 169* Concept Index:: A menu covering many topics. 170 171@detailmenu 172 --- The Detailed Node Listing --- 173 174Overview of Texinfo 175 --- 27 unchanged lines hidden (view full) --- 203* Updating Requirements:: How to structure a Texinfo file for 204 using the updating command. 205* Other Updating Commands:: How to indent descriptions, insert 206 missing nodes lines, and update 207 nodes in sequence. 208 209Beginning a Texinfo File 210 |
205* Four Parts:: Four parts begin a Texinfo file. 206* Sample Beginning:: Here is a sample beginning for a Texinfo file. 207* Header:: The very beginning of a Texinfo file. 208* Info Summary and Permissions:: Summary and copying permissions for Info. | 211* Sample Beginning:: A sample beginning for a Texinfo file. 212* Texinfo File Header:: 213* Document Permissions:: |
209* Titlepage & Copyright Page:: Creating the title and copyright pages. 210* The Top Node:: Creating the `Top' node and master menu. | 214* Titlepage & Copyright Page:: Creating the title and copyright pages. 215* The Top Node:: Creating the `Top' node and master menu. |
216* Global Document Commands:: |
|
211* Software Copying Permissions:: Ensure that you and others continue to | 217* Software Copying Permissions:: Ensure that you and others continue to |
212 have the right to use and share software. | 218 have the right to use and share software. |
213 | 219 |
214The Texinfo File Header | 220Texinfo File Header |
215 216* First Line:: The first line of a Texinfo file. 217* Start of Header:: Formatting a region requires this. 218* setfilename:: Tell Info the name of the Info file. 219* settitle:: Create a title for the printed work. | 221 222* First Line:: The first line of a Texinfo file. 223* Start of Header:: Formatting a region requires this. 224* setfilename:: Tell Info the name of the Info file. 225* settitle:: Create a title for the printed work. |
220* documentdescription:: Document summary for the HTML output. 221* setchapternewpage:: Start chapters on right-hand pages. 222* paragraphindent:: Specify paragraph indentation. 223* exampleindent:: Specify environment indentation. | |
224* End of Header:: Formatting a region requires this. 225 | 226* End of Header:: Formatting a region requires this. 227 |
226The Title and Copyright Pages | 228Document Permissions |
227 | 229 |
230* copying:: Declare the document's copying permissions. 231* insertcopying:: Where to insert the permissions. 232 233Title and Copyright Pages 234 |
|
228* titlepage:: Create a title for the printed document. 229* titlefont center sp:: The @code{@@titlefont}, @code{@@center}, 230 and @code{@@sp} commands. 231* title subtitle author:: The @code{@@title}, @code{@@subtitle}, 232 and @code{@@author} commands. | 235* titlepage:: Create a title for the printed document. 236* titlefont center sp:: The @code{@@titlefont}, @code{@@center}, 237 and @code{@@sp} commands. 238* title subtitle author:: The @code{@@title}, @code{@@subtitle}, 239 and @code{@@author} commands. |
233* Copyright & Permissions:: How to write the copyright notice and | 240* Copyright:: How to write the copyright notice and |
234 include copying permissions. 235* end titlepage:: Turn on page headings after the title and 236 copyright pages. 237* headings on off:: An option for turning headings on and off 238 and double or single sided printing. 239 240The `Top' Node and Master Menu 241 | 241 include copying permissions. 242* end titlepage:: Turn on page headings after the title and 243 copyright pages. 244* headings on off:: An option for turning headings on and off 245 and double or single sided printing. 246 247The `Top' Node and Master Menu 248 |
242* Title of Top Node:: Sketch what the file is about. 243* Master Menu Parts:: A master menu has three or more parts. | 249* Top Node Example:: 250* Master Menu Parts:: |
244 | 251 |
252Global Document Commands 253 254* documentdescription:: Document summary for the HTML output. 255* setchapternewpage:: Start chapters on right-hand pages. 256* paragraphindent:: Specify paragraph indentation. 257* exampleindent:: Specify environment indentation. 258 |
|
245Ending a Texinfo File 246 247* Printing Indices & Menus:: How to print an index in hardcopy and 248 generate index menus in Info. 249* Contents:: How to create a table of contents. 250* File End:: How to mark the end of a file. 251 252Chapter Structuring --- 23 unchanged lines hidden (view full) --- 276The @code{@@node} Command 277 278* Node Names:: How to choose node and pointer names. 279* Writing a Node:: How to write an @code{@@node} line. 280* Node Line Tips:: Keep names short. 281* Node Line Requirements:: Keep names unique, without @@-commands. 282* First Node:: How to write a `Top' node. 283* makeinfo top command:: How to use the @code{@@top} command. | 259Ending a Texinfo File 260 261* Printing Indices & Menus:: How to print an index in hardcopy and 262 generate index menus in Info. 263* Contents:: How to create a table of contents. 264* File End:: How to mark the end of a file. 265 266Chapter Structuring --- 23 unchanged lines hidden (view full) --- 290The @code{@@node} Command 291 292* Node Names:: How to choose node and pointer names. 293* Writing a Node:: How to write an @code{@@node} line. 294* Node Line Tips:: Keep names short. 295* Node Line Requirements:: Keep names unique, without @@-commands. 296* First Node:: How to write a `Top' node. 297* makeinfo top command:: How to use the @code{@@top} command. |
284* Top Node Summary:: Write a brief description for readers. | |
285 286Menus 287 288* Menu Location:: Put a menu in a short node. 289* Writing a Menu:: What is a menu? 290* Menu Parts:: A menu entry has three parts. 291* Less Cluttered Menu Entry:: Two part menu entry. 292* Menu Example:: Two and three part menu entries. --- 26 unchanged lines hidden (view full) --- 319 320Indicating Definitions, Commands, etc. 321 322* Useful Highlighting:: Highlighting provides useful information. 323* code:: Indicating program code. 324* kbd:: Showing keyboard input. 325* key:: Specifying keys. 326* samp:: A literal sequence of characters. | 298 299Menus 300 301* Menu Location:: Put a menu in a short node. 302* Writing a Menu:: What is a menu? 303* Menu Parts:: A menu entry has three parts. 304* Less Cluttered Menu Entry:: Two part menu entry. 305* Menu Example:: Two and three part menu entries. --- 26 unchanged lines hidden (view full) --- 332 333Indicating Definitions, Commands, etc. 334 335* Useful Highlighting:: Highlighting provides useful information. 336* code:: Indicating program code. 337* kbd:: Showing keyboard input. 338* key:: Specifying keys. 339* samp:: A literal sequence of characters. |
327* verb:: A verbatim sequence of characters. | 340* verb:: A verbatim sequence of characters. |
328* var:: Indicating metasyntactic variables. 329* env:: Indicating environment variables. 330* file:: Indicating file names. 331* command:: Indicating command names. 332* option:: Indicating option names. 333* dfn:: Specifying definitions. 334* cite:: Referring to books not in the Info system. 335* acronym:: Indicating acronyms. --- 7 unchanged lines hidden (view full) --- 343* Fonts:: Various font commands for printed output. 344 345Quotations and Examples 346 347* Block Enclosing Commands:: Different constructs for different purposes. 348* quotation:: Writing a quotation. 349* example:: Writing an example in a fixed-width font. 350* verbatim:: Writing a verbatim example. | 341* var:: Indicating metasyntactic variables. 342* env:: Indicating environment variables. 343* file:: Indicating file names. 344* command:: Indicating command names. 345* option:: Indicating option names. 346* dfn:: Specifying definitions. 347* cite:: Referring to books not in the Info system. 348* acronym:: Indicating acronyms. --- 7 unchanged lines hidden (view full) --- 356* Fonts:: Various font commands for printed output. 357 358Quotations and Examples 359 360* Block Enclosing Commands:: Different constructs for different purposes. 361* quotation:: Writing a quotation. 362* example:: Writing an example in a fixed-width font. 363* verbatim:: Writing a verbatim example. |
351* verbatiminclude:: Including a file verbatim. | 364* verbatiminclude:: Including a file verbatim. |
352* lisp:: Illustrating Lisp code. 353* small:: Forms for @code{@@smallbook}. 354* display:: Writing an example in the current font. 355* format:: Writing an example without narrowed margins. 356* exdent:: Undo indentation on a line. 357* flushleft & flushright:: Pushing text flush left or flush right. 358* noindent:: Preventing paragraph indentation. 359* cartouche:: Drawing rounded rectangles around examples. --- 171 unchanged lines hidden (view full) --- 531* pagesizes:: How to print with customized page sizes. 532* Cropmarks and Magnification:: How to print marks to indicate the size 533 of pages and how to print scaled up output. 534* PDF Output:: Portable Document Format output. 535 536Creating and Installing Info Files 537 538* Creating an Info File:: | 365* lisp:: Illustrating Lisp code. 366* small:: Forms for @code{@@smallbook}. 367* display:: Writing an example in the current font. 368* format:: Writing an example without narrowed margins. 369* exdent:: Undo indentation on a line. 370* flushleft & flushright:: Pushing text flush left or flush right. 371* noindent:: Preventing paragraph indentation. 372* cartouche:: Drawing rounded rectangles around examples. --- 171 unchanged lines hidden (view full) --- 544* pagesizes:: How to print with customized page sizes. 545* Cropmarks and Magnification:: How to print marks to indicate the size 546 of pages and how to print scaled up output. 547* PDF Output:: Portable Document Format output. 548 549Creating and Installing Info Files 550 551* Creating an Info File:: |
539* Installing an Info File:: | 552* Installing an Info File:: |
540 541Creating an Info File 542 543* makeinfo advantages:: @code{makeinfo} provides better error checking. 544* Invoking makeinfo:: How to run @code{makeinfo} from a shell. 545* makeinfo options:: Specify fill-column and other options. 546* Pointer Validation:: How to check that pointers point somewhere. 547* makeinfo in Emacs:: How to run @code{makeinfo} from Emacs. --- 10 unchanged lines hidden (view full) --- 558* Directory File:: The top level menu for all Info files. 559* New Info File:: Listing a new Info file. 560* Other Info Directories:: How to specify Info files that are 561 located in other directories. 562* Installing Dir Entries:: How to specify what menu entry to add 563 to the Info directory. 564* Invoking install-info:: @code{install-info} options. 565 | 553 554Creating an Info File 555 556* makeinfo advantages:: @code{makeinfo} provides better error checking. 557* Invoking makeinfo:: How to run @code{makeinfo} from a shell. 558* makeinfo options:: Specify fill-column and other options. 559* Pointer Validation:: How to check that pointers point somewhere. 560* makeinfo in Emacs:: How to run @code{makeinfo} from Emacs. --- 10 unchanged lines hidden (view full) --- 571* Directory File:: The top level menu for all Info files. 572* New Info File:: Listing a new Info file. 573* Other Info Directories:: How to specify Info files that are 574 located in other directories. 575* Installing Dir Entries:: How to specify what menu entry to add 576 to the Info directory. 577* Invoking install-info:: @code{install-info} options. 578 |
579Sample Texinfo Files 580 581* Short Sample Texinfo File:: 582* GNU Sample Texts:: 583 |
|
566Include Files 567 568* Using Include Files:: How to use the @code{@@include} command. 569* texinfo-multiple-files-update:: How to create and update nodes and 570 menus when using included files. 571* Include File Requirements:: What @code{texinfo-multiple-files-update} expects. 572* Sample Include File:: A sample outer file with included files 573 within it; and a sample included file. --- 18 unchanged lines hidden (view full) --- 592 593Finding Badly Referenced Nodes 594 595* Using Info-validate:: How to run @code{Info-validate}. 596* Unsplit:: How to create an unsplit file. 597* Tagifying:: How to tagify a file. 598* Splitting:: How to split a file manually. 599 | 584Include Files 585 586* Using Include Files:: How to use the @code{@@include} command. 587* texinfo-multiple-files-update:: How to create and update nodes and 588 menus when using included files. 589* Include File Requirements:: What @code{texinfo-multiple-files-update} expects. 590* Sample Include File:: A sample outer file with included files 591 within it; and a sample included file. --- 18 unchanged lines hidden (view full) --- 610 611Finding Badly Referenced Nodes 612 613* Using Info-validate:: How to run @code{Info-validate}. 614* Unsplit:: How to create an unsplit file. 615* Tagifying:: How to tagify a file. 616* Splitting:: How to split a file manually. 617 |
618Copying This Manual 619 620* GNU Free Documentation License:: License for copying this manual. 621 |
|
600@end detailmenu 601@end menu 602 603@c Reward readers for getting to the end of the menu :). 604@c Contributed by Arnold Robbins. 605@quotation 606Documentation is like sex: when it is good, it is very, very good; and 607when it is bad, it is better than nothing. 608---Dick Brandon 609@end quotation 610 611 | 622@end detailmenu 623@end menu 624 625@c Reward readers for getting to the end of the menu :). 626@c Contributed by Arnold Robbins. 627@quotation 628Documentation is like sex: when it is good, it is very, very good; and 629when it is bad, it is better than nothing. 630---Dick Brandon 631@end quotation 632 633 |
612@node Copying | 634@node Copying Conditions |
613@unnumbered Texinfo Copying Conditions 614@cindex Copying conditions 615@cindex Conditions for copying Texinfo 616 617The programs currently being distributed that relate to Texinfo include 618@code{makeinfo}, @code{info}, @code{texindex}, and @file{texinfo.tex}. 619These programs are @dfn{free}; this means that everyone is free to use 620them and free to redistribute them on a free basis. The Texinfo-related --- 19 unchanged lines hidden (view full) --- 640out that there is no warranty for the programs that relate to Texinfo. 641If these programs are modified by someone else and passed on, we want 642their recipients to know that what they have is not what we distributed, 643so that any problems introduced by others will not reflect on our 644reputation. 645 646The precise conditions of the licenses for the programs currently being 647distributed that relate to Texinfo are found in the General Public | 635@unnumbered Texinfo Copying Conditions 636@cindex Copying conditions 637@cindex Conditions for copying Texinfo 638 639The programs currently being distributed that relate to Texinfo include 640@code{makeinfo}, @code{info}, @code{texindex}, and @file{texinfo.tex}. 641These programs are @dfn{free}; this means that everyone is free to use 642them and free to redistribute them on a free basis. The Texinfo-related --- 19 unchanged lines hidden (view full) --- 662out that there is no warranty for the programs that relate to Texinfo. 663If these programs are modified by someone else and passed on, we want 664their recipients to know that what they have is not what we distributed, 665so that any problems introduced by others will not reflect on our 666reputation. 667 668The precise conditions of the licenses for the programs currently being 669distributed that relate to Texinfo are found in the General Public |
648Licenses that accompany them. | 670Licenses that accompany them. This manual specifically is covered by 671the GNU Free Documentation License (@pxref{GNU Free Documentation 672License}). |
649 650 651@node Overview 652@chapter Overview of Texinfo 653@cindex Overview of Texinfo 654@cindex Texinfo overview 655 656@dfn{Texinfo}@footnote{The first syllable of ``Texinfo'' is pronounced --- 37 unchanged lines hidden (view full) --- 694from @uref{ftp://ftp.gnu.org/gnu/texinfo/} and its mirrors worldwide. 695 696@cindex Checklist for bug reports 697For bug reports, please include enough information for the maintainers 698to reproduce the problem. Generally speaking, that means: 699 700@itemize @bullet 701@item the version number of Texinfo and the program(s) or manual(s) involved. | 673 674 675@node Overview 676@chapter Overview of Texinfo 677@cindex Overview of Texinfo 678@cindex Texinfo overview 679 680@dfn{Texinfo}@footnote{The first syllable of ``Texinfo'' is pronounced --- 37 unchanged lines hidden (view full) --- 718from @uref{ftp://ftp.gnu.org/gnu/texinfo/} and its mirrors worldwide. 719 720@cindex Checklist for bug reports 721For bug reports, please include enough information for the maintainers 722to reproduce the problem. Generally speaking, that means: 723 724@itemize @bullet 725@item the version number of Texinfo and the program(s) or manual(s) involved. |
702@item hardware, operating system, and compiler versions. 703@item any unusual options you gave to @command{configure}. | 726@item hardware and operating system names and versions. |
704@item the contents of any input files necessary to reproduce the bug. 705@item a description of the problem and samples of any erroneous output. | 727@item the contents of any input files necessary to reproduce the bug. 728@item a description of the problem and samples of any erroneous output. |
729@item any unusual options you gave to @command{configure}. |
|
706@item anything else that you think would be helpful. 707@end itemize 708 709When in doubt whether something is needed or not, include it. It's 710better to include too much than to leave out something important. 711 | 730@item anything else that you think would be helpful. 731@end itemize 732 733When in doubt whether something is needed or not, include it. It's 734better to include too much than to leave out something important. 735 |
736@cindex Patches, contributing |
|
712Patches are most welcome; if possible, please make them with 713@samp{@w{diff -c}} (@pxref{Top,, Overview, diffutils, Comparing and 714Merging Files}) and include @file{ChangeLog} entries (@pxref{Change 715Log,,, emacs, The GNU Emacs Manual}). 716 717When sending patches, if possible please do not encode or split them in 718any way; it's much easier to deal with one plain text message, however 719large, than many small ones. @uref{ftp://ftp.gnu.org/gnu/sharutils/, --- 13 unchanged lines hidden (view full) --- 733indices. From the same Texinfo source file, you can create a 734menu-driven, online Info file with nodes, menus, cross references, and 735indices. You can also create from that same source file an HTML output 736file suitable for use with a web browser, or an XML file. @cite{The GNU 737Emacs Manual} is a good example of a Texinfo file, as is this manual. 738 739To make a printed document, you process a Texinfo source file with the 740@TeX{} typesetting program (but the Texinfo language is very different | 737Patches are most welcome; if possible, please make them with 738@samp{@w{diff -c}} (@pxref{Top,, Overview, diffutils, Comparing and 739Merging Files}) and include @file{ChangeLog} entries (@pxref{Change 740Log,,, emacs, The GNU Emacs Manual}). 741 742When sending patches, if possible please do not encode or split them in 743any way; it's much easier to deal with one plain text message, however 744large, than many small ones. @uref{ftp://ftp.gnu.org/gnu/sharutils/, --- 13 unchanged lines hidden (view full) --- 758indices. From the same Texinfo source file, you can create a 759menu-driven, online Info file with nodes, menus, cross references, and 760indices. You can also create from that same source file an HTML output 761file suitable for use with a web browser, or an XML file. @cite{The GNU 762Emacs Manual} is a good example of a Texinfo file, as is this manual. 763 764To make a printed document, you process a Texinfo source file with the 765@TeX{} typesetting program (but the Texinfo language is very different |
741from @TeX{}'s usual language, plain @TeX{}). This creates a DVI file 742that you can typeset and print as a book or report (@pxref{Hardcopy}). | 766and much stricter than @TeX{}'s usual language, plain @TeX{}). This 767creates a DVI file that you can typeset and print as a book or report 768(@pxref{Hardcopy}). |
743 744@pindex makeinfo 745To output an Info file, process your Texinfo source with the 746@code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command. 747You can install the result in your Info tree (@pxref{Installing an Info 748File}). 749 750To output an HTML file, run @code{makeinfo --html} on your Texinfo 751source. You can (for example) install the result on your web site. 752 753@cindex Docbook, converting to Texinfo 754@cindex Conversion, from Docbook to Texinfo 755To output an XML file, run @code{makeinfo --xml} on your Texinfo source. | 769 770@pindex makeinfo 771To output an Info file, process your Texinfo source with the 772@code{makeinfo} utility or Emacs's @code{texinfo-format-buffer} command. 773You can install the result in your Info tree (@pxref{Installing an Info 774File}). 775 776To output an HTML file, run @code{makeinfo --html} on your Texinfo 777source. You can (for example) install the result on your web site. 778 779@cindex Docbook, converting to Texinfo 780@cindex Conversion, from Docbook to Texinfo 781To output an XML file, run @code{makeinfo --xml} on your Texinfo source. |
756To output DocBook, run @code{makeinfo --docbook}. If you want to 757convert from Docbook @emph{to} Texinfo, please see 758@uref{http://docbook2X.sourceforge.net/}. | 782To output DocBook (a particular form of XML), run @code{makeinfo 783--docbook}. If you want to convert from Docbook @emph{to} Texinfo, 784please see @uref{http://docbook2X.sourceforge.net/}. |
759 760@cindex Output formats, supporting more 761@cindex SGML-tools output format 762If you are a programmer and would like to contribute to the GNU project 763by implementing additional output formats for Texinfo, that would be 764excellent. But please do not write a separate translator texi2foo for 765your favorite format foo! That is the hard way to do the job, and makes 766extra work in subsequent maintenance, since the Texinfo language is 767continually being enhanced and updated. Instead, the best approach is 768modify @code{makeinfo} to generate the new format, as it does now for | 785 786@cindex Output formats, supporting more 787@cindex SGML-tools output format 788If you are a programmer and would like to contribute to the GNU project 789by implementing additional output formats for Texinfo, that would be 790excellent. But please do not write a separate translator texi2foo for 791your favorite format foo! That is the hard way to do the job, and makes 792extra work in subsequent maintenance, since the Texinfo language is 793continually being enhanced and updated. Instead, the best approach is 794modify @code{makeinfo} to generate the new format, as it does now for |
769Info and HTML. | 795Info, plain text, HTML, XML, and DocBook. |
770 771@TeX{} works with virtually all printers; Info works with virtually all 772computer terminals; the HTML output works with virtually all web 773browsers. Thus Texinfo can be used by almost any computer user. 774 775@cindex Source file 776A Texinfo source file is a plain @sc{ascii} file containing text and 777@dfn{@@-commands} (words preceded by an @samp{@@}) that tell the --- 14 unchanged lines hidden (view full) --- 792 793@cindex Man page output, not supported 794From time to time, proposals are made to generate traditional Unix man 795pages from Texinfo source. This is not likely to ever be supported, 796because man pages have a very strict conventional format. Merely 797enhancing @command{makeinfo} to output troff format would be 798insufficient. Generating a good man page therefore requires a 799completely different source than the typical Texinfo applications of | 796 797@TeX{} works with virtually all printers; Info works with virtually all 798computer terminals; the HTML output works with virtually all web 799browsers. Thus Texinfo can be used by almost any computer user. 800 801@cindex Source file 802A Texinfo source file is a plain @sc{ascii} file containing text and 803@dfn{@@-commands} (words preceded by an @samp{@@}) that tell the --- 14 unchanged lines hidden (view full) --- 818 819@cindex Man page output, not supported 820From time to time, proposals are made to generate traditional Unix man 821pages from Texinfo source. This is not likely to ever be supported, 822because man pages have a very strict conventional format. Merely 823enhancing @command{makeinfo} to output troff format would be 824insufficient. Generating a good man page therefore requires a 825completely different source than the typical Texinfo applications of |
800generating a good user manual or a good reference manual. This makes | 826writing a good user tutorial or a good reference manual. This makes |
801generating man pages incompatible with the Texinfo design goal of not 802having to document the same information in different ways for different 803output formats. You might as well just write the man page directly. 804 805@pindex help2man 806@cindex O'Dea, Brendan | 827generating man pages incompatible with the Texinfo design goal of not 828having to document the same information in different ways for different 829output formats. You might as well just write the man page directly. 830 831@pindex help2man 832@cindex O'Dea, Brendan |
807If you wish to support man pages, the program @command{help2man} may be 808useful; it generates a traditional man page from the @samp{--help} 809output of a program. In fact, this is currently used to generate man 810pages for the Texinfo programs themselves. It is GNU software written 811by Brendan O'Dea, available from 812@uref{http://www.ozemail.com.au/~bod/help2man.tar.gz}. | 833Man pages still have their place, and if you wish to support them, the 834program @command{help2man} may be useful; it generates a traditional man 835page from the @samp{--help} output of a program. In fact, this is 836currently used to generate man pages for the Texinfo programs 837themselves. It is GNU software written by Brendan O'Dea, available from 838@uref{ftp://ftp.gnu.org/gnu/help2man/}. |
813 814 815@node Info Files 816@section Info files 817@cindex Info files 818 819An Info file is a Texinfo file formatted so that the Info documentation 820reading program can operate on it. (@code{makeinfo} 821and @code{texinfo-format-buffer} are two commands that convert a Texinfo file | 839 840 841@node Info Files 842@section Info files 843@cindex Info files 844 845An Info file is a Texinfo file formatted so that the Info documentation 846reading program can operate on it. (@code{makeinfo} 847and @code{texinfo-format-buffer} are two commands that convert a Texinfo file |
822into an Info file.)@refill | 848into an Info file.) |
823 824Info files are divided into pieces called @dfn{nodes}, each of which 825contains the discussion of one topic. Each node has a name, and 826contains both text for the user to read and pointers to other nodes, 827which are identified by their names. The Info program displays one node 828at a time, and provides commands with which the user can move to other | 849 850Info files are divided into pieces called @dfn{nodes}, each of which 851contains the discussion of one topic. Each node has a name, and 852contains both text for the user to read and pointers to other nodes, 853which are identified by their names. The Info program displays one node 854at a time, and provides commands with which the user can move to other |
829related nodes.@refill | 855related nodes. |
830 831@ifinfo | 856 857@ifinfo |
832@inforef{Top, info, info}, for more information about using Info.@refill | 858@inforef{Top, info, info}, for more information about using Info. |
833@end ifinfo 834 835Each node of an Info file may have any number of child nodes that 836describe subtopics of the node's topic. The names of child 837nodes are listed in a @dfn{menu} within the parent node; this 838allows you to use certain Info commands to move to one of the child 839nodes. Generally, an Info file is organized like a book. If a node 840is at the logical level of a chapter, its child nodes are at the level 841of sections; likewise, the child nodes of sections are at the level | 859@end ifinfo 860 861Each node of an Info file may have any number of child nodes that 862describe subtopics of the node's topic. The names of child 863nodes are listed in a @dfn{menu} within the parent node; this 864allows you to use certain Info commands to move to one of the child 865nodes. Generally, an Info file is organized like a book. If a node 866is at the logical level of a chapter, its child nodes are at the level 867of sections; likewise, the child nodes of sections are at the level |
842of subsections.@refill | 868of subsections. |
843 844All the children of any one parent are linked together in a 845bidirectional chain of `Next' and `Previous' pointers. The `Next' 846pointer provides a link to the next section, and the `Previous' pointer 847provides a link to the previous section. This means that all the nodes 848that are at the level of sections within a chapter are linked together. 849Normally the order in this chain is the same as the order of the 850children in the parent's menu. Each child node records the parent node 851name as its `Up' pointer. The last child has no `Next' pointer, and the 852first child has the parent both as its `Previous' and as its `Up' 853pointer.@footnote{In some documents, the first child has no `Previous' 854pointer. Occasionally, the last child has the node name of the next | 869 870All the children of any one parent are linked together in a 871bidirectional chain of `Next' and `Previous' pointers. The `Next' 872pointer provides a link to the next section, and the `Previous' pointer 873provides a link to the previous section. This means that all the nodes 874that are at the level of sections within a chapter are linked together. 875Normally the order in this chain is the same as the order of the 876children in the parent's menu. Each child node records the parent node 877name as its `Up' pointer. The last child has no `Next' pointer, and the 878first child has the parent both as its `Previous' and as its `Up' 879pointer.@footnote{In some documents, the first child has no `Previous' 880pointer. Occasionally, the last child has the node name of the next |
855following higher level node as its `Next' pointer.}@refill | 881following higher level node as its `Next' pointer.} |
856 857The book-like structuring of an Info file into nodes that correspond 858to chapters, sections, and the like is a matter of convention, not a 859requirement. The `Up', `Previous', and `Next' pointers of a node can 860point to any other nodes, and a menu can contain any other nodes. 861Thus, the node structure can be any directed graph. But it is usually 862more comprehensible to follow a structure that corresponds to the 863structure of chapters and sections in a printed book or report.@refill --- 82 unchanged lines hidden (view full) --- 946file @file{texinfo.tex} that contains information (definitions or 947@dfn{macros}) that @TeX{} uses when it typesets a Texinfo file. 948(@file{texinfo.tex} tells @TeX{} how to convert the Texinfo @@-commands 949to @TeX{} commands, which @TeX{} can then process to create the typeset 950document.) @file{texinfo.tex} contains the specifications for printing 951a document. You can get the latest version of @file{texinfo.tex} from 952@uref{ftp://ftp.gnu.org/gnu/texinfo.tex}. 953 | 882 883The book-like structuring of an Info file into nodes that correspond 884to chapters, sections, and the like is a matter of convention, not a 885requirement. The `Up', `Previous', and `Next' pointers of a node can 886point to any other nodes, and a menu can contain any other nodes. 887Thus, the node structure can be any directed graph. But it is usually 888more comprehensible to follow a structure that corresponds to the 889structure of chapters and sections in a printed book or report.@refill --- 82 unchanged lines hidden (view full) --- 972file @file{texinfo.tex} that contains information (definitions or 973@dfn{macros}) that @TeX{} uses when it typesets a Texinfo file. 974(@file{texinfo.tex} tells @TeX{} how to convert the Texinfo @@-commands 975to @TeX{} commands, which @TeX{} can then process to create the typeset 976document.) @file{texinfo.tex} contains the specifications for printing 977a document. You can get the latest version of @file{texinfo.tex} from 978@uref{ftp://ftp.gnu.org/gnu/texinfo.tex}. 979 |
954Most often, documents are printed on 8.5 inch by 11 inch pages 955(216@dmn{mm} by 280@dmn{mm}; this is the default size), but you can also 956print for 7 inch by 9.25 inch pages (178@dmn{mm} by 235@dmn{mm}; the 957@code{@@smallbook} size) or on A4 or A5 size paper (@code{@@afourpaper}, 958@code{@@afivepaper}). (@xref{smallbook, , Printing ``Small'' Books}. 959Also, see @ref{A4 Paper, ,Printing on A4 Paper}.) | 980In the United States, documents are most often printed on 8.5 inch by 11 981inch pages (216@dmn{mm} by 280@dmn{mm}); this is the default size. But 982you can also print for 7 inch by 9.25 inch pages (178@dmn{mm} by 983235@dmn{mm}, the @code{@@smallbook} size; or on A4 or A5 size paper 984(@code{@@afourpaper}, @code{@@afivepaper}). (@xref{smallbook, , 985Printing ``Small'' Books}. Also, see @ref{A4 Paper, ,Printing on A4 986Paper}.) |
960 961By changing the parameters in @file{texinfo.tex}, you can change the 962size of the printed document. In addition, you can change the style in 963which the printed document is formatted; for example, you can change the 964sizes and fonts used, the amount of indentation for each paragraph, the 965degree to which words are hyphenated, and the like. By changing the 966specifications, you can make a book look dignified, old and serious, or | 987 988By changing the parameters in @file{texinfo.tex}, you can change the 989size of the printed document. In addition, you can change the style in 990which the printed document is formatted; for example, you can change the 991sizes and fonts used, the amount of indentation for each paragraph, the 992degree to which words are hyphenated, and the like. By changing the 993specifications, you can make a book look dignified, old and serious, or |
967light-hearted, young and cheery.@refill | 994light-hearted, young and cheery. |
968 969@TeX{} is freely distributable. It is written in a superset of Pascal 970called WEB and can be compiled either in Pascal or (by using a 971conversion program that comes with the @TeX{} distribution) in C. 972(@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information 973about @TeX{}.)@refill 974 975@TeX{} is very powerful and has a great many features. Because a 976Texinfo file must be able to present information both on a 977character-only terminal in Info form and in a typeset book, the | 995 996@TeX{} is freely distributable. It is written in a superset of Pascal 997called WEB and can be compiled either in Pascal or (by using a 998conversion program that comes with the @TeX{} distribution) in C. 999(@xref{TeX Mode, ,@TeX{} Mode, emacs, The GNU Emacs Manual}, for information 1000about @TeX{}.)@refill 1001 1002@TeX{} is very powerful and has a great many features. Because a 1003Texinfo file must be able to present information both on a 1004character-only terminal in Info form and in a typeset book, the |
978formatting commands that Texinfo supports are necessarily 979limited.@refill | 1005formatting commands that Texinfo supports are necessarily limited. |
980 981To get a copy of @TeX{}, see 982@ref{Obtaining TeX, , How to Obtain @TeX{}}. 983 984 | 1006 1007To get a copy of @TeX{}, see 1008@ref{Obtaining TeX, , How to Obtain @TeX{}}. 1009 1010 |
985@node Formatting Commands, Conventions, Printed Books, Overview | 1011@node Formatting Commands |
986@section @@-commands 987@cindex @@-commands 988@cindex Formatting commands 989 990In a Texinfo file, the commands that tell @TeX{} how to typeset the 991printed manual and tell @code{makeinfo} and 992@code{texinfo-format-buffer} how to create an Info file are preceded 993by @samp{@@}; they are called @dfn{@@-commands}. For example, 994@code{@@node} is the command to indicate a node and @code{@@chapter} 995is the command to indicate the start of a chapter.@refill 996 997@quotation 998@strong{Please note:} All the @@-commands, with the exception of the | 1012@section @@-commands 1013@cindex @@-commands 1014@cindex Formatting commands 1015 1016In a Texinfo file, the commands that tell @TeX{} how to typeset the 1017printed manual and tell @code{makeinfo} and 1018@code{texinfo-format-buffer} how to create an Info file are preceded 1019by @samp{@@}; they are called @dfn{@@-commands}. For example, 1020@code{@@node} is the command to indicate a node and @code{@@chapter} 1021is the command to indicate the start of a chapter.@refill 1022 1023@quotation 1024@strong{Please note:} All the @@-commands, with the exception of the |
999@code{@@TeX@{@}} command, must be written entirely in lower 1000case.@refill | 1025@code{@@TeX@{@}} command, must be written entirely in lower case. |
1001@end quotation 1002 1003The Texinfo @@-commands are a strictly limited set of constructs. The 1004strict limits make it possible for Texinfo files to be understood both 1005by @TeX{} and by the code that converts them into Info files. You can 1006display Info files on any terminal that displays alphabetic and 1007numeric characters. Similarly, you can print the output generated by 1008@TeX{} on a wide variety of printers.@refill --- 53 unchanged lines hidden (view full) --- 1062 1063As you gain experience with Texinfo, you will rapidly learn how to 1064write the different commands: the different ways to write commands 1065make it easier to write and read Texinfo files than if all commands 1066followed exactly the same syntax. (For details about @@-command 1067syntax, see @ref{Command Syntax, , @@-Command Syntax}.)@refill 1068 1069 | 1026@end quotation 1027 1028The Texinfo @@-commands are a strictly limited set of constructs. The 1029strict limits make it possible for Texinfo files to be understood both 1030by @TeX{} and by the code that converts them into Info files. You can 1031display Info files on any terminal that displays alphabetic and 1032numeric characters. Similarly, you can print the output generated by 1033@TeX{} on a wide variety of printers.@refill --- 53 unchanged lines hidden (view full) --- 1087 1088As you gain experience with Texinfo, you will rapidly learn how to 1089write the different commands: the different ways to write commands 1090make it easier to write and read Texinfo files than if all commands 1091followed exactly the same syntax. (For details about @@-command 1092syntax, see @ref{Command Syntax, , @@-Command Syntax}.)@refill 1093 1094 |
1070@node Conventions, Comments, Formatting Commands, Overview | 1095@node Conventions |
1071@section General Syntactic Conventions 1072@cindex General syntactic conventions 1073@cindex Syntactic conventions 1074@cindex Conventions, syntactic 1075 1076This section describes the general conventions used in all Texinfo documents. 1077 1078@itemize @bullet 1079@item 1080All printable @sc{ascii} characters except @samp{@@}, @samp{@{} and 1081@samp{@}} can appear in a Texinfo file and stand for themselves. | 1096@section General Syntactic Conventions 1097@cindex General syntactic conventions 1098@cindex Syntactic conventions 1099@cindex Conventions, syntactic 1100 1101This section describes the general conventions used in all Texinfo documents. 1102 1103@itemize @bullet 1104@item 1105All printable @sc{ascii} characters except @samp{@@}, @samp{@{} and 1106@samp{@}} can appear in a Texinfo file and stand for themselves. |
1082@samp{@@} is the escape character which introduces commands. 1083@samp{@{} and @samp{@}} should be used only to surround arguments to 1084certain commands. To put one of these special characters into the 1085document, put an @samp{@@} character in front of it, like this: 1086@samp{@@@@}, @samp{@@@{}, and @samp{@@@}}.@refill | 1107@samp{@@} is the escape character which introduces commands, while 1108@samp{@{} and @samp{@}} are used to surround arguments to certain 1109commands. To put one of these special characters into the document, put 1110an @samp{@@} character in front of it, like this: @samp{@@@@}, 1111@samp{@@@{}, and @samp{@@@}}. |
1087 1088@item | 1112 1113@item |
1089@ifinfo | |
1090It is customary in @TeX{} to use doubled single-quote characters to | 1114It is customary in @TeX{} to use doubled single-quote characters to |
1091begin and end quotations: ` ` and ' ' (but without a space between the 1092two single-quote characters). This convention should be followed in 1093Texinfo files. @TeX{} converts doubled single-quote characters to 1094left- and right-hand doubled quotation marks and Info converts doubled 1095single-quote characters to @sc{ascii} double-quotes: ` ` and ' ' to " .@refill 1096@end ifinfo 1097@iftex 1098It is customary in @TeX{} to use doubled single-quote characters to 1099begin and end quotations: @w{@t{ `` }} and @w{@t{ '' }}. This | 1115begin and end quotations: @w{@t{`@w{}`@dots{}'@w{}'}}. This |
1100convention should be followed in Texinfo files. @TeX{} converts | 1116convention should be followed in Texinfo files. @TeX{} converts |
1101doubled single-quote characters to left- and right-hand doubled 1102quotation marks, ``like this'', and Info converts doubled single-quote 1103characters to @sc{ascii} double-quotes: @w{@t{ `` }} and 1104@w{@t{ '' }} to @w{@t{ " }}.@refill | 1117two single quotes to left- and right-hand doubled 1118quotation marks, 1119@c this comes out as "like this" in Info, of course, which is just confusing. 1120@iftex 1121``like this'', |
1105@end iftex | 1122@end iftex |
1123and Info converts doubled single-quote characters to @sc{ascii} 1124double-quotes: @w{@t{`@w{}`@dots{}'@w{}'}} becomes @w{@t{"@dots{}"}}. |
|
1106 1107@item 1108Use three hyphens in a row, @samp{---}, for a dash---like this. In 1109@TeX{}, a single or double hyphen produces a printed dash that is 1110shorter than the usual typeset dash. Info reduces three hyphens to two 1111for display on the screen. 1112 1113@item 1114To prevent a paragraph from being indented in the printed manual, put 1115the command @code{@@noindent} on a line by itself before the | 1125 1126@item 1127Use three hyphens in a row, @samp{---}, for a dash---like this. In 1128@TeX{}, a single or double hyphen produces a printed dash that is 1129shorter than the usual typeset dash. Info reduces three hyphens to two 1130for display on the screen. 1131 1132@item 1133To prevent a paragraph from being indented in the printed manual, put 1134the command @code{@@noindent} on a line by itself before the |
1116paragraph.@refill | 1135paragraph. |
1117 1118@item 1119If you mark off a region of the Texinfo file with the @code{@@iftex} 1120and @w{@code{@@end iftex}} commands, that region will appear only in 1121the printed copy; in that region, you can use certain commands | 1136 1137@item 1138If you mark off a region of the Texinfo file with the @code{@@iftex} 1139and @w{@code{@@end iftex}} commands, that region will appear only in 1140the printed copy; in that region, you can use certain commands |
1122borrowed from plain @TeX{} that you cannot use in Info. Likewise, if 1123you mark off a region with the @code{@@ifinfo} and @code{@@end ifinfo} 1124commands, that region will appear only in the Info file; in that 1125region, you can use Info commands that you cannot use in @TeX{}. 1126Similarly for @code{@@ifhtml @dots{} @@end ifhtml}, 1127@code{@@ifnothtml @dots{} @@end ifnothtml}, 1128@code{@@ifnotinfo @dots{} @@end ifnotinfo}, 1129@code{@@ifnottex @dots{} @@end ifnottex}. 1130@xref{Conditionals}. | 1141borrowed from plain @TeX{} that you cannot use in Info. Conversely, 1142text surrounded by @code{@@ifnottex} and @code{@@end ifnottex} will 1143appear in all output formats @emph{except} @TeX{}. 1144 1145Each of the other output formats (@code{html}, @code{info}, 1146@code{plaintext}) have an analogous pair of commands. @xref{Conditionals}. |
1131@end itemize 1132 1133@cindex Tabs; don't use! 1134@quotation | 1147@end itemize 1148 1149@cindex Tabs; don't use! 1150@quotation |
1135@strong{Caution:} Do not use tabs in a Texinfo file (except in verbatim 1136modes) ! @TeX{} uses variable-width fonts, which means that it is 1137impractical at best to define a tab to work in all circumstances. | 1151@strong{Caution:} Do not use tab characters in a Texinfo file (except in 1152verbatim modes)! @TeX{} uses variable-width fonts, which means that it 1153is impractical at best to define a tab to work in all circumstances. |
1138Consequently, @TeX{} treats tabs like single spaces, and that is not 1139what they look like. Furthermore, @code{makeinfo} does nothing special 1140with tabs, and thus a tab character in your input file may appear | 1154Consequently, @TeX{} treats tabs like single spaces, and that is not 1155what they look like. Furthermore, @code{makeinfo} does nothing special 1156with tabs, and thus a tab character in your input file may appear |
1141differently in the output, for example, in an indented example. | 1157differently in the output, for example, in indented text. |
1142 1143@noindent 1144To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple 1145spaces when you press the @key{TAB} key. 1146 1147@noindent 1148Also, you can run @code{untabify} in Emacs to convert tabs in a region 1149to multiple spaces. 1150@end quotation 1151 1152 | 1158 1159@noindent 1160To avoid this problem, Texinfo mode causes GNU Emacs to insert multiple 1161spaces when you press the @key{TAB} key. 1162 1163@noindent 1164Also, you can run @code{untabify} in Emacs to convert tabs in a region 1165to multiple spaces. 1166@end quotation 1167 1168 |
1153@node Comments, Minimum, Conventions, Overview | 1169@node Comments |
1154@section Comments 1155 | 1170@section Comments 1171 |
1172@cindex Comments 1173@findex comment 1174@findex c @r{(comment)} 1175 |
|
1156You can write comments in a Texinfo file that will not appear in 1157either the Info file or the printed manual by using the 1158@code{@@comment} command (which may be abbreviated to @code{@@c}). 1159Such comments are for the person who revises the Texinfo file. All the 1160text on a line that follows either @code{@@comment} or @code{@@c} is a 1161comment; the rest of the line does not appear in either the Info file | 1176You can write comments in a Texinfo file that will not appear in 1177either the Info file or the printed manual by using the 1178@code{@@comment} command (which may be abbreviated to @code{@@c}). 1179Such comments are for the person who revises the Texinfo file. All the 1180text on a line that follows either @code{@@comment} or @code{@@c} is a 1181comment; the rest of the line does not appear in either the Info file |
1162or the printed manual. (Often, you can write the @code{@@comment} or 1163@code{@@c} in the middle of a line, and only the text that follows after 1164the @code{@@comment} or @code{@@c} command does not appear; but some 1165commands, such as @code{@@settitle} and @code{@@setfilename}, work on a 1166whole line. You cannot use @code{@@comment} or @code{@@c} in a line 1167beginning with such a command.)@refill 1168@cindex Comments 1169@findex comment 1170@findex c @r{(comment)} | 1182or the printed manual. |
1171 | 1183 |
1184Often, you can write the @code{@@comment} or @code{@@c} in the middle of 1185a line, and only the text that follows after the @code{@@comment} or 1186@code{@@c} command does not appear; but some commands, such as 1187@code{@@settitle} and @code{@@setfilename}, work on a whole line. You 1188cannot use @code{@@comment} or @code{@@c} in a line beginning with such 1189a command. 1190 1191@cindex Ignored text 1192@cindex Unprocessed text 1193@findex ignore |
|
1172You can write long stretches of text that will not appear in either 1173the Info file or the printed manual by using the @code{@@ignore} and 1174@code{@@end ignore} commands. Write each of these commands on a line 1175of its own, starting each command at the beginning of the line. Text 1176between these two commands does not appear in the processed output. 1177You can use @code{@@ignore} and @code{@@end ignore} for writing 1178comments. 1179 | 1194You can write long stretches of text that will not appear in either 1195the Info file or the printed manual by using the @code{@@ignore} and 1196@code{@@end ignore} commands. Write each of these commands on a line 1197of its own, starting each command at the beginning of the line. Text 1198between these two commands does not appear in the processed output. 1199You can use @code{@@ignore} and @code{@@end ignore} for writing 1200comments. 1201 |
1180@cindex Ignored text 1181@cindex Unprocessed text 1182@findex ignore 1183@c !!! Perhaps include this comment about ignore and ifset: 1184@ignore | |
1185Text enclosed by @code{@@ignore} or by failing @code{@@ifset} or 1186@code{@@ifclear} conditions is ignored in the sense that it will not 1187contribute to the formatted output. However, @TeX{} and makeinfo must | 1202Text enclosed by @code{@@ignore} or by failing @code{@@ifset} or 1203@code{@@ifclear} conditions is ignored in the sense that it will not 1204contribute to the formatted output. However, @TeX{} and makeinfo must |
1188still parse the ignored text, in order to understand when to 1189@emph{stop} ignoring text from the source file; that means that you 1190will still get error messages if you have invalid Texinfo markup 1191within ignored text. 1192@end ignore | 1205still parse the ignored text, in order to understand when to @emph{stop} 1206ignoring text from the source file; that means that you may still get 1207error messages if you have invalid Texinfo commands within ignored text. |
1193 1194 | 1208 1209 |
1195@node Minimum, Six Parts, Comments, Overview | 1210@node Minimum |
1196@section What a Texinfo File Must Have 1197@cindex Minimal Texinfo file (requirements) 1198@cindex Must have in Texinfo file 1199@cindex Required in Texinfo file 1200@cindex Texinfo file minimum 1201 | 1211@section What a Texinfo File Must Have 1212@cindex Minimal Texinfo file (requirements) 1213@cindex Must have in Texinfo file 1214@cindex Required in Texinfo file 1215@cindex Texinfo file minimum 1216 |
1202By convention, the names of Texinfo files end with one of the 1203extensions @file{.texinfo}, @file{.texi}, @file{.txi}, or @file{.tex}. 1204The longer extension is preferred since it describes more clearly to a 1205human reader the nature of the file. The shorter extensions are for 1206operating systems that cannot handle long file names.@refill | 1217By convention, the namea of a Texinfo file ends with (in order of 1218preference) one of the extensions @file{.texinfo}, @file{.texi}, 1219@file{.txi}, or @file{.tex}. The longer extensions are preferred since 1220they describe more clearly to a human reader the nature of the file. 1221The shorter extensions are for operating systems that cannot handle long 1222file names. |
1207 1208In order to be made into a printed manual and an Info file, a Texinfo | 1223 1224In order to be made into a printed manual and an Info file, a Texinfo |
1209file @strong{must} begin with lines like this:@refill | 1225file @strong{must} begin with lines like this: |
1210 1211@example 1212@group 1213\input texinfo 1214@@setfilename @var{info-file-name} 1215@@settitle @var{name-of-manual} 1216@end group 1217@end example 1218 1219@noindent | 1226 1227@example 1228@group 1229\input texinfo 1230@@setfilename @var{info-file-name} 1231@@settitle @var{name-of-manual} 1232@end group 1233@end example 1234 1235@noindent |
1220The contents of the file follow this beginning, and then you @strong{must} end 1221a Texinfo file with a line like this:@refill | 1236The contents of the file follow this beginning, and then you 1237@strong{must} end a Texinfo file with a line like this: |
1222 1223@example 1224@@bye 1225@end example 1226 | 1238 1239@example 1240@@bye 1241@end example 1242 |
1227@findex input @r{(@TeX{} command)} | 1243@findex \input @r{(raw @TeX{} startup)} |
1228@noindent | 1244@noindent |
1245Here's an explanation: 1246 1247@itemize @bullet 1248@item |
|
1229The @samp{\input texinfo} line tells @TeX{} to use the 1230@file{texinfo.tex} file, which tells @TeX{} how to translate the Texinfo 1231@@-commands into @TeX{} typesetting commands. (Note the use of the | 1249The @samp{\input texinfo} line tells @TeX{} to use the 1250@file{texinfo.tex} file, which tells @TeX{} how to translate the Texinfo 1251@@-commands into @TeX{} typesetting commands. (Note the use of the |
1232backslash, @samp{\}; this is correct for @TeX{}.) The 1233@samp{@@setfilename} line provides a name for the Info file and tells 1234@TeX{} to open auxiliary files. The @samp{@@settitle} line specifies a 1235title for the page headers (or footers) of the printed manual, and the 1236default document description title for the @samp{<head>} in HTML format. | 1252backslash, @samp{\}; this is correct for @TeX{}.) |
1237 | 1253 |
1254@item 1255The @code{@@setfilename} line provides a name for the Info file and 1256tells @TeX{} to open auxiliary files. @strong{All text before 1257@code{@@setfilename} is ignored!} 1258 1259@item 1260The @code{@@settitle} line specifies a title for the page headers (or 1261footers) of the printed manual, and the default document description for 1262the @samp{<head>} in HTML format. Strictly speaking, @code{@@settitle} 1263is optional---if you don't mind your document being titled `Untitled'. 1264 1265@item |
|
1238The @code{@@bye} line at the end of the file on a line of its own tells | 1266The @code{@@bye} line at the end of the file on a line of its own tells |
1239the formatters that the file is ended and to stop formatting.@refill | 1267the formatters that the file is ended and to stop formatting. |
1240 | 1268 |
1241Usually, you will not use quite such a spare format, but will include | 1269@end itemize 1270 1271Typically, you will not use quite such a spare format, but will include |
1242mode setting and start-of-header and end-of-header lines at the | 1272mode setting and start-of-header and end-of-header lines at the |
1243beginning of a Texinfo file, like this:@refill | 1273beginning of a Texinfo file, like this: |
1244 1245@example 1246@group 1247\input texinfo @@c -*-texinfo-*- 1248@@c %**start of header 1249@@setfilename @var{info-file-name} 1250@@settitle @var{name-of-manual} 1251@@c %**end of header 1252@end group 1253@end example 1254 1255@noindent 1256In the first line, @samp{-*-texinfo-*-} causes Emacs to switch into 1257Texinfo mode when you edit the file. 1258 | 1274 1275@example 1276@group 1277\input texinfo @@c -*-texinfo-*- 1278@@c %**start of header 1279@@setfilename @var{info-file-name} 1280@@settitle @var{name-of-manual} 1281@@c %**end of header 1282@end group 1283@end example 1284 1285@noindent 1286In the first line, @samp{-*-texinfo-*-} causes Emacs to switch into 1287Texinfo mode when you edit the file. 1288 |
1259The @code{@@c} lines which surround the @samp{@@setfilename} and 1260@samp{@@settitle} lines are optional, but you need them in order to 1261run @TeX{} or Info on just part of the file. (@xref{Start of Header}, 1262for more information.)@refill | 1289The @code{@@c} lines which surround the @code{@@setfilename} and 1290@code{@@settitle} lines are optional, but you need them in order to 1291run @TeX{} or Info on just part of the file. (@xref{Start of Header}.) |
1263 | 1292 |
1264Furthermore, you will usually provide a Texinfo file with a title 1265page, indices, and the like. But the minimum, which can be useful 1266for short documents, is just the three lines at the beginning and the 1267one line at the end.@refill | 1293Furthermore, you will usually provide a Texinfo file with a title page, 1294indices, and the like, all of which are explained in this manual. But 1295the minimum, which can be useful for short documents, is just the three 1296lines at the beginning and the one line at the end. |
1268 | 1297 |
1269@node Six Parts, Short Sample, Minimum, Overview 1270@comment node-name, next, previous, up | 1298 1299@node Six Parts |
1271@section Six Parts of a Texinfo File 1272 | 1300@section Six Parts of a Texinfo File 1301 |
1273Generally, a Texinfo file contains more than the minimal 1274beginning and end---it usually contains six parts:@refill | 1302Generally, a Texinfo file contains more than the minimal beginning and 1303end described in the previous section---it usually contains the six 1304parts listed below. These are described fully in the following sections. |
1275 1276@table @r 1277@item 1. Header | 1305 1306@table @r 1307@item 1. Header |
1278The @dfn{Header} names the file, tells @TeX{} which definitions' file to 1279use, and performs other ``housekeeping'' tasks.@refill | 1308The @dfn{Header} names the file, tells @TeX{} which definitions file to 1309use, and other such housekeeping tasks. |
1280 | 1310 |
1281@item 2. Summary Description and Copyright 1282The @dfn{Summary Description and Copyright} segment describes the document 1283and contains the copyright notice and copying permissions for the Info 1284file. The segment must be enclosed between @code{@@ifinfo} and 1285@code{@@end ifinfo} commands so that the formatters place it only in the Info 1286file.@refill | 1311@item 2. Summary and Copyright 1312The @dfn{Summary and Copyright} segment describes the document and 1313contains the copyright notice and copying permissions. This is done 1314with the @code{@@copying} command. |
1287 1288@item 3. Title and Copyright | 1315 1316@item 3. Title and Copyright |
1289The @dfn{Title and Copyright} segment contains the title and copyright pages 1290and copying permissions for the printed manual. The segment must be 1291enclosed between @code{@@titlepage} and @code{@@end titlepage} commands. 1292The title and copyright page appear only in the printed @w{manual}.@refill | 1317The @dfn{Title and Copyright} segment contains the title and copyright 1318pages for the printed manual. The segment must be enclosed between 1319@code{@@titlepage} and @code{@@end titlepage} commands. The title and 1320copyright page appear only in the printed manual. |
1293 1294@item 4. `Top' Node and Master Menu | 1321 1322@item 4. `Top' Node and Master Menu |
1295The @dfn{Master Menu} contains a complete menu of all the nodes in the whole 1296Info file. It appears only in the Info file, in the `Top' node.@refill | 1323The `Top' node starts off the online output; it does not appear in the 1324printed manual. We recommend including the copying permissions here as 1325well as the segments above. And it contains at least a top-level menu 1326listing the chapters, and possibly a @dfn{Master Menu} listing all the 1327nodes in the entire document. |
1297 1298@item 5. Body | 1328 1329@item 5. Body |
1299The @dfn{Body} of the document may be structured like a traditional book or 1300encyclopedia or it may be free form.@refill | 1330The @dfn{Body} of the document is typically structured like a 1331traditional book or encyclopedia, but it may be free form. |
1301 1302@item 6. End | 1332 1333@item 6. End |
1303The @dfn{End} contains commands for printing indices and generating 1304the table of contents, and the @code{@@bye} command on a line of its 1305own.@refill | 1334The @dfn{End} segment contains commands for printing indices and 1335generating the table of contents, and the @code{@@bye} command on a line 1336of its own. |
1306@end table 1307 | 1337@end table 1338 |
1339 |
|
1308@node Short Sample 1309@section A Short Sample Texinfo File | 1340@node Short Sample 1341@section A Short Sample Texinfo File |
1310@cindex Sample Texinfo file | 1342@cindex Sample Texinfo file, with comments |
1311 | 1343 |
1312Here is a complete but very short Texinfo file, in six parts. The first 1313three parts of the file, from @samp{\input texinfo} through to 1314@samp{@@end titlepage}, look more intimidating than they are. Most of 1315the material is standard boilerplate; when you write a manual, simply 1316insert the names for your own manual in this segment. (@xref{Beginning a 1317File}.)@refill | 1344Here is a very short but complete Texinfo file, in the six conventional 1345parts enumerated in the previous section, so you can see how Texinfo 1346source appears in practice. The first three parts of the file, from 1347@samp{\input texinfo} through to @samp{@@end titlepage}, look more 1348intimidating than they are: most of the material is standard 1349boilerplate; when writing a manual, you simply change the names as 1350appropriate. |
1318 | 1351 |
1352@xref{Beginning a File}, for full documentation on the commands listed 1353here. @xref{GNU Sample Texts}, for the full texts to be used in GNU manuals. 1354 |
|
1319In the following, the sample text is @emph{indented}; comments on it are | 1355In the following, the sample text is @emph{indented}; comments on it are |
1320not. The complete file, without any comments, is shown in 1321@ref{Sample Texinfo File}. | 1356not. The complete file, without interspersed comments, is shown in 1357@ref{Short Sample Texinfo File}. |
1322 1323@subheading Part 1: Header 1324 1325@noindent 1326The header does not appear in either the Info file or the 1327printed output. It sets various parameters, including the 1328name of the Info file and the title used in the header. 1329 1330@example 1331@group 1332\input texinfo @@c -*-texinfo-*- 1333@@c %**start of header 1334@@setfilename sample.info | 1358 1359@subheading Part 1: Header 1360 1361@noindent 1362The header does not appear in either the Info file or the 1363printed output. It sets various parameters, including the 1364name of the Info file and the title used in the header. 1365 1366@example 1367@group 1368\input texinfo @@c -*-texinfo-*- 1369@@c %**start of header 1370@@setfilename sample.info |
1335@@settitle Sample Document 1336@@setchapternewpage odd | 1371@@settitle Sample Manual 1.0 |
1337@@c %**end of header 1338@end group 1339@end example 1340 1341@subheading Part 2: Summary Description and Copyright 1342 1343@noindent | 1372@@c %**end of header 1373@end group 1374@end example 1375 1376@subheading Part 2: Summary Description and Copyright 1377 1378@noindent |
1344The summary description and copyright segment does not 1345appear in the printed document. | 1379A real manual includes more text here, according to the license under 1380which it is distributed. @xref{GNU Sample Texts}. |
1346 1347@example 1348@group | 1381 1382@example 1383@group |
1349@@ifinfo 1350This is a short example of a complete Texinfo file. | 1384@@copying 1385This is a short example of a complete Texinfo file, version 1.0. |
1351 1352Copyright @@copyright@{@} 2002 Free Software Foundation, Inc. | 1386 1387Copyright @@copyright@{@} 2002 Free Software Foundation, Inc. |
1353@@end ifinfo | 1388@@end copying |
1354@end group 1355@end example 1356 | 1389@end group 1390@end example 1391 |
1357@subheading Part 3: Titlepage and Copyright | 1392@subheading Part 3: Titlepage, Contents, Copyright |
1358 1359@noindent | 1393 1394@noindent |
1360The titlepage segment does not appear in the Info file. | 1395The titlepage segment does not appear in the online output, only in the 1396printed manual. We use the @code{@@insertcopying} command to 1397include the permission text from the previous section, instead of 1398writing it out again; it is output on the back of the title page. The 1399@code{@@contents} command generates a table of contents. |
1361 1362@example 1363@group | 1400 1401@example 1402@group |
1364@@contents | |
1365@@titlepage | 1403@@titlepage |
1366@@sp 10 | |
1367@@title Sample Title 1368@end group 1369 1370@group 1371@@c The following two commands start the copyright page. 1372@@page 1373@@vskip 0pt plus 1filll | 1404@@title Sample Title 1405@end group 1406 1407@group 1408@@c The following two commands start the copyright page. 1409@@page 1410@@vskip 0pt plus 1filll |
1374Copyright @@copyright@{@} 2002 Free Software Foundation, Inc. | 1411@@insertcopying |
1375@@end titlepage 1376@end group | 1412@@end titlepage 1413@end group |
1414 1415@@c Output the table of contents at the beginning. 1416@@contents |
|
1377@end example 1378 1379@subheading Part 4: `Top' Node and Master Menu 1380 1381@noindent | 1417@end example 1418 1419@subheading Part 4: `Top' Node and Master Menu 1420 1421@noindent |
1382The `Top' node contains the master menu for the Info file. 1383Since a printed manual uses a table of contents rather than 1384a menu, the master menu appears only in online output. | 1422The `Top' node contains the master menu for the Info file. Since a 1423printed manual uses a table of contents rather than a menu, the master 1424menu appears only in online output. We also include the copying text 1425again for the benefit of online readers. And since the copying text 1426begins with a brief description of the manual, no other text is needed. |
1385 1386@example 1387@group 1388@@ifnottex 1389@@node Top 1390@@end ifnottex 1391@end group 1392@end example 1393 1394@example 1395@group | 1427 1428@example 1429@group 1430@@ifnottex 1431@@node Top 1432@@end ifnottex 1433@end group 1434@end example 1435 1436@example 1437@group |
1438@@insertcopying 1439 |
|
1396@@menu 1397* First Chapter:: The first chapter is the | 1440@@menu 1441* First Chapter:: The first chapter is the |
1398 only chapter in this sample. 1399* Concept Index:: This index has two entries. | 1442 only chapter in this sample. 1443* Index:: Complete index. |
1400@@end menu 1401@end group 1402@end example 1403 | 1444@@end menu 1445@end group 1446@end example 1447 |
1404@subheading Part 5: The Body of the Document | |
1405 | 1448 |
1449@subheading Part 5: The Body of the Document 1450 |
|
1406@noindent 1407The body segment contains all the text of the document, but not the 1408indices or table of contents. This example illustrates a node and a | 1451@noindent 1452The body segment contains all the text of the document, but not the 1453indices or table of contents. This example illustrates a node and a |
1409chapter containing an enumerated list.@refill | 1454chapter containing an enumerated list. |
1410 1411@example 1412@group 1413@@node First Chapter 1414@@chapter First Chapter | 1455 1456@example 1457@group 1458@@node First Chapter 1459@@chapter First Chapter |
1415@@cindex Chapter, first | 1460 1461@@cindex chapter, first |
1416@end group 1417 1418@group | 1462@end group 1463 1464@group |
1419This is the contents of the first chapter. 1420@@cindex Another sample index entry | 1465This is the first chapter. 1466@@cindex index entry, another |
1421@end group 1422 1423@group 1424Here is a numbered list. 1425 1426@@enumerate 1427@@item 1428This is the first item. 1429 1430@@item 1431This is the second item. 1432@@end enumerate 1433@end group | 1467@end group 1468 1469@group 1470Here is a numbered list. 1471 1472@@enumerate 1473@@item 1474This is the first item. 1475 1476@@item 1477This is the second item. 1478@@end enumerate 1479@end group |
1434 1435@group 1436The @@code@{makeinfo@} command transforms a Texinfo file 1437such as this into an Info file or other output; 1438@@TeX@ typesets it for a printed manual. 1439@end group | |
1440@end example 1441 | 1480@end example 1481 |
1482 |
|
1442@subheading Part 6: The End of the Document 1443 1444@noindent 1445The end segment contains commands for generating an index in a node and | 1483@subheading Part 6: The End of the Document 1484 1485@noindent 1486The end segment contains commands for generating an index in a node and |
1446unnumbered chapter of its own, (usually) for generating the table of 1447contents, and the @code{@@bye} command that marks the end of the 1448document.@refill | 1487unnumbered chapter of its own, and the @code{@@bye} command that marks 1488the end of the document. |
1449 1450@example 1451@group | 1489 1490@example 1491@group |
1452@@node Concept Index 1453@@unnumbered Concept Index | 1492@@node Index 1493@@unnumbered Index |
1454@end group 1455 1456@group 1457@@printindex cp 1458 1459@@bye 1460@end group 1461@end example 1462 | 1494@end group 1495 1496@group 1497@@printindex cp 1498 1499@@bye 1500@end group 1501@end example 1502 |
1463@subheading The Results | |
1464 | 1503 |
1504@subheading Some Results 1505 |
|
1465Here is what the contents of the first chapter of the sample look like: 1466 1467@sp 1 1468@need 700 1469@quotation | 1506Here is what the contents of the first chapter of the sample look like: 1507 1508@sp 1 1509@need 700 1510@quotation |
1470This is the contents of the first chapter. | 1511This is the first chapter. |
1471 1472Here is a numbered list. 1473 1474@enumerate 1475@item 1476This is the first item. 1477 1478@item 1479This is the second item. 1480@end enumerate | 1512 1513Here is a numbered list. 1514 1515@enumerate 1516@item 1517This is the first item. 1518 1519@item 1520This is the second item. 1521@end enumerate |
1481 1482The @code{makeinfo} and @code{texinfo-format-buffer} 1483commands transform a Texinfo file such as this into 1484an Info file; and @TeX{} typesets it for a printed 1485manual. | |
1486@end quotation 1487 1488 1489@node History 1490@section History 1491 1492@cindex Stallman, Richard M. 1493@cindex Chassell, Robert J. | 1522@end quotation 1523 1524 1525@node History 1526@section History 1527 1528@cindex Stallman, Richard M. 1529@cindex Chassell, Robert J. |
1530@cindex Fox, Brian |
|
1494@cindex Berry, Karl 1495Richard M.@: Stallman invented the Texinfo format, wrote the initial | 1531@cindex Berry, Karl 1532Richard M.@: Stallman invented the Texinfo format, wrote the initial |
1496processors, and created Edition 1.0 of this manual. @w{Robert J.@: 1497Chassell} greatly revised and extended the manual, starting with Edition | 1533processors, and created Edition 1.0 of this manual. @w{Robert J.@:} 1534Chassell greatly revised and extended the manual, starting with Edition |
14981.1. Brian Fox was responsible for the standalone Texinfo distribution 1499until version 3.8, and wrote the standalone @command{makeinfo} and | 15351.1. Brian Fox was responsible for the standalone Texinfo distribution 1536until version 3.8, and wrote the standalone @command{makeinfo} and |
1500@command{info}. Karl Berry has made the updates since Texinfo 3.8 and 1501subsequent releases, starting with Edition 2.22 of the manual. | 1537@command{info} programs. Karl Berry has continued maintenance since 1538Texinfo 3.8 (manual edition 2.22). |
1502 1503@cindex Pinard, Fran@,{c}ois 1504@cindex Zuhn, David D. 1505@cindex Weisshaus, Melissa 1506@cindex Zaretskii, Eli 1507@cindex Schwab, Andreas 1508@cindex Weinberg, Zack | 1539 1540@cindex Pinard, Fran@,{c}ois 1541@cindex Zuhn, David D. 1542@cindex Weisshaus, Melissa 1543@cindex Zaretskii, Eli 1544@cindex Schwab, Andreas 1545@cindex Weinberg, Zack |
1509Our thanks go out to all who helped improve this work, particularly to 1510Fran@,{c}ois Pinard and @w{David D.@: Zuhn}, who tirelessly recorded and 1511reported mistakes and obscurities; our special thanks go to Melissa 1512Weisshaus for her frequent and often tedious reviews of nearly similar 1513editions. The indefatigable Eli Zaretskii and Andreas Schwab have 1514provided patches beyond counting. Zack Weinberg did the impossible by 1515implementing the macro syntax in @file{texinfo.tex}. Dozens of others 1516have contributed patches and suggestions, they are gratefully 1517acknowledged in the @file{ChangeLog} file. Our mistakes are our own. | 1546Our thanks go out to all who helped improve this work, particularly the 1547indefatigable Eli Zaretskii and Andreas Schwab, who have provided 1548patches beyond counting. Fran@,{c}ois Pinard and @w{David D.@: Zuhn}, 1549tirelessly recorded and reported mistakes and obscurities. Zack 1550Weinberg did the impossible by implementing the macro syntax in 1551@file{texinfo.tex}. Special thanks go to Melissa Weisshaus for her 1552frequent reviews of nearly similar editions. Dozens of others have 1553contributed patches and suggestions, they are gratefully acknowledged in 1554the @file{ChangeLog} file. Our mistakes are our own. |
1518 1519@cindex Scribe 1520@cindex Reid, Brian 1521@cindex History of Texinfo | 1555 1556@cindex Scribe 1557@cindex Reid, Brian 1558@cindex History of Texinfo |
1559@cindex Texinfo history |
|
1522A bit of history: in the 1970's at CMU, Brian Reid developed a program 1523and format named Scribe to mark up documents for printing. It used the | 1560A bit of history: in the 1970's at CMU, Brian Reid developed a program 1561and format named Scribe to mark up documents for printing. It used the |
1524@code{@@} character to introduce commands as Texinfo does and strived to 1525describe document contents rather than formatting. | 1562@code{@@} character to introduce commands, as Texinfo does. Much more 1563consequentially, it strived to describe document contents rather than 1564formatting, an idea wholeheartedly adopted by Texinfo. |
1526 1527@cindex Bolio 1528@cindex Bo@TeX{} 1529Meanwhile, people at MIT developed another, not too dissimilar format 1530called Bolio. This then was converted to using @TeX{} as its typesetting | 1565 1566@cindex Bolio 1567@cindex Bo@TeX{} 1568Meanwhile, people at MIT developed another, not too dissimilar format 1569called Bolio. This then was converted to using @TeX{} as its typesetting |
1531language: Bo@TeX{}. | 1570language: Bo@TeX{}. The earliest Bo@TeX{} version seems to have been 15710.02 on October 31, 1984. |
1532 1533Bo@TeX{} could only be used as a markup language for documents to be 1534printed, not for online documents. Richard Stallman (RMS) worked on 1535both Bolio and Bo@TeX{}. He also developed a nifty on-line help format 1536called Info, and then combined Bo@TeX{} and Info to create Texinfo, a | 1572 1573Bo@TeX{} could only be used as a markup language for documents to be 1574printed, not for online documents. Richard Stallman (RMS) worked on 1575both Bolio and Bo@TeX{}. He also developed a nifty on-line help format 1576called Info, and then combined Bo@TeX{} and Info to create Texinfo, a |
1537mark up language for text that is intended to be read both on line and | 1577mark up language for text that is intended to be read both online and |
1538as printed hard copy. 1539 1540 | 1578as printed hard copy. 1579 1580 |
1541 | |
1542@node Texinfo Mode 1543@chapter Using Texinfo Mode 1544@cindex Texinfo mode 1545@cindex Mode, using Texinfo 1546@cindex GNU Emacs 1547@cindex Emacs 1548 1549You may edit a Texinfo file with any text editor you choose. A Texinfo 1550file is no different from any other @sc{ascii} file. However, GNU Emacs | 1581@node Texinfo Mode 1582@chapter Using Texinfo Mode 1583@cindex Texinfo mode 1584@cindex Mode, using Texinfo 1585@cindex GNU Emacs 1586@cindex Emacs 1587 1588You may edit a Texinfo file with any text editor you choose. A Texinfo 1589file is no different from any other @sc{ascii} file. However, GNU Emacs |
1551comes with a special mode, called Texinfo 1552mode, that provides Emacs commands and tools to help ease your work.@refill | 1590comes with a special mode, called Texinfo mode, that provides Emacs 1591commands and tools to help ease your work. |
1553 1554This chapter describes features of GNU Emacs' Texinfo mode but not any | 1592 1593This chapter describes features of GNU Emacs' Texinfo mode but not any |
1555features of the Texinfo formatting language. If you are reading this | 1594features of the Texinfo formatting language. So if you are reading this |
1556manual straight through from the beginning, you may want to skim through 1557this chapter briefly and come back to it after reading succeeding | 1595manual straight through from the beginning, you may want to skim through 1596this chapter briefly and come back to it after reading succeeding |
1558chapters which describe the Texinfo formatting language in 1559detail.@refill | 1597chapters which describe the Texinfo formatting language in detail. |
1560 1561@menu 1562* Texinfo Mode Overview:: How Texinfo mode can help you. 1563* Emacs Editing:: Texinfo mode adds to GNU Emacs' general 1564 purpose editing features. 1565* Inserting:: How to insert frequently used @@-commands. 1566* Showing the Structure:: How to show the structure of a file. 1567* Updating Nodes and Menus:: How to update or create new nodes and menus. --- 477 unchanged lines hidden (view full) --- 2045Manual}).@refill 2046 2047Also, the @code{texinfo-indent-menu-description} command may be used to 2048indent existing menu descriptions to a specified column. Finally, if 2049you wish, you can use the @code{texinfo-insert-node-lines} command to 2050insert missing @code{@@node} lines into a file. (@xref{Other Updating 2051Commands}, for more information.)@refill 2052 | 1598 1599@menu 1600* Texinfo Mode Overview:: How Texinfo mode can help you. 1601* Emacs Editing:: Texinfo mode adds to GNU Emacs' general 1602 purpose editing features. 1603* Inserting:: How to insert frequently used @@-commands. 1604* Showing the Structure:: How to show the structure of a file. 1605* Updating Nodes and Menus:: How to update or create new nodes and menus. --- 477 unchanged lines hidden (view full) --- 2083Manual}).@refill 2084 2085Also, the @code{texinfo-indent-menu-description} command may be used to 2086indent existing menu descriptions to a specified column. Finally, if 2087you wish, you can use the @code{texinfo-insert-node-lines} command to 2088insert missing @code{@@node} lines into a file. (@xref{Other Updating 2089Commands}, for more information.)@refill 2090 |
2053@node Updating Requirements, Other Updating Commands, Updating Commands, Updating Nodes and Menus 2054@comment node-name, next, previous, up | 2091@node Updating Requirements |
2055@subsection Updating Requirements 2056@cindex Updating requirements 2057@cindex Requirements for updating commands 2058 2059To use the updating commands, you must organize the Texinfo file 2060hierarchically with chapters, sections, subsections, and the like. 2061When you construct the hierarchy of the manual, do not `jump down' 2062more than one level at a time: you can follow the `Top' node with a 2063chapter, but not with a section; you can follow a chapter with a 2064section, but not with a subsection. However, you may `jump up' any 2065number of levels at one time---for example, from a subsection to a 2066chapter.@refill 2067 2068Each @code{@@node} line, with the exception of the line for the `Top' 2069node, must be followed by a line with a structuring command such as 2070@code{@@chapter}, @code{@@section}, or 2071@code{@@unnumberedsubsec}.@refill 2072 2073Each @code{@@node} line/structuring-command line combination | 2092@subsection Updating Requirements 2093@cindex Updating requirements 2094@cindex Requirements for updating commands 2095 2096To use the updating commands, you must organize the Texinfo file 2097hierarchically with chapters, sections, subsections, and the like. 2098When you construct the hierarchy of the manual, do not `jump down' 2099more than one level at a time: you can follow the `Top' node with a 2100chapter, but not with a section; you can follow a chapter with a 2101section, but not with a subsection. However, you may `jump up' any 2102number of levels at one time---for example, from a subsection to a 2103chapter.@refill 2104 2105Each @code{@@node} line, with the exception of the line for the `Top' 2106node, must be followed by a line with a structuring command such as 2107@code{@@chapter}, @code{@@section}, or 2108@code{@@unnumberedsubsec}.@refill 2109 2110Each @code{@@node} line/structuring-command line combination |
2074must look either like this:@refill | 2111must look either like this: |
2075 2076@example 2077@group 2078@@node Comments, Minimum, Conventions, Overview 2079@@comment node-name, next, previous, up 2080@@section Comments 2081@end group 2082@end example 2083 2084or like this (without the @code{@@comment} line): 2085 2086@example 2087@group 2088@@node Comments, Minimum, Conventions, Overview 2089@@section Comments 2090@end group 2091@end example 2092 | 2112 2113@example 2114@group 2115@@node Comments, Minimum, Conventions, Overview 2116@@comment node-name, next, previous, up 2117@@section Comments 2118@end group 2119@end example 2120 2121or like this (without the @code{@@comment} line): 2122 2123@example 2124@group 2125@@node Comments, Minimum, Conventions, Overview 2126@@section Comments 2127@end group 2128@end example 2129 |
2130or like this (without the explicit node pointers): 2131 2132@example 2133@group 2134@@node Comments 2135@@section Comments 2136@end group 2137@end example 2138 |
|
2093@noindent 2094In this example, `Comments' is the name of both the node and the 2095section. The next node is called `Minimum' and the previous node is 2096called `Conventions'. The `Comments' section is within the `Overview' 2097node, which is specified by the `Up' pointer. (Instead of an | 2139@noindent 2140In this example, `Comments' is the name of both the node and the 2141section. The next node is called `Minimum' and the previous node is 2142called `Conventions'. The `Comments' section is within the `Overview' 2143node, which is specified by the `Up' pointer. (Instead of an |
2098@code{@@comment} line, you may also write an @code{@@ifinfo} line.)@refill | 2144@code{@@comment} line, you may also write an @code{@@ifinfo} line.) |
2099 2100If a file has a `Top' node, it must be called @samp{top} or @samp{Top} | 2145 2146If a file has a `Top' node, it must be called @samp{top} or @samp{Top} |
2101and be the first node in the file.@refill | 2147and be the first node in the file. |
2102 2103The menu updating commands create a menu of sections within a chapter, 2104a menu of subsections within a section, and so on. This means that 2105you must have a `Top' node if you want a menu of chapters.@refill 2106 2107Incidentally, the @code{makeinfo} command will create an Info file for a 2108hierarchically organized Texinfo file that lacks `Next', `Previous' and 2109`Up' pointers. Thus, if you can be sure that your Texinfo file will be 2110formatted with @code{makeinfo}, you have no need for the update node 2111commands. (@xref{Creating an Info File}, for more information about 2112@code{makeinfo}.) However, both @code{makeinfo} and the 2113@code{texinfo-format-@dots{}} commands require that you insert menus in 2114the file. 2115 | 2148 2149The menu updating commands create a menu of sections within a chapter, 2150a menu of subsections within a section, and so on. This means that 2151you must have a `Top' node if you want a menu of chapters.@refill 2152 2153Incidentally, the @code{makeinfo} command will create an Info file for a 2154hierarchically organized Texinfo file that lacks `Next', `Previous' and 2155`Up' pointers. Thus, if you can be sure that your Texinfo file will be 2156formatted with @code{makeinfo}, you have no need for the update node 2157commands. (@xref{Creating an Info File}, for more information about 2158@code{makeinfo}.) However, both @code{makeinfo} and the 2159@code{texinfo-format-@dots{}} commands require that you insert menus in 2160the file. 2161 |
2116@node Other Updating Commands, , Updating Requirements, Updating Nodes and Menus 2117@comment node-name, next, previous, up | 2162 2163@node Other Updating Commands |
2118@subsection Other Updating Commands 2119 2120In addition to the five major updating commands, Texinfo mode 2121possesses several less frequently used updating commands:@refill 2122 2123@table @kbd 2124@item M-x texinfo-insert-node-lines 2125@findex texinfo-insert-node-lines --- 113 unchanged lines hidden (view full) --- 2239 2240@example 2241C-c C-m C-b 2242@exdent or 2243M-x makeinfo-buffer 2244@end example 2245 2246For @TeX{} or the Info formatting commands to work, the file @emph{must} | 2164@subsection Other Updating Commands 2165 2166In addition to the five major updating commands, Texinfo mode 2167possesses several less frequently used updating commands:@refill 2168 2169@table @kbd 2170@item M-x texinfo-insert-node-lines 2171@findex texinfo-insert-node-lines --- 113 unchanged lines hidden (view full) --- 2285 2286@example 2287C-c C-m C-b 2288@exdent or 2289M-x makeinfo-buffer 2290@end example 2291 2292For @TeX{} or the Info formatting commands to work, the file @emph{must} |
2247include a line that has @code{@@setfilename} in its header.@refill | 2293include a line that has @code{@@setfilename} in its header. |
2248 2249@xref{Creating an Info File}, for details about Info formatting.@refill 2250 2251@node Printing, Texinfo Mode Summary, Info Formatting, Texinfo Mode 2252@comment node-name, next, previous, up 2253@section Formatting and Printing 2254@cindex Formatting for printing 2255@cindex Printing a region or buffer --- 232 unchanged lines hidden (view full) --- 2488@end group 2489 2490@group 2491M-x texinfo-sequential-node-update 2492 @r{Insert node pointers in strict sequence.} 2493@end group 2494@end example 2495 | 2294 2295@xref{Creating an Info File}, for details about Info formatting.@refill 2296 2297@node Printing, Texinfo Mode Summary, Info Formatting, Texinfo Mode 2298@comment node-name, next, previous, up 2299@section Formatting and Printing 2300@cindex Formatting for printing 2301@cindex Printing a region or buffer --- 232 unchanged lines hidden (view full) --- 2534@end group 2535 2536@group 2537M-x texinfo-sequential-node-update 2538 @r{Insert node pointers in strict sequence.} 2539@end group 2540@end example 2541 |
2542 |
|
2496@node Beginning a File 2497@chapter Beginning a Texinfo File 2498@cindex Beginning a Texinfo file 2499@cindex Texinfo file beginning 2500@cindex File beginning 2501 2502Certain pieces of information must be provided at the beginning of a | 2543@node Beginning a File 2544@chapter Beginning a Texinfo File 2545@cindex Beginning a Texinfo file 2546@cindex Texinfo file beginning 2547@cindex File beginning 2548 2549Certain pieces of information must be provided at the beginning of a |
2503Texinfo file, such as the name of the file and the title of the 2504document.@refill | 2550Texinfo file, such as the name for the output file(s), the title of the 2551document, and the Top node. |
2505 | 2552 |
2553This chapter expands on the minimal complete Texinfo source file 2554previously given (@pxref{Six Parts}). 2555 |
|
2506@menu | 2556@menu |
2507* Four Parts:: Four parts begin a Texinfo file. 2508* Sample Beginning:: Here is a sample beginning for a Texinfo file. 2509* Header:: The very beginning of a Texinfo file. 2510* Info Summary and Permissions:: Summary and copying permissions for Info. | 2557* Sample Beginning:: A sample beginning for a Texinfo file. 2558* Texinfo File Header:: The first lines. 2559* Document Permissions:: Ensuring your manual is free. |
2511* Titlepage & Copyright Page:: Creating the title and copyright pages. 2512* The Top Node:: Creating the `Top' node and master menu. | 2560* Titlepage & Copyright Page:: Creating the title and copyright pages. 2561* The Top Node:: Creating the `Top' node and master menu. |
2562* Global Document Commands:: Affecting formatting throughout. |
|
2513* Software Copying Permissions:: Ensure that you and others continue to | 2563* Software Copying Permissions:: Ensure that you and others continue to |
2514 have the right to use and share software. | 2564 have the right to use and share software. |
2515@end menu 2516 | 2565@end menu 2566 |
2517@node Four Parts, Sample Beginning, Beginning a File, Beginning a File 2518@ifinfo 2519@heading Four Parts Begin a File 2520@end ifinfo | |
2521 | 2567 |
2522Generally, the beginning of a Texinfo file has four parts:@refill 2523 2524@enumerate 2525@item 2526The header, delimited by special comment lines, that includes the 2527commands for naming the Texinfo file and telling @TeX{} what 2528definitions file to use when processing the Texinfo file.@refill 2529 2530@item 2531A short statement of what the file is about, with a copyright notice 2532and copying permissions. This is enclosed in @code{@@ifinfo} and 2533@code{@@end ifinfo} commands so that the formatters place it only 2534in the Info file.@refill 2535 2536@item 2537A title page and copyright page, with a copyright notice and copying 2538permissions. This is enclosed between @code{@@titlepage} and 2539@code{@@end titlepage} commands. The title and copyright page appear 2540only in the printed @w{manual}.@refill 2541 2542@item 2543The `Top' node that contains a menu for the whole Info file. The 2544contents of this node appear only in the Info file.@refill 2545@end enumerate 2546 2547Also, optionally, you may include the copying conditions for a program 2548and a warranty disclaimer. The copying section will be followed by an 2549introduction or else by the first chapter of the manual.@refill 2550 2551Since the copyright notice and copying permissions for the Texinfo 2552document (in contrast to the copying permissions for a program) are in 2553parts that appear only in the Info file or only in the printed manual, 2554this information must be given twice.@refill 2555 2556 | |
2557@node Sample Beginning 2558@section Sample Texinfo File Beginning 2559 | 2568@node Sample Beginning 2569@section Sample Texinfo File Beginning 2570 |
2560The following sample shows what is needed.@refill | 2571@cindex Example beginning of Texinfo file |
2561 | 2572 |
2573The following sample shows what is needed. The elements given here are 2574explained in more detail in the following sections. Other commands are 2575often included at the beginning of Texinfo files, but the ones here are 2576the most critical. 2577 2578@xref{GNU Sample Texts}, for the full texts to be used in GNU manuals. 2579 |
|
2562@example 2563\input texinfo @@c -*-texinfo-*- 2564@@c %**start of header | 2580@example 2581\input texinfo @@c -*-texinfo-*- 2582@@c %**start of header |
2565@@setfilename @var{name-of-info-file} 2566@@settitle @var{name-of-manual} 2567@@setchapternewpage odd | 2583@@setfilename @var{infoname}.info 2584@@settitle @var{name-of-manual} @var{version} |
2568@@c %**end of header 2569 | 2585@@c %**end of header 2586 |
2570@@ifinfo 2571This file documents @dots{} | 2587@@copying 2588This manual is for @var{program}, version @var{version}. |
2572 | 2589 |
2573Copyright @var{year} @var{copyright-owner} | 2590Copyright @@copyright@{@} @var{years} @var{copyright-owner}. |
2574 2575@group | 2591 2592@group |
2593@@quotation |
|
2576Permission is granted to @dots{} | 2594Permission is granted to @dots{} |
2577@@end ifinfo | 2595@@end quotation 2596@@end copying |
2578@end group 2579 2580@group | 2597@end group 2598 2599@group |
2581@@c This title page illustrates only one of the 2582@@c two methods of forming a title page. 2583@end group 2584 2585@group | |
2586@@titlepage 2587@@title @var{name-of-manual-when-printed} 2588@@subtitle @var{subtitle-if-any} 2589@@subtitle @var{second-subtitle} 2590@@author @var{author} 2591@end group 2592 2593@group 2594@@c The following two commands 2595@@c start the copyright page. 2596@@page 2597@@vskip 0pt plus 1filll | 2600@@titlepage 2601@@title @var{name-of-manual-when-printed} 2602@@subtitle @var{subtitle-if-any} 2603@@subtitle @var{second-subtitle} 2604@@author @var{author} 2605@end group 2606 2607@group 2608@@c The following two commands 2609@@c start the copyright page. 2610@@page 2611@@vskip 0pt plus 1filll |
2598Copyright @@copyright@{@} @var{year} @var{copyright-owner} | 2612@@insertcopying |
2599@end group 2600 2601Published by @dots{} | 2613@end group 2614 2615Published by @dots{} |
2602 2603Permission is granted to @dots{} | |
2604@@end titlepage 2605 | 2616@@end titlepage 2617 |
2618@@c So the toc is printed in the right place. 2619@@contents 2620 |
|
2606@@ifnottex 2607@@node Top 2608@@top @var{title} 2609 | 2621@@ifnottex 2622@@node Top 2623@@top @var{title} 2624 |
2610This document describes @dots{} 2611 2612This document applies to version @dots{} 2613of the program named @dots{} | 2625@@insertcopying |
2614@@end ifnottex 2615 2616@group 2617@@menu | 2626@@end ifnottex 2627 2628@group 2629@@menu |
2618* Copying:: Your rights and freedoms. | |
2619* First Chapter:: Getting started @dots{} | 2630* First Chapter:: Getting started @dots{} |
2620* Second Chapter:: @dots{} | 2631* Second Chapter:: @dots{} |
2621 @dots{} | 2632 @dots{} |
2622 @dots{} | 2633* Copying:: Your rights and freedoms. |
2623@@end menu 2624@end group 2625 2626@group | 2634@@end menu 2635@end group 2636 2637@group |
2627@@node First Chapter | 2638@@node First Chapter |
2628@@chapter First Chapter | 2639@@chapter First Chapter |
2629@@cindex Index entry for First Chapter | 2640 2641@@cindex first chapter 2642@@cindex chapter, first 2643@dots{} |
2630@end group 2631@end example 2632 2633 | 2644@end group 2645@end example 2646 2647 |
2634@node Header 2635@section The Texinfo File Header | 2648@node Texinfo File Header 2649@section Texinfo File Header |
2636@cindex Header for Texinfo files 2637@cindex Texinfo file header 2638 2639Texinfo files start with at least three lines that provide Info and 2640@TeX{} with necessary information. These are the @code{\input texinfo} | 2650@cindex Header for Texinfo files 2651@cindex Texinfo file header 2652 2653Texinfo files start with at least three lines that provide Info and 2654@TeX{} with necessary information. These are the @code{\input texinfo} |
2641line, the @code{@@settitle} line, and the @code{@@setfilename} line. If 2642you want to run @TeX{} on just a part of the Texinfo file, you must | 2655line, the @code{@@settitle} line, and the @code{@@setfilename} line. 2656 2657Also, if you want to format just part of the Texinfo file, you must |
2643write the @code{@@settitle} and @code{@@setfilename} lines between | 2658write the @code{@@settitle} and @code{@@setfilename} lines between |
2644start-of-header and end-of-header lines. | 2659start-of-header and end-of-header lines. The start- and end-of-header 2660lines are optional, but they do no harm, so you might as well always 2661include them. |
2645 | 2662 |
2646Thus, the beginning of a Texinfo file looks like this: | 2663Any command that affects document formatting as a whole makes sense to 2664include in the header. @code{@@synindex} (@pxref{synindex}), for 2665instance, is another command often included in the header. @xref{GNU 2666Sample Texts}, for complete sample texts. |
2647 | 2667 |
2648@example 2649@group 2650\input texinfo @@c -*-texinfo-*- 2651@@setfilename sample.info 2652@@settitle Sample Document 2653@end group 2654@end example | 2668Thus, the beginning of a Texinfo file generally looks like this: |
2655 | 2669 |
2656@noindent 2657or else like this: 2658 | |
2659@example 2660@group 2661\input texinfo @@c -*-texinfo-*- 2662@@c %**start of header 2663@@setfilename sample.info | 2670@example 2671@group 2672\input texinfo @@c -*-texinfo-*- 2673@@c %**start of header 2674@@setfilename sample.info |
2664@@settitle Sample Document | 2675@@settitle Sample Manual 1.0 |
2665@@c %**end of header 2666@end group 2667@end example 2668 2669@menu 2670* First Line:: The first line of a Texinfo file. 2671* Start of Header:: Formatting a region requires this. 2672* setfilename:: Tell Info the name of the Info file. 2673* settitle:: Create a title for the printed work. | 2676@@c %**end of header 2677@end group 2678@end example 2679 2680@menu 2681* First Line:: The first line of a Texinfo file. 2682* Start of Header:: Formatting a region requires this. 2683* setfilename:: Tell Info the name of the Info file. 2684* settitle:: Create a title for the printed work. |
2674* documentdescription:: Document summary for the HTML output. 2675* setchapternewpage:: Start chapters on right-hand pages. 2676* paragraphindent:: Specify paragraph indentation. 2677* exampleindent:: Specify environment indentation. | |
2678* End of Header:: Formatting a region requires this. 2679@end menu 2680 2681 2682@node First Line 2683@subsection The First Line of a Texinfo File 2684@cindex First line of a Texinfo file 2685@cindex Beginning line of a Texinfo file 2686@cindex Header of a Texinfo file 2687 2688Every Texinfo file that is to be the top-level input to @TeX{} must begin | 2685* End of Header:: Formatting a region requires this. 2686@end menu 2687 2688 2689@node First Line 2690@subsection The First Line of a Texinfo File 2691@cindex First line of a Texinfo file 2692@cindex Beginning line of a Texinfo file 2693@cindex Header of a Texinfo file 2694 2695Every Texinfo file that is to be the top-level input to @TeX{} must begin |
2689with a line that looks like this:@refill | 2696with a line that looks like this: |
2690 2691@example 2692\input texinfo @@c -*-texinfo-*- 2693@end example 2694 2695@noindent 2696This line serves two functions: 2697 2698@enumerate 2699@item 2700When the file is processed by @TeX{}, the @samp{\input texinfo} command 2701tells @TeX{} to load the macros needed for processing a Texinfo file. | 2697 2698@example 2699\input texinfo @@c -*-texinfo-*- 2700@end example 2701 2702@noindent 2703This line serves two functions: 2704 2705@enumerate 2706@item 2707When the file is processed by @TeX{}, the @samp{\input texinfo} command 2708tells @TeX{} to load the macros needed for processing a Texinfo file. |
2702These are in a file called @file{texinfo.tex}, which is usually located 2703in the @file{/usr/lib/tex/macros} directory. @TeX{} uses the backslash, 2704@samp{\}, to mark the beginning of a command, just as Texinfo uses 2705@samp{@@}. The @file{texinfo.tex} file causes the switch from @samp{\} 2706to @samp{@@}; before the switch occurs, @TeX{} requires @samp{\}, which 2707is why it appears at the beginning of the file.@refill | 2709These are in a file called @file{texinfo.tex}, which should have been 2710installed on your system along with either the @TeX{} or Texinfo 2711software. @TeX{} uses the backslash, @samp{\}, to mark the beginning of 2712a command, exactly as Texinfo uses @samp{@@}. The @file{texinfo.tex} 2713file causes the switch from @samp{\} to @samp{@@}; before the switch 2714occurs, @TeX{} requires @samp{\}, which is why it appears at the 2715beginning of the file. |
2708 2709@item 2710When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode | 2716 2717@item 2718When the file is edited in GNU Emacs, the @samp{-*-texinfo-*-} mode |
2711specification tells Emacs to use Texinfo mode.@refill | 2719specification tells Emacs to use Texinfo mode. |
2712@end enumerate 2713 2714 2715@node Start of Header 2716@subsection Start of Header 2717@cindex Start of header line 2718 | 2720@end enumerate 2721 2722 2723@node Start of Header 2724@subsection Start of Header 2725@cindex Start of header line 2726 |
2719Write a start-of-header line on the second line of a Texinfo file. 2720Follow the start-of-header line with @code{@@setfilename} and 2721@code{@@settitle} lines and, optionally, with other command lines, such 2722as @code{@@smallbook} or @code{@@footnotestyle}; and then by an 2723end-of-header line (@pxref{End of Header}).@refill | 2727A start-of-header line is a Texinfo comment that looks like this: |
2724 | 2728 |
2725With these lines, you can format part of a Texinfo file for Info or 2726typeset part for printing.@refill 2727 2728A start-of-header line looks like this:@refill 2729 | |
2730@example 2731@@c %**start of header 2732@end example 2733 | 2729@example 2730@@c %**start of header 2731@end example 2732 |
2733Write the start-of-header line on the second line of a Texinfo file. 2734Follow the start-of-header line with @code{@@setfilename} and 2735@code{@@settitle} lines and, optionally, with other commands that 2736globally affect the document formatting, such as @code{@@synindex} or 2737@code{@@footnotestyle}; and then by an end-of-header line (@pxref{End of 2738Header}). 2739 2740The start- and end-of-header lines allow you to format only part of a 2741Texinfo file for Info or printing. @xref{texinfo-format commands}. 2742 |
|
2734The odd string of characters, @samp{%**}, is to ensure that no other | 2743The odd string of characters, @samp{%**}, is to ensure that no other |
2735comment is accidentally taken for a start-of-header line.@refill | 2744comment is accidentally taken for a start-of-header line. You can 2745change it if you wish by setting the @code{tex-start-of-header} and/or 2746@code{tex-end-of-header} Emacs variables. @xref{Texinfo Mode Printing}. |
2736 | 2747 |
2748 |
|
2737@node setfilename | 2749@node setfilename |
2738@subsection @code{@@setfilename} 2739@cindex Info file requires @code{@@setfilename} | 2750@subsection @code{@@setfilename}: Set the output file name |
2740@findex setfilename | 2751@findex setfilename |
2752@cindex Texinfo requires @code{@@setfilename} |
|
2741 2742In order to serve as the primary input file for either @code{makeinfo} 2743or @TeX{}, a Texinfo file must contain a line that looks like this: 2744 2745@example 2746@@setfilename @var{info-file-name} 2747@end example 2748 2749Write the @code{@@setfilename} command at the beginning of a line and 2750follow it on the same line by the Info file name. Do not write anything 2751else on the line; anything on the line after the command is considered 2752part of the file name, including what would otherwise be a 2753comment. 2754 | 2753 2754In order to serve as the primary input file for either @code{makeinfo} 2755or @TeX{}, a Texinfo file must contain a line that looks like this: 2756 2757@example 2758@@setfilename @var{info-file-name} 2759@end example 2760 2761Write the @code{@@setfilename} command at the beginning of a line and 2762follow it on the same line by the Info file name. Do not write anything 2763else on the line; anything on the line after the command is considered 2764part of the file name, including what would otherwise be a 2765comment. 2766 |
2767@cindex Ignored before @code{@@setfilename} 2768@cindex @samp{\input} source line ignored 2769The Info formatting commands ignore everything written before the 2770@code{@@setfilename} line, which is why the very first line of 2771the file (the @code{\input} line) does not show up in the output. 2772 |
|
2755The @code{@@setfilename} line specifies the name of the output file to | 2773The @code{@@setfilename} line specifies the name of the output file to |
2756be generated. This name should be different from the name of the 2757Texinfo file. There are two conventions for choosing the name: you can 2758either remove the extension (such as @samp{.texi}) from the input file 2759name, or replace it with the @samp{.info} extension. When producing 2760HTML output, @code{makeinfo} will replace any extension with 2761@samp{html}, or add @samp{.html} if the given name has no extension. | 2774be generated. This name must be different from the name of the Texinfo 2775file. There are two conventions for choosing the name: you can either 2776remove the extension (such as @samp{.texi}) entirely from the input file 2777name, or, preferably, replace it with the @samp{.info} extension. |
2762 | 2778 |
2763Some operating systems cannot handle long file names. You can run into 2764a problem even when the file name you specify is itself short enough. | 2779@cindex Length of file names 2780@cindex File name collision 2781@cindex Info file name, choosing 2782Although an explicit @samp{.info} extension is preferable, some 2783operating systems cannot handle long file names. You can run into a 2784problem even when the file name you specify is itself short enough. |
2765This occurs because the Info formatters split a long Info file into 2766short indirect subfiles, and name them by appending @samp{-1}, 2767@samp{-2}, @dots{}, @samp{-10}, @samp{-11}, and so on, to the original | 2785This occurs because the Info formatters split a long Info file into 2786short indirect subfiles, and name them by appending @samp{-1}, 2787@samp{-2}, @dots{}, @samp{-10}, @samp{-11}, and so on, to the original |
2768file name. (@xref{Tag and Split Files, , Tag Files and Split Files}.) 2769The subfile name @file{texinfo.info-10}, for example, is too long for 2770some systems; so the Info file name for this document is @file{texinfo} 2771rather than @file{texinfo.info}. When @code{makeinfo} is running on 2772operating systems such as MS-DOS which impose grave limits on file 2773names, it will sometimes remove some characters from the original file 2774name to leave enough space for the subfile suffix, thus producing files 2775named @file{texin-10}, @file{gcc.i12}, etc. | 2788file name. (@xref{Tag and Split Files}.) The subfile name 2789@file{texinfo.info-10}, for example, is too long for old systems with a 279014-character limit on filenames; so the Info file name for this document 2791is @file{texinfo} rather than @file{texinfo.info}. When @code{makeinfo} 2792is running on operating systems such as MS-DOS which impose severe 2793limits on file names, it may remove some characters from the original 2794file name to leave enough space for the subfile suffix, thus producing 2795files named @file{texin-10}, @file{gcc.i12}, etc. |
2776 | 2796 |
2777@cindex Ignored before @code{@@setfilename} 2778@cindex @samp{\input} source line ignored 2779The Info formatting commands ignore everything written before the 2780@code{@@setfilename} line, which is why the very first line of 2781the file (the @code{\input} line) does not show up in the output. | 2797When producing HTML output, @code{makeinfo} will replace any extension 2798with @samp{html}, or add @samp{.html} if the given name has no 2799extension. |
2782 2783@pindex texinfo.cnf 2784The @code{@@setfilename} line produces no output when you typeset a 2785manual with @TeX{}, but it is nevertheless essential: it opens the 2786index, cross-reference, and other auxiliary files used by Texinfo, and 2787also reads @file{texinfo.cnf} if that file is present on your system 2788(@pxref{Preparing for TeX,, Preparing for @TeX{}}). 2789 --- 4 unchanged lines hidden (view full) --- 2794 2795In order to be made into a printed manual, a Texinfo file must contain 2796a line that looks like this: 2797 2798@example 2799@@settitle @var{title} 2800@end example 2801 | 2800 2801@pindex texinfo.cnf 2802The @code{@@setfilename} line produces no output when you typeset a 2803manual with @TeX{}, but it is nevertheless essential: it opens the 2804index, cross-reference, and other auxiliary files used by Texinfo, and 2805also reads @file{texinfo.cnf} if that file is present on your system 2806(@pxref{Preparing for TeX,, Preparing for @TeX{}}). 2807 --- 4 unchanged lines hidden (view full) --- 2812 2813In order to be made into a printed manual, a Texinfo file must contain 2814a line that looks like this: 2815 2816@example 2817@@settitle @var{title} 2818@end example 2819 |
2802In the HTML file produced by @command{makeinfo}, @var{title} serves as 2803the default document description in the @samp{<head>} part; see 2804@ref{documentdescription}, for how to change that. 2805 | |
2806Write the @code{@@settitle} command at the beginning of a line and | 2820Write the @code{@@settitle} command at the beginning of a line and |
2807follow it on the same line by the title. This tells @TeX{} the title 2808to use in a header or footer. Do not write anything else on the line; 2809anything on the line after the command is considered part of the 2810title, including a comment.@refill | 2821follow it on the same line by the title. This tells @TeX{} the title to 2822use in a header or footer. Do not write anything else on the line; 2823anything on the line after the command is considered part of the title, 2824including what would otherwise be a comment. |
2811 | 2825 |
2826The @code{@@settitle} command should precede everything that generates 2827actual output in @TeX{}. 2828 2829@cindex <title> HTML tag 2830In the HTML file produced by @command{makeinfo}, @var{title} also serves 2831as the document @samp{<title>} and the default document description in 2832the @samp{<head>} part; see @ref{documentdescription}, for how to change 2833that. 2834 2835The title in the @code{@@settitle} command does not affect the title as 2836it appears on the title page. Thus, the two do not need not match 2837exactly. A practice we recommend is to include the version or edition 2838number of the manual in the @code{@@settitle} title; on the title page, 2839the version number generally appears as a @code{@@subtitle} so it would 2840be omitted from the @code{@@title}. (@xref{titlepage}.) 2841 |
|
2812Conventionally, when @TeX{} formats a Texinfo file for double-sided 2813output, the title is printed in the left-hand (even-numbered) page 2814headings and the current chapter title is printed in the right-hand 2815(odd-numbered) page headings. (@TeX{} learns the title of each chapter | 2842Conventionally, when @TeX{} formats a Texinfo file for double-sided 2843output, the title is printed in the left-hand (even-numbered) page 2844headings and the current chapter title is printed in the right-hand 2845(odd-numbered) page headings. (@TeX{} learns the title of each chapter |
2816from each @code{@@chapter} command.) Page footers are not 2817printed.@refill | 2846from each @code{@@chapter} command.) By default, no page footer is 2847printed. |
2818 2819Even if you are printing in a single-sided style, @TeX{} looks for an 2820@code{@@settitle} command line, in case you include the manual title | 2848 2849Even if you are printing in a single-sided style, @TeX{} looks for an 2850@code{@@settitle} command line, in case you include the manual title |
2821in the heading. @refill | 2851in the heading. |
2822 | 2852 |
2823The @code{@@settitle} command should precede everything that generates 2824actual output in @TeX{}.@refill 2825 2826Although the title in the @code{@@settitle} command is usually the 2827same as the title on the title page, it does not affect the title as 2828it appears on the title page. Thus, the two do not need not match 2829exactly; and the title in the @code{@@settitle} command can be a 2830shortened or expanded version of the title as it appears on the title 2831page. (@xref{titlepage, , @code{@@titlepage}}.)@refill 2832 | |
2833@TeX{} prints page headings only for that text that comes after the 2834@code{@@end titlepage} command in the Texinfo file, or that comes 2835after an @code{@@headings} command that turns on headings. 2836(@xref{headings on off, , The @code{@@headings} Command}, for more | 2853@TeX{} prints page headings only for that text that comes after the 2854@code{@@end titlepage} command in the Texinfo file, or that comes 2855after an @code{@@headings} command that turns on headings. 2856(@xref{headings on off, , The @code{@@headings} Command}, for more |
2837information.)@refill | 2857information.) |
2838 | 2858 |
2839You may, if you wish, create your own, customized headings and 2840footings. @xref{Headings, , Page Headings}, for a detailed discussion 2841of this process.@refill | 2859You may, if you wish, create your own, customized headings and footings. 2860@xref{Headings}, for a detailed discussion of this. |
2842 2843 | 2861 2862 |
2844@node documentdescription 2845@subsection @code{@@documentdescription}: Summary text 2846@cindex Document description 2847@cindex Description of document 2848@cindex Summary of document 2849@cindex <meta> HTML tag, and document description | 2863@node End of Header 2864@subsection End of Header 2865@cindex End of header line |
2850 | 2866 |
2851When producing HTML output for a document, @command{makeinfo} writes a 2852@samp{<meta>} element in the @samp{<head>} to give some idea of the 2853content of the document. By default, this @dfn{description} is the title 2854of the document, taken from the @code{@@settitle} command 2855(@pxref{settitle}). To change this, use the @code{@@documentdescription} 2856environment, as in: | 2867Follow the header lines with an @w{end-of-header} line, which is a 2868Texinfo comment that looks like this: |
2857 2858@example | 2869 2870@example |
2859@@documentdescription 2860descriptive text 2861@@end documendescription | 2871@@c %**end of header |
2862@end example 2863 | 2872@end example 2873 |
2864@noindent 2865This will produce the following output in the @samp{<head>} of the HTML: | 2874@xref{Start of Header}. |
2866 | 2875 |
2867@example 2868<meta name=description content="descriptive text"> 2869@end example | |
2870 | 2876 |
2871@code{@@documentdescription} must be specified before the first node of 2872the document. | 2877@node Document Permissions 2878@section Document Permissions 2879@cindex Document Permissions 2880@cindex Copying Permissions |
2873 | 2881 |
2882The copyright notice and copying permissions for a document need to 2883appear in several places in the various Texinfo output formats. 2884Therefore, Texinfo provides a command (@code{@@copying}) to declare 2885this text once, and another command (@code{@@insertcopying}) to 2886insert the text at appropriate points. |
|
2874 | 2887 |
2875@findex documentdescription 2876@node setchapternewpage 2877@subsection @code{@@setchapternewpage}: 2878@cindex Starting chapters 2879@cindex Pages, starting odd 2880@findex setchapternewpage | 2888@menu 2889* copying:: Declare the document's copying permissions. 2890* insertcopying:: Where to insert the permissions. 2891@end menu |
2881 | 2892 |
2882In an officially bound book, text is usually printed on both sides of 2883the paper, chapters start on right-hand pages, and right-hand pages have 2884odd numbers. But in short reports, text often is printed only on one 2885side of the paper. Also in short reports, chapters sometimes do not 2886start on new pages, but are printed on the same page as the end of the 2887preceding chapter, after a small amount of vertical whitespace. | |
2888 | 2893 |
2889You can use the @code{@@setchapternewpage} command with various 2890arguments to specify how @TeX{} should start chapters and whether it 2891should format headers for printing on one or both sides of the paper 2892(single-sided or double-sided printing). | 2894@node copying 2895@subsection @code{@@copying}: Declare copying permissions 2896@findex copying |
2893 | 2897 |
2894Write the @code{@@setchapternewpage} command at the beginning of a 2895line followed by its argument. | 2898The @code{@@copying} command should be given very early in the document; 2899right after the header material (@pxref{Texinfo File Header}) is the 2900recommended location. It conventionally consists of a sentence or two 2901about what the program is, the legal copyright line, and the copying 2902permissions. Here is a skeletal example: |
2896 | 2903 |
2897For example, you would write the following to cause each chapter to 2898start on a fresh odd-numbered page: 2899 | |
2900@example | 2904@example |
2901@@setchapternewpage odd 2902@end example | 2905@@copying 2906This manual is for @var{program} (version @var{version}), 2907which @dots{} |
2903 | 2908 |
2904You can specify one of three alternatives with the 2905@code{@@setchapternewpage} command: | 2909Copyright @@copyright@{@} @var{years} @var{copyright-owner}. |
2906 | 2910 |
2907@table @asis 2908 2909@item @code{@@setchapternewpage off} 2910Cause @TeX{} to typeset a new chapter on the same page as the last 2911chapter, after skipping some vertical whitespace. Also, cause @TeX{} to 2912format page headers for single-sided printing. 2913 2914@item @code{@@setchapternewpage on} 2915Cause @TeX{} to start new chapters on new pages and to format page 2916headers for single-sided printing. This is the form most often used for 2917short reports or personal printing. This is the default. 2918 2919@item @code{@@setchapternewpage odd} 2920Cause @TeX{} to start new chapters on new, odd-numbered pages 2921(right-handed pages) and to typeset for double-sided printing. This is 2922the form most often used for books and manuals. 2923@end table 2924 2925Texinfo does not have an @code{@@setchapternewpage even} command, 2926because there is no printing tradition of starting chapters or books on 2927an even-numbered page. 2928 2929If you don't like the default headers that @code{@@setchapternewpage} 2930sets, you can explicit control them with the @code{@@headings} command. 2931@xref{headings on off, , The @code{@@headings} Command}. 2932 2933At the beginning of a manual or book, pages are not numbered---for 2934example, the title and copyright pages of a book are not numbered. By 2935convention, table of contents and frontmatter pages are numbered with 2936roman numerals and not in sequence with the rest of the document. 2937 2938Since an Info file does not have pages, the @code{@@setchapternewpage} 2939command has no effect on it. 2940 2941We recommend not including any @code{@@setchapternewpage} command in 2942your manual sources at all, since the desired output is not intrinsic to 2943the document. Instead, if you don't want the default option (no blank 2944pages, same headers on all pages) use the @option{--texinfo} option to 2945@command{texi2dvi} to specify the output you want. 2946 2947 2948 2949@node paragraphindent 2950@subsection Paragraph Indenting 2951@cindex Indenting paragraphs 2952@cindex Paragraph indentation 2953@findex paragraphindent 2954 2955The Texinfo processors may insert whitespace at the beginning of the 2956first line of each paragraph, thereby indenting that paragraph. You can 2957use the @code{@@paragraphindent} command to specify this indentation. 2958Write an @code{@@paragraphindent} command at the beginning of a line 2959followed by either @samp{asis} or a number: 2960 2961@example 2962@@paragraphindent @var{indent} | 2911@@quotation 2912Permission is granted to @dots{} 2913@@end quotation 2914@@end copying |
2963@end example 2964 | 2915@end example 2916 |
2965The indentation is according to the value of @var{indent}: | 2917The @code{@@quotation} has no legal significance; it's there to improve 2918readability in some contexts. |
2966 | 2919 |
2967@table @asis 2968@item @code{asis} 2969Do not change the existing indentation (not implemented in @TeX{}). | 2920@xref{GNU Sample Texts}, for the full text to be used in GNU manuals. 2921@xref{GNU Free Documentation License}, for the license itself under 2922which GNU and other free manuals are distributed. |
2970 | 2923 |
2971@item 0 2972Omit all indentation. | 2924The text of @code{@@copying} is output as a comment at the beginning of 2925Info, HTML, and XML output files. It is @emph{not} output implicitly in 2926plain text or @TeX{}; it's up to you to use @code{@@insertcopying} to 2927emit the copying information. See the next section for details. |
2973 | 2928 |
2974@item @var{n} 2975Indent by @var{n} space characters in Info output, by @var{n} ems in 2976@TeX{}. | 2929@findex copyright 2930In output formats that support it (print and HTML), the 2931@code{@@copyright@{@}} command generates a @samp{c} inside a circle. In 2932Info and plain text, it generates @samp{(C)}. The copyright notice 2933itself has the following legally defined sequence: |
2977 | 2934 |
2978@end table 2979 2980The default value of @var{indent} is @samp{asis}. 2981@code{@@paragraphindent} is ignored for HTML output. 2982 2983Write the @code{@@paragraphindent} command before or shortly after the 2984end-of-header line at the beginning of a Texinfo file. (If you write 2985the command between the start-of-header and end-of-header lines, the 2986region formatting commands indent paragraphs as specified.) 2987 2988A peculiarity of the @code{texinfo-format-buffer} and 2989@code{texinfo-format-region} commands is that they do not indent (nor 2990fill) paragraphs that contain @code{@@w} or @code{@@*} commands. 2991@xref{Refilling Paragraphs}, for further information. 2992 2993 2994@node exampleindent 2995@subsection @code{@@exampleindent}: Environment Indenting 2996@cindex Indenting environments 2997@cindex Environment indentation 2998@cindex Example indentation 2999@findex exampleindent 3000 3001The Texinfo processors indent each line of @code{@@example} and similar 3002environments. You can use the @code{@@exampleindent} command to specify 3003this indentation. Write an @code{@@exampleindent} command at the 3004beginning of a line followed by either @samp{asis} or a number: 3005 | |
3006@example | 2935@example |
3007@@exampleindent @var{indent} | 2936Copyright @copyright{} @var{years} @var{copyright-owner}. |
3008@end example 3009 | 2937@end example 2938 |
3010The indentation is according to the value of @var{indent}: | 2939@cindex Copyright word, always in English 2940The word `Copyright' must always be written in English, even if the 2941manual is otherwise in another language. This is due to international 2942law. |
3011 | 2943 |
3012@table @asis 3013@item @code{asis} 3014Do not change the existing indentation (not implemented in @TeX{}). | 2944@cindex Years, in copyright line 2945The list of years should include all years in which a version was 2946completed (even if it was released in a subsequent year). Ranges are 2947not allowed, each year must be written out individually, separated by 2948commas. |
3015 | 2949 |
3016@item 0 3017Omit all indentation. | 2950@cindex Copyright owner for FSF works 2951The copyright owner (or owners) is whoever holds legal copyright on the 2952work. In the case of works assigned to the FSF, the owner is `Free 2953Software Foundation, Inc.'. |
3018 | 2954 |
3019@item @var{n} 3020Indent environments by @var{n} space characters in Info output, by 3021@var{n} ems in @TeX{}. | 2955@xref{Copyright Notices,,,maintain,GNU Maintenance Instructions}, for 2956additional information. |
3022 | 2957 |
3023@end table | |
3024 | 2958 |
3025The default value of @var{indent} is 5. @code{@@exampleindent} is 3026ignored for HTML output. | 2959@node insertcopying 2960@subsection @code{@@insertcopying}: Include permissions text 2961@findex insertcopying 2962@cindex Copying text, including 2963@cindex Permissions text, including 2964@cindex Including permissions text |
3027 | 2965 |
3028Write the @code{@@exampleindent} command before or shortly after the 3029end-of-header line at the beginning of a Texinfo file. (If you write 3030the command between the start-of-header and end-of-header lines, the 3031region formatting commands indent examples as specified.) | 2966The @code{@@insertcopying} command is simply written on a line by 2967itself, like this: |
3032 | 2968 |
3033 3034@node End of Header 3035@subsection End of Header 3036@cindex End of header line 3037 3038Follow the header lines with an @w{end-of-header} line. 3039An end-of-header line looks like this:@refill 3040 | |
3041@example | 2969@example |
3042@@c %**end of header | 2970@@insertcopying |
3043@end example 3044 | 2971@end example 2972 |
3045If you include the @code{@@setchapternewpage} command between the 3046start-of-header and end-of-header lines, @TeX{} will typeset a region as 3047that command specifies. Similarly, if you include an @code{@@smallbook} 3048command between the start-of-header and end-of-header lines, @TeX{} will 3049typeset a region in the ``small'' book format.@refill | 2973It inserts the text previously defined by @code{@@copying}. Legally, it 2974must be used on the copyright page in the printed manual 2975(@pxref{Copyright}). |
3050 | 2976 |
3051@ifinfo 3052The reason for the odd string of characters (@samp{%**}) is so that the 3053@code{texinfo-tex-region} command does not accidentally find 3054something that it should not when it is looking for the header.@refill | 2977Although it's not a legal requirement, we also strongly recommend using 2978@code{@@insertcopying} in the Top node of your manual (@pxref{The Top 2979Node}). Here's why: |
3055 | 2980 |
3056The start-of-header line and the end-of-header line are Texinfo mode 3057variables that you can change.@refill 3058@end ifinfo | 2981The @code{@@copying} command itself causes the permissions text to 2982appear in an Info file @emph{before} the first node. The text is also 2983copied into the beginning of each split Info output file, as is legally 2984necessary. This location implies a human reading the manual using Info 2985does @emph{not} see this text (except when using the advanced Info 2986command @kbd{g *}). Therefore, an explicit @code{@@insertcopying} 2987in the Top node makes it apparent to readers that the manual is free. |
3059 | 2988 |
3060@iftex 3061@xref{Start of Header}. 3062@end iftex | 2989Similarly, the @code{@@copying} text is automatically included at the 2990beginning of each HTML output file, as an HTML comment. Again, this 2991text is not visible (unless the reader views the HTML source). And 2992therefore again, the @code{@@insertcopying} in the Top node is valuable 2993because it makes the copying permissions visible and thus promotes 2994freedom. |
3063 | 2995 |
2996The permissions text defined by @code{@@copying} also appears 2997automatically at the beginning of the XML output file. |
|
3064 | 2998 |
3065@node Info Summary and Permissions 3066@section Summary and Copying Permissions for Info | |
3067 | 2999 |
3068The title page and the copyright page appear only in the printed copy of 3069the manual; therefore, the same information must be inserted in a 3070section that appears only in the Info file. This section usually 3071contains a brief description of the contents of the Info file, a 3072copyright notice, and copying permissions.@refill 3073 3074The copyright notice should read: 3075 3076@example 3077Copyright @var{year} @var{copyright-owner} 3078@end example 3079 3080@noindent 3081and be put on a line by itself. 3082 3083Standard text for the copyright permissions of free manuals is contained 3084in an appendix to this manual (@pxref{Documentation Copying, , GNU Free 3085Documentation License}). 3086 3087The permissions text appears in an Info file @emph{before} the first 3088node. This mean that a reader does @emph{not} see this text when 3089reading the file using Info (except when using the advanced Info command 3090@kbd{g *}). 3091 3092 | |
3093@node Titlepage & Copyright Page | 3000@node Titlepage & Copyright Page |
3094@section The Title and Copyright Pages | 3001@section Title and Copyright Pages |
3095 | 3002 |
3096A manual's name and author are usually printed on a title page. 3097Sometimes copyright information is printed on the title page as well; 3098more often, copyright information is printed on the back of the title 3099page. | 3003In hard copy output, the manual's name and author are usually printed on 3004a title page. Copyright information is usually printed on the back of 3005the title page. |
3100 | 3006 |
3101The title and copyright pages appear in the printed manual, but not in the 3102Info file. Because of this, it is possible to use several slightly | 3007The title and copyright pages appear in the printed manual, but not in 3008the Info file. Because of this, it is possible to use several slightly |
3103obscure @TeX{} typesetting commands that cannot be used in an Info file. | 3009obscure @TeX{} typesetting commands that cannot be used in an Info file. |
3104In addition, this part of the beginning of a Texinfo file contains the text 3105of the copying permissions that will appear in the printed manual.@refill | 3010In addition, this part of the beginning of a Texinfo file contains the 3011text of the copying permissions that appears in the printed manual. |
3106 | 3012 |
3107@cindex Titlepage, for plain text | 3013@cindex Title page, for plain text 3014@cindex Copyright page, for plain text |
3108You may wish to include titlepage-like information for plain text | 3015You may wish to include titlepage-like information for plain text |
3109output. Simply place any such leading material between @code{@@ifinfo} 3110and @code{@@end ifinfo}; @command{makeinfo} includes this in its plain 3111text output. It will not show up in the Info readers. | 3016output. Simply place any such leading material between 3017@code{@@ifplaintext} and @code{@@end ifplaintext}; @command{makeinfo} 3018includes this when writing plain text (@samp{--no-headers}), along with 3019an @code{@@insertcopying}. |
3112 | 3020 |
3113@xref{Documentation Copying, , GNU Free Documentation License}, for the 3114standard text for the copyright permissions. 3115 | |
3116@menu 3117* titlepage:: Create a title for the printed document. 3118* titlefont center sp:: The @code{@@titlefont}, @code{@@center}, 3119 and @code{@@sp} commands. 3120* title subtitle author:: The @code{@@title}, @code{@@subtitle}, 3121 and @code{@@author} commands. | 3021@menu 3022* titlepage:: Create a title for the printed document. 3023* titlefont center sp:: The @code{@@titlefont}, @code{@@center}, 3024 and @code{@@sp} commands. 3025* title subtitle author:: The @code{@@title}, @code{@@subtitle}, 3026 and @code{@@author} commands. |
3122* Copyright & Permissions:: How to write the copyright notice and | 3027* Copyright:: How to write the copyright notice and |
3123 include copying permissions. 3124* end titlepage:: Turn on page headings after the title and 3125 copyright pages. 3126* headings on off:: An option for turning headings on and off 3127 and double or single sided printing. 3128@end menu 3129 3130 | 3028 include copying permissions. 3029* end titlepage:: Turn on page headings after the title and 3030 copyright pages. 3031* headings on off:: An option for turning headings on and off 3032 and double or single sided printing. 3033@end menu 3034 3035 |
3131@node titlepage, titlefont center sp, Titlepage & Copyright Page, Titlepage & Copyright Page 3132@comment node-name, next, previous, up | 3036@node titlepage |
3133@subsection @code{@@titlepage} 3134@cindex Title page 3135@findex titlepage 3136 3137Start the material for the title page and following copyright page 3138with @code{@@titlepage} on a line by itself and end it with | 3037@subsection @code{@@titlepage} 3038@cindex Title page 3039@findex titlepage 3040 3041Start the material for the title page and following copyright page 3042with @code{@@titlepage} on a line by itself and end it with |
3139@code{@@end titlepage} on a line by itself.@refill | 3043@code{@@end titlepage} on a line by itself. |
3140 3141The @code{@@end titlepage} command starts a new page and turns on page 3142numbering. (@xref{Headings, , Page Headings}, for details about how to 3143generate page headings.) All the material that you want to appear on 3144unnumbered pages should be put between the @code{@@titlepage} and 3145@code{@@end titlepage} commands. You can force the table of contents to 3146appear there with the @code{@@setcontentsaftertitlepage} command 3147(@pxref{Contents}). --- 5 unchanged lines hidden (view full) --- 3153the copyright page is produced. (The @code{@@titlepage} command might 3154perhaps have been better named the @code{@@titleandadditionalpages} 3155command, but that would have been rather long!) 3156 3157When you write a manual about a computer program, you should write the 3158version of the program to which the manual applies on the title page. 3159If the manual changes more frequently than the program or is independent 3160of it, you should also include an edition number@footnote{We have found | 3044 3045The @code{@@end titlepage} command starts a new page and turns on page 3046numbering. (@xref{Headings, , Page Headings}, for details about how to 3047generate page headings.) All the material that you want to appear on 3048unnumbered pages should be put between the @code{@@titlepage} and 3049@code{@@end titlepage} commands. You can force the table of contents to 3050appear there with the @code{@@setcontentsaftertitlepage} command 3051(@pxref{Contents}). --- 5 unchanged lines hidden (view full) --- 3057the copyright page is produced. (The @code{@@titlepage} command might 3058perhaps have been better named the @code{@@titleandadditionalpages} 3059command, but that would have been rather long!) 3060 3061When you write a manual about a computer program, you should write the 3062version of the program to which the manual applies on the title page. 3063If the manual changes more frequently than the program or is independent 3064of it, you should also include an edition number@footnote{We have found |
3161that it is helpful to refer to versions of manuals as `editions' and 3162versions of programs as `versions'; otherwise, we find we are liable to 3163confuse each other in conversation by referring to both the 3164documentation and the software with the same words.} for the manual. | 3065that it is helpful to refer to versions of independent manuals as 3066`editions' and versions of programs as `versions'; otherwise, we find we 3067are liable to confuse each other in conversation by referring to both 3068the documentation and the software with the same words.} for the manual. |
3165This helps readers keep track of which manual is for which version of 3166the program. (The `Top' node should also contain this information; see | 3069This helps readers keep track of which manual is for which version of 3070the program. (The `Top' node should also contain this information; see |
3167@ref{makeinfo top, , @code{@@top}}.) | 3071@ref{The Top Node}.) |
3168 3169Texinfo provides two main methods for creating a title page. One method 3170uses the @code{@@titlefont}, @code{@@sp}, and @code{@@center} commands 3171to generate a title page in which the words on the page are 3172centered. 3173 3174The second method uses the @code{@@title}, @code{@@subtitle}, and 3175@code{@@author} commands to create a title page with black rules under --- 5 unchanged lines hidden (view full) --- 3181You may use either method, or you may combine them; see the examples in 3182the sections below. 3183 3184@findex shorttitlepage 3185@cindex Bastard title page 3186@cindex Title page, bastard 3187For extremely simple applications, and for the bastard title page in 3188traditional book front matter, Texinfo also provides a command | 3072 3073Texinfo provides two main methods for creating a title page. One method 3074uses the @code{@@titlefont}, @code{@@sp}, and @code{@@center} commands 3075to generate a title page in which the words on the page are 3076centered. 3077 3078The second method uses the @code{@@title}, @code{@@subtitle}, and 3079@code{@@author} commands to create a title page with black rules under --- 5 unchanged lines hidden (view full) --- 3085You may use either method, or you may combine them; see the examples in 3086the sections below. 3087 3088@findex shorttitlepage 3089@cindex Bastard title page 3090@cindex Title page, bastard 3091For extremely simple applications, and for the bastard title page in 3092traditional book front matter, Texinfo also provides a command |
3189@code{@@shorttitlepage} which takes a single argument as the title. The 3190argument is typeset on a page by itself and followed by a blank page. | 3093@code{@@shorttitlepage} which takes the rest of the line as the title. 3094The argument is typeset on a page by itself and followed by a blank 3095page. |
3191 3192 3193@node titlefont center sp 3194@subsection @code{@@titlefont}, @code{@@center}, and @code{@@sp} 3195@findex titlefont 3196@findex center 3197@findex sp @r{(titlepage line spacing)} 3198 3199You can use the @code{@@titlefont}, @code{@@sp}, and @code{@@center} 3200commands to create a title page for a printed document. (This is the | 3096 3097 3098@node titlefont center sp 3099@subsection @code{@@titlefont}, @code{@@center}, and @code{@@sp} 3100@findex titlefont 3101@findex center 3102@findex sp @r{(titlepage line spacing)} 3103 3104You can use the @code{@@titlefont}, @code{@@sp}, and @code{@@center} 3105commands to create a title page for a printed document. (This is the |
3201first of the two methods for creating a title page in Texinfo.)@refill | 3106first of the two methods for creating a title page in Texinfo.) |
3202 3203Use the @code{@@titlefont} command to select a large font suitable for 3204the title itself. You can use @code{@@titlefont} more than once if you 3205have an especially long title. 3206 3207@need 700 3208For example: 3209 3210@example 3211@@titlefont@{Texinfo@} 3212@end example 3213 3214Use the @code{@@center} command at the beginning of a line to center | 3107 3108Use the @code{@@titlefont} command to select a large font suitable for 3109the title itself. You can use @code{@@titlefont} more than once if you 3110have an especially long title. 3111 3112@need 700 3113For example: 3114 3115@example 3116@@titlefont@{Texinfo@} 3117@end example 3118 3119Use the @code{@@center} command at the beginning of a line to center |
3215the remaining text on that line. Thus,@refill | 3120the remaining text on that line. Thus, |
3216 3217@example 3218@@center @@titlefont@{Texinfo@} 3219@end example 3220 3221@noindent 3222centers the title, which in this example is ``Texinfo'' printed | 3121 3122@example 3123@@center @@titlefont@{Texinfo@} 3124@end example 3125 3126@noindent 3127centers the title, which in this example is ``Texinfo'' printed |
3223in the title font.@refill | 3128in the title font. |
3224 | 3129 |
3225Use the @code{@@sp} command to insert vertical space. For example:@refill | 3130Use the @code{@@sp} command to insert vertical space. For example: |
3226 3227@example 3228@@sp 2 3229@end example 3230 3231@noindent 3232This inserts two blank lines on the printed page. (@xref{sp, , 3233@code{@@sp}}, for more information about the @code{@@sp} | 3131 3132@example 3133@@sp 2 3134@end example 3135 3136@noindent 3137This inserts two blank lines on the printed page. (@xref{sp, , 3138@code{@@sp}}, for more information about the @code{@@sp} |
3234command.)@refill | 3139command.) |
3235 | 3140 |
3236A template for this method looks like this:@refill | 3141A template for this method looks like this: |
3237 3238@example 3239@group 3240@@titlepage 3241@@sp 10 3242@@center @@titlefont@{@var{name-of-manual-when-printed}@} 3243@@sp 2 3244@@center @var{subtitle-if-any} 3245@@sp 2 3246@@center @var{author} 3247@dots{} 3248@@end titlepage 3249@end group 3250@end example 3251 | 3142 3143@example 3144@group 3145@@titlepage 3146@@sp 10 3147@@center @@titlefont@{@var{name-of-manual-when-printed}@} 3148@@sp 2 3149@@center @var{subtitle-if-any} 3150@@sp 2 3151@@center @var{author} 3152@dots{} 3153@@end titlepage 3154@end group 3155@end example 3156 |
3252The spacing of the example fits an 8.5 by 11 inch manual.@refill | 3157The spacing of the example fits an 8.5 by 11 inch manual. |
3253 3254 3255@node title subtitle author 3256@subsection @code{@@title}, @code{@@subtitle}, and @code{@@author} 3257@findex title 3258@findex subtitle 3259@findex author 3260 3261You can use the @code{@@title}, @code{@@subtitle}, and @code{@@author} 3262commands to create a title page in which the vertical and horizontal 3263spacing is done for you automatically. This contrasts with the method 3264described in the previous section, in which the @code{@@sp} command is 3265needed to adjust vertical spacing. 3266 3267Write the @code{@@title}, @code{@@subtitle}, or @code{@@author} 3268commands at the beginning of a line followed by the title, subtitle, | 3158 3159 3160@node title subtitle author 3161@subsection @code{@@title}, @code{@@subtitle}, and @code{@@author} 3162@findex title 3163@findex subtitle 3164@findex author 3165 3166You can use the @code{@@title}, @code{@@subtitle}, and @code{@@author} 3167commands to create a title page in which the vertical and horizontal 3168spacing is done for you automatically. This contrasts with the method 3169described in the previous section, in which the @code{@@sp} command is 3170needed to adjust vertical spacing. 3171 3172Write the @code{@@title}, @code{@@subtitle}, or @code{@@author} 3173commands at the beginning of a line followed by the title, subtitle, |
3269or author.@refill | 3174or author. |
3270 3271The @code{@@title} command produces a line in which the title is set 3272flush to the left-hand side of the page in a larger than normal font. 3273The title is underlined with a black rule. Only a single line is 3274allowed; the @code{@@*} command may not be used to break the title into 3275two lines. To handle very long titles, you may find it profitable to 3276use both @code{@@title} and @code{@@titlefont}; see the final example in 3277this section. 3278 3279The @code{@@subtitle} command sets subtitles in a normal-sized font | 3175 3176The @code{@@title} command produces a line in which the title is set 3177flush to the left-hand side of the page in a larger than normal font. 3178The title is underlined with a black rule. Only a single line is 3179allowed; the @code{@@*} command may not be used to break the title into 3180two lines. To handle very long titles, you may find it profitable to 3181use both @code{@@title} and @code{@@titlefont}; see the final example in 3182this section. 3183 3184The @code{@@subtitle} command sets subtitles in a normal-sized font |
3280flush to the right-hand side of the page.@refill | 3185flush to the right-hand side of the page. |
3281 3282The @code{@@author} command sets the names of the author or authors in 3283a middle-sized font flush to the left-hand side of the page on a line 3284near the bottom of the title page. The names are underlined with a 3285black rule that is thinner than the rule that underlines the title. 3286(The black rule only occurs if the @code{@@author} command line is | 3186 3187The @code{@@author} command sets the names of the author or authors in 3188a middle-sized font flush to the left-hand side of the page on a line 3189near the bottom of the title page. The names are underlined with a 3190black rule that is thinner than the rule that underlines the title. 3191(The black rule only occurs if the @code{@@author} command line is |
3287followed by an @code{@@page} command line.)@refill | 3192followed by an @code{@@page} command line.) |
3288 3289There are two ways to use the @code{@@author} command: you can write 3290the name or names on the remaining part of the line that starts with | 3193 3194There are two ways to use the @code{@@author} command: you can write 3195the name or names on the remaining part of the line that starts with |
3291an @code{@@author} command:@refill | 3196an @code{@@author} command: |
3292 3293@example 3294@@author by Jane Smith and John Doe 3295@end example 3296 3297@noindent 3298or you can write the names one above each other by using two (or more) | 3197 3198@example 3199@@author by Jane Smith and John Doe 3200@end example 3201 3202@noindent 3203or you can write the names one above each other by using two (or more) |
3299@code{@@author} commands:@refill | 3204@code{@@author} commands: |
3300 3301@example 3302@group 3303@@author Jane Smith 3304@@author John Doe 3305@end group 3306@end example 3307 3308@noindent | 3205 3206@example 3207@group 3208@@author Jane Smith 3209@@author John Doe 3210@end group 3211@end example 3212 3213@noindent |
3309(Only the bottom name is underlined with a black rule.)@refill | 3214(Only the bottom name is underlined with a black rule.) |
3310 3311@need 950 | 3215 3216@need 950 |
3312A template for this method looks like this:@refill | 3217A template for this method looks like this: |
3313 3314@example 3315@group 3316@@titlepage 3317@@title @var{name-of-manual-when-printed} 3318@@subtitle @var{subtitle-if-any} 3319@@subtitle @var{second-subtitle} 3320@@author @var{author} --- 15 unchanged lines hidden (view full) --- 3336@@title for MS-Windows and MS-DOS 3337@@subtitle Edition @@value@{e@} for Release @@value@{cde@} 3338@@author by Daniel Hagerty, Melissa Weisshaus 3339@@author and Eli Zaretskii 3340@end group 3341@end example 3342 3343@noindent | 3218 3219@example 3220@group 3221@@titlepage 3222@@title @var{name-of-manual-when-printed} 3223@@subtitle @var{subtitle-if-any} 3224@@subtitle @var{second-subtitle} 3225@@author @var{author} --- 15 unchanged lines hidden (view full) --- 3241@@title for MS-Windows and MS-DOS 3242@@subtitle Edition @@value@{e@} for Release @@value@{cde@} 3243@@author by Daniel Hagerty, Melissa Weisshaus 3244@@author and Eli Zaretskii 3245@end group 3246@end example 3247 3248@noindent |
3344(The use of @code{@@value} here is explained in @ref{value 3345Example,,@code{@@value} Example}.) | 3249(The use of @code{@@value} here is explained in @ref{value Example}. |
3346 3347 | 3250 3251 |
3348@node Copyright & Permissions 3349@subsection Copyright Page and Permissions | 3252@node Copyright 3253@subsection Copyright Page |
3350@cindex Copyright page 3351@cindex Printed permissions 3352@cindex Permissions, printed 3353 | 3254@cindex Copyright page 3255@cindex Printed permissions 3256@cindex Permissions, printed 3257 |
3354By international treaty, the copyright notice for a book should be 3355either on the title page or on the back of the title page. The 3356copyright notice should include the year followed by the name of the 3357organization or person who owns the copyright.@refill | 3258By international treaty, the copyright notice for a book must be either 3259on the title page or on the back of the title page. When the copyright 3260notice is on the back of the title page, that page is customarily not 3261numbered. Therefore, in Texinfo, the information on the copyright page 3262should be within @code{@@titlepage} and @code{@@end titlepage} 3263commands. |
3358 | 3264 |
3359When the copyright notice is on the back of the title page, that page 3360is customarily not numbered. Therefore, in Texinfo, the information 3361on the copyright page should be within @code{@@titlepage} and 3362@code{@@end titlepage} commands.@refill 3363 3364@findex vskip 3365@findex filll 3366@cindex Vertical whitespace (@samp{vskip}) | 3265@findex vskip @r{@TeX{} vertical skip} 3266@findex filll @r{@TeX{} dimension} |
3367Use the @code{@@page} command to cause a page break. To push the 3368copyright notice and the other text on the copyright page towards the | 3267Use the @code{@@page} command to cause a page break. To push the 3268copyright notice and the other text on the copyright page towards the |
3369bottom of the page, you can write a somewhat mysterious line after the 3370@code{@@page} command that reads like this:@refill | 3269bottom of the page, use the following incantantion after @code{@@page}: |
3371 3372@example 3373@@vskip 0pt plus 1filll 3374@end example 3375 3376@noindent 3377This is a @TeX{} command that is not supported by the Info formatting | 3270 3271@example 3272@@vskip 0pt plus 1filll 3273@end example 3274 3275@noindent 3276This is a @TeX{} command that is not supported by the Info formatting |
3378commands. The @code{@@vskip} command inserts whitespace. The 3379@samp{0pt plus 1filll} means to put in zero points of mandatory whitespace, 3380and as much optional whitespace as needed to push the 3381following text to the bottom of the page. Note the use of three 3382@samp{l}s in the word @samp{filll}; this is the correct usage in 3383@TeX{}.@refill | 3277commands. The @code{@@vskip} command inserts whitespace. The @samp{0pt 3278plus 1filll} means to put in zero points of mandatory whitespace, and as 3279much optional whitespace as needed to push the following text to the 3280bottom of the page. Note the use of three @samp{l}s in the word 3281@samp{filll}; this is correct. |
3384 | 3282 |
3385@findex copyright 3386In a printed manual, the @code{@@copyright@{@}} command generates a 3387@samp{c} inside a circle. (In Info, it generates @samp{(C)}.) The 3388copyright notice itself has the following legally defined sequence:@refill | 3283To insert the copyright text itself, write @code{@@insertcopying} 3284next (@pxref{Document Permissions}): |
3389 3390@example | 3285 3286@example |
3391Copyright @copyright{} @var{year} @var{copyright-owner} | 3287@@insertcopying |
3392@end example 3393 | 3288@end example 3289 |
3394It is customary to put information on how to get a manual after the 3395copyright notice, followed by the copying permissions for the manual. | 3290Follow the copying text by the publisher, ISBN numbers, cover art 3291credits, and other such information. |
3396 | 3292 |
3397Permissions must be given here as well as in the summary segment within 3398@code{@@ifinfo} and @code{@@end ifinfo} that immediately follows the 3399header since this text appears only in the printed manual and the 3400@samp{ifinfo} text appears only in the Info file. | 3293Here is an example putting all this together: |
3401 | 3294 |
3402@xref{Documentation Copying,,GNU Free Documentation License}, for the 3403standard text. | 3295@example 3296@@titlepage 3297@dots{} 3298@@page 3299@@vskip 0pt plus 1filll 3300@@insertcopying |
3404 | 3301 |
3302Published by @dots{} |
|
3405 | 3303 |
3304Cover art by @dots{} 3305@@end titlepage 3306@end example 3307 3308 |
|
3406@node end titlepage 3407@subsection Heading Generation 3408@findex end titlepage 3409@cindex Headings, page, begin to appear 3410@cindex Titlepage end starts headings 3411@cindex End titlepage starts headings 3412 | 3309@node end titlepage 3310@subsection Heading Generation 3311@findex end titlepage 3312@cindex Headings, page, begin to appear 3313@cindex Titlepage end starts headings 3314@cindex End titlepage starts headings 3315 |
3413An @code{@@end titlepage} command on a line by itself not only marks 3414the end of the title and copyright pages, but also causes @TeX{} to start 3415generating page headings and page numbers. | 3316The @code{@@end titlepage} command must be written on a line by itself. 3317It not only marks the end of the title and copyright pages, but also 3318causes @TeX{} to start generating page headings and page numbers. |
3416 3417To repeat what is said elsewhere, Texinfo has two standard page heading 3418formats, one for documents which are printed on one side of each sheet of paper 3419(single-sided printing), and the other for documents which are printed on both 3420sides of each sheet (double-sided printing). | 3319 3320To repeat what is said elsewhere, Texinfo has two standard page heading 3321formats, one for documents which are printed on one side of each sheet of paper 3322(single-sided printing), and the other for documents which are printed on both 3323sides of each sheet (double-sided printing). |
3421(@xref{setchapternewpage, ,@code{@@setchapternewpage}}.) 3422You can specify these formats in different ways:@refill | 3324You can specify these formats in different ways: |
3423 3424@itemize @bullet 3425@item 3426The conventional way is to write an @code{@@setchapternewpage} command 3427before the title page commands, and then have the @code{@@end 3428titlepage} command start generating page headings in the manner desired. | 3325 3326@itemize @bullet 3327@item 3328The conventional way is to write an @code{@@setchapternewpage} command 3329before the title page commands, and then have the @code{@@end 3330titlepage} command start generating page headings in the manner desired. |
3429(@xref{setchapternewpage, , @code{@@setchapternewpage}}.)@refill | 3331(@xref{setchapternewpage}.) |
3430 3431@item 3432Alternatively, you can use the @code{@@headings} command to prevent page 3433headings from being generated or to start them for either single or 3434double-sided printing. (Write an @code{@@headings} command immediately 3435after the @code{@@end titlepage} command. @xref{headings on off, , The 3436@code{@@headings} Command}, for more information.)@refill 3437 3438@item 3439Or, you may specify your own page heading and footing format. 3440@xref{Headings, , Page Headings}, for detailed | 3332 3333@item 3334Alternatively, you can use the @code{@@headings} command to prevent page 3335headings from being generated or to start them for either single or 3336double-sided printing. (Write an @code{@@headings} command immediately 3337after the @code{@@end titlepage} command. @xref{headings on off, , The 3338@code{@@headings} Command}, for more information.)@refill 3339 3340@item 3341Or, you may specify your own page heading and footing format. 3342@xref{Headings, , Page Headings}, for detailed |
3441information about page headings and footings.@refill | 3343information about page headings and footings. |
3442@end itemize 3443 3444Most documents are formatted with the standard single-sided or 3445double-sided format, using @code{@@setchapternewpage odd} for 3446double-sided printing and no @code{@@setchapternewpage} command for | 3344@end itemize 3345 3346Most documents are formatted with the standard single-sided or 3347double-sided format, using @code{@@setchapternewpage odd} for 3348double-sided printing and no @code{@@setchapternewpage} command for |
3447single-sided printing.@refill | 3349single-sided printing. |
3448 | 3350 |
3449@node headings on off, , end titlepage, Titlepage & Copyright Page 3450@comment node-name, next, previous, up | 3351 3352@node headings on off |
3451@subsection The @code{@@headings} Command 3452@findex headings 3453 3454The @code{@@headings} command is rarely used. It specifies what kind of 3455page headings and footings to print on each page. Usually, this is 3456controlled by the @code{@@setchapternewpage} command. You need the 3457@code{@@headings} command only if the @code{@@setchapternewpage} command 3458does not do what you want, or if you want to turn off pre-defined page --- 48 unchanged lines hidden (view full) --- 3507headings.@refill 3508 3509You can also specify your own style of page heading and footing. 3510@xref{Headings, , Page Headings}, for more information.@refill 3511 3512 3513@node The Top Node 3514@section The `Top' Node and Master Menu | 3353@subsection The @code{@@headings} Command 3354@findex headings 3355 3356The @code{@@headings} command is rarely used. It specifies what kind of 3357page headings and footings to print on each page. Usually, this is 3358controlled by the @code{@@setchapternewpage} command. You need the 3359@code{@@headings} command only if the @code{@@setchapternewpage} command 3360does not do what you want, or if you want to turn off pre-defined page --- 48 unchanged lines hidden (view full) --- 3409headings.@refill 3410 3411You can also specify your own style of page heading and footing. 3412@xref{Headings, , Page Headings}, for more information.@refill 3413 3414 3415@node The Top Node 3416@section The `Top' Node and Master Menu |
3515@cindex @samp{@r{Top}} node 3516@cindex Master menu | 3417@cindex Top node |
3517@cindex Node, `Top' 3518 | 3418@cindex Node, `Top' 3419 |
3519The `Top' node is the node from which you enter an Info file.@refill | 3420The `Top' node is the node in which a reader enters an Info manual. As 3421such, it should begin with the @code{@@insertcopying} command 3422(@pxref{Document Permissions}) to provide a brief description of the 3423manual (including the version number) and copying permissions, and end 3424with a master menu for the whole manual. Of course you should include 3425any other general information you feel a reader would find helpful. |
3520 | 3426 |
3521A `Top' node should contain a brief description of the Info file and an 3522extensive, master menu for the whole Info file. 3523This helps the reader understand what the Info file is 3524about. Also, you should write the version number of the program to 3525which the Info file applies; or, at least, the edition number.@refill | 3427@findex top 3428It is also conventional to write an @code{@@top} sectioning command line 3429containing the title of the document immediately after the @code{@@node 3430Top} line (@pxref{makeinfo top command, , The @code{@@top} Sectioning 3431Command}). |
3526 | 3432 |
3527The contents of the `Top' node should appear only in the Info file; none 3528of it should appear in printed output, so enclose it between 3529@code{@@ifinfo} and @code{@@end ifinfo} commands. (@TeX{} does not | 3433The contents of the `Top' node should appear only in the online output; 3434none of it should appear in printed output, so enclose it between 3435@code{@@ifnottex} and @code{@@end ifnottex} commands. (@TeX{} does not |
3530print either an @code{@@node} line or a menu; they appear only in Info; 3531strictly speaking, you are not required to enclose these parts between | 3436print either an @code{@@node} line or a menu; they appear only in Info; 3437strictly speaking, you are not required to enclose these parts between |
3532@code{@@ifinfo} and @code{@@end ifinfo}, but it is simplest to do so. 3533@xref{Conditionals, , Conditionally Visible Text}.)@refill | 3438@code{@@ifnottex} and @code{@@end ifnottext}, but it is simplest to do 3439so. @xref{Conditionals, , Conditionally Visible Text}.) |
3534 3535@menu | 3440 3441@menu |
3536* Title of Top Node:: Sketch what the file is about. 3537* Master Menu Parts:: A master menu has three or more parts. | 3442* Top Node Example:: 3443* Master Menu Parts:: |
3538@end menu 3539 3540 | 3444@end menu 3445 3446 |
3541@node Title of Top Node 3542@subsection `Top' Node Title | 3447@node Top Node Example 3448@subsection Top Node Example |
3543 | 3449 |
3544Sometimes, you will want to place an @code{@@top} sectioning command 3545line containing the title of the document immediately after the 3546@code{@@node Top} line (@pxref{makeinfo top command, , The @code{@@top} 3547Sectioning Command}, for more information).@refill | 3450@cindex Top node example |
3548 | 3451 |
3549For example, the beginning of the Top node of this manual contains an 3550@code{@@top} sectioning command, a short description, and edition and 3551version information. It looks like this:@refill | 3452Here is an example of a Top node. |
3552 3553@example 3554@group | 3453 3454@example 3455@group |
3555@dots{} 3556@@end titlepage 3557 | |
3558@@ifnottex | 3456@@ifnottex |
3559@@node Top, Copying, , (dir) 3560@@top Texinfo | 3457@@node Top 3458@@top Sample Title |
3561 | 3459 |
3562Texinfo is a documentation system@dots{} | 3460@@insertcopying |
3563@end group 3564 | 3461@end group 3462 |
3565@group 3566This is edition@dots{} 3567@dots{} 3568@@end ifnottex 3569@end group | 3463Additional general information. |
3570 3571@group 3572@@menu | 3464 3465@group 3466@@menu |
3573* Copying:: Texinfo is freely 3574 redistributable. 3575* Overview:: What is Texinfo? | 3467* First Chapter:: 3468* Second Chapter:: |
3576@dots{} | 3469@dots{} |
3470* Index:: |
|
3577@end group 3578@@end menu 3579@end example 3580 | 3471@end group 3472@@end menu 3473@end example 3474 |
3581In a `Top' node, the `Previous', and `Up' nodes usually refer to the top 3582level directory of the whole Info system, which is called @samp{(dir)}. 3583The `Next' node refers to the first node that follows the main or master 3584menu, which is usually the copying permissions, introduction, or first 3585chapter.@refill | |
3586 | 3475 |
3587@node Master Menu Parts, , Title of Top Node, The Top Node | 3476@node Master Menu Parts |
3588@subsection Parts of a Master Menu | 3477@subsection Parts of a Master Menu |
3589@cindex Master menu parts | 3478@cindex Master menu 3479@cindex Menu, master |
3590@cindex Parts of a master menu 3591 3592A @dfn{master menu} is a detailed main menu listing all the nodes in a 3593file. 3594 3595A master menu is enclosed in @code{@@menu} and @code{@@end menu} | 3480@cindex Parts of a master menu 3481 3482A @dfn{master menu} is a detailed main menu listing all the nodes in a 3483file. 3484 3485A master menu is enclosed in @code{@@menu} and @code{@@end menu} |
3596commands and does not appear in the printed document.@refill | 3486commands and does not appear in the printed document. |
3597 | 3487 |
3598Generally, a master menu is divided into parts.@refill | 3488Generally, a master menu is divided into parts. |
3599 3600@itemize @bullet 3601@item 3602The first part contains the major nodes in the Texinfo file: the nodes | 3489 3490@itemize @bullet 3491@item 3492The first part contains the major nodes in the Texinfo file: the nodes |
3603for the chapters, chapter-like sections, and the appendices.@refill | 3493for the chapters, chapter-like sections, and the appendices. |
3604 3605@item | 3494 3495@item |
3606The second part contains nodes for the indices.@refill | 3496The second part contains nodes for the indices. |
3607 3608@item 3609The third and subsequent parts contain a listing of the other, lower 3610level nodes, often ordered by chapter. This way, rather than go 3611through an intermediary menu, an inquirer can go directly to a 3612particular node when searching for specific information. These menu 3613items are not required; add them if you think they are a 3614convenience. If you do use them, put @code{@@detailmenu} before the 3615first one, and @code{@@end detailmenu} after the last; otherwise, 3616@code{makeinfo} will get confused. 3617@end itemize 3618 3619Each section in the menu can be introduced by a descriptive line. So 3620long as the line does not begin with an asterisk, it will not be 3621treated as a menu entry. (@xref{Writing a Menu}, for more | 3497 3498@item 3499The third and subsequent parts contain a listing of the other, lower 3500level nodes, often ordered by chapter. This way, rather than go 3501through an intermediary menu, an inquirer can go directly to a 3502particular node when searching for specific information. These menu 3503items are not required; add them if you think they are a 3504convenience. If you do use them, put @code{@@detailmenu} before the 3505first one, and @code{@@end detailmenu} after the last; otherwise, 3506@code{makeinfo} will get confused. 3507@end itemize 3508 3509Each section in the menu can be introduced by a descriptive line. So 3510long as the line does not begin with an asterisk, it will not be 3511treated as a menu entry. (@xref{Writing a Menu}, for more |
3622information.)@refill | 3512information.) |
3623 3624For example, the master menu for this manual looks like the following | 3513 3514For example, the master menu for this manual looks like the following |
3625(but has many more entries):@refill | 3515(but has many more entries): |
3626 3627@example 3628@group 3629@@menu | 3516 3517@example 3518@group 3519@@menu |
3630* Copying:: Texinfo is freely 3631 redistributable. 3632* Overview:: What is Texinfo? 3633* Texinfo Mode:: Special features in GNU Emacs. | 3520* Copying Conditions:: Your rights. 3521* Overview:: Texinfo in brief. |
3634@dots{} | 3522@dots{} |
3635@dots{} | |
3636@end group 3637@group 3638* Command and Variable Index:: | 3523@end group 3524@group 3525* Command and Variable Index:: |
3639 An entry for each @@-command. 3640* Concept Index:: An entry for each concept. | 3526* Concept Index:: |
3641@end group 3642 3643@group 3644@@detailmenu 3645 --- The Detailed Node Listing --- 3646 3647Overview of Texinfo 3648 | 3527@end group 3528 3529@group 3530@@detailmenu 3531 --- The Detailed Node Listing --- 3532 3533Overview of Texinfo 3534 |
3649* Info Files:: What is an Info file? 3650* Printed Manuals:: Characteristics of 3651 a printed manual. | 3535* Reporting Bugs:: @dots{} |
3652@dots{} | 3536@dots{} |
3653@dots{} | |
3654@end group 3655 3656@group | 3537@end group 3538 3539@group |
3657Using Texinfo Mode | 3540Beginning a Texinfo File |
3658 | 3541 |
3659* Info on a Region:: Formatting part of a file 3660 for Info. | 3542* Sample Beginning:: @dots{} |
3661@dots{} | 3543@dots{} |
3662@dots{} | |
3663@@end detailmenu 3664@@end menu 3665@end group 3666@end example 3667 | 3544@@end detailmenu 3545@@end menu 3546@end group 3547@end example 3548 |
3549 3550@node Global Document Commands 3551@section Global Document Commands 3552@cindex Global Document Commands 3553 3554Besides the basic commands mentioned in the previous sections, here are 3555additional commands which affect the document as a whole. They are 3556generally all given before the Top node, if they are given at all. 3557 3558@menu 3559* documentdescription:: Document summary for the HTML output. 3560* setchapternewpage:: Start chapters on right-hand pages. 3561* paragraphindent:: Specify paragraph indentation. 3562* exampleindent:: Specify environment indentation. 3563@end menu 3564 3565 3566@node documentdescription 3567@subsection @code{@@documentdescription}: Summary text 3568@cindex Document description 3569@cindex Description of document 3570@cindex Summary of document 3571@cindex Abstract of document 3572@cindex <meta> HTML tag, and document description 3573@findex documentdescription 3574 3575When producing HTML output for a document, @command{makeinfo} writes a 3576@samp{<meta>} element in the @samp{<head>} to give some idea of the 3577content of the document. By default, this @dfn{description} is the title 3578of the document, taken from the @code{@@settitle} command 3579(@pxref{settitle}). To change this, use the @code{@@documentdescription} 3580environment, as in: 3581 3582@example 3583@@documentdescription 3584descriptive text. 3585@@end documentdescription 3586@end example 3587 3588@noindent 3589This will produce the following output in the @samp{<head>} of the HTML: 3590 3591@example 3592<meta name=description content="descriptive text."> 3593@end example 3594 3595@code{@@documentdescription} must be specified before the first node of 3596the document. 3597 3598 3599@node setchapternewpage 3600@subsection @code{@@setchapternewpage}: 3601@cindex Starting chapters 3602@cindex Pages, starting odd 3603@findex setchapternewpage 3604 3605In an officially bound book, text is usually printed on both sides of 3606the paper, chapters start on right-hand pages, and right-hand pages have 3607odd numbers. But in short reports, text often is printed only on one 3608side of the paper. Also in short reports, chapters sometimes do not 3609start on new pages, but are printed on the same page as the end of the 3610preceding chapter, after a small amount of vertical whitespace. 3611 3612You can use the @code{@@setchapternewpage} command with various 3613arguments to specify how @TeX{} should start chapters and whether it 3614should format headers for printing on one or both sides of the paper 3615(single-sided or double-sided printing). 3616 3617Write the @code{@@setchapternewpage} command at the beginning of a 3618line followed by its argument. 3619 3620For example, you would write the following to cause each chapter to 3621start on a fresh odd-numbered page: 3622 3623@example 3624@@setchapternewpage odd 3625@end example 3626 3627You can specify one of three alternatives with the 3628@code{@@setchapternewpage} command: 3629 3630@table @asis 3631 3632@item @code{@@setchapternewpage off} 3633Cause @TeX{} to typeset a new chapter on the same page as the last 3634chapter, after skipping some vertical whitespace. Also, cause @TeX{} to 3635format page headers for single-sided printing. 3636 3637@item @code{@@setchapternewpage on} 3638Cause @TeX{} to start new chapters on new pages and to format page 3639headers for single-sided printing. This is the form most often used for 3640short reports or personal printing. This is the default. 3641 3642@item @code{@@setchapternewpage odd} 3643Cause @TeX{} to start new chapters on new, odd-numbered pages 3644(right-handed pages) and to typeset for double-sided printing. This is 3645the form most often used for books and manuals. 3646@end table 3647 3648Texinfo does not have an @code{@@setchapternewpage even} command, 3649because there is no printing tradition of starting chapters or books on 3650an even-numbered page. 3651 3652If you don't like the default headers that @code{@@setchapternewpage} 3653sets, you can explicit control them with the @code{@@headings} command. 3654@xref{headings on off, , The @code{@@headings} Command}. 3655 3656At the beginning of a manual or book, pages are not numbered---for 3657example, the title and copyright pages of a book are not numbered. By 3658convention, table of contents and frontmatter pages are numbered with 3659roman numerals and not in sequence with the rest of the document. 3660 3661Since an Info file does not have pages, the @code{@@setchapternewpage} 3662command has no effect on it. 3663 3664We recommend not including any @code{@@setchapternewpage} command in 3665your manual sources at all, since the desired output is not intrinsic to 3666the document. For a particular hard copy run, if you don't want the 3667default option (no blank pages, same headers on all pages) use the 3668@option{--texinfo} option to @command{texi2dvi} to specify the output 3669you want. 3670 3671 3672@node paragraphindent 3673@subsection Paragraph Indenting 3674@cindex Indenting paragraphs, control of 3675@cindex Paragraph indentation control 3676@findex paragraphindent 3677 3678The Texinfo processors may insert whitespace at the beginning of the 3679first line of each paragraph, thereby indenting that paragraph. You can 3680use the @code{@@paragraphindent} command to specify this indentation. 3681Write an @code{@@paragraphindent} command at the beginning of a line 3682followed by either @samp{asis} or a number: 3683 3684@example 3685@@paragraphindent @var{indent} 3686@end example 3687 3688The indentation is according to the value of @var{indent}: 3689 3690@table @asis 3691@item @code{asis} 3692Do not change the existing indentation (not implemented in @TeX{}). 3693 3694@item @code{none} 3695@itemx 0 3696Omit all indentation. 3697 3698@item @var{n} 3699Indent by @var{n} space characters in Info output, by @var{n} ems in 3700@TeX{}. 3701 3702@end table 3703 3704The default value of @var{indent} is 3. @code{@@paragraphindent} is 3705ignored for HTML output. 3706 3707It is best to write the @code{@@paragraphindent} command before the 3708end-of-header line at the beginning of a Texinfo file, so the region 3709formatting commands indent paragraphs as specified. @xref{Start of 3710Header}. 3711 3712A peculiarity of the @code{texinfo-format-buffer} and 3713@code{texinfo-format-region} commands is that they do not indent (nor 3714fill) paragraphs that contain @code{@@w} or @code{@@*} commands. 3715@xref{Refilling Paragraphs}, for further information. 3716 3717 3718@node exampleindent 3719@subsection @code{@@exampleindent}: Environment Indenting 3720@cindex Indenting environments 3721@cindex Environment indentation 3722@cindex Example indentation 3723@findex exampleindent 3724 3725The Texinfo processors indent each line of @code{@@example} and similar 3726environments. You can use the @code{@@exampleindent} command to specify 3727this indentation. Write an @code{@@exampleindent} command at the 3728beginning of a line followed by either @samp{asis} or a number: 3729 3730@example 3731@@exampleindent @var{indent} 3732@end example 3733 3734The indentation is according to the value of @var{indent}: 3735 3736@table @asis 3737@item @code{asis} 3738Do not change the existing indentation (not implemented in @TeX{}). 3739 3740@item 0 3741Omit all indentation. 3742 3743@item @var{n} 3744Indent environments by @var{n} space characters in Info output, by 3745@var{n} ems in @TeX{}. 3746 3747@end table 3748 3749The default value of @var{indent} is 5. @code{@@exampleindent} is 3750ignored for HTML output. 3751 3752It is best to write the @code{@@exampleindent} command before the 3753end-of-header line at the beginning of a Texinfo file, so the region 3754formatting commands indent paragraphs as specified. @xref{Start of 3755Header}. 3756 3757 |
|
3668@node Software Copying Permissions | 3758@node Software Copying Permissions |
3669@comment node-name, next, previous, up | |
3670@section Software Copying Permissions 3671@cindex Software copying permissions 3672@cindex Copying software 3673@cindex Distribution 3674@cindex License agreement 3675 3676If the Texinfo file has a section containing the ``General Public | 3759@section Software Copying Permissions 3760@cindex Software copying permissions 3761@cindex Copying software 3762@cindex Distribution 3763@cindex License agreement 3764 3765If the Texinfo file has a section containing the ``General Public |
3677License'' and the distribution information and a warranty disclaimer 3678for the software that is documented, this section usually follows the 3679`Top' node. The General Public License is very important to Project | 3766License'' and the distribution information and a warranty disclaimer for 3767the software that is documented, we recommend placing this right after 3768the `Top' node. The General Public License is very important to Project |
3680GNU software. It ensures that you and others will continue to have a | 3769GNU software. It ensures that you and others will continue to have a |
3681right to use and share the software.@refill | 3770right to use and share the software. |
3682 3683The copying and distribution information and the disclaimer are followed | 3771 3772The copying and distribution information and the disclaimer are followed |
3684by an introduction or else by the first chapter of the manual.@refill | 3773by an introduction or else by the first chapter of the manual. |
3685 3686@cindex Introduction, as part of file 3687Although an introduction is not a required part of a Texinfo file, it 3688is very helpful. Ideally, it should state clearly and concisely what 3689the file is about and who would be interested in reading it. In 3690general, an introduction would follow the licensing and distribution 3691information, although sometimes people put it earlier in the document. | 3774 3775@cindex Introduction, as part of file 3776Although an introduction is not a required part of a Texinfo file, it 3777is very helpful. Ideally, it should state clearly and concisely what 3778the file is about and who would be interested in reading it. In 3779general, an introduction would follow the licensing and distribution 3780information, although sometimes people put it earlier in the document. |
3692Usually, an introduction is put in an @code{@@unnumbered} section. 3693(@xref{unnumbered & appendix, , The @code{@@unnumbered} and 3694@code{@@appendix} Commands}.)@refill | |
3695 | 3781 |
3696@node Ending a File, Structuring, Beginning a File, Top 3697@comment node-name, next, previous, up | 3782 3783@node Ending a File |
3698@chapter Ending a Texinfo File 3699@cindex Ending a Texinfo file 3700@cindex Texinfo file ending 3701@cindex File ending 3702@findex bye 3703 3704The end of a Texinfo file should include commands to create indices and | 3784@chapter Ending a Texinfo File 3785@cindex Ending a Texinfo file 3786@cindex Texinfo file ending 3787@cindex File ending 3788@findex bye 3789 3790The end of a Texinfo file should include commands to create indices and |
3705(usually) to generate detailed and summary tables of contents. And it 3706must include the @code{@@bye} command that marks the last line processed 3707by @TeX{}.@refill | 3791(perhaps) to generate both the full and summary tables of contents. 3792Finally, it must include the @code{@@bye} command that marks the last 3793line to be processed. |
3708 3709@need 700 3710For example: 3711 3712@example | 3794 3795@need 700 3796For example: 3797 3798@example |
3713@@node Concept Index, , Variables Index, Top 3714@@c node-name, next, previous, up 3715@@unnumbered Concept Index | 3799@@node Index 3800@@unnumbered Index |
3716 3717@@printindex cp 3718 | 3801 3802@@printindex cp 3803 |
3804@@shortcontents |
|
3719@@contents | 3805@@contents |
3806 |
|
3720@@bye 3721@end example 3722 3723@menu 3724* Printing Indices & Menus:: How to print an index in hardcopy and 3725 generate index menus in Info. 3726* Contents:: How to create a table of contents. 3727* File End:: How to mark the end of a file. 3728@end menu 3729 | 3807@@bye 3808@end example 3809 3810@menu 3811* Printing Indices & Menus:: How to print an index in hardcopy and 3812 generate index menus in Info. 3813* Contents:: How to create a table of contents. 3814* File End:: How to mark the end of a file. 3815@end menu 3816 |
3730@node Printing Indices & Menus, Contents, Ending a File, Ending a File 3731@comment node-name, next, previous, up 3732@section Index Menus and Printing an Index | 3817 3818@node Printing Indices & Menus 3819@section Printing Indices and Menus |
3733@findex printindex 3734@cindex Printing an index 3735@cindex Indices, printing and menus 3736@cindex Generating menus with indices 3737@cindex Menus generated with indices 3738 | 3820@findex printindex 3821@cindex Printing an index 3822@cindex Indices, printing and menus 3823@cindex Generating menus with indices 3824@cindex Menus generated with indices 3825 |
3739To print an index means to include it as part of a manual or Info 3740file. This does not happen automatically just because you use 3741@code{@@cindex} or other index-entry generating commands in the 3742Texinfo file; those just cause the raw data for the index to be 3743accumulated. To generate an index, you must include the 3744@code{@@printindex} command at the place in the document where you 3745want the index to appear. Also, as part of the process of creating a 3746printed manual, you must run a program called @code{texindex} 3747(@pxref{Hardcopy}) to sort the raw data to produce a sorted 3748index file. The sorted index file is what is actually used to 3749print the index.@refill | 3826To print an index means to include it as part of a manual or Info file. 3827This does not happen automatically just because you use @code{@@cindex} 3828or other index-entry generating commands in the Texinfo file; those just 3829cause the raw data for the index to be accumulated. To generate an 3830index, you must include the @code{@@printindex} command at the place in 3831the document where you want the index to appear. Also, as part of the 3832process of creating a printed manual, you must run a program called 3833@code{texindex} (@pxref{Hardcopy}) to sort the raw data to produce a 3834sorted index file. The sorted index file is what is actually used to 3835print the index. |
3750 | 3836 |
3751Texinfo offers six different types of predefined index: the concept 3752index, the function index, the variables index, the keystroke index, the 3753program index, and the data type index (@pxref{Predefined Indices}). Each 3754index type has a two-letter name: @samp{cp}, @samp{fn}, @samp{vr}, 3755@samp{ky}, @samp{pg}, and @samp{tp}. You may merge indices, or put them 3756into separate sections (@pxref{Combining Indices}); or you may define 3757your own indices (@pxref{New Indices, , Defining New Indices}).@refill | 3837Texinfo offers six separate types of predefined index, each with a 3838two-letter abbreviation, as illustrated in the following table. 3839However, you may merge indices (@pxref{Combining Indices}) or define 3840your own indices (@pxref{New Indices}). |
3758 | 3841 |
3759The @code{@@printindex} command takes a two-letter index name, reads 3760the corresponding sorted index file and formats it appropriately into 3761an index.@refill | 3842Here are the predefined indices, their abbreviations, and the 3843corresponding index entry commands: |
3762 | 3844 |
3763@ignore 3764The two-letter index names are: 3765 | |
3766@table @samp 3767@item cp | 3845@table @samp 3846@item cp |
3768concept index | 3847concept index (@code{@@cindex}) |
3769@item fn | 3848@item fn |
3770function index | 3849function index (@code{@@findex}) |
3771@item vr | 3850@item vr |
3772variable index | 3851variable index (@code{@@index}) |
3773@item ky | 3852@item ky |
3774key index | 3853key index (@code{@@kindex}) |
3775@item pg | 3854@item pg |
3776program index | 3855program index (@code{@@pindex}) |
3777@item tp | 3856@item tp |
3778data type index | 3857data type index (@code{@@tindex}) |
3779@end table | 3858@end table |
3780@end ignore 3781The @code{@@printindex} command does not generate a chapter heading 3782for the index. Consequently, you should precede the 3783@code{@@printindex} command with a suitable section or chapter command 3784(usually @code{@@unnumbered}) to supply the chapter heading and put 3785the index into the table of contents. Precede the @code{@@unnumbered} 3786command with an @code{@@node} line.@refill | |
3787 | 3859 |
3788@need 1200 | 3860The @code{@@printindex} command takes a two-letter index abbreviation, 3861reads the corresponding sorted index file and formats it appropriately 3862into an index. 3863 3864The @code{@@printindex} command does not generate a chapter heading for 3865the index. Consequently, you should precede the @code{@@printindex} 3866command with a suitable section or chapter command (usually 3867@code{@@appendix} or @code{@@unnumbered}) to supply the chapter heading 3868and put the index into the table of contents. Precede the 3869@code{@@unnumbered} command with an @code{@@node} line. 3870 |
3789For example: 3790 3791@smallexample 3792@group | 3871For example: 3872 3873@smallexample 3874@group |
3793@@node Variable Index, Concept Index, Function Index, Top 3794@@comment node-name, next, previous, up | 3875@@node Variable Index |
3795@@unnumbered Variable Index 3796 3797@@printindex vr 3798@end group 3799 3800@group | 3876@@unnumbered Variable Index 3877 3878@@printindex vr 3879@end group 3880 3881@group |
3801@@node Concept Index, , Variable Index, Top 3802@@comment node-name, next, previous, up | 3882@@node Concept Index |
3803@@unnumbered Concept Index 3804 3805@@printindex cp 3806@end group 3807@end smallexample 3808 3809@noindent | 3883@@unnumbered Concept Index 3884 3885@@printindex cp 3886@end group 3887@end smallexample 3888 3889@noindent |
3810Readers often prefer that the concept index come last in a book, 3811since that makes it easiest to find. Having just one index helps 3812readers also, since then they have only one place to look 3813(@pxref{synindex}). | |
3814 | 3890 |
3891We recommend placing the concept index last, since that makes it easiest 3892to find. We also recommend having a single index whenever possible, 3893since then readers have only one place to look (@pxref{Combining Indices}). |
|
3815 | 3894 |
3895 |
|
3816@node Contents 3817@section Generating a Table of Contents 3818@cindex Table of contents 3819@cindex Contents, Table of 3820@cindex Short table of contents 3821@findex contents 3822@findex summarycontents 3823@findex shortcontents 3824 3825The @code{@@chapter}, @code{@@section}, and other structuring commands 3826supply the information to make up a table of contents, but they do not 3827cause an actual table to appear in the manual. To do this, you must use 3828the @code{@@contents} and/or @code{@@summarycontents} command(s). 3829 3830@table @code 3831@item @@contents 3832Generate a table of contents in a printed manual, including all 3833chapters, sections, subsections, etc., as well as appendices and | 3896@node Contents 3897@section Generating a Table of Contents 3898@cindex Table of contents 3899@cindex Contents, Table of 3900@cindex Short table of contents 3901@findex contents 3902@findex summarycontents 3903@findex shortcontents 3904 3905The @code{@@chapter}, @code{@@section}, and other structuring commands 3906supply the information to make up a table of contents, but they do not 3907cause an actual table to appear in the manual. To do this, you must use 3908the @code{@@contents} and/or @code{@@summarycontents} command(s). 3909 3910@table @code 3911@item @@contents 3912Generate a table of contents in a printed manual, including all 3913chapters, sections, subsections, etc., as well as appendices and |
3834unnumbered chapters. (Headings generated by the @code{@@heading} 3835series of commands do not appear in the table of contents.) | 3914unnumbered chapters. Headings generated by the @code{@@heading} 3915series of commands do not appear in the table of contents. |
3836 3837@item @@shortcontents 3838@itemx @@summarycontents | 3916 3917@item @@shortcontents 3918@itemx @@summarycontents |
3839(@code{@@summarycontents} is a synonym for @code{@@shortcontents}; the 3840two commands are exactly the same.)@refill | 3919(@code{@@summarycontents} is a synonym for @code{@@shortcontents}.) |
3841 3842Generate a short or summary table of contents that lists only the | 3920 3921Generate a short or summary table of contents that lists only the |
3843chapters (and appendices and unnumbered chapters). Omit sections, subsections 3844and subsubsections. Only a long manual needs a short table 3845of contents in addition to the full table of contents.@refill | 3922chapters, appendices, and unnumbered chapters. Sections, subsections 3923and subsubsections are omitted. Only a long manual needs a short table 3924of contents in addition to the full table of contents. |
3846 3847@end table 3848 3849Both contents commands should be written on a line by themselves. 3850The contents commands automatically generate a chapter-like heading at 3851the top of the first table of contents page, so don't include any 3852sectioning command such as @code{@@unnumbered} before them. 3853 --- 22 unchanged lines hidden (view full) --- 3876@findex setcontentsaftertitlepage 3877@findex setshortcontentsaftertitlepage 3878@cindex Contents, after title page 3879@cindex Table of contents, after title page 3880As an author, you can put the contents commands wherever you prefer. 3881But if you are a user simply printing a manual, you may wish to print 3882the contents after the title page even if the author put the contents 3883commands at the end of the document (as is the case in most existing | 3925 3926@end table 3927 3928Both contents commands should be written on a line by themselves. 3929The contents commands automatically generate a chapter-like heading at 3930the top of the first table of contents page, so don't include any 3931sectioning command such as @code{@@unnumbered} before them. 3932 --- 22 unchanged lines hidden (view full) --- 3955@findex setcontentsaftertitlepage 3956@findex setshortcontentsaftertitlepage 3957@cindex Contents, after title page 3958@cindex Table of contents, after title page 3959As an author, you can put the contents commands wherever you prefer. 3960But if you are a user simply printing a manual, you may wish to print 3961the contents after the title page even if the author put the contents 3962commands at the end of the document (as is the case in most existing |
3884Texinfo documents). You can do this by specifying | 3963Texinfo documents, at this writing). You can do this by specifying |
3885@code{@@setcontentsaftertitlepage} and/or 3886@code{@@setshortcontentsaftertitlepage}. The first prints only the main 3887contents after the @code{@@end titlepage}; the second prints both the 3888short contents and the main contents. In either case, any subsequent 3889@code{@@contents} or @code{@@shortcontents} is ignored (unless no 3890@code{@@end titlepage} is ever encountered). 3891 3892You need to include the @code{@@set@dots{}contentsaftertitlepage} 3893commands early in the document (just after @code{@@setfilename}, for | 3964@code{@@setcontentsaftertitlepage} and/or 3965@code{@@setshortcontentsaftertitlepage}. The first prints only the main 3966contents after the @code{@@end titlepage}; the second prints both the 3967short contents and the main contents. In either case, any subsequent 3968@code{@@contents} or @code{@@shortcontents} is ignored (unless no 3969@code{@@end titlepage} is ever encountered). 3970 3971You need to include the @code{@@set@dots{}contentsaftertitlepage} 3972commands early in the document (just after @code{@@setfilename}, for |
3894example). Or, if you're using @command{texi2dvi} (@pxref{Format with 3895texi2dvi}), you can use its @option{--texinfo} option to specify this 3896without altering the source file at all. For example: | 3973example). We recommend using @command{texi2dvi} (@pxref{Format with 3974texi2dvi}) to specify this without altering the source file at all. For 3975example: |
3897@example | 3976@example |
3898texi2dvi --texinfo=@@setshortcontentsaftertitlepage foo.texi | 3977texi2dvi --texinfo=@@setcontentsaftertitlepage foo.texi |
3899@end example 3900 3901 3902@node File End 3903@section @code{@@bye} File Ending 3904@findex bye 3905 3906An @code{@@bye} command terminates @TeX{} or Info formatting. None of | 3978@end example 3979 3980 3981@node File End 3982@section @code{@@bye} File Ending 3983@findex bye 3984 3985An @code{@@bye} command terminates @TeX{} or Info formatting. None of |
3907the formatting commands see any of the file following @code{@@bye}. 3908The @code{@@bye} command should be on a line by itself.@refill | 3986the formatting commands reading anything following @code{@@bye}. The 3987@code{@@bye} command should be on a line by itself. |
3909 | 3988 |
3910If you wish, you may follow the @code{@@bye} line with notes. These notes 3911will not be formatted and will not appear in either Info or a printed 3912manual; it is as if text after @code{@@bye} were within @code{@@ignore} 3913@dots{} @code{@@end ignore}. Also, you may follow the @code{@@bye} line 3914with a local variables list. @xref{Compile-Command, , Using Local 3915Variables and the Compile Command}, for more information.@refill | 3989If you wish, you may follow the @code{@@bye} line with notes. These 3990notes will not be formatted and will not appear in either Info or a 3991printed manual; it is as if text after @code{@@bye} were within 3992@code{@@ignore} @dots{} @code{@@end ignore}. Also, you may follow the 3993@code{@@bye} line with a local variables list for Emacs. 3994@xref{Compile-Command, , Using Local Variables and the Compile Command}, 3995for more information. |
3916 3917 3918@node Structuring 3919@chapter Chapter Structuring 3920@cindex Chapter structuring 3921@cindex Structuring of chapters 3922 3923The @dfn{chapter structuring} commands divide a document into a hierarchy of --- 705 unchanged lines hidden (view full) --- 4629 4630@menu 4631* Node Names:: How to choose node and pointer names. 4632* Writing a Node:: How to write an @code{@@node} line. 4633* Node Line Tips:: Keep names short. 4634* Node Line Requirements:: Keep names unique, without @@-commands. 4635* First Node:: How to write a `Top' node. 4636* makeinfo top command:: How to use the @code{@@top} command. | 3996 3997 3998@node Structuring 3999@chapter Chapter Structuring 4000@cindex Chapter structuring 4001@cindex Structuring of chapters 4002 4003The @dfn{chapter structuring} commands divide a document into a hierarchy of --- 705 unchanged lines hidden (view full) --- 4709 4710@menu 4711* Node Names:: How to choose node and pointer names. 4712* Writing a Node:: How to write an @code{@@node} line. 4713* Node Line Tips:: Keep names short. 4714* Node Line Requirements:: Keep names unique, without @@-commands. 4715* First Node:: How to write a `Top' node. 4716* makeinfo top command:: How to use the @code{@@top} command. |
4637* Top Node Summary:: Write a brief description for readers. | |
4638@end menu 4639 4640 4641@node Node Names 4642@subsection Choosing Node and Pointer Names 4643 4644@cindex Node names, choosing 4645The name of a node identifies the node. The pointers enable --- 172 unchanged lines hidden (view full) --- 4818 4819@noindent 4820The corresponding node name is: 4821 4822@smallexample 4823unnumberedsec appendixsec heading 4824@end smallexample 4825 | 4717@end menu 4718 4719 4720@node Node Names 4721@subsection Choosing Node and Pointer Names 4722 4723@cindex Node names, choosing 4724The name of a node identifies the node. The pointers enable --- 172 unchanged lines hidden (view full) --- 4897 4898@noindent 4899The corresponding node name is: 4900 4901@smallexample 4902unnumberedsec appendixsec heading 4903@end smallexample 4904 |
4826@cindex Case in nodename | 4905@cindex Case in node name |
4827@item 4828Case is significant. 4829@end itemize 4830 4831 | 4906@item 4907Case is significant. 4908@end itemize 4909 4910 |
4832@node First Node, makeinfo top command, Node Line Requirements, node 4833@comment node-name, next, previous, up | 4911@node First Node |
4834@subsection The First Node 4835@cindex Top node is first 4836@cindex First node 4837 4838The first node of a Texinfo file is the @dfn{Top} node, except in an | 4912@subsection The First Node 4913@cindex Top node is first 4914@cindex First node 4915 4916The first node of a Texinfo file is the @dfn{Top} node, except in an |
4839included file (@pxref{Include Files}). The Top node contains the main 4840or master menu for the document, and a short summary of the document 4841(@pxref{Top Node Summary}). | 4917included file (@pxref{Include Files}). The Top node should contain a 4918short summary, copying permissions, and a master menu. @xref{The Top 4919Node}, for more information on the Top node contents and examples. |
4842 | 4920 |
4921Here is a description of the node pointers to be used in the Top node: 4922 4923@itemize @bullet 4924 4925@item |
|
4843@cindex Up node of Top node 4844@cindex (dir) as Up node of Top node 4845The Top node (which must be named @samp{top} or @samp{Top}) should have 4846as its `Up' node the name of a node in another file, where there is a | 4926@cindex Up node of Top node 4927@cindex (dir) as Up node of Top node 4928The Top node (which must be named @samp{top} or @samp{Top}) should have 4929as its `Up' node the name of a node in another file, where there is a |
4847menu that leads to this file. Specify the file name in parentheses. If 4848the file is to be installed directly in the Info directory file, use 4849@samp{(dir)} as the parent of the Top node; this is short for 4850@samp{(dir)top}, and specifies the Top node in the @file{dir} file, 4851which contains the main menu for the Info system as a whole. For 4852example, the @code{@@node Top} line of this manual looks like this: | 4930menu that leads to this file. Specify the file name in parentheses. |
4853 | 4931 |
4854@example 4855@@node Top, Copying, , (dir) 4856@end example | 4932Usually, all Info files are installed in the same Info directory tree; 4933in this case, use @samp{(dir)} as the parent of the Top node; this is 4934short for @samp{(dir)top}, and specifies the Top node in the @file{dir} 4935file, which contains the main menu for the Info system as a whole. |
4857 | 4936 |
4858@noindent 4859(You can use the Texinfo updating commands or the @code{makeinfo} 4860utility to insert these pointers automatically.) 4861 | 4937@item |
4862@cindex Previous node of Top node | 4938@cindex Previous node of Top node |
4863Do not define the `Previous' node of the Top node to be @samp{(dir)}, as 4864it causes confusing behavior for users: if you are in the Top node and 4865hits @key{DEL} to go backwards, you wind up in the middle of the 4866some other entry in the @file{dir} file, which has nothing to do with 4867what you were reading. | 4939On the other hand, do not define the `Previous' node of the Top node to 4940be @samp{(dir)}, as it causes confusing behavior for users: if you are 4941in the Top node and hits @key{DEL} to go backwards, you wind up in the 4942middle of the some other entry in the @file{dir} file, which has nothing 4943to do with what you were reading. |
4868 | 4944 |
4945@item 4946@cindex Next node of Top node 4947The `Next' node of the Top node should be the first chapter in your 4948document. 4949 4950@end itemize 4951 |
|
4869@xref{Installing an Info File}, for more information about installing 4870an Info file in the @file{info} directory. 4871 | 4952@xref{Installing an Info File}, for more information about installing 4953an Info file in the @file{info} directory. 4954 |
4955For concreteness, here is an example with explicit pointers (which you 4956can maintain automatically with the texinfo mode commands): |
|
4872 | 4957 |
4873@node makeinfo top command, Top Node Summary, First Node, node 4874@comment node-name, next, previous, up | 4958Or you can leave the pointers off entirely and let the tools implicitly 4959define them. This is recommended. Thus: 4960 4961@example 4962@@node Top 4963@end example 4964 4965 4966@node makeinfo top command |
4875@subsection The @code{@@top} Sectioning Command 4876@findex top @r{(@@-command)} 4877 | 4967@subsection The @code{@@top} Sectioning Command 4968@findex top @r{(@@-command)} 4969 |
4878A special sectioning command, @code{@@top}, has been created for use 4879with the @code{@@node Top} line. The @code{@@top} sectioning command tells | 4970A special sectioning command, @code{@@top} should be used with the 4971@code{@@node Top} line. The @code{@@top} sectioning command tells |
4880@code{makeinfo} that it marks the `Top' node in the file. It provides | 4972@code{makeinfo} that it marks the `Top' node in the file. It provides |
4881the information that @code{makeinfo} needs to insert node 4882pointers automatically. Write the @code{@@top} command at the 4883beginning of the line immediately following the @code{@@node Top} 4884line. Write the title on the remaining part of the same line as the 4885@code{@@top} command.@refill | 4973the information that @code{makeinfo} needs to insert node pointers 4974automatically. Write the @code{@@top} command at the beginning of the 4975line immediately following the @code{@@node Top} line. Write the title 4976on the remaining part of the same line as the @code{@@top} command. |
4886 | 4977 |
4887In Info, the @code{@@top} sectioning command causes the title to appear on a 4888line by itself, with a line of asterisks inserted underneath.@refill | 4978In Info, the @code{@@top} sectioning command causes the title to appear 4979on a line by itself, with a line of asterisks inserted underneath, as 4980other sectioning commands do. |
4889 4890In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} 4891sectioning command is merely a synonym for @code{@@unnumbered}. 4892Neither of these formatters require an @code{@@top} command, and do 4893nothing special with it. You can use @code{@@chapter} or 4894@code{@@unnumbered} after the @code{@@node Top} line when you use 4895these formatters. Also, you can use @code{@@chapter} or 4896@code{@@unnumbered} when you use the Texinfo updating commands to | 4981 4982In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} 4983sectioning command is merely a synonym for @code{@@unnumbered}. 4984Neither of these formatters require an @code{@@top} command, and do 4985nothing special with it. You can use @code{@@chapter} or 4986@code{@@unnumbered} after the @code{@@node Top} line when you use 4987these formatters. Also, you can use @code{@@chapter} or 4988@code{@@unnumbered} when you use the Texinfo updating commands to |
4897create or update pointers and menus.@refill | 4989create or update pointers and menus. |
4898 | 4990 |
4991Thus, in practice, a Top node starts like this: |
|
4899 | 4992 |
4900@node Top Node Summary, , makeinfo top command, node 4901@subsection The `Top' Node Summary 4902@cindex @samp{@r{Top}} node summary | 4993@example 4994@@node Top 4995@@top Your Manual Title 4996@end example |
4903 | 4997 |
4904You can help readers by writing a summary in the `Top' node, after the 4905@code{@@top} line, before the main or master menu. The summary should 4906briefly describe the document. In Info, this summary will appear just 4907before the master menu. In a printed manual, this summary will appear 4908on a page of its own.@refill | |
4909 | 4998 |
4910If you do not want the summary to appear on a page of its own in a 4911printed manual, you can enclose the whole of the `Top' node, including 4912the @code{@@node Top} line and the @code{@@top} sectioning command line 4913or other sectioning command line between @code{@@ifinfo} and @code{@@end 4914ifinfo}. This prevents any of the text from appearing in the printed 4915output. (@pxref{Conditionals, , Conditionally Visible Text}). You can 4916repeat the brief description from the `Top' node within @code{@@iftex} 4917@dots{} @code{@@end iftex} at the beginning of the first chapter, for 4918those who read the printed manual. This saves paper and may look 4919neater.@refill 4920 4921You should write the version number of the program to which the manual 4922applies in the summary. This helps the reader keep track of which 4923manual is for which version of the program. If the manual changes more 4924frequently than the program or is independent of it, you should also 4925include an edition number for the manual. (The title page should also 4926contain this information: see @ref{titlepage, , 4927@code{@@titlepage}}.)@refill 4928 4929 | |
4930@node makeinfo Pointer Creation 4931@section Creating Pointers with @code{makeinfo} 4932@cindex Creating pointers with @code{makeinfo} 4933@cindex Pointer creation with @code{makeinfo} 4934@cindex Automatic pointer creation with @code{makeinfo} 4935 4936The @code{makeinfo} program has a feature for automatically defining 4937node pointers for a hierarchically organized file. --- 109 unchanged lines hidden (view full) --- 5047@cindex Nodes for menus are short 5048@cindex Short nodes for menus 5049 5050The short text before a menu may look awkward in a printed manual. To 5051avoid this, you can write a menu near the beginning of its node and 5052follow the menu by an @code{@@node} line, and then an @code{@@heading} 5053line located within @code{@@ifinfo} and @code{@@end ifinfo}. This way, 5054the menu, @code{@@node} line, and title appear only in the Info file, | 4999@node makeinfo Pointer Creation 5000@section Creating Pointers with @code{makeinfo} 5001@cindex Creating pointers with @code{makeinfo} 5002@cindex Pointer creation with @code{makeinfo} 5003@cindex Automatic pointer creation with @code{makeinfo} 5004 5005The @code{makeinfo} program has a feature for automatically defining 5006node pointers for a hierarchically organized file. --- 109 unchanged lines hidden (view full) --- 5116@cindex Nodes for menus are short 5117@cindex Short nodes for menus 5118 5119The short text before a menu may look awkward in a printed manual. To 5120avoid this, you can write a menu near the beginning of its node and 5121follow the menu by an @code{@@node} line, and then an @code{@@heading} 5122line located within @code{@@ifinfo} and @code{@@end ifinfo}. This way, 5123the menu, @code{@@node} line, and title appear only in the Info file, |
5055not the printed document.@refill | 5124not the printed document. |
5056 5057For example, the preceding two paragraphs follow an Info-only menu, | 5125 5126For example, the preceding two paragraphs follow an Info-only menu, |
5058@code{@@node} line, and heading, and look like this:@refill | 5127@code{@@node} line, and heading, and look like this: |
5059 5060@example 5061@group 5062@@menu 5063* Menu Location:: Put a menu in a short node. 5064* Writing a Menu:: What is a menu? 5065* Menu Parts:: A menu entry has three parts. 5066* Less Cluttered Menu Entry:: Two part menu entry. --- 4 unchanged lines hidden (view full) --- 5071 5072@@node Menu Location, Writing a Menu, , Menus 5073@@ifinfo 5074@@heading Menus Need Short Nodes 5075@@end ifinfo 5076@end group 5077@end example 5078 | 5128 5129@example 5130@group 5131@@menu 5132* Menu Location:: Put a menu in a short node. 5133* Writing a Menu:: What is a menu? 5134* Menu Parts:: A menu entry has three parts. 5135* Less Cluttered Menu Entry:: Two part menu entry. --- 4 unchanged lines hidden (view full) --- 5140 5141@@node Menu Location, Writing a Menu, , Menus 5142@@ifinfo 5143@@heading Menus Need Short Nodes 5144@@end ifinfo 5145@end group 5146@end example 5147 |
5079The Texinfo file for this document contains more than a dozen 5080examples of this procedure. One is at the beginning of this chapter; 5081another is at the beginning of @ref{Cross References}. @refill | 5148The Texinfo file for this document contains a number of 5149examples of this procedure; one is at the beginning of this chapter. |
5082 5083 5084@node Writing a Menu, Menu Parts, Menu Location, Menus 5085@section Writing a Menu 5086@cindex Writing a menu 5087@cindex Menu writing 5088 5089A menu consists of an @code{@@menu} command on a line by --- 1312 unchanged lines hidden (view full) --- 6402not something else that should not be changed.@refill 6403 6404@menu 6405* Useful Highlighting:: Highlighting provides useful information. 6406* code:: Indicating program code. 6407* kbd:: Showing keyboard input. 6408* key:: Specifying keys. 6409* samp:: A literal sequence of characters. | 5150 5151 5152@node Writing a Menu, Menu Parts, Menu Location, Menus 5153@section Writing a Menu 5154@cindex Writing a menu 5155@cindex Menu writing 5156 5157A menu consists of an @code{@@menu} command on a line by --- 1312 unchanged lines hidden (view full) --- 6470not something else that should not be changed.@refill 6471 6472@menu 6473* Useful Highlighting:: Highlighting provides useful information. 6474* code:: Indicating program code. 6475* kbd:: Showing keyboard input. 6476* key:: Specifying keys. 6477* samp:: A literal sequence of characters. |
6410* verb:: A verbatim sequence of characters. | 6478* verb:: A verbatim sequence of characters. |
6411* var:: Indicating metasyntactic variables. 6412* env:: Indicating environment variables. 6413* file:: Indicating file names. 6414* command:: Indicating command names. 6415* option:: Indicating option names. 6416* dfn:: Specifying definitions. 6417* cite:: Referring to books not in the Info system. 6418* acronym:: Indicating acronyms. --- 925 unchanged lines hidden (view full) --- 7344line. 7345@findex end 7346 7347@menu 7348* Block Enclosing Commands:: Different constructs for different purposes. 7349* quotation:: Writing a quotation. 7350* example:: Writing an example in a fixed-width font. 7351* verbatim:: Writing a verbatim example. | 6479* var:: Indicating metasyntactic variables. 6480* env:: Indicating environment variables. 6481* file:: Indicating file names. 6482* command:: Indicating command names. 6483* option:: Indicating option names. 6484* dfn:: Specifying definitions. 6485* cite:: Referring to books not in the Info system. 6486* acronym:: Indicating acronyms. --- 925 unchanged lines hidden (view full) --- 7412line. 7413@findex end 7414 7415@menu 7416* Block Enclosing Commands:: Different constructs for different purposes. 7417* quotation:: Writing a quotation. 7418* example:: Writing an example in a fixed-width font. 7419* verbatim:: Writing a verbatim example. |
7352* verbatiminclude:: Including a file verbatim. | 7420* verbatiminclude:: Including a file verbatim. |
7353* lisp:: Illustrating Lisp code. 7354* small:: Forms for @code{@@smallbook}. 7355* display:: Writing an example in the current font. 7356* format:: Writing an example without narrowed margins. 7357* exdent:: Undo indentation on a line. 7358* flushleft & flushright:: Pushing text flush left or flush right. 7359* noindent:: Preventing paragraph indentation. 7360* cartouche:: Drawing rounded rectangles around examples. --- 198 unchanged lines hidden (view full) --- 7559such as computer input or output (@code{@@example} interprets its text 7560as regular Texinfo commands). This is especially useful for including 7561automatically generated output in a Texinfo manual. Here is an example; 7562the output you see is just the same as the input, with a line 7563@code{@@verbatim} before and a line @code{@@end verbatim} after. 7564 7565@verbatim 7566This is an example of text written in a @verbatim | 7421* lisp:: Illustrating Lisp code. 7422* small:: Forms for @code{@@smallbook}. 7423* display:: Writing an example in the current font. 7424* format:: Writing an example without narrowed margins. 7425* exdent:: Undo indentation on a line. 7426* flushleft & flushright:: Pushing text flush left or flush right. 7427* noindent:: Preventing paragraph indentation. 7428* cartouche:: Drawing rounded rectangles around examples. --- 198 unchanged lines hidden (view full) --- 7627such as computer input or output (@code{@@example} interprets its text 7628as regular Texinfo commands). This is especially useful for including 7629automatically generated output in a Texinfo manual. Here is an example; 7630the output you see is just the same as the input, with a line 7631@code{@@verbatim} before and a line @code{@@end verbatim} after. 7632 7633@verbatim 7634This is an example of text written in a @verbatim |
7567block. No character substitutions are made all commands 7568are ignored, until the next 'end verbatim' command. | 7635block. No character substitutions are made. All commands 7636are ignored, until `<at>end verbatim'. |
7569 7570In the printed manual, the text is typeset in a 7571fixed-width font, and not indented or filled. All 7572spaces and blank lines are significant, including tabs. 7573@end verbatim 7574 7575Write a @code{@@verbatim} command at the beginning of a line by itself. 7576This line will disappear from the output. Mark the end of the verbatim 7577block with a @code{@@end verbatim} command, also written at the 7578beginning of a line by itself. The @code{@@end verbatim} will also 7579disappear from the output. 7580 7581For example: | 7637 7638In the printed manual, the text is typeset in a 7639fixed-width font, and not indented or filled. All 7640spaces and blank lines are significant, including tabs. 7641@end verbatim 7642 7643Write a @code{@@verbatim} command at the beginning of a line by itself. 7644This line will disappear from the output. Mark the end of the verbatim 7645block with a @code{@@end verbatim} command, also written at the 7646beginning of a line by itself. The @code{@@end verbatim} will also 7647disappear from the output. 7648 7649For example: |
7582@c urg: got to trick this a bit: can't use @end verbatim inside @verbatim | 7650@c oops, got to trick this a bit: can't use @end verbatim inside @verbatim |
7583 7584@example 7585@exdent @@verbatim 7586@exdent @{ 7587@exdent <tab>@@command with strange characters: @@'e 7588@exdent expand<tab>me 7589@exdent @} 7590@exdent @@end verbatim --- 5 unchanged lines hidden (view full) --- 7596@verbatim 7597{ 7598 @command with strange characters: @'e 7599expand me 7600} 7601@end verbatim 7602 7603Since the lines containing @code{@@verbatim} and @code{@@end verbatim} | 7651 7652@example 7653@exdent @@verbatim 7654@exdent @{ 7655@exdent <tab>@@command with strange characters: @@'e 7656@exdent expand<tab>me 7657@exdent @} 7658@exdent @@end verbatim --- 5 unchanged lines hidden (view full) --- 7664@verbatim 7665{ 7666 @command with strange characters: @'e 7667expand me 7668} 7669@end verbatim 7670 7671Since the lines containing @code{@@verbatim} and @code{@@end verbatim} |
7604will disappear, tyically you should put a blank line before the | 7672produce no output, tyically you should put a blank line before the |
7605@code{@@verbatim} and another blank line after the @code{@@end 7606verbatim}. Blank lines between the beginning @code{@@verbatim} and the | 7673@code{@@verbatim} and another blank line after the @code{@@end 7674verbatim}. Blank lines between the beginning @code{@@verbatim} and the |
7607ending @code{@@end verbatim} will appear in the output.) | 7675ending @code{@@end verbatim} will appear in the output. |
7608 7609 7610@node verbatiminclude 7611@section @code{@@verbatiminclude} @var{file}: Include a File Verbatim 7612@cindex Verbatim, include file 7613@cindex Including a file verbatim 7614@findex verbatiminclude 7615 --- 1190 unchanged lines hidden (view full) --- 8806 8807@menu 8808* syncodeindex:: How to merge two indices, using @code{@@code} 8809 font for the merged-from index. 8810* synindex:: How to merge two indices, using the 8811 default font of the merged-to index. 8812@end menu 8813 | 7676 7677 7678@node verbatiminclude 7679@section @code{@@verbatiminclude} @var{file}: Include a File Verbatim 7680@cindex Verbatim, include file 7681@cindex Including a file verbatim 7682@findex verbatiminclude 7683 --- 1190 unchanged lines hidden (view full) --- 8874 8875@menu 8876* syncodeindex:: How to merge two indices, using @code{@@code} 8877 font for the merged-from index. 8878* synindex:: How to merge two indices, using the 8879 default font of the merged-to index. 8880@end menu 8881 |
8814@node syncodeindex, synindex, Combining Indices, Combining Indices | 8882@node syncodeindex |
8815@subsection @code{@@syncodeindex} 8816@findex syncodeindex 8817 8818When you want to combine functions and concepts into one index, you 8819should index the functions with @code{@@findex} and index the concepts 8820with @code{@@cindex}, and use the @code{@@syncodeindex} command to 8821redirect the function index entries into the concept index.@refill 8822@findex syncodeindex --- 131 unchanged lines hidden (view full) --- 8954 8955The @code{@@defcodeindex} is like the @code{@@defindex} command, except 8956that, in the printed output, it prints entries in an @code{@@code} font 8957instead of a roman font. Thus, it parallels the @code{@@findex} command 8958rather than the @code{@@cindex} command.@refill 8959 8960You should define new indices within or right after the end-of-header 8961line of a Texinfo file, before any @code{@@synindex} or | 8883@subsection @code{@@syncodeindex} 8884@findex syncodeindex 8885 8886When you want to combine functions and concepts into one index, you 8887should index the functions with @code{@@findex} and index the concepts 8888with @code{@@cindex}, and use the @code{@@syncodeindex} command to 8889redirect the function index entries into the concept index.@refill 8890@findex syncodeindex --- 131 unchanged lines hidden (view full) --- 9022 9023The @code{@@defcodeindex} is like the @code{@@defindex} command, except 9024that, in the printed output, it prints entries in an @code{@@code} font 9025instead of a roman font. Thus, it parallels the @code{@@findex} command 9026rather than the @code{@@cindex} command.@refill 9027 9028You should define new indices within or right after the end-of-header 9029line of a Texinfo file, before any @code{@@synindex} or |
8962@code{@@syncodeindex} commands (@pxref{Header}).@refill | 9030@code{@@syncodeindex} commands (@pxref{Texinfo File Header}). |
8963 | 9031 |
9032 |
|
8964@node Insertions 8965@chapter Special Insertions 8966@cindex Inserting special characters and symbols 8967@cindex Special insertions 8968 8969Texinfo provides several commands for inserting characters that have 8970special meaning in Texinfo, such as braces, and for other graphic 8971elements that do not correspond to simple characters you can type. --- 51 unchanged lines hidden (view full) --- 9023 9024@menu 9025* Inserting An Atsign:: How to insert @samp{@@}. 9026* Inserting Braces:: How to insert @samp{@{} and @samp{@}}. 9027@end menu 9028 9029@node Inserting An Atsign, Inserting Braces, Braces Atsigns, Braces Atsigns 9030@subsection Inserting @samp{@@} with @@@@ | 9033@node Insertions 9034@chapter Special Insertions 9035@cindex Inserting special characters and symbols 9036@cindex Special insertions 9037 9038Texinfo provides several commands for inserting characters that have 9039special meaning in Texinfo, such as braces, and for other graphic 9040elements that do not correspond to simple characters you can type. --- 51 unchanged lines hidden (view full) --- 9092 9093@menu 9094* Inserting An Atsign:: How to insert @samp{@@}. 9095* Inserting Braces:: How to insert @samp{@{} and @samp{@}}. 9096@end menu 9097 9098@node Inserting An Atsign, Inserting Braces, Braces Atsigns, Braces Atsigns 9099@subsection Inserting @samp{@@} with @@@@ |
9031@findex @@ @r{(single @samp{@@})} | 9100@findex @@ @r{(literal @samp{@@})} |
9032 9033@code{@@@@} stands for a single @samp{@@} in either printed or Info 9034output. 9035 9036Do not put braces after an @code{@@@@} command. 9037 9038 9039@node Inserting Braces 9040@subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@} | 9101 9102@code{@@@@} stands for a single @samp{@@} in either printed or Info 9103output. 9104 9105Do not put braces after an @code{@@@@} command. 9106 9107 9108@node Inserting Braces 9109@subsection Inserting @samp{@{} and @samp{@}}with @@@{ and @@@} |
9041@findex @{ @r{(single @samp{@{})} 9042@findex @} @r{(single @samp{@}})} | 9110@findex @{ @r{(literal @samp{@{})} 9111@findex @} @r{(literal @samp{@}})} |
9043 9044@code{@@@{} stands for a single @samp{@{} in either printed or Info 9045output. 9046 9047@code{@@@}} stands for a single @samp{@}} in either printed or Info 9048output. 9049 9050Do not put braces after either an @code{@@@{} or an @code{@@@}} --- 208 unchanged lines hidden (view full) --- 9259 9260Here is a table with the commands Texinfo provides for inserting 9261floating accents. The commands with non-alphabetic names do not take 9262braces around their argument (which is taken to be the next character). 9263(Exception: @code{@@,} @emph{does} take braces around its argument.) 9264This is so as to make the source as convenient to type and read as 9265possible, since accented characters are very common in some languages. 9266 | 9112 9113@code{@@@{} stands for a single @samp{@{} in either printed or Info 9114output. 9115 9116@code{@@@}} stands for a single @samp{@}} in either printed or Info 9117output. 9118 9119Do not put braces after either an @code{@@@{} or an @code{@@@}} --- 208 unchanged lines hidden (view full) --- 9328 9329Here is a table with the commands Texinfo provides for inserting 9330floating accents. The commands with non-alphabetic names do not take 9331braces around their argument (which is taken to be the next character). 9332(Exception: @code{@@,} @emph{does} take braces around its argument.) 9333This is so as to make the source as convenient to type and read as 9334possible, since accented characters are very common in some languages. 9335 |
9267@findex " | 9336@findex " @r{(umlaut accent)} |
9268@cindex Umlaut accent | 9337@cindex Umlaut accent |
9269@findex ' | 9338@findex ' @r{(umlaut accent)} |
9270@cindex Acute accent | 9339@cindex Acute accent |
9271@findex = | 9340@findex = @r{(macron accent)} |
9272@cindex Macron accent | 9341@cindex Macron accent |
9273@findex ^ | 9342@findex ^ @r{(circumflex accent)} |
9274@cindex Circumflex accent | 9343@cindex Circumflex accent |
9275@findex ` | 9344@findex ` @r{(grave accent)} |
9276@cindex Grave accent | 9345@cindex Grave accent |
9277@findex ~ | 9346@findex ~ @r{(tilde accent)} |
9278@cindex Tilde accent | 9347@cindex Tilde accent |
9279@findex , | 9348@findex , @r{(cedilla accent)} |
9280@cindex Cedilla accent 9281@findex dotaccent 9282@cindex Dot accent | 9349@cindex Cedilla accent 9350@findex dotaccent 9351@cindex Dot accent |
9283@findex H | 9352@findex H @r{(Hungarian umlaut accent)} |
9284@cindex Hungarian umlaut accent 9285@findex ringaccent 9286@cindex Ring accent 9287@findex tieaccent 9288@cindex Tie-after accent | 9353@cindex Hungarian umlaut accent 9354@findex ringaccent 9355@cindex Ring accent 9356@findex tieaccent 9357@cindex Tie-after accent |
9289@findex u | 9358@findex u @r{(breve accent)} |
9290@cindex Breve accent 9291@findex ubaraccent 9292@cindex Underbar accent 9293@findex udotaccent 9294@cindex Underdot accent | 9359@cindex Breve accent 9360@findex ubaraccent 9361@cindex Underbar accent 9362@findex udotaccent 9363@cindex Underdot accent |
9295@findex v | 9364@findex v @r{(check accent)} |
9296@cindex Check accent 9297@multitable {@@questiondown@{@}} {Output} {macron/overbar accent} 9298@item Command @tab Output @tab What 9299@item @t{@@"o} @tab @"o @tab umlaut accent 9300@item @t{@@'o} @tab @'o @tab acute accent 9301@item @t{@@,@{c@}} @tab @,{c} @tab cedilla accent 9302@item @t{@@=o} @tab @=o @tab macron/overbar accent 9303@item @t{@@^o} @tab @^o @tab circumflex accent --- 230 unchanged lines hidden (view full) --- 9534(a + b)(a + b) = a^2 + 2ab + b^2 9535@end example 9536 9537Thus, the @code{@@math} command has no effect on the Info output. 9538 9539@code{@@math} implies @code{@@tex}. This not only makes it possible to 9540write superscripts and subscripts (as in the above example), but also 9541allows you to use any of the plain @TeX{} math control sequences. It's | 9365@cindex Check accent 9366@multitable {@@questiondown@{@}} {Output} {macron/overbar accent} 9367@item Command @tab Output @tab What 9368@item @t{@@"o} @tab @"o @tab umlaut accent 9369@item @t{@@'o} @tab @'o @tab acute accent 9370@item @t{@@,@{c@}} @tab @,{c} @tab cedilla accent 9371@item @t{@@=o} @tab @=o @tab macron/overbar accent 9372@item @t{@@^o} @tab @^o @tab circumflex accent --- 230 unchanged lines hidden (view full) --- 9603(a + b)(a + b) = a^2 + 2ab + b^2 9604@end example 9605 9606Thus, the @code{@@math} command has no effect on the Info output. 9607 9608@code{@@math} implies @code{@@tex}. This not only makes it possible to 9609write superscripts and subscripts (as in the above example), but also 9610allows you to use any of the plain @TeX{} math control sequences. It's |
9542simplest to use @samp{\} instead of @samp{@@} for these commands. As 9543in: | 9611conventional to use @samp{\} instead of @samp{@@} for these commands. 9612As in: |
9544@example 9545@@math@{\sin 2\pi \equiv \cos 3\pi@} 9546@end example 9547 9548@iftex 9549@noindent which looks like this in @TeX{}: 9550@display 9551@math{\sin 2\pi \equiv \cos 3\pi} 9552@end display 9553 9554@noindent and 9555@end iftex 9556@noindent which looks like the input in Info and HTML: 9557@example 9558\sin 2\pi \equiv \cos 3\pi 9559@end example 9560 | 9613@example 9614@@math@{\sin 2\pi \equiv \cos 3\pi@} 9615@end example 9616 9617@iftex 9618@noindent which looks like this in @TeX{}: 9619@display 9620@math{\sin 2\pi \equiv \cos 3\pi} 9621@end display 9622 9623@noindent and 9624@end iftex 9625@noindent which looks like the input in Info and HTML: 9626@example 9627\sin 2\pi \equiv \cos 3\pi 9628@end example 9629 |
9630@findex \ @r{(literal \ in @code{@@math})} 9631Since @samp{\} is an escape character inside @code{@@math}, you can use 9632@code{@@\} to get a literal backslash (@code{\\} will work in @TeX{}, 9633but you'll get the literal @samp{\\} in Info). @code{@@\} is not 9634defined outside of @code{@@math}, since a @samp{\} ordinarily produces a 9635literal @samp{\}. 9636 9637 |
|
9561@cindex Displayed equations 9562@cindex Equations, displayed 9563For displayed equations, you must at present use @TeX{} directly 9564(@pxref{Raw Formatter Commands}). 9565 9566 9567@node Glyphs 9568@section Glyphs for Examples --- 797 unchanged lines hidden (view full) --- 10366refilled after the line break occurs, negating the effect of the line 10367break.@refill 10368@end quotation 10369 10370 10371@node - and hyphenation 10372@section @code{@@-} and @code{@@hyphenation}: Helping @TeX{} hyphenate 10373 | 9638@cindex Displayed equations 9639@cindex Equations, displayed 9640For displayed equations, you must at present use @TeX{} directly 9641(@pxref{Raw Formatter Commands}). 9642 9643 9644@node Glyphs 9645@section Glyphs for Examples --- 797 unchanged lines hidden (view full) --- 10443refilled after the line break occurs, negating the effect of the line 10444break.@refill 10445@end quotation 10446 10447 10448@node - and hyphenation 10449@section @code{@@-} and @code{@@hyphenation}: Helping @TeX{} hyphenate 10450 |
10374@findex - | 10451@findex - @r{(discretionary hyphen)} |
10375@findex hyphenation 10376@cindex Hyphenation, helping @TeX{} do 10377@cindex Fine-tuning, and hyphenation 10378 10379Although @TeX{}'s hyphenation algorithm is generally pretty good, it 10380does miss useful hyphenation points from time to time. (Or, far more 10381rarely, insert an incorrect hyphenation.) So, for documents with an 10382unusual vocabulary or when fine-tuning for a printed edition, you may 10383wish to help @TeX{} out. Texinfo supports two commands for this: 10384 10385@table @code 10386@item @@- 10387Insert a discretionary hyphen, i.e., a place where @TeX{} can (but does | 10452@findex hyphenation 10453@cindex Hyphenation, helping @TeX{} do 10454@cindex Fine-tuning, and hyphenation 10455 10456Although @TeX{}'s hyphenation algorithm is generally pretty good, it 10457does miss useful hyphenation points from time to time. (Or, far more 10458rarely, insert an incorrect hyphenation.) So, for documents with an 10459unusual vocabulary or when fine-tuning for a printed edition, you may 10460wish to help @TeX{} out. Texinfo supports two commands for this: 10461 10462@table @code 10463@item @@- 10464Insert a discretionary hyphen, i.e., a place where @TeX{} can (but does |
10388not have to) hyphenate. This is especially useful when you notice 10389an overfull hbox is due to @TeX{} missing a hyphenation (@pxref{Overfull 10390hboxes}). @TeX{} will not insert any hyphenation points in a word 10391containing @code{@@-}. | 10465not have to) hyphenate. This is especially useful when you notice an 10466overfull hbox is due to @TeX{} missing a hyphenation (@pxref{Overfull 10467hboxes}). @TeX{} will not insert any hyphenation points itself into a 10468word containing @code{@@-}. |
10392 10393@item @@hyphenation@{@var{hy-phen-a-ted words}@} 10394Tell @TeX{} how to hyphenate @var{hy-phen-a-ted words}. As shown, you 10395put a @samp{-} at each hyphenation point. For example: 10396@example 10397@@hyphenation@{man-u-script man-u-scripts@} 10398@end example 10399@noindent @TeX{} only uses the specified hyphenation points when the --- 1340 unchanged lines hidden (view full) --- 11740 all output formats); and how to set a 11741 flag to a string that you can insert. 11742@end menu 11743 11744 11745@node Conditional Commands 11746@section Conditional Commands 11747 | 10469 10470@item @@hyphenation@{@var{hy-phen-a-ted words}@} 10471Tell @TeX{} how to hyphenate @var{hy-phen-a-ted words}. As shown, you 10472put a @samp{-} at each hyphenation point. For example: 10473@example 10474@@hyphenation@{man-u-script man-u-scripts@} 10475@end example 10476@noindent @TeX{} only uses the specified hyphenation points when the --- 1340 unchanged lines hidden (view full) --- 11817 all output formats); and how to set a 11818 flag to a string that you can insert. 11819@end menu 11820 11821 11822@node Conditional Commands 11823@section Conditional Commands 11824 |
11825Texinfo has a pair of commands for each output format, to allow 11826conditional inclusion of text for a particular output format. 11827 |
|
11748@findex ifinfo 11749@code{@@ifinfo} begins segments of text that should be ignored by @TeX{} 11750when it typesets the printed manual. The segment of text appears only | 11828@findex ifinfo 11829@code{@@ifinfo} begins segments of text that should be ignored by @TeX{} 11830when it typesets the printed manual. The segment of text appears only |
11751in the Info file. The @code{@@ifinfo} command should appear on a line 11752by itself; end the Info-only text with a line containing @code{@@end 11753ifinfo} by itself. At the beginning of a Texinfo file, the Info 11754permissions are contained within a region marked by @code{@@ifinfo} and 11755@code{@@end ifinfo}. (@xref{Info Summary and Permissions}.) | 11831in the Info file and (for historical compatibility) the plain text 11832output. The @code{@@ifinfo} command should appear on a line by itself; 11833end the Info-only text with a line containing @code{@@end ifinfo} by 11834itself. |
11756 11757@findex iftex 11758@findex ifhtml | 11835 11836@findex iftex 11837@findex ifhtml |
11759The @code{@@iftex} and @code{@@end iftex} commands are similar to the 11760@code{@@ifinfo} and @code{@@end ifinfo} commands, except that they 11761specify text that will appear in the printed manual but not in the Info 11762file. Likewise for @code{@@ifhtml} and @code{@@end ifhtml}, which 11763specify text to appear only in HTML output.@refill | 11838@findex ifplaintext 11839The @code{@@iftex} and @code{@@end iftex} commands are analogous to the 11840@code{@@ifinfo} and @code{@@end ifinfo} commands; they specify text that 11841will appear in the printed manual but not in the Info file. Likewise 11842for @code{@@ifhtml} and @code{@@end ifhtml}, which specify text to 11843appear only in HTML output. And for @code{@@ifplaintext} and 11844@code{@@end ifplaintext}, which specify text to appear only in plain 11845text output. |
11764 11765For example, 11766 11767@example 11768@@iftex 11769This text will appear only in the printed manual. 11770@@end iftex 11771@@ifinfo | 11846 11847For example, 11848 11849@example 11850@@iftex 11851This text will appear only in the printed manual. 11852@@end iftex 11853@@ifinfo |
11772However, this text will appear only in Info. | 11854However, this text will appear only in Info (or plain text). |
11773@@end ifinfo 11774@@ifhtml 11775And this text will only appear in HTML. 11776@@end ifhtml | 11855@@end ifinfo 11856@@ifhtml 11857And this text will only appear in HTML. 11858@@end ifhtml |
11859@@ifplaintext 11860Whereas this text will only appear in plain text. 11861@@end ifplaintext |
|
11777@end example 11778 11779@noindent 11780The preceding example produces the following line: 11781@iftex 11782This text will appear only in the printed manual. 11783@end iftex 11784@ifinfo | 11862@end example 11863 11864@noindent 11865The preceding example produces the following line: 11866@iftex 11867This text will appear only in the printed manual. 11868@end iftex 11869@ifinfo |
11785However, this text will appear only in Info. | 11870However, this text will appear only in Info (or plain text). |
11786@end ifinfo 11787@ifhtml 11788And this text will only appear in HTML. 11789@end ifhtml | 11871@end ifinfo 11872@ifhtml 11873And this text will only appear in HTML. 11874@end ifhtml |
11875@ifplaintext 11876Whereas this text will only appear in plain text. 11877@end ifplaintext |
|
11790 11791@noindent 11792Notice that you only see one of the input lines, depending on which 11793version of the manual you are reading. 11794 11795 11796@node Conditional Not Commands 11797@section Conditional Not Commands 11798@findex ifnothtml 11799@findex ifnotinfo | 11878 11879@noindent 11880Notice that you only see one of the input lines, depending on which 11881version of the manual you are reading. 11882 11883 11884@node Conditional Not Commands 11885@section Conditional Not Commands 11886@findex ifnothtml 11887@findex ifnotinfo |
11888@findex ifnotplaintext |
|
11800@findex ifnottex 11801 11802You can specify text to be included in any output format @emph{other} 11803than some given one with the @code{@@ifnot@dots{}} commands: 11804@example 11805@@ifnothtml @dots{} @@end ifnothtml 11806@@ifnotinfo @dots{} @@end ifnotinfo | 11889@findex ifnottex 11890 11891You can specify text to be included in any output format @emph{other} 11892than some given one with the @code{@@ifnot@dots{}} commands: 11893@example 11894@@ifnothtml @dots{} @@end ifnothtml 11895@@ifnotinfo @dots{} @@end ifnotinfo |
11896@@ifnotplaintext @dots{} @@end ifnotplaintext |
|
11807@@ifnottex @dots{} @@end ifnottex 11808@end example 11809@noindent 11810(The @code{@@ifnot@dots{}} command and the @code{@@end} command must | 11897@@ifnottex @dots{} @@end ifnottex 11898@end example 11899@noindent 11900(The @code{@@ifnot@dots{}} command and the @code{@@end} command must |
11811actually appear on lines by themselves.) | 11901appear on lines by themselves in your actual source file.) |
11812 | 11902 |
11813If the output file is not being made for the given format, the region is 11814included. Otherwise, it is ignored. | 11903If the output file is @emph{not} being made for the given format, the 11904region is included. Otherwise, it is ignored. |
11815 | 11905 |
11906With one exception (for historical compatibility): @code{@@ifnotinfo} 11907text is omitted for both Info and plain text output, not just Info. To 11908specify text which appears only in Info and not in plain text, use 11909@code{@@ifnotplaintext}, like this: 11910@example 11911@ifinfo 11912@ifnotplaintext 11913This will be in Info, but not plain text. 11914@end ifnotplaintext 11915@end ifinfo 11916@end example 11917 |
|
11816The regions delimited by these commands are ordinary Texinfo source as 11817with @code{@@iftex}, not raw formatter source as with @code{@@tex} 11818(@pxref{Raw Formatter Commands}). 11819 11820 11821@node Raw Formatter Commands 11822@section Raw Formatter Commands 11823@cindex @TeX{} commands, using ordinary --- 251 unchanged lines hidden (view full) --- 12075@@ifclear @var{flag} 12076@end example 12077 12078 12079@node value Example 12080@subsection @code{@@value} Example 12081 12082You can use the @code{@@value} command to minimize the number of places | 11918The regions delimited by these commands are ordinary Texinfo source as 11919with @code{@@iftex}, not raw formatter source as with @code{@@tex} 11920(@pxref{Raw Formatter Commands}). 11921 11922 11923@node Raw Formatter Commands 11924@section Raw Formatter Commands 11925@cindex @TeX{} commands, using ordinary --- 251 unchanged lines hidden (view full) --- 12177@@ifclear @var{flag} 12178@end example 12179 12180 12181@node value Example 12182@subsection @code{@@value} Example 12183 12184You can use the @code{@@value} command to minimize the number of places |
12083you need to change when you record an update to a manual. Here is how 12084it is done in @cite{The GNU Make Manual}: | 12185you need to change when you record an update to a manual. @xref{GNU 12186Sample Texts}, for an example of this same principle can work with 12187Automake distributions, and full texts. |
12085 | 12188 |
12189Here is an example adapted from @ref{Top,, Overview, make, The GNU Make 12190Manual}): 12191 |
|
12086@enumerate 12087@item 12088Set the flags: 12089 12090@example 12091@group 12092@@set EDITION 0.35 Beta 12093@@set VERSION 3.63 Beta 12094@@set UPDATED 14 August 1992 12095@@set UPDATE-MONTH August 1992 12096@end group 12097@end example 12098 12099@item | 12192@enumerate 12193@item 12194Set the flags: 12195 12196@example 12197@group 12198@@set EDITION 0.35 Beta 12199@@set VERSION 3.63 Beta 12200@@set UPDATED 14 August 1992 12201@@set UPDATE-MONTH August 1992 12202@end group 12203@end example 12204 12205@item |
12100Write text for the first @code{@@ifinfo} section, for people reading the 12101Texinfo file: | 12206Write text for the @code{@@copying} section (@pxref{copying}): |
12102 12103@example 12104@group | 12207 12208@example 12209@group |
12210@@copying |
|
12105This is Edition @@value@{EDITION@}, 12106last updated @@value@{UPDATED@}, 12107of @@cite@{The GNU Make Manual@}, 12108for @@code@{make@}, version @@value@{VERSION@}. | 12211This is Edition @@value@{EDITION@}, 12212last updated @@value@{UPDATED@}, 12213of @@cite@{The GNU Make Manual@}, 12214for @@code@{make@}, version @@value@{VERSION@}. |
12215 12216Copyright @dots{} 12217 12218Permission is granted @dots{} 12219@@end copying |
|
12109@end group 12110@end example 12111 12112@item 12113Write text for the title page, for people reading the printed manual: | 12220@end group 12221@end example 12222 12223@item 12224Write text for the title page, for people reading the printed manual: |
12114@c List only the month and the year since that looks less fussy on a 12115@c printed cover than a date that lists the day as well. | |
12116 12117@example 12118@group | 12225 12226@example 12227@group |
12228@@titlepage |
|
12119@@title GNU Make 12120@@subtitle A Program for Directing Recompilation 12121@@subtitle Edition @@value@{EDITION@}, @dots{} 12122@@subtitle @@value@{UPDATE-MONTH@} | 12229@@title GNU Make 12230@@subtitle A Program for Directing Recompilation 12231@@subtitle Edition @@value@{EDITION@}, @dots{} 12232@@subtitle @@value@{UPDATE-MONTH@} |
12233@@page 12234@@insertcopying 12235@dots{} 12236@@end titlepage |
|
12123@end group 12124@end example 12125 12126@noindent 12127(On a printed cover, a date listing the month and the year looks less 12128fussy than a date listing the day as well as the month and year.) 12129 12130@item 12131Write text for the Top node, for people reading the Info file: 12132 12133@example 12134@group | 12237@end group 12238@end example 12239 12240@noindent 12241(On a printed cover, a date listing the month and the year looks less 12242fussy than a date listing the day as well as the month and year.) 12243 12244@item 12245Write text for the Top node, for people reading the Info file: 12246 12247@example 12248@group |
12135This is Edition @@value@{EDITION@} 12136of the @@cite@{GNU Make Manual@}, 12137last updated @@value@{UPDATED@} 12138for @@code@{make@} Version @@value@{VERSION@}. | 12249@@ifnottex 12250@@node Top 12251@@top Make 12252 12253@@insertcopying 12254@dots{} 12255@@end ifnottex |
12139@end group 12140@end example 12141 | 12256@end group 12257@end example 12258 |
12142After you format the manual, the text in the first @code{@@ifinfo} 12143section looks like this: | 12259After you format the manual, the @code{@@value} constructs have been 12260expanded, so the output contains text like this: |
12144 12145@example 12146@group 12147This is Edition 0.35 Beta, last updated 14 August 1992, 12148of `The GNU Make Manual', for `make', Version 3.63 Beta. 12149@end group 12150@end example 12151@end enumerate 12152 | 12261 12262@example 12263@group 12264This is Edition 0.35 Beta, last updated 14 August 1992, 12265of `The GNU Make Manual', for `make', Version 3.63 Beta. 12266@end group 12267@end example 12268@end enumerate 12269 |
12153When you update the manual, change only the values of the flags; you do 12154not need to edit the three sections. | 12270When you update the manual, you change only the values of the flags; you 12271do not need to edit the three sections. |
12155 12156 12157@node Internationalization 12158@chapter Internationalization 12159 12160@cindex Internationalization 12161Texinfo has some support for writing in languages other than English, 12162although this area still needs considerable work. --- 492 unchanged lines hidden (view full) --- 12655always work. 12656 12657@item 12658The @TeX{} implementation cannot construct macros that define macros in 12659the natural way. To do this, you must use conditionals and raw @TeX{}. 12660For example: 12661 12662@example | 12272 12273 12274@node Internationalization 12275@chapter Internationalization 12276 12277@cindex Internationalization 12278Texinfo has some support for writing in languages other than English, 12279although this area still needs considerable work. --- 492 unchanged lines hidden (view full) --- 12772always work. 12773 12774@item 12775The @TeX{} implementation cannot construct macros that define macros in 12776the natural way. To do this, you must use conditionals and raw @TeX{}. 12777For example: 12778 12779@example |
12663@@ifinfo | 12780@@ifnottex |
12664@@macro ctor @{name, arg@} 12665@@macro \name\ 12666something involving \arg\ somehow 12667@@end macro 12668@@end macro | 12781@@macro ctor @{name, arg@} 12782@@macro \name\ 12783something involving \arg\ somehow 12784@@end macro 12785@@end macro |
12669@@end ifinfo | 12786@@end ifnottex |
12670@@tex 12671\gdef\ctor#1@{\ctorx#1,@} 12672\gdef\ctorx#1,#2,@{\def#1@{something involving #2 somehow@}@} 12673@@end tex 12674@end example 12675 12676@item 12677It is best to avoid comments inside macro definitions. --- 549 unchanged lines hidden (view full) --- 13227 13228You can change the values of these variables with the @kbd{M-x 13229edit-options} command (@pxref{Edit Options, , Editing Variable Values, 13230emacs, The GNU Emacs Manual}), with the @kbd{M-x set-variable} command 13231(@pxref{Examining, , Examining and Setting Variables, emacs, The GNU 13232Emacs Manual}), or with your @file{.emacs} initialization file 13233(@pxref{Init File, , , emacs, The GNU Emacs Manual}).@refill 13234 | 12787@@tex 12788\gdef\ctor#1@{\ctorx#1,@} 12789\gdef\ctorx#1,#2,@{\def#1@{something involving #2 somehow@}@} 12790@@end tex 12791@end example 12792 12793@item 12794It is best to avoid comments inside macro definitions. --- 549 unchanged lines hidden (view full) --- 13344 13345You can change the values of these variables with the @kbd{M-x 13346edit-options} command (@pxref{Edit Options, , Editing Variable Values, 13347emacs, The GNU Emacs Manual}), with the @kbd{M-x set-variable} command 13348(@pxref{Examining, , Examining and Setting Variables, emacs, The GNU 13349Emacs Manual}), or with your @file{.emacs} initialization file 13350(@pxref{Init File, , , emacs, The GNU Emacs Manual}).@refill 13351 |
13235@cindex Customize Emacs package 13236@findex Development/Docs/Texinfo Customize group | 13352@cindex Customize Emacs package (@t{Development/Docs/Texinfo}) |
13237Beginning with version 20, GNU Emacs offers a user-friendly interface, 13238called @dfn{Customize}, for changing values of user-definable variables. 13239@xref{Easy Customization, , Easy Customization Interface, emacs, The GNU 13240Emacs Manual}, for more details about this. The Texinfo variables can 13241be found in the @samp{Development/Docs/Texinfo} group, once you invoke 13242the @kbd{M-x customize} command. 13243 13244 | 13353Beginning with version 20, GNU Emacs offers a user-friendly interface, 13354called @dfn{Customize}, for changing values of user-definable variables. 13355@xref{Easy Customization, , Easy Customization Interface, emacs, The GNU 13356Emacs Manual}, for more details about this. The Texinfo variables can 13357be found in the @samp{Development/Docs/Texinfo} group, once you invoke 13358the @kbd{M-x customize} command. 13359 13360 |
13245@node Compile-Command, Requirements Summary, Texinfo Mode Printing, Hardcopy | 13361@node Compile-Command |
13246@section Using the Local Variables List 13247@cindex Local variables 13248@cindex Compile command for formatting 13249@cindex Format with the compile command 13250 13251Yet another way to apply the @TeX{} formatting command to a Texinfo file 13252is to put that command in a @dfn{local variables list} at the end of the 13253Texinfo file. You can then specify the @code{tex} or @code{texi2dvi} --- 384 unchanged lines hidden (view full) --- 13638sheet of film; but you can attempt to use it to mark the corners of a 13639book set to 7 by 9.25 inches with the @code{@@smallbook} command. 13640(Printers will not produce cropmarks for regular sized output that is 13641printed on regular sized paper.) Since different printing machines work 13642in different ways, you should explore the use of this command with a 13643spirit of adventure. You may have to redefine the command in 13644@file{texinfo.tex}. 13645 | 13362@section Using the Local Variables List 13363@cindex Local variables 13364@cindex Compile command for formatting 13365@cindex Format with the compile command 13366 13367Yet another way to apply the @TeX{} formatting command to a Texinfo file 13368is to put that command in a @dfn{local variables list} at the end of the 13369Texinfo file. You can then specify the @code{tex} or @code{texi2dvi} --- 384 unchanged lines hidden (view full) --- 13754sheet of film; but you can attempt to use it to mark the corners of a 13755book set to 7 by 9.25 inches with the @code{@@smallbook} command. 13756(Printers will not produce cropmarks for regular sized output that is 13757printed on regular sized paper.) Since different printing machines work 13758in different ways, you should explore the use of this command with a 13759spirit of adventure. You may have to redefine the command in 13760@file{texinfo.tex}. 13761 |
13646@findex mag @r{(@TeX{} command)} | 13762@findex \mag @r{(raw @TeX{} magnification)} |
13647@cindex Magnified printing 13648@cindex Larger or smaller pages 13649You can attempt to direct @TeX{} to typeset pages larger or smaller than 13650usual with the @code{\mag} @TeX{} command. Everything that is typeset 13651is scaled proportionally larger or smaller. (@code{\mag} stands for 13652``magnification''.) This is @emph{not} a Texinfo @@-command, but is a 13653plain @TeX{} command that is prefixed with a backslash. You have to 13654write this command between @code{@@tex} and @code{@@end tex} --- 54 unchanged lines hidden (view full) --- 13709@node Creating and Installing Info Files 13710@chapter Creating and Installing Info Files 13711 13712This chapter describes how to create and install Info files. @xref{Info 13713Files}, for general information about the file format itself. 13714 13715@menu 13716* Creating an Info File:: | 13763@cindex Magnified printing 13764@cindex Larger or smaller pages 13765You can attempt to direct @TeX{} to typeset pages larger or smaller than 13766usual with the @code{\mag} @TeX{} command. Everything that is typeset 13767is scaled proportionally larger or smaller. (@code{\mag} stands for 13768``magnification''.) This is @emph{not} a Texinfo @@-command, but is a 13769plain @TeX{} command that is prefixed with a backslash. You have to 13770write this command between @code{@@tex} and @code{@@end tex} --- 54 unchanged lines hidden (view full) --- 13825@node Creating and Installing Info Files 13826@chapter Creating and Installing Info Files 13827 13828This chapter describes how to create and install Info files. @xref{Info 13829Files}, for general information about the file format itself. 13830 13831@menu 13832* Creating an Info File:: |
13717* Installing an Info File:: | 13833* Installing an Info File:: |
13718@end menu 13719 13720 13721@node Creating an Info File 13722@section Creating an Info File 13723@cindex Creating an Info file 13724@cindex Info, creating an online file 13725@cindex Formatting a file for Info --- 63 unchanged lines hidden (view full) --- 13789makeinfo --version 13790@end example 13791 13792@xref{makeinfo options}, for more information. 13793@end ifinfo 13794 13795 13796@node makeinfo options | 13834@end menu 13835 13836 13837@node Creating an Info File 13838@section Creating an Info File 13839@cindex Creating an Info file 13840@cindex Info, creating an online file 13841@cindex Formatting a file for Info --- 63 unchanged lines hidden (view full) --- 13905makeinfo --version 13906@end example 13907 13908@xref{makeinfo options}, for more information. 13909@end ifinfo 13910 13911 13912@node makeinfo options |
13797@comment node-name, next, previous, up | |
13798@subsection Options for @code{makeinfo} 13799@cindex @code{makeinfo} options 13800@cindex Options for @code{makeinfo} 13801 13802The @code{makeinfo} command takes a number of options. Most often, 13803options are used to set the value of the fill column and specify the 13804footnote style. Each command line option is a word preceded by 13805@samp{--} or a letter preceded by @samp{-}. You can use abbreviations --- 109 unchanged lines hidden (view full) --- 13915that does not support @code{@@macro}. 13916 13917@item --no-headers 13918@opindex --no-headers 13919@cindex Plain text output 13920@cindex ASCII text output 13921@cindex Generating plain text files 13922@cindex @file{INSTALL} file, generating | 13913@subsection Options for @code{makeinfo} 13914@cindex @code{makeinfo} options 13915@cindex Options for @code{makeinfo} 13916 13917The @code{makeinfo} command takes a number of options. Most often, 13918options are used to set the value of the fill column and specify the 13919footnote style. Each command line option is a word preceded by 13920@samp{--} or a letter preceded by @samp{-}. You can use abbreviations --- 109 unchanged lines hidden (view full) --- 14030that does not support @code{@@macro}. 14031 14032@item --no-headers 14033@opindex --no-headers 14034@cindex Plain text output 14035@cindex ASCII text output 14036@cindex Generating plain text files 14037@cindex @file{INSTALL} file, generating |
13923For Info output, do not include menus or node lines in the output and 13924write to standard output (unless @option{--output} is specified). This 13925results in an @sc{ascii} file that you cannot read in Info since it does 13926not contain the requisite nodes or menus. It is primarily useful to 13927extract certain pieces of a manual into separate files to be included in 13928a distribution, such as @file{INSTALL} files. | 14038@cindex Node separators, omitting 14039@cindex Menus, omitting 14040For Info output, do not include menus or node separator lines in the 14041output. This results in a simple plain text file that you can (for 14042example) send in email without complications, or include in a 14043distribution (as in an @file{INSTALL} file). |
13929 13930@cindex Navigation links, omitting | 14044 14045@cindex Navigation links, omitting |
13931For HTML output, if @samp{--no-split} is also specified, do not include a 13932navigation links at the top of each node. @xref{makeinfo html}. | 14046For HTML output, likewise omit menus. And if @samp{--no-split} is also 14047specified, do not include a navigation links at the top of each node 14048(these are never included in the default case of split output). 14049@xref{makeinfo html}. |
13933 | 14050 |
14051In both cases, write to standard output by default (can still be 14052overridden by @option{-o}). 14053 |
|
13934@item --no-split 13935@opindex --no-split 13936@cindex Splitting of output files 13937@cindex Output file splitting 13938Suppress the splitting stage of @code{makeinfo}. By default, large 13939output files (where the size is greater than 70k bytes) are split into 13940smaller subfiles. For Info output, each one is approximately 50k bytes. 13941For HTML output, each file contains one node (@pxref{makeinfo html}). --- 475 unchanged lines hidden (view full) --- 14417which have special significance in HTML). 14418 14419The @samp{--footnote-style} option is currently ignored for HTML output; 14420footnotes are linked to the end of the output file. 14421 14422The HTML generated is mostly standard (i.e., HTML 2.0, RFC-1866). The 14423exception is that HTML 3.2 tables are generated from the 14424@code{@@multitable} command, but tagged to degrade as well as possible | 14054@item --no-split 14055@opindex --no-split 14056@cindex Splitting of output files 14057@cindex Output file splitting 14058Suppress the splitting stage of @code{makeinfo}. By default, large 14059output files (where the size is greater than 70k bytes) are split into 14060smaller subfiles. For Info output, each one is approximately 50k bytes. 14061For HTML output, each file contains one node (@pxref{makeinfo html}). --- 475 unchanged lines hidden (view full) --- 14537which have special significance in HTML). 14538 14539The @samp{--footnote-style} option is currently ignored for HTML output; 14540footnotes are linked to the end of the output file. 14541 14542The HTML generated is mostly standard (i.e., HTML 2.0, RFC-1866). The 14543exception is that HTML 3.2 tables are generated from the 14544@code{@@multitable} command, but tagged to degrade as well as possible |
14425in browsers without table support. Please report output from an 14426error-free run of @code{makeinfo} which violates the @w{HTML 3.2} DTD as 14427a bug. | 14545in browsers without table support. The HTML 4 @samp{lang} attribute on 14546the @samp{<html>} attribute is also used. Please report output from an 14547error-free run of @code{makeinfo} which has browser portability problems 14548as a bug. |
14428 14429Navigation bars are inserted at the start of nodes, similarly to Info 14430output. The @samp{--no-headers} option will suppress this if used with 14431@samp{--no-split}. Header @code{<link>} elements in split output can 14432support info-like navigation with browsers like Lynx and @w{Emacs W3} 14433which implement this @w{HTML 1.0} feature. @samp{@@xref} commands to 14434other documents are generated assuming the other document is available 14435in split HTML form, and installed in the same HTML documentation tree, --- 7 unchanged lines hidden (view full) --- 14443@cindex @file{dir} directory for Info installation 14444 14445Info files are usually kept in the @file{info} directory. You can read 14446Info files using the standalone Info program or the Info reader built 14447into Emacs. (@inforef{Top, info, info}, for an introduction to Info.) 14448 14449@menu 14450* Directory File:: The top level menu for all Info files. | 14549 14550Navigation bars are inserted at the start of nodes, similarly to Info 14551output. The @samp{--no-headers} option will suppress this if used with 14552@samp{--no-split}. Header @code{<link>} elements in split output can 14553support info-like navigation with browsers like Lynx and @w{Emacs W3} 14554which implement this @w{HTML 1.0} feature. @samp{@@xref} commands to 14555other documents are generated assuming the other document is available 14556in split HTML form, and installed in the same HTML documentation tree, --- 7 unchanged lines hidden (view full) --- 14564@cindex @file{dir} directory for Info installation 14565 14566Info files are usually kept in the @file{info} directory. You can read 14567Info files using the standalone Info program or the Info reader built 14568into Emacs. (@inforef{Top, info, info}, for an introduction to Info.) 14569 14570@menu 14571* Directory File:: The top level menu for all Info files. |
14451* New Info File:: Listing a new info file. | 14572* New Info File:: Listing a new Info file. |
14452* Other Info Directories:: How to specify Info files that are 14453 located in other directories. 14454* Installing Dir Entries:: How to specify what menu entry to add 14455 to the Info directory. 14456* Invoking install-info:: @code{install-info} options. 14457@end menu 14458 14459 --- 223 unchanged lines hidden (view full) --- 14683 14684When you install an Info file onto your system, you can use the program 14685@code{install-info} to update the Info directory file @file{dir}. 14686Normally the makefile for the package runs @code{install-info}, just 14687after copying the Info file into its proper installed location. 14688 14689@findex dircategory 14690@findex direntry | 14573* Other Info Directories:: How to specify Info files that are 14574 located in other directories. 14575* Installing Dir Entries:: How to specify what menu entry to add 14576 to the Info directory. 14577* Invoking install-info:: @code{install-info} options. 14578@end menu 14579 14580 --- 223 unchanged lines hidden (view full) --- 14804 14805When you install an Info file onto your system, you can use the program 14806@code{install-info} to update the Info directory file @file{dir}. 14807Normally the makefile for the package runs @code{install-info}, just 14808after copying the Info file into its proper installed location. 14809 14810@findex dircategory 14811@findex direntry |
14691In order for the Info file to work with @code{install-info}, you should 14692use the commands @code{@@dircategory} and | 14812In order for the Info file to work with @code{install-info}, you include 14813the commands @code{@@dircategory} and |
14693@code{@@direntry}@dots{}@code{@@end direntry} in the Texinfo source 14694file. Use @code{@@direntry} to specify the menu entries to add to the 14695Info directory file, and use @code{@@dircategory} to specify which part 14696of the Info directory to put it in. Here is how these commands are used 14697in this manual: 14698 14699@smallexample 14700@@dircategory Texinfo documentation system --- 31 unchanged lines hidden (view full) --- 14732Here are some recommended @code{@@dircategory} categories: 14733 14734@display 14735GNU packages 14736GNU programming tools 14737GNU programming documentation 14738GNU Emacs Lisp 14739GNU libraries | 14814@code{@@direntry}@dots{}@code{@@end direntry} in the Texinfo source 14815file. Use @code{@@direntry} to specify the menu entries to add to the 14816Info directory file, and use @code{@@dircategory} to specify which part 14817of the Info directory to put it in. Here is how these commands are used 14818in this manual: 14819 14820@smallexample 14821@@dircategory Texinfo documentation system --- 31 unchanged lines hidden (view full) --- 14853Here are some recommended @code{@@dircategory} categories: 14854 14855@display 14856GNU packages 14857GNU programming tools 14858GNU programming documentation 14859GNU Emacs Lisp 14860GNU libraries |
14740Linux | |
14741TeX 14742Individual utilities 14743@end display 14744 14745The idea is to include the `Invoking' node for every program installed 14746by a package under `Individual utilities', and an entry for the manual 14747as a whole in the appropriate other category. 14748 --- 135 unchanged lines hidden (view full) --- 14884 14885@item @@" 14886@itemx @@' 14887Generate an umlaut or acute accent, respectively, over the next 14888character, as in @"o and @'o. @xref{Inserting Accents}. 14889 14890@item @@* 14891Force a line break. Do not end a paragraph that uses @code{@@*} with | 14861TeX 14862Individual utilities 14863@end display 14864 14865The idea is to include the `Invoking' node for every program installed 14866by a package under `Individual utilities', and an entry for the manual 14867as a whole in the appropriate other category. 14868 --- 135 unchanged lines hidden (view full) --- 15004 15005@item @@" 15006@itemx @@' 15007Generate an umlaut or acute accent, respectively, over the next 15008character, as in @"o and @'o. @xref{Inserting Accents}. 15009 15010@item @@* 15011Force a line break. Do not end a paragraph that uses @code{@@*} with |
14892an @code{@@refill} command. @xref{Line Breaks}.@refill | 15012an @code{@@refill} command. @xref{Line Breaks}. |
14893 14894@item @@,@{@var{c}@} 14895Generate a cedilla accent under @var{c}, as in @,{c}. @xref{Inserting 14896Accents}. 14897 14898@item @@- 14899Insert a discretionary hyphenation point. @xref{- and hyphenation}. 14900 --- 15 unchanged lines hidden (view full) --- 14916@item @@? 14917Generate a question mark that really does end a sentence (usually after 14918an end-of-sentence capital letter). @xref{Ending a Sentence}. 14919 14920@item @@@@ 14921Stands for an at sign, @samp{@@}. 14922@xref{Braces Atsigns, , Inserting @@ and braces}. 14923 | 15013 15014@item @@,@{@var{c}@} 15015Generate a cedilla accent under @var{c}, as in @,{c}. @xref{Inserting 15016Accents}. 15017 15018@item @@- 15019Insert a discretionary hyphenation point. @xref{- and hyphenation}. 15020 --- 15 unchanged lines hidden (view full) --- 15036@item @@? 15037Generate a question mark that really does end a sentence (usually after 15038an end-of-sentence capital letter). @xref{Ending a Sentence}. 15039 15040@item @@@@ 15041Stands for an at sign, @samp{@@}. 15042@xref{Braces Atsigns, , Inserting @@ and braces}. 15043 |
15044@item @@\ 15045Stands for a backslash (@samp{\}) inside @code{@@math}. 15046@xref{math,,@code{math}}. 15047 |
|
14924@item @@^ 14925@itemx @@` 14926Generate a circumflex (hat) or grave accent, respectively, over the next | 15048@item @@^ 15049@itemx @@` 15050Generate a circumflex (hat) or grave accent, respectively, over the next |
14927character, as in @^o. | 15051character, as in @^o and @`e. |
14928@xref{Inserting Accents}. 14929 14930@item @@@{ 14931Stands for a left brace, @samp{@{}. 14932@xref{Braces Atsigns, , Inserting @@ and braces}. 14933 14934@item @@@} 14935Stands for a right-hand brace, @samp{@}}.@* --- 376 unchanged lines hidden (view full) --- 15312 15313@item @@error@{@} 15314Indicate to the reader with a glyph that the following text is 15315an error message: @samp{@error{}}. @xref{Error Glyph}.@refill 15316 15317@item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 15318@itemx @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 15319Specify page footings resp.@: headings for even-numbered (left-hand) | 15052@xref{Inserting Accents}. 15053 15054@item @@@{ 15055Stands for a left brace, @samp{@{}. 15056@xref{Braces Atsigns, , Inserting @@ and braces}. 15057 15058@item @@@} 15059Stands for a right-hand brace, @samp{@}}.@* --- 376 unchanged lines hidden (view full) --- 15436 15437@item @@error@{@} 15438Indicate to the reader with a glyph that the following text is 15439an error message: @samp{@error{}}. @xref{Error Glyph}.@refill 15440 15441@item @@evenfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 15442@itemx @@evenheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 15443Specify page footings resp.@: headings for even-numbered (left-hand) |
15320pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, , | 15444pages. @xref{Custom Headings, , |
15321How to Make Your Own Headings}.@refill 15322 15323@item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 15324@itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 15325Specify page footings resp.@: headings for every page. Not relevant to 15326Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 15327 15328@item @@example --- 82 unchanged lines hidden (view full) --- 15411Enter HTML completely. Pair with @code{@@end html}. @xref{Raw 15412Formatter Commands}. 15413 15414@item @@hyphenation@{@var{hy-phen-a-ted words}@} 15415Explicitly define hyphenation points. @xref{- and hyphenation,, 15416@code{@@-} and @code{@@hyphenation}}. 15417 15418@item @@i@{@var{text}@} | 15445How to Make Your Own Headings}.@refill 15446 15447@item @@everyfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 15448@itemx @@everyheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 15449Specify page footings resp.@: headings for every page. Not relevant to 15450Info. @xref{Custom Headings, , How to Make Your Own Headings}.@refill 15451 15452@item @@example --- 82 unchanged lines hidden (view full) --- 15535Enter HTML completely. Pair with @code{@@end html}. @xref{Raw 15536Formatter Commands}. 15537 15538@item @@hyphenation@{@var{hy-phen-a-ted words}@} 15539Explicitly define hyphenation points. @xref{- and hyphenation,, 15540@code{@@-} and @code{@@hyphenation}}. 15541 15542@item @@i@{@var{text}@} |
15419Print @var{text} in @i{italic} font. No effect in Info. 15420@xref{Fonts}.@refill | 15543Print @var{text} in @i{italic} font. No effect in Info. @xref{Fonts}. |
15421 15422@item @@ifclear @var{flag} 15423If @var{flag} is cleared, the Texinfo formatting commands format text 15424between @code{@@ifclear @var{flag}} and the following @code{@@end 15425ifclear} command. 15426@xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 15427 15428@item @@ifhtml 15429@itemx @@ifinfo 15430Begin a stretch of text that will be ignored by @TeX{} when it typesets | 15544 15545@item @@ifclear @var{flag} 15546If @var{flag} is cleared, the Texinfo formatting commands format text 15547between @code{@@ifclear @var{flag}} and the following @code{@@end 15548ifclear} command. 15549@xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 15550 15551@item @@ifhtml 15552@itemx @@ifinfo 15553Begin a stretch of text that will be ignored by @TeX{} when it typesets |
15431the printed manual. The text appears only in the HTML resp.@: Info 15432file. Pair with @code{@@end ifhtml} resp.@: @code{@@end ifinfo}. 15433@xref{Conditionals}. | 15554the printed manual. @code{@@ifhtml} text appears only in the HTML 15555output. @code{@@ifinfo} output appears in both Info and (for historical 15556compatibility) plain text output . Pair with @code{@@end ifhtml} 15557resp.@: @code{@@end ifinfo}. @xref{Conditionals}. |
15434 15435@item @@ifnothtml 15436@itemx @@ifnotinfo | 15558 15559@item @@ifnothtml 15560@itemx @@ifnotinfo |
15561@itemx @@ifnotplaintext |
|
15437@itemx @@ifnottex 15438Begin a stretch of text that will be ignored in one output format but | 15562@itemx @@ifnottex 15563Begin a stretch of text that will be ignored in one output format but |
15439not the others. The text appears only in the format not specified. 15440Pair with @code{@@end ifnothtml} resp.@: @code{@@end ifnotinfo} resp.@: 15441@code{@@end ifnotinfo}. @xref{Conditionals}. | 15564not the others. The text appears in the formats not specified: 15565@code{@@ifnothtml} text is omitted from html output, etc. The exception 15566is @code{@@ifnotinfo} text, which is omitted from plain text output as 15567well as Info output. Pair with @code{@@end ifnothtml} resp.@: 15568@code{@@end ifnotinfo} resp.@: @code{@@end ifnotplaintext} resp.@: 15569@code{@@end ifnottex}. @xref{Conditionals}. |
15442 | 15570 |
15571@item @@ifplaintext 15572Begin a stretch of text that appears only in the plain text output. 15573Pair with @code{@@end ifplaintext}. @xref{Conditionals}. 15574 |
|
15443@item @@ifset @var{flag} 15444If @var{flag} is set, the Texinfo formatting commands format text 15445between @code{@@ifset @var{flag}} and the following @code{@@end ifset} 15446command. 15447@xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 15448 15449@item @@iftex 15450Begin a stretch of text that will not appear in the Info file, but --- 20 unchanged lines hidden (view full) --- 15471@code{@@inforef}}.@refill 15472 15473@item \input @var{macro-definitions-file} 15474Use the specified macro definitions file. This command is used only 15475in the first line of a Texinfo file to cause @TeX{} to make use of the 15476@file{texinfo} macro definitions file. The backslash in @code{\input} 15477is used instead of an @code{@@} because @TeX{} does not 15478recognize @code{@@} until after it has read the definitions file. | 15575@item @@ifset @var{flag} 15576If @var{flag} is set, the Texinfo formatting commands format text 15577between @code{@@ifset @var{flag}} and the following @code{@@end ifset} 15578command. 15579@xref{set clear value, , @code{@@set} @code{@@clear} @code{@@value}}.@refill 15580 15581@item @@iftex 15582Begin a stretch of text that will not appear in the Info file, but --- 20 unchanged lines hidden (view full) --- 15603@code{@@inforef}}.@refill 15604 15605@item \input @var{macro-definitions-file} 15606Use the specified macro definitions file. This command is used only 15607in the first line of a Texinfo file to cause @TeX{} to make use of the 15608@file{texinfo} macro definitions file. The backslash in @code{\input} 15609is used instead of an @code{@@} because @TeX{} does not 15610recognize @code{@@} until after it has read the definitions file. |
15479@xref{Header, , The Texinfo File Header}.@refill | 15611@xref{Texinfo File Header}. |
15480 15481@item @@item 15482Indicate the beginning of a marked paragraph for @code{@@itemize} and 15483@code{@@enumerate}; indicate the beginning of the text of a first column 15484entry for @code{@@table}, @code{@@ftable}, and @code{@@vtable}. 15485@xref{Lists and Tables}.@refill 15486 15487@item @@itemize @var{mark-generating-character-or-command} --- 89 unchanged lines hidden (view full) --- 15577@item @@O@{@} 15578@itemx @@o@{@} 15579Generate the uppercase and lowercase O-with-slash letters, respectively: 15580@O{}, @o{}. 15581 15582@item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 15583@itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 15584Specify page footings resp.@: headings for odd-numbered (right-hand) | 15612 15613@item @@item 15614Indicate the beginning of a marked paragraph for @code{@@itemize} and 15615@code{@@enumerate}; indicate the beginning of the text of a first column 15616entry for @code{@@table}, @code{@@ftable}, and @code{@@vtable}. 15617@xref{Lists and Tables}.@refill 15618 15619@item @@itemize @var{mark-generating-character-or-command} --- 89 unchanged lines hidden (view full) --- 15709@item @@O@{@} 15710@itemx @@o@{@} 15711Generate the uppercase and lowercase O-with-slash letters, respectively: 15712@O{}, @o{}. 15713 15714@item @@oddfooting [@var{left}] @@| [@var{center}] @@| [@var{right}] 15715@itemx @@oddheading [@var{left}] @@| [@var{center}] @@| [@var{right}] 15716Specify page footings resp.@: headings for odd-numbered (right-hand) |
15585pages. Only allowed inside @code{@@iftex}. @xref{Custom Headings, , | 15717pages. @xref{Custom Headings, , |
15586How to Make Your Own Headings}.@refill 15587 15588@item @@OE@{@} 15589@itemx @@oe@{@} 15590Generate the uppercase and lowercase OE ligatures, respectively: 15591@OE{}, @oe{}. @xref{Inserting Accents}. 15592 15593@item @@option@{@var{option-name}@} --- 279 unchanged lines hidden (view full) --- 15873@xref{titlepage, , @code{@@titlepage}}.@refill 15874 15875@item @@today@{@} 15876Insert the current date, in `1 Jan 1900' style. @xref{Custom 15877Headings, , How to Make Your Own Headings}.@refill 15878 15879@item @@top @var{title} 15880In a Texinfo file to be formatted with @code{makeinfo}, identify the | 15718How to Make Your Own Headings}.@refill 15719 15720@item @@OE@{@} 15721@itemx @@oe@{@} 15722Generate the uppercase and lowercase OE ligatures, respectively: 15723@OE{}, @oe{}. @xref{Inserting Accents}. 15724 15725@item @@option@{@var{option-name}@} --- 279 unchanged lines hidden (view full) --- 16005@xref{titlepage, , @code{@@titlepage}}.@refill 16006 16007@item @@today@{@} 16008Insert the current date, in `1 Jan 1900' style. @xref{Custom 16009Headings, , How to Make Your Own Headings}.@refill 16010 16011@item @@top @var{title} 16012In a Texinfo file to be formatted with @code{makeinfo}, identify the |
15881topmost @code{@@node} line in the file, which must be written on the line | 16013topmost @code{@@node} in the file, which must be written on the line |
15882immediately preceding the @code{@@top} command. Used for 15883@code{makeinfo}'s node pointer insertion feature. The title is 15884underlined with asterisks. Both the @code{@@node} line and the @code{@@top} | 16014immediately preceding the @code{@@top} command. Used for 16015@code{makeinfo}'s node pointer insertion feature. The title is 16016underlined with asterisks. Both the @code{@@node} line and the @code{@@top} |
15885line normally should be enclosed by @code{@@ifinfo} and @code{@@end 15886ifinfo}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} | 16017line normally should be enclosed by @code{@@ifnottex} and @code{@@end 16018ifnottex}. In @TeX{} and @code{texinfo-format-buffer}, the @code{@@top} |
15887command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo 15888Pointer Creation, , Creating Pointers with @code{makeinfo}}. 15889 15890@item @@u@{@var{c}@} 15891@itemx @@ubaraccent@{@var{c}@} 15892@itemx @@udotaccent@{@var{c}@} 15893Generate a breve, underbar, or underdot accent, respectively, over or 15894under the character @var{c}, as in @u{o}, @ubaraccent{o}, --- 65 unchanged lines hidden (view full) --- 15960Add @var{entry} to the index of variables. @xref{Index Entries, , 15961Defining the Entries of an Index}.@refill 15962 15963@item @@vskip @var{amount} 15964In a printed manual, insert whitespace so as to push text on the 15965remainder of the page towards the bottom of the page. Used in 15966formatting the copyright page with the argument @samp{0pt plus 159671filll}. (Note spelling of @samp{filll}.) @code{@@vskip} may be used | 16019command is merely a synonym for @code{@@unnumbered}. @xref{makeinfo 16020Pointer Creation, , Creating Pointers with @code{makeinfo}}. 16021 16022@item @@u@{@var{c}@} 16023@itemx @@ubaraccent@{@var{c}@} 16024@itemx @@udotaccent@{@var{c}@} 16025Generate a breve, underbar, or underdot accent, respectively, over or 16026under the character @var{c}, as in @u{o}, @ubaraccent{o}, --- 65 unchanged lines hidden (view full) --- 16092Add @var{entry} to the index of variables. @xref{Index Entries, , 16093Defining the Entries of an Index}.@refill 16094 16095@item @@vskip @var{amount} 16096In a printed manual, insert whitespace so as to push text on the 16097remainder of the page towards the bottom of the page. Used in 16098formatting the copyright page with the argument @samp{0pt plus 160991filll}. (Note spelling of @samp{filll}.) @code{@@vskip} may be used |
15968only in contexts ignored for Info. @xref{Copyright & Permissions, , 15969The Copyright Page and Printed Permissions}.@refill | 16100only in contexts ignored for Info. @xref{Copyright}. |
15970 15971@item @@vtable @var{formatting-command} 15972Begin a two-column table, using @code{@@item} for each entry. 15973Automatically enter each of the items in the first column into the 15974index of variables. Pair with @code{@@end vtable}. The same as 15975@code{@@table}, except for indexing. @xref{ftable vtable, , 15976@code{@@ftable} and @code{@@vtable}}.@refill 15977 --- 154 unchanged lines hidden (view full) --- 16132@item 16133Write the prefatory sentence or phrase for a multi-item list or table as 16134a complete expression. Do not write ``You can set:''; instead, write 16135``You can set these variables:''. The former expression sounds cut off. 16136@end itemize 16137 16138@subsubheading Editions, Dates and Versions 16139 | 16101 16102@item @@vtable @var{formatting-command} 16103Begin a two-column table, using @code{@@item} for each entry. 16104Automatically enter each of the items in the first column into the 16105index of variables. Pair with @code{@@end vtable}. The same as 16106@code{@@table}, except for indexing. @xref{ftable vtable, , 16107@code{@@ftable} and @code{@@vtable}}.@refill 16108 --- 154 unchanged lines hidden (view full) --- 16263@item 16264Write the prefatory sentence or phrase for a multi-item list or table as 16265a complete expression. Do not write ``You can set:''; instead, write 16266``You can set these variables:''. The former expression sounds cut off. 16267@end itemize 16268 16269@subsubheading Editions, Dates and Versions 16270 |
16140Write the edition and version numbers and date in three places in every 16141manual: | 16271Include edition numbers, version numbers, and dates in the 16272@code{@@copying} text (for people reading the Texinfo file, and for the 16273legal copyright in the output files). Then use @code{@@insertcopying} 16274in the @code{@@titlepage} section (for people reading the printed 16275output) and the Top node (for people reading the online output). |
16142 | 16276 |
16143@enumerate 16144@item 16145In the first @code{@@ifinfo} section, for people reading the Texinfo file. | 16277It is easiest to do this using @code{@@set} and @code{@@value}. 16278@xref{value Example, , @code{@@value} Example}, and @ref{GNU Sample Texts}. |
16146 | 16279 |
16147@item 16148In the @code{@@titlepage} section, for people reading the printed manual. | |
16149 | 16280 |
16150@item 16151In the `Top' node, for people reading the Info file. 16152@end enumerate 16153 16154@noindent 16155Also, it helps to write a note before the first @code{@@ifinfo} 16156section to explain what you are doing. 16157 16158@need 800 16159@noindent 16160For example: 16161 16162@example 16163@group 16164@@c ===> NOTE! <== 16165@@c Specify the edition and version numbers and date 16166@@c in *three* places: 16167@@c 1. First ifinfo section 2. title page 3. top node 16168@@c To find the locations, search for !!set 16169@end group 16170 16171@group 16172@@ifinfo 16173@@c !!set edition, date, version 16174This is Edition 4.03, January 1992, 16175of the @@cite@{GDB Manual@} for GDB Version 4.3. 16176@dots{} 16177@end group 16178@end example 16179 16180@noindent 16181---or use @code{@@set} and @code{@@value} 16182(@pxref{value Example, , @code{@@value} Example}). 16183 | |
16184@subsubheading Definition Commands 16185 16186Definition commands are @code{@@deffn}, @code{@@defun}, 16187@code{@@defmac}, and the like, and enable you to write descriptions in 16188a uniform format.@refill 16189 16190@itemize @bullet 16191@item --- 232 unchanged lines hidden (view full) --- 16424@item 16425Write notes for yourself at the very end of a Texinfo file after the 16426@code{@@bye}. None of the formatters process text after the 16427@code{@@bye}; it is as if the text were within @code{@@ignore} @dots{} 16428@code{@@end ignore}. 16429@end itemize 16430 16431 | 16281@subsubheading Definition Commands 16282 16283Definition commands are @code{@@deffn}, @code{@@defun}, 16284@code{@@defmac}, and the like, and enable you to write descriptions in 16285a uniform format.@refill 16286 16287@itemize @bullet 16288@item --- 232 unchanged lines hidden (view full) --- 16521@item 16522Write notes for yourself at the very end of a Texinfo file after the 16523@code{@@bye}. None of the formatters process text after the 16524@code{@@bye}; it is as if the text were within @code{@@ignore} @dots{} 16525@code{@@end ignore}. 16526@end itemize 16527 16528 |
16432@node Sample Texinfo File 16433@appendix A Sample Texinfo File | 16529@node Sample Texinfo Files 16530@appendix Sample Texinfo Files 16531@cindex Sample Texinfo files 16532 16533The first example is from the first chapter (@pxref{Short Sample}), 16534given here in its entirety, without commentary. The second sample 16535includes the full texts to be used in GNU manuals. 16536 16537@menu 16538* Short Sample Texinfo File:: 16539* GNU Sample Texts:: 16540@end menu 16541 16542 16543@node Short Sample Texinfo File 16544@section Short Sample |
16434@cindex Sample Texinfo file, no comments 16435 16436Here is a complete, short sample Texinfo file, without any commentary. | 16545@cindex Sample Texinfo file, no comments 16546 16547Here is a complete, short sample Texinfo file, without any commentary. |
16437You can see this file, with comments, in the first chapter. 16438@xref{Short Sample, , A Short Sample Texinfo File}. | 16548You can see this file, with comments, in the first chapter. @xref{Short 16549Sample}. |
16439 | 16550 |
16551In a nutshell: The @command{makeinfo} program transforms a Texinfo 16552source file such as this into an Info file or HTML; and @TeX{} typesets 16553it for a printed manual. 16554 16555 |
|
16440@sp 1 16441@example 16442\input texinfo @@c -*-texinfo-*- 16443@@c %**start of header 16444@@setfilename sample.info | 16556@sp 1 16557@example 16558\input texinfo @@c -*-texinfo-*- 16559@@c %**start of header 16560@@setfilename sample.info |
16445@@settitle Sample Document | 16561@@settitle Sample Manual 1.0 |
16446@@c %**end of header 16447 | 16562@@c %**end of header 16563 |
16448@@ifinfo | 16564@@copying |
16449This is a short example of a complete Texinfo file. 16450 16451Copyright (C) 2002 Free Software Foundation, Inc. | 16565This is a short example of a complete Texinfo file. 16566 16567Copyright (C) 2002 Free Software Foundation, Inc. |
16452@@end ifinfo | 16568@@end copying |
16453 16454@@titlepage | 16569 16570@@titlepage |
16455@@comment The title is printed in a large font. | |
16456@@title Sample Title | 16571@@title Sample Title |
16457 16458@@c The following two commands start the copyright page. | |
16459@@page 16460@@vskip 0pt plus 1filll | 16572@@page 16573@@vskip 0pt plus 1filll |
16461Copyright @@copyright@{@} 2002 Free Software Foundation, Inc. | 16574@@insertcopying |
16462@@end titlepage 16463 16464@@c Output the table of the contents at the beginning. 16465@@contents 16466 16467@@ifnottex 16468@@node Top 16469 | 16575@@end titlepage 16576 16577@@c Output the table of the contents at the beginning. 16578@@contents 16579 16580@@ifnottex 16581@@node Top 16582 |
16470This is the top node of a sample document. | 16583@@insertcopying |
16471@@end ifnottex 16472 16473@@menu 16474* First Chapter:: The first chapter is the | 16584@@end ifnottex 16585 16586@@menu 16587* First Chapter:: The first chapter is the |
16475 only chapter in this sample. 16476* Concept Index:: This index has two entries. | 16588 only chapter in this sample. 16589* Index:: Complete index. |
16477@@end menu 16478 16479 | 16590@@end menu 16591 16592 |
16480@@node First Chapter | 16593@@node First Chapter |
16481@@chapter First Chapter | 16594@@chapter First Chapter |
16482@@cindex Chapter, first | |
16483 | 16595 |
16484This is the contents of the first chapter. 16485@@cindex Another sample index entry | 16596@@cindex chapter, first |
16486 | 16597 |
16598This is the first chapter. 16599@@cindex index entry, another 16600 |
|
16487Here is a numbered list. 16488 16489@@enumerate 16490@@item 16491This is the first item. 16492 16493@@item 16494This is the second item. 16495@@end enumerate 16496 | 16601Here is a numbered list. 16602 16603@@enumerate 16604@@item 16605This is the first item. 16606 16607@@item 16608This is the second item. 16609@@end enumerate 16610 |
16497The @@code@{makeinfo@} command transforms a Texinfo source file 16498such as this into an Info file or HTML; and @@TeX typesets it 16499for a printed manual. | |
16500 | 16611 |
16612@@node Index 16613@@unnumbered Index |
|
16501 | 16614 |
16502@@node Concept Index 16503@@unnumbered Concept Index | 16615@@printindex cp |
16504 | 16616 |
16617@@bye 16618@end example 16619 16620 16621@node GNU Sample Texts 16622@section GNU Sample Texts 16623 16624@cindex GNU sample texts 16625@cindex Sample texts, GNU 16626@cindex Full texts, GNU 16627 16628Here is a sample Texinfo document with the full texts that should be 16629used in GNU manuals. 16630 16631As well as the legal texts, it also serves as a practical example of how 16632many elements in a GNU system can affect the manual. If you're not 16633familiar with all these different elements, don't worry. They're not 16634required and a perfectly good manual can be written without them. 16635They're included here nonetheless because many manuals do (or could) 16636benefit from them. 16637 16638@xref{Short Sample}, for a minimal example of a Texinfo file. 16639@xref{Beginning a File}, for a full explanation of that minimal 16640example. 16641 16642Here are some notes on the example: 16643 16644@itemize @bullet 16645@item 16646@cindex $Id: texinfo.txi,v 1.219 2002/03/28 16:36:00 karl Exp $ comment 16647@cindex CVS $Id: texinfo.txi,v 1.219 2002/03/28 16:36:00 karl Exp $, in Texinfo 16648@cindex RCS $Id: texinfo.txi,v 1.219 2002/03/28 16:36:00 karl Exp $, in Texinfo 16649The @samp{$Id: texinfo.txi,v 1.219 2002/03/28 16:36:00 karl Exp $} comment is for CVS (@pxref{Top,, Overview, cvs, 16650Concurrent Versions System}) or RCS (see rcsintro(1)) version control 16651systems, which expand it into a string such as: 16652@example 16653$Id: texinfo.txi,v 1.219 2002/03/28 16:36:00 karl Exp $ 16654@end example 16655(This is useful in all sources that use version control, not just manuals.) 16656 16657@item 16658@pindex automake@r{, and version info} 16659The @file{version.texi} in the @code{@@include} command is maintained 16660automatically by Automake (@pxref{Top,, Introduction, automake, GNU 16661Automake}). It sets the @samp{VERSION} and @samp{UPDATED} values used 16662elsewhere. If your distribution doesn't use Automake, you can mimic 16663these or equivalent settings. 16664 16665@item 16666The @code{@@syncodeindex} command reflects the recommendation to use only 16667one index if at all possible, to make it easier for readers. 16668 16669@item 16670The @code{@@dircategory} is for constructing the Info directory. 16671@xref{Installing Dir Entries}, which includes a variety of recommended 16672category names. 16673 16674@item 16675The `Invoking' node is a GNU standard to help users find the basic 16676information about command-line usage of a given program. @xref{Manual 16677Structure Details,,,standards, GNU Coding Standards}. 16678 16679@item 16680It is best to include the entire GNU Free Documentation License in a GNU 16681manual, unless the manual is only a few pages long. Of course this 16682sample is even shorter than that, but it includes the FDL anyway in 16683order to show one conventional way of doing so. The @file{fdl.texi} 16684file is available on the GNU machines (and in the Texinfo and other GNU 16685distributions). 16686 16687The FDL provides for omitting itself under certain conditions, but in 16688that case the sample texts given here have to be modified. @xref{GNU 16689Free Documentation License}. 16690 16691@item 16692If your manual has invariant sections (again, see the license itself for 16693details), then don't forget to include them. 16694@end itemize 16695 16696Here is the sample document: 16697 16698@c We do the first part of this with @example instead of @verbatim 16699@c because the literal @setfilename and @include confuse Automake. Argh. 16700@example 16701\input texinfo @@c -*-texinfo-*- 16702@@comment $Id: texinfo.txi,v 1.219 2002/03/28 16:36:00 karl Exp $ 16703@@comment %**start of header 16704@@setfilename sample.info 16705@@include version.texi 16706@@settitle GNU Sample @@value@{VERSION@} 16707@@syncodeindex pg cp 16708@@comment %**end of header 16709@@copying 16710This manual is for GNU Sample 16711(version @@value@{VERSION@}, @@value@{UPDATED@}), 16712which is an example in the Texinfo documentation. 16713 16714Copyright @@copyright@{@} 2002 Free Software Foundation, Inc. 16715 16716@@quotation 16717Permission is granted to copy, distribute and/or modify this document 16718under the terms of the GNU Free Documentation License, Version 1.1 or 16719any later version published by the Free Software Foundation; with no 16720Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' 16721and with the Back-Cover Texts as in (a) below. A copy of the 16722license is included in the section entitled ``GNU Free Documentation 16723License.'' 16724 16725(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify 16726this GNU Manual, like GNU software. Copies published by the Free 16727Software Foundation raise funds for GNU development.'' 16728@@end quotation 16729@@end copying 16730 16731@@dircategory Texinfo documentation system 16732@@direntry 16733* sample: (sample)Invoking sample. 16734@@end direntry 16735 16736@@titlepage 16737@@title GNU Sample 16738@@subtitle for version @@value@{VERSION@}, @@value@{UPDATED@} 16739@@author A.U. Thor (@@email@{bug-texinfo@@@@gnu.org@}) 16740@@page 16741@@vskip 0pt plus 1filll 16742@@insertcopying 16743@@end titlepage 16744 16745@@contents 16746 16747@@ifnottex 16748@@node Top 16749@@top GNU Sample 16750 16751@@insertcopying 16752@@end ifnottex 16753 16754@@menu 16755* Invoking sample:: 16756* Copying This Manual:: 16757* Index:: 16758@@end menu 16759 16760 16761@@node Invoking sample 16762@@chapter Invoking sample 16763 16764@@pindex sample 16765@@cindex invoking @@command@{sample@} 16766 16767This is a sample manual. There is no sample program to 16768invoke, but if there was, you could see its basic usage 16769and command line options here. 16770 16771 16772@@node Copying This Manual 16773@@appendix Copying This Manual 16774 16775@@menu 16776* GNU Free Documentation License:: License for copying this manual. 16777@@end menu 16778 16779@@include fdl.texi 16780 16781 16782@@node Index 16783@@unnumbered Index 16784 |
|
16505@@printindex cp 16506 16507@@bye 16508@end example 16509 16510 16511@node Include Files 16512@appendix Include Files 16513@cindex Include files 16514 16515When @TeX{} or an Info formatting command sees an @code{@@include} 16516command in a Texinfo file, it processes the contents of the file named 16517by the command and incorporates them into the DVI or Info file being 16518created. Index entries from the included file are incorporated into | 16785@@printindex cp 16786 16787@@bye 16788@end example 16789 16790 16791@node Include Files 16792@appendix Include Files 16793@cindex Include files 16794 16795When @TeX{} or an Info formatting command sees an @code{@@include} 16796command in a Texinfo file, it processes the contents of the file named 16797by the command and incorporates them into the DVI or Info file being 16798created. Index entries from the included file are incorporated into |
16519the indices of the output file.@refill | 16799the indices of the output file. |
16520 16521Include files let you keep a single large document as a collection of 16522conveniently small parts. 16523 16524@menu 16525* Using Include Files:: How to use the @code{@@include} command. 16526* texinfo-multiple-files-update:: How to create and update nodes and 16527 menus when using included files. --- 199 unchanged lines hidden (view full) --- 16727@group 16728@@summarycontents 16729@@contents 16730 16731@@bye 16732@end group 16733@end example 16734 | 16800 16801Include files let you keep a single large document as a collection of 16802conveniently small parts. 16803 16804@menu 16805* Using Include Files:: How to use the @code{@@include} command. 16806* texinfo-multiple-files-update:: How to create and update nodes and 16807 menus when using included files. --- 199 unchanged lines hidden (view full) --- 17007@group 17008@@summarycontents 17009@@contents 17010 17011@@bye 17012@end group 17013@end example 17014 |
16735An included file, such as @file{foo.texinfo}, might look like 16736this:@refill | 17015An included file, such as @file{foo.texinfo}, might look like this: |
16737 16738@example 16739@group 16740@@node First, Second, , Top 16741@@chapter First Chapter 16742 16743Contents of first chapter @dots{} 16744@end group --- 237 unchanged lines hidden (view full) --- 16982@code{@@evenheading} and @code{@@evenfooting} command generate headers 16983and footers for even-numbered (left-hand) pages. 16984@item 16985@code{@@oddheading} and @code{@@oddfooting} generate headers and footers 16986for odd-numbered (right-hand) pages. 16987@end itemize 16988 16989Write custom heading specifications in the Texinfo file immediately | 17016 17017@example 17018@group 17019@@node First, Second, , Top 17020@@chapter First Chapter 17021 17022Contents of first chapter @dots{} 17023@end group --- 237 unchanged lines hidden (view full) --- 17261@code{@@evenheading} and @code{@@evenfooting} command generate headers 17262and footers for even-numbered (left-hand) pages. 17263@item 17264@code{@@oddheading} and @code{@@oddfooting} generate headers and footers 17265for odd-numbered (right-hand) pages. 17266@end itemize 17267 17268Write custom heading specifications in the Texinfo file immediately |
16990after the @code{@@end titlepage} command. Enclose your specifications 16991between @code{@@iftex} and @code{@@end iftex} commands since the 16992@code{texinfo-format-buffer} command may not recognize them. Also, 16993you must cancel the predefined heading commands with the | 17269after the @code{@@end titlepage} command. 17270You must cancel the predefined heading commands with the |
16994@code{@@headings off} command before defining your own 16995specifications.@refill 16996 16997@need 1000 16998Here is how to tell @TeX{} to place the chapter name at the left, the 16999page number in the center, and the date at the right of every header 17000for both even- and odd-numbered pages:@refill 17001 17002@example 17003@group | 17271@code{@@headings off} command before defining your own 17272specifications.@refill 17273 17274@need 1000 17275Here is how to tell @TeX{} to place the chapter name at the left, the 17276page number in the center, and the date at the right of every header 17277for both even- and odd-numbered pages:@refill 17278 17279@example 17280@group |
17004@@iftex | |
17005@@headings off 17006@@everyheading @@thischapter @@| @@thispage @@| @@today@{@} | 17281@@headings off 17282@@everyheading @@thischapter @@| @@thispage @@| @@today@{@} |
17007@@end iftex | |
17008@end group 17009@end example 17010 17011@noindent 17012You need to divide the left part from the central part and the central 17013part from the right part by inserting @samp{@@|} between parts. 17014Otherwise, the specification command will not be able to tell where 17015the text for one part ends and the next part begins.@refill --- 83 unchanged lines hidden (view full) --- 17099@findex today 17100 17101Other @@-commands and text are printed in a header or footer just as 17102if they were in the body of a page. It is useful to incorporate text, 17103particularly when you are writing drafts:@refill 17104 17105@example 17106@group | 17283@end group 17284@end example 17285 17286@noindent 17287You need to divide the left part from the central part and the central 17288part from the right part by inserting @samp{@@|} between parts. 17289Otherwise, the specification command will not be able to tell where 17290the text for one part ends and the next part begins.@refill --- 83 unchanged lines hidden (view full) --- 17374@findex today 17375 17376Other @@-commands and text are printed in a header or footer just as 17377if they were in the body of a page. It is useful to incorporate text, 17378particularly when you are writing drafts:@refill 17379 17380@example 17381@group |
17107@@iftex | |
17108@@headings off 17109@@everyheading @@emph@{Draft!@} @@| @@thispage @@| @@thischapter 17110@@everyfooting @@| @@| Version: 0.27: @@today@{@} | 17382@@headings off 17383@@everyheading @@emph@{Draft!@} @@| @@thispage @@| @@thischapter 17384@@everyfooting @@| @@| Version: 0.27: @@today@{@} |
17111@@end iftex | |
17112@end group 17113@end example 17114 17115Beware of overlong titles: they may overlap another part of the 17116header or footer and blot it out.@refill 17117 17118 17119@node Catching Mistakes 17120@appendix Formatting Mistakes 17121@cindex Structure, catching mistakes in 17122@cindex Nodes, catching mistakes 17123@cindex Catching mistakes 17124@cindex Correcting mistakes 17125@cindex Mistakes, catching 17126@cindex Problems, catching 17127@cindex Debugging the Texinfo structure 17128 | 17385@end group 17386@end example 17387 17388Beware of overlong titles: they may overlap another part of the 17389header or footer and blot it out.@refill 17390 17391 17392@node Catching Mistakes 17393@appendix Formatting Mistakes 17394@cindex Structure, catching mistakes in 17395@cindex Nodes, catching mistakes 17396@cindex Catching mistakes 17397@cindex Correcting mistakes 17398@cindex Mistakes, catching 17399@cindex Problems, catching 17400@cindex Debugging the Texinfo structure 17401 |
17129Besides mistakes in the content of your documentation, there 17130are two kinds of mistake you can make with Texinfo: you can make mistakes 17131with @@-commands, and you can make mistakes with the structure of the 17132nodes and chapters.@refill | 17402Besides mistakes in the content of your documentation, there are two 17403kinds of mistake you can make with Texinfo: you can make mistakes with 17404@@-commands, and you can make mistakes with the structure of the nodes 17405and chapters. |
17133 17134Emacs has two tools for catching the @@-command mistakes and two for 17135catching structuring mistakes.@refill 17136 17137For finding problems with @@-commands, you can run @TeX{} or a region 17138formatting command on the region that has a problem; indeed, you can 17139run these commands on each region as you write it.@refill 17140 --- 1306 unchanged lines hidden (view full) --- 18447@end table 18448@tex 18449% Switch width of first column of tables back to default value 18450\global\tableindent=.8in 18451@end tex 18452@end ignore 18453 18454 | 17406 17407Emacs has two tools for catching the @@-command mistakes and two for 17408catching structuring mistakes.@refill 17409 17410For finding problems with @@-commands, you can run @TeX{} or a region 17411formatting command on the region that has a problem; indeed, you can 17412run these commands on each region as you write it.@refill 17413 --- 1306 unchanged lines hidden (view full) --- 18720@end table 18721@tex 18722% Switch width of first column of tables back to default value 18723\global\tableindent=.8in 18724@end tex 18725@end ignore 18726 18727 |
18455@node Documentation Copying 18456@appendix GNU Free Documentation License | 18728@node Copying This Manual 18729@appendix Copying This Manual |
18457 | 18730 |
18458@cindex FDL, GNU Free Documentation License 18459@center Version 1.1, March 2000 | 18731@menu 18732* GNU Free Documentation License:: License for copying this manual. 18733@end menu |
18460 | 18734 |
18461@display 18462Copyright @copyright{} 2000 Free Software Foundation, Inc. 1846359 Temple Place, Suite 330, Boston, MA 02111-1307, USA | 18735@include fdl.texi |
18464 | 18736 |
18465Everyone is permitted to copy and distribute verbatim copies 18466of this license document, but changing it is not allowed. 18467@end display | |
18468 | 18737 |
18469@enumerate 0 18470@item 18471PREAMBLE 18472 18473The purpose of this License is to make a manual, textbook, or other 18474written document @dfn{free} in the sense of freedom: to assure everyone 18475the effective freedom to copy and redistribute it, with or without 18476modifying it, either commercially or noncommercially. Secondarily, 18477this License preserves for the author and publisher a way to get 18478credit for their work, while not being considered responsible for 18479modifications made by others. 18480 18481This License is a kind of ``copyleft'', which means that derivative 18482works of the document must themselves be free in the same sense. It 18483complements the GNU General Public License, which is a copyleft 18484license designed for free software. 18485 18486We have designed this License in order to use it for manuals for free 18487software, because free software needs free documentation: a free 18488program should come with manuals providing the same freedoms that the 18489software does. But this License is not limited to software manuals; 18490it can be used for any textual work, regardless of subject matter or 18491whether it is published as a printed book. We recommend this License 18492principally for works whose purpose is instruction or reference. 18493 18494@item 18495APPLICABILITY AND DEFINITIONS 18496 18497This License applies to any manual or other work that contains a 18498notice placed by the copyright holder saying it can be distributed 18499under the terms of this License. The ``Document'', below, refers to any 18500such manual or work. Any member of the public is a licensee, and is 18501addressed as ``you''. 18502 18503A ``Modified Version'' of the Document means any work containing the 18504Document or a portion of it, either copied verbatim, or with 18505modifications and/or translated into another language. 18506 18507A ``Secondary Section'' is a named appendix or a front-matter section of 18508the Document that deals exclusively with the relationship of the 18509publishers or authors of the Document to the Document's overall subject 18510(or to related matters) and contains nothing that could fall directly 18511within that overall subject. (For example, if the Document is in part a 18512textbook of mathematics, a Secondary Section may not explain any 18513mathematics.) The relationship could be a matter of historical 18514connection with the subject or with related matters, or of legal, 18515commercial, philosophical, ethical or political position regarding 18516them. 18517 18518The ``Invariant Sections'' are certain Secondary Sections whose titles 18519are designated, as being those of Invariant Sections, in the notice 18520that says that the Document is released under this License. 18521 18522The ``Cover Texts'' are certain short passages of text that are listed, 18523as Front-Cover Texts or Back-Cover Texts, in the notice that says that 18524the Document is released under this License. 18525 18526A ``Transparent'' copy of the Document means a machine-readable copy, 18527represented in a format whose specification is available to the 18528general public, whose contents can be viewed and edited directly and 18529straightforwardly with generic text editors or (for images composed of 18530pixels) generic paint programs or (for drawings) some widely available 18531drawing editor, and that is suitable for input to text formatters or 18532for automatic translation to a variety of formats suitable for input 18533to text formatters. A copy made in an otherwise Transparent file 18534format whose markup has been designed to thwart or discourage 18535subsequent modification by readers is not Transparent. A copy that is 18536not ``Transparent'' is called ``Opaque''. 18537 18538Examples of suitable formats for Transparent copies include plain 18539@sc{ascii} without markup, Texinfo input format, La@TeX{} input format, 18540@acronym{SGML} or @acronym{XML} using a publicly available 18541@acronym{DTD}, and standard-conforming simple @acronym{HTML} designed 18542for human modification. Opaque formats include PostScript, 18543@acronym{PDF}, proprietary formats that can be read and edited only by 18544proprietary word processors, @acronym{SGML} or @acronym{XML} for which 18545the @acronym{DTD} and/or processing tools are not generally available, 18546and the machine-generated @acronym{HTML} produced by some word 18547processors for output purposes only. 18548 18549The ``Title Page'' means, for a printed book, the title page itself, 18550plus such following pages as are needed to hold, legibly, the material 18551this License requires to appear in the title page. For works in 18552formats which do not have any title page as such, ``Title Page'' means 18553the text near the most prominent appearance of the work's title, 18554preceding the beginning of the body of the text. 18555 18556@item 18557VERBATIM COPYING 18558 18559You may copy and distribute the Document in any medium, either 18560commercially or noncommercially, provided that this License, the 18561copyright notices, and the license notice saying this License applies 18562to the Document are reproduced in all copies, and that you add no other 18563conditions whatsoever to those of this License. You may not use 18564technical measures to obstruct or control the reading or further 18565copying of the copies you make or distribute. However, you may accept 18566compensation in exchange for copies. If you distribute a large enough 18567number of copies you must also follow the conditions in section 3. 18568 18569You may also lend copies, under the same conditions stated above, and 18570you may publicly display copies. 18571 18572@item 18573COPYING IN QUANTITY 18574 18575If you publish printed copies of the Document numbering more than 100, 18576and the Document's license notice requires Cover Texts, you must enclose 18577the copies in covers that carry, clearly and legibly, all these Cover 18578Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on 18579the back cover. Both covers must also clearly and legibly identify 18580you as the publisher of these copies. The front cover must present 18581the full title with all words of the title equally prominent and 18582visible. You may add other material on the covers in addition. 18583Copying with changes limited to the covers, as long as they preserve 18584the title of the Document and satisfy these conditions, can be treated 18585as verbatim copying in other respects. 18586 18587If the required texts for either cover are too voluminous to fit 18588legibly, you should put the first ones listed (as many as fit 18589reasonably) on the actual cover, and continue the rest onto adjacent 18590pages. 18591 18592If you publish or distribute Opaque copies of the Document numbering 18593more than 100, you must either include a machine-readable Transparent 18594copy along with each Opaque copy, or state in or with each Opaque copy 18595a publicly-accessible computer-network location containing a complete 18596Transparent copy of the Document, free of added material, which the 18597general network-using public has access to download anonymously at no 18598charge using public-standard network protocols. If you use the latter 18599option, you must take reasonably prudent steps, when you begin 18600distribution of Opaque copies in quantity, to ensure that this 18601Transparent copy will remain thus accessible at the stated location 18602until at least one year after the last time you distribute an Opaque 18603copy (directly or through your agents or retailers) of that edition to 18604the public. 18605 18606It is requested, but not required, that you contact the authors of the 18607Document well before redistributing any large number of copies, to give 18608them a chance to provide you with an updated version of the Document. 18609 18610@item 18611MODIFICATIONS 18612 18613You may copy and distribute a Modified Version of the Document under 18614the conditions of sections 2 and 3 above, provided that you release 18615the Modified Version under precisely this License, with the Modified 18616Version filling the role of the Document, thus licensing distribution 18617and modification of the Modified Version to whoever possesses a copy 18618of it. In addition, you must do these things in the Modified Version: 18619 18620@enumerate A 18621@item 18622Use in the Title Page (and on the covers, if any) a title distinct 18623from that of the Document, and from those of previous versions 18624(which should, if there were any, be listed in the History section 18625of the Document). You may use the same title as a previous version 18626if the original publisher of that version gives permission. 18627 18628@item 18629List on the Title Page, as authors, one or more persons or entities 18630responsible for authorship of the modifications in the Modified 18631Version, together with at least five of the principal authors of the 18632Document (all of its principal authors, if it has less than five). 18633 18634@item 18635State on the Title page the name of the publisher of the 18636Modified Version, as the publisher. 18637 18638@item 18639Preserve all the copyright notices of the Document. 18640 18641@item 18642Add an appropriate copyright notice for your modifications 18643adjacent to the other copyright notices. 18644 18645@item 18646Include, immediately after the copyright notices, a license notice 18647giving the public permission to use the Modified Version under the 18648terms of this License, in the form shown in the Addendum below. 18649 18650@item 18651Preserve in that license notice the full lists of Invariant Sections 18652and required Cover Texts given in the Document's license notice. 18653 18654@item 18655Include an unaltered copy of this License. 18656 18657@item 18658Preserve the section entitled ``History'', and its title, and add to 18659it an item stating at least the title, year, new authors, and 18660publisher of the Modified Version as given on the Title Page. If 18661there is no section entitled ``History'' in the Document, create one 18662stating the title, year, authors, and publisher of the Document as 18663given on its Title Page, then add an item describing the Modified 18664Version as stated in the previous sentence. 18665 18666@item 18667Preserve the network location, if any, given in the Document for 18668public access to a Transparent copy of the Document, and likewise 18669the network locations given in the Document for previous versions 18670it was based on. These may be placed in the ``History'' section. 18671You may omit a network location for a work that was published at 18672least four years before the Document itself, or if the original 18673publisher of the version it refers to gives permission. 18674 18675@item 18676In any section entitled ``Acknowledgments'' or ``Dedications'', 18677preserve the section's title, and preserve in the section all the 18678substance and tone of each of the contributor acknowledgments 18679and/or dedications given therein. 18680 18681@item 18682Preserve all the Invariant Sections of the Document, 18683unaltered in their text and in their titles. Section numbers 18684or the equivalent are not considered part of the section titles. 18685 18686@item 18687Delete any section entitled ``Endorsements''. Such a section 18688may not be included in the Modified Version. 18689 18690@item 18691Do not retitle any existing section as ``Endorsements'' 18692or to conflict in title with any Invariant Section. 18693@end enumerate 18694 18695If the Modified Version includes new front-matter sections or 18696appendices that qualify as Secondary Sections and contain no material 18697copied from the Document, you may at your option designate some or all 18698of these sections as invariant. To do this, add their titles to the 18699list of Invariant Sections in the Modified Version's license notice. 18700These titles must be distinct from any other section titles. 18701 18702You may add a section entitled ``Endorsements'', provided it contains 18703nothing but endorsements of your Modified Version by various 18704parties---for example, statements of peer review or that the text has 18705been approved by an organization as the authoritative definition of a 18706standard. 18707 18708You may add a passage of up to five words as a Front-Cover Text, and a 18709passage of up to 25 words as a Back-Cover Text, to the end of the list 18710of Cover Texts in the Modified Version. Only one passage of 18711Front-Cover Text and one of Back-Cover Text may be added by (or 18712through arrangements made by) any one entity. If the Document already 18713includes a cover text for the same cover, previously added by you or 18714by arrangement made by the same entity you are acting on behalf of, 18715you may not add another; but you may replace the old one, on explicit 18716permission from the previous publisher that added the old one. 18717 18718The author(s) and publisher(s) of the Document do not by this License 18719give permission to use their names for publicity for or to assert or 18720imply endorsement of any Modified Version. 18721 18722@item 18723COMBINING DOCUMENTS 18724 18725You may combine the Document with other documents released under this 18726License, under the terms defined in section 4 above for modified 18727versions, provided that you include in the combination all of the 18728Invariant Sections of all of the original documents, unmodified, and 18729list them all as Invariant Sections of your combined work in its 18730license notice. 18731 18732The combined work need only contain one copy of this License, and 18733multiple identical Invariant Sections may be replaced with a single 18734copy. If there are multiple Invariant Sections with the same name but 18735different contents, make the title of each such section unique by 18736adding at the end of it, in parentheses, the name of the original 18737author or publisher of that section if known, or else a unique number. 18738Make the same adjustment to the section titles in the list of 18739Invariant Sections in the license notice of the combined work. 18740 18741In the combination, you must combine any sections entitled ``History'' 18742in the various original documents, forming one section entitled 18743``History''; likewise combine any sections entitled ``Acknowledgments'', 18744and any sections entitled ``Dedications''. You must delete all sections 18745entitled ``Endorsements.'' 18746 18747@item 18748COLLECTIONS OF DOCUMENTS 18749 18750You may make a collection consisting of the Document and other documents 18751released under this License, and replace the individual copies of this 18752License in the various documents with a single copy that is included in 18753the collection, provided that you follow the rules of this License for 18754verbatim copying of each of the documents in all other respects. 18755 18756You may extract a single document from such a collection, and distribute 18757it individually under this License, provided you insert a copy of this 18758License into the extracted document, and follow this License in all 18759other respects regarding verbatim copying of that document. 18760 18761@item 18762AGGREGATION WITH INDEPENDENT WORKS 18763 18764A compilation of the Document or its derivatives with other separate 18765and independent documents or works, in or on a volume of a storage or 18766distribution medium, does not as a whole count as a Modified Version 18767of the Document, provided no compilation copyright is claimed for the 18768compilation. Such a compilation is called an ``aggregate'', and this 18769License does not apply to the other self-contained works thus compiled 18770with the Document, on account of their being thus compiled, if they 18771are not themselves derivative works of the Document. 18772 18773If the Cover Text requirement of section 3 is applicable to these 18774copies of the Document, then if the Document is less than one quarter 18775of the entire aggregate, the Document's Cover Texts may be placed on 18776covers that surround only the Document within the aggregate. 18777Otherwise they must appear on covers around the whole aggregate. 18778 18779@item 18780TRANSLATION 18781 18782Translation is considered a kind of modification, so you may 18783distribute translations of the Document under the terms of section 4. 18784Replacing Invariant Sections with translations requires special 18785permission from their copyright holders, but you may include 18786translations of some or all Invariant Sections in addition to the 18787original versions of these Invariant Sections. You may include a 18788translation of this License provided that you also include the 18789original English version of this License. In case of a disagreement 18790between the translation and the original English version of this 18791License, the original English version will prevail. 18792 18793@item 18794TERMINATION 18795 18796You may not copy, modify, sublicense, or distribute the Document except 18797as expressly provided for under this License. Any other attempt to 18798copy, modify, sublicense or distribute the Document is void, and will 18799automatically terminate your rights under this License. However, 18800parties who have received copies, or rights, from you under this 18801License will not have their licenses terminated so long as such 18802parties remain in full compliance. 18803 18804@item 18805FUTURE REVISIONS OF THIS LICENSE 18806 18807The Free Software Foundation may publish new, revised versions 18808of the GNU Free Documentation License from time to time. Such new 18809versions will be similar in spirit to the present version, but may 18810differ in detail to address new problems or concerns. See 18811@uref{http://www.gnu.org/copyleft/}. 18812 18813Each version of the License is given a distinguishing version number. 18814If the Document specifies that a particular numbered version of this 18815License ``or any later version'' applies to it, you have the option of 18816following the terms and conditions either of that specified version or 18817of any later version that has been published (not as a draft) by the 18818Free Software Foundation. If the Document does not specify a version 18819number of this License, you may choose any version ever published (not 18820as a draft) by the Free Software Foundation. 18821@end enumerate 18822 18823@page 18824@appendixsubsec ADDENDUM: How to use this License for your documents 18825 18826To use this License in a document you have written, include a copy of 18827the License in the document and put the following copyright and 18828license notices just after the title page: 18829 18830@smallexample 18831@group 18832 Copyright (C) @var{year} @var{your name}. 18833 Permission is granted to copy, distribute and/or modify this document 18834 under the terms of the GNU Free Documentation License, Version 1.1 18835 or any later version published by the Free Software Foundation; 18836 with the Invariant Sections being @var{list their titles}, with the 18837 Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. 18838 A copy of the license is included in the section entitled ``GNU 18839 Free Documentation License''. 18840@end group 18841@end smallexample 18842 18843If you have no Invariant Sections, write ``with no Invariant Sections'' 18844instead of saying which ones are invariant. If you have no 18845Front-Cover Texts, write ``no Front-Cover Texts'' instead of 18846``Front-Cover Texts being @var{list}''; likewise for Back-Cover Texts. 18847 18848If your document contains nontrivial examples of program code, we 18849recommend releasing these examples in parallel under your choice of 18850free software license, such as the GNU General Public License, 18851to permit their use in free software. 18852 18853 | |
18854@node Command and Variable Index 18855@unnumbered Command and Variable Index 18856 18857This is an alphabetical list of all the @@-commands, assorted Emacs Lisp 18858functions, and several variables. To make the list easier to use, the 18859commands are listed without their preceding @samp{@@}.@refill 18860 18861@printindex fn 18862 18863 18864@node Concept Index 18865@unnumbered Concept Index 18866 18867@printindex cp 18868 18869 18870@bye | 18738@node Command and Variable Index 18739@unnumbered Command and Variable Index 18740 18741This is an alphabetical list of all the @@-commands, assorted Emacs Lisp 18742functions, and several variables. To make the list easier to use, the 18743commands are listed without their preceding @samp{@@}.@refill 18744 18745@printindex fn 18746 18747 18748@node Concept Index 18749@unnumbered Concept Index 18750 18751@printindex cp 18752 18753 18754@bye |