Avaa päävalikko

Troff on tekstinmuotoiluohjelmisto, joka on alun perin kehitetty AT&T:llä Unix-käyttöjärjestelmälle.

troff- ja nroff-ohjelmat kehitti Joe Ossanna, jonka jälkeen Brian Kernighan jatkoi.[1]

OminaisuuksiaMuokkaa

Troffin syöttökieli on täysin ohjelmoitavissa. Taulukoiden, kaavioiden ja matemaattisten kaavojen tuottamisen helpottamista varten on erillisiä esikääntäjiä. Troffin ohjaukseen käytetään tekstitiedostoa, jota voi muokata, käsitellä ja säilyttää käyttäjän valitsemilla työkaluilla.

Eri käyttötarkoituksia varten on kehitetty erilaisia laajoja makropaketteja. Tyypillinen troff-toteutus sisältää me-makrot tieteellisten tutkimusjulkaisujen tuottamista varten, man-makrot Unixin manuaalisivujen tuottamiseen sekä ms- ja mm-makrot kirjeitä, kirjoja, muistioita ja raportteja varten.

EsikääntäjätMuokkaa

Troffin kehittyessä todettiin, ettei kaikkea voida tehdä helposti pelkällä troff-kielellä. Tämän takia alettiin kehittää esikääntäjiä. Ne muuttavat tietyntyyppisiä osia dokumentista troff-syötteeksi kelpaavaan muotoon. Esikääntäjät toimivat Unix-maailman filosofian mukaisesti, eli yksittäisen tehtävän hyvin suorittavan ohjelman tuloste sopii toisen ohjelman syötteeksi. Esikääntäjiä ovat mm.

  • eqn (engl. equation), joka mahdollistaa matemaattisten kaavojen syöttämisen paljon helpommassa ja havainnollisemmassa muodossa
  • tbl muotoilee taulukoita (tables).
  • refer (ja samantyylinen bib) muotoilee lainauksia lainaustietokannan mukaan
  • pic ja ideal kaavioiden kuvaamiseen
  • grap, joka tuottaa kuvaajien tai kaavioiden määritelmistä ohjauskieltä picille.

ToteutuksiaMuokkaa

  • groff on GNU-projektin vapaa toteutus (troff ja nroff).
  • unroff on laajennettava, Scheme-kielellä toteutettu korvaava järjestelmä.
  • Heirloom troff perustuu OpenSolariksen troff-koodiin. Se sisältää lukuisia laajennuksia ja on myös groff-yhteensopiva.

LähteetMuokkaa

  1. M. Douglas McIlroy: A Research UNIX Reader: Annotated Excerpts from the Programmer’s Manual, 1971-1986 (PDF) cs.dartmouth.edu. Viitattu 6.9.2019. (englanniksi)

Aiheesta muuallaMuokkaa

Tämä ohjelmistoon liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.