Herramientas de usuario

¡Esta es una revisión vieja del documento!


Tutorial de groff -ms

Introducción

Empecemos a usar groff -ms para crear documentos técnicos hermosos. Comencaremos con lo básico para poder utilizar el paquete de macros -ms para obtener documentos PDF de apariencia profesional.

Historia

El paquete de macros -ms tiene una larga historia, pero la resumiré de esta manera: Cuando Ken Thompson creó Unix en los Laboratorios Bell, uno de los primeros programas fue el sistema de formateo de texto de Joe Ossana, roff. Se trataba de una versión del formateador RUNOFF de Jerry Saltzer, que sólo soportaba las versiones abreviadas de los comandos de RUNOFF.

Mas adelante, tras una solicitud del equipo de Legales a fin de poder afrontar la preparación de formularios y aplicaciones de patentes, el equipo de UNIX actualizó roff agregándole soporte de formato más avanzado (denominándolo “nuevo roff” o nroff).

Mucho 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.

A lo largo de estos avances, los trabajadores de los Laboratorios Bell fueron conformando una gran colección de de macros de formateo destinados a la escritura técnica avanzada: el paquete de macros -ms posibilitaba facilitar la preparación de documentos para lograr una excelente presentación impresa.

La mayoría de la gente prepara documentos en nroff recurriendo un paquete de macros, y al principio yo use el -me macros, de Eric Allman.

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.

Uso de Groff

Si bien groff es algo nicho estos días, le permitirá escribir un documento profesional recurriendo a su editor de texto favorito.

Con groff podrá enfocarme en el contenido de lo que está redactando, con poca distracción. Después de un tiempo, encuentro que los “comandos punto” para dar formato a mi documento se vuelven casi naturales, o al menos muy poco distractivos.

Con groff, puede producir diferente tipos de salida, incluyendo HTML para la entrega en la world wide web, PDF para ver en línea, y PostScript para salida impresa.

Instalación

Algunas distribuciones incluyen por defecto una versión mínima de groff, apenas lo suficiente para dar formato a páginas de man. Si quiere explorar groff, puede necesitar instalar los paquetes restantes:

Ubuntu Linux
# sudo apt install groff-*
Fedora Linux
$ sudo dnf install 'groff-*'

Redactar con groff

Exploremos cómo empezar con groff -ms para crear documentos. En este ejemplo, redactaremos un paper con nuestro editor de texto favorito, y luego usaremos groff -ms para convertirlo en un documento PDF.

Para empezar a redactar un fichero paper.ms ingresa:

nano paper.ms

Estructura de documento

El paquete de macros -ms asume una estructura de documento determinada, que debe recurrir a este órden de precedencia:

  1. Si escribes un documento formal que tiene una página de tapa, comienza con .RP
  2. Definición registros y cadenas para establecer una fuente personalizada, tamaño de fuente y márgenes, etcétera.
  3. Información de documento, como el título y el autor.
  4. El cuerpo del texto, usando encabezados y párrafos.

Si está satisfecho con las opciones por defecto, puedes iniciar la redacción de tu documento con la información de documento, y luego el cuerpo del texto.

Información del documento

La macro -ms ofrece muchas opciones para definir la información del documento, pero como principiante, nos abocaremos a unas pocas:

Comience el título con el macro .TL, cualquier línea que le siga a continuación resultará formateada como título.

Defina el autor usando .AU y mecanografíe el nombre del autor en las líneas que siguen a continuación. Para incluir la institución del autor (por ejemplo, para completar un paper académico), usando el macro .AI, y la institución en la siguiente línea.

Para incluir una fecha en el pie de página del documento, recurra al macro .DA, en una línea en sí misma. También puede darle un argumento de fecha específico, para aportar una fecha específica.

Si su documento requiere un anstract. use el macro .AB para darle inicio, y .AE para finalizar el abstract. El abstract - si es provisto - debería ser el último ítem provisto antes de mecanografiar el cuerpo del texto.

.TL
Este es el título
.AU
Jim Hall
.AI
Mi institución
.DA "Hoy"
.AB
Este es el abstract.
Podría querer proveer un abstract si está redactando
un paper científico pensado para su publicación
académica.
.AE

Sample output from groff -ms Sample output from groff -ms

Cuerpo del Documento

