roff , tarihsel olarak UNIX ve türevleriyle ( BSD , Linux …) bağlantılı bir metin biçimlendirme dilidir .
LaTeX dili gibi , roff da biçimlendirme sistemine dayalı bir metin biçimlendirme dilidir. Hafifliği (metinleri çok hafif yapar), yorumlanması ( derlenen LaTeX'in aksine ) roff'u UNIX dünyasında ve türevlerinde (*BSD, Linux, vb.) çok popüler bir dil haline getirir. Özellikle man sayfalarını biçimlendirmek için kullanılır . Onun koşulsuz takipçisi olduğunu ( örneğin Andrew Tanenbaum , Tercih edenler):
roff üç ana aşamadan geçti:
Roff serisinin atası, 1961 yılında Jerry Saltzer tarafından CTSS işletim sistemi üzerinde tasarlanan runoff programıdır ; bu program PL/I'de , ardından BCPL'de yazılmıştır . Programın adı "aceleyle yazmak" anlamına gelir çünkü amacı, iyi tipografik kalitede yazı belgelerini hızlı ve kolay bir şekilde yapmaktır.
MultiklerIn 1963 CTSS dönüştü zaman, Multics , yüzey akış , yardım sayfalarında özellikle yarayan, esas olarak bugün ona bağlı kalır bir işlev ana sayfa düzeni programı haline geldi.
UNIX ile birkaç popüler program ortaya çıktı: nroff ve troff. At Massachusetts Teknoloji Enstitüsü , gerek gelen kontrolüne hissedildi PDP-11 bir görüntü yerleştirici , grafik çıkış cihazına; ancak, akış yeterli değildi.
Yani Joseph Ossanna , birkaç ana MULTICS'i geliştiricileri ve programcı biri akış limanları , dilin herhangi uygulama bugün hala büyük oranda borçludur temel işlevleri açıklayan üç programların bir dizi yazdı:
Bu programlar birbirini izleyen birkaç dilde yazılmıştır:
Ossanna'nın 1977'de vefatından sonra Kernighan projeye devam etti ve bir ASCII dosyasını cihazdan bağımsız bir ikili ( Cihazdan Bağımsız ) dosyaya dönüştüren ditroff programını yazdı .
troff , kılavuz sayfaları ( man ) mektupları veya makaleleri yazmak için birkaç makro komutu grubuna sahiptir . alıntı yapabiliriz
Çeşitli önişlemci biçimi tabloları (mevcuttur tbl denklem) ( denklem ), kimyasal formüller ( kimya ) ya da bibliyografik referanslar (uç bakınız ). Pic önişlemci bir komut dili tarafından açıklanan grafikleri eklemenize izin verir ve grap grafikleri eklemek için izin verir.
Bu örnekte olduğu gibi, kaynak dosyadan bir dosya oluşturmak için Unix borularını kullanarak önişlemcileri birbirine zincirleriz :
refer fichier.ms| tbl | eqn | groff-ms -Tpdf > fichier.pdfGroff programı ( GNU roff tarafından yazılmış), James Clark , olduğu en yaygın roff / troff / ditroff klon bugün . Tüm bu programları taklit eder ve onlara bazı orijinal özellikler ekler.