groff

Linux.fista
Versio hetkellä 5. huhtikuuta 2015 kello 00.08 – tehnyt Oselotti (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

groff on GNU-versio Unixin alkuperäisestä ladontajärjestelmän (roff) uudemmista versioista (nroff, troff). Ladontaohjelmalla perusteltiin uuden tietokoneen hankkiminen Unix-projektille sen alkuaikoina, joten textinladonta oli Unixien ensimmäisiä käyttöalueita.

GNU-projektin alkuaikoina 1980-luvulla päätettiin käyttää uudempaa matemaattisille teksteille kehitettyä TeX-järjestelmää käyttöjärjestelmän pääasiallisena ladontaohjelmana. groff on kuitenkin merkittävässä roolissa Unixin käsikirjan (man, UNIX Programmer's Manual) ladontajärjestelmänä. GNU-ohjelmat dokumentoidaan ensisijaisesti TeX-pohjaisella info-järjestelmällä, mutta BSD:stä ja monesta muusta lähteestä saadut ohjelmat käyttävät ensisijaisesti man-muotoa; useimmista ohjelmista on kirjoitettu ainakin man-sivun tyngät.

Vaikka groff-järjestelmää nykyään käytetäänkin ensisijaisesti yksinkertaisen virtuaalipäätteelle tulostettavan tekstin muotoiluun, sitä voi käyttää myös painokelpoisen tuloksen aikaansaamiseen, kuvineen kaikkineen.

Groffin käytössä makropaketit ovat tärkeässä roolissa. Man-sivujen tulostuksessa käytetään makropakettia "man" (mikä siis yleensä tapahtuu kulissien takana man-komennon kautta). Esimerkiksi file-ohjelman manuaalisivua voi katsoa hienommin ladottuna näin:

zcat /usr/share/man/man1/file.1posix.gz | groff -m man -Tps - > tmp.ps
gv tmp.ps

man tekee pyydettäessä saman kulissien takana:

man -Tps file > tmp.ps
gv tmp.ps

Sivun voi tulostaa normaaliin tapaan:

lpr tmp.ps

Osa groffin toiminnallisuudesta voi olla eri paketissa kuin man-sivujen käyttöön tarvittava perusta, Debianissa groff ja groff-base.

groff on sekä koko järjestelmän GNU-version että siihen sisältyvän komennon nimi. groff järjestelmä sisältää mm. troff ja nroff-nimiset ohjelmat, joista edellinen huolehtii varsinaisesta ladontatyöstä ja jälkimmäinen jäljittelee muiden unixien nroffia.