Groff
groff o GNU troff, es un conjunto de programas de aplicación y macros de composición pensadas para dar formato a textos. A través de “comandos punto”, describe el formato de documentos a aplicar.
Con groff puede producir diferente tipos de salida de aspecto profesional, incluyendo HTML para la difusión en la world wide web, y PostScript para salida impresa, o bien PDF para ver en línea.
Ver también: Tutorial de Groff.
Historia
La historia del paquete de macros -ms se remonta a los orígenes de UNIX en los Laboratorios Bell. Uno de sus primeros utilitarios fue el sistema de formato de texto escrito por Joe Ossana, roff. Este consistió en una implementación simplificada del formateador RUNOFF de CTSS, aunque sólo soportaba versiones minimalistas de los comandos del RUNOFF original.
Mas adelante, tras una solicitud del equipo de Legales tendiente a poder afrontar la preparación de formularios y aplicaciones de Patentes en los Laboratorios, el equipo de desarrollo de UNIX actualizó roff agregándole soporte a formatos más avanzado. Esta versión potenciada fue denominada “nuevo roff” o nroff).
Años después, los Laboratorios Bell adquirieron una fotocomponedora Graphic Systems modelo C/A/T, y Ossana nuevamente volvió a actualizar nroff para aprovechar su impresión de gran calidad, convirtiéndolo en troff.
nroff hacía fácil redactar papers en una teletipo, y obtener impresión con una apariencia profesional.
Esta secuencia de desarrollo fue acompañada por la creación y de una gran colección de macros de formato, destinados a distintos tipos de formatos y técnicas de escritura. La mayoría de los documentalistas preparan su material en nroff recurriendo a ellos, utilizando en principio el paquete de macros -me, de Eric Allman.
El paquete de macros -ms en particular, posibilita la preparación de documentos académicos de excelente presentación impresa.
Actualmente los sistemas similares a UNIX ofrece fomateadores compatibles con nroff y troff. Especialmente utilizado es la versión del Proyecto GNU, GNU troff o groff.
Las páginas de manual del sistema UNIX, muchos libros de software, documentos de sistemas, estándars y documentos corporativos. La salida de texto de roff aún no tiene parangón, y su salida gráfica tiene la misma calidad que otros programas de fotocomposición libres, y es incluso superior a algunos sistemas comerciales.
Comandos de Groff
General
Comando | Funcionalidad |
---|---|
.RP [no] | Imprime página de cubierta aislada. Puede ser evitada con .RP no |
.TL | Título del documento. |
.AU | Nombre del autor. |
.AI | Institución del autor. |
Bloque .AB [no] y .AE | Comienzo y final del bloque Abstract. .AB no asegura que la palabra clave abstract sea silenciada. |
.DA [XXX] | Fecha actual en la página de título y pies de página. |
.ND [XXX] | Fecha actual sólo en la página de título |
.1C | Texto a una columna |
.2C | Texto a dos columnas |
.MC [WIDTH[GUTTER]] | Diseño de múltiples columnas (por defecto 2) |
.XS num_pág y .XE | Bloque de Tabla de Contenidos |
.XA num_pág | Entrada en el Bloque de Tabla de Contenidos |
.PX | Imprime una tabla generada manualmente de contenidos sin reajustar numerado de páginas. |
Formato de Texto
Comando | Funcionalidad |
---|---|
.B | Negrita |
.I | Cursiva |
.BI | Negrita y cursiva |
.P1 | Imprime el encabezado en pág 1. Por defecto se suprimiría el encabezado. |
.BX | Cuadro |
.UL | Subrayado |
.LG | Imprime todo el texto siguiente en tipografía mayor (2 picas más grandes que el tamaño de tipografía actual) |
.SM | Imprime todo el texto siguiente en tipografía menor (2 picas menor que la tipografía actual) |
.NL | Imprime todo el texto siguiente en tipografía de tamaño normal |
.R | Configura su primer argumento en tipografía roman (o regular). Opera de manera similar a la macro .B . |
.CW | Configura su primer argumento en tipografía cursiva. Opera de manera similar a la macro .B . |
Formato de Párrafo
Comando | Funcionalidad |
---|---|
.PP | Párrafo estándar |
.QP | Párrafo citado |
.XP | La macro XP produce un párrafo desangrado. La primer línea del párrafo comienza en el márgen izquierdo, y las líneas subsecuentes se sangran (lo puesto a PP). |
.RS y .RE | Comienzo y final de una sección de texto sangrado, respectivamente. El registro PI controla la cantidad de sangrado. |
.IP | Listado de puntos. Use .IP \(bu [ancho] para listados no ordenados (bullets) con un ancho determinado. Use .IP [nro.] para listados ordenados. |
.TA | Tabulado |
Encabezados
Comando | Funcionalidad |
---|---|
.NH xxx | Encabezado de Sección numerado, donde se especifican niveles de titulado |
.SH xxx | Encabezado de Sección (no ordenado) |
.LH | Encabezado izquierda |
.CH | Encabezado centrado |
.RH | Encabezado derecho |
.LF | Pie de página izquierdo |
.CF | Pie de página centrado |
.RF | Pie de página derecho |
.OH | Encabezado para páginas impares. ej: .OH 'left'center'right' |
.EH | Encabezado para páginas pares. |
Pre Procesado
Comando | Funcionalidad |
---|---|
.TS [H] y .TE | Denota una tabla, que será procesada por el preprocesador. Un argumento H opcional instruye a groff a crear un encabezado corrido con la información de la macro TH . |
.PS y .PE | Denota una gráfica, a ser procesada por el preprocesador de imágenes. Puede crear un fichero de imágen a mano, o usando un programa gráfico. |
.EQ [align] y .EN | Denota una ecuación, a ser procesada por el prprocesador. El argumento align opcional puede ser C , L , o I para centrar (defecto), justificar a izquierda, o indentar la ecuación. |
.[ y .] | Referencias y bloque de citas, a ser procesados por el procesador de referencias. |
Macros personalizadas
Comando | Funcionalidad |
---|---|
.de y .. | Puede definir macros entre este bloque. Ellos pueden ser llamados por el mismo fichero así como por otros ficheros. |
.so fichero | Llama a macros desde fichero |
Gráficos
Comando | Funcionalidad |
---|---|
.PSPIC -[L/R/C/I n] [width[Height]] fichero.eps | Inserta una imagen Postscript en groff. |
.PDFPIC -[L/R/C/I n] [width[Height]] fichero.eps | Inserta una imágen PDF en groff. |
Configurar papel
Puede configurar el tamaño de su papel virtual usando el postprocesador incorporado en groff. Se usa -P
para pasar argumentos al postprocesador:
groff -k -Tpdf -P-pa4 -P-l -ms fichero.ms > fichero.pdf
Para tomar un papel virtual tamaño A4 en orientación horizontal. Otros formatos válidos son las páginas de tamaño A, B, D, junto con tamaño letter, statement, ledger, y tabloid.