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] Ossanna kirjoitti alkuperäisen toteutuksen assemblyllä noin vuonna 1973 ja se kirjoitettiin uusiksi C-kielellä noin vuonna 1975.[2]

troff on suunniteltu tekstille ja sisältää myös ominaisuudet, joita tarvitaan matematiikalle.[3]

Ominaisuuksia

[muokkaa | muokkaa wikitekstiä]

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ät

[muokkaa | muokkaa wikitekstiä]

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.

Toteutuksia

[muokkaa | muokkaa wikitekstiä]

Lähteet

[muokkaa | muokkaa wikitekstiä]
  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)
  2. Joseph F. Ossanna & Brian W. Kernighan: Troff User’s Manual (PDF) troff.org. Viitattu 28.2.2020. (englanniksi)
  3. Brian W. Kernighan & Lorinda L. Cherry: A System for Typesetting Mathematics (PDF) research.swtch.com. Viitattu 9.2.2023. (englanniksi)

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]