Next: , Previous: , Up: Overview   [Contents][Index]

### 1.11 What a Texinfo File Must Have

By convention, the name of a Texinfo file ends with (in order of preference) one of the extensions .texinfo, .texi, .txi, or .tex. The longer extensions are preferred since they describe more clearly to a human reader the nature of the file. The shorter extensions are for operating systems that cannot handle long file names.

In order to be made into a good printed manual and other output formats, a Texinfo file must begin with lines like this:

```\input texinfo
@setfilename info-file-name
@settitle name-of-manual
```

The contents of the file follow this beginning, and then you must end the Texinfo source with a line like this:

```@bye
```

Here’s an explanation:

• The ‘\input texinfo’ line tells TeX to use the texinfo.tex file, which tells TeX how to translate the Texinfo @-commands into TeX typesetting commands. (Note the use of the backslash, ‘\’; this is correct for TeX.)
• The `@setfilename` line provides a name for the Info file and tells TeX to open auxiliary files. All text before `@setfilename` is ignored!
• The `@settitle` line specifies a title for the page headers (or footers) of the printed manual, and the default title and document description for the ‘<head>’ in HTML. Strictly speaking, `@settitle` is optional—if you don’t mind your document being titled ‘Untitled’.
• The `@bye` line at the end of the file on a line of its own tells the formatters that the file is ended and to stop formatting.

If you use Emacs, it is also useful to include mode setting and start-of-header and end-of-header lines at the beginning of a Texinfo file, like this:

```\input texinfo   @c -*-texinfo-*-
The `@c ...header` lines above which surround the `@setfilename` and `@settitle` lines allow you to process, within Emacs, just part of the Texinfo source. (See Start of Header.)