TeX

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif
TeX logo

TeX (officiellt skrivet TEX) är ett typsättningssystem skrivet av Donald Knuth. TeX är populärt i den akademiska världen, särskilt inom ämnesområdena matematik, fysik och datavetenskap. Det har i stort sett helt ersatt Unix troff, det andra vanliga typsättningsprogrammet i Unix-installationer. TeX anses generellt vara det bästa sättet att typsätta matematiska formler, men det används nu också för många andra typsättningsuppgifter, särskilt i form av LaTeX och andra mallpaket.

Innehåll

Historia

Knuth började utveckla TeX eftersom han hade blivit irriterad på den sämre och sämre typsättningskvaliteten i volymerna I-III av hans bokverk "The Art of Computer Programming". I en praktisk uppvisning av hackerns tendens att vilja lösa problem en gång för alla började han att designa ett eget typsättningsspråk. Han trodde att han skulle bli klar med det under sitt sabbatsår (1978), men han tog fel på ungefär 8 år. Språkdefinitionen blev slutligen fastställd runt 1985.

Den första versionen av TeX skrevs i programspråket SAIL för en PDP-10-dator som körde operativsystemet WAITS. För senare versioner av TeX uppfann Knuth konceptet literate programming, en metod att producera kompilerbar källkod och korslänkad dokumentation med högkvalitativ typsättning (gjord i TeX) från samma originalfil. Det språk som används heter WEB, och det producerar program skrivna i Pascal.

TeX har ett excentriskt versionsnumreringssystem. Sedan version 3 har uppdateringar indikerats genom att lägga en extra siffra på slutet, så att versionsnumret närmar sig talet pi mer och mer. Nuvarande version är 3.141592 (november 2006). Detta avspeglar det faktum att TeX numera är väldigt stabilt, och endast mindre uppdateringar förväntas ske.

Knuth erbjuder hittelön till den som hittar och rapporterar in en bugg i TeX. Priset per bugg sattes till en början till en cent, och det fördubblades varje år tills det stoppades vid sitt nuvarande värde 327 dollar och 68 cent. Detta system har inte gjort Knuth fattig, eftersom det har hittats väldigt få buggar och eftersom checker som bevisar att dess ägare har funnit en bugg i TeX brukar hängas upp på väggen snarare än lösas in.

Typsättningssystemet

TeX är ett exempel på ett märkspråk, där alla kommandon börjar med ett omvänt snedstreck ("\"). TeX är ett makrobaserat språk: alla kommandon expanderas till andra kommandon eller text (möjligen med sidoeffekter), och dessa andra kommandon expanderas sedan i sin tur tills allt är expanderat till fullo. Användaren kan definiera sina egna makron. Loopar och if-then-else-konstruktioner finns tillgängliga, vilket gör TeX till ett Turingkomplett språk.

TeX-systemet har precis kunskap om storleken på alla tecken och symboler, och med hjälp av denna information räknar systemet ut den optimala uppställningen av tecken per rad och rader per sida. Sedan producerar systemet en enhetsoberoende .dvi-fil, som innehåller alla teckens slutliga positioner. Denna .dvi-fil kan skrivas ut direkt med en lämplig skrivardrivrutin, och den kan dessutom konverteras till andra format.

De främsta referensverken för TeX är de första två volymerna av Knuths "Computers and Typesetting", "The TeXbook" och "TeX: The Program" (som innehåller TeX:s kompletta dokumenterade källkod).

Trots att TeX är välskrivet är programmet så stort (och så fullt av nyskapande tekniker) att det sägs ha tagit fram åtminstone en bugg i varje Pascal-system som det har kompilerats i. TeX går att köra på nästan alla operativsystem.

TeX är ett exempel på fritt distribuerbar och högkvalitativ programvara.

Licens

TeX-programmets licens tillåter fri distribution och modifikation, men kräver att modifierade versioner inte kallas TEX, TeX, eller något annat som kan förväxlas med namnet TeX. Därmed ger licensen rättigheter som motsvarar de som ges av ett varumärke.

Namnet

Det är meningen att namnet TeX ska uttalas "tech", där "ch" motsvarar ljudet i slutet av tyskans "Ach" (X:et skall vara den grekiska bokstaven χ). Namnet ska typsättas med e:t under raden; system som inte stöder detta använder sig av approximationen "TeX". TeX-fans tycker om att komma på namn som anspelar på programnamnet, exempelvis TeXnician (en TeX-användare), TeXhacker (en TeX-programmerare), TeXmaster (en kompetent TeX-programmerare), TeXhax och TeXnique.

System som bygger på TeX

Ett flertal dokumentationssystem är baserade på TeX. Några som bör nämnas är LaTeX, jadeTeX och Texinfo. LaTeX (Lamport TeX) inkluderar dokumentstilar för böcker, brev, diabilder m m samt support för referenser och automatisk numrering av sektioner och ekvationer. jadeTeX använder TeX för att skriva ut från James' DSSSL Engine. Texinfo är GNU-projektets dokumentationssystem.

Ett antal utvidgningar av TeX finns tillgängliga, bland dem BibTeX för bibliografier (distribueras med LaTeX), PDFTeX som kringgår .dvi-formatet och producerar utdata i Adobe Systems' Portable Document Format (PDF), och Omega som tillåter TeX att använda Unicode-teckenuppsättningen. Alla TeX-utvidningar finns att ladda ner gratis från CTAN (the Comprehensive TeX Archive Network).

Exempel

Låt oss ta ett enkelt TeX-exempel. Skapa textfilen minfil.tex med följande innehåll:

hej
\bye

Starta sedan en kommandoradstolk och skriv:

tex minfil.tex

TeX skapar då filen minfil.dvi (dvi står för device independent, alltså enhetsoberoende). Använd ett DVI-visningsprogram för att titta på .dvi-filen. MikTeX, för att ta ett exempel, innehåller ett DVI-visningsprogram som heter yap:

yap minfil.dvi

DVI-visningsprogrammet visar texten hej på en sida. \bye är ett TeX-kommando som markerar slutet på filen, och det visas inte i .dvi-versionen.

.dvi-filen kan antingen skrivas ut direkt från DVI-visningsprogrammen, eller den kan konverteras till vanliga format som PostScript med dvips-programmet.


Handledning för TeX i Wikipedia

Rilpedia:Användarhandledning_för_TeX


Se även

Externa länkar

Denna artikel (eller en tidigare version av den) innehåller material från FOLDOCs TeX-artikel, som används med deras tillstånd.

Personliga verktyg