Texinfo


Texinfo is a typesetting syntax used for generating documentation in both on-line and printed form with a single source file. It is implemented by a computer program released as free software of the same name, created and made available by the GNU Project from the Free Software Foundation.
The main purpose of Texinfo is to provide a way to easily typeset software manuals. Similar to the LaTeX syntax, all the normal features of a book, such as chapters, sections, cross references, tables and indices are available for use in documents. Using the various output generators that are available for Texinfo, it is possible to keep several documentation types up-to-date using only a single source file.
The official Texinfo documentation states that the first syllable of "Texinfo" is pronounced so as to rhyme with "speck", not "hex"; this pronunciation is derived from the pronunciation of TeX, in which the X represents the Greek letter chi rather than the English letter x. The maintainers state that "Texinfo" should be written with only a capital "T" and the rest of the letters in lower case.

Output formats

In order to make it possible for several documentation output formats to be updated all at once, upon changing the original Texinfo source file, several syntax converters are available that can be used to generate translations of the Texinfo file into other formats. Most of these are created using the makeinfo program, which is part of the GNU Texinfo distribution.
;HTML
;DVI
;PDF
;Docbook
;XML
;Info
Notably, man is not available as an output format from the standard Texinfo tools. While Texinfo is used for writing the documentation of GNU software, which typically is used in Unix-like environments such as GNU/Linux, where man pages are the traditional format for documentation, the rationale for this is that man pages have a strict conventional format, used traditionally as quick reference guides, whereas typical Texinfo applications are for tutorials as well as reference manuals. As such, no benefit is seen in expressing Texinfo content in man page format. Moreover, many GNU projects eschew man pages almost completely, referring the reader of the provided man page to the Info document.

Texinfo source file

Texinfo enables structuring a document like a book with chapters, sections, cross references and indices. The source is almost plain text, but technically it is formatted text marked up by commands that begin with "@". A sample of a part of a source file:

@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

The commands mark structure such as chapters or denote a part of the source to be processed only for certain types of output.

History and status

Texinfo is used as the official documentation system for the GNU Project. Texinfo is licensed under the GNU General Public License.
The Texinfo format was created by Richard M. Stallman, combining another system for print output in use at MIT called BoTeX, with the online Info hyperlinked documentation system, also created by Stallman on top of the TECO implementation of Emacs. BoTeX itself was based an earlier system called Bolio, converted to use TeX for its output. Robert Chassell helped Stallman to create the first translator to create Info in Emacs Lisp. The Texinfo software distribution development was led by Brian Fox, Karl Berry, and by Gavin Smith.
Texinfo is "loosely based on Brian Reid's Scribe and other formatting languages of the time".