Here is a brief overview of the output formats currently supported by Texinfo.
makeinfo
.) This format is a plain text
transliteration of the Texinfo source. It uses control characters to
separate nodes and provide other navigational information. See the
next section (see Info Files) for more details on this format.
The Emacs Info subsystem (see Getting Started),
and the standalone info
program (see info standalone), among others, can read these
files. See Creating and Installing Info Files.
makeinfo --no-headers
.) This is almost the
same as Info output, except the navigational control characters are
omitted.
makeinfo --html
.) This is the Hyper Text
Markup Language that has become the most commonly used language for
writing documents on the World Wide Web. Web browsers, such as
Mozilla, Lynx, and Emacs-W3, can render this language online. There
are many versions of HTML; makeinfo
tries to use a subset
of the language that can be interpreted by any common browser. For
details of the HTML language and much related information, see
http://www.w3.org/MarkUp/. See Generating HTML.
texi2dvi
.) This DeVice Independent binary
format is output by the TeX typesetting program
(http://tug.org). It is then read by a DVI `driver', which
writes the actual device-specific commands that can be viewed or
printed, notably Dvips for translation to PostScript (see dvips invocation) and Xdvi for viewing on an X display
(http://sourceforge.net/projects/xdvi/). See Hardcopy.
texi2dvi --pdf
.) This format, based on
PostScript, was developed by Adobe Systems for document interchange.
It is intended to be platform-independent and easily viewable, among
other design goals; for a discussion, see
http://tug.org/tugboat/Articles/tb22-3/tb72beebeI.pdf. Texinfo
uses the pdftex
program, a variant of TeX, to output pdf;
see http://tug.org/applications/pdftex. See PDF Output.
makeinfo --xml
.) XML is a generic syntax
specification usable for any sort of content (see, for example,
http://www.w3.org/XML/). The makeinfo
xml output,
unlike all the formats above, interprets very little of the Texinfo
source. Rather, it merely translates the Texinfo markup commands into
XML syntax, for processing by further XML tools. The particular
syntax output is defined in the file texinfo.dtd
included in
the Texinfo source distribution.
makeinfo --docbook
.) This is an XML format
of long standing used primarily for technical documentation. See
http://www.docbook.org/.
From time to time, proposals are made to generate traditional Unix man pages from Texinfo source. However, because man pages have a very strict conventional format, generating a good man page requires a completely different source than the typical Texinfo applications of writing a good user tutorial and/or a good reference manual. This makes generating man pages incompatible with the Texinfo design goal of not having to document the same information in different ways for different output formats. You might as well just write the man page directly.
Man pages still have their place, and if you wish to support them, you
may find the program help2man
to be useful; it generates a
traditional man page from the --help
output of a program. In
fact, this is currently used to generate man pages for the programs in
the Texinfo distribution. It is GNU software written by Brendan
O'Dea, available from ftp://ftp.gnu.org/gnu/help2man/.
If you are a programmer and would like to contribute to the GNU project
by implementing additional output formats for Texinfo, that would be
excellent. But please do not write a separate translator texi2foo for
your favorite format foo! That is the hard way to do the job, and makes
extra work in subsequent maintenance, since the Texinfo language is
continually being enhanced and updated. Instead, the best approach is
modify makeinfo
to generate the new format.