Contexto
CTSS, tiempo compartido y la necesidad de maquetar
El laboratorio de tiempo compartido
CTSS fue el primer sistema de tiempo compartido estable. Permitía sesiones interactivas en terminales conectadas a un IBM 7090/7094. RUNOFF nace ahí para formatear informes y manuales sin tocar la impresora a mano.
Autoría y propósito
Saltzer escribió RUNOFF como sucesor mejorado de TYPSET. Buscaba que los investigadores dedicaran tiempo a contenido, no a espaciados manuales en listados de línea.
Ingenieros y documentación
Los usuarios eran programadores del MIT, autores de manuales y estudiantes que necesitaban informes con títulos, sangrías y saltos de página consistentes.
Cómo funcionaba
Comandos con punto, reglas tipográficas y flujo batch
RUNOFF leía un archivo de texto con “instrucciones” que comenzaban con un punto (.bp, .ce, .ti, .fo). El resto de líneas eran contenido plano. Al procesar, generaba una salida paginada y justificada para la impresora de línea.
Soportaba márgenes (.in), líneas por página (.pl), encabezados y pies (.he, .fo), centrados (.ce) y control de numeración. El formato final dependía de la tipografía monoespaciada del dispositivo y de los 6 líneas por pulgada típicos.
No había WYSIWYG: el usuario iteraba corriendo RUNOFF, viendo la impresión y corrigiendo comandos. Aun así, era mucho más rápido que editar cinta o tarjetas perforadas con códigos de formato.
.bp salto de página · .in 5 sangría en espacios · .ce 2 centrar 2 líneas · .ti tabulación · .fi/.nf activar/desactivar relleno.
Flujo de trabajo
De la terminal al papel
-
1
Preparar archivo con comandos . (p. ej.
.bp,.in,.he) mezclados con el texto. -
2
Ejecutar RUNOFF en la terminal CTSS; el programa calculaba saltos y justificación.
-
3
Enviar la salida a la impresora de línea (o a archivo) y revisar la paginación.
-
4
Iterar: ajustar comandos y volver a “correr” (de ahí el nombre run off, “sacar copia”).
Ecosistema
Hardware, sistema y usuarios objetivo
IBM 7090/7094
Mainframes con memoria limitada. RUNOFF optimizaba cálculo de líneas sin desperdiciar ciclos.
CTSS
Tiempo compartido: permitía editar y lanzar RUNOFF de forma interactiva, no por lotes.
Investigadores y soporte
Quienes documentaban software, manuales de curso, papers y notas técnicas internas.
Académico y compartido
Se distribuía dentro del MIT y a otros laboratorios que adoptaron CTSS; fue base de implementaciones en Multics.
Legado
Lo que RUNOFF dejó sembrado
Joe Ossanna y Brian Kernighan tomaron RUNOFF como base conceptual para roff y luego troff en Unix (1970s).
Los man pages y manuales de Unix usan macros derivadas del paradigma RUNOFF.
La idea de “texto + marcas simples” reaparece en Markdown (2004) y LaTeX hereda el pipeline de compilación.
Introdujo la noción de describir formato por comandos declarativos, base de estilos reutilizables.
Comparativa rápida
RUNOFF frente a sus descendientes
-
RUNOFF
Comandos con punto, pensado para impresora de línea; sin macros complejas.
-
troff
Macros, tipografía proporcional y salidas fotocomposición para UNIX en los 70.
-
LaTeX
Macromotor en TeX con semántica académica; separación total entre contenido y formato.
-
Markdown
Marca mínima inspirada en roff/HTML; orientada a lectura directa en texto plano.
Curiosidades
Detalles para anotar
“Run off” significaba “sacar copia impresa”. El comando se volvió verbo en el laboratorio.
El manual del CTSS define .he/.fo; hoy todavía vemos macros .SH, .PP en man pages.
Su sintaxis se reimplementó en Multics y, más tarde, inspiró a Bell Labs para roff.
Al paginar a 6 líneas por pulgada y 66 líneas por página, optimizaba papel y tiempo de impresora.
Explora más