Los documentos a menudo están estructurados usando encabezados y párrafos. Use .NH para comenzar un encabezado enumerado, y en las línea siguiente ingrese el título de sección. Para los encabezados no numerados, use el macro .SH en su lugar, también con el título de sección en la línea a continuación.

Comience los párrafos regulares con el macro .PP en una línea especófoca. Por defecto, este será un párrafo con sangrado de primera línea, que es corriente en la mayoría de los documentos académicos y profesionales. Si necesita en su lugar un párrafo justificado a izquierdas, recurra al macro .LP.

Las citas utilizan un formato diferente, donde la primer línea está “desangrado” (en vez de sangrada) y las líneas siguientes resultan sangradas. Para formatear como un párrado “desangrado”, use el macro .XP.

Para distintos tipos de énfasis dentro del texto, use texto en negrita o cursiva. El macro .B pondrá el texto a continuación en negrita, mientras que el macro .I pondrá el texto a continuación en cursiva. Para cualquiera de ellas también puede proveer un argumento que formatee sólo dicho texto en negrita o cursiva. Si provee argumentos a continuación, serán el “post” o “pre” texto, respectivamente. Esto es útil si usted necesita formatear una frase en negrita, pero no quiere que la coma final esté en negrita. O podría necesitar formatear texto en cursiva, pero también dentro de paréntesis, pero prefiere que las paréntesis continúen en tipografía normal.

Si utiliza .B o .I en una línea aislada, todo el texto a continuación aparecerá en negrita o cursiva. Para impedir que el texto normal (llamado texto “roman”), use la macro .R.

.TL
Este es el título
.AU
~fulana
.AI
Mi institución
.DA "hoy"
.AB
Este es el abstract.
Si está redactando un paper pensado para su publicación
académica, podría considerar proveer un abstract.
.AE
.NH
Introducción
.LP
En la mayoría de los documentos, podría querer usar
párrafos con sangrado en la primera línea. Pero si
desea que su documento tenga una apariencia muy
interesante, considere utilizar un párrafo justificado
a izquierdas después de los encabezados de sección y
después de la presentación de imágenes grandes.
.PP
Después de eso, use párrafos sangrados en primera
línea. También puede usar un número de registro para
definitr la cantidad de espacio para el sangrado de
la primer línea.
.SH
Trabajos
Citedos
.XP
Autor, A.B. Título de Artículo.
.I "Title of periodical" ,
.I "vol num"
.I "issue num" ), (
pages.
(he aquí algún texto extra para hacer que un párrafo desangrado se corte, para que pueda ver su apariencia)

Formato de Dos Columnas

Muchos jornales científicos prefieren publicar artículos en formato de dos columnas. Las columnas más angostas a menudo hacen que el texto sea más fácil de leer, si el texto no es demasiado largo.

Para formatear su documento en formato de dos columnas, agregue el macro .2C, pero recuerde la estructura del docuumento que espera -ms; el macro .2C se considera formateo de texto de cuerpo, de modo que debe ir después del abstract y antes de su primer encabezado de sección. Aquí hau un ejemplo más largo que incluye algún texto “lorem ipsum” en su lugar, para que pueda ver la salida del formato en dos columnas:

.TL
Este es el título del paper
.AU
~fulana
.AI
texto-plano.xyz
.DA "hoy"
.AB
Este es el abstract.
Si escribe un paper pensado para su publicación
académica, podría querer incluir un abstract.
.AE
.2C
.NH
Introducción
 
...
 
.SH
Trabajos
Citados
.XP
Autor, A.B. Título del artículo.
.I "Título del periódico" ,
.I "vol num"
.I "issue num" ), (
pages.
(aquí va algún texto extra para hacer que el párrafo desangrado se corte, de manera que pueda ver 
qué apariencia tiene)

Render del groff

Podrás convertir el documento de formato groff con codificación UTF-8:

$ groff -ms -k -Tpdf paper.ms > paper.pdf

o bien, recurre a:

preconv | groff  -Tpdf paper.ms > paper.pdf

Conclusión

¡Felicitaciones por haber terminado tu primer paper en groff!

Para aprender más sobre dar formato con los macros -ms, lea el man de groff en su sistema con:

$ man groff_ms

Este sitio web utiliza cookies para guardar datos esenciales de su actividad, como su autenticación. Al entrar acepta el uso de cookies.

Más información