Node:Output Formats, Next:, Previous:Using Texinfo, Up:Overview



Output Formats

Here is a brief overview of the output formats currently supported by Texinfo.

Info
(Generated via 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.
Plain text
(Generated via makeinfo --no-headers.) This is almost the same as Info output, except the navigational control characters are omitted.
HTML
(Generated via 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.
DVI
(Generated via 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.
PDF
(Generated via 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.
XML
(Generated via 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.
DocBook
(Generated via 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.