Tutorial de DocBook: Un enfoque integrado y a través de ejemplos | ||
---|---|---|
Anterior | Capítulo 2. Escribiendo un ejemplo básico | Siguiente |
Para comenzar a escribir un documento necesitará abrir una sesión de emacs, para ello desde la línea de comandos del shell, ejecute emacs hola.sgml&, en mi computador esto luce de la siguiente forma:
[irving@abadon e1]$ emacs hola.sgml& |
Una vez hecho esto obtendrá una pantalla como la siguiente, observe que aparecen algunos menués como SGML, DTD, Markup y otros. En caso de no ser así, revise la instalación de su sistema.
Una vez en el editor, debe comenzar escribiendo la línea que describe que el documento SGML que usted escribirá es de tipo DocBook, para ello solo escriba las líneas <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> [1].
A continuación es necesario cargar la sintaxis de DocBook, para que el editor muestre en diferente fuente aquellas partes del documento que son marquillas (o tags). Esto lo puede hacer através de menúes, como DTD->Parse DTD (Control+c Control+p), una vez hecho esto emacs comenzará a cargar la información de sintaxis de DocBook y posteriormente se obtendrá un color distinto (usualmente púrpura) en el encabezado que usted acabó de imprimir como lo muestra la siguiente pantalla [2]
En una línea aparte es necesario colocar la primer marquilla del documento que es la que corresponde a libro (book), la primer forma consiste en escribir book, usando el teclado; sin embargo una forma mucho más eficiente de introducir marquillas es usando Control+c Control+e, a continuación aparecerá un mensaje en el buffer de emacs con el mensaje Element: book, indicando que la única marquilla disponible es ésta, posteriormente pulse Enter, creándose las marquillas de inicio y cerrado de un libro (book y /book respectivamente)
Como nuestro primer ejemplo estará escrito en castellano, es necesario indicar el idioma a que vamos a usar, para ello necesitamos editar uno de los atributos de la marquilla <book>; através de menúes esto se puede hacer con Markup->Insert Attribute o usando nuestra configuración del .emacs, podemos usar botón derecho. A continuación se presentarán los diferentes atributos de dicha marquilla, es necesario entonces seleccionar LANG->Set Attribute, a continuación en el buffer aparecerá Value for LANG(CDATA): , por lo que habrá que escribir es. Tendremos entonces que nuestro editor lucirá de la siguiente forma
Ahora introduciremos un capítulo, usando Control+c Control+e seguido de chapter-Enter[3], una vez hecho esto se escribirá el título del capítulo que será Hola, tenemos entonces que el editor luce de la siguiente forma:
Los comentarios en DocBook se comienzan y terminan usando los símbolos <!-- y -->, es de notar entonces que lo que aparece en letra roja es un comentario insertado automáticamente por el modo PSGML que indica cuáles marquillas están disponibles a continuación. En caso de que desee deshabilitar dicha característica, esto se puede hacer con SGML+User Options->Insert Missing Element o incluyendo la siguiente línea en .emacs,(setq sgml-insert-missing-element-comment nil).Una manera alternativa de conocer cuáles son las marquillas disponibles es usar Control+c Control+t
En caso de que desee borrar estos comentarios[4], muévase al inicio de la línea donde está ubicado el comentario (Aquí puede ser útil Control+a, que mueve al inicio de una línea) y pulse Control+k
Lo que haremos a continuación es escribir un párrafo con la introducción del capítulo. Una aclaración importante es que todo párrafo en DocBook debe ubicarse dentro de las marquillas para y /para. Dicha marquilla puede introducirse en emacs cómo lo hemos mostrado en el caso de la marquilla book o chapter , pero debido a que es de tan frecuente uso, la introdujimos en nuestro archivo .emacs y solo basta usar Control+c p. Una vez hecho esto introduciremos el párrafo Esto es la introducción
Nuestra idea es crear un pequeño libro con dos capítulos y varias secciones, subsecciones, párrafos entre ellos; para introducir una sección dentro de un capítulo la marquilla de utilidad será sect1, en caso de querer hacer una subsección dentro de ésta basta usar sect2 y así sucesivamente.
Para introducir comentarios, la configuración local nos permite hacerlo a través de Control+c o. Con esto en mente vemos que és facil escribir el siguiente código final de nuestro primer ejemplo
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> <book lang="es"> <chapter> <title>Hola</title> <para>Esta es la introducción</para> <!-- Un primer comentario --> <sect1> <title>Sección Única</title> <para>Y hasta dice algo</para> <sect2> <title>Primera subsección</title> <para>Nada de que hablar</para> </sect2> <sect2> <title>Segunda subsección</title> <para>Nada que decir</para> </sect2> </sect1> </chapter> <chapter> <title>Mundo</title> <para>Esta es otra introducción</para> <sect1> <!-- Un comentario en la primera sección, del segundo capítulo --> <title>Primer título</title> <para>Algo que decir</para> </sect1> <sect1> <title>Segundo título</title> <para>Más que decir</para> </sect1> </chapter> </book> |
o gráficamente,
De vez en cuando es útil saber dentro de que marquilla se encuentra el cursor ubicado, para ello basta usar Control+c Control+c. Por último en caso de que necesite saber los diversos comandos que usted puede hacer usando el modo PSGML de emacs basta que use Control+c Control+h, o visite el siguiente enlace
[1] | En la fecha de escribir este documento, la versión más actualizada era la 4.1, por ende esta será nuestra referencia |
[2] | En caso de que emacs presente un error significa que la versión 4.1 no se encuentra correctamente instalada, use un número de versión más baja (3.1 por ejemplo) o instale la última versión |
[3] | Cuando se digita chapter es posible utilizar autocompletación , esta característica de emacs consiste en que haciendo uso de la tecla TAB se pueden ir presentando las opciones válidas hasta el momento. Por ejemplo si uno introduce c TAB se presentará que las opciones posibles son chapter y colophon, escribiendo h TAB la única opción posible será entonces chapter, restando solo escribir Enter |
[4] | Como es mi caso |