6
Tags:
linux
Skrevet af
Bruger #173
@ 08.02.2006
TeX er et tekstformatteringssystem skabt af datalogen og matematikeren Donald Knuth. Knuth skabte TeX, fordi han ville forbedre tekstbehandlingen af værket "The Art of Computer Programming", som er et datalogisk værk, som er på listen over de 12 bedste monografer i det tyvende århundrede, hvor også værker som Feynman, Einstein og Mandelbrot er repræsenteret. Knuth brugte omtrendt ti år på at skabe TeX; nu har han så renskrevet "The Art of Computer Programming" i TeX (og METAPOST, men det er en anden historie).
Tekstbehandlingssystemet LaTeX er er makropakke bygget ovenpå TeX, som letter arbejdet med at skrive almindelige rapporter, bøger og lignende. TeX, på den anden side, er det rå materiale, man har at arbejde med; det betyder også, at TeX er svært at mestre, men faktisk er det ret nemt at lære. Jeg vil i denne artikel præsentere nogle eksempler, sådan at du har de basale forudsætninger for at lave dokumenter i TeX.
Programmer
Hvis du bruger Linux eller et andet UNIX-kompatibelt styresystem, så burde du have TeX og de andre nødvendige programmer som xdvi installeret. Ellers må du hente dem på Internettet eller installere dem fra cd-rom. Hvis du bruger Windows, så få fat i programmet MiKTeX fra
http://www.miktex.org/. Efter installationen skulle du have TeX og xdvi installeret, som er det program, man viser filerne med.
Basalt eksempel
Lad os begynde med et basalt eksempel på et TeX-dokument. Når du skriver to apostroffer i træk (som `` eller '') vil TeX oversætte det til de korrekte anførselstegn. Du kan også skrive \\lq\\lq og \\rq\\rq, for at få de to slags anførselstegn.
Der er fire slags "streger": en almindelig bindestreg (-), et en-dash (--), et em-dash (---) og et minustegn ($-$). Her kommer det første eksempel.
Dette er det første "TeX-dokument".
\\bye
Kommando-sekvensen \\bye fortæller TeX, at vi er færdige med at formatere. Det er en forkortelse for \\vfill\\eject\\end, hvilket fylder den sidste side ud og afslutter programmet. Prøv at gemme eksemplet i en fil kaldet "test.tex" og kompilér med "tex test.tex". Du skulle gerne få output i stil med dette:
This is TeX, Version 3.141592 (MiKTeX 2.4)
(test.tex [1] )
(see the transcript file for additional information)
Output written on test.dvi (1 page, 252 bytes).
Transcript written on test.log
Nu kan du se det færdige dokument ved at køre xdvi og åbne .dvi-filen. DVI står for "device independent", hvilket betyder, at filen kan ses på alle mulige platforme. Man kan også konvertere dvi-filen til en pdf-fil. Det gøres med kommandoen dvipdfm.
Endnu et eksempel
Lad os prøve at eksperimentere med skrifttyper. Du kan få kursiv teksttype med kontrol-sekvensen {\\it TEKST}, fed med {\\bf TEKST}, "bøjet" teksttype med {\\sl TEKST}, skrivemaskine-stil med {\\tt TEKST} og almindelig teksttype med {\\rm TEKST}. Her er et eksempel.
\\TeX\\ has also been a noteworthy example of {\\it free}, shared, but high-quality software. Knuth offers a monetary award to {\\bf anyone} who found and reported {\\sl bugs} dating from before the 1989 code freeze; as the years wore on and the few remaining bugs were fixed (and new ones even harder to find), the bribe went up. Though well-written, \\TeX\\ is so large (and so full of cutting edge technique) that it is said to have unearthed at least one bug in every {\\tt Pascal} system it has been compiled with.
Kontrol-sekvensen \\TeX udskriver TeX-logoet og det efterfølges af et mellem rum, som fås med kontrol-sekvensen "\\ " (skråstreg efterfulgt af mellemrum). Man kan loade fonte med kontrol-sekvensen \\font. Lad os se på et eksempel:
\\font\\bigtenrm=cmr10 scaled\\magstep2
\\font\\smalltenrm=cmr10 scaled 500
{\\bigtenrm Dette er den store skrifttype.}
{\\smalltenrm Dette er den lille skrifttype.}
\\bye
Kompilér denne fil, som du gjorde med test-eksemplet. Du vil se de tre forskellige skrifttyper, hvoraf de to er importeret. Du kan nok se, hvad kontrol-sekvensen \\font gør. Den loader i dette tilfælde fonten "cmr10" i forskellige forstørrelser.
Matematik
Nu kommer vi til det TeX' vigtigste formål, nemlig at formatere matematik. Det kan hovedsageligt gøres på to måder: i "math mode" og i "display math mode". I det første tilfælde kommer matematikken på linjer ligesom den omringende tekst, mens den i "display mode" bliver opstillet efter regler for formatering af matematik. Lad os se på et eksempel.
Denne ligning, $x^2 + y^2$, er et eksempel p\\aa\\ s\\aa\\dan en formel.
Ligningen $$x^2 - y^2$$ er vores udgangspunkt.
\\bye
Dette er et meget simpelt eksempel. "Matematikken" mellem dollar-tegnene bliver skrevet på en almindelig linje, mens matematikken mellem de to dollar-tegn bliver vist i en boks for sig selv. Nu kan vi eksperimentere mere med matematik. Her følger et mere komplekst eksempel.
$$\\sum_{i=1}^p \\sum_{j=1}^q \\sum_{k=1}^r a_{ij}b_{jk}c_{ki}$$
\\bye
Kommando-sekvensen \\sum laver et summeringstegn, og du skal skrive indeks-variablen mellem tuborg-klammerne. Opløftning sker i dette tilfælde også ved at bruge hat-tegnet (^). Lad os se på et sidste eksempel.
$$\\pi(n) = \\sum_{m=2}^n\\Biggl\\lfloor{\\biggl(\\sum_{k=1}^{m-1}\\big\\lfloor(m /
k)\\big/\\lceil m / k \\rceil \\big \\rfloor \\biggr)}^{-1}\\Biggr\\rfloor$$
\\bye
Som du nok kan regne ud, så skriver \\pi et pi-tegn. Andre ting at lægge mærke til er brugen af \\big, \\biggl, \\biggr og \\Biggl og \\Biggr, som laver tegnene større og større. Du må selv inspicere eksemplet, for at få forklaringer på, hvad det er, der sker.
Jeg håber, at du har fået mere mod på TeX, nu hvor du kender til det basale. Hvis du har fået blod på tanden og ønsker at se mere, så lån eller køb bogen "The TeXbook" af Donald Knuth.
Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.
Del også gerne artiklen med dine Facebook venner:
Kommentarer (3)
Dejligt at se en artikel om TeX. Jeg har selv brugt det en del til windows og det er bare en fornøjelse at bruge når man først kommer ind i det.
Well, jeg bruger LaTeX, det holder 100%
men udemærket indgang til emnet.
hej jeg ville være meget glad hvis du skrev en mail til mig
Du skal være
logget ind for at skrive en kommentar.