roff (lenguaje de computadora)

roff es un lenguaje de formato de texto vinculado históricamente a UNIX y sus derivados ( BSD , Linux …).

Descripción

Al igual que el lenguaje LaTeX , roff es un lenguaje de formato de texto basado en un sistema de marcado. Su ligereza (hace muy livianos los textos), el hecho de que sea interpretado (a diferencia de LaTeX que está compilado ) hacen de roff un lenguaje muy popular en el mundo UNIX y sus derivados (* BSD, Linux, etc.). Se utiliza en particular para formatear páginas de manual . Tiene sus seguidores incondicionales ( como Andrew Tanenbaum ), que lo prefieren:

Histórico

roff pasó por tres etapas principales:

CTSS y Multics: escorrentía

CTSS

El antepasado de la serie roff es el programa de escorrentía que fue diseñado en 1961 por Jerry Saltzer en el sistema operativo CTSS  ; este programa fue escrito en PL / I , luego en BCPL . El nombre del programa significa "escribir con prisa" porque su objetivo es hacer documentos de escritura de buena calidad tipográfica de forma rápida y sencilla.

Multics

En 1963 , cuando CTSS evolucionó a Multics , runoff se convirtió en el programa de diseño de página principal, sirviendo en particular para las páginas de ayuda, una función que sigue estando asociada principalmente a él en la actualidad.

UNIX: nroff, troff, ditroff

Con UNIX aparecieron un par de programas muy populares: nroff y troff. En el Instituto de Tecnología de Massachusetts , se sintió la necesidad de controlar desde el PDP-11 una filmadora , dispositivo de salida de gráficos; sin embargo, la escorrentía no fue suficiente.

Entonces, Joseph Ossanna , uno de los principales desarrolladores de MULTICS y programador de varios puertos de escorrentía , escribió un conjunto de tres programas, describiendo las funcionalidades básicas a las que toda implementación del lenguaje todavía está en gran parte en deuda hoy:

Estos programas se escribieron en varios idiomas sucesivos:

Después de que Ossanna falleciera en 1977 , Kernighan continuó el proyecto y escribió el programa ditroff convirtiendo un archivo ASCII en un archivo binario independiente del dispositivo ( Device Independent ).

troff tiene varios conjuntos de comandos de macro para escribir las páginas del manual ( man ) letras o artículos. Podemos citar

Varios preprocesadores están disponibles para tablas de formato ( TBL ) de las ecuaciones ( eqn ), fórmulas químicas ( chem ) o inserto de referencias bibliográficas ( consulte ). El pic preprocesador permite insertar gráficos descritos por un lenguaje de comandos, y grap permite insertar gráficos.

Encadenamos los preprocesadores usando tuberías Unix para generar un archivo a partir del archivo fuente, como en este ejemplo:

refer fichier.ms| tbl | eqn | groff-ms -Tpdf > fichier.pdf

GNU: groff

El programa groff ( GNU roff ), escrito por James Clark , es el clon roff / troff / ditroff más común en la actualidad . Emula todos estos programas y les añade algunas características originales.

Ver también

enlaces externos

Notas y referencias

  1. Jean-Louis Roos , Procesamiento de textos con UNIX: troff y nroff , Armand Colin,1992( ISBN  2-200-21259-3 y 978-2-200-21259-9 , OCLC  27424276 , leer en línea )
  2. Eric P. Allman, "  Escribir artículos con NROFF usando −me  "
  3. Tim O'Reilly y Dale Dougherty , Unix de procesamiento de textos , Indianapolis, IN, EE.UU., libros Hayden,1987( ISBN  0-672-4629 1-5 , leer en línea )
  4. American Telephone and Telegraph Company , banco de trabajo del documentalista UNIX System V: manual de referencia. , Prentice Hall,1989( ISBN  0-13-943580-8 y 978-0-13-943580-5 , OCLC  19860970 , leer en línea )