TeX
Razvijalec | Donald Knuth |
---|---|
Začetna izdaja | 1978 |
Stabilna izdaja | januar 2021 |
Razvojni status | vzdrževan |
Programski jezik | izvirno v WEB |
OS | več platform |
Tip | urejevalnik besedil |
Licenca | dopustna |
Spletno mesto | www.tug.org/ |
TeX (IPA: /tɛx/, včasih s posnemanjem logotipa zapisano TEX, grški koren ) je programsko okolje za urejevanje (oblikovanje in izpis) besedil, ki ga je ustvaril znani ameriški matematik, računalnikar in programer Donald Knuth. TeX je razširjen na univerzah, še posebej pri uporabi v matematičnih, fizikalnih in računalniških občestvih. Na veliko je zamenjal program iz Unixa troff, še en priljubljen urejevalnik na mnogih postavitvah Unixa. Znotraj TeX je ime programa prikazano kot TeX.
TeX je bil v splošnem zamišljen kot najboljši način pisanja zapletenih matematičnih enačb. Vendar se, še posebej v obliki LaTeXa in drugih šablonskih paketih, uporablja tudi za druge pisarniške namene. Lahko ga uporabimo za sestavljanje matematičnih izrazov na straneh Wikipedije (glej Wikipedija:TeXov zapis).
Zgodovina
[uredi | uredi kodo]Knuth je začel ustvarjati TeX ker ga je mučila upadajoča kakovost urejenega besedila v njegovih treh knjigah The Art of Computer Programming (Umetnost računalniškega programiranja). Za dokaz tipične nadebudniške vnetosti rešiti dani problem enkrat za vselej je začel izdelovati svoj lastni urejevalniški jezik. Najprej je mislil, da ga bo dokončal do svojega letnega vseučiliškega dopusta v letu 1978, vendar je dokončno prenehal z izpopolnjevanjem in dopolnjevanjem jezika okoli leta 1989.
Zgodilo se je, da je bil Guy Steele poleti 1978 na Univerzi v Stanfordu, medtem ko je Knuth razvijal svojo prvo različico TeXa. Ko se je Steele jeseni vrnil na MIT, je ponovno zapisal vhodno/izhodne funkcije TeXa za izvajanje pod ITSom.
Prva inačica TeXa je bila napisana v programskem jeziku SAIL za izvajanje na računalniku PDP-10 v operacijskem sistemu WAITS Univerze v Stanfordu. Za kasnejše inačice je Knuth izumil zamisel knjižnega programiranja, način izdelave združljive izvorne kode in visokokakovostne križno zvezane dokumentacije (seveda urejen v TeXu) iz iste izvirne datoteke. Uporabljen jezik se imenuje WEB in izdela programe v pascalu.
TeX uporablja značilno inačico številskega sestava. Od izpopoljnjene inačice 3 iz leta 1989 so se posodobitve označevale z dodatno števko na koncu decimalke, tako da se številka inačice asimptotično približuje številu π. Trenutna inačica je 3.14159265, zadnjič je bila posodobljena 12. januarja 2014. To je odraz dejstva, da je sedaj TeX zelo stabilen in zato predvidevajo le manjše posodobitve.
Urejevalniški sistem
[uredi | uredi kodo]TeXov ukaz se začne z znakom \. TeX je jezik na podlagi makrojev: vsak ukaz se razširi v seznam drugih ukazov ali besedilo (z možnimi stranskimi učinki). Drugi ukazi se krožno razširjajo dokler ni vse razširjeno. Uporabniki lahko določijo svoje lastne makroje. Na razpolago so zanke in if-then-else jezikovni konstrukti, kar določa TeX kot popolni jezik po Turingu.
Sistem TeXa ima natančen pregled nad velikostjo vseh znakov in znamenj. Z uporabo te informacije izračunava optimalno postavitev črk po vrstici in vrstic po strani. Izdela datoteko DVI (za »device independent« (»neodvisno od priprave«)), ki vsebuje končne položaje vseh znakov. To datoteko dvi lahko natisnemo neposredno s pripadajočim gonilnikom tiskalnika ali pa jo lahko pretvorimo v druge formate.
Dokončna vira za TeX sta prvi dve Knuthovi knjigi njegovega dela Computers and Typesetting (Računalniki in urejevanje besedil), The TeXbook in TeX: The Program, ki vsebujeta popolno dokumentirano izvorno kodo za TeX.
Licenca
[uredi | uredi kodo]Licenca TeXa dovoljuje prosto razširanje in spreminjanje, vendar zahteva, da se vsaka spremenjena inačica ne sme imenovati TEX, TeX ali kakorkoli zbegano podobno, in s tem preskrbi pravice podobne tistim pri zaščitnih znakih.
Vrednost
[uredi | uredi kodo]Čeprav je Tex dobro napisan, je tako velik (in poln odrezanih tehnik), da zanj pravijo, da je izkopal vsaj enega hrošča iz vsakega pascalovega sistema, s katerim so ga prevedli. TeX teče na skoraj vseh operacijskih sistemih.
Knuth ponuja denarne nagrade vsakomur, ki najde in prijavi hrošča v TeXu. Nagrada za hrošča je na začetku znašala 1 cent in se je vsako leto podvojila, dokler je niso priklenili na njeno trenutno vrednost 327,60 ameriških dolarjev. Na ta način Knuth ni obubožal, predvsem zaradi malo hroščev, pa tudi ker je ček v vsakem primeru dokazoval, da je njegov lastnik našel hrošča v TeXu. Ta ga je zato raje uokviril kot pa unovčil.
Ime
[uredi | uredi kodo]Ime TeX naj bi se izgovarjalo »teh«, (SAMPA: [tEx]). X je mišljen kot grška črka χ. TeX je kratica za τεχνε, grško »umetnost« (»umeti«) in »spretnost«, kar je tudi izvorna beseda za »tehničen» ali »tehnologijo«. Ime se pravilno zapiše s črko »E«, ležečo pod osnovno črto besedila. V okoljih, ki ne podpirajo spodnjih indeksov uporabimo približek »TeX«. Ljubitelji radi razširjajo imena iz besede »TeX«. Na primer: TeXnik (uporabnik programja TeX), TeXheker (programer v TeXu), TeXmojster (sposoben programer v TeXu), TeXhax in TeXnika.
Izpeljana dela
[uredi | uredi kodo]Nekaj sistemov pisalnih urejevalnikov temelji na TeXu. Med njimi so:
- LaTeX (Lamport TeX), ki vključuje pisalne sloge za knjige, črke, fotografije itd. in dodaja podporo za povezovanje in samodejno številčenje odstavkov, poglavij in enačb,
- ConTeXt, nastal po »krivdi« Hansa Hagena pri Pragmi omogoča profesionalno urejanje besedil (pisave, barve, postavitev strani, ...). Ker je nekoliko mlajši od LaTeX-a je morda malo manj znan, vendar zato toliko spretneje in elegantneje rešuje prav tiste naloge, ki so pri slednjem trn v peti (predvsem manipulacija z dizajnom strani in barvami).
- AMS-TeX, za Ameriško matematično društvo ga je izdelal Michael Spivak. Ima veliko več uporabniku prijaznih ukazov, ki jih lahko revije prikrojijo za svojo lastno rabo. Večino posebnosti AMS-TeXa lahko uporabimo v LaTeXu z uporabo »paketov« AMS. Ti se nanašajo na AMS-LaTeX. Glavni priročnik AMS-TeXa ima naslov The Joy of TeX (Veselje s TeXom).
- jadeTeX, ki uporablja TeX kot končno stopnjo za tiskanje iz Jamesove DSSSL Engine,
- Texinfo, pisalni predelovalni sistem GNUja.
Obstaja mnogo razširitev TeXa. Med njimi so BibTeX za bibliografske podatke (razširjen zLaTeXom), PDFTeX, ki se ogne dvi datotekam in izdela izhodne datoteke v Adobeovem formatu PDF ter (nestabilna) Omega, Aleph, XeTeX (za Mac OS X), NTS in exTeX (v razvoju), ki omogočajo TeXu uporabo množice naborov Unicode. Vse TeX razširitve so na razpolago zastonj v CTANu, splošna arhivska mreža TeXa.
Združljiva orodja
[uredi | uredi kodo]TeXmacs urejevalnik besedila je WYSIWYG urejevalnik znanstvenega besedla, ki je zasnovno združljiv s TeXom. Uporablja Knuthove črke in lahko izdela izhodne datoteke TeXa. Je precej navdihnjen z urejevalnikom Emacs - omogoča npr. izdelavo razširitev in makrojev v jeziku Guile/Scheme. Tudi kombinacije tipk so precej podobne.
Za razliko od nekaterih drugih programov (npr. LyX) TeXmacs sam postavlja besedilo - TeXa samega za stavljenje ne uporablja, uporablja zgolj filozofijo TeXa. Kakovost stavljenja je precej visoka, na ravni TeXa.
LyX je urejevalnik znanstvenega besedila. Za stavljenje uporablja LaTeX, zato omogoča vse kar slednji zna. Večina funkcij je dostopna preko ikon in menijev.
TeX in Wikipedija
[uredi | uredi kodo]Od leta 2003 Wikipedija omogoča zapis TeX z uporabo ukaza <math>...</math>
, ki loči okolje TeXa. Ta možnost se izvede preko Texvc, v osnovi skriptnega jezika, ki pretoči zapis preko TeXa, potem preko dvips za izdelavo datoteke PostScript, ki jo Ghostscript predela v sliko PNG. Zaradi narave spletnega okolja je to izvedeno na učinkovit (zakrit) in varen način. Omogočanje, da neokrnjeno besedilo obdela standardni pogon TeXa je slaba zamisel, če pomislimo na vrednost datotek.
Drobne primere TeXa spodaj je izdelal Texvc. Preproste primere kot je <math>\frac{a}{b}</math> lahko uporabimo za izdelavo , čeprav je priporočljivo zapisati v obliki HTML-ja a/b.
TeXovi primeri
[uredi | uredi kodo]Preprost primer v plain TeX - Izdelaj datoteko z besedilom mojadat.tex z naslednjo vsebino:
hello \bye
Potem odpri tolmač z ukazno vrstico in vpiši
tex mojadat.tex
TeX nato izdela datoteko mojadat.dvi.
Za pregled datoteke uporabi pregledovalnik MikTeX na primer vsebuje pregledovalnik z imenom yap
:
yap mojadat.dvi
Pregledovalnik prikaže na strani hello. \bye je ukaz TeXa, ki označuje konec datoteke in ga pregledovalnik ne prikaže.
Datoteko dvi lahko natisnemo neposredno iz pregledovalnika ali pa pretvorjeno v bolj običajen format kot je PostScript z uporabo programa dvips
.
Za nadaljnji pogled na TeX glej njegovo oblikovanje matematičnih enačb. Na primer, za zapis znane kvadratne enačbe poskusi vnesti
Kvadratna enačba je ${-b\pm\sqrt{b^2-4ac} \over {2a}}$. \bye
Ko narediš, kakor je zapisano zgoraj, dobiš nekaj podobnega
- Kvadratna enačba je .
Enačba je zapisana na takšen način kot bi jo nekdo zapisal z roko ali bi jo stavil. V besedilu matematični način dosežemo z zapisom $, napišemo enačbo v slovnici TeXa in ga zaključimo z naslednjim $. Matematični zapis sredinjen v samostojni vrstici dosežemo z uporabo $$. Zgornja enačba bo v tem načinu zapisana kot:
Kvadratna enačba je $${-b\pm\sqrt{b^2-4ac} \over {2a}}$$ \bye
in se prikaže kot
- Kvadratna enačba je
Glej tudi
[uredi | uredi kodo]Sklici
[uredi | uredi kodo]Viri
[uredi | uredi kodo]- Skupina uporabnikov sistema TEX: http://www.tug.org/
- Splošna arhivska mreža TEX: http://www.ctan.org/ . Shramba izvorne kode TEXa in stotine dodatkov slogovnih datotek,
- Projekt LaTeX: http://www.latex-project.org/ ,
- Donald E. Knuth, The TEXbook, Reading, Massachusetts: Addison-Wesley, 1984. ISBN 0-201-13448-9. (v angleščini),
- Norman Walsh, Making TeX Work, http://makingtexwork.sourceforge.net/mtw/index.html Prosta spletna knjiga (v angleščini),
- Omega Arhivirano 2004-03-24 na Wayback Machine. (16 bitna inačica TeXa; LaTeX-ov dokument v ukazni vrstici poženemo z ukazom lambda, ne omega!),
- Vladimir Batagelj, Bojan Golli, Povabilo v TeX, LaTeX, BIBTeX, PiCTeX, DMFAS, Ljubljana 1990.
- TEXCEH , slovenska skupina uporabnikov TEXa
Ta članek (ali njegove prejšnje inačice) vsebuje snov iz članka o TeXu Arhivirano 2003-04-28 na Wayback Machine. FOLDOCa in je uporabljen z dovoljenjem.