Asignar("groff_indice.php","Índice"); $navDer->Asignar("groff_cap1.php","Capítulo 1") ?>

Curso de introducción a Groff.

Hola a todos. En este curso pretendo acercar este viejo programa para preparar documentos de calidad al mundo de la documentación. Espero que a todos nos sirva para, rápidamente, preparar nuestros pequeños trabajos en Linux.

0. Introducción. Propósito y Necesidad.

Los paquetes nroff y troff se crearon con el propósito de formatear texto en los sistemas Unix. Su función inicial fue la de generar la documentación man de los programas. El programa nroff está destinado a máquinas no tipográficas y pantallas de texto. El programa troff está orientado hacia impresoras de calidad como láser o las más económicas de chorro de tinta.

¿Para qué necesito usar [nt]roff?

En principio, con troff puede prepararse cualquier documentación de alta calidad incluyendo diversos tipos de letra, tamaños, gráficos, tablas, etc. El uso de nroff está dirigido a impresoras tipo texto y a documentación en pantalla en la forma usada por man.

NOTA. El hecho es que muchos sistemas UNIX no contienen troff debido a los problemas de dispositivos para cada impresora existente. Este es el caso del sistema HP-UX que a pesar de lo completo y caro que es adolece de esta importante falta debiendo comprarlo a terceras partes. Por suerte, siempre podemos acudir a la ayuda desinteresada de los programadores del proyecto GNU. La solución pasa por crear un dispositivo que traduzca el contenido de troff a PostScript (que es el estándar en impresoras láser de alta calidad).

¿Debo usar nroff, troff o ambos?

En general es mejor usar siempre troff ya que nroff ignora aquellos comandos que no entiende. Así, si se documenta con troff con la idea de imprimir en una láser, luego puede pasarse esta documentación a formato man con nroff sin que quede afectada. Lo que haremos a lo largo de todo el curso es explicar los comandos de troff y si hay alguna particularidad de nroff que haya que resaltar se incluirá como una nota en el texto.

¿Hasta dónde debo profundizar?

Para generar documentación de alta calidad, no es necesario profundizar en troff. Lo más normal es que se acabe utilizando un macropaquete (como mm) que incorpora numerosas opciones y que facilita en gran manera el trabajo con listas, posicionamiento en pantalla, etc. Los comandos básicos de troff nos permitirán llegar muy lejos a la hora de preparar nuestros documentos.

Un programa especial: groff.

Como ya he comentado, muchos UNIX comerciales (como el HP-UX) no contienen el programa troff de serie. Sin embargo, ya hace años que el proyecto GNU incorpora su propio programa troff bajo la denominación de groff. Este paquete especial de dominio público llamado groff que amplía nroff y troff y añade funcionalidades a éstos se puede instalar en muchos sistemas operativos UNIX, incluido nuestro querido Linux. Todos los documentos preparados para funcionar con nroff y troff funcionarán con groff y la variedad de sus dispositivos de salida permitirán la impresión en cualquier tipo de máquina. Los archivos de salida una vez formateado el texto son, por defecto, PostScript pero podemos cambiar fácilmente, como veremos, esta opción.

Forma de uso de groff.

La forma de utilizar groff es muy sencilla. Por defecto, la salida es PostScript luego en el caso en que quisiéramos esta opción no habría que hacer nada. En otro caso (mirar siempre el manual) deberíamos usar el parámetro -T.

En su forma más simple el uso es:

$ groff file.t > file.ps