Troff

Wikipediasta
Siirry navigaatioon Siirry hakuun

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.

  • 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.

Toteutuksia[muokkaa | muokkaa wikitekstiä]

  • 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ä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ä]