Node:Short Sample, Next:, Previous:Six Parts, Up:Overview



A Short Sample Texinfo File

Here is a very short but complete Texinfo file, in the six conventional parts enumerated in the previous section, so you can see how Texinfo source appears in practice. The first three parts of the file, from \input texinfo through to @end titlepage, look more intimidating than they are: most of the material is standard boilerplate; when writing a manual, you simply change the names as appropriate.

See Beginning a File, for full documentation on the commands listed here. See GNU Sample Texts, for the full texts to be used in GNU manuals.

In the following, the sample text is indented; comments on it are not. The complete file, without interspersed comments, is shown in Short Sample Texinfo File.

Part 1: Header

The header does not appear in either the Info file or the printed output. It sets various parameters, including the name of the Info file and the title used in the header.

     \input texinfo   @c -*-texinfo-*-
     @c %**start of header
     @setfilename sample.info
     @settitle Sample Manual 1.0
     @c %**end of header
     

Part 2: Summary Description and Copyright

A real manual includes more text here, according to the license under which it is distributed. See GNU Sample Texts.

     @copying
     This is a short example of a complete Texinfo file, version 1.0.
     
     Copyright @copyright{} 2003 Free Software Foundation, Inc.
     @end copying
     

Part 3: Titlepage, Contents, Copyright

The titlepage segment does not appear in the online output, only in the printed manual. We use the @insertcopying command to include the permission text from the previous section, instead of writing it out again; it is output on the back of the title page. The @contents command generates a table of contents.

     @titlepage
     @title Sample Title
     
     @c The following two commands start the copyright page.
     @page
     @vskip 0pt plus 1filll
     @insertcopying
     @end titlepage
     
     @c Output the table of contents at the beginning.
     @contents
     

Part 4: `Top' Node and Master Menu

The `Top' node contains the master menu for the Info file. Since the printed manual uses a table of contents rather than a menu, it excludes the `Top' node. We also include the copying text again for the benefit of online readers. Since the copying text begins with a brief description of the manual, no other text is needed in this case. The @top command itself helps makeinfo determine the relationships between nodes.

     @ifnottex
     @node Top
     @top Short Sample
     
     @insertcopying
     @end ifnottex
     
     @menu
     * First Chapter::    The first chapter is the
                            only chapter in this sample.
     * Index::            Complete index.
     @end menu
     

Part 5: The Body of the Document

The body segment contains all the text of the document, but not the indices or table of contents. This example illustrates a node and a chapter containing an enumerated list.

     @node First Chapter
     @chapter First Chapter
     
     @cindex chapter, first
     
     This is the first chapter.
     @cindex index entry, another
     
     Here is a numbered list.
     
     @enumerate
     @item
     This is the first item.
     
     @item
     This is the second item.
     @end enumerate
     

Part 6: The End of the Document

The end segment contains commands for generating an index in a node and unnumbered chapter of its own, and the @bye command that marks the end of the document.

     @node Index
     @unnumbered Index
     
     @printindex cp
     
     @bye
     

Some Results

Here is what the contents of the first chapter of the sample look like:

This is the first chapter.

Here is a numbered list.

  1. This is the first item.
  2. This is the second item.