Make GNU PDF manuals: converting texi files to html or pdf

3 Comments

All documentation in GNU PDF, as in many other free software projects, is written using texinfo. Texinfo is a documentation format by Richard Stallman and Bob Chassell, which aims to integrate all the project documentation in a unique source, and then produce any desired output document format in an automatic and transparent way. As described in the official page:

Texinfo uses a single source file to produce output in a number of formats, both online and printed (dvi, html, info, pdf, xml, etc.). This means that instead of writing different documents for online information and another for a printed manual, you need write only one document. And when the work is revised, you need revise only that one document.

Several tools and scripts are available from the usual repositories to transform texi files to html or pdf files. In Debian-like systems, they can be installed issuing:

  1. sudo apt-get install texi2html texinfo

This should make available in your system the texi2html and texi2pdf binaries, which you can use to convert texi files into html or pdf files:

  1. cd ~/trunk/doc/
  2. texi2html *.texi
  3. texi2pdf *.texi

Now you can read all GNU PDF manuals in your favourite format. Hope this helps!

This entry is filed under Documentation, Free Software, GNU PDF. And tagged with , . You can follow any responses to this entry through RSS 2.0. You can leave a response, or trackback from your own site.

3 Responses to “Make GNU PDF manuals: converting texi files to html or pdf”


  1. gg

    I wondered about the strange manual building process … and looked at the Makefile.am.
    It’s so obvious to use make for that:

    $ cd doc/
    $ make manuals

    you will get folders with html, pdf, and txt versions for each manual :-)

  2. Albert

    Thanks! :)

  3. gg

    generating docs with mentioned command fails
    # cd ~/trunk/doc/
    # texi2html *.texi
    Need exactly one file to translate
    Try ‘texi2html –help’ for usage instructions.

    Instead use (works with some errors)
    # for i in *.texi; do echo “$i:”; texi2html “$i”; done
    fdl.texi:
    ** empty document
    gnupdf-arch.texi:
    gnupdf-hg.texi:
    gnupdf-tsd.texi:
    *** Can’t find generated-tsd.texi, skipping (l. 71)
    *** Unknown node in menu entry `Subsystem Testing’ (l. 58)
    *** Unknown node in menu entry `System Testing’ (l. 59)
    *** Unknown node in menu entry `Test Data Files’ (l. 60)
    gnupdf-utils.texi:
    gnupdf.texi:
    version.texi:
    ** empty document