Texinfo
Encyclopedia
Texinfo is a typesetting syntax used for generating documentation in both on-line and printed form (creating filetypes as dvi, html, pdf, etc., and its own hypertext format, info) with a single source file. It is implemented by a computer program
released as free and open source 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 (such as on-line documentation provided via a Web site, and printed documentation, as generated using the TeX
typesetting system) using only a single source file. As the manual notes, "TeX works with virtually all printers; Info
works with virtually all computer terminals; the HTML output works with virtually all Web browsers. Thus Texinfo can be used by almost any computer user."
HTML As HTML is the standard language for documents presented on the World Wide Web, this output format can effectively be used to produce online documentation pages. The manual notes that the makeinfo program attempts to restrict its output files to a certain subset of HTML markup that can be read by as many browsers as possible.
DVI The Device independent file format is output by the TeX
typesetting system, and can be used for generating device-specific commands that can be viewed or printed; for example, translation to PostScript
(ps files).
PDF Based on the PostScript language, this format was developed by Adobe Systems
for portable document interchange. Like the PostScript format, it can represent the exact appearance of a document and supports arbitrary scaling. It is intended to be platform-independent and can be viewed with a large variety of software. Texinfo uses the pdftex program, a variant of TeX, to output PDF.
Docbook This is an XML-based mark-up language for technical documentation that bears some resemblance to Texinfo, in broad outlines. It is also possible to convert Docbook files to Texinfo, using the docbook2X program.
XML For general purposes.
Info This is a specific format which essentially is a plain text version of the original Texinfo syntax in conjunction with a few control characters to separate nodes and provide navigational elements for menus, cross-references, sections, and so on. The Info format can be viewed with the info
program.
Notable is the lack of man as an output format from the standard Texinfo tools. True, Texinfo is used for writing the documentation of GNU
software, which typically is used in Unix-like
environments such as GNU/Linux
, where the traditional format for documentation is man. But the design rationale
for the standard Texinfo tools' omission of man as an output format 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 (which often describes itself as seldom maintained) to the Info document.
However, there are third party products to convert info pages to man pages (e.g. info2man). The benefit is that readers can use man and less/more and do not have to learn the emacs keys for info.
, but technically it is formatted text
marked up by commands that begin with "
only chapter in this sample.
@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.
. Texinfo is licensed under the GNU General Public License
.
The Texinfo format was created by Richard M. Stallman, while the Texinfo software distribution development was led by Brian Fox (up to version 3.8) and Karl Berry (afterwards).
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...
released as free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
of the same name, created and made available by the GNU Project
GNU Project
The GNU Project is a free software, mass collaboration project, announced on September 27, 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984...
from the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...
.
The main purpose of Texinfo is to provide a way to easily typeset software manuals. Similar to the LaTeX
LaTeX
LaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...
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 (such as on-line documentation provided via a Web site, and printed documentation, as generated using the TeX
TeX
TeX is a typesetting system designed and mostly written by Donald Knuth and released in 1978. Within the typesetting system, its name is formatted as ....
typesetting system) using only a single source file. As the manual notes, "TeX works with virtually all printers; Info
Info (Unix)
info is a software utility which forms a hypertextual, multipage documentation and help viewer working on a command line interface, useful when there is no GUI available....
works with virtually all computer terminals; the HTML output works with virtually all Web browsers. Thus Texinfo can be used by almost any computer user."
Output formats
In order to make it possible for several documentation output formats to be updated all at once, upon changing the original Texinfo (.texi) source file, several syntax converters are available that can be used to generate transliterations 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 As HTML is the standard language for documents presented on the World Wide Web, this output format can effectively be used to produce online documentation pages. The manual notes that the makeinfo program attempts to restrict its output files to a certain subset of HTML markup that can be read by as many browsers as possible.
DVI The Device independent file format is output by the TeX
TeX
TeX is a typesetting system designed and mostly written by Donald Knuth and released in 1978. Within the typesetting system, its name is formatted as ....
typesetting system, and can be used for generating device-specific commands that can be viewed or printed; for example, translation to PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
(ps files).
PDF Based on the PostScript language, this format was developed by Adobe Systems
Adobe Systems
Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...
for portable document interchange. Like the PostScript format, it can represent the exact appearance of a document and supports arbitrary scaling. It is intended to be platform-independent and can be viewed with a large variety of software. Texinfo uses the pdftex program, a variant of TeX, to output PDF.
Docbook This is an XML-based mark-up language for technical documentation that bears some resemblance to Texinfo, in broad outlines. It is also possible to convert Docbook files to Texinfo, using the docbook2X program.
XML For general purposes.
Info This is a specific format which essentially is a plain text version of the original Texinfo syntax in conjunction with a few control characters to separate nodes and provide navigational elements for menus, cross-references, sections, and so on. The Info format can be viewed with the info
Info (Unix)
info is a software utility which forms a hypertextual, multipage documentation and help viewer working on a command line interface, useful when there is no GUI available....
program.
Notable is the lack of man as an output format from the standard Texinfo tools. True, Texinfo is used for writing the documentation of GNU
GNU
GNU is a Unix-like computer operating system developed by the GNU project, ultimately aiming to be a "complete Unix-compatible software system"...
software, which typically is used in Unix-like
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
environments such as GNU/Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
, where the traditional format for documentation is man. But the design rationale
Design Rationale
A Design Rationale is an explicit documentation of the reasons behind decisions made when designing a system or artifact. As initially developed by W.R...
for the standard Texinfo tools' omission of man as an output format 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 (which often describes itself as seldom maintained) to the Info document.
However, there are third party products to convert info pages to man pages (e.g. info2man). The benefit is that readers can use man and less/more and do not have to learn the emacs keys for info.
Texinfo source file
Texinfo enables structuring a document like a book with chapters, sections, cross references and indices. The source is almost plain textPlain text
In computing, plain text is the contents of an ordinary sequential file readable as textual material without much processing, usually opposed to formatted text....
, but technically it is formatted text
Formatted text
Formatted text, styled text or rich text, as opposed to plain text, has styling information beyond the minimum of semantic elements: colours, styles , sizes and special features .-Terminology:...
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 ProjectGNU Project
The GNU Project is a free software, mass collaboration project, announced on September 27, 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984...
. Texinfo is licensed under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
.
The Texinfo format was created by Richard M. Stallman, while the Texinfo software distribution development was led by Brian Fox (up to version 3.8) and Karl Berry (afterwards).