Herramientas de usuario

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
tutorial_de_groff [2025/02/19 00:53] perontutorial_de_groff [2026/04/21 16:09] (actual) – editor externo 127.0.0.1
Línea 1: Línea 1:
 ====== Tutorial de groff ====== ====== Tutorial de groff ======
  
 +**[[groff]]** o **GNU troff**, es un conjunto de programas de aplicación y macros de composición pensadas para dar formato profesional a textos.
  
 +El sistema se basa en escritura de texto plano, y representó la máxima calidad posible para tratamiento de textos hasta la popularización de la tecnología WYSIWYG a finales de los 80s ("Lo que ve es lo que obtiene").
  
-====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. +====Introducción====
  
 +En este tutorial aprenderá a dar formato académico básico a un //paper// recurriendo a **groff**. El paquete de macros **-ms** aqu{ expuesto le permitirá obtener documentos de apariencia excelsa y profesional, en formato de impresión PDF.
  
 +{{ :paper.png?200 |}}
  
-===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 [[ctss|formateador RUNOFF de Jerry Saltzer]]que sólo soportaba las versiones abreviadas de los comandos de RUNOFF+Recurriendo a groff podrá enfocarse en el contenido de redacción sin distraerse demasiado con el formato básicoDescubrirá que en poco tiempodominará los "comandos punto" para dar formato a mi documento, y éstos se volverán casi naturales.
  
