Texinfo

Texinfo on merkintäkieli, jonka avulla yhdestä lähdekoodista voidaan luoda dokumentointia sekä verkkosivuille että tulostettavaan muotoon eri tiedostomuodoissa, kuten `dvi`, `html`, `pdf`, jne., sekä texinfon oma hypertekstimuoto, `info`). Texinfon kääntää saman niminen tietokoneohjelma, joka on julkaistu vapaana ohjelmistona. Texinfo yhdistetään Free Software Foundationin GNU-projektiin,What's GNU: Texinfo, Issue 6, Oct 01, 1994, By Arnold Robbins, Linux Journal jonka ohjelmien virallinen dokumentointimuoto se on ollut. Texinfon kehitti Richard M. Stallman, joka on FSF:n ja GNU:n perustaja. Texinfon päätarkoitus on helpottaa ohjelmisto-oppaiden kirjoittamista. Sillä voidaan luoda kaikki kirjan normaalit rakenteet, kuten luvut, aliluvut, viittaukset, taulukot ja sisällysluettelot. Lisäksi texinfo mahdollistaa hypertekstin koneella luettavaan dokumentaatioon. Paperitulosteiden muotoiluun Texinfo käyttää Donald Knuthin TeX-ohjelmaa, jonka makropaketti se itseasiassa on. Käyttämällä Texinfon eri kääntäjiä, on mahdollista päivittää useita dokumentointeja (kuten verkkosivu ja tulostettava manuaali) käyttäen ainoastaan yhtä lähdekoodia. Texinfo tulisi lausua "tehinfo" - samoin kuin TeX-ladontajärjestelmän nimi, jossa X esittää kreikan kirjainta χ (khi). Kehittäjien mukaan "Texinfo" tulisi kirjoittaa isolla alkukirjaimella "T", mutta muuten pienillä kirjaimilla. == Tiedostotyypit == Jotta useita tiedostotyyppejä voidaan päivittää samanaikaisesti, editoimalla Texinfon (.texi) lähdekoodia, on tehty useita syntaksikääntäjiä, jotka voivat kääntää Texinfo-tiedoston muihin tiedostotyyppeihin. Useimmat tiedostot luodaan käyttämällä `makeinfo`-ohjelmaa, joka on osa GNU Texinfo -jakelua. ;HTML :(luodaan komennolla `makeinfo --html`.) HTML on verkkosivujen merkintätapa, ja tätä tiedostotyyppiä voidaan käyttää netissä julkaistavan dokumentaation tekemiseen. Texinfon manuaalin mukaan `makeinfo`-ohjelma yrittää rajoittaa tiedoston tiettyyn HTML-merkintätavan osajoukkoon, jotta mahdollisimman monilla selaimilla voitaisiin lukea valmista dokumenttia. ;DVI :(luodaan komennolla `texi2dvi`.) DVI on TeX-ladontajärjestelmän laitteistoriippumaton tiedostotyyppi, joka on tarkoitettu tulosteiden luomiseen ja voidaan muuttaa PostScript (`ps`-tiedostoksi). ;PDF :(luodaan komennolla `texi2dvi --pdf` tai `texi2pdf`.) PDF-tiedostotyyppi perustuu PostScript-kieleen. Adobe Systems kehitti tiedostomuodon laitteistoriippumattomien tiedostojen muodoksi. Kuten PostScript-tiedosto, PDF-tiedosto voi esittää dokumentin lopullista ulkoasua ja on rajatta skaalattavissa. PDF-tiedostot on tarkoitettu laitteistoriippumattomiksi ja niitä voidaan katsella useilla ohjelmistoilla. Texinfo käyttää `pdftex`-ohjelmaa, TeX-varianttia, tuottaakseen PDF-tiedoston. ;Docbook :(luodaan komennolla `makeinfo --docbook`.) Tämä on XML-kieleen perustuva merkintätapa tekniselle dokumentaatiolle, joka muistuttaa pääpiirteiltään Texinfoa. On myös mahdollista kääntää Docbook-tiedostoja Texinfo-tiedostoiksi käyttämällä `docbook2X`-ohjelmistoa. ;XML :(luodaan komennolla `makeinfo --xml`.) Yleisiin käyttötarkoituksiin. ;Info :(luodaan komennolla `makeinfo`.) Tämä on GNU:n dokumentaation tiedostotyyppi, joka sisältää navigointielementtejä tekstin eri kohtiin, ristiviittauksille, aliluvuille ja niin edelleen. Info-tiedostotyyppiä voi katsella `info`-ohjelmistolla tai GNU Emacsilla. On huomattava, että Unixin manuaalisivuja ei voi tuottaa Texinfon kääntäjillä. Texinfoa käytetään, kun kirjoitetaan GNU-ohjelmistojen dokumentointia, jota tarvitaan yleensä Unix-tyyppisissä ympäristöissä, missä man-sivut ovat perinteinen dokumentointitapa. Man-sivuilla on tarkka rakenne ja niitä käytetään yleensä pikaoppaina, kun taas Texinfon avulla tehdyt dokumenttien on tarkoitus olla laajoja ja kattavia oppaita. Tämän vuoksi GNU ei näe syytä muuttaa Texinfo-sisältöä man-sivuiksi. Useille GNU-ohjelmille on olemassa man-sivut, jotka kehottavat lukijaa tutustumaan Info-sivuun. == Texinfo-lähdekoodi == Texinfo mahdollistaa dokumentin jäsentämisen kirjan tapaan, jolloin dokumentissa on lukuja, alilukuja, ristiviittauksia ja indeksejä. Lähdekoodi on lähes leipätekstiä, mutta teknisesti ottaen se on jäsenneltyä tekstiä, jota on jäsennetty komennoilla, jotka alkavat merkillä "`@`". Näyte lähdetiedostosta: @ifnottex @node Top @top Short Sample @insertcopying @end ifnottex @menu * First Chapter:: The first chapter is the only chapter in this sample. * Index:: Complete index. @end menu Komennot merkitsevät rakennetta, kuten lukua, sekä erottavat lähdekoodista osia, joita tarvitaan vain tietyissä luotavissa tiedostotyypeissä. == Historia ja status == Texinfo on GNU-projektin virallinen dokumentaatiotapa. Texinfo on lisensoitu GNU General Public License -lisenssillä. Texinfo-formaatin loi Richard M. Stallman, yhdistäessään tulostettavia tiedostoja tuottavan BoTeX- formaatin, joka oli käytössä MIT-yliopistolla, verkkosivuilla käytettävään Info-dokumentaatiojärjestelmään, joka käyttää hyperlinkkejä. Info on myös Stallmanin luoma ja perustuu TECO versioon Emacsista.GNU Texinfo Manual, Section 1.14 HistoryRichard Stallman, January 8, 2012, post on emacs-devel mailing list: "...Info has existed since 1976 or so, in the original Emacs. At that time, Info files were written by hand, and everyone could edit system files on ITS." BoTeX perustui puolestaan aiempaan järjestelmään, jolla oli nimi Bolio (yhdistetään usein David A. Mooniin, ja jota käytettiin Lisp- tietokoneessaDaniel Weinreb and David A. Moon (January 1979), Lisp Machine Manual, Second Preliminary Version), jota muokattiin käyttämään TeX-formaattia ulostulonaan. Robert Chassell auttoi Stallmania luomaan ensimmäisen kääntäjän Info-tiedostotyypin tekemiseen Emacs Lispiä varten. Texinfon ohjelmistokehitystä johti Brian Fox (versioon 3.8 asti), Karl Berry (versioon 5.2 asti), ja Gavin Smith (joulukuusta 2014 alkaen). Texinfo "perustuu löyhästi Brian Reidin Scribe-merkintäkieleen ja muihin merkintäkieliin, jotka olivat tyypillisiä sen syntyaikana".Texinfo Info-ohjelman ja texinfon levinneisyyttä on haitannut se, että valtaosa GNU:n dokumentaatioista on levitetty GNU Free Documentation License -lisenssin alaisuudessa. Jotkut projektit, kuten Debian, pitävät GFDL:ää epävapaana lisenssinä sen sallimien pakollisten "muuttamattomien osioiden" ("invariant sections") vuoksi, eikä texinfo-dokumentaatiota toimiteta käyttöjärjestelmän mukana, eikä info- ohjelmaa asenneta. Eric S. Raymond kertoi 2014 Stallmannin sanoneen, että Info-järjestelmä korvataan uudella kevyellä järjestelmällä, joka voi tuottaa tulosteita ja HTML-hypertekstiä. Korvaava järjestelmä olisi luultavasti AsciiDoc.https://lists.gnu.org/archive/html/groff/2014-02/msg00104.html ==Lähteet== == Aiheesta muualla == * GNU Texinfo kotisivu * GNU Texinfo manuaali * GNU Texinfo tiedostojen latauspalvelin Luokka:Julkaisuohjelmat Luokka:Matemaattiset merkintäkielet