summaryrefslogtreecommitdiff
path: root/info/texinfo-1
diff options
context:
space:
mode:
Diffstat (limited to 'info/texinfo-1')
-rw-r--r--info/texinfo-11283
1 files changed, 1283 insertions, 0 deletions
diff --git a/info/texinfo-1 b/info/texinfo-1
new file mode 100644
index 00000000000..1471ecc041b
--- /dev/null
+++ b/info/texinfo-1
@@ -0,0 +1,1283 @@
+Info file ../info/texinfo, produced by Makeinfo, -*- Text -*- from
+input file texinfo.texinfo.
+
+This file documents Texinfo, a documentation system that uses a
+single source file to produce both on-line help and a printed manual.
+
+This is edition 1.1 of the Texinfo documentation, and is for the
+Texinfo that is distributed as part of Version 18 of GNU Emacs.
+
+Copyright (C) 1988 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Foundation.
+
+
+
+File: texinfo, Node: Top, Next: License, Prev: (dir), Up: (dir)
+
+* Menu:
+
+* License:: Licensing information.
+* Overview:: What is Texinfo?
+* Texinfo Mode:: Special features in GNU Emacs.
+* Beginning a File:: What to put at the beginning of a Texinfo file.
+* Ending a File:: What to put at the end of a Texinfo file.
+* Structuring:: How to make nodes and chapters.
+* Quotations and Examples:: How to insert quotations and examples.
+* Lists and Tables:: How to make lists and tables.
+* Cross References:: How to make cross references.
+* Formatting Paragraphs:: How to format paragraphs.
+* Marking Text:: How to mark code, definitions, variables etc.
+* Conditionals:: Putting text in only Info or the printed work.
+* Printing Hardcopy:: How to print a hardcopy of the manual.
+* Creating an Info File:: How to create an on-line Info file.
+* Catching Mistakes:: How to find problems.
+
+Indices, nodes containing large menus
+
+* Command Index:: An item for each @-command.
+* Concept Index:: An item for each concept.
+
+A detailed node listing
+
+Overview
+* Info File:: Characteristics of the Info file.
+* Printed Manual:: Characteristics of the printed manual.
+* Conventions:: General syntactic conventions.
+* Short Sample:: A short sample Texinfo file.
+
+Using Texinfo Mode
+* Info on a Region:: Formatting a region for Info.
+* Showing the Structure:: Showing the structure of a file.
+* Inserting:: Inserting frequently used commands.
+
+Beginning a Texinfo File.
+* First Line:: The first line of a Texinfo file.
+* Start-of-Header:: Identifying the start of the header.
+* Setfilename:: Specifying the name of the Info file.
+* Settitle:: Specifying the title used by the headings.
+* Setchapternewpage:: Starting chapters on odd numbered pages.
+* Titlepage:: The title and copyright page.
+* Center:: Centering a line.
+* Copyright & Printed Permissions:: Ensuring free distributability.
+* Top Node:: The master menu.
+* License and Distribution:: Your are free to copy and distribute this.
+
+Ending a Texinfo File
+* Contents:: Generating tables of contents.
+* Indices:: Generating indices.
+* Index Entries:: Defining the entries of an index.
+* Combining Indices:: Putting two or more indices together.
+* Printing Indices & Menus:: Printing an index and generating menus.
+
+Node and Chapter Structuring
+* Chapter:: Creating a chapter.
+* Unnumbered and Appendix:: Chapter-like parts.
+* Section:: Creating sections
+* Subsection:: Creating subsections.
+* Subsubsection:: Creating subsubsections.
+
+* Node:: Creating nodes.
+* Menu:: Creating menus.
+
+
+Making quotations and examples
+* Quotation:: Inserting long quotations.
+* Example:: Inserting examples of code and the like.
+* Display:: Inserting displayed text.
+
+Making lists and two column tables
+* Itemize:: Creating itemized lists.
+* Enumerate:: Creating enumerated lists.
+* Table:: Creating two column tables.
+* Itemx:: Putting an extra item in the
+ first column of a table.
+
+Making Cross References
+* Xref:: Making a regular cross reference.
+* Pxref:: Making a parenthetical cross reference.
+* Inforef:: Making a cross reference to an Info file.
+
+
+Formatting Paragraphs
+* Refilling & Noindent:: Refilling paragraphs
+ and preventing indentation
+* Refill:: Using the `@refill' command.
+* Noindent:: Using the `@noindent' command.
+
+
+Breaks, Blank Lines and Groups
+* Line Breaks:: Inserting line breaks in TeX.
+* Sp:: Inserting blank lines.
+* Br:: Inserting paragraph breaks.
+* W:: Preventing line breaks.
+* Page:: Starting new pages.
+* Group:: Holding text together on one page.
+* Need:: Keeping text together.
+
+Marking Text Within a Paragraph
+* Code:: A literal example of a piece of a program.
+* Samp:: A literal example of a sequence of characters.
+* File:: The name of a file.
+* Kbd:: The names of keys or else characters you type.
+* Key:: The conventional name for a key on a keyboard.
+* Ctrl:: Indicates the ASCII control character.
+* Var:: A variable.
+* Dfn:: The introductory or defining use of a term.
+* Cite:: The name of a book.
+
+Inserting Braces, `@' and Periods
+* Braces Atsigns Periods:: Inserting braces, `@' and periods.
+* Dots Bullets Tex:: Inserting dots, bullets and the TeX logo
+* Emphasis:: Emphasizing text.
+
+Emphasizing Text
+* Emph and Strong:: Emphasizing text.
+* Fonts:: Selecting italic, bold or typewriter fonts.
+
+Creating an Info File
+* Installing an Info File:: Putting the Info file in the
+ `info' directory.
+
+Catching Mistakes
+* Debugging with Info:: Catching errors with info formatting.
+* Using the Emacs Lisp Debugger:: Using the Emacs Lisp Debugger
+* Debugging with Tex:: Catching errors with TeX formatting.
+* Using texinfo-show-structure:: Using `texinfo-show-structure'
+ to catch mistakes.
+* Using Occur:: Using `occur' to catch mistakes.
+* Running Info-Validate:: Checking for unreferenced nodes.
+
+Finding badly referenced nodes
+* Info-Validating a Large File:: Running `Info-validate'
+ on a large file.
+* Splitting:: Splitting a file manually.
+
+Appendices
+* Command Syntax:: Details about the syntax.
+* Include Files:: Making one printed file out of
+ several Info files.
+* TeX Input:: Where TeX finds its `\input' file.
+* Sample Permissions:: You may copy GNU Software.
+* Ifinfo Permissions:: What to put in the `ifinfo' section.
+* Titlepage Permissions:: What to put in the `@titlepage' section.
+
+
+
+File: texinfo, Node: License, Next: Overview, Prev: Top, Up: Top
+
+Licensing Information
+*********************
+
+ The programs currently being distributed that relate to Texinfo
+include two portions of GNU Emacs, plus two other separate programs
+(`texindex' and `texinfo.tex'). These programs are "free"; this
+means that everyone is free to use them and free to redistribute them
+on a free basis. The Texinfo related programs are not in the public
+domain; they are copyrighted and there are restrictions on their
+distribution, but these restrictions are designed to permit
+everything that a good cooperating citizen would want to do. What is
+not allowed is to try to prevent others from further sharing any
+version of these programs that they might get from you.
+
+ Specifically, we want to make sure that you have the right to give
+away copies of the programs that relate to Texinfo, that you receive
+source code or else can get it if you want it, that you can change
+these programs or use pieces of them in new free programs, and that
+you know you can do these things.
+
+ To make sure that everyone has such rights, we have to forbid you to
+deprive anyone else of these rights. For example, if you distribute
+copies of the Texinfo related programs, you must give the recipients
+all the rights that you have. You must make sure that they, too,
+receive or can get the source code. And you must tell them their
+rights.
+
+ Also, for our own protection, we must make certain that everyone
+finds out that there is no warranty for the programs that relate to
+Texinfo. If these programs are modified by someone else and passed
+on, we want their recipients to know that what they have is not what
+we distributed, so that any problems introduced by others will not
+reflect on our reputation.
+
+ The precise conditions of the licenses for the programs currently
+being distributed that relate to Texinfo are found in the General
+Public Licenses that accompany them. The programs that are part of
+GNU Emacs are covered by the GNU Emacs copying terms (*note :
+(emacs)License.), and other programs are covered by licenses that are
+contained in their source files.
+
+
+
+File: texinfo, Node: Overview, Next: Texinfo Mode, Prev: License, Up: Top
+
+Overview of Texinfo
+*******************
+
+Texinfo is a documentation system that uses a single source file for
+both on-line help and a printed manual. This means that instead of
+writing two different documents, one for the on-line help and the
+other for the printed manual, only one document needs to be written.
+When the system is revised, only one file has to be revised.
+
+Using Texinfo, you can create a document with the normal features of
+a book such as chapters, sections, cross references and indices. The
+chapters and sections of the printed manual can be made to correspond
+to the nodes of the on-line help. The cross references and indices
+can be used in both the on-line help and in the printed document.
+Indices are generated semi-automatically. The ``GNU Emacs Manual''
+is a good example of a Texinfo file.
+
+To make the printed manual, the Texinfo source file is processed by
+the TeX typesetting program; the resulting DVI file can be typeset
+and printed as a book. To make the on-line help, the Texinfo source
+file is by processed the `M-x texinfo-format-buffer' command; the
+resulting Info file is installed in the `info' directory.
+
+Since the Texinfo source file is used for a dual task--to create both
+the on-line help and the printed manual--it must be written in a
+special format that uses @-commands (words preceded by an `@') to
+indicate chapters, sections, nodes, examples, index entries and the
+like.
+
+Before writing a Texinfo source file, you should be familiar with the
+on-line Info documentation reading program. (*note info: (info)Info,
+for more information.) If you are writing a document that will be
+both on-line and printed, you will need both Info and TeX.
+
+To make an Info file, you use the `M-x texinfo-format-buffer' command
+in GNU Emacs.
+
+To make a printed manual, you need to use TeX, a powerful,
+sophisticated typesetting program written by Donald Knuth. TeX is
+freely distributable. It is written in a dialect of Pascal called WEB
+and can be compiled either in Pascal or (by using a conversion
+program that comes with the TeX distribution) in C. (For information
+about getting TeX, *note : (emacs)TeX Mode.)
+
+When TeX processes a Texinfo source file, TeX makes use of a macro
+definitions file called `texinfo.tex' that comes with the GNU Emacs
+distribution in the `emacs/man' sources directory. (The first line
+of every Texinfo file has a command that says `\input texinfo'; this
+tells TeX to use the `texinfo.tex' file.)
+
+If the `texinfo.tex' file has not already been copied to the
+directory which contains the other TeX macro definition files when
+Emacs was installed, you will probably want to copy it to that
+directory. Usually, this is the `/usr/lib/tex/macros' directory.
+For more information, *note @TeX{} Input Initialization: TeX Input.
+
+Documentation for GNU utilities and libraries should be written in
+Texinfo format.
+
+* Menu:
+
+* Info File:: Characteristics of the Info file.
+* Printed Manual:: Characteristics of the Printed Manual.
+* Conventions:: General Syntactic Conventions.
+* Short Sample:: A short sample Texinfo file.
+
+
+
+File: texinfo, Node: Info File, Next: Printed Manual, Up: Overview
+
+Characteristics of the Info file
+================================
+
+A Texinfo file can be transformed into a printed manual and an
+on-line Info file.
+
+An on-line Info file is a file formatted so that the Info
+documentation reading program can operate on it. Info files are
+divided into pieces called "nodes", each of which contains the
+discussion of one topic. Each node has a name, and contains both
+text for the user to read and pointers to other nodes, which are
+identified by their names. The Info program displays one node at a
+time, and provides commands with which the user can move to the other
+nodes to which the current node points.
+
+*note info: (info)Info, for more information about using Info.
+
+Normally, most of the nodes are arranged in a tree which branches down.
+Each node may have any number of child nodes that describe subtopics
+of the node's topic. The names of these child nodes, if any, are
+listed in a "menu" within the parent node; this allows certain Info
+commands to be used to move to one of the child nodes. Each child
+node records the parent node name, as its `Up' pointer. Thus, if a
+node were at the logical level of a `chapter', its child nodes would
+be `sections'; likewise, the child nodes of a section would be
+subsections.
+
+The root of the tree is the top node of the file, through which users
+enter the file from the Info directory. By convention, this node is
+always called `Top'. This node normally contains just a brief
+summary of the file's purpose, and a large menu through which the
+rest of the file is reached.
+
+Generally you enter the Info file from the top; then you can either
+traverse the file systematically by going from node to node or you
+can search large menus that correspond to indices and go directly to
+the node that has the information you want.
+
+If you want to read through an Info file in sequence, as if it were a
+printed manual, you can get the whole file with the advanced Info
+command `g *'. (*note info: (info)Expert.)
+
+All the children of any one parent are linked together in a
+bidirectional chain of `Next' and `Previous' pointers. This means
+that all the nodes that are logically parallel to sections within a
+chapter are all linked together. Normally the order in this chain is
+the same as the order of the children in the parent's menu. The last
+child has no `Next' pointer, and the first child normally has the
+parent as its `Previous' pointer (as well as its `Up' pointer, of
+course).
+
+Structuring the nodes in a tree is a matter of convention, not a
+requirement. In fact, the `Up', `Previous' and `Next' pointers of a
+node can point to any other nodes, and the menu can contain any other
+nodes. The structure of nodes can be any directed graph. But it is
+usually more comprehensible to make it a tree. Info provides another
+kind of pointer between nodes, called a reference, that can be
+sprinkled through the text of a node. This is usually the best way
+to represent links that do not fit the tree structure.
+
+Most often the nodes fall into a strict tree structure that
+corresponds to the structure of chapters and sections in the printed
+manual. But there are times when this is not right for the material
+being discussed. Therefore, Texinfo uses separate commands to
+specify the node structure of the Info file and the section structure
+of the printed manual. Also, Texinfo requires that you specify menus
+explicitly, rather than generate them automatically based on an
+assumed tree structure.
+
+
+
+File: texinfo, Node: Printed Manual, Next: Conventions, Prev: Info File, Up: Top
+
+Characteristics of the Printed Manual
+=====================================
+
+A Texinfo file can be formatted and typeset as a printed manual. The
+printed manual will be the same as any other book; it will have a
+title page, copyright page, table of contents, and preface as you
+would expect, as well as chapters, numbered or unnumbered sections
+and subsections, not to mention page headers, cross references and
+indices.
+
+Texinfo can be used for writing a book without ever having the
+intention of converting it into on-line help. Texinfo can be used
+for writing a novel; and it can even be used to write a memo,
+although this application is not recommended since electronic mail is
+so much easier.
+
+Texinfo uses the formatting language called TeX for typesetting. A
+file called `texinfo.tex' contains information (definitions or
+"macros") that TeX uses when it typesets a Texinfo file. (The macros
+tell TeX how to convert the Texinfo @-commands to TeX commands which
+TeX can then process to create the typeset document.) `texinfo.tex'
+contains the specifications for printing a document, either with 7
+inch by 9.25 inch pages or with 8.5 inch by 11 inch pages. (This is
+178 mm by 235 mm or else 216 mm by 280 mm.) Also, by changing the
+parameters in `texinfo.tex' you can easily change the size of the
+printed document. In addition, you can readily change the style in
+which the printed document is formatted; for example, you can change
+the sizes and fonts used, the amount of indentation for each
+paragraph, the degree to which words are hyphenated, and the like.
+By changing the specifications, you can make a book look dignified,
+old and serious, or light-hearted, young and cheery.
+
+TeX is very powerful and has a great many features. Because a
+Texinfo file must be able to present information both on a
+character-only terminal in Info form and in a typeset book, the
+commands that Texinfo supports are necessarily limited.
+
+
+
+File: texinfo, Node: Conventions, Next: Short Sample, Prev: Printed Manual, Up: Overview
+
+General Syntactic Conventions
+=============================
+
+Texinfo files contain a strictly limited set of constructs. The
+strict limits make it possible for Texinfo files to be understood
+both by TeX and by the code which converts them into Info files.
+
+All ASCII printing characters except `@', `{' and `}' can appear in
+body text in a Texinfo file and stand for themselves. `@' is the
+escape character which introduces commands. `{' and `}' should be
+used only to surround arguments to certain commands. `{' and `}'
+appearing anywhere else will be treated by TeX as a grouping but
+treated by the code that produces an Info file as themselves; this
+inconsistency is undesirable, so don't let it occur. To put one of
+these special characters into the document, put an `@' character in
+front of it. For example, you would insert `@@', `@{', and `@}'.
+
+It is customary in TeX to use doubled single-quote characters to
+begin and end quotations, `"' like these `"'. This convention should
+be followed in Texinfo files. Also, three hyphens in a row, `--',
+are used for a dash--like this. In TeX, a single or even a double
+hyphen produces a dash that is shorter than you want.
+
+TeX ignores the line-breaks in the input text, except for blank
+lines, which separate paragraphs. Info generally preserves the line
+breaks that are present in the input file. Therefore, break the
+lines in the Texinfo file the way you want them to appear in the
+output Info file, and let TeX take care of itself.
+
+Since Info does not normally refill paragraphs when it processes
+them, a line with @-commands in it will sometimes look bad after Info
+has run on it. To cause Info to refill the paragraph after finishing
+with the other processing, you need to put the command `@refill' at
+the end of the paragraph. (*Note Refilling paragraphs and Preventing
+indentation: Refilling & Noindent.)
+
+To prevent a paragraph from being indented in the printed manual, put
+the command `@noindent' on a line by itself before the start of the
+text that should not be indented.
+
+If you mark off a region of the Texinfo file with the `@iftex' and
+`@end iftex' commands so that the region will appear only in the
+printed copy, you can use TeX commands that cannot be used in the
+Info file.
+
+In order to be made into a printed manual, a Texinfo file *must*
+begin with lines that looks like
+
+ \input texinfo @c -*-texinfo-*-
+ @setfilename INFO-FILE-NAME
+ @settitle NAME OF MANUAL
+
+The `\input texinfo' line tells TeX to use the `texinfo.tex' file.
+This line is usually followed by a start-of-header line (not shown
+here) and then by the `@setfilename INFO-FILE-NAME' and `@settitle
+NAME OF MANUAL' lines. These two lines are needed to provide a name
+for the Info file and to specify the name used on the left-hand page
+headers of the printed manual.
+
+The two lines that contain the `@setfilename' and `@settitle'
+commands usually are sandwiched between the start-of-header line and
+the end-of-header line. (*Note Start-of-Header::, for more
+information.) The start-of-header and end-of-header lines are needed
+if you are going to run TeX or Info on just part of a file.
+
+
+
+File: texinfo, Node: Short Sample, Prev: Conventions, Up: Overview
+
+A Short Sample Texinfo File
+===========================
+
+A Texinfo file looks like the following, which is a complete but very
+short Texinfo file. The `@comment' command introduces comments that
+will not appear in either the Info file or the printed manual; they
+are for the person who reads the Texinfo file.
+
+The first part of the file, from `\input texinfo' through to `@end
+titlepage', looks more intimidating than it is. Most of the material
+is standard boilerplate; when you write a manual, you just put in the
+name of your own manual in this section.
+
+All the commands that tell TeX how to typeset the printed manual and
+tell `texinfo-format-buffer' how to create an Info file are preceded
+by `@'; thus, `@node' indicates a node and `@chapter' indicates the
+start of a chapter.
+
+ \input texinfo @c -*-texinfo-*-
+ @setfilename name-of-texinfo-file
+ @settitle Name of Manual
+ @setchapternewpage odd
+
+ @ifinfo
+ @comment The following line inserts the copyright notice
+ @comment into the Info file.
+ Copyright @copyright{} 1988 Free Software Foundation, Inc.
+ @end ifinfo
+
+ @comment The titlepage section does not appear in the Info file.
+ @titlepage
+ @sp 10
+ @comment The title is printed in a large font.
+ @center @titlefont{Sample Title}
+
+ @comment The following two commands start the copyright page
+ @comment for the printed manual. This will not appear in the Info file.
+ @page
+ @vskip 0pt plus 1filll
+ Copyright @copyright{} year copyright-owner
+ @end titlepage
+
+ @comment The Top node contains the master menu for the Info file.
+ @comment This appears only in the Info file, not the printed manual.
+
+ @node Top, First Chapter, (dir), (dir)
+ @comment node-name, next, previous, up
+
+ @menu
+ * First Chapter:: The first chapter is the
+ only chapter in this sample.
+ @end menu
+
+ @node First Chapter, , Top, Top
+ @comment node-name, next, previous, up
+ @chapter First Chapter
+ @cindex Reference to First Chapter
+
+ This is the contents of the first chapter.
+
+ Here is a numbered list.
+
+ @enumerate
+ @item
+ This is the first item.
+
+ @item
+ This is the second item.
+ @end enumerate
+
+ The @kbd{M-x texinfo-format-buffer} command transforms a Texinfo file
+ like this into an Info file; and @TeX{} typesets it for a printed
+ manual.
+
+ @node Concept Index, , Previous Node, Top
+ @comment node-name, next, previous, up
+ @unnumbered Concept Index
+
+ @printindex cp
+
+ @contents
+ @bye
+
+Here is what the contents of the first chapter of the sample look like:
+
+ This is the contents of the first chapter.
+
+ Here is a numbered list.
+
+ 1. This is the first item.
+
+ 2. This is the second item.
+
+ The `M-x texinfo-format-buffer' command transforms a Texinfo
+ file like this into an Info file; and TeX typesets it for a
+ printed manual.
+
+
+
+File: texinfo, Node: Texinfo Mode, Next: Beginning a File, Prev: Overview, Up: Top
+
+Using Texinfo Mode
+******************
+
+In GNU Emacs, Texinfo mode is a major mode for editing Texinfo files.
+This means that Emacs has commands and features especially designed
+for working with Texinfo files. Like all other Emacs features, you
+can customize or enhance these as you wish. In particular, the
+keybindings are very easy to change. The keybindings described here
+are the default or standard ones.
+
+The major features of Texinfo mode are:
+
+ * Paragraph filling control.
+
+ * A command to show the structure of the file.
+
+ * Pre-defined keystroke commands to insert commonly used strings
+ of text.
+
+ * Formatting a part of a file for Info, rather than the whole file.
+
+In general, in Texinfo mode, the GNU Emacs editing commands are like
+those in text-mode. The major difference is that the paragraph
+separation variable and syntax table are set up so expression
+commands skip Texinfo bracket groups. This means, for example, that
+the `M-q' (`fill-paragraph') command will refill a paragraph but not
+the @-command on a line adjacent to it.
+
+By convention, the Texinfo file name shall end with the extension
+`.texinfo' so that Emacs knows to use Texinfo mode for editing it.
+
+* Menu:
+
+* Info on a Region:: Formatting part of a file for Info.
+* Showing the Structure:: Showing the structure of a file.
+* Inserting:: Inserting frequently used commands.
+
+
+
+File: texinfo, Node: Info on a Region, Next: Showing the Structure, Prev: Texinfo Mode, Up: Texinfo Mode
+
+Formatting a Region for Info
+============================
+
+To see what part of a Texinfo file will look like after it has been
+transformed into an Info file, use the command `C-c C-f'
+(`texinfo-format-region'). This command formats the current region
+of the Texinfo file for Info and writes it to a temporary buffer
+called `*Info Region*'.
+
+For `texinfo-format-region' to work, the file *must* include a line
+that has `@setfilename' in its header.
+
+The command is:
+
+`C-c C-f'
+ texinfo-format-region
+
+
+
+File: texinfo, Node: Showing the Structure, Next: Inserting, Prev: Info on a Region, Up: Texinfo Mode
+
+Showing the Structure of a File
+===============================
+
+You can show the structure of a Texinfo file by using the `C-c C-s'
+command (`texinfo-show-structure'). This command shows the structure
+of a Texinfo file by listing the lines with the @-commands for
+`@node', `@chapter', `@section' and the like. These lines are
+displayed in another window called the `*Occur*' window. In that
+window, you can position the cursor over one of the lines and use the
+`C-c C-c' command (`occur-mode-goto-occurrence'), to jump to the
+corresponding spot in the Texinfo file.
+
+The two commands are:
+
+`C-c C-s'
+ texinfo-show-structure
+
+`C-c C-c'
+ occur-mode-goto-occurrence
+
+Often, when you are working on a manual, you will be interested only
+in the structure of the current chapter. In this case, you can mark
+off the region of the buffer that you are interested in with the `C-x
+n' (`narrow-to-region') command and `texinfo-show-structure' will
+work on only that region. (To see the whole buffer again, use `C-x
+w' (`widen').)
+
+
+
+File: texinfo, Node: Inserting, Prev: Showing the Structure, Up: Texinfo Mode
+
+Inserting Frequently Used Commands
+==================================
+
+Texinfo mode provides commands that insert various frequently used
+@-commands into the buffer. You can use these commands to save
+keystrokes. And you can insert balanced curly braces with the `M-{'
+command, (`texinfo-insert-braces') and later use the `M-}' command
+(`up-list') to move forward past the closing brace.
+
+The special commands are invoked by typing `C-c' twice and then the
+first letter of the @-command.
+
+`C-c C-c c'
+ texinfo-insert-@code
+
+`C-c C-c d'
+ texinfo-insert-@dfn
+
+`C-c C-c e'
+ texinfo-insert-@end
+
+`C-c C-c i'
+ texinfo-insert-@item
+
+`C-c C-c n'
+ texinfo-insert-@node
+
+`C-c C-c s'
+ texinfo-insert-@samp
+
+`C-c C-c v'
+ texinfo-insert-@var
+
+`M-{'
+ texinfo-insert-braces
+
+`M-}'
+ up-list
+
+This list was generated by analyzing the frequency with which
+commands were used in the ``GNU Emacs Manual'' and the ``GDB
+Manual''. If you wish to add your own insert commands, you can bind
+a keyboard macro to a key, use abbreviations or extend the code in
+`texinfo.el'.
+
+
+
+File: texinfo, Node: Beginning a File, Next: Ending a File, Prev: Texinfo Mode, Up: Top
+
+Beginning a Texinfo File
+************************
+
+Various pieces of information have to be provided to Texinfo at the
+beginning of a Texinfo file, such as the name of the file, the title
+of the document and the like. Generally, the beginning of a Texinfo
+file has four parts:
+
+ 1. The header, marked by start-of-header and end-of-header lines,
+ that includes the commands for naming the Texinfo file and
+ telling TeX what definitions' file to use when processing the
+ file.
+
+ 2. A section, marked by the `@ifinfo' and `@end ifinfo' commands,
+ that contains a short statement of what the file is about, the
+ copyright notice and copying permissions. This section appears
+ only in the Info file.
+
+ 3. A section, marked by the `@titlepage' and `@end titlepage'
+ commands, that contains the title page, the copyright page and
+ copying permissions. This section appears only in the printed
+ manual.
+
+ 4. The `Top' node that contains an extensive menu for the whole
+ Info file. The contents of this node only appear in the Info
+ file.
+
+If the Texinfo file has a section containing licensing information
+and a warranty disclaimer, that section usually follows the `Top'
+node. The licensing section will be followed by a preface or else by
+the first chapter of the manual.
+
+Since the copyright notice and the copying permissions are in
+sections that appear only in the Info file or only in the printed
+manual, this information has to be repeated twice.
+
+The following sample shows what is needed.
+
+ \input texinfo @c -*-texinfo-*-
+ @comment %**start of header (This is for running Texinfo on a region.)
+ @setfilename name-of-texinfo-file
+ @settitle Name of Manual
+ @setchapternewpage odd
+ @comment %**end of header (This is for running Texinfo on a region.)
+
+ @ifinfo
+ This file documents ...
+
+ Copyright @copyright{} year copyright-owner
+
+ Permission is granted to ...
+ @end ifinfo
+
+ @titlepage
+ @sp 10
+ @center @titlefont{Name of Manual When Printed}
+ @sp 2
+ @center Subtitle, If Any
+ @sp 2
+ @center Author
+
+ @comment The following two commands start the copyright page.
+ @page
+ @vskip 0pt plus 1filll
+ Copyright @copyright{} year copyright-owner
+
+ Published by ...
+
+ Permission is granted to ...
+ @end titlepage
+
+
+ @node Top, Overview, (dir), (dir)
+
+ @menu
+ * First Chapter:: The first chapter is usually an overview.
+ * Second Chapter:: ...
+ <many more menu items here>
+ @end menu
+
+ @node First Chapter, Second Chapter, top, top
+ @comment node-name, next, previous, up
+ @chapter First Chapter
+ @cindex Reference to First Chapter
+
+* Menu:
+
+* Header:: Necessary first lines.
+* Permissions for Info:: Copyright notice and copying permissions.
+* Titlepage & Copyright Page:: Printed title and copyright pages.
+* Top Node:: The top node and master menu.
+* License and Distribution:: The importance of the license.
+
+
+
+File: texinfo, Node: Header, Next: Permissions for Info, Prev: Beginning a File, Up: Beginning a File
+
+The Texinfo File Header
+=======================
+
+Texinfo files start with at least three lines that provide Info and
+TeX with necessary information. If you want to run TeX on just a
+part of the Texinfo File, you also have to mark these heading lines
+with start-of-header and end-of-header lines.
+
+* Menu:
+
+* First Line:: The first line of a Texinfo file.
+* Start-of-Header:: Identifying the start of the header.
+* Setfilename:: Specifying the name of the Info file.
+* Settitle:: Specifying the title used by the headings.
+* Setchapternewpage:: Starting chapters on odd numbered pages.
+* End-of-Header:: Identifying the end of the header.
+
+
+
+File: texinfo, Node: First Line, Next: Start-of-Header, Prev: Header, Up: Header
+
+The First Line of a Texinfo File
+--------------------------------
+
+Every Texinfo file that is to be the top-level input to TeX must
+begin with a line that looks like this:
+
+ \input texinfo @c -*-texinfo-*-
+
+The line serves two functions:
+
+ 1. When the file is processed by TeX, it loads the macros needed
+ for processing a Texinfo file. These are in a file called
+ `texinfo.tex' which is usually located in the
+ `/usr/lib/tex/macros' directory.
+
+ 2. When the file is edited in GNU Emacs, it causes Texinfo mode to
+ be used.
+
+The `\input texinfo' line should be followed by the start-of-header
+line. This makes it possible for the command for running TeX on a
+part of the Texinfo file (`texinfo-hardcopy-region') to operate. The
+reason for this is that the `texinfo-hardcopy-region' command will
+look on the line preceding the start-of-header line for the `\input
+texinfo' line.
+
+
+
+File: texinfo, Node: Start-of-Header, Next: Setfilename, Prev: First Line, Up: Header
+
+`start-of-header'
+-----------------
+
+The start-of-header line should immediately follow the first line of
+the Texinfo file.
+
+The `texinfo-hardcopy-region' command will look at the line preceding
+the start-of-header line to find the `\input texinfo' line.
+
+Usually, the start-of-header line looks like this:
+
+ @comment %**start of header (This is for running Texinfo on a region.)
+
+The reason for the odd string of characters (`%**') is so that the
+`texinfo-hardcopy-region' command does not accidently find something
+that it shouldn't when it is looking for the header.
+
+In the default configuration, the phrase `(This is for running
+Texinfo on a region.)' is not needed and is just included to make it
+easier for someone reading the Texinfo file.
+
+The start-of-header line and the end-of-header line are Texinfo mode
+variables that you can change.
+
+
+
+File: texinfo, Node: Setfilename, Next: Settitle, Prev: Start-of-Header, Up: Header
+
+@setfilename
+------------
+
+In order to be made into an Info file, a Texinfo file must contain a
+line that looks like this:
+
+ @setfilename INFO-FILE-NAME
+
+This line specifies the name of the Info file to be generated. In
+fact, there can be other things in the file before this line, but
+they are ignored in the generation of an Info file. The
+`@setfilename' line is ignored when a printed manual is generated.
+
+
+
+File: texinfo, Node: Settitle, Next: Setchapternewpage, Prev: Setfilename, Up: Header
+
+@settitle
+---------
+
+In order to be made into a printed manual file, a Texinfo file must
+contain a line that specifies the title of the manual. Texinfo uses
+this information during printing to put the title on every other page
+as a heading; Texinfo puts the current chapter title on the other
+pages. Texinfo can find the name of the chapter title from the
+information provided by the `@chapter' command, but you must tell it
+the manual title with `@settitle':
+
+ @settitle TITLE
+
+This command, on a line by itself, causes TITLE to be used for the
+headings. Usually, you will use the same words for the title on the
+title page and for the title specified by this command for the
+headings, but the two could be different. For example, the title on
+the title page may be longer than the title specified by the
+`settitle' command.
+
+The `@settitle' command should precede everything that generates
+actual output.
+
+
+
+File: texinfo, Node: Setchapternewpage, Next: End-of-Header, Prev: Settitle, Up: Header
+
+@setchapternewpage
+------------------
+
+Conventionally, chapters start on the page on the right hand side of
+a book; and the right hand page has an odd number. To make sure that
+Texinfo does this, you can use the command `@setchapternewpage'. For
+example, to cause each chapter to start on a fresh odd-numbered page:
+
+ @setchapternewpage odd
+
+Page numbering is turned on by the `@end titlepage' command, so the
+`@setchapternewpage' should come before it. Although it can occur
+anywhere in the beginning of the file, it is most convenient to put
+it in this location.
+
+
+
+File: texinfo, Node: End-of-Header, Prev: Setchapternewpage, Up: Header
+
+`end-of-header'
+---------------
+
+The end-of-header line should follow the line containing the
+`@setchapternewpage' command.
+
+Usually, the end-of-header line looks like this:
+
+ @comment %**end of header (This is for running Texinfo on a region.)
+
+In the default configuration, the phrase `(This is for running
+Texinfo on a region.)' is not needed and is just included to make it
+easier for someone reading the Texinfo file.
+
+The reason for the odd string of characters (`%**') is so that the
+`texinfo-hardcopy-region' command does not accidently find something
+that it shouldn't when it is looking for the header.
+
+The start-of-header line and the end-of-header line are Texinfo mode
+variables that you can change.
+
+
+
+File: texinfo, Node: Permissions for Info, Next: Titlepage & Copyright Page, Prev: Header, Up: Beginning a File
+
+Copying Permissions for Info
+============================
+
+Since the title page and the copyright page appear only in the
+printed copy of the manual, the same information has to inserted in a
+section that appears only in the Info file. This section usually
+contains a brief description of the contents of the Info file, a
+copyright notice and copying permissions.
+
+The copyright notice should read:
+
+ Copyright YEAR COPYRIGHT-OWNER
+
+and be put on a line by itself.
+
+Standard text for the copyright permissions is contained in the
+appendix. *Note Ifinfo Permissions::, for the complete text.
+
+
+
+File: texinfo, Node: Titlepage & Copyright Page, Next: Top Node, Prev: Permissions for Info, Up: Beginning a File
+
+The Title and Copyright Pages
+=============================
+
+The title and copyright pages appear in the printed manual, but not
+in the Info file. Because of this, it is possible to use a couple of
+slightly obscure TeX typesetting commands that could not be used in
+an Info file. In addition, this part of the beginning of a Texinfo
+file contains the text of the copying permissions that will appear in
+the printed manual.
+
+* Menu:
+
+* Titlepage:: Creating a title page for the printed manual.
+* Center:: Centering a line.
+* Copyright & Printed Permissions:: Inserting the copyright notice
+ and printed permissions.
+
+
+
+File: texinfo, Node: Titlepage, Next: Center, Prev: Titlepage & Copyright Page, Up: Titlepage & Copyright Page
+
+@titlepage
+----------
+
+Start the material for the title page and following copyright page
+with `@titlepage' on a line by itself and end it with `@end
+titlepage' on a line by itself. The title page and copyright page
+material appears only in the printed manual, not in the Info file.
+
+Also, the `@end titlepage' command starts a new page and turns on
+page numbering (generation of headings). Therefore, all the material
+that you want to appear on unnumbered pages should be put between the
+`@titlepage' and `@end titlepage' commands. By using the `@page'
+command you can force a page break within the region delineated by
+the `@titlepage' and `@end titlepage' commands and create more than
+one unnumbered page. This is how the copyright page is produced.
+
+To select a large font suitable for the title itself, you can use the
+command `@titlefont'. For example:
+
+ @center @titlefont{Texinfo}
+
+Also, you can use `@sp' commands to adjust vertical spacing. For
+example:
+
+ @sp 2
+
+In the sample, the spacing was chosen to fit an 8 1/2 by 11 inch
+manual.
+
+
+
+File: texinfo, Node: Center, Next: Copyright & Printed Permissions, Prev: Titlepage, Up: Titlepage & Copyright Page
+
+@center
+-------
+
+A line containing `@center TEXT' produces a line of output containing
+TEXT, centered between the margins.
+
+
+
+File: texinfo, Node: Copyright & Printed Permissions, Prev: Center, Up: Titlepage & Copyright Page
+
+The Copyright Page and Printed Permissions
+------------------------------------------
+
+By international treaty, the copyright notice for a book should
+either be on the title page or on the back of the title page. Other
+locations in a book are not official and do not provide copyright
+protection. The copyright notice should include the year followed by
+the name of the person or organization who has the copyright.
+
+When the copyright notice is on the back of the title page, the page
+is not numbered. Therefore, in Texinfo, the information on the
+copyright page should be within the region delineated by the
+`@titlepage' and `@end titlepage' commands.
+
+To cause a page break, the `@page' command is used. In the sample,
+the `@page' command is followed by the somewhat mysterious line that
+reads: `@vskip 0pt plus 1filll'. This is a line that uses TeX
+commands to push the copyright notice and the other text on the
+copyright page towards the bottom of the page. The `@vskip' command
+means to skip lines and put in white space. The `0pt plus 1filll'
+means to put in zero points of mandatory white space, and as much
+optional white space as needed. Note the use of three `l's in the
+word `filll'; this is the correct use in TeX.
+
+The `@copyright{}' command generates a `c' inside a circle. The
+copyright notice itself has the following legally defined sequence:
+
+ Copyright (C) YEAR COPYRIGHT-OWNER
+
+It is customary to put information on how to get a manual after the
+copyright notice (the address of the Free Software Foundation, for
+example) and the permissions.
+
+Note that the permissions have to be repeated here as well as in the
+`ifinfo' section that immediately follows the header since this
+section appears only in the printed manual and the `ifinfo' section
+appears only in the Info file.
+
+Standard text for the permissions appears in the appendix. *Note
+Sample Permissions::.
+
+
+
+File: texinfo, Node: Top Node, Next: License and Distribution, Prev: Titlepage & Copyright Page, Up: Beginning a File
+
+The Top Node and Master Menu
+============================
+
+The `Top' node contains an extensive, master menu for the whole Info
+file. The contents of this node appear only in the Info file.
+Nothing in this node should appear in the printed file. Since a node
+line by itself and a menu by itself are not printed, the contents of
+this node do not have to be within a region delineated by `@ifinfo'
+and `@end ifinfo' commands. However, any text within the node should
+be marked off in that manner. You may want to put a short summary
+before the master menu inside a region delineated by `@ifinfo' and
+`@end ifinfo' commands. Usually, the `Previous' and `Up' nodes refer
+to the top level directory of the whole Info system, with pointers to
+`(dir)'.
+
+Generally, the top menu is divided into parts.
+
+ * The first part contains the major nodes in the Texinfo file: the
+ nodes for the chapters, chapter-like sections and the major
+ appendices.
+
+ * The second part contains entries for the indices. In an Info
+ file, it is very useful to have indices here at the beginning of
+ the file in the top node rather than at the end, as in a printed
+ book.
+
+ * The third and subsequent parts contain a listing of the other,
+ lower level nodes, often ordered by chapter. This way, an
+ inquirer can go directly to a particular node if he or she is
+ searching for specific information. (These nodes are not
+ required; use them if you think they are a convenience.)
+
+Each section in the menu can be introduced a descriptive line. So
+long as the line does not begin with an asterisk, it will not be
+treated as a menu item. (*Note Making Menus: Menu, for more
+information.)
+
+For example, the Top node of this manual looks like this (but with
+many more entries):
+
+ @node Top, Overview, (dir), (dir)
+
+ @menu
+ * Overview:: What is Texinfo?
+ * Texinfo Mode:: Special features in GNU Emacs.
+ ...
+
+ Indices, nodes containing large menus
+
+ * Command Index:: An item for each @-command.
+ * Concept Index:: An item for each concept.
+
+ A detailed node listing
+
+ Overview
+ * Info File:: Characteristics of the Info file.
+ * Printed Manual:: Characteristics of the printed manual.
+
+ Using Texinfo Mode
+ * Info on a Region:: Formatting a region for Info.
+ * Showing the Structure:: Showing the structure of a file.
+ ...
+ ...
+
+
+
+File: texinfo, Node: License and Distribution, Prev: Top Node, Up: Beginning a File
+
+Licensing and Distribution Information
+======================================
+
+If the Texinfo file has a section containing the "General Public
+License" and the distribution information and a warranty disclaimer,
+this section usually follows the `Top' node. The licensing and
+distribution information and the disclaimer are followed by a preface
+or else by the first chapter of the manual.
+
+The licensing agreement is very important to Project GNU
+documentation and software. Without it, you may find that you can no
+longer get the software or its documentation. This sounds
+paradoxical, but the state of the world is such that documentation
+and software that does not have a "restrictive" license to make them
+freely distributable may be lost to the public. This has happened.
+
+For a good example of the text that could be used for the
+Distribution, General Public License and NO WARRANTY sections of your
+document, see the latest version of the ``GNU Emacs Manual''.
+
+Although a preface is not a required part of a Texinfo file, it is
+very helpful. Ideally, it should state clearly and concisely what
+the file is about and who would be interested in reading it. In
+general, the preface would follow the licensing and distribution
+information, although sometimes people put it earlier in the
+document. Usually, a preface is put in an `@unnumbered' section.
+(*Note Unnumbered and Appendix::.)
+
+
+
+File: texinfo, Node: Ending a File, Next: Structuring, Prev: Beginning a File, Up: Top
+
+Ending a Texinfo File
+*********************
+
+The end of a Texinfo file should include the indices, the commands to
+generate detailed and summary tables of contents and the @-command
+that tells TeX that it has reached the end of the file.
+
+For example, a Texinfo file might be ended as follows:
+
+ @node Concept Index, , Previous Node, Top
+ @comment node-name, next, previous, up
+ @unnumbered Concept Index
+
+ @printindex cp
+
+ @contents
+ @bye
+
+The `@bye' command should be on a line by itself and every Texinfo
+file must end with such a line. This command terminates TeX
+processing and forces out unfinished pages.
+
+* Menu:
+
+* Contents:: Generating a table of contents
+* Indices:: Generating, sorting and printing indices
+
+
+
+File: texinfo, Node: Contents, Next: Indices, Up: Ending a File
+
+Generating a Table of Contents
+==============================
+
+The commands `@chapter', `@section', etc., supply the information to
+make up a table of contents, but they do not cause an actual table to
+be generated. To do this, you must use the commands `@contents' and
+`@summarycontents'.
+
+`@contents'
+ The table of contents command outputs (into a printed manual) a
+ complete table of contents, based on the `@chapter',
+ `@unnumbered' and other sectioning commands. This command
+ should be used on a line by itself.
+
+`@summarycontents'
+ The summary contents command generates a summary table of
+ contents that lists only the chapters (and appendices and
+ unnumbered chapters); sections, subsections and subsubsections
+ are omitted. This command should be used on a line by itself.
+ Only large manuals need a summary table of contents.
+
+You can use either one of these commands, or both. Each command
+automatically generates a chapter-like heading at the top of the page.
+Tables of contents should be generated at the very end of the manual,
+just before the `@bye' command; the tables of contents commands
+should follow any indices that are output, so that the indices will
+appear in the contents.
+
+ INDICES...
+ @summarycontents
+ @contents
+ @bye
+
+The commands `@contents' and `@summarycontents' are ignored when an
+Info file is being generated.
+
+