-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 **[[versiones_de_unix#unix_segunda_edicion|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 **[[versiones_de_unix#pwb_unix_10|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 [[unix#similares a unixx|similares a UNIX]] ofrece fomateadores compatibles con nroff y troff. Especialmente utilizado es la versión del [[gnu|Proyecto GNU]], GNU troff o **groff**.  
  
 ====Uso de Groff==== ====Uso de Groff====
  
 +Utilizará su [[editores de texto|editor de texto favorito]] para generar un documento ''fichero.ms'' descriptivo, a fin de lograr un documento final profesional con ''groff -ms''.
  
-Si bien groff es algo nicho estos días, le permitirá escribir un documento profesional recurriendo a su [[editores de texto|editor de texto favorito]].  +===Instalación===
- +
-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. +
  
- +Ciertas distribuciones de BSD/Linux incluyen por defecto una versión mínima de groff, apenas suficiente para dar formato a páginas de [[man]]. En tal casos, si desea explorar groff al completopodría tener que recurrir a instalar paquetes restantes:
- +
- +
- +
-===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=== ==Ubuntu Linux===
-<code bash>sudo apt install groff-*</code>+<code bash>sudo apt install groff-*</code>
  
 ==Fedora Linux== ==Fedora Linux==
Línea 54: Línea 36:
 ====Redactar con groff==== ====Redactar con groff====
  
 +Exploremos cómo empezar con ''groff -ms'' para crear un documento académico. En este ejemplo, redactará un //paper//, y luego usará ''groff -ms'' para convertirlo en un documento PDF.
  
-Exploremos cómo empezar con ''groff -ms'' para crear documentos. En este ejemplo, redactaremos un //paper// con nuestro [[editores de texto|editor de texto favorito]], y luego usaremos ''groff -ms'' para convertirlo en un documento PDF. +Comienza la redacción de un fichero ''[[paper.ms]]''. ingresando:
- +
-Para empezar a redactar un fichero ''[[paper.ms]]'' ingresa:+
  
 <code bash> <code bash>
Línea 63: Línea 44:
 </code> </code>
  
- +>El lenguaje de descripción de nroff recurre a comandos breves iniciados con un punto, dispuestos en una línea individual del texto. Estos se denominan "comandos punto".
  
 ====Estructura de documento==== ====Estructura de documento====
  
-El paquete de macros -ms  asume una estructura de documento determinada, que debe recurrir a este órden de precedencia:+El paquete de macros -ms asume una estructura de documento determinada, que debe tener en cuenta el siguiente órden de precedencia:
  
   - Si escribes un documento formal que tiene una //página de tapa//, comienza con ''.RP''   - Si escribes un documento formal que tiene una //página de tapa//, comienza con ''.RP''
Línea 79: Línea 59:
 ===Información del documento=== ===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:+El paquete de macros -ms ofrece muchas opciones para definir la información del documento, pero nos abocaremos a unas pocas a utilizar por el principiante:
  
-Comience el título con el macro ''.TL'', cualquier línea que le siga a continuación resultará formateada como título.+==Títulado== 
 +Comience el título con la 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'', la institución en la siguiente línea.+==Atribución== 
 +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 la macro ''.AI'', en introduzca la institución a atribuir 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.+==Fechado== 
 +Para incluir una fecha en el pie de página del documento, recurra a la macro ''.DA'', situada 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.+==Abstract==
  
-<code groff>+Es costumbre en los papers agregar una descripción denominada **abstract**, a menudo en inglés. De ser provisto, este abstract debería ser el último ítem antes de mecanografiar el //cuerpo// del texto. 
 + 
 +Para crear un bloque de //anstract//. deje una línea en blanco y abra el abstrac con la macro ''.AB'' para darle inicio, escriba el contenido del abstract, y cierre el bloque de abstract con la macro ''.AE''.  
 + 
 + 
 + 
 +Veamos el ejemplo: 
 + 
 +<code troff>
 .TL .TL
 Este es el título Este es el título
 .AU .AU
-Jim Hall+~fulana
 .AI .AI
 Mi institución Mi institución
 .DA "Hoy" .DA "Hoy"
 +
 .AB .AB
 Este es el abstract. Este es el abstract.
-Podría querer proveer un abstract si está redactando +Si está redactando un paper científico concebido  
-un paper científico pensado para su publicación +para su publicación académica, podría querer agregar 
-académica.+un abstract.
 .AE .AE
 +
 </code> </code>
  
-Sample output from groff -ms 
-Sample output from groff -ms 
  
 ===Cuerpo del Documento=== ===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 lugartambién con el título de sección en la línea a continuación.+Muy a menudo, los documentos se estructuran recurriendo a //titulares// y //párrafos// 
 + 
 +==Titulares== 
 + 
 +Use la macro ''.NH'' para iniciar un titular enumerado, y en la línea siguiente ingrese el **título de sección**. 
 + 
 +Si en cambio se trata de un **titular no numerados**, use la macro ''.SH''. Nuevamente, el título de sección debe indicarse en la línea siguiente. 
 + 
 +==Párrafos== 
 + 
 +Anteceda los **párrafos regulares** con la macro ''.PP'' en una línea específica. Por defecto, este tipo de párrafo consta de sangrado de primera línea (que es lo corriente en la mayoría de los documentos académicos y profesionales).  
 + 
 +Si en lugar de ello necesita un **párrafo justificado izquierdas**, recurra a antecederlo con la 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 asignar este formato "desangrado" utilizado en las citas, recurra a la macro ''.XP''
 + 
 +==Énfatizado== 
 + 
 +Para enfatizar el texto de distinta manera, tradicionalmente se usa tipografía en **negrita** o //cursiva// o __subrayado__
  
-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 profesionalesSi necesita en su lugar un párrafo justificado izquierdas, recurra al macro ''.LP''.+La macro ''.B'' pondrá el texto a continuación en **negrita**mientras que el macro ''.I'' pondrá el texto continuación en //cursiva//. La macro ''.I'' pondrá el texto a continuación en __subrayado__.
  
-Las //citas// utilizan un formato diferentedonde 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''.+Es necesario __cesar el enfatizado__usando la macro ''.R'' para volver al texto regular (llamado también texto "roman). 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.
  
-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.+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. 
  
-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''.+Si utiliza ''.B'' o ''.I'' en una línea aislada, todo el texto a continuación aparecerá en negrita o cursiva. 
  
 <code groff> <code groff>
Línea 137: Línea 146:
 .LP .LP
 En la mayoría de los documentos, podría querer usar En la mayoría de los documentos, podría querer usar
-párrafos con sangrado en la primera línea. Pero si +párrafos  
-desea que su documento tenga una apariencia muy+.B 
 +con sangrado en la primera línea. 
 +.R 
 +Pero si desea que su documento tenga una apariencia muy
 interesante, considere utilizar un párrafo justificado interesante, considere utilizar un párrafo justificado
 a izquierdas después de los encabezados de sección y a izquierdas después de los encabezados de sección y
Línea 144: Línea 156:
 .PP .PP
 Después de eso, use párrafos sangrados en primera Después de eso, use párrafos sangrados en primera
-línea. También puede usar un número de registro para +línea. También puede usar un  
-definitr la cantidad de espacio para el sangrado de +.I 
-la primer línea.+número de registro 
 +.R 
 +para definir la cantidad de espacio para el  
 +sangrado de la primer línea.
 .SH .SH
 Trabajos Trabajos
Línea 160: Línea 175:
  
  
-====Formato de Dos Columnas====+===Formato 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.+Muchos jornales científicos prefieren publicar artículos según un formato 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: 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:
Línea 202: Línea 217:
 Podrás convertir el documento de formato groff con [[codificacion_de_texto|codificación UTF-8]]: Podrás convertir el documento de formato groff con [[codificacion_de_texto|codificación UTF-8]]:
  
-<code bash>groff -ms -k -Tpdf paper.ms > paper.pdf</code>+<code bash>groff -ms -k -Tpdf paper.ms > paper.pdf</code>
  
 o bien, recurre a: o bien, recurre a:
Línea 215: Línea 230:
 <code bash>$ man groff_ms</code> <code bash>$ man groff_ms</code>
  
 +Ver: [[groff#comandos de groff|Comandos de Groff]]

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