Texinfo is the
GNU documentation system, used for documenting GNU projects including
Emacs and
GCC. It uses a single source file to produce
.info files, GNU's own pre-HTML
hypertext file format,
HTML, and printed output via
TeX. Instead of writing multiple different documents for for online information and printed manuals, you need write only one document. When the work is revised, you need revise only one that one document.
Info files, the GNU documentation format, can be viewed with the info program or the info function in Emacs (C-x info). The online manuals on the GNU website (http://www.gnu.org/manual/manual.html) are largely texinfo.
Generating documentation in info or HTML format is done with the makeinfo program. Printed documentation is generated with texi2dvi, which produces a printable DVI file.