Introduktion til LaTeX
Introduktion til LaTeX
Introduktion til LaTeX
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Introduktion</strong> <strong>til</strong> LATEX<br />
for studerende ved DTU<br />
Morten Ovi<br />
latex@student.dtu.dk<br />
www.student.dtu.dk/∼latex<br />
6. september 2004
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
i<br />
Indhold<br />
Om denne introduktion<br />
iii<br />
1 Hvad er L A TEX? 1<br />
1.1 Det første eksempel . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />
2 Hvorfor bruge L A TEX? 2<br />
2.1 L A TEX’ styrker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />
2.2 . . . og dets svagheder . . . . . . . . . . . . . . . . . . . . . . . . 4<br />
2.3 L A TEX og Word . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />
3 De forskellige fil-formater 5<br />
4 Eksempler og skabeloner 6<br />
4.1 Eksempel 1 – et minimalt L A TEX-dokument . . . . . . . . . . . 7<br />
4.2 Eksempel 2 – L A TEX på dansk . . . . . . . . . . . . . . . . . . . 8<br />
4.3 Eksempel 3 – kapitler, afsnit og indholdsfortegnelse . . . . . . . 8<br />
4.4 Eksempel 4 – generelle detaljer . . . . . . . . . . . . . . . . . . 9<br />
4.5 Eksempel 5 – referencer . . . . . . . . . . . . . . . . . . . . . . 10<br />
4.6 Eksempel 6 – punktops<strong>til</strong>ling og skriftstørrelse . . . . . . . . . . 11<br />
4.7 Eksempel 7 – matematik . . . . . . . . . . . . . . . . . . . . . . 11<br />
4.8 Eksempel 8 – indsættelse af figurer (billeder) . . . . . . . . . . 13<br />
4.9 Eksempel 9 – indsættelse af tabeller . . . . . . . . . . . . . . . 13<br />
4.10 Eksempel 10 – sidehoved og -fod (headers og footers) . . . . . . 14<br />
4.11 Eksempel 11 – flere filer og appendiks . . . . . . . . . . . . . . 14<br />
4.12 Skabelon <strong>til</strong> større rapporter . . . . . . . . . . . . . . . . . . . . 15<br />
5 Figurer (og tabeller) 15<br />
5.1 De forskellige billedformater . . . . . . . . . . . . . . . . . . . . 15<br />
5.2 Konvertering mellem filformaterne . . . . . . . . . . . . . . . . 15<br />
5.3 Placering af floats på siden . . . . . . . . . . . . . . . . . . . . 17<br />
5.4 Flere floats ved siden af hinanden . . . . . . . . . . . . . . . . . 17<br />
5.5 Gode råd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />
6 BiBTEX – slutnoter 18<br />
7 Hvad så nu? 19<br />
Litteratur 20<br />
Appendiks<br />
a<br />
A Installation af L A TEX<br />
a<br />
A.1 Databarerne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a<br />
A.2 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . a<br />
A.2.1 MiKTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . a<br />
A.2.2 Viewers . . . . . . . . . . . . . . . . . . . . . . . . . . . a<br />
A.2.3 Teksteditor . . . . . . . . . . . . . . . . . . . . . . . . . b<br />
A.3 Unix/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b<br />
A.3.1 L A TEX = teTEX . . . . . . . . . . . . . . . . . . . . . . . b<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
ii<br />
A.3.2 Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . b<br />
B Kompilering<br />
c<br />
B.1 Databaren (Unix/Linux) . . . . . . . . . . . . . . . . . . . . . . c<br />
B.2 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c<br />
B.2.1 WinEdt . . . . . . . . . . . . . . . . . . . . . . . . . . . d<br />
B.3 Emacs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e<br />
B.4 Om at kompilere . . . . . . . . . . . . . . . . . . . . . . . . . . e<br />
C Installation af pakker<br />
f<br />
C.1 Download af pakker – CTAN . . . . . . . . . . . . . . . . . . . f<br />
C.1.1 Windows . . . . . . . . . . . . . . . . . . . . . . . . . . h<br />
C.1.2 Linux/G-databaren . . . . . . . . . . . . . . . . . . . . . h<br />
Figurer<br />
1 Kompilering og de <strong>til</strong>hørende kommandoer . . . . . . . . . . . . 6<br />
2 WinEdt – kompilering . . . . . . . . . . . . . . . . . . . . . . . d<br />
3 Resultat af søgning på fancyhdr.sty . . . . . . . . . . . . . . . f<br />
4 Download af udvalgte dele af fancyhdr-pakken . . . . . . . . . . g<br />
5 Download af hele fancyhdr-pakken . . . . . . . . . . . . . . . . . g<br />
6 MiKTEX Package Manager . . . . . . . . . . . . . . . . . . . . . h<br />
Tabeller<br />
1 Input-filformaterne i L A TEX . . . . . . . . . . . . . . . . . . . . 5<br />
2 Output-filformaterne i L A TEX . . . . . . . . . . . . . . . . . . . 5<br />
3 Simpel tabel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />
4 Billedformaterne i L A TEX . . . . . . . . . . . . . . . . . . . . . . 16<br />
5 Navngivning af labels. . . . . . . . . . . . . . . . . . . . . . . . 17<br />
Listings<br />
1 Et minimalt L A TEX-dokument. . . . . . . . . . . . . . . . . . . . 7<br />
2 Indsættelse af figur (billede) . . . . . . . . . . . . . . . . . . . . 13<br />
3 Minipage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
iii<br />
Om denne introduktion<br />
Denne introduktion er lavet for at hjælpe studerende ved DTU i gang med at<br />
bruge L A TEX, da erfaringen viser at L A TEX kan være lidt svært at komme i gang<br />
med. Den <strong>til</strong>hørende hjemmeside, www.student.dtu.dk/∼latex/, har denne og<br />
flere andre introduktion liggende, og siden bliver ofte refereret <strong>til</strong> fra dette<br />
dokument, da den har mange vigtige og nyttige informationer. Alle spørgsmål,<br />
problemer, kommentarer, ris+ros og hvad man ellers kunne finde på at sige<br />
noget om kan sendes <strong>til</strong> os på latex@student.dtu.dk.<br />
Inden vi kommer for godt i gang er det vist helt på sin plads at fortælle at<br />
L A TEX udtales [la:tæk] og intet har med materialet latex at gøre. Årsagen <strong>til</strong><br />
den anderledes udtale skyldes at TEX repræsenterer de græske bogstaver tau,<br />
epsilon og chi: τɛχ. Den pudsige måde hvorpå bogstaverne i L A TEX er placeret<br />
på, er for at illustrere dette. Da det stort set kun er i L A TEX at man kan<br />
lave denne bogstavkombination, skriver man derfor <strong>LaTeX</strong> andre steder for at<br />
illustrere dette.<br />
I denne introduktion vil der blive beskrevet:<br />
• hvad L A TEX er og hvordan adskiller det sig i forhold <strong>til</strong> normale tekstbehandlingsprogrammer<br />
som Word og StarOffice (herefter ‘Word’).<br />
• hvorfor det kan være en stor hjælp at benytte L A TEX <strong>til</strong> skrivning af<br />
rapporter, midtvejs- og eksamensprojekter osv.<br />
• hvordan man benytter L A TEX i G-databaren på DTU og hvordan man<br />
installerer L A TEX på sin egen computer.<br />
• hvordan man konkret skriver i L A TEX.<br />
Denne introduktion har karakter af en praktisk guide. Dette skyldes at der<br />
er mange rigtig gode og omfattende introduktioner <strong>til</strong> L A TEX på Internettet,<br />
men at få af dem beskæftiger sig med de praktiske problemer der opstår i<br />
begynderfasen.<br />
Læsevejledning. I dette dokument er der gjort brug af forskellige skrifttyper<br />
(fonte) for at markere forskellige pointer. Tekst med denne font er L A TEX-kommandoer,<br />
andre kommandoer eller filnavne. Tekst skrevet således er pakker.<br />
I marginen optræder af og <strong>til</strong> symbolet ∆. Dette symbol henviser <strong>til</strong> et<br />
afsnit i den glimrende, men omfangsrige, introduktion <strong>til</strong> L A TEX, The not so<br />
short introduction to L A TEX 2ε [1], som giver en længere og mere omfattende<br />
forklaring på det pågældende emne.<br />
Denne introduktion er på små 40 sider, men kun halvdelen af dem er selve<br />
introduktionen – resten er fyld og appendiks. Det tager nok en times tid<br />
at komme igennem denne introduktion, og en del mere når man skal eksperimentere<br />
med L A TEX imens dette læses, og efterfølgende når man skal skrive<br />
rapporter i det selv.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 1<br />
1 Hvad er L A TEX?<br />
L A TEX er et ikke helt normalt tekstbehandlingsprogram. En af L A TEX’ største<br />
styrker ligger i naturvidenskabelige tekster, og da studerende ved DTU skriver<br />
en masse af af dem, vil mange hurtigt opdage fordelene ved at skrive udtryk<br />
som<br />
e x = 1 + x + 1 2! x2 + · · · + 1 ∞∑ 1<br />
n! xn + · · · =<br />
n! xn , x ∈ R (1)<br />
i L A TEX. Det ser hamrende flot ud i forhold <strong>til</strong> Word, men det smarteste, og<br />
samtidig anderledes i forhold <strong>til</strong> hvad man er vant <strong>til</strong>, er den måde man laver<br />
det på. Du vil forhåbentlig også opdage at der er andre tungtvejende grunde <strong>til</strong><br />
at vælge L A TEX frem for Word, også selvom man ikke skal skrive formel-tunge<br />
rapporter.<br />
Den største forskel man i starten lægger mærke <strong>til</strong> i forhold <strong>til</strong> Word er, at<br />
man i Word hele tiden kan se hvordan det man skriver kommer <strong>til</strong> at se ud<br />
på papiret. Altså, det der står på skærmen er det samme som det der står på<br />
papiret. Med L A TEX forholder det sig ikke helt sådan. Her skriver man noget<br />
der minder om kode, som så bliver kompileret 1 <strong>til</strong> et dokument.<br />
L A TEX derimod, er et program som tager sig af tekstformateringen (‘typesetting’),<br />
altså den måde teksten bliver sat op på. L A TEX er altså ikke et tekstbehandlingsprogram!<br />
Kender man lidt <strong>til</strong> HTML vil man opdage at der er store<br />
ligheder i logikken mellem HTML og L A TEX.<br />
1.1 Det første eksempel<br />
n=0<br />
Når man i Word vil ændre noget tekst <strong>til</strong> fed skrift, så markerer man teksten<br />
og trykker på fed skrift-ikonet. Man gør egentlig det samme i L A TEX, bortset<br />
fra at i stedet for at trykke på et ikon, så skriver man i stedet en kommando.<br />
Her skriver man:<br />
\textbf{Denne tekst bliver sat med fed skrift}<br />
som det for eksempel er gjort med denne tekst. \textbf står for text bold<br />
face, bedre kendt som fed skrift. Tilsvarende laves kursiv skrift med \textit.<br />
∆5.2.1<br />
1 Når man kompilerer (engelsk: compile) et dokument, så betyder det at man oversætter<br />
en type tekst <strong>til</strong> en anden. At kompilere et L A TEX-dokument betyder at man fodrer L A TEX<br />
med en tekstfil som så spytter et dokument ud - outputtet. Læs mere om det i appendiks B på<br />
side c.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 2<br />
Ovenstående var et simpelt eksempel, men noget lidt mere avanceret kan være<br />
et uddrag fra koden <strong>til</strong> formel 1 på foregående side:<br />
e^{x} = 1 + x + \frac{1}{2!} x^{2} + \cdots ∆3.1<br />
som giver<br />
e x = 1 + x + 1 2! x2 + · · ·<br />
Opbygningen er logisk når man lige har luret at frac er en forkortelse for fraction<br />
(brøk) og at de ting der står i Tuborg-parenteserne { } er argumenterne.<br />
\cdots er en kommando der laver de tre centrerede prikker (dots).<br />
2 Hvorfor bruge L A TEX?<br />
Dette spørger de fleste om, og med god grund. Filosofien bag L A TEX er at<br />
forfatteren (dig!) ikke skal bekymre sig om layoutet, men om selve teksten.<br />
Husk på at man først opdager fordelene ved L A TEX, når man har haft handson<br />
erfaringer med det – for eksempel skrevet et par rapporter i det.<br />
∆1.2.3<br />
2.1 L A TEX’ styrker. . .<br />
Udseendet. Dokumenterne får et professionelt udseende. De fleste undervisningsbøger<br />
på DTU, danske som udenlandske, er skrevet i L A TEX.<br />
Pris. L A TEX er gratis, ligesom de fleste teksteditorer man bruger <strong>til</strong> at skrive<br />
L A TEX i.<br />
Projekt- og samarbejde. Med L A TEX er det slut med konvertering mellem<br />
versioner og filformater. Man skal ikke bekymre sig om at alle gruppemedlemmerne<br />
bruger præcis det samme program <strong>til</strong> at skrive i. På DTU kan det<br />
være frustrerende at sidde i en databar med Windows PC’ere og skrive rapport<br />
i MS Word, når man næste gang sidder i en databar med Unix og skriver<br />
i StarOffice. Sidelayout, tabeller, referencer, formler osv. kan på mærkeligste<br />
vis blive ændret og man bruger al for megen tid på opsætningen af dokumentet.<br />
Tid som kunne være brugt på at forbedre indholdet. Dette sker ikke i<br />
L A TEX da dokumenterne er uafhængige af brugerens styresystem, opsætning og<br />
teksteditor (se nedenfor).<br />
L A TEX hjælper også med at sørge for at dokumentet får et ensartet udseende.<br />
For eksempel er det L A TEX der sørger for at give kapitler, afsnit, billeder,<br />
tabeller og alle de andre referencer numre.<br />
Når man bruger L A TEX er det slut med at lave om i kapitel- og afsnitsnumre<br />
og hver gang der sker en ændring i rapportens struktur, for nummereringen sker<br />
automatisk. Dét sparer tid ved projektarbejde!<br />
Jo større jo bedre. Har man brugt Word <strong>til</strong> store rapporter med tabeller,<br />
formler, billeder, referencer, indholdsfortegnelser, referenceliste og så videre, så<br />
ved man at jo større dokumentet bliver, jo flere fejl og pludselige ting opstår.<br />
Word er ikke glad for store dokumenter. Man fristes næsten <strong>til</strong> at sige det<br />
modsatte om L A TEX. Her gør det ingen forskel om dokumentet er på 2 eller<br />
200 sider. Programmet går aldrig ned og vil altid opføre sig på samme måde –<br />
uanset størrelsen på dokumentet.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 3<br />
Fingrene væk! Word er et eksempel på et velmenende tekstbehandlingsprogram,<br />
der går ind og retter ‘fejl’. Et klassisk eksempel er at ord efter punktum<br />
får et stort begyndelsesbogstav. Dette er måske meget fint hvis man bare skal<br />
skrive et brev, men det er uacceptabelt for en ingeniørstuderende der skriver<br />
avancerede rapporter.<br />
Dokumenter i PDF og PS. Dokumenter skrevet i L A TEX har outputtet<br />
af typen PDF eller PS. Fordelen ved disse formater er at de er styresystemuafhængige,<br />
hvilket vil sige at de kan åbnes i alle styresystemer og vil se helt ens<br />
ud. Har du prøvet at åbne et Dokument skrevet i StarOffice i Word, redigere<br />
i det, gemme det og åbne det i StarOffice igen? Er man heldig er alt som man<br />
kunne ønske sig, men det er man sjældent.<br />
Kontrol. I princippet kan man have 100% styr på alt hvad L A TEX foretager<br />
sig da alt kan justeres efter hvordan man ønsker at layoutet skal være.<br />
Valgfri teksteditor. Ved du hvad en teksteditor er, så vil du blive utrolig<br />
glad for den valgfrihed som L A TEX giver en. Brug for eksempel Emacs 2 , som er<br />
en gratis og meget populær teksteditor der findes <strong>til</strong> Unix/Linux og Windows,<br />
og som er installeret i G-databaren. Ved du ikke hvad en teksteditor er, så<br />
skal du bare vide at der ikke er nogen tvang med hensyn <strong>til</strong> hvilket program<br />
man bruger <strong>til</strong> at skrive L A TEX i. Brug den editor du bedst kan lide – dit valg<br />
påvirker ikke dokumentet eller dets udseende.<br />
Definer dine egne kommandoer. Denne funktion er ikke altafgørende,<br />
men for nogen kan den betyde en gevaldig tidsbesparelse. I L A TEX kan man<br />
definere sine egne kommandoer. Fores<strong>til</strong> dig at du skal inkludere 30 filer med<br />
kildekode (JAVA, Matlab, Maple, C++, HTML, ASP, PHP, SML. . . ). Hvordan<br />
gør man dette nemmest? I Word er løsningen triviel: Man laver cut’n’paste<br />
ind<strong>til</strong> det hænger en langt ude af halsen. Det er en tidskrævende og idiotisk<br />
metode. I L A TEX kan man for eksempel lave en kommando<br />
∆6.1.1<br />
\newcommand{\kode}[1]{<br />
\verbatiminput{#1}<br />
}<br />
som man så kan kalde med for eksempel \kode{main.java}, hvorefter L A TEX<br />
automatisk tager koden fra filen main.java og sætter den ind i dokumentet<br />
med korrekt skrifttype (font). Uanset om filerne ændres undervejs, så skal man<br />
kun kompilere dokumentet én gang før hele kildekoden i rapporten er ajourført.<br />
Det er smart! Nu er dette eksempel <strong>til</strong>tænkt informatikere og andre der<br />
programmerer, men det er ikke svært at drage analogier <strong>til</strong> andre fagområder<br />
hvor ops<strong>til</strong>ling af egne regler kan være nyttigt.<br />
Hjælp og support. På nogle institutter ydes der kun hjælp <strong>til</strong> større projekter,<br />
såsom midtvejs- og eksamensprojekter, såfremt de er skrevet i L A TEX.<br />
Hjælp <strong>til</strong> L A TEX er dog langt fra begrænset <strong>til</strong> dette. L A TEXsamfundet er utrolig<br />
hjælpsomt og der er mange som hjælper nye med deres problemer.<br />
2 Eller WinEdt, nedit, TEXnicCenter, LyX, vi, . . .<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 4<br />
2.2 . . . og dets svagheder<br />
Der er nogle ulemper ved at bruge L A TEX. For nogle overstiger disse ulemper<br />
fordelene, for andre er de ubetydelige eller ligegyldige. Dette kan også siges på<br />
en anden måde:<br />
Langt fra alle har brug for at skrive rapporter i L A TEX!<br />
Om det er noget for dig afhænger <strong>til</strong> dels af om du lader dig afskrække af<br />
nedenstående ulemper, eller om du ikke synes at du kan bruge L A TEX <strong>til</strong> noget<br />
fornuftigt efter at have skrevet et par rapporter i det.<br />
Man skal arbejde for sagen. På samme måde som du sidder og læser dette<br />
dokument for at få en introduktion <strong>til</strong> L A TEX, på samme måde skal du inds<strong>til</strong>le<br />
dig på at opsøge informationer om hvordan man bruger L A TEX hvis man har<br />
nogle ønsker eller behov der rækker ud over det normale. Men fortvivl ikke –<br />
DTU har med denne introduktion og den <strong>til</strong>hørende hjemmeside skabt et solidt<br />
grundlag for at komme i gang med L A TEX.<br />
Nogle gange skal man arbejde lidt for at få det <strong>til</strong> at fungere som man vil,<br />
andre gange en del. Men det hele afhænger af hvor avanceret du ønsker at dit<br />
dokument skal være.<br />
Ikke WYSIWYG. L A TEX er ikke et What You See Is What You Getprogram,<br />
såsom Word, hvor det der står på skærmen er det samme som står<br />
på papiret. At man skal abstrahere en smule fra teksten når man sidder og<br />
skriver kan være en prøvelse. Det tager lidt tid at vænne sig <strong>til</strong> og er man ikke<br />
er vant <strong>til</strong> at skrive kode, så skal man inds<strong>til</strong>le sig på denne forandring. Men,<br />
nu skal det ikke forstås sådan at alt det man skriver er kode, slet ikke, kun<br />
selve opsætningen.<br />
Giv det en chance. Hvis ikke man giver L A TEX en chance for at vise hvad<br />
det kan, måske fordi man er så vant <strong>til</strong> Word at man ikke har lyst <strong>til</strong> at bruge<br />
tid på at lære et nyt program at kende, så opdager man aldrig dets styrker.<br />
Tænk på hvor lang tid du har brugt på at lære Word. Det er lidt mere end et<br />
par timer. Det er det samme med L A TEX – det bliver du heller ikke fortrolig<br />
med på en time. Du skal regne med at bruge 5-20 timer på at få styr på de<br />
mest centrale dele af L A TEX, alt afhængig af dine forudsætninger.<br />
Stavekontrol. Word har indbygget stavekontrol, men dette er ikke nødvendigvis<br />
<strong>til</strong>fældet for de teksteditorer man bruger <strong>til</strong> at skrive L A TEX i. De fleste<br />
gode teksteditorer, såsom Emacs, har dog dansk stavekontrol.<br />
Kompilering. I starten kan det være ret forvirrende at man skal kompilere<br />
L A TEX-dokumenterne før man får et ‘rigtigt’ dokument som kan læses på skærmen<br />
eller printes ud. Kompilering af et dokument tager mellem 1-20 sekunder<br />
afhængig af størrelsen og antallet af billeder (nærværende dokument tager et<br />
par sekunder at kompilere), så det skal man ikke bekymre sig om. Efterhånden<br />
lærer man hvordan det man laver ser ud og behovet for at kompilere bliver<br />
mindre og mindre.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 5<br />
2.3 L A TEX og Word<br />
Af en eller anden grund bliver alternativer <strong>til</strong> Word ofte opfattet som om at<br />
de vil skabe en ‘krig’ mellem dem og Word. Denne introduktion har bestemt<br />
ikke <strong>til</strong> formål at starte en sådan krig. Hvis du spørger om du skal lægge Word<br />
på hylden hvis du går over <strong>til</strong> at bruge L A TEX, så er svaret såre enkelt: Kun<br />
hvis du synes at L A TEX er bedre. Man skal bruge det program man finder mest<br />
hensigtsmæssigt i den pågældende situation.<br />
I starten synes man måske at det kan være lidt besværligt at bruge L A TEX<br />
og derfor skrives små rapporter stadig i Word. Fint nok. Men de fleste der har<br />
brugt L A TEX <strong>til</strong> (større) rapporter begynder langsomt at gå over <strong>til</strong> at bruge<br />
L A TEX <strong>til</strong> alle rapporter. Dette skyldes ikke mindst at har man fået lavet sig en<br />
rigtig god skabelon (med opsætning osv.) er der ikke noget svært ved at bruge<br />
L A TEX – uanset rapportens størrelse.<br />
3 De forskellige fil-formater<br />
Word-dokumenter har som regel filendelsen .doc. I L A TEX er der mange forskellige<br />
filformater, hvoraf specielt fem af dem er nogen man skal kende <strong>til</strong>. De ∆1.7<br />
er beskrevet i tabellerne 1 og 2.<br />
Tabel 1: Input-filformaterne i L A TEX<br />
Format Filendelse Beskrivelse<br />
L A TEX .tex L A TEX-dokumenterne skal have denne endelse.<br />
Groft sagt kan man sammenligne .tex-filer med<br />
Words .doc-filer.<br />
BibT E X .bib Bruges <strong>til</strong> slutnoter (referencer), altså kildematerialet.<br />
Er ikke et krav.<br />
Tabel 2: Output-filformaterne i L A TEX<br />
Format Filendelse Beskrivelse<br />
DVI .dvi En Device Independent fil kan enten vises i<br />
en view’er eller konverteres <strong>til</strong> PS- eller PDFformatet.<br />
DVI-formatet er især godt at bruge<br />
som ‘kladde’, da visning af filen er meget hurtig.<br />
PS .ps PostScript-formatet er især populært i Unixverdenen.<br />
Windows-brugere har generelt problemer<br />
med at læse disse filer.<br />
PDF .pdf Portable Document Format er et meget udbredt<br />
format, hvorfor det er at foretrække hvis dokumentet<br />
skal være <strong>til</strong>gængeligt for andre.<br />
De fem filer kan deles op i to typer: input og output. .tex og .bib er input<br />
og de resterende output. .bib er nævnt for en god ordens skyld, men er ikke<br />
så vigtig at fokusere på endnu. Har man en fil i et output-format, og ønsker at<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 6<br />
rette i denne, så kan det kun lade sig gøre ved at rette i inputfilen. 3 En grafisk<br />
illustration af hvordan alt dette hænger sammen kan ses på figur 1.<br />
dvips<br />
¡¡¡<br />
¢¡¢¡¢¡¢¡¢<br />
¢¡¢¡¢¡¢¡¢ ¡ ¡ ¡ ¡¡¡<br />
¢¡¢¡¢¡¢¡¢<br />
latex<br />
£¡£¡£¡£¡£<br />
¤¡¤¡¤¡¤¡¤<br />
©¡©¡© ¡¡ ¤¡¤¡¤¡¤¡¤<br />
£¡£¡£¡£¡£<br />
fil.dvi<br />
fil.ps<br />
¤¡¤¡¤¡¤¡¤<br />
£¡£¡£¡£¡£<br />
¡¡ ©¡©¡©<br />
¡¡ ©¡©¡©<br />
¡¡ ©¡©¡©<br />
fil.tex<br />
¡¡ ©¡©¡©<br />
©¡©¡© ¡¡<br />
¡¡ ©¡©¡©<br />
dvipdf<br />
¦¡¦¡¦¡¦¡¦<br />
¥¡¥¡¥¡¥¡¥<br />
¥¡¥¡¥¡¥¡¥<br />
¦¡¦¡¦¡¦¡¦<br />
¦¡¦¡¦¡¦¡¦<br />
¥¡¥¡¥¡¥¡¥<br />
pdflatex<br />
§¡§¡§¡§¡§<br />
¨¡¨¡¨¡¨¡¨<br />
¨¡¨¡¨¡¨¡¨<br />
§¡§¡§¡§¡§<br />
fil.pdf<br />
¨¡¨¡¨¡¨¡¨<br />
§¡§¡§¡§¡§<br />
Figur 1: Kompilering og de forskellige kommandoer (sorte bokse) og filformater<br />
(hvide bokse)<br />
.tex-filen kompileres med enten latex eller pdflatex. Førstnævnte giver<br />
en fil i DVI-format og sidstnævnte giver direkte en PDF-fil. DVI-filen kan,<br />
jævnfør figuren, laves om <strong>til</strong> en PS- eller PDF-fil. Hvad er så bedst? Hver<br />
metode har sine fordele, så det kommer an på hvad man vil og hvilket format<br />
man bedst kan lide at arbejde med. De fleste vil nok foretrække PDF.<br />
Som regel bruges DVI under skrivning af dokumentet, og når dokumentet<br />
er færdigt, så oversættes det <strong>til</strong> enten PS eller PDF. Der er enkelte fordele ved<br />
at gå uden om DVI hvis man vil have sin fil i PDF-format. Som hovedregel<br />
bør man kunne benytte begge metoder, og derfor bruge latex i kladdefasen<br />
og pdflatex <strong>til</strong> sidst (bemærk at alle billeder dermed skal være i både EPSog<br />
JPG/PNG/PDF-format!).<br />
Læs mere om kompilering i kapitel 4 og i appendiks B på side c, og om<br />
figurer og billedformater i afsnit 5.1 på side 15.<br />
4 Eksempler og skabeloner<br />
Nu kommer det praktiske, hvorfor det anbefales at du sidder ved en computer<br />
med L A TEX, for at få et solidt udbytte af kapitlet. Eksemplerne kan downloades<br />
fra hjemmesiden.<br />
Her formodes at du sidder i G-databaren og bruger Emacs. (Har du bredbånd,<br />
så kan du også sidde ved din egen computer og ved brug af programmet<br />
ThinLinc [2] koble dig grafisk <strong>til</strong> G-baren og dermed skrive rapporter uden at<br />
have L A TEX installeret.<br />
I det følgende tages udgangspunkt i at det er eksempel1.tex der skal kompileres.<br />
Eksemplet kompileres med kommandoen latex eksempel1 fra et terminalvindue.<br />
For at se DVI-filen bruges kommandoen xdvi eksempel1.<br />
Det at skulle kompilere L A TEX-dokumenterne og derefter se filerne i et program<br />
er nok noget af det sværeste i starten, så fortvivl ikke hvis det er lidt<br />
bøvlet. Læs meget mere om dette i appendiks B på side c.<br />
Til at redigere i eksemplet bruges Emacs, og dette gøres ved at skrive<br />
emacs eksempel1.tex. Husk at filen altid skal gemmes efter at der er blevet<br />
3 Dette er ikke helt korrekt da man godt kan rette i PS- og PDF-formaterne, men det er<br />
ikke helt lige<strong>til</strong>.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 7<br />
rettet i den, før den kompileres. Dette kan gøres fra menuen File (eller Ctrl+x<br />
efterfulgt af Ctrl+s) i Emacs.<br />
Vil du lære om hvordan man bruger Emacs, så tag et kig på Emacsintroduktionen<br />
på hjemmesiden).<br />
Jo mere man eksperimenterer med eksemplerne, jo mere lærer man. Nogle gange<br />
kommer du <strong>til</strong> at ændre ved noget man ikke må ændre ved, eller lave en<br />
ændring som L A TEX bestemt ikke er glad for (og det skal L A TEX nok give dig<br />
besked om). Så må du rette fejlen før du kan fortsætte. En god ide er at kigge<br />
på den sidste ændring man lavede for at se om man har kommet <strong>til</strong> at lave en<br />
lille fejl, checke om der mangler at blive afsluttet et miljø (uddybes senere), om<br />
der mangler at blive afsluttet en hård- eller Tuborg-parantes, eller noget helt<br />
fjerde. Heldigvis giver L A TEX en beskrivelse af problemet, som står i .log-filen.<br />
Går det helt galt, så kan du jo altid hente eksemplet igen.<br />
4.1 Eksempel 1 – et minimalt L A TEX-dokument<br />
Koden herunder er minimumskravet <strong>til</strong> et L A TEX-dokument.<br />
✞<br />
Listing 1: Et minimalt L A TEX-dokument.<br />
1 \ documentclass { a r t i c l e }<br />
2 \ begin {document}<br />
3 Det l y k k e d e s !<br />
4 \end{document}<br />
✝<br />
☎<br />
✆<br />
• \documentclass fortæller kompileren at der er tale om et L A TEX-dokument.<br />
• article betyder at dokumentet bliver sat op efter de regler der er for<br />
article- klassen. De klasser du vil få brug for er article og report.<br />
report bruges <strong>til</strong> større rapporter.<br />
∆1.6.1<br />
∆1.6.2<br />
• Bemærk \begin{document} og \end{document}. Her begyndes og slut- ∆2.11<br />
tes et miljø (enviroment) – i dette <strong>til</strong>fælde selve dokumentet (document).<br />
Alt hvad der står inden i miljøet bliver formateret efter de regler der<br />
er for det pågældende miljø. For hver \begin{...} skal der være et<br />
\end{...}!<br />
Alt undtagen linjen ‘Det lykkedes!’ er obligatorisk i ethvert L A TEX-dokument.<br />
Området mellem \documentclass og \begin{document} kaldes præambel (preamble)<br />
og er der man fortæller L A TEX hvordan man ønsker at den generelle<br />
opsætning af dokumentet skal være. Kun den tekst der står i document-miljøet<br />
der kommer med i dokumentet.<br />
En ting har du nok undret dig over efterhånden: Hvad laver alle de backslash<br />
(\)? Alle L A TEX-kommandoer starter med et backslash. Ønsker man at have ∆1.3.3<br />
et backslash i sit dokument, så skriver man i stedet $\backslash$. L A TEX har<br />
også reserveret nogle andre tegn som bruges ækvivalent, for eksempel <strong>til</strong> at<br />
lave matematik med. Det drejer sig om blandt andet % $ # & som alle skrives ∆1.3.2<br />
ved at sætte et backslash foran.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 8<br />
4.2 Eksempel 2 – L A TEX på dansk<br />
Som standard kender L A TEX ikke noget <strong>til</strong> æ ø og å, så derfor skal man lige<br />
fortælle L A TEX hvordan den skal håndtere disse bogstaver – både som input,<br />
output og i opsætningen af dokumentet. Dette gøres ved at indsætte følgende<br />
i præamblet.<br />
1 \ usepackage [ l a t i n 1 ] { inputenc }<br />
2 \ usepackage [ danish ] { babel}<br />
3 \ usepackage [ T1 ] { f o n t e n c }<br />
4 \ hyphenation{ d e t t e o r d b l i v e r a l drigombrudtaf<strong>LaTeX</strong> ord−del −l i g e −så−tos−set −<br />
du−v i l }<br />
• \usepackage betyder at man bruger en udvidelse <strong>til</strong> L A TEX, hvilket er meget<br />
benyttet og ganske snedigt (ækvivalent <strong>til</strong> ‘include’ i Java og C++).<br />
Man kan angive forskellige inds<strong>til</strong>linger (options) i hårde paranteser [ ],<br />
men man skal angive argumenterne (i Tuborg-paranteser { }). Inds<strong>til</strong>lingerne<br />
bruges ikke altid, mens argumenterne i Tuborg-paranteserne stort<br />
set altid bruges.<br />
∆1.6.2<br />
• babel med argumentet danish sørger for at kapitler mv. får danske navne. ∆2.5<br />
• inputenc sørger for at L A TEX forstår æ ø å korrekt.<br />
• fontenc bruges <strong>til</strong> at benytte nogle passende skrifttyper (fonts). ∆2.5<br />
• \hyphenation betyder orddeling og herfra styrer man hvordan ord må<br />
deles. L A TEX kan dele stort set alle ord korrekt, men ikke altid. Eksempelvis<br />
bliver ‘StarOffice’ som standard delt ‘St-ar-Of-fice’. Når du møder<br />
et ord der er delt forkert, så definerer du selv hvordan ordet skal deles,<br />
enten det pågældende sted i teksten med ‘\-’ (hvorfor rettelsen kun gælder<br />
for dette ord dette sted), eller i præamblet (hvor rettelsen gælder i<br />
hele dokumentet). som det er vist i linje 4-5.<br />
∆2.2.2<br />
De fire første linjer er et must i ethvert L A TEX-dokuments præambel hvis man<br />
skriver på dansk. Skrives på engelsk, så erstat danish med english. Hyphenation<br />
bruges hvis der er behov for det.<br />
4.3 Eksempel 3 – kapitler, afsnit og indholdsfortegnelse<br />
Nu udvides præamblet med<br />
1 \ documentclass [ 11 pt , a4paper ] { a r t i c l e }<br />
og inde i document-miljøet <strong>til</strong>føjes følgende:<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 9<br />
Indhold<br />
\tableofcontents<br />
\section{Forord} Dette er forordet.<br />
\section{Indledning} Her skriver<br />
man en masse ting om emnet.<br />
Det er måske også en god ide at<br />
have en læsevejledning <strong>til</strong><br />
rapporten med?<br />
\subsection{Læsevejledning}<br />
Bemærk hvordan kapitlerne bliver<br />
lavet automatisk og med de<br />
rigtige numre ikke mindst.<br />
1 Forord<br />
Dette er forordet.<br />
2 Indledning<br />
Her skriver man en masse ting om emnet. Det er<br />
måske også en god ide at have en læsevejledning<br />
<strong>til</strong> rapporten med?<br />
2.1 Læsevejledning<br />
Bemærk hvordan kapitlerne bliver lavet automatisk<br />
og med de rigtige numre ikke mindst.<br />
• \tableofcontents indsætter automatisk indholdsfortegnelsen. (I dette ∆2.7<br />
<strong>til</strong>fælde er eksemplet lidt misvisende da indholdsfortegnelsen faktisk ikke<br />
kommer med. Prøv at kompilere eksempel3.tex, og det skulle gerne<br />
fremgå tydeligt hvad \tableofcontents gør.)<br />
• De to inds<strong>til</strong>linger, 11pt og a4paper, fortæller L A TEX at teksten skal have<br />
skriftstørrelse 11 og at det papir der skrives ud på er af A4-format.<br />
∆1.6.1<br />
• \section indsætter et kapitel med overskriften svarende <strong>til</strong> argumentet, ∆2.7<br />
for eksempel ‘Forord’. \subsection er en undersektion (‘underkapitel’)<br />
<strong>til</strong> en section. Og ja - næste niveau hedder \subsubsection, men her<br />
stopper ordlegen også for dernæst kommer \paragraph. På denne måde<br />
kan man opbygge sit dokument hierakisk.<br />
Prøv nu at skifte article ud med report og kompiler dokumentet. Hvad<br />
skete der? Der skete (forhåbentlig) det at det ‘Forord’ kom <strong>til</strong> at hedde<br />
‘0.1’ i stedet for ‘1’. Det ser ikke særlig smart ud, men det er en mening<br />
med det: Når man bruger report så laver man kapitler med \chapter<br />
og ikke med \section. Prøv at sætte teksten \chapter{Dette er det<br />
rigtige kapitel} ind før forordet og kompiler igen. Nu skulle der gerne<br />
komme en kapiteloverskrift frem og nummereringen starter med ‘1’.<br />
Når der er referencer i teksten, i dette <strong>til</strong>fælde med \tableofcontents og \ref<br />
(eksempel 5), så er det nødvendigt at kompilere dokumentet to gange - nogle<br />
gange tre. Læs mere om hvorfor i appendiks B på side c.<br />
4.4 Eksempel 4 – generelle detaljer<br />
I document-miljøet er indsat følgende.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 10<br />
Disse~tre~ord bliver \textit{aldrig}<br />
delt.<br />
Bemærk ‘linjeskiftet’. Hvad med\\<br />
Og med\\[\baselineskip]<br />
Forsvinder mellemrummet efter \<strong>LaTeX</strong> ,<br />
så husk \{\}: \<strong>LaTeX</strong>{} virker.<br />
Binde-streger bruges ofte, men der<br />
findes også den--langsomme,<br />
og den eftertænksomme---tankestreg.\\<br />
Desuden er der selvfølgelig<br />
minustegnet $-3$.<br />
Brug ’’Tekst’’ og ikke "tekst".<br />
Og hvad med ">denne"< metode?\\<br />
Tekst efter et procenttegn kommer<br />
ikke %godt <strong>til</strong> små noter<br />
med.<br />
Disse tre ord bliver aldrig delt.<br />
Bemærk ‘linjeskiftet’. Hvad med<br />
Og med<br />
Forsvinder mellemrummet efter L A TEX, så husk<br />
{}: L A TEX virker. Binde-streger bruges ofte,<br />
men der findes også den–langsomme, og den<br />
eftertænksomme—tankestreg.<br />
Desuden er der selvfølgelig minustegnet −3.<br />
Brug ”Tekst” og ikke "tekst". Og hvad med<br />
»denne« metode?<br />
Tekst efter et procenttegn kommer ikke med.<br />
• Kommandoer skal som regel altid have {} lige efter sig, for eksempel<br />
\<strong>LaTeX</strong>{}, da det første tegn der kommer lige efter \<strong>LaTeX</strong> ellers vil blive<br />
fjernet (mellemrum er også et tegn i dette <strong>til</strong>fælde).<br />
• Ord med en <strong>til</strong>de (˜) mellem sig vil ikke blive delt over to linjer. ∆2.4.3, 2.6<br />
• ’’ benyttes i stedet for " som citationstegn og kaldes for pling’er. Man<br />
kan også bruges “disse”, som er ‘‘ (laves med shift + tasten <strong>til</strong> venstre<br />
for backspace) og pling’erne.<br />
• Et linjeskift betyder ikke noget. To betyder et nyt afsnit med tabulering<br />
(indrykning). Denne indrykning kan dog fjernes med \noindent{}.<br />
Ønsker man et linjeskift, så kan man skrive \\, og ønskes et nyt afsnit<br />
skrives \\[\baselineskip].<br />
∆2.4.1<br />
∆2.2.1<br />
4.5 Eksempel 5 – referencer<br />
Nu hvor du gerne skulle have en lille ide om hvordan man skriver ting i L A TEX<br />
er det på tide at se på nogle lidt mere avancerede muligheder:<br />
Til ordforklaringer er<br />
fodnoter\footnote{Ja!} gode.<br />
Labels\label{a} er usynlige.<br />
Labels kan man referere <strong>til</strong>:<br />
\ref{a} som står på side \pageref{a}.<br />
Til ordforklaringer er fodnoter a gode. Labels er<br />
usynlige. Labels kan man referere <strong>til</strong>: 4.5 som<br />
står på side 10.<br />
a Ja!<br />
• \footnote indsætter naturligt nok en fodnote det pågældende sted. (Slutnoter<br />
er beskrevet i kapitel 6 på side 18, da dette er et lidt mere omfangsrigt<br />
emne.)<br />
• \label og \ref er to fantastiske ting ved L A TEX. Uanset hvad du ændrer ∆2.8, 3.1<br />
dokumentets opbygning, så vil referencerne altid være korrekte 4 , for man<br />
henviser ikke <strong>til</strong> for eksempel et kapitelnummer, men <strong>til</strong> det navn som<br />
man selv har givet label’en.<br />
• \pageref giver sidenummeret på den label man refererer <strong>til</strong>.<br />
4 Medmindre man ligefrem vælger at give to referencer det samme navn!<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 11<br />
Bemærk at kun nummeret og ikke navnet på kapitlet/afnittet kommer frem<br />
ved en reference. Der findes flere og mere avancerede måder at lave referencer<br />
på (se Samarbejdsdokumentet på hjemmesiden).<br />
4.6 Eksempel 6 – punktops<strong>til</strong>ling og skriftstørrelse<br />
Punktops<strong>til</strong>linger kan laves på flere måder:<br />
\begin{enumerate}<br />
\item punkt et<br />
\begin{itemize}<br />
\item noget mere \item[-]<br />
også her \item[*] hej<br />
\begin{itemize}<br />
\item igen \item[-] og igen<br />
\end{itemize}<br />
\end{itemize} \item punkt 2<br />
\end{enumerate}<br />
\begin{description}<br />
\item[et ting] her og<br />
\item[en anden] ting her<br />
\end{description}<br />
Skriftstørrelsen kan ændres <strong>til</strong><br />
f.eks. {\tiny lille}, {\huge stor}<br />
og {\normalsize normal} skrift.<br />
1. punkt et<br />
• noget mere<br />
- også her<br />
* hej<br />
2. punkt 2<br />
et ting her og<br />
– igen<br />
- og igen<br />
en anden ting her<br />
Skriftstørrelsen kan ændres <strong>til</strong> f.eks. lille, stor<br />
og normal skrift.<br />
• enumerate, itemize og description bruges <strong>til</strong> at lave punktops<strong>til</strong>linger<br />
med. De kan have options i [ ] som ændrer symbolet.<br />
• Skriftstørrelsen kan man variere som man har lyst: stor skrift kombineret<br />
med en lille skrift.<br />
∆2.11.1<br />
∆6.2.1<br />
• Bemærk at der er brugt {\huge stor} i stedet for \huge{stor}, som jo<br />
er den ‘normale’ måde at gøre det på. Denne fremgangsmetode skal af<br />
og <strong>til</strong> benyttes når man ændrer skriftstørrelsen.<br />
4.7 Eksempel 7 – matematik<br />
Matematik er en af L A TEX’ styrker – når man har lært det. Emnet matematik er<br />
kun meget overfladisk behandlet her, men kig i kapitel 3 i The not so short. . .<br />
hvis du vil imponeres.<br />
Der er overordnet to måder hvorpå matematiske udtryk kan blive placeret<br />
i teksten: Iblandt eller uden for den normale tekst. Inkluder pakkerne amsmath<br />
og amssymb når du bruger matematik.<br />
∆3<br />
Matematik mellem linjerne. Hvis du ønsker at der skal stå en formel,<br />
såsom a 2 + b 2 = c 2 mellem linjerne, så skrives matematikken mellem $ og $,<br />
mellem \( og \) eller mellem \begin{math} og \end{math}. Eksempel: ∆3.1<br />
$a^{2}+b^{2}=c^{2}$<br />
Matematiske symboler som a, b og c skrives med $a$ og så videre.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 12<br />
Centreret uden nummer. displaymath-miljøet (eller nemmere mellem\[<br />
og \]) indsætter formlen centreret på en ny linje, men uden formelnummer.<br />
\begin{displaymath}<br />
a^{2}+b^{2}=c^{2}<br />
\end{displaymath}<br />
Centreret med nummer.<br />
det matematiske udtryk:<br />
a 2 + b 2 = c 2<br />
equation-miljøet indsætter et nummer ud for<br />
\begin{equation}\label{reference-test}<br />
a^{2}+b^{2}=c^{2}\end{equation}<br />
Test af label: \ref{reference-test}<br />
og \eqref{reference-test}.<br />
Test af label: 2 og (2).<br />
a 2 + b 2 = c 2 (2)<br />
I stedet for ‘equation-nummer’ som der står nu, vil der stå ‘kapitel-nummer.equationnummer’<br />
hvis man bruger report i stedet for article-klassen.<br />
Generelt om matematik i L A TEX. Med L A TEX kan man s<strong>til</strong>le ligninger op,<br />
som det ikke er muligt i Word. Man kan justere efter for eksempel lighedstegnene<br />
som det er gjort her<br />
\[ \begin{split}<br />
\cos 2x & = 2\cos^2 x - 1\\<br />
& = 1-2\sin^2 x<br />
\end{split} \]<br />
cos 2x = 2 cos 2 x − 1<br />
= 1 − 2 sin 2 x<br />
hvor &-tegnet markerer hvor der justeres efter.<br />
Det er også muligt at lave flere formler i et hug:<br />
\begin{align}<br />
\sum_{i=1}^n i&=\frac{n(n+1)}{2}<br />
\label{eq:eks1}\\<br />
y^2+z&=0 \label{eq:eks2}<br />
\end{align}<br />
n∑<br />
i =<br />
i=1<br />
n(n + 1)<br />
2<br />
(3)<br />
y 2 + z = 0 (4)<br />
Det er muligt at referere <strong>til</strong> hver enkelt ligning uafhængigt af de andre:<br />
Formel~\eqref{eq:eks1} er forskellig<br />
fra \eqref{eq:eks2}.<br />
Formel (3) er forskellig fra (4).<br />
Man kan også lave langt ude ting som<br />
\begin{gather*}<br />
\mathcal{A}(\xi)=\mathbf{x}^2+\xi<br />
\mathit{y}_n^2\\<br />
\mathsf{A}(\xi)=\mathrm{x}^2+\xi<br />
\mathtt{y}_n^2\\<br />
x^2\geq x\quad \forall x\in \mathbb{R}_+<br />
\end{gather*}<br />
A(ξ) = x 2 + ξy 2 n<br />
A(ξ) = x 2 + ξy 2 n<br />
x 2 ≥ x ∀x ∈ R +<br />
Og hvad med en matrix? ∆3.5<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 13<br />
\[ \begin{bmatrix}<br />
a & b\\<br />
c & d<br />
\end{bmatrix} \]<br />
[ ] a b<br />
c d<br />
Man kan ikke umiddelbart skrive ‘normal’ tekst inden i et matematisk udtryk:<br />
\[<br />
tekst \neq \mathit{tekst}<br />
\neq \text{tekst}<br />
\]<br />
tekst ≠ tekst ≠ tekst<br />
På venstresiden er der normal tekst inden i et displaymath-miljø og i midten<br />
er \mathit-miljøet brugt, som er rigtig kursiv. L A TEX forstår venstresiden som<br />
en række variable der ganges med hinanden. Brug \text{} som vist <strong>til</strong> højre<br />
for at skrive helt normal tekst inde i noget matematik.<br />
Mellemrummene skal man være opmærksom på. Generelt for L A TEX bliver<br />
et eller flere mellemrum fortolket ens, og i matematik har mellemrum ingen<br />
betydning.<br />
∆6.2.1<br />
4.8 Eksempel 8 – indsættelse af figurer (billeder)<br />
Dette eksempel om figurer (billeder) samt næste eksempel om tabeller er uddybet<br />
i kapitel 5 på side 15. En figur indsættes med: ∆2.12<br />
✞<br />
Listing 2: Indsættelse af figur (billede)<br />
1 \ begin { f i g u r e }<br />
2 \ c e n t e r i n g<br />
3 \ i n c l u d e g r a p h i c s [ width=0 . 5\ textwidth ] {}<br />
4 \ c a p t i o n {}<br />
5 \ l a b e l {}<br />
6 \end{ f i g u r e }<br />
✝<br />
☎<br />
✆<br />
• figure-miljøet gør det muligt at indsætte et en figur.<br />
• \centering centrerer billedet på siden.<br />
• width=0.5\textwidth angiver hvor stort billedet skal være. Her er bredden<br />
0,5 gange størrelsen af tekstbredden. Ingen angivelse i [ ] (dermed en<br />
udeladelse af disse paranteser) giver billedet i dets oprindelige størrelse,<br />
og det skal man passe på med.<br />
• {testbilledet} er navnet på filen. Undgå filendelsen.<br />
• \caption er den tekst der kommer <strong>til</strong> at stå i forbindelse med figuren.<br />
Husk at inkludere pakken graphicx. testbilledet kan hentes fra hjemmesiden<br />
sammen med eksempel 8.<br />
4.9 Eksempel 9 – indsættelse af tabeller<br />
Tabellerne kan også laves på flere måder. Enten kan man definere bredden af<br />
hver celle eller man kan lade L A TEX bestemme dette, som vist herunder.<br />
∆2.11.6<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 14<br />
\begin{table}<br />
\centering%<br />
\caption{Simpel tabel.}\label{tab:tabel}<br />
\begin{tabular}{| r l c | p{2cm} |}<br />
\hline<br />
right & left & center & p\\<br />
r & l & c & 2cm\\<br />
\hline<br />
\end{tabular}<br />
\end{table}<br />
Tabel 3: Simpel tabel.<br />
right left center p<br />
r l c 2cm<br />
• l og r viser at de to kolonner skal være venstre- henholdsvis højrejusterede.<br />
c centrerer teksten.<br />
• | (pipe) indsætter en vertikal linje.<br />
• \hline indsætter en horisontal linje.<br />
• &-tegnet bestemmer hvor en celle slutter og en ny starter. \\ skifter linje.<br />
• p{2cm} bestemmer en fast størrelse, og giver automatisk linjeskift. Flere<br />
inds<strong>til</strong>linger kan ses i array-pakken.<br />
4.10 Eksempel 10 – sidehoved og -fod (headers og footers)<br />
Man kan lave dynamiske headers og footers på en nem måde. Indsættes<br />
\pagestyle{headings}<br />
∆1.6.3<br />
i præamblet. Dette er der mulighed for at ændre, blandt andet ved brug af<br />
den lidt mere avancerede pakke fancyhdr (fancy header) hvor man kan angive ∆4.4<br />
om man for eksempel gerne vil have kapitel- eller afsnitsnummeret stående i<br />
headeren sammen med navnet på dette afsnit og så videre.<br />
4.11 Eksempel 11 – flere filer og appendiks<br />
For at få et større overblik over ens dokument kan det være en fordel at dele<br />
rapporten op i flere filer. På den måde slipper man også for dobbeltarbejde<br />
når en af gruppemedlemmerne retter i samme tekst som en selv. . . Måden at<br />
gøre dette på er ved at bruge \input{filnavn} hvor ‘filnavn’ er navnet på ∆1.8<br />
.tex-filen man ønsker at indsætte. Bruges \include i stedet, bliver teksten<br />
først indsat efter et sideskift (bruges som regel sammen med report-klassen).<br />
Appendiks er opbygget på helt samme måde som kapitler, bortset fra at der<br />
er et par kommandoer der fortæller L A TEX at herefter kommer der appendiks: ∆2.7<br />
1 \newpage<br />
2 \ pagenumbering{alph}<br />
3 \ appendix<br />
• \newpage starter en ny side.<br />
• \pagenumbering ændrer formatet af sidetallene <strong>til</strong> alph - alpha/bogstaver.<br />
Har man forord, indholdsfortegnelse og lignende som ikke er en<br />
del af selve rapporten med, så giver man sidetal i disse afsnit en anden<br />
skrifttype – roman eller Roman (store bogstaver). Skrifttypen der bruges<br />
i selve dokumentet er af typen abstract.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 15<br />
• \appendix er ordren <strong>til</strong> L A TEX om at den skal skifte <strong>til</strong> appendiks-s<strong>til</strong><br />
(hvor ‘kapitlerne’ får bogstaver i stedet for tal).<br />
4.12 Skabelon <strong>til</strong> større rapporter<br />
Alt hvad der er gennemgået i de andre eksempler er taget med her. Desuden er<br />
BibT E X, en forside, billeder og figurer og andre <strong>til</strong>føjelser med. Denne skabelon<br />
er klar <strong>til</strong> brug <strong>til</strong> større rapporter, midtvejs- eller eksamensprojekt. Du kan<br />
også tage et kig på hjemmesiden hvor du kan finde DTU-rapporter skrevet i<br />
<strong>LaTeX</strong>, hvis du vil have inspiration fra andre studerende.<br />
5 Figurer (og tabeller)<br />
Figurer og tabeller kaldes floats, og kan være et irritationsmoment for mange ∆2.12<br />
ind<strong>til</strong> man lærer at tæmme dem. Dette skyldes at de indsatte floats ikke bliver<br />
indsat præcis der hvor man rent faktisk indsætter dem i teksten – de flyder<br />
rundt på siderne. L A TEX prøver at indsætte dem passende steder i teksten. 5 En<br />
omfattende beskrivelse af dette emne kan læses i [3].<br />
Man skal vænne sig <strong>til</strong> at have referencer såsom ‘se figur 1.2’ (som skrives<br />
se figur \ref{label}) i stedet for ‘se figuren herunder’. Det er en vanesag<br />
og viser sig nyttigt hvis man har flere referencer <strong>til</strong> samme float eller referencer<br />
der går flere sider frem eller <strong>til</strong>bage.<br />
På samme måde som man kan lave en automatisk indholdsfortegnelse med<br />
\listofcontents, så virker \listoftables og \listoffigures på <strong>til</strong>svarende<br />
måde.<br />
I eksempel 8 på side 13 er vist hvordan man inkluderer et billede. I præamblet<br />
<strong>til</strong> dette dokument er vist en hurtigere måde at gøre dette på, nemlig ved<br />
at lave en kommando <strong>til</strong> indsættelse af billedet.<br />
5.1 De forskellige billedformater<br />
I tabel 4 på den følgende side er vist en oversigt over hvilke billedformater der<br />
kan bruges <strong>til</strong> hvilke output foruden en beskrivelse af de forskellige formater.<br />
Hvilke billedformater der skal bruges hvornår kan godt virke lidt forvirrende.<br />
Som udgangspunkt bør EPS-formatet bruges. Man kan dog ikke køre<br />
pdflatex kun med EPS-figurer, hvorfor det er nødvendigt at have et billede<br />
i PDF/PNG/JPG-format ved brug af denne kommando. Man behøver dog<br />
ikke have billeder i andre formater end EPS, så kan man bare køre latex og<br />
herefter dvips/dvipdf for at få det ønskede slutformat. Der kan være problemer<br />
med sidstnævnte metode, hvorfor det nogen gange er nødvendigt at køre<br />
pdflatex og så have EPS-billeder i PDF/PNG/JPG-format også.<br />
5.2 Konvertering mellem filformaterne<br />
Til dette formål kan du enten bruge databarens convert-funktion eller for eksempel<br />
programmet ImageMagick (kan downloades fra hjemmesiden). convert<br />
bruges ved at skrive<br />
5 L A TEX har en algoritme for hvor floats bliver placeret. Denne algoritme tager højde for<br />
læsevenlighed, overblik, maks. antal floats pr. side med videre.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 16<br />
Tabel 4: Billedformaterne i L A TEX<br />
Output Format Beskrivelse<br />
DVI (PS/PDF) .eps Encapsulated PostScript er en udvidet<br />
udgave af PS-formatet. Forskellen på de<br />
to er at EPS har en angivelse af hvor<br />
stort billedet er (i pixel), hvilket skal<br />
bruges af L A TEX.<br />
PDF .pdf PDF -formatet kan også bruges <strong>til</strong> billeder,<br />
og ikke kun tekstdokumenter. Fordelen<br />
er at der er tale om vektor-grafik,<br />
så har man en EPS-fil med vektorgrafik,<br />
så bør denne med konverteres <strong>til</strong> PDFformat.<br />
PDF .png Portable Network Graphics-formatet er<br />
et godt valg <strong>til</strong> billeder med skarpe kontrasterm<br />
da et PNG-billede rimelig tabsfrit<br />
i forhold <strong>til</strong> et JPG-billede, og fylder<br />
ikke særlig meget.<br />
PDF .jpg/.jpeg Joint Photographers Expert Groupformatet<br />
er et komprimeret billede der<br />
mod en filstørrelse der er ca. 10 gange<br />
mindre en BMP-fil, men <strong>til</strong> gængæld<br />
taber en anelse af kvaliteten. Formatet<br />
er godt <strong>til</strong> fotografier o.lign, men bør<br />
ikke bruges <strong>til</strong> billeder med skarpe<br />
kontraster, sort/hvid billeder mv., da<br />
disse vil få flydende overgange.<br />
convert billede.eps billede.png<br />
i et terminalvindue. Filendelserne ændres selvfølgelig efter behov.<br />
Husk på at der ikke må være punktum i filnavnet – udover det der bruges<br />
ved filendelsen – ellers brokker L A TEX sig.<br />
Der er et par special<strong>til</strong>fælde hvor det kan betale sig at bruge nogle andre<br />
kommandoer.<br />
• Konvertering fra EPS <strong>til</strong> PDF af vektor-billeder gøres med kommandoerne<br />
epstopdf filnavn.pdf eller eps2pdf filnavn.pdf<br />
• Konvertering fra JPG <strong>til</strong> EPS kan gøres nemt med jpeg2ps-kommandoen<br />
jpeg2ps billede.jpg > billede.eps. Hent dette program fra [4] <strong>til</strong><br />
Windows.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 17<br />
5.3 Placering af floats på siden<br />
Man er ikke overladt fuldstændig <strong>til</strong> L A TEX’ design-algoritme når placeringen<br />
af floats bestemmes. Det er nemlig muligt at tvinge den mere eller mindre<br />
<strong>til</strong> at gøre som man siger. Dette gøres ved brug af \begin{figure}[!hbtp]<br />
hvor h=here, b=bottom, t=top og p=page (side for sig selv). Førstnævnte ∆2.12<br />
bogstav er det L A TEX vil forsøge på først osv. Udråbstegnet forstærker ønsket<br />
om placeringen.<br />
Der kan ske det at en float ‘sætter sig fast’ et sted og ikke bliver sat ind,<br />
eller bliver sat ind meget sent. Dermed kommer alle andre floats ind bag i køen<br />
efter den og de bliver først indsat <strong>til</strong> sidst i dokumentet. Dette kan enten løses<br />
med en simpel \clearpage-kommando. (Denne kan også bruges hvis der ligger<br />
flere floats i kø, som man gerne vil have afviklet inden man går videre <strong>til</strong> et nyt<br />
emne.) Det kan også skyldes at en figur simpelthen er for bred og derfor vil<br />
L A TEX ikke have den med i rapporten (sæt derfor max width=0.9\textwidth).<br />
5.4 Flere floats ved siden af hinanden<br />
Ved at lave en minipage så kan flere floats placeres ved siden af hinanden –<br />
eller tekst ved siden af en float.<br />
✞<br />
Listing 3: Minipage - flere floats ved siden af hinanden<br />
☎<br />
1 \ begin { f i g u r e }<br />
2 \ c e n t e r i n g<br />
3 \ h f i l l<br />
4 \ begin{minipage}{0 . 3\ textwidth}<br />
5 [ Indhold ]<br />
6 \end{minipage}<br />
7 \ h f i l l<br />
8 \ begin{minipage}{0 . 6\ textwidth}<br />
9 [ Indhold ]<br />
10 \end{minipage}<br />
11 \ h f i l l \<br />
12 \end{ f i g u r e }<br />
✝<br />
✆<br />
Indholdet bestemmer man jo selvfølgelig selv, og antallet af minipages kan<br />
justeres efter behov. Husk at figurer indsat i en minipage ikke skal have figuremiljøet<br />
med.<br />
5.5 Gode råd<br />
Er ens rapport stor – og er man flere om at lave den – så kan der godt komme<br />
en del referencer. For at undgå forvirring bør man navngive sine labels med<br />
syntaksen \label{type:key}, hvor typen er som vist i tabel 5. Typen adskilles<br />
Tabel 5: Navngivning af labels.<br />
Type Forklaring<br />
cha kapitel<br />
sec afsnit<br />
fig figur<br />
eq formel<br />
tab tabel<br />
app appendiks<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 18<br />
fra navnet med et semikolon. Label’en <strong>til</strong> dette kapitel hedder eksempelvis<br />
\label{cha:floats}. På den måde kan man lave referencer <strong>til</strong> kommende<br />
afsnit i rapporten og man kan (næsten) regne ud hvad ens makker giver af<br />
navne i dennes del af rapporten.<br />
Et andet godt råd er at bruge draft-inds<strong>til</strong>lingen mens man er i kladdefasen.<br />
Indsæt draft på følgende måde<br />
\documentclass[draft]{article}<br />
i præamblet. Denne funktion indsætter en ramme i stedet for billedet og gør<br />
dermed kompilering og især visning af dokumentet meget hurtigere.<br />
6 BibT E X – slutnoter<br />
For at lave slutnoter/referencer i L A TEX bruges en teknik hvor man har en ∆4.2<br />
seperat fil med alle referencerne i. Man refererer <strong>til</strong> en note ved at skrive<br />
\cite{navn} hvor ‘navn’ er det navn man nu har valgt at kalde referencen. I<br />
filen med referencerne (som har filendelsen .bib) kan man så indsætte følgende<br />
tekst hvis man for eksempel ønsker at referere <strong>til</strong> hjemmesiden for denne L A TEXintroduktion:<br />
1 @misc{navn ,<br />
2 howpublished = "\ u r l {http : //www. student . dtu . dk/~ l a t e x /}"<br />
3 }<br />
Her skal man mindst inkludere pakken url, men inkluderer man også hyperref, så<br />
bliver alle referencer (URL, fod- og slutnoter og så videre) klikbare. Endvidere<br />
dannes en indholsfortegnelse i Acrobat Reader.<br />
Har man en bog, og ikke bare en URL som vist ovenfor, så kan man skrive:<br />
1 @book{ D e i t e l : 2002 ,<br />
2 author = {H. M. D e i t e l and P. J . D e i t e l and T. r . Nieto } ,<br />
3 t i t l e = { I n t e r n e t \& World Wide Web, How to Program} ,<br />
4 p u b l i s h e r = { P r e n t i c e H a l l } ,<br />
5 year = 2002 ,<br />
6 a d d r e s s = {Upper Saddle River , New Jersey , USA}<br />
7 }<br />
underforstået at den bliver kaldt med \cite{Deitel:2002}. author, title og<br />
så videre er prædefinerede felter.<br />
Hvordan man får referencerne med i L A TEX på er ved at indsætte<br />
1 \ a d d c o n t e n t s l i n e { toc }{ s e c t i o n }{ L i t t e r a t u r }<br />
2 \ b i b l i o g r a p h y s t y l e { p l a i n }<br />
3 \ b i b l i o g r a p h y { r e f e r e n c e }<br />
det sted hvor man ønsker referencen placeret.<br />
• \addcontentsline{toc}{section}{Litteratur} indsætter en section<br />
i indholdsfortegnelsen (toc) som det er gjort i denne introduktion. På<br />
den måde kommer kapitlet med i indholdsfortegnelsen, men optræder<br />
ikke i dokumentet. 6<br />
6 Ønsker man lige det modsatte sættes en stjerne (*) mellem typen og navnet, som det<br />
for eksempel er gjort med \section*{Forord} i dette dokument.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 19<br />
• \bibliographystyle{plain} bestemmer opsætningen af referencen. Her<br />
er valgt en standard-opsætning (plain), men der findes mange andre<br />
(is-unsrt.bst er brugt i dette dokument).<br />
• \bibliography{reference} er navnet på den fil der indeholder referencerne.<br />
Denne fil skal have endelsen .bib (her reference.bib).<br />
7 Hvad så nu?<br />
Denne introduktion er prøvet holdt så kort som muligt, og derfor er der selvfølgelig<br />
en del aspekter ved L A TEX som ikke er blevet berørt. Nogle af disse ting<br />
der ikke blev plads <strong>til</strong> er at finde på hjemmesiden.<br />
Du anbefales at starte med at skrive L A TEX-dokumenter i Emacs i G-baren<br />
på DTU, for der er det hele installeret og klar <strong>til</strong> brug. <strong>Introduktion</strong>en <strong>til</strong><br />
Emacs er god at bruge i den forbindelse. Du kan også bruge den editor du er<br />
vant <strong>til</strong> at bruge hvis du hellere vil det.<br />
Gå i krig med eksemplerne og skabelonen og få på den måde en nem <strong>til</strong>gang<br />
<strong>til</strong> L A TEX. Er du mere nysgerrig over for hvad man ellers kan med L A TEX, så kig<br />
nærmere på The not so short. . . , da denne er mere omfangsrig end nærværende<br />
introduktion.<br />
Happy TEXing, og husk at spørge hvis der er nogen problemer!<br />
Jacob og Morten<br />
latex@student.dtu.dk<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU 20<br />
Litteratur<br />
[1] The not so short introduction to <strong>LaTeX</strong>: http://www.ctan.org/<br />
tex-archive/info/lshort/english/ eller http://www.student.dtu.<br />
dk/~latex/support/hjaelp/The_not_so_short_introduction_to_<br />
<strong>LaTeX</strong>-4.14.pdf.<br />
[2] ThinLinc: http://www.thinlinc.com eller http://www.student.dtu.dk/<br />
~latex/download.<br />
[3] Figurer i <strong>LaTeX</strong>: http://www.ctan.org/tex-archive/info/epslatex.<br />
ps.<br />
[4] Konverteringsprogrammet jpeg2ps: http://www.pdflib.com/products/<br />
more/jpeg2ps.html.<br />
[5] TEXLive: ftp://sunsite.dk/pub/tex/ctan/systems/texlive/Images/.<br />
Hjemmeside: http://www.tug.org/texlive/.<br />
[6] Emacs: www.student.dtu.dk/~latex/download/ eller ftp://sunsite.<br />
dk/mirrors/gnu/emacs/.<br />
[7] G-Databar-introduktionen: http://www.gbar.dtu.dk/guide.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
a<br />
Appendiks<br />
A<br />
Installation af L A TEX<br />
A.1 Databarerne<br />
L A TEX er installeret som standard i G-baren (og i resten af Unix/Linux-databarerne<br />
på DTU). Som teksteditor bruges Emacs. Før du går i gang med Emacs,<br />
så er der lige en enkelt ting du skal gøre. Åben et terminalvindue og skriv<br />
emacs .emacs. Du har nu åbnet filen .emacs som er konfigurationsfilen <strong>til</strong> E-<br />
macs. Gå ned <strong>til</strong> sidste linje i filen og <strong>til</strong>føj linjen<br />
(require ’tex-site)<br />
Tryk derefter Ctrl+x, Ctrl+c og y for at gemme filen og lukke Emacs. Alternativt<br />
<strong>til</strong> ovenstående fremgangsmåde kan du hente .emacs fra hjemmesiden<br />
og gem den som .emacs.<br />
Den ændring du lige har foretaget er en aktivering af AUCTEX. AUCTEX<br />
er en L A TEX-udvidelse <strong>til</strong> Emacs, som gør at en masse genvejstaster bliver<br />
<strong>til</strong>gængelige når man skriver i L A TEX-dokumenter. Alt i alt bliver det hele meget<br />
nemmere. Husk at der på hjemmesiden findes en introduktion <strong>til</strong> Emacs.<br />
A.2 Windows<br />
Inden du går i gang kommer der lige en praktisk kommentar: Installationsfilerne<br />
fylder 200MB, så hvis du ikke har mulighed for at downloade så meget, så kan<br />
du downloade filerne fra DTU og bruge en af CD-brænderne i G-baren <strong>til</strong> at<br />
brænde en CD-ROM du kan tage med hjem.<br />
A.2.1<br />
MiKTeX<br />
Der findes flere udgaver af L A TEX <strong>til</strong> Windows. Den mest udbredte er MiK-<br />
TEX 7 og er den der bliver brugt her. Hent MiKTEX fra hjemmesiden. Udpak<br />
filerne og kør setup.exe. Vælg ‘Install’ og pakken Total. Herefter er det bare<br />
med at klikke Next. . . en masse gange. Når du bliver spurgt om hvor<strong>til</strong> du vil<br />
installere MiKTEX så installer programmet det sted installationsprogrammet<br />
foreslår. Det tager et ondt år at installere.<br />
Efter installationen skal du gå ind i Start menuen ⊲ Programmer ⊲ MiK-<br />
TEX ⊲ Options. Vælg fanebladet Languages og vælg dansk. Vælg derefter fanebladet<br />
General og tryk på ‘Update Now’ knappen. Denne inds<strong>til</strong>ling sørger<br />
for at dokumenterne får korrekte danske orddelingsmønstre.<br />
A.2.2<br />
Viewers<br />
For at kunne se dokumenterne så skal der installeres nogle viewers. DVI-filerne<br />
kan man se med Yap som bliver installeret med MiKTEX. Men for at kunne se<br />
PDF- og PS-filerne så skal du hente nedenstående viewers.<br />
Adobe Acrobat Reader (PDF).<br />
og installer programmet.<br />
Hent Acrobat Reader fra hjemmesiden<br />
7 Udtales [mik:tæk]<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
b<br />
Ghostscript og Ghostview (PS). For at kunne se PS-filerne skal du hente<br />
to programmer. Det første du skal downloade og installere er GhostScript, som<br />
styrer alt hvad der har med PS at gøre. Hent det fra hjemmesiden. Dernæst<br />
skal du installere et program <strong>til</strong> at view’e PS-filerne med: Ghostview. Hent det<br />
fra hjemmesiden. Installer programmerne i nævnte rækkefølge.<br />
A.2.3<br />
Teksteditor<br />
Som teksteditor <strong>til</strong> Windows kan man vælge blandt mange gode. I denne introduktion<br />
er der udvalgt de to mest benyttede, Emacs og WinEdt. Førstnævnte<br />
kan være en fordel at benytte <strong>til</strong> Windows, da man kan bruge samme program<br />
i G-baren. Sidstnævnte er mere lige<strong>til</strong> at gå <strong>til</strong> for de fleste vante Windowsbrugere.<br />
Emacs. Download Emacs fra hjemmesiden og installer programmet (lav ikke<br />
ændringer undervejs i installationen). Dernæst skal du hente AUCTEX fra<br />
hjemmesiden. Udpak AUCTEX således at mappen auctex bliver placeret under<br />
c:\emacs\site-lisp\auctex\. Hent win.emacs fra hjemmesiden og omdøb<br />
og placer den som c:\.emacs eller <strong>til</strong>føj selv linjen<br />
(load "tex-site")<br />
i .emacs.<br />
WinEdt. WinEdt sørger for, ligesom Emacs, at holde styr på alle de programmer<br />
der bruges når man skriver i L A TEX, for eksempel MiKTEX, Acrobat<br />
Reader, Ghostview, Yap osv. Man kan også kompilere direkte fra programmet.<br />
Download WinEdt fra hjemmesiden og installer det.<br />
Der er dog lige én ting man skal være opmærksom på: WinEdt er shareware<br />
og efter 30 dage skal man købe det (30$) hvis man fortsat ønsker at benytte det.<br />
Hvis du ikke er meget for Emacs og gerne vil bruge en teksteditor der ligner<br />
WinEdt, så var TEXnicCenter måske en mulighed. TEXnicCenter er gratis og<br />
kan downloades fra hjemmesiden.<br />
A.3 Unix/Linux<br />
Kører du Unix/Linux, så er denne vejledning ikke <strong>til</strong> så stor hjælp, da du nok<br />
selv kan finde ud af at installere L A TEX. Der er dog et par gode råd herunder.<br />
A.3.1<br />
L A TEX = teTEX<br />
Alle Unix/Linux distributioner kommer med L A TEX og derfor skulle der ikke<br />
være noget problem i at få fat i det. Pakkerne man skal installere hedder som<br />
regel tetex-‘et-eller-andet’. En anden mulighed er at downloade TEXLive fra<br />
[5] og følge instrukserne i readme-filen.<br />
A.3.2<br />
Emacs<br />
Emacs er ligeledes med i de fleste distributioner, men kan ellers hentes fra [6].<br />
Det anbefales at man bruger AUCTEX <strong>til</strong> Emacs da det gør programmet meget<br />
nemmere at bruge. Hent AUCTEX fra hjemmesiden.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
c<br />
B<br />
Kompilering<br />
Der er to måder at kompilere på: Den smarte og den lidt besværgelige. Den<br />
smarte måde er at bruge et program <strong>til</strong> det (teksteditor), mens den trivielle er<br />
at gøre det manuelt. Senere i dette kapitel forklares hvordan man kompilerer<br />
direkte fra Emacs (og WinEdt), men det er en god ide at vide hvordan man<br />
gør på den manuelle måde. Det er også godt <strong>til</strong> at få forståelsen for hvorfor<br />
man gør det man gør.<br />
Generelt for kommandoerne herunder gælder at det ikke er påkrævet at<br />
have filendelsen på filen med. Altså giver latex eksempel1.tex det samme<br />
som latex eksempel1.<br />
B.1 Databaren (Unix/Linux)<br />
Først laves en mappe <strong>til</strong> filen 8 . Brug mkdir <strong>til</strong> dette. Download eksempel1.tex<br />
<strong>til</strong> denne mappe.<br />
For at kompilere skrives latex eksempel1.tex i terminalvinduet og L A TEX<br />
begynder at kompilere. Det ser nogenlunde således ud:<br />
1 e r l a n g ( c991520 ) $ l a t e x eksempel1 . tex<br />
2 This i s TeX , Version 3 . 1 4 1 5 9 (Web2C 7 . 3 . 1)<br />
3 <br />
4 Output w r i t t e n on eksempel1 . dvi ( 1 page , 2 3 2 bytes ) .<br />
5 T r a n s c r i p t w r i t t e n on eksempel1 . l o g .<br />
6 ~/<strong>LaTeX</strong>/ eksempel1<br />
7 e r l a n g ( c991520 ) $<br />
En linje man skal lægge specielt mærke <strong>til</strong> er linje fire, som fortæller at kompileringen<br />
blev gennemført og at man har en en DVI-fil klar. Denne fil kan man<br />
åbne eller lave om <strong>til</strong> enten PS eller PDF. Vil man åbne den, så skriver man<br />
xdvi eksempel1.dvi<br />
og DVI-vieweren viser dokumentet. Ønsker man at konvertere <strong>til</strong> for eksempel<br />
PS, så skrives<br />
dvips eksempel1.dvi<br />
og <strong>til</strong>svarende for PDF<br />
dvipdf eksempel1.dvi eksempel1.pdf<br />
Vil man se disse dokumenter på skærmen så skal man skrive henholdsvis<br />
ghostview eksempel1.ps eller acroread eksempel1.pdf. Hvis man ønsker<br />
at printe dokumentet ud så kan man gøre det med PS-filen med eksempelvis<br />
lp -dgps1-302 eksempel1.ps.<br />
B.2 Windows<br />
Kompilering i Windows foregår på stort set samme måde, bare fra et DOSvindue.<br />
Man kan kompilere dokumentet med kommandoen<br />
latex eksempel1.tex<br />
DVI-filen kan man se med programmet Yap, og dette gøres ved at skrive<br />
yap eksempel1.dvi<br />
8 En generel beskrivelse af hvordan man bruger Unix-filsystemer er beskrevet i databarintroduktionen<br />
som kan findes på [7].<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
d<br />
Vil man konvertere DVI-filen <strong>til</strong> PS, så skrives<br />
dvips eksempel1.dvi<br />
For at se PS-filen åbnes denne direkte fra Ghostview.<br />
Skal dokumentet konverteres <strong>til</strong> PDF, kan dette gøres med enten dvipdfm<br />
eksempel1.dvi. Alternativt kan man køre pdflatex, altså<br />
pdflatex eksempel1.tex<br />
Filen åbnes fra Acrobat Reader. Bemærk at resultaterne af de to metoder ikke<br />
giver det helt samme resultat.<br />
B.2.1<br />
WinEdt<br />
På figur 2 kan man se de forskellige muligheder man har for at kompilere.<br />
Figur 2: WinEdt – kompilering<br />
Den mest benyttede funktion er TEXify og har genvejstasten Ctrl+shift+X.<br />
Herunder gennemgås de vigtigste funktioner:<br />
• TEXify kører latex og bibtex og åbner derefter den der<strong>til</strong>hørende viewer,<br />
Yap. TEXify udregner selv hvor mange gange den skal køre latex. 9 Skulle<br />
der være opstået fejl undervejs i kompileringen, så hopper WinEdt selv<br />
hen <strong>til</strong> det sted hvor fejlen opstod. TEXify findes også <strong>til</strong> Emacs.<br />
• <strong>LaTeX</strong> kompilerer dokumentet en gang med kommandoen latex.<br />
• PDFTEXify gør det samme som TEXify, men bare med PDF som output<br />
i stedet for DVI.<br />
• PDF<strong>LaTeX</strong> gør det samme som latex, men bare med PDF som output<br />
i stedet for DVI.<br />
• BibT E X kompilerer reference-filen (kan kun køres hvis der er en sådan<br />
fil).<br />
• DVI Viewer viser DVI-filen i Yap.<br />
• GSView viser PS-filen i Ghost View.<br />
• Acrobat Reader viser PDF-filen i Adobe Acrobat Reader.<br />
• dvips konverterer DVI-filen <strong>til</strong> PS-format.<br />
Blandt de mange andre brugbare funktioner kan især nævnes følgende.<br />
• Ved at lade den fil der indeholder preamble være sat som main project<br />
file kan TeXify bruges uanset hvilken fil man er i gang med at skrive i,<br />
hvis man har flere filer åbne samtidig.<br />
9 Læs mere om hvorfor man skal kompilere flere gange i appendiks B.4 på side e.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
e<br />
• Prøv at trykke på sum-ikonet (et af de midterste ikoner i nederste linje<br />
af ikoner). Dette frembringer nogle nye menuer som kan gøre det meget<br />
lettere at skrive matematiske udtryk.<br />
• ‘Skraldespanden’ (ikon i midten) kan være en rigtig god ide at bruge når<br />
man vil sende filerne <strong>til</strong> en anden person, eller måske bare tage backup.<br />
Funktionen fjerner alle midlertidige filer, altså dem der opstår i kølvandet<br />
på en kompilering.<br />
B.3 Emacs<br />
Skal du bruge Emacs, så er det meget fornuftigt at starte med dens egen<br />
introduktion. Den fortæller det mest grundlæggende om Emacs (og har ikke<br />
umiddelbart meget med L A TEX at gøre). Den kommer frem hvis man trykker<br />
Ctrl+h t.<br />
På samme måde som med WinEdt, så er der også text highlighting i Emacs.<br />
Dette slås <strong>til</strong> i G-databaren i menuen Help ⊲ Help ⊲ Global Font Lock.<br />
Ligesom i WinEdt, er der knapper der gør det hele for en, når AUCTEX<br />
er slået <strong>til</strong>. For eksempel køres latex ved at trykke ‘C-c C-c’. C-c betyder at<br />
man skal holde Control nede (’C’) mens man trykker ’c’ – i dette <strong>til</strong>fælde to<br />
gange i træk. Det smarte ved C-c C-c er at den prøver at regne ud om man vil<br />
kompilere dokumentet eller view’e det. Er man uenig i det forslag der kommer,<br />
så kan man gøre det modsatte ved at skrive view eller latex (eller latex pdf).<br />
Havde der stået M-c (M for Meta) så skulle man gøre det samme med<br />
Alt+c på et Windows-keyboard. I G-databaren er der en decideret Meta-tast<br />
(med et lille ruder-symbol).<br />
B.4 Om at kompilere<br />
Det kan være nødvendigt at køre latex eller pdflatex flere gange for at få<br />
alle referencerne opdateret, da der ellers vil stå “??”. Dette kan måske lyde ∆1.5<br />
lidt underligt, men det skyldes at første gang et dokument kompileres, så laves<br />
der en ny fil med alle referencerne. Næste gang dokumentet kompileres, så<br />
kigger kompileren i denne fil og ser om der er nogle referencer den ikke fik med<br />
sidste gang der blev kompileret. Er der det, kommer de med. Det kan være<br />
nødvendigt at kompilere et dokument tre gange før alle referencer er med, men<br />
det er kun hvis man har lavet nye referencer siden sidst man kompilerede at<br />
det er nødvendigt at kompilere mere end en gang.<br />
Bruges BibT E X i rapporten skal man også køre en anden kommando, nemlig<br />
bibtex filnavn.tex , for at få referencerne med. Kompileringen skal foregå i ∆4.2<br />
følgende rækkefølge: latex, bibtex, latex og latex. Dette er være nødvendigt<br />
hvis det er første gang med kompilerer sit dokument, men ikke nødvendigvis<br />
de næste gange. Generelt kan man sige at hver gang man laver en ny reference<br />
inden i dokumentet, så skal man kompilere dokumentet med latex to gange.<br />
Hvis man ændrer i referencerne, så skal man kompilere de 3+1 gange som vist<br />
herover.<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
f<br />
C<br />
Installation af pakker<br />
Pakker, eller packages som de hedder på engelsk, er udvidelser <strong>til</strong> L A TEX. ∆4.6<br />
På hjemmesiden er nogle enkelte DTU-specifikke pakker beskrevet. Her<br />
fokuseres kun på hvordan man installerer pakkerne.<br />
Typisk støder man på at skulle bruge pakker når man ved kompilering får<br />
en fejl af typen:<br />
1 ! <strong>LaTeX</strong> Error : File ’ ’ fancyhdr . sty ’ ’ not found .<br />
2<br />
3 Type X to q u i t or to proceed ,<br />
4 or e n t e r new name . ( D e f a u l t e x t e n s i o n . s t y )<br />
5<br />
6 Enter f i l e name : _<br />
C.1 Download af pakker – CTAN<br />
Stedet hvor man henter pakkerne fra er CTAN, ctan.org.. Tryk på search og<br />
du er nu klar <strong>til</strong> at finde den pakke du er ude efter. Som eksempel ønskes<br />
pakken fancyhdr installeret. Alle pakker har filendelsen .sty 10 så der søges<br />
efter fancyhdr.sty.<br />
Figur 3: Resultat af søgning på fancyhdr.sty<br />
Det ses at der er flere søgeresultater (se figur 3), og man skal nu finde den<br />
rigtige fancyhdr.sty. Man kan se at der er en mappe med navnet fancyhdr,<br />
så der klikkes på macros/latex/contrib/supported/fancyhdr for at kigge<br />
nærmere på den. Mappen man kommer frem <strong>til</strong> ser ud som på figur 4.<br />
10 Hvis ikke der er nogen .sty-fil, så søg efter den <strong>til</strong>svarende .ins-fil. Denne skal man bare<br />
kompileres med latex og så dannes .sty-filen. Læs mere i afsnit 4.6 i The not so short. . .<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
g<br />
Figur 4: Download af udvalgte dele af fancyhdr-pakken<br />
Herfra er det muligt at downloade den ønskede pakke, fancyhdr.sty, men<br />
det er også en god ide også at hente den <strong>til</strong>hørende manual (i DVI-, PS- eller<br />
PDF-format).<br />
Figur 5: Download af hele fancyhdr-pakken<br />
Linket fancyhdr øverst fører <strong>til</strong> siden som ses på figur 5. Herfra er det<br />
muligt at downloade hele fancyhdr-pakken. Oftest er pakkerne i filformatet<br />
.tar.gz som svarer <strong>til</strong> zip-formatet kendt fra Windows og som bruges <strong>til</strong> at<br />
pakke filer med. For at udpakke fancyhdr.tar.gz kan man fra et terminalvindue<br />
i B-baren skrive:<br />
www.student.dtu.dk/∼latex/
<strong>Introduktion</strong> <strong>til</strong> L A TEX – for studerende ved DTU<br />
h<br />
C.1.1<br />
bohr(c991520) $ tar zxvf fancyhdr.tar.gz<br />
Windows<br />
Nu har du så fået udpakket filerne – på den ene eller anden måde – og skal nu<br />
installere dem. Kopier fancyhdr.sty ind i mappen c:\texmf\tex\latex, gå<br />
ind i Start menuen ⊲ Programmer ⊲ MiKTEX ⊲ MiKTEX Options. Tryk på<br />
knappen Refresh Now for at give MiKTEX besked om at der er kommet en ny<br />
pakke den skal kende <strong>til</strong> (opdatere databasen).<br />
En anden måde er at bruge MiKTEX’ indbyggede Package Manager, som fås<br />
fra Start menuen ⊲ Programmer ⊲ MiKTEX ⊲ MiKTEX Package Manager.<br />
Ønskes for eksempel at installere pakken prettyref skrives ‘prettyref’ i Namefeltet,<br />
og tryk herefter på Filter. Se figur 6.<br />
Figur 6: MiKTEX Package Manager<br />
Marker navnet fra listen og tryk på plus-tegnet for at begynde download<br />
og installationen af pakken.<br />
C.1.2<br />
Linux/G-databaren<br />
Placer pakker under /texmf/tex/latex/ på dit hjemmedrev. Kør herefter fra<br />
et terminalvindue texconfig og vælg menupunktet REHASH.<br />
www.student.dtu.dk/∼latex/