El DTD DocBook

Con docbook se pueden generar textos en diferentes formatos: html, latex, txt, pdf, postscript. Permite la creación de documentos tales como libros, articulos, manuales, etc. Se ha convertido junto a Open eBook en un estandar internacional para el procesamiento de este tipo de documentos.

Instalación de programas

Para Debian/Sid instale los siguientes paquetes:

  • sgml-base: Utilidades para mantención de catalogos SGML.

  • sgml-data: SGML comn, XML DTDs y entidades.

  • docbook: Sistema estandar SGML para la representación de documentos técnicos

  • docbook-utils: Convertidor de archivos docbook a otros formatos.

  • docbook-xsl: Estilos para el procesamiento de archivos DocBook XML.

Para instalar estos paquetes utilizamos el comando: apt-get install nombre_paquete. Si no encuentra estos nombres de paquetes busque con el comando: apt-get search sgml y apt-get search docbook los que correspondan.

Donde Escribir el documento

Cualquier editor sirve para escribir nuestro documento, personalmente prefiero el "vim" con la opcin "syntax on" activada para el resalte de etiquetas con colores.

También puede usar Emacs con el módulo "SGML mode", el que permite escribir con mas facilidad estos documentos.

Paso a otros formatos

Para pasar el documento fuente a otros formatos tenemos los siguientes comandos:

  • db2dvi: genera un documento en formato dvi.

  • db2html: genera un directorio con el nombre del archivo y el su interior archivos html.

  • db2pdf: genera un documento en formato pdf.

  • db2ps: genera un documento en formato postscript.

  • db2rtf: genera un documento en formato rtf.

La instrucción para generar los distintos formatos es:

	db2dvi fuente.sgml
	db2html fuente.sgml
	db2ps fuente.sgml
	db2pdf fuente.sgml
	db2rtf fuente.sgml
	

Si mientras el proceso de generación no arroja error entonces el nuevo documento ha sido creado correctamente.

Tipos de Documentos

Docbook permite dos tipos de documentos; book (libro) y article (articulo). Los Articulos son mas sencillos de que los libros, estos no tienen índice de contenidos y ocupan menos hojas. Los libros permiten el uso de capítulos e índice de contenidos. Los libros además tienen la ventaja de ser que pueden contener más de un archivo, es decir, se pueden incluir otros archivos en un documento.

Articulo

Como ya indicamos anteriormente, este tipo de documento es mucho mas sencillo que un libro. En el Ejemplo 4, “Ejemplo de un Articulo” vemos uno de estos documentos.

Ejemplo 4. Ejemplo de un Articulo

	    <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
	    <article lang="es">
	    <articleinfo>
	      <author>
	        <firstname>Alejandro</firstname>
	        <surname>Valdés Jiménez</surname>
	      </author>
	      <title>Ejemplo de un articulo</title>
	    </articleinfo>

	    <sect1 id="sect1">
	      <title>Primera sección</title>
	      <para>
	      Contenido primera sección...
	      </para>
	    </sect1>
	    </article>
	    

Ejemplo de un Libro

Docbook tiene otros elementos que se utilizan en este tipo de documentos y que permiten organizarlos de manera mas conveniente. En el Ejemplo 5, “Ejemplo de un Libro” vemos como se crea un documento de este tipo.

Ejemplo 5. Ejemplo de un Libro

	    <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
	    <book lang="es">
	    <bookinfo>
	      <date>Diciembre 2003</date>
	      <title>Ejemplo de un Libro</title>
	      <author>
	        <firstname>Alejandro</firstname>
	        <surname>Valdés Jiménez</surname>
	      </author>
	    </bookinfo>

	    <chapter id="chapter1">
	      <title>Ambientes de escritorio</title>
	      <para>
	      Texto...
	      </para>
	      <sect1 id="sect1">
	        <title>GNOME</title>
	        <para>contenido de la sección 1</para>
	      </sect1>
	    </chapter>
	    </book>
	    

En el Ejemplo 5, “Ejemplo de un Libro” notamos que el documento está todo escrito en un solo archivo, pero podemos formar nuestro documento final mediante la incorporación de otros archivos. En el Ejemplo 6, “Un libro creado con varios archivos” vemos como hacer esto.

Ejemplo 6. Un libro creado con varios archivos

	    <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"[
	    <!ENTITY capitulo2.sgml SYSTEM "capitulo2.sgml">
	    ]>
	    <book lang="es">
	    <bookinfo>
	      <date>Diciembre 2003</date>
	      <title>Ejemplo de un Libro con varios archivos</title>
	      <author>
	        <firstname>Alejandro</firstname>
	        <surname>Valdés Jiménez</surname>
	      </author>
	    </bookinfo>

	    <chapter id="chapter1">
	      <title>Ambientes de escritorio</title>
	      <para>
	      Texto...
	      </para>
	      <sect1 id="sect1">
	        <title>GNOME</title>
	        <para>contenido de la sección 1</para>
	      </sect1>
	    </chapter>
	    &capitulo2.sgml;
	    </book>

	    -- capitulo2.sgml --
	    <chapter id="chapter1">
	      <title>Sistemas Operativos</title>
	      <sect1 id="Linux">
	        <title>GNU/Linux</title>
	        <para>Linux....</para>
	      </sect1>
	    </chapter>