======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, **[[versiones_de_unix#unix_primera_edicion|roff]]**. Este consistió en una implementación simplificada del [[ctss|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 **[[versiones_de_unix#unix_segunda_edicion|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 **[[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. 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 [[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**. 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.