Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| tutorial_de_groff [2025/02/18 23:58] – creado peron | tutorial_de_groff [2026/04/21 16:09] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| - | ====== Tutorial de groff -ms ====== | + | ====== Tutorial de groff ====== |
| - | ====Introducción==== | + | **[[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" | ||
| - | 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==== | ||
| - | Si quiere explorar | + | 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. |
| - | <code bash>$ sudo dnf install ' | + | {{ : |
| - | ===Historia=== | ||
| - | El **paquete de macros -ms** tiene una larga historia, pero la resumiré de esta manera: Cuando Ken Thompson creó [[Unix]] | + | Recurriendo a groff podrá enfocarse |
| - | 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 **nroff** o "nuevo roff" | ||
| - | Mucho después, los Laboratorios Bell adquirieron una fotocomponedora Graphic Systems modelo C/A/T, y Ossana nuevamente volvió a actualizar el nroff para aprovechar su impresión | + | ====Uso |
| - | >nroff hacía fácil redactar papers en una [[teletipo]], y obtener impresión con una apariencia | + | Utilizará su [[editores de texto|editor de texto favorito]] para generar un documento '' |
| - | 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. | + | ===Instalación=== |
| + | 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 completo, podría tener que recurrir a instalar paquetes restantes: | ||
| + | ==Ubuntu Linux=== | ||
| + | <code bash>$ sudo apt install groff-*</ | ||
| - | 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. | + | ==Fedora Linux== |
| + | <code bash>$ sudo dnf install ' | ||
| - | Exploremos cómo empezar con '' | ||
| - | Usaremos | + | ====Redactar con groff==== |
| + | |||
| + | Exploremos cómo empezar con '' | ||
| + | |||
| + | Comienza la redacción de un fichero '' | ||
| <code bash> | <code bash> | ||
| Línea 38: | Línea 44: | ||
| </ | </ | ||
| - | + | >El lenguaje de descripción de nroff recurre | |
| - | Actualmente los sistemas [[unix# | + | |
| ====Estructura de documento==== | ====Estructura de documento==== | ||
| - | El -ms macros | + | El paquete de macros |
| - | - Si escribe | + | - Si escribes |
| - | - Defina los // | + | - Definición |
| - Información de documento, como el //título// y el //autor//. | - Información de documento, como el //título// y el //autor//. | ||
| - El cuerpo del texto, usando // | - El cuerpo del texto, usando // | ||
| - | Si está satisfecho con las opciones por defecto, | + | Si está satisfecho con las opciones por defecto, |
| ===Información del documento=== | ===Información del documento=== | ||
| - | El macro -ms provee | + | El paquete de macros |
| - | Comience el título con el macro '' | + | ==Títulado== |
| + | Comience el título con la macro '' | ||
| - | Defina el autor usando '' | + | ==Atribución== |
| + | Defina el **autor** usando '' | ||
| - | Para incluir una fecha en el pie de página del documento, recurra | + | ==Fechado== |
| + | Para incluir una fecha en el pie de página del documento, recurra | ||
| - | Si su documento requiere un // | + | ==Abstract== |
| - | < | + | Es costumbre en los papers agregar una descripción denominada **abstract**, |
| + | |||
| + | Para crear un bloque de // | ||
| + | |||
| + | |||
| + | |||
| + | Veamos el ejemplo: | ||
| + | |||
| + | < | ||
| .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 "today" | + | .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 |
| - | un paper científico | + | para su publicación académica, podría querer agregar |
| - | académica. | + | un abstract. |
| .AE | .AE | ||
| + | |||
| </ | </ | ||
| - | Sample output from groff -ms | ||
| - | Sample output from groff -ms | ||
| ===Cuerpo del Documento=== | ===Cuerpo del Documento=== | ||
| - | Los documentos a menudo están estructurados usando | + | Muy a menudo, los documentos |
| - | Comience los párrafos regulares con el macro '' | + | ==Titulares== |
| - | Las //citas// utilizan un formato diferente, donde la primer línea está " | + | Use la macro '' |
| - | Para distintos tipos de énfasis dentro del texto, use texto en **negrita** o // | + | Si en cambio se trata de un **titular no numerados**, use la macro '' |
| - | Si utiliza | + | ==Párrafos== |
| + | |||
| + | Anteceda los **párrafos regulares** con la macro '' | ||
| + | |||
| + | Si en lugar de ello necesita un **párrafo justificado a izquierdas**, | ||
| + | |||
| + | Las **citas** utilizan un formato diferente, donde la primer línea está " | ||
| + | |||
| + | ==Énfatizado== | ||
| + | |||
| + | Para enfatizar el texto de distinta manera, tradicionalmente se usa tipografía en **negrita** | ||
| + | |||
| + | La macro '' | ||
| + | |||
| + | Es necesario __cesar el enfatizado__, | ||
| + | |||
| + | 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, | ||
| + | |||
| + | Si utiliza | ||
| <code groff> | <code groff> | ||
| Línea 99: | Línea 133: | ||
| Este es el título | Este es el título | ||
| .AU | .AU | ||
| - | Jim Hall | + | ~fulana |
| .AI | .AI | ||
| Mi institución | Mi institución | ||
| - | .DA "today" | + | .DA "hoy" |
| .AB | .AB | ||
| Este es el abstract. | Este es el abstract. | ||
| - | Podría necesitar proveer un abstract si está redactando | + | Si está redactando un paper pensado para su publicación |
| - | un paper científico | + | académica, podría considerar proveer un abstract. |
| .AE | .AE | ||
| .NH | .NH | ||
| Línea 112: | 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, | interesante, | ||
| a izquierdas después de los encabezados de sección y | a izquierdas después de los encabezados de sección y | ||
| Línea 119: | 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 | + | línea. También puede usar un |
| - | definitr | + | .I |
| - | la primer línea. | + | número de registro |
| + | .R | ||
| + | para definir | ||
| + | sangrado de la primer línea. | ||
| .SH | .SH | ||
| Trabajos | Trabajos | ||
| Línea 131: | Línea 171: | ||
| .I "issue num" ), ( | .I "issue num" ), ( | ||
| pages. | pages. | ||
| - | (aquí | + | (he aquí algún texto extra para hacer que un párrafo desangrado se corte, para que pueda ver su apariencia) |
| </ | </ | ||
| - | ====Formato | + | ===Formato |
| - | Muchos jornales científicos prefieren publicar artículos | + | Muchos jornales científicos prefieren publicar artículos |
| Para formatear su documento en formato de dos columnas, agregue el macro '' | Para formatear su documento en formato de dos columnas, agregue el macro '' | ||
| Línea 143: | Línea 183: | ||
| <code groff> | <code groff> | ||
| .TL | .TL | ||
| - | This is the title | + | Este es el título del paper |
| .AU | .AU | ||
| - | Jim Hall | + | ~fulana |
| .AI | .AI | ||
| - | My Institution | + | texto-plano.xyz |
| - | .DA "today" | + | .DA "hoy" |
| .AB | .AB | ||
| - | This is the abstract. | + | Este es el abstract. |
| - | You might need to provide an abstract if you are | + | Si escribe un paper pensado para su publicación |
| - | writing a scientific | + | académica, podría querer incluir un abstract. |
| - | publication. | + | |
| .AE | .AE | ||
| .2C | .2C | ||
| .NH | .NH | ||
| - | Introduction | + | Introducción |
| + | |||
| ... | ... | ||
| + | |||
| .SH | .SH | ||
| - | Works | + | Trabajos |
| - | Cited | + | Citados |
| .XP | .XP | ||
| - | Author, A.B. Title of article. | + | Autor, A.B. Título del artículo. |
| - | .I "Title of periodical" , | + | .I "Título del periódico" , |
| .I "vol num" | .I "vol num" | ||
| .I "issue num" ), ( | .I "issue num" ), ( | ||
| pages. | pages. | ||
| - | (here is some extra text to cause the exdented paragraph | + | (aquí va algún texto extra para hacer que el párrafo desangrado se corte, de manera que pueda ver |
| - | to wrap, so you can see what it looks like) | + | qué apariencia tiene) |
| </ | </ | ||
| - | ====Redactando con groff==== | + | ==== Render del groff==== |
| + | |||
| + | Podrás convertir el documento de formato groff con [[codificacion_de_texto|codificación UTF-8]]: | ||
| - | 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]]. | + | <code bash>groff -ms -k -Tpdf paper.ms > paper.pdf</ |
| - | Con groff podrá | + | o bien, recurre |
| - | 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. Por ejemplo, para formatear un paper usando | + | <code bash> |
| + | ====Conclusión==== | ||
| - | <code bash> | + | ¡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: | Para aprender más sobre dar formato con los macros -ms, lea el man de groff en su sistema con: | ||
| Línea 188: | Línea 230: | ||
| <code bash>$ man groff_ms</ | <code bash>$ man groff_ms</ | ||
| + | Ver: [[groff# | ||
