1. Introduction

1.1. Information About this Document

The lastest version of this mini-HOWTO can be found at:


See the "Legal" section in the appendix for copyright, licenses, and disclaimer information pertaining to this document.

1.2. What is DocBook

DocBook is a Standard Generalized Markup Language (SGML) Document Type Definition (DTD) that defines a set of textual document markup tags that work much like the familiar HTML language used on the web.

DocBook is intended for the authoring of books and articles. As such, it provides tags specifically designed to describe books and articles. For instance, the <book> and <article> DocBook tags are used to create books and articles. Within these documents, the <chapter>, <sect1>, and <para> tags are used. DocBook SGML files are stored in text files with a sgml or gml suffix.

When processed, a single DocBook SGML file can output html, pdf, ps, txt and other formats for both online and printed publication. The processing is governed by stylesheets that can automatically generate a table of contents, page numbering, chapter & section numbering, and other features.

DocBook is also designed for authoring unix manpages using <refentry>.

1.3. Brief Overview

Here are brief descriptions of the packages we will work with in the next sections:

OpenJade. OpenJade is an Standard Generalized Markup Language (SGML) and Document Style Semantics and Specification Language (DSSSL) processor. It processes DocBook sgml source files into html, tex, rtf, txt and others. Openjade is the essential engine for converting a DocBook file into other formats. The tex out format is used mostly as an intermediate format to obtain dvi, pdf, and ps via TeX macros and dvi converters.

DocBook SGML DTD. The Document Type Definition (DTD) files are SGML files that define the DocBook language. It defines the valid tag set and rules of their use. OpenJade requires access to the DTD files for every document type that it parses.

ISO8879 ENTITY SGML. Entities define how to represent special characters that have either no keyboard key or have special meaning in SGML. Examples familiar from HTML include "&amp;"='&', "&gt;"='>', and "&lt;"='<'.

DocBook DSSSL. Document Style Semantics and Specification Language (DSSSL) files (dsl suffix) for a particular DTD, in this case DocBook, specify how to convert DocBook into html, rtf, tex etc.

SgmlTools-lite. Sgmltools is a frontend wrapper for running openjade and the TeX macros jadetex and pdfjadetex, macros included with openjade. Converting a DocBook file to ps or pdf is a two or three-step process. OpenJade outputs a tex file which is the input of jadetex, to produce a dvi, and pdfjadetex, to produce a pdf. A ps file is obtained by passing the dvi file through dvips. The sgmltools script provides a single command to perform these tasks.

HTMLdoc. HTMLdoc is a free program for converting html files into a pdf or ps file.

SGMLSpm and docbook2X. Together, these two are used to generate manpages. SGMLSpm is a perl5 module library for processing parsed output from onsgmls, a program included with OpenJade. SGMLSpm includes an application called sgmlspl to use the SGMLSpm library. Sgmlspl requires "spec files", which are available from various other sources on the Internet, for each type of document transformation to be performed. DocBook2X is a package that provides the spec files for transforming DocBook files into manpages.