troff es un sistema de proceso de textos desarrollado por AT&T para el sistema operativo UNIX.
Características
Entre las características de troff se encuentran el espaciado, párrafos, márgenes, notas al pie de página y mucho más. A diferencia de otros formateadores de texto, troff puede posicionar caracteres arbitrariamente en un lugar de la página, incluso uno sobre otro, y tiene un lenguaje de entrada completamente programable. Procesadores separados se usan para obtener calidad en la salida de diagramas, tablas y matemáticas en general. La entrada de troff es un texto plano editable con cualquier editor de textos.
Varios paquetes macros extensibles han sido creados para diversos estilos de documentos. Una distribución típica de troff incluye me para el proceso de artículos científicos, macros man para la creación de páginas de manual de Unix y los macros ms y mm para cartas, libros, memorandos técnicos y reportes.
Mientras troff evoluciona, se van creando varios preprocesadores para facilitar tareas que no pueden llevarse a cabo fácilmente en el lenguaje puro. Estos programas simplemente reemplazan secciones de texto con entradas válidas de troff, siendo especialmente útiles con el entubamiento en Unix. Entre los preprocesadores más destacables encontramos eqn para matemáticas, tbl para el formateo de tablas, refer para el manejo de citas bibliográficas (muy parecido a la utilidad de BibTeX), y más tarde pic para el dibujo avanzado con un lenguaje de programación específico del dominio, teniendo utilidades parecidas con graph o ideal.
Reimplementaciones
- Groff es el proyecto de GNU para implementar troff en un sistema 100% libre.
- unroff es una implementación extensible escrita en Scheme.